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.

[参考译文] DP83867IS:定制 SMDC 板上的 DP83867 PHY SGMII 配置问题

Guru**** 2478765 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1447242/dp83867is-issue-with-dp83867-phy-sgmii-configuration-on-custom-smdc-board

器件型号:DP83867IS

工具与软件:

您好!

我正在使用的定制电路板上 Zynq UltraScale+ MPSoC DP83867 Phy 以太网通信的驱动程序 SGMII 模式 . 不过、我会遇到无法正确检测 PHY 以及未建立以太网链路的问题。 以下是我的设置、观察和故障排除步骤的详细信息:

设置详细信息

  1. 以太网 PHY :德州仪器(TI) DP83867配置为 SGMII 模式。
  2. 处理器 : Zynq UltraScale+ MPSoC。

    软件详细信息

    1. 驱动程序 :在 Linux 内核(PetaLinux 环境)中启用了 TI DP83867 PHY 驱动程序。
    2. 设备树配置:   &gem0{
      状态="正常";
      PHY 模式="SGMII";
      PHY-Handle =<&phy0>;
      MDIO{
      phy0:Ethernet-phy@2{
      兼容="ti、dp83867";
      reg =<2>;// PHY 地址
      };
      };
      };
  1. Linux 内核版本 : PetaLinux 2020.1.

观察结果

  1. PHY 检测

    • dmesg显示了被检测为"通用 PHY"而不是 TI DP83867的 PHY
    • 无以太网链路 :Usingethtool、链接状态报告为"关闭"

    • Ping 失败 :以太网接口不响应ping请求,也不接收数据包  

      已采取的故障排除步骤

      1. 已验证硬件搭接配置。
      2. 已确认在内核配置中已启用 DP83867驱动程序。
      3. 已验证设备树配置是否与硬件配置(strap)设置匹配
      e2e.ti.com/.../SMDC_5F00_08032024.pdf
    • 我有 atte2e.ti.com/.../SMDC_5F00_TEST_5F00_JIG.pdfached我的原理图和测试 baord pdf 文件.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    从无法加载 PHY 特定的驱动程序这一事实来看、PHY 似乎实际上并未被识别。 您能否确认以下事项以排除某些可能的原因?

    您是否能够访问 PHY 的存储器寄存器? 这可以通过尝试读取寄存器0x02/0x03来检查、该寄存器构成 PHY 的唯一标识符、不能为0x0000或0xFFFF。 如果您可以读取这些寄存器、那么存储器访问应该没问题

    PHY 是否在电源引脚处获得适当的电压? 注意:进行这些测量时、应尽可能靠近 PHY 引脚进行探测

    此致!

    Vivaan

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

    Vivado 配置
    在 Vivado 中配置了 Zynq UltraScale+ MPSoC、重点介绍以下内容:采用 I/O GT 通道0的已启用 GEM 0、通过 SGMII 接口实现以太网功能。
    验证了 PS (处理系统)配置、确保必要的 GT 通道参考频率均使用 refclk0 (输入频率为125Mhz)进行初始化。   
    集成了所需外设、包括 GPIO、UART 和 DDR4存储器。
    生成了位流、并将硬件设计导出为 XSA 文件以进行 PetaLinux 集成。

     PetaLinux 项目设置
    使用导出的硬件描述文件(XSA)创建了一个 PetaLinux 项目  
    导入硬件配置并编译工程  

    测试和调试
    已引导系统并已使用 ifconfig 验证以太网配置。 但是、GEM 在网络接口中不可见。
    调试日志(dmesg)指示在引导过程中未正确初始化 GEM 接口。  
    我 看到的错误消息表明电路板无法检测到以太网接口的 PHY (物理层)。 eth0)具体来说、该消息 "Could not get PHY for eth0: addr -1" 表明系统未正确配置或识别 PHY 地址。
    • PC IP 地址 :192.168.1.100 (链路速度:1000 Mbps)
    • 板 IP 地址
      • eth0:192.168.1.101
      • 默认路线 :192.168.1.1

    能够成功地从 PC 对 SMDC 板执行 ping 操作、但无法从 SMDC 板对 PC 执行 ping 操作。 尝试从电路板 ping PC 时收到的错误消息是:  "目标主机无法访问。  
    ifconfig eth0 up
    ifconfig eth0 192.168.1.101 up  
    1. 此后、我预计能够从电路板上 ping PC (192.168.1.100)、但 ping 命令失败、且电路板无法连接到 PC。
    2. 在 PC 上、默认路由正确设置为192.168.1.1、链路速度为1000 Mbps。

    我正在处理带 SGMII 模式的引导以及带 Rx+-和 TX+-的 MPSoC  

    MPSoC TX 和 Rx 是否需要通用时钟?  

     对于进一步对此进行故障排除的任何建议或指导、我将不胜感激。 如果需要其他信息或日志、请告诉我、我将为您提供。  

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

    尊敬的 Litesh:

    我注意到原理图上的 MDIO 上拉电阻器为 DNP、这可能是该器件目前无法访问寄存器的原因、以及驱动器负载不正确的原因。 添加此 PU 电阻应有助于驱动器检测和寄存器访问

    虽然我能够从 PC 成功 ping 通 SMDC 板、但无法从 SMDC 板 ping 通 PC。 尝试从电路板 ping PC 时收到的错误消息是:  "目标主机无法访问。  [报价]

    您能否共享此工作案例的 ping 日志?

    MPSoC TX 和 Rx 是否需要通用时钟?  [报价]

    对于 SGMII、时钟通常内置到差分信号本身中、然后差分信号在接收器处分离、有时还可以使用额外的信号对使其成为承载通用625MHz 频率的6线 SGMII。 该设置是使用4线还是6线 SGMII?

    此致!

    Vivaan

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

    您好、Vivaan、  

    我已手动设置有线连接  

    我正在启动 eth0并分配 IP、如果我 ping 该 IP 是 ping、但我在有线设置中手动分配的 IP 不是 ping。  

    顺便说一下、我使用的是4线 SGMII  

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

    尊敬的 Litesh:  

    感谢您提供 Ping 日志。

    首先、我希望确保正确加载驱动程序。 您是否能够在 MDIO 线路上添加电阻器?

    这也有助于我们正确调试所需的存储器访问权限。  

    此致!

    Vivaan

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

    您好、Vivaan  

    为了解决这个问题、我进行了以下更改:

    1. 删除了 R429 :此电阻标记为 DNP (不放置) 0欧姆、导致 MDIO 线路开路。
    2. R431和 R432短接 :这些被短接以确保 MDIO 和 MDC 线路的正确路由和信号完整性。
    3. 使用的跳线 :我已使用跳线暂时将 MDIO 和 MDC 线路由到以太网引脚,以绕过潜在的 PCB 布局问题。

    尽管进行了这些更改、但我仍然无法使用 MDIO 命令检测 PHY。 PHY 不响应寄存器读取、并且驱动程序未正确加载。

    您能否建议我可以采取其他步骤来调试此问题或进行确认

    我已在 Vivado 2020.1中启用了 MDIO under gem 的功能  

    我无法仅看到以太网  

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

    尊敬的 Litesh:

    [报价 userid="633800" url="~/support/interface-group/interface/f/interface-forum/1447242/dp83867is-issue-with-dp83867-phy-sgmii-configuration-on-custom-smdc-board/5565835 #5565835"] 删除了 R429 :此电阻标记为 DNP (不放置)和0欧姆、导致 MDIO 线路上出现开路。

    我对此有点困惑。 原理图显示电阻器不是 DNP、而是放置的。 您是否移除了此电阻器? 如果是、这将断开 MDIO 线路与连接到 MPS1_ETH 网络的任何器件的连接。  

    [报价 userid="633800" url="~/support/interface-group/interface/f/interface-forum/1447242/dp83867is-issue-with-dp83867-phy-sgmii-configuration-on-custom-smdc-board/5565835 #5565835"] R431和 R432短接 :这些被短接,以确保 MDIO 和 MDC 线路的正确路由和信号完整性。[/报价]

    这使得器件能够连接到 MPS2_ETH 与 CPU。  

    即使在此配置中、MDIO 上的上拉电阻器仍是一项尚未满足的要求。 为了满足此要求并启用 MDIO 通信、还必须放置电阻器 R427。  

    我还需要 验证您尝试通过 MDIO 连接的 PHY 的 PHY 地址是否正确。 T

    我无法看到仅以太网版本 

    这可能是由于移除了电阻器 R429。

    此致!

    Vivaan

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

    您好、Vivaan、  

    基本而言、我们正在进行 mpsoc2方面的工作  

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

    您能告诉我将什么内容放入 system-user.dtsi 文件吗、我是指设备树片段  

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

    尊敬的 Litesh:  

    我认为您引用的文件是 SoC 的本机文件。 由于 SoC 不是 TI 器件、因此我无法为其配置参数提供帮助。  

    我们期待了解添加 PU 电阻器是否有助于 MDIO 访问 PHY

    此致!

    Vivaan