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.

[参考译文] DP83869HM:在基于 PHY 和 FPGA 的 MAC 之间发送数据包时,RMII 跳过数据包

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1069852/dp83869hm-rgmii-skipping-a-packet-when-sending-between-phy-and-fpga-based-mac

部件号:DP83869HM
线程中讨论的其他部件:DP83869测试DP83869EVM

我有一个 DP83869连接到具有 RGMII 的基于 FPGA 的 MAC,我正在使用 Ixia 在设备上发送 UPD 数据包,AM 信号点击 RGMII Rx 和 Ctrl 行。  如果我将其设置为在 RGMII Ctrl 行为0x01时触发,那么我将看到数据包应该位于的巨大间隙,但 MAC 不会接收到数据包。

 

第二个至下信号是 Rx_Ctrl 行,在有效数据包期间,信号为0x3。  底部信号是 Rx_data 行,在向右的巨大差距期间,数据包应该位于该行,但 PHY 不发送任何数据包,而且 Ctrl 行是0x1,这似乎不正确。   

我找不到任何有关 RGMII 标准的信息,因此我不知道这意味着什么,但显然有些事情是不对的。   

任何见解都值得赞赏,

雷蒙德

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

    雷蒙德您好,

    我正在与团队讨论这个问题。 我预计最迟将在星期五1-21-22前提供最新信息。

    顺祝商祺!

    杰罗姆

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

    雷蒙德您好,

    DP83869的 RR_CTRL 是一个位,因此我不确定它是如何被读取为多位数据 aline 的。 更多信息位于数据表的引脚部分和 RGMII 部分。 发生这种情况时,是否可以对 RX_CTRL,RX_D[3:0]和 RX_CLK 进行范围界定?

    顺祝商祺!

    杰罗姆

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

    RGMII 信号是双倍数据速率,因此我正在从 DDR GPIO 块中采样信号。  这将显示两个时钟周期的数据,并将 Ctrl 转换为2位字段。

    遗憾的是,捕获工具无法捕获时钟,因此无法对 RX_CLK 进行采样。  

    不确定这是否有帮助,但下面是更多的屏幕抓图: 放大的数据包很好  

    放大的错误数据包

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

    雷蒙德您好,  

    最新的 RGMII 规格可在此处查看:

    https://web.archive.org/web/20160303171328/http://www.hp.com/rnd/pdfs/RGMIIv2_0_final_hp.pdf

    为了能够进行调试,我需要以这种行为发送示波器图像,该行为在同一视图中具有 RX_CTRL,RX_D[3:0]和 RX_CLK。

    顺祝商祺!

    杰罗姆

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

    这是我在 RGMII 上唯一能找到的文档,但它没有提供有关 RX_D 在 RX_CTRL 为0x01时的含义的任何信息,只有我看到的值是保留的。

    可以理解,只要我能够物理访问设备,我就会尝试获取这方面的范围捕获

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

    经过一些讨论,我对为什么需要查看 RX_CLK 有一些疑问。  如果是 RX 时钟问题,那么为什么我们看到有效的数据包?  此外,通过在 Ixia 和 DUT 之间插入千兆位以太网交换机,此问题完全消失,这表明在自动协商期间 PHY 和 Ixia 之间不匹配。

    我们还没有一个示波器,其端口不足以一次监控6条 RGMII 线路,也不具备发生此错误的触发条件。  由于范围不是 DDR,因此需要使用第7个信号作为触发机制。  在信号分路器(用于捕获我共享的图像的 FPGA 工具)中,可以在 RGMII 数据线上放置触发器,以在0x01时触发。

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

    雷蒙德您好,

    该团队希望了解此问题的发生率以及不同类型的数据包的发生频率。  

    一些建议:

    如果您要增加 IPG,会发生什么情况? 这 会对事情有所帮助吗?

    如果被测设备处于主模式而不是从模式,而 Ixia 是从模式,会发生什么情况? 我们认为这可能与 RGMII 无关,而是时钟质量的差异,因为 DUT 和 Ixia 之间的转换解决了问题。  

    如果调整注册器0x53[3:0],会发生什么情况? DP83867中有一个设置可能适用于 DP83869中有关 IPG 的设置。  

    顺祝商祺!

    杰罗姆

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

    对延迟回复表示歉意,但我没有收到有关此事的通知。

    发送随机数据包时,这种情况最常发生。  以上捕获是以99%的线路速率(990Mbps)进行的100个数据包突发,在99到96个数据包之间的大部分时间内,捕获将通过,捕获将在第一个丢弃的数据包上设置。  被测设备仅为 UDP。

    14 过去,在没有交换机的情况下测试了 IPG,结果确实更好,但仅高达900mbps。  但是,此设备应正常丢弃低至 IPG 8的数据包。  这是在交换机到位的情况下进行的测试,方法是使线路速率超过100%,并观察一个内部计数器来计算拥塞下降。  计数器值和 Ixia 未收到的数据包数匹配。  在上述共享的捕获屏幕截图中,拥塞下降计数器为0。

    我已经尝试过 Ixia 和 DUT 之间的每一种主/从组合,丢包的情况略有改善,但这仍然是不可接受的。  我确实同意,PHY 和 Ixia 之间似乎存在脱节,它们似乎并不完全位于交换机修复的同一页上。

    我们还有一台使用 DP83867的设备 ,问题与此类似,并建议使用 Viterbi 寄存器作为可能的解决方案。  这一登记册使 Ixia 损失更好(但没有消除损失),但通过非 Ixia 测试,更改这一登记册使损失更严重。

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

    雷蒙德您好,  

    想要确认,您正在将自己的定制板与 FPGA 和 DP83869配合使用,对吗?  

    我们有一些关于正在发生的事情的理论。 您可以尝试以下实验:

    1)您能否检查注册器15以查看其在正常运行期间是否在增加?

    2)我们想隔离板的 MDI,看看该部分是否出现问题。 您是否可以尝试将 DP83869置于反向环回(注册号0x16[5:2]= 0x8)中,以便将其流量重定向到 Ixia?

    3)如果使用 您的定制板,是否可以将0ppm 时钟源提供给 PHY 外部,而不是使用晶体时钟源? 我们认为,晶体 ppm 对于 PHY 来说可能太高。

    4)此外,是否可以获得和使用 DP83869 EVM? 您可以在正常活动的两种情形中以及实验2调试中使用它。

    顺祝商祺!

    杰罗姆

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

    是的,这是一个定制板。

    1)当数据包丢失时,寄存器0x15保持在00000000。

    2)我可以尝试,但它似乎与下面描述的 EVM 回送测试类似。  这需要我创建一个单独的版本

    3)这项工作已经过尝试。  PHY 时钟有2个馈线,一个是晶体,另一个是 FPGA 上的 PLL。  可以添加和移除0欧姆电阻器,以便在2之间交换。  使用晶体或 PLL 时没有区别。  PLL 也驱动 RGMII 时钟。

    4)由于这是另一台设备上的问题,过去在 Ixia 的回送模式下对 DP83869 EVM 板进行了测试。  EVM 也出现了类似的损耗。  遗憾的是,使用 EVM 板替换板上现有 PHY 是不可行的。   

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

    雷蒙德您好,

    我会将这些信息传递给团队。

    顺祝商祺!

    杰罗姆

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

    雷蒙德您好,

    我不理解有关环回测试的担忧。 在 正常条件下以及使用 EVM 时,这种方法应该易于实施。 请您详细说明这将如何需要单独构建?  

    您还可以检查 CLKOUT 的频率吗? 我们预计25MHz 波形的最大变异为50ppm。  我们还希望您使用经过验证的外部时钟源来检查 XI 波形,而不是来自 PLL 的波形(而是使用波形发生器)。

    您之前说过,DUT 和 Ixia 之间的主/从配置导致了一些改进。 您能否分享哪种组合对最佳配置案例帮助最大,默认值是多少,以及您在中看到意外行为的频率级别?

    顺祝商祺!

    杰罗姆

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

    这是由于 PHY/MAC 寄存器的写入方式以及操作过程中无法访问这些寄存器的要求。

    过去,我们对该设备的 PHY 进行了深入研究。  直接从晶体/PLL 测量是不好的做法,因此所有读数都是从 CLKOUT 采集的。  该主板的 ppm 在规格+/-10ppm 范围内,同时带有直肠和 PLL。  我们还测量了 EVM 的 CLKOUT,并看到了+400ppm 的 ppm。  波形发生器的准确度将低于在 FPGA 上使用 PLL 驱动 PHY 的准确度。

    以下是在 PHY 回送模式下使用此设备和 EVM 运行的测试

    我们尝试了所有不同的主/从模式组合。  当 Ixia 设为主模式时,平均性能损失约为2%,损失约为1.2%。  Ixia 默认为从属设备。 一旦在 Ixia 和 DUT 之间插入交换机,所有数据包丢失问题都会再次消失。

    我们也就这个问题与 Ixia 联系过,但尚未得出任何结论。

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

    雷蒙德您好,

    根据当前共享的数据,我们无法找到与规格的任何偏差。 是否可以共享原理图以进一步调试?

    此外,借助您共享的数据集,您能否确认“TI 开发”是 DP83869EVM,而“DUT”是在定制板上的 DP83869?

    您能否确认插入交换机时,所有共享案例的损耗百分比为0%? 您使用的是哪条电缆,电缆的长度如何? 如果电缆和长度发生变化,问题是否会消失?

    我们正在研究进一步的内部调试方法。 请随时向我们发布与 Ixia 对话的结果。

    顺祝商祺!

    杰罗姆

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

    是否可以收到电子邮件将原理图发送到?

    没错。

    是的,交换机将在这些情况下完全解决损失问题。  我们已经尝试了~6英尺的5e 类和6类电缆,两者之间没有区别。  使用更长的电缆没有什么区别。

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

    雷蒙德您好,

    我可以在本论坛上发出个人信息请求。

    顺祝商祺!

    杰罗姆