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.

[参考译文] DP83867E:DP83867E:Xilinx Zynq MPSoC SGMII 模式、具有 TI DP83867 PHY 链路问题

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1357926/dp83867e-dp83867e-xilinx-zynq-mpsoc-sgmii-mode-with-ti-dp83867-phy-link-issue

器件型号:DP83867E

您好!

我们让  DP83867E SGMII EVM 通过 SGMII (6线)与 ultra96v2进行通信、 我们通过 MDIO 接口读取寄存器、但它无法对 PC 执行 ping 操作。  

SGMII CAN 无信号。  

如图1所示。 当前使用带 Linux 的 ultra96v2 PS Side A53 CPU、并且我们想使用带 TI DP83867E PHY (DP83867E EVM)连接的 SGMII 模式。   

 

现已确认以下情况:  

  1. Linux 引导检查:
    FPGA FSBL 加载器可以初始以太网 phy (以太网@ff0b0000)、macb 驱动链路高达100m

  2. 检查 MDIO/MDC 和 CLK 输出波形
    黄色:MDC、粉色:MDIO、绿色:DP83867E CLK 输出
  3. uboot MII 检查
    这是 MII 读取0-1f。 我不知道如何解决某些寄存器状态。

    A. BMSR bit2 alway 0,我怎么能解决?

    B. D3设置4000、但读取将为0000。 为什么可以设置 SGMII 6线模式?
    c. CFG4 (addr 31 ): 0002

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

    唐英年

    感谢您分享这些信息。 关于 SGMII 调试、我们在 DP83867故障排除指南中新增了一节内容。 您可以看一下以下部分吗?

    • 主要是在寻找寄存器0x0037。

    以下是故障排除指南新版本的文档:

    --

    此致、

    林希尔曼

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

    尊敬的 Hillman:

    感谢您的回复。

    我  按如下方式重新检查引导加载程序中的 phy init 代码:

    hareware reset
    mii write 0 d3 4000
    mii write 0  0 1140
    mii write 0 16f 10M_SGMII_RATE_ADAPT = 0
    mii write 0 31  Set SGMII autonegotiation timer to 11ms
    mii write 0 32  0

    我使用 uboot、MII 读取37是0000

    在读取寄存器31为0000之后、我使用 MII 写入寄存器31作为0x0060。  

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

    尊敬的 Chiehi:

    似乎主要问题发生在 SGMII 侧。 根据您的设置、您的 SGMII 通信似乎与 EVM 的长度不完全匹配。 我认为主要问题在于 EVM <-->变频器板<-->与 SoC 的连接。 SGMII 通信在长度匹配方面有非常严格的标准。 根据该观察结果、我们建议建立更好的 SGMII 通信连接。

    --

    此致、

    林希尔曼

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

    尊敬的 Hillman:

    我 在 引导加载程序中按如下方式修改 phy init 代码: (只需删除 MII 写入0 D3 4000)

    hareware reset
    
    mii write 0  0 1140
    mii write 0 16f 10M_SGMII_RATE_ADAPT = 0
    mii write 0 31  Set SGMII autonegotiation timer to 11ms
    mii write 0 32  0

    连接电路板效果好很多。 你能建议 SGMII legnth 吗?

    使用 MII 读取0-5、10-19、有一些与 snla246c 不同的寄存器比较、其他的是正确的。

    REG = 04 DATA = 01E1 ;(默认值:0061)

    REG = 0A DATA = 7800  ;(默认值: 3C00)

    reg =11 data = be02  ;(默认值:BF02)

    reg = 19 data = 4440  ;(默认值: 4444)

    MII 读数37为0000。 如果我尝试写入 D3 = 4000、然后再次读取寄存器0-5、9-19、则它们的值不正确。

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

    唐英年

    感谢您修改设置。

    从图中可以看出、 SGMII 通信之间似乎还有多个转换器。 客户是否可以在 PHY 两端附近探测 SGMII 信号? 我们需要在信号波形上确认、主要是寻找峰峰值电压。

    --

    此致、

    林希尔曼

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

    尊敬的 Lin:

    请记下您的回复。

    我更正了 FPGA SGMII 引脚排列、并 在 引导加载程序中恢复 phy init 代码、如下所示: (只需添加 MII 写入0 D3 4000)

     我的 phy init 代码中的6线 SGMII 初始化是否完整? 或者您能否提供6线 PHY 初始化的示例代码?

    hareware reset
    mii write 0 d3 4000
    mii write 0  0 1140
    mii write 0 16f 10M_SGMII_RATE_ADAPT = 0
    mii write 0 31  1071  (Set SGMII autoneg timer to 11ms)
    mii write 0 32  0

    对于连接,我发现此 参考 如下图所示。 因此我认为我的电缆应该没问题。

     

    目前、D3寄存器的值可以是4000、其他寄存器是正常的。 但0x37仍然为零、如下所示。

    并且所有 SGMII 引脚(SI/CO/SO)仍然没有信号。 但其中一些具有1~1.5V 电压。   

      

    如果我成功地将寄存器 D3设置为4000。 DP83867将为 FPGA 生成时钟(CoP/Con)、对吧?  还是 需要满足其他条件?

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

    唐英年

    我会回顾一下、并在稍后给您回复。

    --

    此致、

    林希尔曼

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

    唐英年

    只是想知道何时测量 SGMII Vpeak 到峰值。

    您是否通过 SOP 测量 SON 引脚? SIN 和 SIP 引脚? 我们预计输出电压约为2.2V SGMII。  

    如果可能、您能否在 SOP/SON 或 SIN/SIP 上提供眼图示波器捕获?

    --

    谢谢!

    林希尔曼

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

    尊敬的 Lin:

    感谢您的回复。

       如图所示、SOP/SON 上的20GSa/s 示波器捕获图所示、V PEAK 到峰值为500mV。

    我们目前将规格延迟确定为200ms。 但它仍然无法执行 Ping 操作。  

    复位后是否有一些 SGMII 信号可以检查?   

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

    您好!

    希尔曼是好的,并将在明天作出回应。

    此致、

    格罗姆

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

    唐英年

    500mV Vpp 对我来说似乎很小。 我看到 SGMII 信号有很多反射。  我可以问一下探测位置在哪里吗?

    我想问一下、第二幅图示波器捕获是什么? 是 MDIO/MDC 还是复位线路?

    --

    此致、

    林希尔曼

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

    尊敬的 Lin:

    我们重新检查 FPGA 引脚排列。 为 MDC/MDIO 提供1.8V 输出。

    由于 DP83867使用2.5 VDD、因此我们将首先尝试使用外部1.8V 电源。   

    之后、我们将反馈结果。

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

    唐英年

    我将等待您的反馈。

    --

    此致、

    林希尔曼

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

    尊敬的 Lin:

    我们对1.8V 电压和 5V 电源采用 FPGA (ultra96v2)。

    初始寄存器如下所示、0x37 still 0、  

    SGMII 仍然没有信号。 如果我按下图所示探测 FPGA SMA 连接器(SGMII 断开连接并连接 MDC/MDIO)。

    FPGA SGMII 引脚电压如下所示(仅峰峰值40mV)

    SIN 1.2V

    SIP 0

    CON 700mV

    COP 500mV

    SON 700mV

    SOP 500mV

       

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

    唐英年

    我觉得 SIN 和 SIP 直流偏移似乎不正确。  

    DP83867PHY 的输出应大约为 1V Vpp。 不知道是什么导致信号降级。 如果可能、您能否尝试将链路伙伴更改为 DP83867EVM、看看您是否看到了类似的观察结果?  我们要检查 SOP 和 SON 连接是否正常。

    --

    谢谢!

    林希尔曼

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

    尊敬的 Lin:

    重新检查 VDD 和连接

    紧随其后的 PHY 时钟

    FPGA 有1.2V 外部 nl、它会让 PHY 偏移1V。 发送到 FPGA 的 PHY 的 SGMII SGMII 信号是否正确?

      PHY SO 与 MAC 断开连接     PHY SO 连接与 MAC

                                               

    有 phy SI 信号。  

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

    尊敬的 Chiehi:

    我不确定我的理解是否与您的测量有误。 PHY 时钟(XI 引脚)应为25MHz 而不是625MHz。  

    关于 SGMII 测量、波形不太干净。 我可以问您是在哪里探测此测量的吗? 您在哪个位置探测了它?

    如果未连接到 MAC 以进行 SGMII 测量、在探测测量时是否具有100 Ω 端接电阻?

    --

    此致、

    林希尔曼