SNLA389A December   2021  – May 2022 DP83TC812R-Q1 , DP83TC812S-Q1 , DP83TC813R-Q1 , DP83TC813S-Q1 , DP83TC814R-Q1 , DP83TC814S-Q1

 

  1.   Trademarks
  2. 1Introduction
  3. 2Hardware Configuration
    1. 2.1 Schematic
  4. 3Software Configuration
  5. 4Testing PMA
    1. 4.1 PMA Testing Procedure
  6. 5Testing IOP: Link-up and Link-down
    1. 5.1 IOP Testing Procedure
  7. 6Testing SQI
    1. 6.1 SQI Value Interpretation
  8. 7Testing TDR
    1. 7.1 TDR Testing Procedure
  9. 8Testing EMC and EMI
  10. 9Revision History

TDR Testing Procedure

Table 7-1 TDR Run Procedure
SEQUENCEDESCRIPTIONREGISTER 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.

Reg[0x1834] = 0xC001
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.

Reg[0x1834] = 0x8001
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[0x001F] = 0x4000

Reg[0x0523] = 0x0000 //Transmit enable

Reg[0x001F] = 0x0000

Step 3Start TDRReg[0x001E(15)] = 1
Step 4Wait 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 6Fault 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

0bHalf wire open not detected
1bHalf wire open detected
TDR_TC-1 Reg 0x0310[7] = peak_detect
0bFault not detected
1bFault 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.