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.

DP83848YB-NOPB // the loopback of the PHY

Dear team,

My customer has the following issue, 

Could you please support me with this ? 

 

DP83848YB-NOPB description of the issue :

 

- Our application needs to apply an auto test, for this do a check on the Ethernet line using the loopback of the PHY (as described in the datasheet)

- Doing so, we observed for time to time that the PHY stays in loopback.

- We did some tries in order to understand this issue, here are the investigations we did :

 

 

 

1)      At first, we apply a RESET on the PHY (using the command). Applying a RESET  (set bit 15 of BMCR register at 1) to the PHY at the beginning increase the success rate.

2)      After the time T1 (waiting time between the RESET and write. This time is adjustable), we write the loopback command in the dedicated register (set bit14 of BMCR register at 1).

3)      Then, after time TS1 (time to write in the register, this time is not adjustable, we can only measure it), we read register status to make sure the order has been taken into account (bit 3 from PHYSTS register).

4)      After time T2 (waiting time between the read of the status and the loopback message. This time is adjustable), we check that the link is made on the Ethernet line by checking the value of the link status (bit0 from PHYSTS register). Then we send the loopback message.

5)      After checking that the loopback is fine, we make an ‘’un-looping’’ check (DEBOUCLAGE on the picture).

6)      We apply a RESET to the PHY. Same as 1)

7)      Same as 2), but this time we send an ‘’un-looping’’ order to the PHY.

8)      Same as 3)

9)      Same as 4) but we send a message on the line in normal mode : we check that the message is moving along the line.

 

By doing these tests we observed (with an occurrence of 1 out of  5000) that from time to time the PHY in loopback mode is not receiving the message sent by the FPGA.

In the same way, but less often, when we go to ‘’un-looping’’ mode we don’t receive the message sent on the output of the line. Like if we are still in loopback mode.

 

We tried with several timings for T1, TS1, T2, TS2, T3, without any effect.

We tried with several temperatures (-40°C, +25°C, +80°C), without any effect.

We also observed a strange behavior of the PHY : we need 2 read to get the correct value of the register. Usually 1 read should be enough.

  • Could you provide the ranges of times that were tried for T1, TS1, T2, TS2, T3?

    You note that you need two reads to get the correct value of the register. Is this for the BMCR register? What values do you see for the first and second reads? What is the time between the BMCR write and the subsequent BMCR reads in those cases?

    Note that a BMCR reset is not required in order to configure loopback mode. The loopback bit can be set and cleared independently.

    Patrick