본문 바로가기

분류 전체보기

(1955)
[ESP32S3-SM] ESP32S3 테스트 보드 제작 ESP32-S2 는 WiFi 및 USB 기능이 있어 PC인터페이스 시스템에서 유용한데 BLE 기능이 없다. 이번에 새롭게 출시된 ESP32-S3는 S2기능에 BLE까지 추가되었다. ESP32S2와 핀수는 같지만 핀맵이 조금 변경되어 같은 PCB에 호환해서 사용할수 없어 아쉬운점이 있다. 그래서 ESP32S3를 테스트 하기 위한 보드로 표준 핀맵인 SM-Type 핀맵으로 만들었다. ESP32에 비교해서 성능은 낮아 졌지만 저렴한 가격에 BLE기능도 포함되어 있고 USB도 포함되어 USB 기능이 필요한 어플리케이션에 적용해 보면 좋을것 같다. ESP32S2와 차이점은 ESP 칩 비교 사이트(https://products.espressif.com/#/product-comparison) 에서 확인 가능하다.
[RP2040 SSM] TFT LCD (COM26T2844) 테스트 EXP_4030_LCD_HDMI 확장 보드를 이용하면 12핀 SSM-Type EVM에서 TFT LCD보드 제어를 할 수 있다. 표준 핀맵의 확장 핀맵은 아래와 같이 구성 하였다. 소스코드는 https://github.com/adafruit/TFTLCD-Library 를 참고 수정해서 사용 했다. 초기화 부분과 데이터 출력 부분은 아래와 같이 수정 했다. #define Led1Off()sbi(0, BIT13) #define Led1On()cbi(0, BIT13) #define LCD_XLINE_SIZE240 #define LCD_YLINE_SIZE400 #define PORTA(sio_hw->gpio_out) #define GPIO0 0 #define GPIO1 1 #define LCD_LAT_BIT27 ..
[RP2040_W5500] Webserver 테스트 지난 포스트에서 Ethernet_Generic 라이브러리를 이용해서 이더넷 전송 속도 개선을 했고 이제 웹서버를 구현 해 보자 웹서버의 가장 기본이 되는 뼈대 코드를 작성해보자. 새로운 라이브러리로 ESP32에서 테스트 했던 기본 웹서버 코드와 거의 동일한 코드로 작성할 수 있다. #include "config.h" #include #include "Ethernet_Generic.h" #include #define ETHERNET_USE_RPIPICO true byte mac[] ={ 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0x01 }; EthernetWebServer server(80); const int Led1Pin = 25; // HTML 페이지 const char index_htm..
[RP2040_W5500] Arduino IDE에서 Iperf TCP Throughput 측정 테스트 (Ethernet_Generic 라이브러리 수정) RP2040 C++ SDK 환경에서 iperf 전송율 테스트 결과 전송 속도는 잘 나오지만 웹서버를 위한 라리브러리가 불편한점이 많다. [RP2040_W5500] RP2040 C++ SDK 환경에서 iperf 를 이용한 W5500 TCP 전송률 테스트 . Arduino IDE 환경에서 TCP전송률 테스트 결과 12Mbps 정도로 측정이 되서 다른 MCU들의 iperf 테스트 결과와 비교해 느린것 같아 SDK 환경에서 테스트 해볼 필요가 있을것 같다. RP2040 C/C++ SDK 개발환경 예 nexp.tistory.com 웹서버 라이브러리 (https://github.com/khoih-prog/EthernetWebServer)는 쉽고 간단하게 사용할 수 있어 편리 하지만 이더넷 전송 속도가 느리다. 그래..
GD32F130 SSM - UART 2채널 테스트 GD32F130은 2개의 UART를 제공한다. SM-Type EVM 핀맵의 UART는 PA2(TXD1), PA3(RXD1)에 할당이 되어 있고 보드내의 UART 커넥터에는 PA9(TXD0), PA10(RXD0) 에 연결되어 있다. 만약 두개의 시리얼을 동시에 사용하려면 GD32130의 variant 파일을 수정해 주어야 한다. \AppData\Local\Arduino15\packages\GD32Community\hardware\gd32\0.0.1\variants\GD32F130F8_GENERIC\variant.h #define USE_USART0_SERIAL #define USE_USART1_SERIAL #define SERIAL0_RX PA10 #define SERIAL0_TX PA9 #define P..
GD32F130 SSM - W5500을 이용한 웹서버 테스트 GD32F130은 TSSOP20핀 페키지의 작고 저렴한 MCU로 64k 플래시 메모리를 지원하기 때문에 W5500을 연결하면 소형의 웹서버 만들기에 좋을것 같다. GD32F130에서 W5500 테스트 결과 웹서버 관련 라이브러리가 잘되어 있는 EthernetWebServer는 기본 플래시 용량이 64k라서 컴파일 하면 플래시 메모리 용량 부족 에러가 발생한다. #include #include "Ethernet_Generic.h" #include c:/users/jhpark/appdata/local/arduino15/packages/gd32community/tools/xpack-arm-none-eabi-gcc/9.3.1-1.3/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../..
GD32F130 - SPI 테스트, SPI 전송 속도 향상 및 DMA 사용하기 GD32F130의 SPI 클럭 속도는 18Mhz이다. #define LED1 PA1 void setup() { digitalWrite(LED1, 0); pinMode(LED1, OUTPUT); Serial.begin(115200); Serial.println("GD32 Test"); } unsigned char buf[3] = {1,2}; void loop() { SPI.transfer(buf, sizeof(buf)); SPI.transfer(buf, sizeof(buf)); } 테스트 결과 18Mhz 클럭이 출력되고 SPI출력 지연 시간은 1.1us로 최대 속도를 위해서는 SPI DMA를 사용해야 할것 같다. Arduino 코드 특성상 SPI Read, Write 부분을 1Byte식 처리 하도록 되어 ..
GD32F130 MCU 성능 테스트 - Dhrystone and Whetstone Benchmark GD32F130은 48Mhz로 동작하는 Cortex-M3 코어로 동일 클럭 M0시리즈 보다 50%이상 성능이 향상 되었다고 한다. GD32F130의 성능 측정을 위해 밴치마크 테스트를 해 보자. MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. 벤치마크 테스트 결과 48Mhz클럭으로 동작하는 Cortex-M0코어의 STM32F0..

반응형