본문 바로가기

W5500

(40)
[ESP32 xBee EVM] W5500 웹서버 테스트 ESP32에서 유선 랜을 사용하기 위해 W5500 모듈을 테스트 해 보았다. 는 WiFi 가 기본적으로 내장되어 있는 칩 이라 기존에 Arduino에서 테스트 했던 W5500 테스트 코드를 구동하려고 했는데 컴파일 에러가 발생 한다. WebServer_temp:40:16: error: cannot declare variable 'server' to be of abstract type 'EthernetServer' EthernetServer server(80); ^~~~~~ In file included from C:\Users\nexp7\OneDrive\\Arduino\libraries\Ethernet2\src/Ethernet2.h:17, C:\Users\nexp7\OneDrive\\Arduino\lib..
[STM32G0 SSM] Arduino W5500 Ethernet WebServer 테스트 Arduino Ethernet2 라이브러리를 이용하여 W5500 EVM 모듈을 테스트 할수 있는 간단한 Ethernet Webserver 예제를 테스트 했다. W5500의 IP 정보를 가져 오지 못한다. server is at : 0.0.0.0 SPI 클럭 파형은 정상적인데... 뭐가 문제 일까? 출력 클럭이 정상이라면 입력(MISO)쪽이 문제이지 않을까? GPIO_AF4_SPI2 -> GPIO_AF0_SPI2 로 변경하니 잘 동작한다. #ifdef HAL_SPI_MODULE_ENABLED WEAK const PinMap PinMap_SPI_MISO[] = { //{PA_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_SPI2)}, //{PA_3..
STM32G0 SSM - STM32CubeIDE에서 Iperf로 W5500의 TCP Throughput 측정 테스트 STM32G0에서 SPI 클럭의 최대 속도는 32Mhz로 STM32F1의 SPI 클럭속도(18Mhz)보다 빨라 졌다. W5500 SPI 전송율 테스트를 해 보면 STM32G0의 SPI성능을 테스트 해 볼수 있을것 같다. 우선 STM32CubeIDE에서 SPI 설정을 하자. 네트웍 전송율 테스트를 위해 PC에서는 iperf 프로그램을 사용하고 STM32에서는 W5500 TCP loopback 테스트 코를 조금 수정해 iperf 클라이언트 코드로 작성했다. int32_t iperf_tcps(uint8_t sn, uint8_t* buf, uint16_t port) { int32_t ret; uint16_t size = 0, sentsize=0; switch(getSn_SR(sn)) { case SOCK_EST..
STM32H7 SPI - W5500 TCP/IP 전송속도 테스트 에러 문제 해결 STM32F7 evm 보드에서 테스트 했던 W5500 소스코드를 이용하여 STM32H7 보드에서 테스트 중인데 컴파일 에러가 발생한다. STM32F7 에서 W5500제어 테스트 에서 사용 했던 코드와 동일한데 왜 에러가 발생할까? #문제발생 에러코드 설명 자원 경로 위치 유형 expected identifier or '(' before numeric constant w5500.h /ex24_spi_w5500/Src 행 70 C/C++ Problem F7 코드에서는 문제가 없었는데... 에러를 찾아 가 보니 헤더파일의 선언 순서가 문제가 된다. 같은 컴파일러 인데 왜 문지가 되지? #문제해결 w5500.c #include "w5500.h" #include "config.h" #include "config...
[STM32-64 Ardu] STM32F405 - Iperf로 W5500의 TCP Throughput 측정 테스트 [STM32-64 Ardu] 보드에는 SSM Type의 모듈을 연결 할 수 있는 커넥터가 있고 W5500 Ethernet 모듈을 이용하여 이더넷을 구현할 수 있다. STM32F405에서 W5500의 TCP Throughput 을 측정해 보자. 우선 STM32CubeIDE를 이용하여 SPI 설정을 하자. 네트웍 전송율 테스트를 위해 PC에서는 iperf 프로그램을 사용하고 STM32에서는 W5500 TCP loopback 테스트 코를 조금 수정해 iperf 클라이언트 코드로 작성했다. int32_t iperf_tcps(uint8_t sn, uint8_t* buf, uint16_t port) { int32_t ret; uint16_t size = 0, sentsize=0; switch(getSn_SR(sn)..
[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; /*..
TM4C123 EVM - W5500 TCP/IP 전송 속도 테스트 TM4C123 EVM - W5500 TCP/IP 전송 속도 테스트 [NET_EV_SM EVM]보드와 W5500 EVM 보드를 이용하여 Ethernet (TCP/IP) 테스트를 진행 했다.고성능 Cortex-M4 코어의 TM4C123 에서 Ethernet 기능을 추가해 두면 여러 프로젝트에서 유용할 것 같다.위 사진과 같이 W5500 EVM 보드를 연결하면 Ethernet을 쉽게 테스트 가능하다. W5100, W5200, W5500 Ethernet 모듈은 [NET_EV_SM EVM] 보드의 SPI-EXP 모듈을 연결하여 쉽게 테스트 가능하다. W5500의 CS핀은 P_B15 -> CN18_15pin ->PD6/RST 핀은 P_A3->CN17_3pin -> PE1에 연결되어 있다. TM4C123 코드에서 W..
[W5500 EVM] 모듈 보드 제작 [W5500 EVM] 모듈 보드 제작 W5200 EVM 과 동일 한 핀맵으로 W5500 EVM 보드를 제작 했다. W5500 칩 자체 크기가 커져서 사이즈는 약간 크지만 저렴한 가격 때문에 사용할 곳이 많을것 같다. W5500 은 W5200과 거의 동일한 기능을 하지만 칩 공정상 더 최신 기술이 들어가 저렴해 진것 같다. W5500은 기존 W5200 모듈 및 SPI 모듈의 핀맵과 호환되도록 제작해서 여러 확장 보드에서 쉽게 연결하여 테스트 가능하도록 제작했다. W5500의 테스트 소스코드는 Winzet 에서 제공하는 W5500 Driver 파일을 수정해서 작성했다. W5500 EVM에서 추가된 부분은 MAC Address 할당 메모리가 추가되었다. 필요에 따라 MAC Address 할당된 메모리 실장하면..