W5500通讯性能测试.docx
- 文档编号:23695114
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:7
- 大小:181.44KB
W5500通讯性能测试.docx
《W5500通讯性能测试.docx》由会员分享,可在线阅读,更多相关《W5500通讯性能测试.docx(7页珍藏版)》请在冰豆网上搜索。
W5500通讯性能测试
W5500通讯性能测试
以太网TCP在W5500上的通讯性能测试
author:
ANGRY_KUA_MAX
len=recv(NET_TYPE_TCP,net_rxbuf,len);
if(len>0)
{
while
(1)//作死的发送
{
send(NET_TYPE_TCP,net_rxbuf,1460);//本函数为阻塞函数,发生成功后,本函数才会返回
}
}
}
break;
caseSOCK_FIN_WAIT:
caseSOCK_CLOSING:
caseSOCK_TIME_WAIT:
caseSOCK_CLOSE_WAIT:
caseSOCK_LAST_ACK:
close(NET_TYPE_TCP);
break;
caseSOCK_CLOSED:
socket(NET_TYPE_TCP,Sn_MR_TCP,net_sys_info->debug_save_.port,Sn_MR_ND);
break;
default:
break;
}
1.1.W5500上传速率
网络传输速率我们使用IPOP工具与360自带的加速球查看,其中IPOP软件以bit为单位,其实际的速度与360监测的一致(6080/8=750KB),即W5500在SPI速率为18兆位/秒的速度下测试,测试出来的通讯速度可达到750K左右,作者使用STM32F407做测试,上传速率可以达到3.5MB以上,STM32F107的通讯速率截图如下:
1.2.W5500下载数据函数
While
(1)
{
switch(getSn_SR(NET_TYPE_TCP))
{
caseSOCK_INIT:
listen(NET_TYPE_TCP);
break;
caseSOCK_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(len>0)
{
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;
caseSOCK_FIN_WAIT:
caseSOCK_CLOSING:
caseSOCK_TIME_WAIT:
caseSOCK_CLOSE_WAIT:
caseSOCK_LAST_ACK:
close(NET_TYPE_TCP);
break;
caseSOCK_CLOSED:
socket(NET_TYPE_TCP,Sn_MR_TCP,net_sys_info->debug_save_.port,Sn_MR_ND);
break;
default:
break;
}
}
1.3.W5500下载速率
测试出来的通讯速度可达到600K左右,但实际波动比较大,受限制与MCU的性能。
2.W5500的硬件Bug
作者在使用W5500的过程中,发现使用其tcp的上传数据存在死机的Bug,MCU在主动传输数据给上位机,若此时将网线断开或者上位机直接关闭sock,则MCU直接死掉,而且是导致MCU直接死掉,使用看门狗都无法恢复的那种。
至于为什么MCU会死掉,又怎么解决这个MCU死机的问题,欢迎联系讨论。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- W5500 通讯 性能 测试