你好。
我们创建了一个使用 AMIC110进行 EtherNet/IP 通信的器件。
当超过30个从器件和1个主器件在 Rpi=10ms 进行通信时、便出现了如下问题:1个从器件在一段时间(60ms -1000ms)内无响应。
在没有响应之后、 从器件 可以 再次与主器件通信。
这个问题在多个从器件而不是特定从器件上发生。
我们使用的固件如下所示。
-PROCESSOR-SDK-RTOS 版本05.01.00.11.
-PRU-ICSS 固件:ICSS 直通交换机 Ver 01.00.00.07.
- Code Composer Studio 版本8.3.0.0009
我发现当从器件没有响应时、它会通过以下函数循环600次以上。
pdk_am335x_1_0_12\packages\ti\transport\ndk\nimu_ICSS\src\nimu_icssSwitchEmac.c nimu_ICSS_rxServiceCheck ()
我认为问题在于、ICSS_EmacRxPktGet 中的 rxArgs.more 不是零、而是由 rxCallBack ->回调调用。
我查看了其他 E2E、并在下面找到了类似的文章。
https://e2echina.ti.com/support/machine-translation/mt-processors/f/mt-processors-forum/337740/amic110-ethernet-ip
但它没有说明它是如何解决的。
也许同样的事情是责任。
您是如何解决该问题的?