[STM32-SM2 EVM] W5200 이더넷 테스트 - NET-EVM 보드
STM32를 이용하여
보드에서 W5200 모듈을 테스트 했다.
[NET-EVM] W5100/W5200용 커넥터
STM32-SM2는 핀맵이 약간 수정되었는데.. W5200의 /RST(INT0) 핀이 3.3V로 연결되기 때문에 3.3V끊고 PA15와 0옴으로 연결해 주어야 한다.
W5200 드라이버 코드
//-----------------------------------------------------------------------------
// W5100 HAL
#define _SPI1_ENABLE 1
#define W5100_CS_PORT GPIOB
#define W5100_CS_BIT BIT12
#define IINCHIP_RSToff() cbi(W5100_RST_PORT, W5100_RST_BIT)
#define IINCHIP_RSTon() sbi(W5100_RST_PORT, W5100_RST_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=BIT12;\
GPIO_Init(GPIOB, &GPIO_InitStructure);\
GPIO_InitStructure.GPIO_Pin=BIT15;\
GPIO_Init(GPIOA, &GPIO_InitStructure);
#define W5100_RST_PORT GPIOA
#define W5100_RST_BIT BIT15
#define IINCHIP_CSoff() cbi(W5100_CS_PORT, W5100_CS_BIT)
#define IINCHIP_CSon() sbi(W5100_CS_PORT, W5100_CS_BIT)
#define IINCHIP_SPI_INIT() SPI1_Init()
#define IINCHIP_SpiSendData SPI1_WriteReadByte
#define IINCHIP_SpiRecvData SPI1_WriteReadByte
STM32 TCP/IP 전송 속도 테스트
최대 SPI클럭 18Mhz 인 STM32에서 전송 속도는 2Mbps정도 출력된다.
코드 옵티마이즈 후 2.5Mbps 까지 가능하다.
반응형