[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
//-----------------------------------------------------------------------------