388S该款芯片的产品在组网测试时,遇到了错误帧计数异常现象,描述如下:
在ECAT分路器之后的第一个从站(L7ECS,芯片388S)中,0x300寄存器存在错误计数;而后续的各个站点的0x300寄存器也都显示有计数值,但0x308寄存器却没有计数值。为什么在另一个分支之后的第一个0x300寄存器会有计数值,而后面的0x308寄存器才有计数值呢?


PHY是DP83822,在其手册里CR2(0xA)寄存器描述中,bit1默认为0,是开启奇数半字节检测的(未改其配置,均保持默认)。
默认设置不正确。
Beckhoff的应用说明:通过MII管理禁用奇数半字节检测,否则无法检测到转发的RX错误。
您需要将此位设置为1以禁用,在这种情况下,PHY将按原样将奇数半字节转发到ESC,而不会为字节对齐添加额外的半字节填充。