[LPC1756 EVM] TCP/IP Server 전송 속도 테스트
LPC1756 을 이용하여 SPI방식의 Hardwired TCP/IP 모듈 W5200을 테스트 했다.
SPI속도가 빠르기 때문에 간단한 이더넷 솔루션으로 사용해 볼 만하다.
(TCP/IP 전송 속도 테스트 참고)
LPC1756의 SPI클럭 최대 속도는 48Mhz 이지만 실제 24Mhz이상에서는 정상적으로 동자하지 않는다.
SPI클럭 24Mhz에서 2.8Mbps 정도 출력된다.
(PIC32에 비하면 약간은 기대에 못미치는데... 클럭만 빠르다고 전송속도가 빠른것은 아닌것 같다.)
[31] iInChip Send: 2.8086 Mbps(348160 bytes, 0.9457 sec)
iInChip Recv: 2.5316 Mbps(348160 bytes, 1.0492 sec)
------------------------------------------------------------
[32] iInChip Send: 2.8575 Mbps(348160 bytes, 0.9296 sec)
iInChip Recv: 2.4732 Mbps(348160 bytes, 1.0740 sec)
-------------------------------------------------------
[LPC1756 EVM] W5200 드라이버 코드
LPC1756 을 이용하여 SPI방식의 Hardwired TCP/IP 모듈 W5200을 테스트 했다.
SPI속도가 빠르기 때문에 간단한 이더넷 솔루션으로 사용해 볼 만하다.
(TCP/IP 전송 속도 테스트 참고)
LPC1756의 SPI클럭 최대 속도는 48Mhz 이지만 실제 24Mhz이상에서는 정상적으로 동자하지 않는다.
SPI클럭 24Mhz에서 2.8Mbps 정도 출력된다.
(PIC32에 비하면 약간은 기대에 못미치는데... 클럭만 빠르다고 전송속도가 빠른것은 아닌것 같다.)
[31] iInChip Send: 2.8086 Mbps(348160 bytes, 0.9457 sec)
iInChip Recv: 2.5316 Mbps(348160 bytes, 1.0492 sec)
------------------------------------------------------------
[32] iInChip Send: 2.8575 Mbps(348160 bytes, 0.9296 sec)
iInChip Recv: 2.4732 Mbps(348160 bytes, 1.0740 sec)
-------------------------------------------------------
[LPC1756 EVM] W5200 드라이버 코드
//-----------------------------------------------------------------------------
// W5100 HAL
#define W5100_CS_PORT GPIO0
#define W5100_CS_BIT BIT16
#define W5100_RST_PORT GPIO0
#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 W5100_IO_INIT() GPIOInit(0, DIR_OUT, W5100_CS_BIT);GPIOInit(0, DIR_OUT, W5100_RST_BIT)
#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_WriteByte
#define IINCHIP_SpiSendData SPI0_WriteReadByte
#define IINCHIP_SpiRecvData SPI0_WriteReadByte
//-----------------------------------------------------------------------------
// W5100 HAL
#define W5100_CS_PORT GPIO0
#define W5100_CS_BIT BIT16
#define W5100_RST_PORT GPIO0
#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 W5100_IO_INIT() GPIOInit(0, DIR_OUT, W5100_CS_BIT);GPIOInit(0, DIR_OUT, W5100_RST_BIT)
#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_WriteByte
#define IINCHIP_SpiSendData SPI0_WriteReadByte
#define IINCHIP_SpiRecvData SPI0_WriteReadByte
//-----------------------------------------------------------------------------
반응형