본문 바로가기

2021/05

(7)
ESP32-C3 SSM EVM 보드 제작 ESP32 시리즈중 WiFi + BLE Soc ESP32-C3 칩셋이 저렴하게 판매 되고 있어 표준 핀맵의 SSM Type 으로 제작 해 보았다. 특히 ESP32-C3FH4는 4MB 플래시 메모리 까지 포함되어 있어 저렴한 MCU로 사용해도 좋을것 같다. Core는 ESP32와 달리 RISC-V 단일 코어라 성능은 조금 문제가 될수 있지만 WiFi, BLE 5.0, USB가 내장 되어 있어 가격대비 성능으로 보면 정말 좋은 칩인것 같다. (여기서 USB는 Serial,JTAG 기능만 한다고 하니 다른용도로 쓰기는 어려울것 같다.)
ESP32 ESP-IDF에서 Iperf로 WiFi TCP, UDP Throughput 측정 테스트 ESP32에서 WiFi TCP, UDP Throughput 측정을 위해 Arduino 환경에서 테스트 해보면 속도가 너무 느리게 측정된다. ESP-IDF 환경에서 제공되는 iperf 테스트 예제로 WiFi 성능을 측정해 보자. WiFi iperf 테스트 에제를 빌드 하기 위해 ESP-IDF 개발환경 설정을 참고해서 에서 Show Examples Project를 선택 한다. iperf Example을 선택해서 프로젝트를 생성한다. 빌드후 다운드 하면 VS Code의 터미널 창에서 시리얼 포트를 열수 있다. sta 커멘드로 WiFi에 접속 할 수 있다. sta [] WiFi is station mode, join specified soft-AP SSID of AP password of AP ESP32 UDP..
ESP-IDF 개발 환경 설정 (Windows VSCode) ESP32용 개발환경으로 여러 형태가 있지만 이번에는 ESP-IDF를 이용해서 개발 하는 방법을 테스트 해 보았다. ESP-IDF를 사용하게 되는 가장큰 이유는 속도 일것 같다. Arduino 나 Python의 경우 다양한 MCU를 지원하려다 보니 속도가 느려지는것이 당연하지 않을까... Arduino IDE - Iperf로 WiFi TCP Throughput 측정 테스트 에서 WiFi 전송율을 테스트 하다보니 너무 속도가 느리게 측정된다. ESP-DIF 환경에서 제공하는 예제중 iperf 예제를 구동해 보면 좋을것 같다. VS Code에서 ESP-IDF extension 모듈을 설치하면 쉽게 환경 설정이 가능하다. ESP-IDF 환경설정을 위해 View->Command Palette (F1) ESP-I..
ESP32 Arduino IDE - Iperf로 WiFi TCP Throughput 측정 테스트 ESP32 Arduino 개발 환경에서 WiFi 성능을 테스트 해 보자 Arduino WiFi TCP 코드를 수정해 iperf 서버 코드를 만들었다. #include #ifdef ESP32 #include "esp_task_wdt.h" #define WDT_TIMEOUT 9 #endif const char* ssid = STASSID; const char* password = STAPSK; int port = 5001; WiFiServer server(port); void setup() { esp_task_wdt_init(WDT_TIMEOUT, 0); Serial.begin(115200); Serial.println("ESP32 Simple web Start"); Serial.println(ssid); ..
ESP32 - Dhrystone, Whetstone, IIR Benchmark 성능 테스트 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. mode = ESP32 Dhrystone Benchmark, Version 2.1 (Language: C) --------------------------------------------------- Execution starts, 2000000 runs through Dhrys..
Raspberry Pi Pico RP2040 - Arduino IDE에서 Iperf로 W5500의 TCP Throughput 측정 테스트 Raspberry Pi Pico 확장 테스트 보드를 이용하여 W5500 모듈의 TCP IP전송률 테스트를 iperf로 진행 해 보자. 확장 테스트보드의 SSM Type EVM 연결 커넥터에 W5500 CS핀이 GP12에 할당 되어 있다. Arduino 에서 iperf 를 이용하여 한 네트웍 전송율 테스트를 하기 위해 TCP Server를 구현 하면 된다. #include #include #define USE_THIS_SS_PIN 12 byte mac[] = {0x00, 0x08, 0xDC, 0x00, 0x00, 0x00}; EthernetServer server(5001); void setup() { Serial.begin(115200); while (!Serial) { ; // wait for seri..
RP2040 Arduino IDE에서 SPI DMA 사용하기 Arduino IDE 개발환에서 RP2040의 SPI 전송률 테스트 하면 데이터 전송 간격이 1.2us 정도로 측정 된다.(RP2040 SPI테스트 참고) 고속의 데이터 전송을 위해서는 DMA가 필요한데 RP2040에서 SPI DMA 테스트를 진행 해 보자. DMA 초기화 함수 #include "hardware/dma.h" int32_t dma_tx_channel; dma_channel_config dma_tx_config; #define SPI_X spi0 bool initDMA(bool ctrl_cs) { //ctrl_cs = ctrl_cs; // stop unused parameter warning dma_tx_channel = dma_claim_unused_channel(false); if (dm..

반응형