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.

DP83826AE: DP83826 LED0 blinks issue

Part Number: DP83826AE


Hi team,

My customer AUBO is evaluating DP83826AE but they find the LED0 blinks and the state and CRC are not stable.

Below is the schematic file: P04_DP83826 schematic.pdf  ,pls help check if any wrong about schematic.

Below is the state and CRC info of DP83826 (Drive 2) and DP83822(Drive 1), it shows DP83822's state is stable, but DP83826's are changed.

We read the info of resistor 0x25 and C1E1 is be read, which seems not right.1119_1.png

Pls help check if any wrong about below picture:

1119_4.png

Due to the urgency of project, I loop customers in this E2E, pls help provide potential reasons and give the solutions, thanks.

Joyce

  • Hi team, below is the test data from my customer, pls help on potential reasons.

    Customers attempted to configure the MLEDCR Register (Offset = 0x25) [Reset Value = 0x0041] to 0x0001 

    via the F28P650SK7 MDIO interface, aiming to set LED0 to work in the LINK OK state.

    however, this operation failed.

    Customer performed the following read tests: 

    Step 1:

    Read the BMSR Register (Offset = 0x01) [Reset Value = 0x7849]

    PHYDateTest[0] = read_mii_reg(0x01, 0x01); 

    The read value was 0x7849, which matches the default reset value. 

    Step 2:

    Read the MLEDCR Register (Offset = 0x25) [Reset Value = 0x0041]

    PHYDateTest[0] = read_mii_reg(0x01, 0x25); 

    The read value was 0xC1E1, which is inconsistent with the default reset value. 

    Based on the above results, the read function customer used appears to work normally (as verified by Step 1),but the 0x25 register behaves abnormally.

    The function implementation is as follows: 

    Uint16 read_mii_reg(Uint16 phy_addr, Uint16 reg_addr)

    {

        Uint16 ReadData;

        HW_EscWriteWord(0x0100,ESC_MII_ECAT_ACCESS_OFFSET);

        HW_EscWriteWord(((reg_addr<<8) | phy_addr),ESC_PHY_ADDRESS_OFFSET);

        HW_EscWriteWord(0x0100,ESC_MII_CTRL_STATUS_1_OFFSET);

        DELAY_US(30);

        HW_EscReadWord(ReadData, ESC_PHY_DATA_OFFSET);

        return ReadData;

    }

    #define HW_EscWriteWord(WordValue, Address)    ESC_writeWord(WordValue, Address)

    Void ESC_writeWord(uint16_t wordValue, uint16_t address)

    {

        DINT;

        ESC_writeWordISR(wordValue, address);

        EINT;

    }
    Thanks.

    Joyce

  • Hi Joyce,

    Is the customer using the correct method for extended register access? 

    Register 0x25 is an extended register that cannot be directly read or written to. You need to use the correct method for accessing extended registers in order to see the right data.

    Best,

    Shane