huangzilong1 发表于 2020-8-27 09:54:00

STM32F107VCT6+DP83848 在复杂网络环境中网络部分挂掉

各路大神,请教一个问题:
   我们有一个控制板带网络控制的,网络部分用的是STM32F107VCT6+DP83848,用了TCP和UDP通讯,已经在很多地方用过是不会死机没有问题的。最近用在一个比较大的内网网络中,部分控制板容易出现网络不通(Ping不通,不能通讯)的情况,重启又好了。此内网中有很多网络设备,包括网络安防监控摄像头,很多网络门禁,很多电脑等等各种设备。

比如:有10个控制板可能通电几个小时后,就有6个控制板会网络不通,有4个还是通的。有时开一天都正常。
现在怀疑是因网络环境复杂之后,有时有大量的广播数据包导致单片机网络部分死掉了?

各路大神,有没有遇到过这种问题,怎么解决的,请赐教!谢谢!

kate2005_chen 发表于 2020-8-28 12:23:02

如果怀疑大量的广播数据包导致单片机网络部分死掉了,就 在软件中预防应对这部分,及时清空数据和中断。

huangzilong1 发表于 2020-8-28 18:21:12

STM32F107中:
netif->flags = NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP | NETIF_FLAG_LINK_UP;(这里的NETIF_FLAG_BROADCAST)
ETH_InitStructure.ETH_ReceiveAll = ETH_ReceiveAll_Disable;//关闭接收所有的帧
ETH_InitStructure.ETH_BroadcastFramesReception = ETH_BroadcastFramesReception_Enable;//允许接收所有广播帧
试了去掉NETIF_FLAG_BROADCAST这个是不回复目的地址为xxx.xxx.xxx.255的广播的。

windowsbbs 发表于 2020-9-29 20:23:41

签到签到
页: [1]
查看完整版本: STM32F107VCT6+DP83848 在复杂网络环境中网络部分挂掉