본문 바로가기

[INTERFACE]/W7200

[W7200 EVM] TCP/IP 테스트 - W7200 TCP Server 전송 속도 테스트

[W7200 EVM] TCP/IP 테스트 - W7200 TCP Server 전송 속도 테스트




W7200은 Cortex-M3 STM32와 W5200이 한칩에 들어 있는 Internet MCU 이다.


소스코드는 기존 STM32-SM + W5200과 호환이 되지만 SPI(SPI0), CS(PA4), RST(PB8), PowerDown(PB9) 핀은 하드웨어 적으로 고정되어 있다.



W7200 TCP Server 전송 속도

TCP 서버 송수신 속도는 3Mbps정도로 측정된다. STM32-SM EVM (2.5Mbps)과 동일한 코드로 테스트 해보면 W7200이 속도가 좀더 빠르게 나오는데... 아무래도 한칩에 포함되어 있어 그런것이 아닐까 생각해 본다.




W7200 W5200 제어 드라이버 코드

//-----------------------------------------------------------------------------

// W5100 HAL

#define _SPI0_ENABLE 1


#define W5100_CS_PORT GPIOA

#define W5100_CS_BIT BIT4


#define W5100_RST_PORT GPIOB

#define W5100_RST_BIT BIT8

#define IINCHIP_RSToff() cbi(W5100_RST_PORT, W5100_RST_BIT)

#define IINCHIP_RSTon() sbi(W5100_RST_PORT, W5100_RST_BIT)



#define W5100_PD_PORT GPIOB

#define W5100_PD_BIT BIT9

#define IINCHIP_PDoff() cbi(W5100_PD_PORT, W5100_PD_BIT)

#define IINCHIP_PDon() sbi(W5100_PD_PORT, W5100_PD_BIT)




#define W5100_IO_INIT() RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE);\

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;\

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;\

GPIO_InitStructure.GPIO_Pin=W5100_CS_BIT;\

GPIO_Init(GPIOA, &GPIO_InitStructure);\

GPIO_InitStructure.GPIO_Pin=W5100_RST_BIT|W5100_PD_BIT;\

GPIO_Init(GPIOB, &GPIO_InitStructure);\

                                        IINCHIP_RSTon();IINCHIP_PDoff();



#define IINCHIP_CSoff() cbi(W5100_CS_PORT, W5100_CS_BIT)

#define IINCHIP_CSon() sbi(W5100_CS_PORT, W5100_CS_BIT)




#define IINCHIP_SPI_INIT() SPI0_Init();SPI0_SetSpeed(SPI_SPEED_MAX);

#define IINCHIP_SpiSendData SPI0_WriteReadByte

#define IINCHIP_SpiRecvData SPI0_WriteReadByte

//-----------------------------------------------------------------------------








반응형