ZHCAEL2 October   2024 AM3351 , AM3352 , AM3354 , AM3356 , AM3357 , AM3358 , AM3359 , AM4372 , AM4376 , AM4377 , AM4378 , AM4379 , AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442

 

  1.   1
  2.   摘要
  3.   商标
  4. 术语
  5. 先决条件
  6. 快速初始步骤
  7. 调试概述
  8. 网络驱动程序初始化过程
  9. 以太网 PHY 分析
  10. 以太网 MAC 统计信息分析
  11. 如何获取 IPv4 地址
  12. 跟踪数据包
  13. 10调试网络拓扑和技术
    1. 10.1 直接连接
    2. 10.2 静态 IP 地址
    3. 10.3 设置低比特率
    4. 10.4 连接交换机时的注意事项
  14. 11Linux® 实用程序汇总
  15. 12申请以太网支持的检查清单

以太网 PHY 分析

本节介绍一些基本的以太网 PHY 调试步骤,旨在确保 PHY 已初始化并正确运行。

要检查的第一个区域是以太网 PHY 的电源和时钟输出信号。如果可能,请查阅以太网 PHY 供应商的故障排除指南。例如,TI DP83869 以太网 PHY 的故障排除指南演示了如何对 DP83869 PHY 进行基本评估。

出于讨论目的,这里以 DP83869 故障排除指南 作为以太网 PHY 电压和时钟基本调试的示例。

以太网 PHY 上有一些外设引脚需要密切关注。参考故障排除指南的外设引脚检查 部分有这些引脚的具体说明。参考故障排除指南中还提供了更多详细信息。

  • 电源
    • 确认每个电压轨位于制造商以太网 PHY 数据表指定的容差范围内
  • 探测 XI 时钟
    • 输入时钟是 PHY 正常运行的必要条件
    • 确认信号存在且满足 PHY 的规格
  • 探测 RESET_N 信号
    • 确认 PHY 未保持在复位状态
  • 在初始化期间探测配置 (Strap) 引脚
    • PHY 通过这种方式查找配置
      • 示例:配置之一是 MDIO 总线上的 PHY 地址
    • 故障排除指南推荐了应遵循的特定调试技术
    • 另请参阅 TI E2E™ 常见问题解答:如何确认以太网 PHY 配置 (Strap)
  • 探测串行管理接口信号(MDC、MDIO)
    • 参考 PHY 数据表中的预期电阻容差和信号完整性要求
    • 如果可以通过 ethtool 实用程序(例如 ethtool eth0)访问 PHY 寄存器,则无需执行此步骤

如果已验证外设引脚正确并且 MDIO 总线正确发送信号,但是未与 PHY 进行通信,那么下一个调试步骤是检查 MDIO 驱动程序和所选的 PHY 驱动程序。节 5介绍了对 MDIO 驱动程序和通信的分析。在如何集成 Linux 驱动程序 应用手册的 dmesg | grep -i mdio 部分提供了一个额外的参考,其中介绍了一个 MDIO 交互示例。

处于 RGMII 模式时,请特别注意 MAC - PHY 接口。这里的关键调试元素是从 PHY 到 MAC 的 RX 时钟需要相对于 RX 数据延迟。如果该时序不正确,则会导致以太网帧的接收出现问题。诸如丢帧或 RX CRC 错误等错误将在 MAC 层被测量到。在 RGMII 接口模式下运行时,TI 基于 Arm® 的处理器 MAC 会自动对 TX 时钟施加相对于 TX 数据的 2ns 延迟。另一个注意事项是电路板布局布线以及时钟和数据线布线长度对于定义正确的时钟延迟至关重要。高速接口布局指南 应用手册提供了有关高速布局重要性的信息。

电路板 DTS 定义了由 PHY 驱动程序使用的 RX 时钟延迟信息。有关如何配置 RX 时钟延迟的示例,请参阅如何集成 Linux 驱动程序 应用手册。

以下代码片段是关于如何配置 RX 时钟延迟的 DTS 示例。

(Linux Source tree directory) arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi (a portion from this file)

#include <dt-bindings/net/ti-dp83867.h> <-- Has the macro defines used in the phy node

cpsw3g_phy0: ethernet-phy@0 {
bootph-all;
	reg = <0>;
	ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; <-- rx clock delay 
	ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
	ti,min-output-impedance;
};

此处所需的 RX 时钟延迟的示例参考了 DP83869 以太网 PHY 数据表,其中定义了必要的 RX 时钟延迟。

AM62x, AM64x, AM62Ax, AM62P RGMII 接收多路复用和时序图图 6-1 RGMII 接收多路复用和时序图

章节摘要:

如何验证以太网 PHY 是否在运行

  • 验证外设引脚是否按预期工作,以及是否在 PHY 数据表和 PHY 故障排除指南(如果存在)规定的容差范围内。
  • 确认 MDIO 驱动程序已初始化且没有错误,并且已在 Linux 控制台日志中识别出所有预期的 PHY。
  • 如果 PHY 接口为 RGMII,请检查 RX 时钟是否根据电路板布局布线延迟,并验证在电路板 DTS 文件中是否正确配置了 RX 时钟延迟。