This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DP83825I: TDR test issue and Conflict between the Datasheet Register Map and the Application note issue

Part Number: DP83825I

Hi Team,

I have been debugging this chip DP83825I for some time, and I have encountered some unsolvable problems so far.


When debugging the TDR feature of DP83825I, I mainly refer to its DATA SHEET and www.ti.com/.../snla330 Application note. snla330 This manual calls some registers that are not described in the DATA SHEET. The table between page 4 and 5 has a printing error, so I can't be sure if I'm passing the correct parameters into the registers.


The good thing is that the DP83825I's TDR function works fine in most cases, but when the cable length is between three and ten meters, the test results are very erratic and vary greatly from the cable length. The test results for cables in this range, according to the formula provided in SNLA330, are all calculated around 10 meters, and the Cable_Diagnostic_Test_Fil in register 0x1E
ail bits in register 0x1E show frequent test failures.

It is worth noting that the return value of the 0x1E register in this test failure case is different from the test case when testing longer lengths of cable (usually 0x102 when everything is fine), it returns 0x303 or 0x301.In the datasheet, these bits in the 0x1E register are marked as Reserved, What is the meaning of the registers marked as Reserved? There is a register in SNLA330 that is not mentioned in DATASHEET that is written (0x411), what is the meaning of these registers?


The following pseudo-code is the main flow of my program to communicate with DP83825I through MDIO interface and perform TDR test, hope to find out the problem. Are there any registers that need attention are missed.

Reset chip (WR 0X1F 0X8000)
Turn off auto-diagnostics (WR 0X0 0X2100)
De-enable MDIO auto-negotiation (WR 0X19 0X0)
Configure 0x456 register to 0x0608
Configure 0x411 register as 0x0813
Configure 0x416 register as 0x08A0
Configure 0x170 register as 0x5C12
Configure 0x173 register as 0x0D07
Configure 0x175 register as 0x1004
Configure 0x177 register as 0x1E00
Configure 0x178 register as 0x2
Configure the 0x1E register as 0x8000
Poll 0x1E register until timeout or test success or test failure
Read the 0x180 register
Read 0x185 register
Read 0x18A register
Calculate the cable length based on the value of the above registers, and test the next SEG if the peak does not occur

best wish.