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.

[参考译文] DP83822IF:MII 背对背介质转换器应用中的数据包丢失(~2%)

Guru**** 2533570 points
Other Parts Discussed in Thread: DP83822IF

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1279077/dp83822if-packet-loss-2-in-mii-back-to-back-media-converter-application

器件型号:DP83822IF

您好、TI 工程师!

我们有一个以太网卡设计、该设计使用 MII 中配置的2x DP83822IF、以从 PCIe MAC 实现 MDI 铜线到 MDI 光纤介质的转换。

MAC 和系统处理器无法访问 MDIO 寄存器、因此两个 DP83822 PHY 的配置完全通过硬件自举来完成。

我成功实现了@ 100Mbps 的重复链路、希望通过进行无限 ping 测试和监控数据包丢失来验证 MII 链路的稳定性。

每次,我得到大约2-3%的包丢失(在数千,有时是数千个 Ping 的 thens )。

我们的配置如下:  

铜缆 PHY

100BASE-TX 全双工、无 MDIX、无自动协商、MII 25MHz、禁用 SD

光纤 PHY

100BASE-FX 全双工、无 MDIX、无自动认证、MII 25MHz、支持 FX、 启用 SD

Copper PHY <-> Fiber PHY MII 介质转换器连接:
TXD[0..3]-> RXD[0..3]
RXD[0..3]<- TXD[0..3]
TX_CLK -> RX_CLK
RX_CLK <- TX_CLK
TX_EN -> RX_DV
RX_DV <- TX_EN

RX_ER、CRS 和 COL 不是两个 PHY 之间的共享连接。

两个 PHY 之间的25MHz 时钟是共享的、可以由一个 CMOS 振荡器对两个 PHY 进行馈送。 它符合 DP83822IF 最低要求的规格(25MHz、±25ppm)。

两种 PHY 的搭接如下、如前所述、工作正常、我们通过信号检测实现一致的链路建立和断开、Windows 中的网络适配器遵循 SD 的状态。

我的问题是、您是否知道我为什么会稳定地丢失2-3%的数据包?

我有第二种设计、它使用相同的 PCIe MAC 到 MDI 铜线、100k+ ping 中的数据包损耗为0%。 我很确定丢包是由于介质转换器造成的。

非常感谢您、您完全可以提供有关此主题的更多信息!

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

    尊敬的 Jean-Francois:

    我对 DP83822如何相互连接有点困惑、能否提供您的第1个和第2个设计的方框图、包括其链路伙伴?

    在某些情况下 、客户使用的电缆出现故障、导致数据包丢失。  您是否可以尝试切换电缆?  

    我还想缩小问题的范围、您能否首先尝试在设置中读取所有 PHY 上的寄存器0x15、看看它是否会随着时间增加?

    此致、

    梅利萨

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

    您好 Melissa:
    查看并附上了有关两个 PHY 如何连接在一起的原理图片段。

    我们无法访问此卡上的 MDIO 总线、因为它是硬接线的100Mbps 全双工介质转换器应用。 因此、我无法读取寄存器@地址0x15、但我猜测 RX_ER 计数器寄存器会是如此。

    我们的设置是:  

    PCIe MAC i210IT <-> PCB CU MDI <-> DP83822IF <-> MII <-> DP83822IF FX <-> PCB FX MDI <-> FX 收发器

    DP83822IF CU 配置如下:
    强制100Base-TX、强制全双工、无 MDIX、无自动协商、MII 25MHz

    DP83822IF FX 配置如下:
    强制100Base-FX、强制全双工、无 MDIX、无自动协商、MII 25MHz、 启用 SD_EN、启用 FX_EN

    DP83822IF 是否支持此配置(MII 介质转换器)? 我看到过这样的情况、TI PHY 只能在 RGMII 或 RMII 中在这样的配置下工作、而不能在 MII 中工作。  

    我的一位同事之前在 TI e2e 论坛上提出过这个问题、他们告诉我们说、是的、DP83822IF 可以使用背对背介质转换器、但如果 MII、RMII 或 RGMII 可以使用、则不进行更改。

    e2e.ti.com/.../dp83822if-question-concerning-media-dependant-interface-options-for-phy-dp83822if  

    谢谢、等待您对此事提出意见。 感谢您的快速反馈!

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

    尊敬的 Jean-Francois:

    感谢您提供设置。 此配置应适用于 MII。  

    无法访问寄存器会使调试过程更加困难、因为我们可以使用这些寄存器来验证某些功能。 如果您拥有 MSP430 EVM、并通过一些焊接/返工将其连接到 MDIO/MDC 线、则可以使用 MSP430EVM。

    此致、

    梅利萨

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

    尊敬的 Melissa:

    如前所述、是的、我试过各种光缆、从全新的光缆到其他场景中使用的现有光缆、不一而足。 这不会影响数据包丢失、数据包丢失保持在2-3%的范围内。

    在光纤收发器和现成的介质转换器之间、我们使用了标准的 ST 或 LC 电缆(我们的电路板上都有这两种型号)。 ST 或 LC 存在相同问题。 从介质转换器到链路伙伴的标准 RJ45电缆、用于发出 ping。

    我可以监控 RX_ER 线路、并查看在丢失一个数据包时它是否被切换。 我还可以验证另一个方向的 ping (从 PCIe MAC 到链路伙伴)是否产生相同数量的数据包丢失。 现在、我仅对链路伙伴到 PCIe MAC 的性能进行了测试。

    但是、如前所述、我实现了稳定的链路建立。 丢包是偶发的(有时、当突然丢失数据包时、可轻松发送200-300多个数据包)。 这不是由光纤功率导致的、因为信号检测输入是稳定的、并且在运行期间始终高于 VIH (min)阈值。

    我也可能会尝试返修电路板、将其设置为 具有50MHz 时钟的 RMII、以查看这是否可以解决问题。 我们之前的设计使用了来自另一个 vendo (现已停产)的 PHY、未出现问题、但正如前面所述、我在论坛上读到过、禁止使用带有其他 TI PHY 的介质转换器应用、最好使用 RMII 配置。

    如果您可以就该问题提供进一步的帮助、请告诉我、否则我将对原型进行额外测试、然后返回提供更多数据。

    此致、

    Jean-Francois Bilodeau, Eng.

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

    尊敬的 Jean Francois:

    对不起,我错了。  您可以将 PHY 的 MII 连接到另一个处理器的 MII 接口、但我不相信您可以执行如上所示的背对背配置。

    两个 TX_CLK 同时提供、这可能会导致2-3%的数据包丢失。

    我们建议改用 RMII 中继器模式。 您可以在此处阅读有关如何在 RMII 中继器模式下配置822的更多信息:

    https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1276229/faq-dp83822i-how-to-use-rmii-repeater-mode-in-dp83822?tisearch=e2e-sitesearch&keymatch=rmii#

    此致、

    梅尔西萨

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

    尊敬的 Melissa:

    感谢您的答复。

    快速提问、以便准备此测试:

    1)在这种情况下,RMII"主"是通过 MDI 连接到 MAC 的,或者连接到光纤收发器的( DP83822IF CU 是主 PHY , DP83822IF FX 是从 PHY )? 我假设主设备是 CU 物理层、

    2) 2)应该如何处理 RMII 的未使用引脚? (TX_CLK、RX_CLK、TXD2、TXD3、RXD2、 RXD3)? 是否将它们保持悬空?

    3) 3)主 PHY 将根据硬件搭接在 RXD3上自动输出50MHz 时钟、然后该时钟应连接到从 PHY 的 XI 输入、对吗?

    4) 4) XI 输入的搭接应如下所示、M 是主器件、S 是从器件、正确吗?

    谢谢、我会在收到您的重要反馈后立即尝试测试。

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

    此外、在该连接方案中、当 FX PHY 光纤断开连接时、远端故障是如何传播到 CU PHY 的? 由于 CU PHY 为 FX PHY 提供时钟、因此应采用什么机制来确保这两个时钟都保持同步?

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

    1) 1)只要 XI 和 CLK 连接正确、就没有关系。 您可以将一个822作为从器件、一个作为主器件、或者它们都可以作为从器件。 请参阅下图。

    2) 2)是的、您可以将它们保持悬空状态。

    3) 3)您可以进行此配置。 请参阅上图。

    4) 4)是。

    5)它们不同步。 请参阅以下常见问题解答: https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1272949/faq-dp83822if-fiber-link-status?tisearch=e2e-sitesearch&keymatch=DP83822# 

    此致、

    梅利萨

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

    您好 Melissa:

    首先、非常感谢您在这个问题上提供的宝贵帮助。
    我的问题已解决。

    使用具有在 PHY 之间共享50MHz 时钟的 RMII 中继器、由于 Ping 和计数超过10k、不再丢失数据包。