STM32F107以太网做串口服务器卡顿问题

2019-12-27 18:39发布

大家好,我们公司用STM32F107(具有以太网MAC控制器)+外置PHY的形式做一个串口服务器,这个串口服务器通过TCP/IP和PC、WEB端通信,将数据和控制信息通过CAN或RS485的形式转发到下位机。这个串口服务器使用STM32F107+lwIP+ucos,我是刚入职负责别人的这个项目,它搞的代码我用不了我就通过神州IV号开发板的例程进行测试。
例程是STM32F107裸跑lwip,板子和电脑直连时ping板子的时间是17ms,而我主机ping路由器的网关也就2MS。我觉得这个STM32F107是不是太慢了?
作上述测试的原因:
板子下载了神州官方的例程,PC和开发板直连时能ping通(收发数据),当板子接入交换机时ping都ping不通,个人怀疑是芯片处理不过来导致以太网相关的模块停止工作了。
回到家后,我通过python写了个小脚本,通过UDP的方式不断向板子发送数据包(数据为4000字节),如果每隔50ms或25ms发送数据包时,PC和板子是能ping通的,抓包也能
看到数据的收发过程。如果每隔10ms(<20ms)发送数据包时最开头的ping有应答,后面的ping包都没有收到应答,并且发送出去的udp包也没有抓到板子的任何应答。我该怎么办?
我觉得这应该换处理速度更高的芯片,第二个就是复位以太网接口,请问我该怎么样复位呢?他是接收的包过多我处理不过来导致的卡死行为。我该怎么处理?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
fenglove
1楼-- · 2019-12-28 21:32
107完全没有问题的,我们已经几十K的设备在市场上运行
451006071
2楼-- · 2019-12-29 01:35
我想要个工程模板,UCOSII+LWIP的哪里能下,不然我要移植LWIP,哎。。。
maoxue121225
3楼-- · 2019-12-29 07:17
这个估计是你的协议栈哪里设置的不对跟硬件没有太大关系
maoxue121225
4楼-- · 2019-12-29 09:31
通过你的描述我猜测应该是hangler那里处理不过来造成卡包了,可以试着把时间改短
451006071
5楼-- · 2019-12-29 11:15
 精彩回答 2  元偷偷看……

一周热门 更多>