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.

DP83867IR: Link issue

Part Number: DP83867IR


I have a custom board with DP83867IR and second board with KSZ9896 switch. When I connect each of this boards to external router, both of them works fine. When I connect board with switch to evaluation board with DP83867IR everything also works fine (I can see LED0 of DP83867IR constantly glowing, so I have a link). But when I connect custom board with DP83867IR and board with switch together I can't  get a link: LED0 and LED1 blinks every 2 seconds.

Auto-negotiation enabled on both boards, what can be an issue?

  • registers values for 2 cases:

    case 1 - custom board with DP83867IR connected to external router (works fine);

    case 2 - custom board with DP83867IR connected to board with KSZ9896 switch (doesn't hava a link)

    Register case 1 case 2
    0x0000 0x1140 0x1140
    0x0001 0x796D 0x7969
  • Hi Sergey,

    Does the KSZ9896 switch work with external router?

    Please also go over this troubleshooting guide: www.ti.com/.../snla246a.pdf

    In order to confirm the board having expected configurations, can you dump all the registers to review? Note that register above 0x1F needs indirect register access as described in section 8.4.2.1 Extended Address Space Access.

    Regards,

    Hung Nguyen
  • > Does the KSZ9896 switch work with external router?

    Yes.

    >In order to confirm the board having expected configurations, can you dump all the registers to review? Note that register above 0x1F needs indirect register access as described in section 8.4.2.1 Extended Address Space Access.

    As far as I understand USB-2-MDIO works with extended adresses. There are the registers values:

    As I said before LED0 and LED1 blink every 2 second, so if I read register 0x0005 when LEDs are off value is 0x0000, but if I read register 0x0005 when LEDs are on value changes to 0xCDE1

  • Hi Sergey,

    Can you share the schematic of the PHY? I'd like to check the strap configurations. It looks like RX_DV pin is not strapped correctly to Mode 3.

    Regards,

    Hung Nguyen
  • Hi Hung Nguyen,

    I will add schematic later, but I can tell that RX_DV is strapped to mode 3, I have checked it with oscilloscope. I belive you can also get straps configuration from register 0x006E.

  • Hello Hung,

    Here is the schematic of the PHY.

    dp83867.pdf

  • Hi Hung,
    I have an update about my link problem. I tried to dissable EEE functions on DP83867IR and it link partner, but it did't help. When I disable auto-negotiation on DP83867IR link partner I can have stable connection 100Mbs. With unstable connection value of PHY Status Register (0x0011) constantly changes, it can be 0x0302, 0xB802, 0x1002, 0x1302, 0x0002, 0xBB02, 0xAB02, 0xBF02, 0xBC02.
    I have evaluation board ZCU102 with DP83867IR in 64-pin package, with it I don't have any issue. DP83867IR on my custom board is in 48-pin package, can it be the problem? I have access to registers of DP83867IR on ZCU102 but I don't see much difference in configuration registers with my custom board.
  • Hi Sergey,

    Can you set bit 7 of register 0x31 to 0? From the register dump you provided, RX_D3 pin is not strapped to Mode 3. Thus register 0x31, bit 7 needs to be cleared to 0.

    - write 0x1030 to register 0x31
    - write 0x4000 to register 0x1F (soft reset)

    Regards,

    Hung Nguyen
  • Hi Hung,

    >- write 0x1030 to register 0x31
    >- write 0x4000 to register 0x1F (soft reset)

    It didn't help.

    >From the register dump you provided, RX_D3 pin is not strapped to Mode 3.

    There is no strap function on RX_D3 pin, did you mean RX_DV/RX_CTRL pin? If so, which register tells you that it is not strapped to Mode 3? From register STRAP_STS1 (0x006E) you can see that bit 7 is 0, so Auto-Negotiation strapped to enable.

    When I put 0x0000 in Configuration Register 1 (0x0009), which means I stop advertising 1000BASE-T ability, I have a stable link on 100Mbps, I think it means that auto-negotiations works.

  • Hi Sergey,

    Thanks for trying it out. It's good to know that 100Base-TX works fine, but 1000Base-T.

    I looked into your schematic again and realized that you're using discreet TDK component for transformer, instead of magnetic transformer module. However, one missing critical component in your discreet design is common mode filter.

    TDK has a equivalent Magnetics Solution for 1000BASE-T using LAN Transformer: ALT4532M-201-T001 and Common Mode Filter: ACM2012E-900-2P-T00. Please follow this link for more details: product.tdk.com/.../alt4532-eva-01.pdf

    Regards,

    Hung Nguyen
  • Hi Hung,

    My ethernet lines are only 1cm long on the first board, through bord-to-board connector, and 2cm long on the second board. I thought I can ignore filters on such short lines. I think you gave reasonable explanation for my problem, but can I confirm it somehow? Maybe DP83867IR has register for signal integrity error counter or something like that?

    To confirm your explanation I removed transformers form the board and soldered wires from transformers footprints to external RJ45 (with magnetics). It didn't work, maybe because point-to-poin wiring without impedance and length matching not the best choise for 1000base ethernet.

  • Hi Sergey,

    Can you let me know how long is the cable you are using? It might work over short cable. Long cable would not work.

    Assuming your board has the RJ45 connector, please refer to this app note for checking the compliance on the device, especially in 1000Base-T: www.ti.com/.../snla239a.pdf

    Regards,

    Hung Nguyen
  • Hi Hung,

    Thank you for your help, I will try to add this transformers ALT4532-EVA-01 to my design. I hope it will solve my problem with 1000Base.

  • Do anyone have any ideas? What can I check next?