文档介绍:以太网TCP在W5500上的通讯性能测试 author:ANGRY_KUA_MAXQQ :Time:-01-12本文为原创,转载请通知作者,文中代码,请勿用于商业用途!概述目前以太网在嵌入式系统中使用范围越来越广,而一个性能稳定,高效率的以太网传输方式能大幅度降低产品开发周期与售后成本。本文以作者工作环境中使用过的以太网芯片W5500(硬件协议栈)与LWIP(软件协议栈)作为测试对象,这次只测试W5500性能测试,下次再测试LWIP。测试环境本次使用STM32F107搭配W5500进行带宽测试,W5500使用SPI口通讯,时钟可以跑到80M,即理论可以速率为10MB;下次也使用STM32F107搭配83848跑LWIP做验证测试。(使用相同的MCU做数据分析才有对比价值,提前透漏,LWIP的性能比W5500要强一点,但W5500价格偏低,占用资源也少一些)STM32F107与W5500的通讯,采用SPI的DMA方式;初始化W5500为四个端口,各个收发缓存为(8K,4K,2K,2K),缓存对收发速度有影响。测试的端口收发缓存为TCP测试数据W5500上传数据函数switch(_TYPE_TCP)){caseSOCK_INIT:_TYPE_TCP);break;caseSOCK_ESTABLISHED:if(_TYPE_TCP)&Sn_IR_CON){ _TYPE_TCP,Sn_IR_CON);}len=_TYPE_TCP);if(len>0){ len=(_BUF_RXSIZE)?NET_BUF_RXSIZE:len; len=_rxbuf,len); if(len>0) { while(1)//作死的发送 { _rxbuf,1460);//本函数为阻塞函数,发生成功后,本函数才会返回} }}break;caseSOCK_FIN_WAIT:caseSOCK_CLOSING:caseSOCK_TIME_WAIT:caseSOCK_CLOSE_WAIT:caseSOCK_LAST_ACK:_TYPE_TCP);break;caseSOCK_CLOSED:_TYPE_TCP,_sys_info->,Sn_MR_ND);break;default:break;}W5500上传速率网络传输速率我们使用IPOP工具与360自带的加速球查看,其中IPOP软件以bit为单位,其实际的速度与360监测的一致(6080/8=750KB),即W5500在SPI速率为18兆位/秒的速度下测试,测试出来的通讯速度可达到750K左右,作者使用STM32F407做测试,,STM32F107的通讯速率截图如下:W5500下载数据函数While(1){switch(_TYPE_TCP)){caseSOCK_INIT:_TYPE_TCP);break;caseSOCK_ESTABLISHED:if(_TYPE_TCP)&Sn_IR_CON){ _TY