This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、Ralph、
当问题发生时、寄存器0x467和0x468中的自举寄存器读出了什么?
这些寄存器需要通过扩展寄存器访问进行访问、在 SMI 部分中提供了相关说明。
另请读取 ME 寄存器0x0 - 0x1F。
您好、Ross、
是的、我们已经知道寄存器0x467/8的间接寻址...
请查找随附的电子表格、其中包含对从多个 PHY 寄存器读出的内容的分析。 系统中有两个 PHY (MII1和 MII2)。 该问题发生在 MII2 (专用)上的多个目标模块上、因此我们首先假设它仅专用于 MII2、但链接问题也发生在 MII1上的另一个 DUT 上(可重现)。 测试在 Ta = 70°C 时完成
在电子表格中、您可以在测试因 MII1上的链接缺失而停止之前找到 MII1和 MII2寄存器的读数。 在链路丢失之前、使用所有寄存器转储解析日志文件不会显示任何差异。 这就是为什么我要问的主要问题、在所示的引导序列中、引脚搭接的锁存时间会在哪里?
这种影响的一个很好的解释是、由于没有定义的捆绑电平(PU/PD 和输入泄漏等)、偶尔会出现意外的引脚捆绑(错误的 PHY 地址、错误的 PHY 模式(FX_EN)、 但是、正如我先前所说的、在 PHY 寄存器读出中、我们无法证明这一点、以防到目前为止链路丢失。
目前、我们继续对模块进行测试、我们看到了对 MII2的影响、我们可能在这里看到了一些东西。 对于寄存器转储、我们在 PHY 复位释放后添加了一段等待时间、以确保自举引脚的锁存已完成、并且将建立链路(在良好情况下)。
在之前的寄存器转储中、链路状态寄存器位始终为0、在良好情况下也是如此。 因此、我们假设转储始终在建立链路之前完成。
今天是我暑假前的最后一天。 此 TT 邮件列表中的我的同事将跟进此问题。 我们必须尽快找到路线原因、因为这是阻碍我们当前产品发布的唯一未决问题。
此致
Ralph
e2e.ti.com/.../PHY-Register-Dump-Develop-CPU-ETH2-link-loss--second-test.xlsx
你(们)好。
拉尔夫现在正在度假、我负责解决这个问题。 我们在寄存器转储之前使用内部版本延迟来重新测试此问题、以确保在建立链路之前不读取寄存器。
到目前为止、这种情况仍然正常。 例如、我们可以在寄存器0x1中看到链路状态。
我分析了寄存器、但无法检测到根本原因。 自举符合预期。 我发现的一件事是、自动 MDIX 位发生了变化(寄存器0x10位14)。 但这已经改变了很多时间,也改变了“好”的初创企业。 我认为、由于两个使用 AutoMDIX 的连接伙伴、有时结果是不同的(但在两个伙伴上是相同的)、因此这应该是可以的。
寄存器转储显示自协商过程未完成。 但我不明白为什么。
此致、
尊敬的 Christian:
您再也看不到问题了吗?
您好、Ross、
我在评论、因为我在假期之前开始了这条线程...
我们与 TI 直接并行讨论该主题。 在链接问题的更详细的 phy 寄存器分析中、很明显、由于自动 MDI/MDIX 发生故障、因此缺少有关链接伙伴功能的信息。
TI 的建议是启用"稳健"的自动 MDIX 功能、以便在链路伙伴在切换之前花费过多时间时为自动 MDI/MDIX 留出更多时间来防止死锁。 启用此标志后、我们在测试期间不再看到链接问题。
由于我们发现温度相关性、因此存在一些未决问题。 TI 产品组为 我们等待的案例提供了详细说明。
但是、启用"稳健"的自动 MDIX 功能似乎可以解决我们的问题。
此致、谢谢
Ralph Schelling