Cortex-M/INFINEON2013. 11. 30. 23:00

XMC1300 EVM - W5200 TCP/IP 전송속도 테스트

XMC1300 EVM - W5200 TCP/IP 전송속도 테스트




[NET_EV EVM] 확장 테스트 보드 에서 테스트 가능하다. W5200은 하드웨어 TCP/IP 스텍을 내장하고 있어 SPI통신으로 이더넷통신을 쉽게 구현할 수 있다





XMC1300 EVM W5200 연결 핀맵

XMC1300 EVM에서 아래와 같이 핀맵이 구성된다.

W5200_CS -> P1.4 (P_A13)

W5200_RST -> P2.11 (P_B17)





XMC1300의 SPI클럭 최대 속도는 16Mhz이고 이때 TCP/IP 루프백 전송 속도는 1.4Mbps정도 나온다

W5200을 이용한 다른 MCU들의 TCP/IP속도와 비교하면 효율성이 조금 떨어지는것 같다.


------------------------------------------------------------

[35] iInChip Send: 1.4289 Mbps(348160 bytes, 1.8590 sec)

iInChip Recv: 1.3339 Mbps(348160 bytes, 1.9913 sec)

------------------------------------------------------------

[36] iInChip Send: 1.4162 Mbps(348160 bytes, 1.8756 sec)

iInChip Recv: 1.3400 Mbps(348160 bytes, 1.9823 sec)

--------------------------------------------------------



Posted by nexp

댓글을 달아 주세요

[FreeScale]/KINETIS2013. 11. 3. 23:30

K20 EVM - Kinetis Cortex-M4 W5200을 이용한 TCP/IP 루프백 전송속도 테스트

K20 EVM - Kinetis Cortex-M4 W5200을 이용한 TCP/IP 루프백 전송속도 테스트





W5200은 HW TCP/IP 스택을 내장하고 있는 칪으로 저렴한 MCU에서 SPI통신으로 쉽게 Ethernet 통신이 가능하도록 해준다.

K20에서 W5200을 이용하여 TCP/IP 전송 속도 테스를 진행해 보았다.





K20의 SPI최대 속도는 25Mhz이고 TCP/IP 루프백 속도 테스트 결과 2.5Mbps 정도로 측정된다.




[34] iInChip Send: 2.6033 Mbps(348160 bytes, 1.0203 sec)

iInChip Recv: 2.2290 Mbps(348160 bytes, 1.1917 sec)

------------------------------------------------------------

[35] iInChip Send: 2.6008 Mbps(348160 bytes, 1.0213 sec)

iInChip Recv: 2.2092 Mbps(348160 bytes, 1.2023 sec)

-------------------------------------------------------






K20 Hadward TCP/IP Network Module W5200 드라이버 코스코드

 TCP/IP 전송속도 테스트를 위하여 [Net_EV-SM EVM] 확장 테스트 보드를 이용하였다.

 SPI는 SPI0에 연결되어 있고 /CS는 PB3, /RESET는 PB2에 각각 연결되어 있다.

//-----------------------------------------------------------------------------

// W5200 HAL

#define W5100_CS_PORT GPIOB

#define W5100_CS_BIT BIT3


#define W5100_RST_PORT GPIOB

#define W5100_RST_BIT BIT2



#define W5100_IO_INIT() SIM_SCGC5 |= SIM_SCGC5_PORTB_MASK;\

                                        PORTB_PCR2 = PORT_PCR_MUX(1);\

                                        PORTB_PCR3 = PORT_PCR_MUX(1);\

                                        Sbi(GPIOB_PDDR, W5100_CS_BIT);Sbi(GPIOB_PDDR, W5100_RST_BIT);\

                                        IINCHIP_CSon();


#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();IINCHIP_SPI_SPEED();

#define IINCHIP_SpiSendData SPI0_WriteReadByte

#define IINCHIP_SpiRecvData SPI0_WriteReadByte

#define IINCHIP_SPI_SPEED()            SPI0_SetSpeed(SPI_SPEED_MAX) 


#define IINCHIP_RSToff() cbi(W5100_RST_PORT, W5100_RST_BIT)

#define IINCHIP_RSTon() sbi(W5100_RST_PORT, W5100_RST_BIT)

//-----------------------------------------------------------------------------




Posted by nexp

댓글을 달아 주세요