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.

TMS320F28388D: How to use DP83848I(PHY) in TMS320F28388D ?

Part Number: TMS320F28388D
Other Parts Discussed in Thread: TMDSCNCD28388D, C2000WARE

Hi, I had a problem using TMS320F28388D.

Previously, DP83822(PHY) was used with TMS320F28388D, but now PHY has been changed to DP83848(PHY) in the working sample.

The problem is that I used the same source code, but modules using DP83848 cannot communicate with EtherCAT.

 

I guess it is caused by the difference between 'PHY addr.' and 'PHY addr. offset' shown in the table below.

But I don't know the exact reason.

I really want to know how to configure my source code for DP83848(PHY).

What should I do?

Please tell me what I should do.

I always appreciate your help.

Thank you!

  • Hi Meili,

    I see that PHY addr. 0 = MII Isolate mode from the beckhoff app note and DP83848 datasheet. I think this is the reason you have to use PHY address and offset 1-31. I believe this requires changes in both HW strapping of the DP83848 device (see DP83848 datasheet for details) and the ESCSS_MISC_CONFIG.PHY_ADDR[4:0] register bits of the F2838x device (see F2838x device ESC TRM section for details). You can try using address/offset 1 and 2, assuming a two port system.

    Best,

    Kevin

  • Thank you for answer.

    Is there a way to check whether DP83848 is connected normally in TMS320F28388D?

    I monitored ESC memory, but I couldn't find a way. I'd like to make sure that PHY (DP83848) is connected properly.

  • And then, I don't know how to configure the HW strapping of the DP83848 device and the ESCSS_MISC_CONFIG.PHY_ADDR[4:0] register of F2838x device.

    I read the dp83848 and TMS320F28388D manual diligently, but I couldn't find a way.

    Please tell me how can I do this.

  • Hi Meili,

    Is there a way to check whether DP83848 is connected normally in TMS320F28388D?

    I monitored ESC memory, but I couldn't find a way. I'd like to make sure that PHY (DP83848) is connected properly.

    You could try reading/writing registers to the PHY. See prior E2E below for how to do this, I had tested with DP83822 on the TMDSCNCD28388D.

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1034794/tms320f28388d-how-to-access-write-read-the-phy-register-using-mdc-mdio-interface-within-esc-peripheral-of-28388

    And then, I don't know how to configure the HW strapping of the DP83848 device and the ESCSS_MISC_CONFIG.PHY_ADDR[4:0] register of F2838x device.

    For strapping to address 0x0001 you should pull PHYAD[0] pin high and PHYAD[4:1] pins low.

    For accessing the ESCSS_MISC_CONFIG.PHY_ADDR[4:0] register of F2838x device there's a DriverLib function for this within the C2000WARE etherCAT projects/files. See function below in 'escss.h' file.

    static inline uint16_t
    ESCSS_configurePhyAddressOffset(uint32_t base, uint16_t registerOffset)

    I'm assuming you're running the ESC on the F2838x CM core. Directory location below:

    C:\ti\c2000\C2000Ware_4_00_00_00\driverlib\f2838x\driverlib_cm

    Best,

    Kevin

  • Thank you for your kind reply. I solved this problem!

    Hardware error is the reason why EtherCAT communication failed!

    We didn't connect the ESC with link signal.

    After connecting link signals to ESC and changing PHY ADDR to 1 and 2, EtherCAT communication was successful.

    It wasn't a code problem. It was just a hardware problem.

    I'm so grateful to you.

    Have a nice day!