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.

DP83869EVM: RGMII Test - Connected a Pair of DP83869EVM boards back to back

Part Number: DP83869EVM
Other Parts Discussed in Thread: DP83869, , USB-2-MDIO, SK-AM62B-P1

Tool/software:

Hi,

I have two DP83869EVMs, and I have connected them together like this:

RX_CTRL -> TX_CTRL

TX_CTRL -> RX_CTRL

RX_D3 -> TX_D3

TX_D3 -> RX_D3

RX_D2 -> TX_D2

TX_D2 -> RX_D2

RX_D1 -> TX_D1

TX_D1 -> RX_D1

RX_D0 -> TX_D0

TX_D0 -> RX_D0

RX_CLK -> GTX_CLK

GTX_CLK-> RX_CLK

GND -> GND


So, EVM1 of DP83869 will be configured as Fiber-RGMII, and EVM2 will be configured as Copper-RGMII. I will connect both boards RGMII back-to-back. The following is how the setup looks:

PC<---> UMC-GA1F1T(Electrical to Fiber) <---> EVM1(Fiber-RGMII) <---> EVM2(RGMII-Copper) <---> Host(can be ping - 192.168.137.2)

Straps settings:


OP_Mode[2:0] = 000 - for RGMII-Copper operation

OP_Mode[2:0] = 001 - for RGMII-Fiber operation

Result:

Pinging 192.168.137.2 with 32 bytes of data:
Reply from 192.168.137.110: Destination host unreachable.
Reply from 192.168.137.110: Destination host unreachable.
Reply from 192.168.137.110: Destination host unreachable.
Reply from 192.168.137.110: Destination host unreachable.

Ping statistics for 192.168.137.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)

 

  • Hi,

    To make sure our EVMs are working correctly

    1. Are you seeing LED_0 lit on EVM2 (RGMII-Copper)? This would indicate the link between EVM2 and the Host is stable.

    2. Similarly, do you see LED_0 on EVM1 lit when connected to the PC via fiber? This would mean the fiber link is stable.

    3. If these are both lit, the next thing to check is the RGMII interface. Are you using jumper wires to connect the EVM RGMII pins together? If not can you show how these are connected?

    Best,

    Shane

  • Furthermore, can you check that the host does not have any firewall or similar network configuration that would prevent communication? If data is coming back it suggests the PHYs themselves are working.

    Best,

    Shane

  • - From EVM1 (F-RGMII) - LED0 glows constantly, and LED1&2 blinks; and EVM2(RGMII-Copper) - LED0&1 glow constantly and LED2 blinks.

    - Host - I'm using AM62b-P1 EVM board. I have connected directly to my PC and did ping test and It works well. I have even connected in below connection and did a ping test, it worked perfectly. (PC<---> UMC-GA1F1T(Electrical to Fiber) <---> EVM(Fiber-Copper) <---> Host(can be ping - 192.168.137.2)


  • Correct me if I'm missing something, but it sounds like the ping test is working correctly. From your test result, address 192.168.137.2 is responding.

    Is there an issue you're having with this configuration?

    Best,

    Shane

  • (PC<---> UMC-GA1F1T(Electrical to Fiber) <---> EVM(Fiber-Copper) <---> Host(can be ping - 192.168.137.2)
    In this connection, I was able to ping, but I want to use Fiber-RGMII mode. So I made this connection to test it - 

    PC<---> UMC-GA1F1T(Electrical to Fiber) <---> EVM1(Fiber-RGMII) <---> EVM2(RGMII-Copper) <---> Host(can be ping - 192.168.137.2)

    The DP83869EVM gave me these results:

    Pinging 192.168.137.2 with 32 bytes of data:
    Reply from 192.168.137.110: Destination host unreachable.
    Reply from 192.168.137.110: Destination host unreachable.
    Reply from 192.168.137.110: Destination host unreachable.
    Reply from 192.168.137.110: Destination host unreachable.

    Ping statistics for 192.168.137.2:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)

  • That result shows the sent packets were received back (0% packet loss for 192.168.137.2).

    Is the host device you are pinging 192.168.137.2 or 192.168.137.110?

    Best,

    Shane

  • I have connected the host board direct to my PC via ethernet cable, the below are the results, and the same result I got for this setup (PC<---> UMC-GA1F1T(Electrical to Fiber) <---> EVM(Fiber-Copper) <---> Host(can be ping - 192.168.137.2).

    Pinging 192.168.137.2 with 32 bytes of data:
    Reply from 192.168.137.2: bytes=32 time=1ms TTL=64
    Reply from 192.168.137.2: bytes=32 time=1ms TTL=64
    Reply from 192.168.137.2: bytes=32 time=1ms TTL=64
    Reply from 192.168.137.2: bytes=32 time=1ms TTL=64

    Ping statistics for 192.168.137.2:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 1ms, Average = 1ms


    On my PC the network is IPv4 is set to 192.168.137.110 and the host device is static IP - 192.168.137.2, so I can ping the host board easily as shown the results above.

  • 1. Can you try forcing the speed on both PHYs to 1000Base? I'm wondering whether the RGMII-Copper PHY is negotiating a lower speed and there is a data rate mis-match between the two.

    2. If that doesn't work you can try looping the RGMII data back through the RGMII-Copper PHY and see whether you receive packets back from the PC point of view. If this works it would validate the RGMII interface is working correctly:

    3. If neither of these suggestions work, you should measure the timings and signal quality on the RGMII interface for both PHYs. The soldered jumper wires could be adding signal reflections or trace length imbalances that are affecting data transmission between the two PHYs.

    Best,

    Shane

  • 1. Can you guide me with this? Currently, Pin 47 is set to Low (LED0 - Fiber Auto-negotiation ON). Do you want me to make the pin 47 high (LED0 - Fiber Force mode) for the EVM1 (Fiber-RGMII) board only? If yes, I did, and there was no luck.
    2. The setup was ready as per the above screenshot, but it didn't work. Do I need to change register and DPswitch positions to do a loopback test?

  • 1. Yes you should force the Fiber-RGMII PHY to 1000Mbps using the force fiber mode. At the same time, force the RGMII-Copper PHY to 1000Mbps by disabling auto negotiation and setting bits 6 and 13 to 1000Mbps mode in the BMCR register (0x0h)

    Do I need to change register and DPswitch positions to do a loopback test?

    2. Yes, to perform a RGMII loopback test you need to set but 14 in the BMCR register:

    You can enable this on the RGMII-Copper PHY and send data from your PC. Ideally, the data will pass from PC -> UMC...-> EVM1 -> EVM2 (RGMII loopback) -> EVM1 -> UMC... -> PC. If you see the same data coming back on the PC that you are sending out, then the RGMII interface should be functional.

    Best,

    Shane

  • Hey Shane,
    I am new to this. Correct me if I understand the datasheet incorrectly.

    1. To force Fiber-RGMII, I have set pin 47 high (LED_0 to 1); and for RGMII-Copper, should I set reg 1140 to 2h (0002)?
    2. Also, for loopback, shall I set EVM2 (RGMII-Copper) reg 1140 to 1h (0001)?

    I understood the physical setup for the loopback test- PC -> UMC...-> EVM1 -> EVM2 (RGMII loopback) -> EVM1 -> UMC... -> PC.

  • 1. Force fiber looks good, for the RGMII-Copper, set register 0x0000 to the value 0x0140. This will force the RGMII-Copper PHY into 1000Mbps mode.

    2. For loopback, you should set register 0x0000 to the value 0x4140. This is the same as the previous write, but with bit 14 set to enable MII loopback mode.

    Best,

    Shane

  • 1.
    EVM1 (fiber-RGMII): LED0 lit but LED1 is off.
    EVM2 (RGMII-Copper), LED0&1 both are off.
    But on both boards the LED2 (activity) is blinking synchronously.
    general observation, on EVM2, when the copper link is established generally, both lights on RJ45 connector turns on and blinks, but none of them are turned on.

    Board EVM2 (rgmii-copper): Initially, reg 0000 was 1140 and I have set it to 0140. After that, 0001 reg is 7949, 0010 reg is 5048, and 0011 reg is A802. (using the USB-2-MDIO tool)


    2. I had Python code that was sending 8 bits of data. I set up PC -> UMC...-> EVM1 -> EVM2 (RGMII loopback) -> EVM1 -> UMC... -> PC, and it worked!
    On EVM1(fiber-RGMII): LED0 is on, LED1&2 both blinks synchronously.
    On EVM2(RGMII-Copper): none of the LED is on. (I think
     loopback doesn’t establish an external link)

  • 1. Can you check that the host supports 1000Mbps ethernet? Since we're forcing EVM2 to 1000Mbps speeds, the connected link partner also needs to support this speed or a link will not be established.

    on EVM2, when the copper link is established generally, both lights on RJ45 connector turns on and blinks, but none of them are turned on.

    Do you ever see the link established in bit 2 of register 0x0001 on EVM2? From your observation (0x0001 = 7949) it sounds like the link is not established here. 

    2. Glad to hear the loopback test is working. Are you checking the received data for errors? If you're getting good data back on the PC, and can verify this is the same data that was sent from the PC, then the RGMII interface should be working correctly.

    Best,

    Shane

  • 1. I'm using host as SK-AM62B-P1 TI board. And the connection was good at 1000Mbps - (PC<---> UMC-GA1F1T(Electrical to Fiber) <---> EVM(Fiber-Copper) <---> Host(can be ping - 192.168.137.2 - with this setup I have tested and it works.

    If I put EVM2 into auto-negotiate rgmii-copper, then the reg 0001 = 796D, and I see Both led indication on the RJ45 connector blink, and LED0&1 are on and LED2 blinks, but after I change it to force mode by setting reg 0000 = 0140, the reg 0001 = 7949, and LED0&1 turn off, but LED2 still blinks synchronously with EVM1 LED2. And when this happens, the EVM1 board LED1, which was initially on, turns off as well.

    2. Yes, I have checked for the errors; there were 0.

  • If I put EVM2 into force rgmii-copper, then the reg 0001 = 796D

    1. How are you putting EVM2 into this mode? It sounds like the link is established when you do this (0x0001 = 796D).

    • Are you able to ping the host when using this mode?

    2. It sounds like the RGMII interface is working correctly. If you still cannot ping the host, we can try running a digital loopback test on EVM2. To do this, make the following writes:

    • Write 0x0140 to register 0x0000 // Force 1000mbps 
    • Write 0x0004 to register 0x0016 // enables Digital loopback

    Digital loopback would take the data stream deeper into the PHY before looping back towards the RGMII interface. The MII loopback we did earlier is a relatively shallow loopback that doesn't go into the PCS or processing blocks of the PHY.

    If the digital loopback is a success, it suggests the issue is in the connection between EVM2 and the host device used.

    Best,

    Shane

  • 1. I had a typo - this is what I mean:
    "If I put EVM2 into auto-negotiate rgmii-copper, then the reg 0001 = 796D, and I see Both led indication on the RJ45 connector blink, and LED0&1 are on and LED2 blinks, but after I change it to force mode by setting reg 0000 = 0140, the reg 0001 = 7949, and LED0&1 turn off, but LED2 still blinks synchronously with EVM1 LED2. And when this happens, the EVM1 board LED1, which was initially on, turns off as well."

    Register 0001 is: 796D
    Register 0000 is: 0140
    Register 0001 is: 7949
    Register 0010 is: 5048
    Register 0011 is: BB02

    2. Digital loopback failed, and I have also tested with the old MII loopback loop again, "set register 0x0000 to the value 0x4140" also failed.

    EVM1(Fiber-RGMII): Only LED0 turned on, and whenever I send data packets for a loopback test, LED1&2 blinks only at that moment.
    EVM2(RGMII-Cu): None of the LEDs turn on under any conditions.

    Register 0001 is: 7949
    Register 0000 is: 4140
    Register 0001 is: 7949
    Register 0010 is: 5048
    Register 0011 is: B802


    Can you send me the values for the specific register to set it to 100 Mbps? I will attempt to perform both cases.

  • Can you send me the values for the specific register to set it to 100 Mbps? I will attempt to perform both cases.

    To force 100Mbps on EVM2, write 0x2100 to register 0x0000.

    For EVM1, force RGMII to 100Base-FX using the OPMODE straps shown:

    It seems like the 1G link is good when EVM2 uses auto negotiation. The digital loopback test failing is concerning, though the MII loopback is also failing now. This suggests an issue with the RGMII interface. Did something happen to the connection between the last MII loopback and this one?

    Best,

    Shane

  • Hi Shane,

    After setting both boards to 100 Mbps:
    EVM1 (Fiber-RGMII) - Made pin 36 High - OP_MD_[1] strapped
    None of the LEDs have turned on, not even LED0—tested on both auto and forced. I have re-checked the physical connections; there was nothing wrong; it's just that the board wasn't able to detect it.

    EVM2 (rgmii-cu): When set, only LED0 turned on.

    After performing the loopback test, nothing came back. It failed.

  • Its strange that EVM1 cannot establish a link. Are you certain the link partner supports 100Base-FX or does it only support 1000Base-X?

    EVM2 seems to link up ok based on LED_0 turning on.

    Best,

    Shane