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.

[参考译文] DP83822HF:Rx 输出的值始终与其他 Phy 或在 Pcs 环回中的值相同

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1323837/dp83822hf-rx-output-have-always-same-value-from-other-phy-or-in-pcs-loopback

器件型号:DP83822HF

先生,  

我尝试进行通信两个 DP83822、但我在 Rx 引脚上始终接收到0x5。  

我尝试用 MII 进行回送、结果正常、我收到了我 发送的帧(第一张图片)。

但当我尝试使用 Pcs 环回时、Rx 引脚始终处于0x5值上、Tx_ER 在两个前半字节上为1。 (第二张图片)。 当我从其他 PHY 接收数据时、我具有相同的行为。  

我认为电脑不能编码或解码,但我不知道为什么。

我设置此配置:  

Disable_all_IRQ;
//Correct Strap pin config
//Disable FX, FPGA pin must sink current so strap not read correctly
ClearBit(this, CR2, FX_Enable_bit);
SetBit(this,BMCR,Speed_Selection_bit);
SetBit(this,BMCR,Autoneg_Enable_bit);
SetBit(this,BMCR,DuplexMode_bit);
SetBit(this, ANAR, Tx_100b_full_bit); //advertise 100Mbps
SetBit(this, ANAR, Tx_100b_half_bit); //advertise 100Mbps
ClearBit(this, ANAR, TXe_10b_full_bit);
ClearBit(this, ANAR, TXe_10b_half_bit);
//active rgmii
ClearBit(this, RCSR, RMII_Mode_bit);
SetBit(this, RCSR, RGMII_Mode_bit);
ClearBit(this, RCSR, RMII_Clock_bit);

ClearBit(this, LEDCR, LED_0_Polarity_bit);
//Enable auto mdi
SetBit(this, PHYCR, Enable_AutoMDI_bit);
ClearBit(this, PHYCR, Led_CFG_bit);
ClearBit(this, MLEDCR, MLED_Pol_bit);


SetBit(this, IOCTRL1, 0); //TODO refaire globale
ClearBit(this,IOCTRL1,1);
ClearBit(this,IOCTRL1,2);

ClearBit(this, EEECFG3,EEE_capabilites_bit);
ClearBit(this, EEE_ADV, Adv_EEE_100bps_bit); //clear energyefficient

ClearBit(this,RXCFG,WoL_Enbale_bit); //disable WoL

这里是 MII 环回的屏幕截图

在这里使用 pcs 环回

我使用 DP83xx811执行相同的操作、它运行正常。

我必须错过一些东西、并尝试许多配置。

您能给我一些建议尝试吗?

谢谢你。

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

    您好!

    您是否可以尝试另一个面向 MAC 的回送进行确认、如数字回送?

    在正常通信(无回送)中、您是否发现问题? 还是仅在启用 PCS 环回时?

    此致、

    格罗姆

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

    您好、Gerome、

    我尝试了数字回送。 这种行为是相同的。  

    我还尝试了来自另一个物理层的数据(具有相同配置的正常通信)、RX 上的行为是相同的。 连接已建立且自动协商完成。

    只有 MII 环回正常工作。

    真诚

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

    您好!

    因此、MII 环回可以正常工作、但通信、PCS 环回和数字环回会失败。 您能否浏览我们的 《DP83822故障排除指南》 以了解其他调试步骤? 如果这份文件证明没有成果,我们就可以继续进行对话。

    此致、

    格罗姆

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

    您好!  

    我已经浏览过这份文档。  

    MDI 信号似乎良好。

    时序限制良好、与 FPGA 居中对齐。

    我可以通过 MDIO 进行读取和写入、RESET_n 为高电平。

    我强制使用寄存器进行自举配置、并在之后执行软重启。

    我明天将再次尝试 BIST 模式(§2.7)并再次检查从§2.3注册,如果有任何时候我犯了一个错误那里.  但以前从未使用过。

    但 RBIAS 没有良好的电压、我具有0.96V 而不是2.7V。 电阻器具有良好值。 所有 VCC 引脚的电压为3.3V。

    此致

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

    您好!

    是否还可以采用反向环回方式使用 PHY、以确保信号链的 MDI 部分不会导致此问题? 由于 RX 引脚是 PHY 的输出、因此将从 MDI 获取。

    此外、您是否可以在器件未通电时在 RX 引脚上分别对照 GND 和 VCC 进行连续性测试? 我想检查是否存在由组装引起的意外短路。 这种行为是否仅存在于这两个电路板上? TI GaN 器件呢? 还是您创建的所有板?

    此致、

    格罗姆

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

    您好!  

    我尝试了不同的东西。  

    首先、我使用 PRBS 和模拟环回:没有错误、PRBS 发生器运行、 校验器锁定并"同步"、因此 PC 到 MDI 的路径似乎很好。

    其次、我在 Phy1上使用无回送的 PRBS、并且在 Phy2上添加反向回送、结果相同。 因此 MDI 似乎很好。  

    在这两种情况下、我在 RX 上有一些数据、但 RX_CTL 仍为1。 因此与 VDD 或 GND 之间没有短接。  

    对于存储器、借助 MII 环回、我取回在 TX 上发送的数据。 我想数据会锁存在内部、而不仅仅是有线到 RX。 TX 时钟和数据之间的保持时间为~9ns 且设置值为~10ns、大于规格值。

    所以我猜 MII 和 PCS 之间存在配置错误、但我无法找到什么。

    此致

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

    Stephane、您好!

    我当时正在和一位支持类似问题的同事交谈、他指出了这条线程。

    https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1298829/dp83822if-dp83822-phy-mii-internal-loopback-is-failing/4965122?tisearch=e2e-sitesearch&keymatch=dp83822%20loopback#4965122

    这样、我想重点讨论不带回送和 PRBS 的功能、因为我觉得这会使调试复杂化。 您之前已说明正常操作显示了该行为。 您是否检查了前面提到的连续性?

    有多少电路板受此影响?

    此致、

    格罗姆

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

    您好、Gerome、  

    没有与 contunity 有关的诗句,当我设置 MII 回送时,我有数据(见第一个帖子)。 我还要使用万用表进行检查。

    我尝试按照查询中的说明移动 RX Clk、它仍然不起作用。 此时 RX Clk 的相位并不重要、因为我使用示波器来探测信号、而不使用 FPGA 来探测信号。

    我尝试使用第二块板、结果相同。

    当我在正常操作中使用 PHY 时、RX_D 在通信阶段始终为0x5、前两个半字节上的 RX_CTL 出现如图所示的错误。

    粉色和"深"蓝色是发送器 PHY 的 TX_D1和 TX_CTL

    蓝色和黄色是 接收器 PHY 的 RX_D1和 RX_CTL

    与使用 PCS 环回的结果相同。 因此、我假设 PCS 编码或解码错误、

    扰频器已锁定

    您能否确认对于 RGMII、TX_EN 在时钟的上升沿被锁存、TX_ER 在时钟的下降沿?

    我将评估板连接到 PC 以太网端口、以查看会发生什么情况。 我在 RX_D0上看到数据、但在数据阶段 RX_CTL 为1、就像所有数据都错误一样。

    在故障排除指南中、反向回送恰好在 PCS 之后、但在数据表中、反向回送是在 MII 之后、哪一种是最好的?

    此致、

    施泰夫

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

    尊敬的 Stef:

    因此、您认为当链路伙伴(发送器 PHY)从 MAC (粉色)获取数据时、一切正常、但当它达到 DUT (蓝色)时、情况完全改变了。  

    我很好奇、是否数据损坏导致 PHY。 您能否发送您的原理图并对照我们的原理图检查清单进行检查? 如果您有寄存器访问、您是否还可以共享0x0-0x1F 以及0x421、0x41F、0x467、0x468的寄存器转储? 请注意、最后四个寄存器是扩展寄存器、因此 需要扩展寄存器访问。

    e2e.ti.com/.../0003.DP83822_5F00_Schematic_5F00_Design_5F00_Review_5F00_Checklist.xlsb

    此致、

    格罗姆

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

    您好、Gerome、

    请在此处查找原理图

    e2e.ti.com/.../schematique.pdf

    请注意、带有红色叉号的元件已拆除、NC 表示未连接。 J1直接连接到 FPGA。

    这里是寄存器转储、

    请注意、寄存器0x15将0更改为0x36C、而寄存器0x05相应地将0x4181更改为0x6181。

    两个 RJ45通过以太网电缆 Cat6连接。

    帧会在传输期间进行分析、还是我们可以发送伪(标头除外)?

    此致、  

    施泰夫  

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

    尊敬的 Stef:

    看一下寄存器转储、我对提供的数据有一些问题;

    -捆绑表示您设置了100Base-FX MDI 与 RGMII 操作。 然而、所示与此寄存器相关的寄存器表示 RGMII 和 RMII 均已连接。 通过查看原理图、我认为您使用 RGMII 连接到了 MAC、但我很好奇、为什么带有旁路 FIFO 的0x17上的 RMII ENABLE 位为高电平。

    -寄存器0x15表示 DUT 在 MDI 上接收到无效数据包;因此数据包在到达 PHY 之前已被破坏。 我希望更加深入地研究链路伙伴、甚至可能使用 PC 切换链路伙伴、以消除此变量。 如果 MDI 通道干净、则该寄存器应为0。

    -我无法检查磁性元件,但我想确保它们符合 PHY 的数据表规格。 请使用此 常见问题解答根据要求检查规范

    此致、

    格罗姆

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

    您好、Gerome、  

    -对于 FX 捆绑,我设置模式1 (FX_EN=0 , PHY_Add[0]=0 ),但 PHY 读取其他的东西,可能是 FPGA 引脚上有内部上拉,因为我不在这种情况下使用它。 因此我使用0xA[14]将 FX_EN 强制为0。

    -我绕过 RMII FIFO 尝试,因为我看到 FIFO 溢出. 但对于该位、0或1不会发生任何变化。  

    -我试图连接一台 PC 与 DUT 和我看到数据在 RX_D 上,但 RX_CTL 总是与数据一起在1 (上升和下降 RX 时钟)。

    -从一开始,链路伙伴就是板上的另一个 PHY,所以概念相同。

    -如果数据在 PHY 之前被破坏,我不知道为什么,当我在其他 PHY 上发送 PRBS 与反向 Loppback 时,没有错误。  我是不是犯错误了?

    -这里的磁性元件和 RJ45规格。 它与100Base-TX 标准兼容。

    e2e.ti.com/.../datasheet_5F00_j403_2D00_l_5F00_1699056699.pdf

    此致、  

    施泰夫

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

    尊敬的 Stef:

    关于捆绑和其他潜在的非相关配置、建议相应地对 PHY 进行捆绑、以避免其他用户可能忘记翻转的无法预见的寄存器切换;总的来说、这是最佳实践。

    磁性元件看起来不错;感谢您提供相关信息。  

    您是如何在 DUT 上启动环回的? 此外、在 LP 上、您是如何确定数据未损坏的? 由于数据将通过链路伙伴从 MAC 到达 DUT 并备份链路、这也会验证需要关注的相同 MAC 接口和 PCS 块。

    此致、

    格罗姆

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

    您好、Gerome、  

    请参阅随附的文件、了解我如何设置回送和结果。 这些是在 RGMII 模式下进行的。

    e2e.ti.com/.../Loopback-Explanation-and-results.pdf

    其次、

    我尝试了 MII 模式、它似乎在示波器信号中工作。 我有数据。

    我在 FPGA 中的时序限制方面存在问题、我需要事先解决才能确保这一点。

    所以该属性似乎来自 RGMII 模式配置。

    此致、  

    施泰夫

    PS:很抱歉英语不好

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

    尊敬的 Stef:

    很抱歉耽误你的时间。 我们是在一周的开始休假的。

    让我更深入地研究一下这些数据。 EOD 最晚可在星期四回复,但希望能在今天完成 EOD。

    不用担心英语=)。

    此致、

    格罗姆

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

    尊敬的 Stef:

    您能否尝试这两个实验来基于您的数据集进行构建? 请使用在终端情况下您会使用的所有默认配置、以防止之前实现的其他调试变量使问题复杂化。  

    1) 1) DUT 板处于外部环回中。 这是使用环回电缆、也可以通过切断以太网电缆并使引脚1和3、2和6、4和7以及5和8之间短路来实现。 这会将 TX 和 RX 对短接在一起、从而欺骗 PHY 与其自身进行链接。 让 DUT 的 MAC 发送数据、这将是对电路板 MII 和 MDI 稳健性的完整环回测试。 如果 MAC 指示无差错传输、则这表明问题可能是板间问题。

    2) DUT 以反向环回方式连接到 LP。 此情况下使用常规电缆进行 MDI、但 LP 在 MAC 发送数据而不是 PHY PRBS 时处于反向环回模式。 这也会测试 DUT 的整个信号链。

    此致、

    格罗姆

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

    您好、Gerome、

    很抱歉耽误你的时间、我在另一个项目上。  

    我将在下周执行您选择的测试。  

    但是、如果电路板上有问题、那么在以 MII 格式进行通信时(仅启用引脚3、Reg0x17[9]= 0和 Reg0x17[5]= 0)、为什么它可以工作?

    此致、

    施泰夫

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

    尊敬的 Stef:

    这是一个好问题。 我认为从 MII 切换到 RGMII 时有许多因素需要考虑、包括控制信号多路复用、不同的信号时序要求(设置/保持时间)等。 因此、执行我之前提到的实验来隔离 MAC 和电路板非常重要。

    如果 MII 正常运行、这是足够的解决方案吗?  

    此致、

    格罗姆

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

    您好、Gerome、  

    很抱歉耽误你的时间。  

    应用必须在 RGMII 中运行、但在此步骤中使用 MII 可以帮助我开发其他器件。  

    我在 RJ45连接器上做了一个短接、并且具有相同的行为。  

    对于设置和保持模式、器件引脚(中心对齐)上的数据和时钟之间的时间间隔~10ns。

    但我再次尝试了 MII 环回。

    我看到了与此相关的问题。 有时它可以正常工作、我在 RX 引脚上发回了数据、但并不总是如此。  

    因此、我给器件上电、写入寄存器、我有这三种信号、它交替(不断电或重写寄存器)。  

    第一幅图看起来频率不好,第二幅图没有,第三幅图很好。  

    我以原始格式发送5个帧、而这5个帧在 RX 上具有相同的行为。 我做出一个"中断"并 发送接下来的5个采样帧、这些帧在 RX 上具有与前5个帧不同的行为(但这5个帧具有相同的行为)。 在"中断"之间附加一些东西。

    帧内容是否重要或设备无关(等待帧大小或 CRC 或...)? 我的帧是定制的、除了标头外、不符合以太网标准。

    今天、我将测试我有时是否具有良好的通信、因为目前我仅在通信不良的情况下才会升起标志。 我会在 完成后通知您。

    此致、  

    施泰夫

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

    尊敬的 Stef:

    看上去的确很有希望使 RX 通信使用外部 MDI 环回。  

    当您指频率时、您指的是 TX_Dx 线吗? 对于 RGMII、RX 和 TX 时钟可以实现更好的信号指示。

    我想进一步了解您是如何进行 RX0切换的。 您声明了"我以 RAW 模式发送5个帧、这5个帧在 RX 上具有相同的行为。 我做出一个"中断"并 发送接下来的5个采样帧、这些帧在 RX 上具有与前5个帧不同的行为(但这5个帧具有相同的行为)。 所以在"休息"之间附加一些东西。 连续发送了5个帧、它们在 RX 上可以很好地进行通信。 然后您中断(我假设在数据包中)并发送另外5个帧、这些帧随后表现出签名行为。 那么、如果没有这个中断、通信就可以正常进行吗?

      由于器件针对与以太网兼容的帧进行了表征、因此帧内容可能会产生影响。 如果要强制所有数据都是符合以太网标准的数据、此行为是否仍会出现?

    此致、

    格罗姆

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

    您好、Gerome、  

    好消息我发现了我的错误。 我找到了以下信息: 在正常运行期间、CTL 必须在时钟的下降沿为1。   

    相关信息:上述差异行为源于使用 MII 环回时我没有禁用自动协商功能。  

    感谢您的帮助和倾听。  

    此致、  

    施泰夫

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

    尊敬的 Stef:

    很高兴听到一切都很好! 很乐意为您提供帮助!

    此致、

    格罗姆