主题中讨论的其他器件:TLK110
我们正在尝试在我们的设置中找到一些非常令人沮丧的行为的最底部。
我们通过10cm 长的 PCB 连接将 TM4C 连接到开关 IC (Microchip KSZ8795)。 我们最初使用电容耦合、但在这些问题开始发生后、已根据 TI 的推荐设计恢复为磁性元件。 布线 只有2个过孔、且布线均长度匹配。 Microchip 已验证我们的布线是否适合其开关 IC。
我们将固件基于 Tivaware 的 BL_EMAC 引导加载程序。 大约10次引导中的1次、交换机和 TM4C 之间的链路无法建立、引导加载程序会无限期阻塞。
链路两侧均配置为100Mbps 全双工 MDI-X、且自动协商被禁用。
当链路无法建立时、EMAC 状态寄存器为:
EPHYBMSR (0x7849):
支持100FD
支持100 HD
支持10-FD
支持10 HD
前导码 抑制 功能
支持自协商
无 链接
启用扩展 寄存器 集
EPHYBMCR (0x2100):
100Mbps
自协商被禁用
全双工
EPHYSTS (0x0004):
已 交换 MDI
全双工
100Mbps
无链接
但是、开关 IC 认为我们确实有一个链路(100mpbs 全双工、MDI 交换)、并使用"RxSymbolError"报告每秒大约1-3个数据包、数据表中将其描述为"具有无效数据符号和合法前导码、数据包大小的 Rx 数据包"。
强制链路两端达到10Mbps 会略微提高可靠性、强制使用半双工100Mbps 也是如此。
我们已经尝试应用勘误表中指定的修复程序来在以太网初始化期间禁用闪存预取、但没有改进。
我们想知道是否有任何其他故障排除步骤或不常见的勘误表可以帮助我们确定问题。 如果 TM4C 有任何寄存器用于指示几乎已建立链路、或与信号质量有关的任何内容。
我们将以太网线路放置在示波器上、它们看起来很好、在3.3V 差分时有来自 TM4C 的清晰数据流、而从开关返回的大约2V 差分 RX。