ZHCABM3B October 2022 – April 2024 DP83TC812R-Q1 , DP83TC812S-Q1 , DP83TC813R-Q1 , DP83TC813S-Q1 , DP83TC814R-Q1 , DP83TC814S-Q1
序列 | 说明 | 寄存器读取/写入 | |
---|---|---|---|
第 1 步: 将 DP83TC81x 用作主器件 | 通过写入寄存器强制断开链路,并使链路伙伴静默。寄存器写入后等待约 1 秒。 在有效的开路和短路电缆故障时,TDR 没有步骤 1 仍然能正常工作。 电缆状态良好时,如果绕过此步骤,TDR 寄存器 0x001E 可能显示 Fail。 | 写入 Reg[0x1834] = 0x8001使主器件静默。 | |
第 1 步: 将 DP83TC81x 用作从器件 | 通过写入寄存器强制断开链路,并使链路伙伴静默。寄存器写入后等待约 1 秒。 在有效的开路和短路电缆故障时,TDR 没有步骤 1 仍然能正常工作。 电缆状态良好时,如果绕过此步骤,TDR 寄存器 0x001E 可能显示 Fail。 | 如果 DP83TC81x 是链路伙伴,则写入 reg[0x1834] = 0x8001 以使其静默。如果使用其他 PHY,可能需要进行不同的写入 | |
步骤 2 | TDR 配置:运行前 | Reg[0x0523] = 0x0001 //Transmit disable Reg[0x0827] = 0x4800 Reg[0x0301] = 0x1701 Reg[0x0303] = 0x023D Reg[0x0305] = 0x0015 Reg[0x0306(4)] = 1 //Detect half wire open Reg[0x0831] = 0x0903 Reg[0x001F] = 0x4000 Reg[0x0523] = 0x0000 //Transmit enable Reg[0x001F] = 0x0000 | |
步骤 3 | 开始 TDR | Reg[0x001E(15)] = 1 | |
步骤 4 | 等待 100 ms(应该足以让 TDR 收敛以获得最大电缆长度) | ||
步骤 5 | 读取 0x001E[1:0] = [TDR done : TDR fail]。 值应当为 [1,0]。只有读取到正确值时,故障类型和位置才有效。 [1,0] 以外的值表示线路上有一些噪声导致 TDR 失败。 | ||
步骤 6 | 读取故障类型和位置。 | 读取寄存器 0x0310 以了解故障状态和故障类型。 对于故障类型: TDR_TC-1 Reg 0x0310[8] = half_open_detect | |
0b | 未检测到半线开路 | ||
1b | 检测到半线开路 | ||
TDR_TC-1 Reg 0x0310[7] = peak_detect | |||
0b | 未检测到故障 | ||
1b | 检测到故障 | ||
TDR_TC-1 Reg 0x0310[6] = peak_sign | |||
0b | 短路 | ||
1b | 开路 | ||
**只有在电缆中检测到故障时,peak_sign 才有效 如果检测到有效故障:寄存器 0x0310[5:0] = 以米为单位的故障位置。 |