388S该款芯片的产品在组网测试时,遇到了错误帧计数异常现象,描述如下:
在ECAT分路器之后的第一个从站(L7ECS,芯片388S)中,0x300寄存器存在错误计数;而后续的各个站点的0x300寄存器也都显示有计数值,但0x308寄存器却没有计数值。为什么在另一个分支之后的第一个0x300寄存器会有计数值,而后面的0x308寄存器才有计数值呢?
感谢您对TI产品的关注。我们正在核实您的问题,请等待我们的答复。
您好
据我们的专家分析,0x300/301的计数增加分别由CRC错误和PHY接收错误引起。ESC会在转发数据包给下级设备时附加一个奇偶位,以标记错误来源。因此,后续设备会递增转发错误计数器0x308/309。TWITTER设备在无关联PHY错误的情况下持续产生CRC错误。
Daniel 说:TWITTER设备在无关联PHY错误的情况下持续产生CRC错误。
这个我知道,但是根据统计结果,这个错误在经过分支器后,传递给L7ECS的错误,记录在0x300/301,而在这个L7ECS后的两台L7ECS为何记录错误数还在0x300/301.而不是0x308。在Excel表格截图的标记红色方框可以看到差异,后面记录在0x308,只有使用388s芯片的L7ECS记录在0x300/301.
PHY中是否启用了奇数半字节检测?
PHY是DP83822,在其手册里CR2(0xA)寄存器描述中,bit1默认为0,是开启奇数半字节检测的(未改其配置,均保持默认)。
Do you see this behavior in the standalone devices also ? Also can you please share wireshark capture if possible?
这个问题不是必现的,偶尔出现。组网时,有前面的驱动器产生错误帧往当前驱动器传递时会出现(如果前面的驱动器不产生错误帧,就不会复现该问题),单台驱动器无法复现该问题。我有几张wireshark的截图如下,如需要看完整wireshark报文,我可以发送至您提供的邮箱。
你能发送完整的wireshark吗?你也可以用L7EC设备隔离并测试网络,也可以发送它的wiresshark。
PHYerror.rar这个wireshark报文是对应该问题首次上传的网络拓扑。“用L7EC设备隔离并测试网络”是什么意思?在之后,我们交换了L7ECS的位置,放在了其他中间位置,出现了一样的现象,0x300异常计数。