ZHCZ033C December 2021 – May 2025 AM2732 , AM2732-Q1
MDIO:MDIO 接口损坏(CPSW 和 PRU-ICSS)
CPSW 和 PRU-ICSS 外设的所有实例(如果存在)的 MDIO 接口可能在 MDIO 读取时返回损坏的读取数据(例如返回过时数据或以前的数据)或在 MDIO 写入时发送错误的数据。MDIO 接口也可能在下次外设复位(通过 LPSC 或在 CPSW 的情况下禁用复位隔离时通过全局器件复位)之前不可用。
该问题在系统层面的表现可能包括 (1) 错误的以太网 PHY 链路断开状态 (2) 无法通过 MDIO 正确配置以太网 PHY (3) PHY 检测不正确(例如地址错误)(4) 尝试通过 MDIO 配置 PHY 时读取或写入超时。
对于启动模式(如果支持,仅限 CPSW),不存在确保主以太网启动成功的权变措施。如果在主启动期间发生该异常,启动可能发起重试,重试可能成功,也可能不成功。如果重试不成功,这将导致最终超时并转换到备用启动模式(如已选定)。如未选定备用启动模式,此类故障将导致超时并强制通过芯片看门狗进行器件复位,之后整个启动过程将再次重启。
要选择备用启动选项(如果支持),请在启动模式引脚上安装适当的拉电阻器。请参阅各特定器件选项的启动文档,通过以太网进行主启动尝试的典型超时为 60 秒。
在受影响的器件上,应使用以下权变措施:
MDIO 手动模式:适用于 PRU-ICSS 和 CPSW。
可以通过读取和写入 MDIO 外设 MDIO_MANUAL_IF_REG 寄存器中的相应位来模拟 MDIO 协议,直接操作 MDIO 时钟和数据引脚。有关手动模式寄存器位及其功能的完整详细信息参见 TRM。
在这种情况下,器件引脚多路复用应配置为允许 IO 由 CPSW 或 PRU-ICSS 外设控制(与正常预期运行相同),但必须确保 MDIO_CONTROL_REG 中的 MDIO_CONTROL_REG.ENABLE 位为 0 来禁用 MDIO 状态机,同时将 MDIO_POLL_REG.MANUALMODE 位设置为 1 来启用手动模式。
联系 TI 了解如何实施软件权变措施。
对于 PRU-ICSS,使用 MDIO 的 MLINK 功能通过 MIIx_RXLINK 输入引脚到 PRU-ICSS 自动轮询链路状态可以减少软件权变措施的负载,其中 PRU-ICSS 必须连接外部来自 PHY 且链路处于活动状态时不会切换的状态输出。根据外部 PHY 器件的指定行为,该 PHY 状态输出可能是 LED_LINK 或 LED_SPEED,也可能是 LED_LINK 和 LED_SPEED 的逻辑“或”。有关使用 MDIO 的 MLINK 功能的详细信息,请参阅 TRM 的 MDIO 部分。此功能在 CPSW 外设上不可用。
对于在 PRU-ICSS 上实施 EtherCAT,软件权变措施将在 RTUx/ TX_PRUx 核心中完成。核心必须专门针对权变措施,即无法用于其他目的。实施方案将支持通过两个用户访问通道访问 MDIO。这为 R5f 核心和 PRU 核心提供独立访问通道的选项。这些 API 将与我们在 RTOS 权变措施实施中的 API 类似。
EtherCAT 将继续通过链路状态的 MDIO MLINK 绕过状态 m/c(此路径不受勘误表影响)使用 PHY 快速链路检测。这样可以确保仍然满足电缆冗余相关延迟要求。
图 2-1 使用 PRU 核心通过手动模式进行 MDIO 模拟