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.

DP83848-EP: TMS320F28386D<->dp83848 ethernet board (clock question)

Part Number: DP83848-EP
Other Parts Discussed in Thread: TMS320F28386D

Tool/software:

Hello,
I have connected a TMS320F28386D DSP to a DP83848 Ethernet board.
Currently, when I use the send_packet command, I can see the packet in Wireshark, but the contents are incorrect and the packet is not recognized by external devices.
MDIO/MDC have been configured, but the link partner is not being detected, so I’m currently focusing on loopback testing.

I'm encountering issues with the PHY loopback test and would like to ask a few questions regarding the ethernet_ex2_phy_loopback example provided by TI.


Q1. According to the TMS320F28386D datasheet, it includes internal oscillators named INTOSC1 and INTOSC2.
Also, it seems the X1 pin can be used as an external clock input, and currently, I have connected the X1 pin of the 28386D module to the OSCIN pin of the DP83848 module.
My question is:

  • Are there specific pins that must be connected in order to use INTOSC1 or INTOSC2?


Q2. Can the DSP (TMS320F28386D) provide a 50 MHz clock to the DP83848 module?
Or must an external oscillator be used to supply the clock to both devices separately?
(I'm currently using the following code:
SysCtl_setEnetClk(SYSCTL_ENETCLKOUT_DIV_2, SYSCTL_SOURCE_SYSPLL);)


Q3. The initInterfaceConfig.clockSel setting is set to external by default.
If the TMS320F28386D is capable of supplying the clock to the PHY, should this setting be changed to internal?

  • Hello,

    Are there specific pins that must be connected in order to use INTOSC1 or INTOSC2?

    According to the TMS320F28386D datasheet, INTOSC1 and INTOSC2 are internal oscillators that can be used as clock sources for the device. To use these internal oscillators, you don't need to connect any specific pins. The internal oscillators are enabled and configured through the device's register settings.

    However, if you want to use an external clock source, such as the X1 pin, you need to connect the external clock signal to the X1 pin. In your case, you've connected the X1 pin to the OSCIN pin of the DP83848 module, which is correct.

     Can the DSP (TMS320F28386D) provide a 50 MHz clock to the DP83848 module?
    Or must an external oscillator be used to supply the clock to both devices separately?
    (I'm currently using the following code:

    To provide a 50 MHz clock to the DP83848 module, you'll need to configure the SYSPLL to generate a clock frequency that is twice the desired frequency (100 MHz) and then divide it by 2 using the SysCtl_setEnetClk function.

    Alternatively, you can use an external oscillator to supply the clock to both devices separately. This approach is more common and easier to implement.

    he initInterfaceConfig.clockSel setting is set to external by default.
    If the TMS320F28386D is capable of supplying the clock to the PHY, should this setting be changed to internal?

    By default, the initInterfaceConfig.clockSel setting is set to external, which means that the PHY expects an external clock signal. If you're using the TMS320F28386D's internal clock source, you need to change this setting to internal to indicate that the clock signal is being generated internally.