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.

[参考译文] DP83826E:DP83826E

Guru**** 1999175 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1227639/dp83826e-dp83826e

器件型号:DP83826E

您好!

我们的此设计基于 DP83826ERHBT

硬件端:

原理图:

e2e.ti.com/.../Ethernet-_2D00_-DP83826E.pdf

布局:RMII 布线长度

我们  在 RMII 线路上有终端电阻器、  

如果我们有任何 布局问题,您能提供建议吗 ?

所有线路50欧姆控制阻抗

布线长度如上图所示   

软件方面:

我们在电路板上做了一些测试、

我们在 PHY 和 PC 之间进行了环回 ——在 负载测试下运行良好

我们在 MAC 到 PHY 之间执行了环回--我们丢失了数据包

我们在 将 DP83826连接到 Xilinx zc7000系列(7030)时遇到问题。

MAC 似乎并未捕获所有接收到的数据包(Rx 数据包)。

为了排除任何与电缆相关的问题、我已断开以太网电缆连接并将 PHY 置于数字环回模式(0x16=0x104)。

即使在这种配置下、仍然会发生数据丢失。 作为验证测试、我将 MAC 本身置于回路模式、然后测试仪成功识别所有数据。

 

就接收停止前发送的数据量而言、数据丢失的发生不遵循一致的模式。

它可能在一秒钟后发生、甚至在几分钟后发生。 在忽略任何传入数据几分钟后、它将再次开始接收、直到下一次接收中断。

 

有趣的是、我在以太网链路完全建立时观察到相同的行为。 MAC 接收几个数据包、然后在一段时间内暂停接收过程(同时仍在发送数据)、

并最终恢复接收。

 

我还使用10M 和半双工设置进行了环回测试、但结果保持一致。

 

我附上了 MII 寄存器供您参考。 但是、我不认为这是问题的根本原因、因为信道在大约60%的时间内正常工作。

我怀疑 MII 设置对这种行为负责。

此外、TI 提供的 Linux 驱动程序(u-boot、kernel)也存在问题

连接的寄存器转储  

e2e.ti.com/.../8lab_5F00_ti83826Registers.txt

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Meri:

    至于您的原理图和布局问题、我在下面附上了原理图和布局检查清单。 如果您有一些疑虑、请查看:

    e2e.ti.com/.../0882.DP83826_5F00_Schematic_5F00_Design_5F00_Review_5F00_Checklist.xlsxe2e.ti.com/.../8765.IndustrialPHY_5F00_Layout-Review-Checklist.xlsx

    关于您对数字回送封装丢失的担忧、我想问几个问题:

    • 您使用的是哪种 MAC 接口? (MII 或 RMII)
    • 对于数字环回、您是否配置了以下脚本?
    • 如果您的配置正确、您是否可以执行 MII 环回以查看仍会看到数据包丢失?

    --

    谢谢!

    林希尔曼

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Hillman:

    感谢您的 快速响应  

    我们做了您的建议 (MII 环回)-但我们得到了相同的 结果

    部分数据包丢失 -部分数据包正确 、部分数据包 损坏   

    还有其他想法吗?  

       如果  数据包损坏、如何设置引脚 RX_ERR 和 TX_ERR 作为错误指示的功能 ?

    提前感谢、

    迈尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Meir、

    MII/RMII 接口之间的布局布线好像有问题。  

    • 我可以问您是否在使用 RMII 接口?
    • 能否在布局上检查 MAC 接口的长度、长度匹配和阻抗匹配?
    • 您是否还可以在 CLK_OUT 引脚上检查 PHY 的时钟信号?
    • 您还可以探测并仔细检查 MII 接口、以查看它是否更符合 VOD、VID、VOH、VIH 规格

    --

    此致、

    林希尔曼

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好, 林希尔曼:

    • 我们的工作地点  MII、  基本模式    
    • 线路是50欧姆阻抗 控制线路、
    • 就像该图所显示的那样、

    PYH 到端接 电阻器   布线的长度  为70mil 至236mil

       2549mil 至2686mil 迹线的 MAC 长度端接

     CLK_OUT 上的 PHY  

    当有数据包广播时  、引脚31为"1"

    当有 数据包广播  引脚31为"0"

    Q: VOD、VID、VOH、VIH 规格

    RX_CLK

    TX_CLK

    端接电阻器上的探头

    TXD[0]:

     

    RxD[0]:

    有没有其他的建议,如何找出什么错误?

    非常感谢、

    迈尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好, 林希尔曼:

    • 我们的工作地点  MII、  基本模式    
    • 线路是50欧姆阻抗 控制线路、
    • 就像该图所显示的那样、

    PYH 到端接 电阻器   布线的长度  为70mil 至236mil

       2549mil 至2686mil 迹线的 MAC 长度端接

     CLK_OUT 上的 PHY  

    当有数据包广播时  、引脚31为"1"

    当有 数据包广播  引脚31为"0"

    Q: VOD、VID、VOH、VIH 规格

    RX_CLK

    TX_CLK

    端接电阻器上的探头

    TXD[0]:

     

    RxD[0]:

    有没有其他的建议,如何找出什么错误?

    非常感谢、

    迈尔

    你好,林希尔曼:

    对我们的问题是否有任何建议或解决方案?

     

    迈尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Meir、

    可以使用 IBIS 仿真对 MAC 接口进行验证。 然而奇怪的是、通信会在随机时间完全停止并恢复。 这让我觉得链接可能会掉下来。 您共享的寄存器转储是在通信良好还是通信不良期间? 您可以接受另一个寄存器转储、以便我们可以并排比较好与坏的情况吗? 请在寄存器转储中包含寄存器0x467和0x468、以便我们检查配置。

    此外、请以 pdf 格式分享完整的原理图。  

    谢谢。

    大卫

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

    测试场景:

    我们试图 同时 ping 和读取  PHY 寄存器--转储所有寄存器  

    在日志中、有所有寄存器的50个转储、  

    e2e.ti.com/.../1016.teraterm.log

    良好的 沟通  

     通信不良  

    日志中 (良好的通信 和不良的通信)

    寄存器0x467:0x87
    寄存器0x468:0x185

    原理图  

    e2e.ti.com/.../7635.Ethernet-_2D00_-DP83826E.pdf

    RMII 布线长度

    那么您是否可以查看这些布线长度。

    当 我们连接示波器探头以查看信号波形时出现的另一个问题 有时 它提高了 Ping 请求的统计信息  

    我们是否可以添加从 DP83826 到 RX_CLK TX_CLK 的延迟?

    也许我们有布局问题 -我们如何解决它的问题?

    非常感谢您的帮助。

    迈尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Meir、

    • 从0x467上的寄存器读取、我们可以看到您的 PHY 始终在 MII 模式下运行、因此它不是 PHY 侧的搭接问题。
    • 从布局长度匹配可以看出、TX_CLK 与 TX_D3和 TX_D2之间的差异大于100mil、可能会导致 MAC 接口中出现一些通信问题。
    • 您的 TX_CLK 和数据 似乎也失真。 我可以问一下、您在何处探测 RX 和 TX 的信号。 是靠近 PHY 还是靠近 MAC 侧?
    • 您在 MII 通信中接收到多少数据包丢失?
    • 对于 MII 通信、您是否具有牢固的接地隔离?
    • 通过寄存器读取和写入进行 MII 通信时没有任何延迟选项。 遗憾的是、更改布局可以改善 MAC 通信。
    • 我们提供了 MAC 接口的应用手册和布局检查清单。 希望能够帮助:

    e2e.ti.com/.../IndustrialPHY_5F00_Layout-Review-Checklist-_2800_1_2900_.xlsx

    --

    谢谢!

    林希尔曼

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好, 林希尔曼:

    • 终端靠近 PHY、我们在 PHY 侧进行探测。

    • 大多数时候、当我们探测 RX_CLK 时 、开始了一系列很好的 ping。

    有时探测 TX_CLK 还会改善 Ping (小于 RX_CLK)、但不会始终如一地持续改进。 (非常奇怪的行为..)

    • 我们执行了一些回送测试、  

    PHY 到 PC 在负载测试条件下运行良好  

    MAC --> PHY --> PC  工作良好

    从 PHY 到 MAC 似乎都存在问题、

    • 40%至70%的数据包丢失

    • MII 信号位于第 4层----我们 从第3  层和第5层得到实心接地,两侧都是闭合的。

    • 在这种情况下  、PCB 布局可以在线添加一些20pF 电容、以使 RX_CLK 和 TX_CLK 比 RXD[0..3] TXD[0..3]慢   吗?

    • 在 PCB 的下一个版本中 ,我们需要使 TX_CLK RX_CLK 的轨迹 比数据线 RXD[0..3]  TXD[0..3]的轨迹长   ?

    或者直接  用100mil 来匹配它们 (TX_CLK 和 RX_CLK  布线在该组中最长)

    • 附加了我们的布局审核

    请检查一下

    e2e.ti.com/.../SLVRBN4_5F00_DP83826_5F00_Schematic_5F00_Design_5F00_Review_5F00_Checklist_5F00_08062023.xlsx

    感谢您的帮助。

    迈尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Meir、

    • 您是否能够探测连接器侧附近的 RX_CLK 布线以查看是否存在像您在 TX_CLK 布线中探测到的失真?
    • 您还可以仔细检查以确保 RX 和 TX 过孔不靠近任何其他信号过孔吗?
    • 在您的原理图审阅中、您说过 Rbias 为10mV。 您是否已检查 Rbias 电阻器实际为6.49 Ω、容差为1%?

    --

    此致、

    林希尔曼