본문 바로가기

[ST_MICRO]/STM32F103-SM

(25)
[STM32F-Tx SSM] STM32F103T - Iperf로 W5500의 TCP Throughput 측정 테스트 STM32F103 시리즈를 이용하여 W5500 Ethernet 모듈의 TCP Throughput 을 측정해 보자. STM32F103의 SPI클럭 최대 주파수는 18Mhz 이다. 18Mhz SPI 클럭에서 3.5Mbps정도로 측정된다. STM32F103의 SPI DMA를 사용하면 8Mbps 정도로 측정이 된다. W5500의 버퍼를 최대한 키워보자. W5500의 FIFO 메모리를 최대로 키우고 SPI DMA를 사용하여 STM32F103에서 W5500 iperf TCP 전송율 테스트 결과 14Mbps로 측정이 된다.
[STM32F-Tx SSM] STM32F103T 보드 제작 STM32 시리즈중 QFN타입이라 소형제품에 가장 많이 사용하고 있는 STM32F103Tx 시리즈를 테스트 할수 있는 SSM Type EVM 형태로 제작 했다. 소형이고 저렴해서 여러 프로젝트에 많이 사용하고 있다.
[STM32-48 SSM] Arduino IDE에서 W5500 iperf 전송률 테스트 STM32F103 Aruino TCP 예제를 이용하여 iperf로 W5500의 네트웍 전송율 테스트를 해 보자 #include #include #define USE_THIS_SS_PIN PB0 byte mac[] = { 0x00, 0x08, 0xDC, 0x00, 0x00, 0x00 }; EthernetServer server(5001); void setup() { Serial.begin(115200); Serial.print("Iperf server address : "); Ethernet.w5500_cspin = USE_THIS_SS_PIN; // initialize the ethernet device Ethernet.begin(mac); // start listening for clients serv..
[STM32-48 SSM] Arduino SPI 테스트
[STM32-48 SSM EVM] - Arduino HID Keyboard Test [STM32-48 SSM EVM] 보드의 특징으로 작은크기 인데 간단한 USB보조 HID키보르를 제작해 보면 좋을것 같다. HID 키보드를 제작하기 위해 ARDUINO 라이브러리를 이용하면 쉽게 작성가능하다. 보드내에 있는 스위치(PB12) 입력에 따라 Keyboard Report를 전송하도록 했다. #include "Keyboard.h" const int buttonPin = 15; // input pin for pushbutton int previousButtonState = HIGH; // for checking the state of a pushButton int counter = 0; // button push counter void setup() { // make the pushButton p..
[STM32-48 SSM] STM32F103 Dhrystone, Whetstone 벤치마크 테스트 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. .mode = Arduino Dhrystone Benchmark, Version 2.1 (Language: C) --------------------------------------------------- Execution starts, 300000 runs through Dhr..
[STM32-48 SSM EVM] STM32F103 Arduino 만들기 Arduino Board 파일은 https://github.com/stm32duino/Arduino_Core_STM32 를 사용한다. 먼저 Arduino https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json Arduino Boards Manager 에서 Genernic STM32F1 Series를 선택한다. Board part number를 ELAB_STM32F1x_SSM 보드를 선택 한다. Generic F1 보드파일을 수정해서 ELAB_STM32F1x_SSM보드파일로 만들었다. // SPI definitions #ifndef PIN_SPI_SS #define PIN_SPI_SS PB10..
[STM32-48 SSM] STM32F103 - Iperf로 W5500의 TCP Throughput 측정 테스트 W5500을 이용하여 소형의 STM32-48 SSM EVM에서 TCP 루프백 전송율 테스트를 진행 해 보자. 먼저 STM32CubeIDE를 이용하여 SPI 설정을 한다. Wiznet ioLibrary Driver 를 다운받아 Ethernet 폴더에 복사 한다. wizet_test.c 파일에 드라이버 포팅 및 테스트 함수를 작성 하였다. wiznet_test.c void Net_Conf() { wiz_NetInfo gWIZNETINFO = { { 0x00, 0xdc, 0x08, 0x00, 0x00, 0x00 },// Mac address { 192, 168, 1, 140 },// IP address { 255, 255, 240, 0},// Subnet mask { 192, 168, 1, 1},// Gate..