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.

[参考译文] DP8.3869万HM:传输端不工作,但接收端工作正常

Guru**** 2455360 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1084921/dp83869hm-transmit-side-not-working-but-receive-side-is

部件号:DP8.3869万HM

我有一个带有DP8.3869万HM设备的自定义主板,配置为RGMII至铜缆模式。 我已连接到标准PC以太网端口进行测试。 MAC接收数据正常,MAC发送TX_Data,TX_CLK,TX_CTRL信号正常(基于我自己对o范围的解释),但当我在Wireshark中查看时,我看不到从该板收到的任何消息。

我一直将模式减慢至10 Mbps,并在PC上验证了这一点,读取MDIO寄存器设置以及查看RGMII时钟/数据信号速度。 当我查看TX_DATA行和TX_CLK时,它们的边缘对齐在340 ps内,所以我将RGMII_TX_CLK_Delay设置为1,我尝试了DLL_TX_DELAY_CTRL_SL的各种值,但仍然没有运气。

关于检查/尝试什么的任何建议?

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

    您好,Ross:

    感谢您与我们联系。

    请告诉我以下内容吗?

    1.  DP8.3867万上的RGMII配置模式是什么? 对齐模式还是移动/内部延迟模式?
    2. 请也检查MAC的相同情况 。
    3. 在对DLL_TX_Delay_CTRL_SL编程后,您是否能够观察到TX_DATA和TX_CLK之间的偏差差异?

    --
    此致,
    Gokul。

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

    您好,Gokul:

    1)这是DP8.3869万HM,而不是DP8.3867万。 我的RGMII_TX_CLK_DELAY等于1,表示"0x1 = RGMII发射时钟与传输数据对齐。" 我认为这句话的措词有点模糊:它是询问如何从MAC/PHY接收TX_DATA/TX_CLK,还是所需的内部操作应该是?

    2) 我观察  到PHY针脚本身使用o范围的TX_DATA和TX_CLK,它们的边缘对齐范围在340 ps内。

    3)我不确定您的意思。 MAC驱动TX_DATA和TX_CLK信号,因此我认为更改DLL_TX_DELAY_CTRL_SL只会在内部影响DP8.3869万HM (90度相移时钟),因此我不确定如何观察。 我的意思是:更改PHY中的寄存器设置不会改变MAC驱动这些信号的方式。 或者我误解了吗?

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

    您好,Ross:

    对不起,这是我的错误。我对TX_*信号和RX_*信号感到困惑。

    要调试这是MDI端还是MAC接口端的问题,可以在DP8.3869万HM上启用反向回送的情况下运行。
    在反向回送中,PHY接收的数据包将绕过MAC重新传输到链路伙伴。

    您可以通过编程reg<0x0016>= 0x0020来启用环回。

    --
    此致,
    Gokul。

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

    我找到了一个使通信开始工作的寄存器设置,但我不理解为什么:我清除了寄存器0x32的位1,该位设置为“RGMII传输时钟延迟”低,解释为:“0x0 = RGMII传输时钟相对于传输数据发生偏移。” 但是,电路板上的PCB迹线的长度相同。 当PCB迹线长度相同时,您能否提供有关如何设置此寄存器的指导?

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

    您好,Ross:

    我看到TX_CLK和TX_DATA (全部由MAC传输)已对齐。 要通过PHY从TX_*线路正确接收数据,必须生成内部延迟,以便可靠地进行数据采样,TX_CLK应通过延迟转移。

    编程0x32[1]= 0启用TX_CLK内部相对于TX_DATA的移位。
    完成此设置后,可以使用位'LL_TX_DELAY CTRL_SL'优化内部延迟。

    如果您需要更多详细信息,请告诉我。

    --
    此致,
    Gokul。

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

    谢谢Gokul,这确实解释了为什么它现在可以正常工作。 我的建议是更新数据表,以更清楚地表明将寄存器位设置为0将应用内部延迟。 “RGMII传输时钟相对于传输数据发生变化”的描述不明确,不清楚它是描述MAC的行为还是PHY的行为。  也许"0x0 = RGMII传输时钟将在内部相对于传输数据移动"更好。 此外,相反极性的描述毫无意义:"0x1 = RGMII发射时钟相对于发射数据对齐。" 因此,如果值0表示应用内部延迟,值1必须表示“不应用延迟”,如中所述,对于来自MAC或PCB跟踪的数据,时钟已延迟。 在这种情况下,来自MAC的时钟不与数据边缘对齐,因为在该模式下,不会添加内部延迟,因此内部时钟也不会与数据边缘对齐。 因此,如果传输时钟从未与传输数据对齐,则"传输时钟与传输数据对齐"的描述毫无意义。 此处的更好描述可能是"0x1 = RGMII传输时钟不会在内部相对于传输数据发生偏移",这将使其更加清晰。

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

    您好,Ross:

    同意您的反馈。 让我与我们的团队合作,将这些反馈考虑在内。

    如果还有其他疑问,请告诉我。

    --
    此致,
    Gokul。

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

    您好,Ross:

    如果还有其他疑问,请告诉我。 否则,您能否将查询标记为已解决?

    --
    此致,
    Gokul。