ZHCACH7 march   2023 DP83826E

 

  1. 1商标
  2. 2DP83826 应用概述
  3. 3排查应用问题
    1. 3.1 读取并检查寄存器值
    2. 3.2 原理图和布局检查清单
    3. 3.3 元件检查清单
    4. 3.4 外设引脚检查
      1. 3.4.1 电源
      2. 3.4.2 探测 XI 时钟
      3. 3.4.3 探测 RESET_N 信号
      4. 3.4.4 在初始化期间探测 Strap 配置引脚
      5. 3.4.5 探测串行管理接口信号(MDC、MDIO)
      6. 3.4.6 探测 MDI 信号
    5. 3.5 链路质量检查
    6. 3.6 具有各种环回模式的内置自检
    7. 3.7 调试 MAC 接口
    8. 3.8 工具和参考
      1. 3.8.1 DP83826 寄存器访问
      2. 3.8.2 扩展寄存器访问
      3. 3.8.3 应用手册参考
  4. 4结论
  5. 5修订历史记录

具有各种环回模式的内置自检

提供了多个环回选项,可用于测试和验证 PHY 中的各种功能块。启用环回模式后,可以对数字和模拟数据路径进行电路内测试。通常,DP83826 可配置为任何一种近端环回模式,也可配置为远端(反向)环回模式。MII 环回是使用 BMCR(寄存器地址 0x0000)进行配置的。所有其他环回模式均通过 BISCR(寄存器地址 0x0016)启用。除非另有说明,否则所有速度 (10/100) 和所有 MAC 接口都支持环回模式。

该器件包含内部 PRBS 内置自检 (BIST) 电路,可适应电路内测试或诊断。BIST 电路可用于测试发送和接收数据路径的完整性。BIST 可使用各种环回模式来执行,以便隔离数据路径特定部分的任何问题。BIST 会生成包含可变内容和 IPG 的封包化数据。下图说明了每个环回模式可用于验证的各种数据路径:

GUID-7D74AA51-7318-4DD8-8898-83C67C35FD57-low.gif图 3-5 方框图、环回模式
GUID-27E2FAB6-E2B1-4B34-B8AD-6AAADB5EBDF7-low.gif图 3-6 方框图、反向环回模式

模拟环回通常用于验证 PHY 的完整内部数据路径,而反向环回则用于与链路伙伴一起验证沿 MDI 的数据路径。

通过 MAC 发送和接收数据包:

如果可以使用 MAC 生成和检查数据包,并且 PHY 有一个具有反向环回功能的工作链路伙伴,请按如下方式验证完整数据路径:

  1. 为 PHY 供电并将其连接到 MAC 和一个正常工作的链路伙伴。
  2. 在链路伙伴上启用反向环回(对于 DP83826 链路伙伴,将 0x16 写入 0010)。
  3. 将测试数据包从 MAC 发送到 PHY。
  4. 验证 MAC 是否接收相同的测试数据包。

如果 MAC 接收到相同的测试数据包而未出现问题,则通过 MAC → PHY → MDI 的完整数据路径是有效的。如果此测试未通过,则执行模拟环回以隔离数据路径上的问题:

  1. 为 PHY 供电并将其连接到 MAC。
  2. 在 PHY 上启用模拟环回(将 0x16 写入 0008)。
  3. 将测试数据包从 MAC 发送到 PHY。
  4. 验证 MAC 是否接收相同的测试数据包。

如果 MAC 接收到相同的测试数据包,则通过 MAC → PHY 的数据路径有效,并且问题已与 MDI 数据路径隔离。如果此测试未通过,则问题可能出在 MAC 接口或内部数据路径上。要验证 MAC 接口,请参阅调试 MAC 接口。要验证内部数据路径,请使用以下脚本执行带有模拟环回的 PRBS。

通过 BIST 发送和接收数据包:

如果无法通过 MAC 生成和检查数据包,请使用 PRBS 数据包生成和检查功能来验证数据路径。使用 PRBS 和正常工作的链路伙伴执行反向环回,如下所示:

  1. 为 PHY 供电并将其连接到链路伙伴。
  2. 在 PHY 上启用 PRBS 数据包生成(将 0x16 写入 5000)。
  3. 在链路伙伴上启用反向环回(对于 DP83826 链路伙伴,将 0x16 写入 0020)。
  4. 等待至少一秒钟,然后检查 PHY 上的 PRBS 锁定状态(读取寄存器 0x17[11:10])。

如果寄存器 0x17[11] 为高电平,则通过 PHY → MDI 的数据路径有效。如果此测试未通过,则问题可能出在 PHY 的内部数据路径或 MDI 上。要验证内部数据路径,请使用以下脚本执行带有模拟环回的 PRBS。如果内部数据路径有效,则问题将与 MDI 隔离(假设链路伙伴正常工作)。

下面是寄存器读取和写入的示例序列,用于以 100Mbps 速率执行带有模拟环回的 BIST:

// Analog Loopback

begin

001F 8000 //Hard Reset
0000 2100 //Disables Auto-Neg, Selects 100 Mbps
0016 0108 //Select Analog Loopback
030B 3380 //This helps PRBS LOCK
001F 4000 //Soft Reset

0010	  // LSB '5' expected. 

0016 3108 //Enables PRBS Checker Config & Packet Generation Enable
	  //After you write '3108' the register should Read 3b04.(Bit 11 & 9 go high)
001B 807D //Lock Error Counter's Value
001B

end
//DP83826 Digital Loopback 100Mbps PRBS Packet Generator

begin

001F 8000 //Hard Reset
0000 2100 //Disable Auto Negotiation and Chooses 100 Mbps
0016 0104 //Enable Digital Loopback
0122 2000 
0123 2000 
0130 47FF 
001F 4000 //Soft Reset0010	  //Bit 0 = '1' confirms Link (No Link expected for 10 Mbps)
	  //Bit 1 = '0' confirms 100 Mbps Speed

0016 3104 //Enables PRBS Checker Config & Packet Generation Enable
	  //After you write '3104' the register should Read 3b04.(Bit 11 & 9 go high)
001B 807D //Lock Error Counter's Value
001B

end