ZHCACH7 march 2023 DP83826E
提供了多个环回选项,可用于测试和验证 PHY 中的各种功能块。启用环回模式后,可以对数字和模拟数据路径进行电路内测试。通常,DP83826 可配置为任何一种近端环回模式,也可配置为远端(反向)环回模式。MII 环回是使用 BMCR(寄存器地址 0x0000)进行配置的。所有其他环回模式均通过 BISCR(寄存器地址 0x0016)启用。除非另有说明,否则所有速度 (10/100) 和所有 MAC 接口都支持环回模式。
该器件包含内部 PRBS 内置自检 (BIST) 电路,可适应电路内测试或诊断。BIST 电路可用于测试发送和接收数据路径的完整性。BIST 可使用各种环回模式来执行,以便隔离数据路径特定部分的任何问题。BIST 会生成包含可变内容和 IPG 的封包化数据。下图说明了每个环回模式可用于验证的各种数据路径:
模拟环回通常用于验证 PHY 的完整内部数据路径,而反向环回则用于与链路伙伴一起验证沿 MDI 的数据路径。
通过 MAC 发送和接收数据包:
如果可以使用 MAC 生成和检查数据包,并且 PHY 有一个具有反向环回功能的工作链路伙伴,请按如下方式验证完整数据路径:
如果 MAC 接收到相同的测试数据包而未出现问题,则通过 MAC → PHY → MDI 的完整数据路径是有效的。如果此测试未通过,则执行模拟环回以隔离数据路径上的问题:
如果 MAC 接收到相同的测试数据包,则通过 MAC → PHY 的数据路径有效,并且问题已与 MDI 数据路径隔离。如果此测试未通过,则问题可能出在 MAC 接口或内部数据路径上。要验证 MAC 接口,请参阅调试 MAC 接口。要验证内部数据路径,请使用以下脚本执行带有模拟环回的 PRBS。
通过 BIST 发送和接收数据包:
如果无法通过 MAC 生成和检查数据包,请使用 PRBS 数据包生成和检查功能来验证数据路径。使用 PRBS 和正常工作的链路伙伴执行反向环回,如下所示:
如果寄存器 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