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.3867万E:DP8.3867万 SGMII 1G以太网同步与Kintex XCKU040错误

Guru**** 2463330 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/633883/dp83867e-dp83867-sgmii-1g-ethernet-sync-wrong-with-kintex-xcku040

部件号:DP8.3867万E

你(们)好

我有XCKU040自定义板,带DP8.3867万,类似于KCU116,VCU116连接SGMII 6线。 (同步模式)

我将1g pcs/PMA IP核心连接到三模式以太网IP核心。但在一个过程中,我获得了/bc 4a 01 98 bc A2 01 98/,同步失败。

SGMII通过LVDS传输,

当我将以太网电缆连接到主板时 ,我得到/bc 4a 01 98 bc A2 01 98/, 当我拔下电缆  时,我得到/bc 4a 01 00 bc A2 01 00/

RX_CTRL被捆绑 到模式3。

我认为正确的顺序是/bc B5 xx xx bc 42 xx xx/。为什么此顺序错误?

非常感谢您的帮助。

bc.png

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

    感谢您使用TI论坛。 我们的产品专家将在周三之前回复您。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    我怀疑您在SGMII总线上存在定时或信号完整性问题,或者FPGA存在定时问题。

    请查看IEEE 802.3 - 2015第三部分,表36-1。

    您的/C1/第二个字节应该是21.5 (0xB5),在电线上是

    1010.101万

    但您会检测到10.2 (0x4a),它位于电线上

    1.0101万 0101.

    这些完全是位交换,我怀疑这是巧合。

    另一个字节有类似的症状。

    应为2.2 (0x42)
    1.0110101亿 010101.001万 0101

    检测:2.5 (0xa2)
    1.01101101亿 1011.001万 1010

    我还想看看您是否遇到了跑步差异错误。 如果您获得这些信息,那么您的问题更可能出现在总线上,但您可以通过在FPGA端玩均衡来解决问题。

    您是否使用示波器查看SGMII总线的眼图?

    另外,我会尝试终止单独的SGMII时钟,让PHY从数据中恢复时钟。 这就是我使用它的方式,我获得了成功的配置。

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

    您好,

    我同意Bob的评论。 序列应为/C1/C2/Configreg[7:0]/ConfigReg [15:8]。 根据01 98的解释:它指示无全双工,半双工已启用,PHY看到RF1故障。

    请验证链接的电气特征和Bob的建议。

    此致,

    很棒

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    感谢您的回复和完整的有用说明。
    我测试了高达13Gb GTX的主板轨迹,没有任何问题。
    我认为信号完整性没有问题。(16层板和100ohm差分路由)
    因为我使用LVDS,我无法在RX (FPGA侧)中分离SGMII时钟。

    问题可能在于数据定时,FPGA输入中的CLK (设置时间/保持时间)。
    如果正时存在问题,为什么总是重复正确的顺序。K 28.5 正确吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    DP8.3867万故障排除指南章节2.10 提供了故障排除步骤。 建议您逐步验证是否已注意到每个问题。 特别是差分对上匹配的网络终端。

    要进一步隔离问题,请尝试接口上的数字回送。 您可以通过强制双面打印两面来绕过自动退纸。

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

    除了Geet的建议外-

    您是否在SGMII总线上放置了差分探针,以实际查看导线上的内容?  您是否查看过眼图?  如果你没有,那么你真的应该。  

    顺便说一句,我们在此处发布了一些SGMII示波器跟踪: https://mindchasers.com/dev/hw-sgmii-review

    我之前打算写的是,您应该尝试让FPGA从数据中恢复时钟,这样它就不会使用您的差分时钟进行计时。  我认为,配置FPGA以避免使用单独的SGMII时钟是一个选项,但它需要内置CDR PLL才能实现。  

    祝您好运,

    Bob

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

    感谢您的指导。

    不幸的是,我的示波器不超过300 MHz。

    在这几天里,我检查了FPGA中的许多计时,放置和路由。 FPGA没有问题。

    FPGA代码 自动调整时钟相位,以采样正确的点。

    我在Xilinx站点上阅读了许多文章。请查看 以下文章:

    https://forums.xilinx.com/t5/Networking-and-Connectivity/TEMAC-autonegotiation-in-SGMII-mode/td-p/2.3672万

    https://forums.xilinx.com/t5/Networking-and-Connectivity/V5-Embedded-Emac-SGMII-Unknown-Output/td-p/5.7685万

    https://forums.xilinx.com/t5/Networking-and-Connectivity/vc707-SGMII-RJ45/td-p/39.4721万

     这些序列是K 28.5 ,B5,01,98,K 28.5 , 42,01,98 (如果已连接以太网电缆)和 K 28.5 ,B5,00,00,K 28.5 , 42,00,00 (如果未连接电缆)。

    除了第二个字节,一切都和我的情况一样,我的情况是B5改为4A, 42改为A2。

    为什么只有第二个字节是错误的?  我认为问题不在于时间安排。

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

    如果没有示波器和diff探测器,则需要依靠试验和错误,直到找出这个。

    正如我在第一次给你们的答复中所指出的那样,你们在线上收到的10个比特(8b/10b)与你们实际收到的非常接近。 这让我认为这是一个计时/信号完整性问题,我仍然怀疑这一点。 它可能是符号间干扰,其中以前的位干扰当前位。 请记住,K 28.5 包含一个逗号,接收方使用该逗号进行同步。

    如果FPGA支持对接收的数据进行均衡/过滤,那么我也会这样做。

    此外,还可以查看FPGA中可能干扰K代码(K 28.5)后接收字节时钟的逻辑和计时约束。

    但是,最后,如果这是您要发运的产品,您真的应该在SGMII/ SERDES线路上放置一个示波器,仔细查看信号的质量,并确保测试所有角箱(温度,电压, 等等)。

    希望这能有所帮助。 祝您好运,一旦您弄清楚问题的根源,请告诉我们。

    Bob