W5500通讯性能测试

上传人:卷*** 文档编号:120148221 上传时间:2022-07-16 格式:DOC 页数:7 大小:110.50KB
返回 下载 相关 举报
W5500通讯性能测试_第1页
第1页 / 共7页
W5500通讯性能测试_第2页
第2页 / 共7页
W5500通讯性能测试_第3页
第3页 / 共7页
点击查看更多>>
资源描述
以太网TCP在W5500上的通讯性能测试author:ANGRY_KUA_MAXQQ :Time :-01-12本文为原创,转载请告知作者,文中代码,请勿用于商业用途!1. 概述目前以太网在嵌入式系统中使用范畴越来越广,而一种性能稳定,高效率的以太网传播方式能大幅度减少产品开发周期与售后成本。本文以作者工作环境中使用过的以太网芯片W5500(硬件合同栈)与LWIP(软件合同栈)作为测试对象,这次只测试W5500性能测试,下次再测试LWIP。2. 测试环境本次使用STM32F107搭配W5500进行带宽测试,W5500使用SPI口通讯,时钟可以跑到80M,即理论可以速率为10MB;下次也使用STM32F107搭配83848跑LWIP做验证测试。(使用相似的MCU做数据分析才有对比价值,提前透漏,LWIP的性能比W5500要强一点,但W5500价格偏低,占用资源也少某些)STM32F107与W5500的通讯,采用SPI的DMA方式;初始化W5500为四个端口,各个收发缓存为(8K,4K,2K,2K),缓存对收发速度有影响。测试的端口收发缓存为3. TCP测试数据3.1. W5500上传数据函数 switch(getSn_SR(NET_TYPE_TCP)case SOCK_INIT: listen(NET_TYPE_TCP); break;case SOCK_ESTABLISHED: if(getSn_IR(NET_TYPE_TCP) & Sn_IR_CON) setSn_IR(NET_TYPE_TCP, Sn_IR_CON); len=getSn_RX_RSR(NET_TYPE_TCP); if(len0) len = (len NET_BUF_RXSIZE)?NET_BUF_RXSIZE:len;len = recv(NET_TYPE_TCP,net_rxbuf,len);if(len 0) while(1) /作死的发送 send(NET_TYPE_TCP,net_rxbuf,1460); /本函数为阻塞函数,发生成功后,本函数才会返回 break;case SOCK_FIN_WAIT:case SOCK_CLOSING:case SOCK_TIME_WAIT:case SOCK_CLOSE_WAIT:case SOCK_LAST_ACK:close(NET_TYPE_TCP); break;case SOCK_CLOSED: socket(NET_TYPE_TCP,Sn_MR_TCP,net_sys_info-debug_save_.port,Sn_MR_ND); break;default: break;3.2. W5500上传速率网络传播速率我们使用IPOP工具与360自带的加速球查看,其中IPOP软件以bit为单位,其实际的速度与360监测的一致(6080/8=750KB),即W5500在SPI速率为18兆位/秒的速度下测试,测试出来的通讯速度可达到750K左右,作者使用STM32F407做测试,上传速率可以达到3.5MB以上,STM32F107的通讯速率截图如下:3.3. W5500下载数据函数While(1)switch(getSn_SR(NET_TYPE_TCP)case SOCK_INIT: listen(NET_TYPE_TCP); break;case SOCK_ESTABLISHED: if(getSn_IR(NET_TYPE_TCP) & Sn_IR_CON) setSn_IR(NET_TYPE_TCP, Sn_IR_CON); len=getSn_RX_RSR(NET_TYPE_TCP); if(len0) len = (len NET_BUF_RXSIZE)?NET_BUF_RXSIZE:len;len = recv(NET_TYPE_TCP,net_rxbuf,len);if(len 0) memcpy(net_tempbuf,net_rxbuf,len);/收到的数据保存 / break;case SOCK_FIN_WAIT:case SOCK_CLOSING:case SOCK_TIME_WAIT:case SOCK_CLOSE_WAIT:case SOCK_LAST_ACK:close(NET_TYPE_TCP); break;case SOCK_CLOSED: socket(NET_TYPE_TCP,Sn_MR_TCP,net_sys_info-debug_save_.port,Sn_MR_ND); break;default: break;3.4. W5500下载速率测试出来的通讯速度可达到600K左右,但实际波动比较大,受限制与MCU的性能。4. W5500的硬件Bug作者在使用W5500的过程中,发现使用其tcp的上传数据存在死机的Bug, MCU在积极传播数据给上位机,若此时将网线断开或者上位机直接关闭sock,则MCU直接死掉,并且是导致MCU直接死掉,使用看门狗都无法恢复的那种。至于为什么MCU会死掉,又怎么解决这个MCU死机的问题,欢迎联系讨论。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!