[PIC32-SM EVM] W5100을 TCP서버 전송속도 테스트 - SPI모드
PIC32를 이용하여 W5100 이더넷 테스트를 해 보았다. PIC32는 저렴하지만 W5100을 빠르게 제어할 수 있는 PMP기능과 USB호스트가 있기 때문에 웹서버 어플리케이션에 적용하기 좋을것 같다.
일단 W5100 을 테스트하기 위해 간단히 연결할 수 있는 SPI방식으로 [NET-EVM]보드에테스트 했다.
W5100제어를 위한 드라이버 코드는 아래와 같다.
[NET-EVM] 보드에 W5100 -S EVM보드를 연결
SPI로 이더넷 전송속도 테스트 결과 660kBps정도 나온다. W5100의 SPI최대 속도가 아닐까... 간단한 테스트하기는 문제 없을것 같다.
PIC32를 이용하여 W5100 이더넷 테스트를 해 보았다. PIC32는 저렴하지만 W5100을 빠르게 제어할 수 있는 PMP기능과 USB호스트가 있기 때문에 웹서버 어플리케이션에 적용하기 좋을것 같다.
일단 W5100 을 테스트하기 위해 간단히 연결할 수 있는 SPI방식으로 [NET-EVM]보드에테스트 했다.
W5100제어를 위한 드라이버 코드는 아래와 같다.
//-----------------------------------------------------------------------------
// W5100 HAL
#define W5100_CS_PORT LATG
#define W5100_CS_BIT BIT9
#define W5100_IO_INIT() (TRISGbits.TRISG9 = 0)
#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()
#define IINCHIP_SpiSendData SPI0_WriteReadByte
#define IINCHIP_SpiRecvData SPI0_WriteReadByte
//-----------------------------------------------------------------------------
// W5100 HAL
#define W5100_CS_PORT LATG
#define W5100_CS_BIT BIT9
#define W5100_IO_INIT() (TRISGbits.TRISG9 = 0)
#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()
#define IINCHIP_SpiSendData SPI0_WriteReadByte
#define IINCHIP_SpiRecvData SPI0_WriteReadByte
//-----------------------------------------------------------------------------
[NET-EVM] 보드에 W5100 -S EVM보드를 연결
SPI로 이더넷 전송속도 테스트 결과 660kBps정도 나온다. W5100의 SPI최대 속도가 아닐까... 간단한 테스트하기는 문제 없을것 같다.
반응형