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包也没有抓到板子的任何应答。我该怎么办?
我觉得这应该换处理速度更高的芯片,第二个就是复位以太网接口,请问我该怎么样复位呢?他是接收的包过多我处理不过来导致的卡死行为。我该怎么处理?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。