본문 바로가기

전체 글

(1955)
ESP32S2 SM - Arduino IDE에서 W5500 iperf tcp 전송률 테스트 ESP32-S2 에서 W5500을 이용한 Ethernet 전송율 테스트를 해 보자 NET-EXP 확장 테스트 보드는 SM-Type EVM 보드를 테스트 해 볼수 있고 SSM-Type 확장 모듈인 W5500을 연결할 수 있다. W5500의 CS 핀은 GPIO34에 할당되어 있다. W5500 iperf 테스트 코드 #include #include #define USE_THIS_SS_PIN 34 byte mac[] = { 0x00, 0x08, 0xDC, 0x00, 0x00, 0x00 }; EthernetServer server(5001); void setup() { Serial.begin(115200); while (!Serial) { ; // wait for serial port to connect. Nee..
ESP32-S2 SM - SPI테스트 Arduino IDE에서 ESP32-S2의 SPI 는 디폴트로 GPIO35 ~ 36에 할당되어 있다. static const uint8_t SS = 34; static const uint8_t MOSI = 35; static const uint8_t MISO = 37; static const uint8_t SCK = 36; ESP32-S2의 SPI 테스트를 위해 아래 코드로 테스트 해보았다. #include #define LED_PIN1 18 void setup() { pinMode(LED_PIN1, OUTPUT); Serial.begin(115200); SPI.begin(); SPI.beginTransaction(SPISettings(80000000, MSBFIRST, SPI_MODE0)); } uns..
ESP32-S2 ESP-IDF SDK에서 GPIO 성능 테스트, Arduino IDE 코드와 비교 Arduino에서 제공하는 GPIO 제어 함수로 GPIO 토글 속도를 측정해 보자 #define LED_PIN1 18 void setup() { pinMode(LED_PIN1, OUTPUT); } void loop() { digitalWrite(LED_PIN1, 1); digitalWrite(LED_PIN1, 0); } GPIO On/Off 주기는 337ns로 측정이되며 메인루프 수행 시간은 1.8us로 상당히 느리다. (ns 단위여야 하는데..) ESP32-S2의 레지스터 직접 제어 방식으로 GPIO 토글 속도를 측정해 보자. #define LED_PIN1 18 void setup() { pinMode(LED_PIN1, OUTPUT); } void loop() { //digitalWrite(LED_PI..
ESP32S2 Dhrystone, Whetstone, IIR Benchmark 성능 테스트 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. 벤치마크 테스트결과 ESP32 벤치마크 테스트 와 비슷한 수준이지만 부동소수점 연산이 많이 좋지 않은것 같다. 코어 성능이 LX6에서 LX7 으로 더 좋아 졌다고 했는데 왜그렇지? 이부분은 좀더 확인이 필요 할것 같다. mode = ESP32 Dhrystone Benchmark,..
ESP32S2 SM - 개발환경 설정 (Arduino 만들기) ESP32-S3 개발환경은 여러가지가 있지만 간단하고 많이 쓰이는 ArduinoIDE에서 세팅을 해 보자 우선 최신 ESP32 Aduino Boards Meanager URL 을 설정한다. https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json Board Manager 에서 "ESP32S2 Dev Module"을 선택한다. 기본 예제로 ESP32-S2 SM 보드에 실장되어 있는 LED를 제어 해 보자. #define LED_PIN1 18 void setup() { Serial.begin(115200); pinMode(LED_PIN1, OUTPUT); } void loop() { digita..
ESP32S2-SM EVM 보드 제작 ESP32 시리즈 중 USB 기능이 있는 ESP32S2 가 출시 되었다. ESP32S2의 Native USB 기능을 테스트 해 볼수 있도록 표준 핀맵인 SM-Type 핀맵으로 만들었다. ESP32에 비교해서 성능은 낮아 졌지만 저렴한 가격에 USB가 포함되어 USB 기능이 필요한 어플리케이션에 적용해 보면 좋을것 같다. 소모 전류도 개선되어 USB 디바이스 제작에 적용하기 좋을것 같다.
[RP2040_W5500] RP2040 C++ SDK 환경에서 iperf 를 이용한 W5500 TCP 전송률 테스트 . Arduino IDE 환경에서 TCP전송률 테스트 결과 12Mbps 정도로 측정이 되서 다른 MCU들의 iperf 테스트 결과와 비교해 느린것 같아 SDK 환경에서 테스트 해볼 필요가 있을것 같다. RP2040 C/C++ SDK 개발환경 예제를 이용하여 W5500 TCP 전송률 테스트를 해보자 라이브러리는 Wiznet의 W5500 SDK를 다운받아 사용하였다. RP2040에서 W5500 테스트 기본 예제는 아래코드로 작성했다. #include "pico/critical_section.h" #include "hardware/clocks.h" #include "wizchip_conf.h" #include "w5x00_spi.h" #include "socket.h" #define _USE_LOOPBACK ..
[RP2040_W5500] RP2040 C++ SDK 환경에서 SPI DMA 성능 측정, Arduino 개발환경과 속도 비교 RP2040 을 SDK에서 구동하면 Aduino 개발환경에서 보다 속도가 빨라지는데 SPI DMA 테스트도 RP2040 C/C++ SDK로 테스트 해보자. Aduino IDE에서 SPI 테스트 했던 코드로 SPI 속도를 측정해 보자. SDK에서 제공하는 SPI 예제를 이용하여 기본 테스트를 해 볼수 있다. #include #include #include "pico/stdlib.h" #include "pico/binary_info.h" #include "hardware/spi.h" int main() { stdio_init_all(); printf("Hello, MPU9250! Reading raw data from registers via SPI...\n"); // This example will use..

반응형