본문 바로가기

STM32F7

(19)
[STM32-64 Ardu] STM32F732 W5500 iperf 네트웍 전송율 테스트 STM32F732 Arduino SPI 속도 테스트에서 설정한 최대 SPI 클럭값으로 W5500의 네트웍 전송율을 테스트 해 보자. [STM32-64 Ardu] 보드에서 W5500 EVM 모듈을 연결 할 수 있는 SSM 커넥터의 CS 핀는 PB0에 할당되어 있다. 우선 W5500 Arduino 라이브러리 파일에서 클럭 속도를 최대치로 설정 한다. \Arduino\libraries\Ethernet2\src\utility\w5500.cpp //SPISettings wiznet_SPI_settings(8000000, MSBFIRST, SPI_MODE0); SPISettings wiznet_SPI_settings(54000000, MSBFIRST, SPI_MODE0); 소스코드는 [STM32-64 Ardu] S..
[STM32-64 Ardu] STM32F732 Arduino SPI 속도 테스트 [STM32-64 Ardu] 보드에서 STM32F732의 SPI 클럭 속도를 측정해 보자. Arduino 호환 핀맵의 SPI핀은 SPI1에 할당되어 있다. STM32F7의 클럭최대 속도는 216Mhz이고 SPI로 입력되는 APB2클럭은 108Mhz 이다. SPI 최대 클럭는 APB/2 이므로 54Mhz가 최대 설정값이 된다. SPI초기화 하고 클럭 설정을 하면 SPI.setClockDivider(SPI_CLOCK_DIV2) 54Mhz가 출력 되는 것을 확인 할 수 있다. #include void setup() { Serial.begin(115200); Serial.println("SPI tst.."); delay(1000); SPI.begin(); //SPI.beginTransaction(SPISetti..
[STM32-64 Ardu] STM32F732 Arduino GPIO 테스트 - switch debounce [STM32-64 Ardu] 보드의 내부 LED 및 스위치로 GPIO를 테스트 할 수 있다. arduino-button-library 라이브러리를 이용하여 switch debounce 노이즈 제거 테스트를 해 보자. https://arduinogetstarted.com/tutorials/arduino-button-library STM32F732 Switch Devounce 테스트 Arduino 코드 #include #define LED_PIN1 PB2 #define LED_PIN2 PB6 #define PIN_SW1 PA15 ezButton button(PIN_SW1); // create ezButton object void setup() { pinMode(LED_PIN1, OUTPUT); pinMode..
STM32F7 - Arduino 만들기 (STM32F732 Arduino 성능 테스트) STM32F7 Arduino 보드를 Arduino IDE에서 개발하기 위해 보드파일을 등록 해야 하는데... Arduino 보드메이저에 Gereic 타입이 없다. 그냥 Nucleo_64 에다 등록을 해야 겠다 board.txt 파일을 수정해서 보드 메니저에 등록 # ELAB_F7_ARDUINO board # Support: Serial1 (USART2 on PA2, PA3) Nucleo_64.menu.pnum.ELAB_F7_ARDUINO=ELAB_F7_ARDUINO Nucleo_64.menu.pnum.ELAB_F7_ARDUINO.node=ELAB_F7_ARDUINO Nucleo_64.menu.pnum.ELAB_F7_ARDUINO.upload.maximum_size=524288 Nucleo_64.menu...
STM32F7 Arduino - STM32CubeIDE 개발환경 설정 STM32F7 시리즈중 64핀 페키지의 저렴한 칩셋으로 STM32F732를 실장한 [STM32F7 Arduino Board]를 테스트 하기 위해 STM32CubeIDE를 사용하여 개발환경을 설정해 보았다. 우선 STM32CubeIDE 를 실행하고 새로운 프로젝트를 생성한다. 사용할 칩을 후 새로운 프로젝트 명을 기입하고 옵션을 선택 해 준다. 기본적으로 ioc 파일이 생성되며 STM32CubeMx 와 같이 핀맵이나 클럭 설정들을 할 수 있다. 클럭은 STM32F7의 최대 클럭인 216Mhz로 설정한다. 기본적인 GPIO나 UART를 설정하고 저장하면 코드가 생성된다.
#STM32F7 ARDUINO 보드 제작 STM32 64핀 패키지를 Arduino 로 사용할 수 있는 보드를 제작했다. 기존에 제작했던 STM32 Arduino 보드는 STM32F0, STM32F4 를 지원하지만 STM32F7은 핀맵이 바뀌어 새롭게 제작 했다. STM32 Nucleo Boards 보드와 핀맵을 동일하게 했고 Nucleo보드에 없는 USB, SD, I2C 같은 페리를 실장 하였으며 다양한 형태의 확장 보드(SSM- EVM), RF, BLE, WIFI 모듈을 연결 할수 있는 커넥터를 포함하였다. 또 하나의 장점으로 기존에 제작 해 둔 다양한 Arduino 확장 쉴드 보드로 연결 할 수 있다.
[STM32F7 EVM] STM32F767 Ethernet 테스트 - LWIP를 이용한 UDP전송속도 측정 STM32F7의 LWIP를 이용한 TCP전송 속도 테스트 코드를 이용하여 UDP loopback 테스트로 전송속도를 측정해 보았다. udp_echoserver_init(); while (1) { /* Read a received packet from the Ethernet buffers and send it to the lwIP for handling */ ethernetif_input(&gnetif); /* Handle timeouts */ sys_check_timeouts(); #ifdef USE_DHCP /* handle periodic timers for LwIP */ DHCP_Periodic_Handle(&gnetif); #endif } 테스트 결과 UDP도 TCP와 동일한 전송 속도가 측정된다.
[STM32F7 EVM] STM32F767 SPI 테스트 - W5500 TCP/IP 전송 속도 테스트 [NET_EV_SM EVM]보드와 W5500 EVM 보드를 이용하여 Ethernet (TCP/IP) 테스트를 진행 했다 [STM32F7 EVM]보드에는 SSM 모듈 표준 핀맵이 적용되어 있기 때문에 W5500 EVM과 같은 모듈을 연결하여 쉽게 테스트 가능하다. W5500은 SPI통신을 사용하므로 STM32CubeMx를 이용하여 SPI 항목을 설정해 준다. W5500 드라이버 API를 사용하기 위해 SPI Read/Write 함수를 포팅해 주면 기존 코드를 그대로 사용할 수 있다. #define SPIx_TIMEOUT_MAX((uint32_t)0x1000) unsigned char SPI1_WriteReadByte(unsigned char Data) { uint8_t receivedbyte = 0; /*..

반응형