SNLA389B October 2022 – April 2024 DP83TC812R-Q1 , DP83TC812S-Q1 , DP83TC813R-Q1 , DP83TC813S-Q1 , DP83TC814R-Q1 , DP83TC814S-Q1
SEQUENCE | DESCRIPTION | REGISTER READ/WRITE | |
---|---|---|---|
Step 1: For DP83TC81x as master | Force the link-down by writing register and enable link-partner to go silent. Wait for about 1 s after register write. In case of valid open and short cable faults, TDR still works fine without step 1. For good cable case, TDR register 0x001E may show Fail on bypassing this step. | Write Reg[0x1834] = 0x8001To make master go silent. | |
Step 1: For DP83TC81x as slave | Force the link-down by writing register and enable link-partner to go silent. Wait for about 1 s after register write. In case of valid open and short cable faults, TDR still works fine without step 1. For good cable case, TDR register 0x001E may show Fail on bypassing this step. | If DP83TC81x is link partner, write reg[0x1834] = 0x8001 to make it silent. If other PHY is used, a different write may be required | |
Step 2 | TDR configuration: Pre-run | 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 | |
Step 3 | Start TDR | Reg[0x001E(15)] = 1 | |
Step 4 | Wait for 100 ms (should be sufficient for TDR to converge for maximum cable length) | ||
Step 5 | Read 0x001E[1:0] = [TDR done : TDR fail]. Value should be [1,0]. Fault type and locations are valid only if this correct value is read. Value other than [1,0] means that there is some noise on the line which is causing TDR to fail. | ||
Step 6 | Fault type and location is read. | Read Reg 0x0310 for fault status and fault type. For fault types: TDR_TC-1 Reg 0x0310[8] = half_open_detect | |
0b | Half wire open not detected | ||
1b | Half wire open detected | ||
TDR_TC-1 Reg 0x0310[7] = peak_detect | |||
0b | Fault not detected | ||
1b | Fault detected | ||
TDR_TC-1 Reg 0x0310[6] = peak_sign | |||
0b | short | ||
1b | open | ||
**peak_sign only valid if Fault detected in cable If a valid fault detected: register 0x0310[5:0] = is the fault location in meters. |