본문 바로가기

[Microchip]/dsPIC

[dsPIC33 EVM] W5200 TCP/IP Loopback 전송 속도 테스트

[dsPIC33 EVM] W5200 TCP/IP Loopback 전송 속도 테스트



dsPIC33을 이용하여 SPI방식의 하드웨어 TCP/IP W5200 (W5100)의 전송 속도를 테스트 했다.

SPI클럭 13Mhz 에서 최대로 나오며 2.5Mbps 정도 출력 된다.

[3] iInChip Send: 2.3772 Mbps(6596649 bytes, 21.1710 sec)
iInChip Recv: 2.4131 Mbps(6596649 bytes, 20.8568 sec)
------------------------------------------------------------
[4] iInChip Send: 2.3933 Mbps(6596649 bytes, 21.0288 sec)
iInChip Recv: 2.4132 Mbps(6596649 bytes, 20.8557 sec)
------------------------------------------------------------





[NET EVM] 보드에서 W5200 핀맵





dsPIC33 W5100 HAL 드라이버 코드 소스
//-----------------------------------------------------------------------------
// W5100 HAL
#define W5100_CS_PORT     PORTG
#define W5100_CS_BIT     BIT9


#define W5100_RST_PORT     PORTF
#define W5100_RST_BIT     BIT6

#define IINCHIP_RSToff()    Cbi(W5100_RST_PORT, W5100_RST_BIT) 
#define IINCHIP_RSTon()     Sbi(W5100_RST_PORT, W5100_RST_BIT)


#define IINCHIP_CSoff()     Cbi(W5100_CS_PORT, W5100_CS_BIT)
#define IINCHIP_CSon()     Sbi(W5100_CS_PORT, W5100_CS_BIT)

#define W5100_IO_INIT()     Cbi(TRISG, W5100_CS_BIT);Cbi(TRISF, W5100_RST_BIT);

#define IINCHIP_SPI_MAX_SPEED()   SPI1_SetSpeed(SPI_SPEED_MAX)
#define IINCHIP_SPI_INIT()    SPI1_Init();IINCHIP_SPI_MAX_SPEED()
//#define IINCHIP_SpiSendData    SPI0_WriteByte
#define IINCHIP_SpiSendData    SPI1_WriteReadByte
#define IINCHIP_SpiRecvData    SPI1_WriteReadByte
//-----------------------------------------------------------------------------


반응형