ZHCADI8 December 2023 DP83822H , DP83822HF , DP83822I , DP83822IF , DP83826I
提供了多个环回测试选项,可用于测试和验证 PHY 中的各种功能块。通过启用环回模式,您可以使用 xMII/PCS/Digital/AFE 环回检查 MAC 与 PHY 之间的连接,以及使用反向环回检查 PHY 与 MDI 之间的连接。
建议使用模拟环回来检查 MAC 和 PHY 之间的完整数据路径,而反向环回与链路伙伴一起使用以验证 PHY 和 MDI(链路伙伴)之间的数据路径。
该器件还包含内部 PRBS 内置自检 (BIST) 电路,可适应电路内测试或诊断。可以使用各种环回模式执行 BIST,以通过生成包含可变内容的封包化数据来隔离数据路径特定部分的任何问题。提供了脚本来启用数据生成器/校验器以及各种环回模式。
通过 MAC 发送和接收数据包:
如果可以使用 MAC 生成和检查数据包,并且 PHY 有一个具有反向环回功能的工作链路伙伴,请按如下方式验证完整数据路径:
如果 MAC 接收到相同的测试数据包而未出现问题,则通过 MAC → PHY → 链路伙伴 (MDI) 的完整数据路径是有效的。如果此测试未通过,则执行模拟环回以隔离数据路径上的问题(在运行模拟环回之前断开电缆侧连接):
如果 MAC 接收到相同的测试数据包,则通过 MAC → PHY 的数据路径有效,并且问题已与 MDI 数据路径隔离。如果此测试未通过,则问题可能出在 MAC 接口上。要检查 MAC 接口,请参阅调试 MAC 接口。
下面是执行模拟环回的寄存器读取和写入的示例序列:
// 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
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
//after running this test check register 0010 bit 0 should be 1
end
通过 BIST 发送和接收数据包:
如果无法通过 MAC 生成和检查数据包,请使用外部数据包生成器或内部 PRBS 数据包生成和检查功能来验证数据路径。使用 PRBS 和正常工作的链路伙伴执行反向环回,如下所示:
如果寄存器 0x17[11] 为高电平,则通过 PHY → MDI 的数据路径有效。如果此测试未通过,则问题可能出在 PHY 的内部数据路径或 MDI 上。要验证内部数据路径,请使用以下脚本执行带有模拟环回的 PRBS。如果内部数据路径有效,则问题将与 MDI 隔离(假设链路伙伴正常工作)。
以下是使用两个 DP83822 PHY 时,为执行 BIST 而进行的寄存器读取和写入的示例序列:
// Reverse Loopback on PHY
begin
001F 8000 //Hard Reset
0000 2100 //Disables Auto-Neg, Selects 100 Mbps
0016 5000 //Enables PRBS packet generation
0017 // check PRBS lock status
end
// Reverse Loopback on Link Partner
begin
001F 8000 //Hard Reset
0000 2100 //Disables Auto-Neg, Selects 100 Mbps
0016 0110 //Select Reverse Loopback
end