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.

DP83640 External loopback test

Other Parts Discussed in Thread: DP83640

I am doing the BIST external loopback test in DP83640,

Initial value of BMCR,

DP83640_BMCR_REG=2100 (Full Duplex, 100Mbps)

Set the Auto neg
DP83640_BMCR_REG=3100

Enable BIST
DP83640_PHYCR_REG=121


Checking for BIST Status, Show BIST Passed, But also show BIST as disabled
DP83640_PHYCR_REG=221
Disabled BITS
DP83640_PHYCR_REG=21
DP83640_CDCTRL1_REG=0

Does the BIST Enable bit show as 0, after the test is done ?

once i disable the BIST, BIST Status is cleared (as expected)

With/ without the external RJ45 loopback, the register values are same !!!

How can we ensure that BIST with external loopback is being used.

Can some one explain the above behavior,

  • Robin,

    Regarding the current behavior you are seeing, I would suggest starting with internal loopback since it involves fewer variables.  Once internal loopback is working, we can focus on external loopback. 

    When evaluating packet BIST, it is recommended to force speed and duplex rather than auto-negotiate, especially when operating in internal loopback mode.  As noted in section 5.7 of the datasheet on internal loopback:

    "To ensure that the desired operating mode is maintained, Auto-Negotiation should be disabled before selecting the Loopback mode."

    For internal loopback, the required steps would be:

    1. Remove any external cabling or connections from the board and/or the RJ-45 connector.
    2. Force 100M full-duplex (BMCR:  2100).
    3. Enable internal loopback (BMCR:  6100).
    4. Enable BIST (PHYCR:  0121).
    5. Wait for some period of time (perhaps 100us or more).
    6. Read BIST status (PHYCR[9]).

    Could you perform these steps and post the results?

    Patrick

  • Intial DP83640_BMCR_REG=2100
    DP83640_BMCR_REG=2100
    DP83640_BMCR_REG=6100
    DP83640_PHYCR_REG=121
    Checking for BIST Status
    DP83640_PHYCR_REG=221
    Disabled BITS
    DP83640_PHYCR_REG=21
    DP83640_CDCTRL1_REG=0

    Robin