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: Clarification on Maximum SPI Speeds with and without High-Speed Mode

Part Number: TMS320F28388D

Tool/software:

I'm currently trying to determine the maximum achievable SPI clock speeds for both High-Speed mode and normal SPI mode on the TMS320F28388D.

In a referenced forum post, it was stated that the maximum SPI frequency in High-Speed mode is 50 MHz, while in normal mode it is 12.5 MHz.

Based on my research, I found that the SPI clock is derived as:

SPI Clock = LSPCLK / 4 (minimum divider)

With LSPCLK = SYSCLK = 200 MHz, this would indeed result in 50 MHz – which aligns with the stated maximum for High-Speed mode.

This raises two questions:


1. Regarding SPI High-Speed Mode:

Does achieving the 50 MHz clock require setting LSPCLK equal to SYSCLK?
If so, this would affect other LSPCLK-dependent peripherals (like additional SPI modules or McBSP).
Would that be a problem, or is it acceptable since I can still individually configure the SPI baud rate using the SPIBRR register?


2. Regarding normal SPI (non-High-Speed mode):

It was mentioned that the maximum frequency is 12.5 MHz.
Assuming the same LSPCLK / 4 rule, this implies LSPCLK = 50 MHz in that case.

Does this mean the 12.5 MHz limit is not absolute, but simply based on that specific LSPCLK example?
In other words, if I increase LSPCLK, would the normal SPI (without High-Speed mode) support higher SPI clock rates, up to the divider limit?
If this would be the case I can not see the difference between the normal SPI and the SPI in High-Speed Mode.

Below are the relevant excerpts I found in the Technical Reference Manual (TRM):

Best regards,

Wilko

  • Wilko,

    Please refer to the below threads: 

    TMS320F28379D: Difference between SPI low-speed and high-speed mode

    TMS320F28388D: GPIO muxing for High Speed Mode SPI

    Does achieving the 50 MHz clock require setting LSPCLK equal to SYSCLK?
    If so, this would affect other LSPCLK-dependent peripherals (like additional SPI modules or McBSP).
    Would that be a problem, or is it acceptable since I can still individually configure the SPI baud rate using the SPIBRR register?

    In regard to this point, LSPCLK needs to equal SYSCLK with the appropriate dividers, and the SPI baud rate can be modified per SPI instance. 

    Best Regards,

    Aishwarya

  • Hello Aishwarya,

    Thank you for the response.

    To reiterate:

    Does achieving the 50 MHz clock require setting LSPCLK equal to SYSCLK?

    Yes it does.

    Would that be a problem, or is it acceptable since I can still individually configure the SPI baud rate using the SPIBRR register?

    There are no problems or disadvantages with setting the LSPCLK equal to SYSCLK since you can individually configure the SPI baud rates.

    It was mentioned that the maximum frequency is 12.5 MHz.
    Assuming the same LSPCLK / 4 rule, this implies LSPCLK = 50 MHz in that case.

    The maximum frequency of the SPI in (non High Speed mode) is 12.5Mhz this is caused by the slew rate of the clock and mosi signals.

    (I was very confsused about the 12.5MHz since I could not find them documented in the TRM or datasheet.)

    Could you clarify that I have interpreted the message correctly. 

    Best Regards,

    Wilko

  • Wilko,

    The first two points are correct.

    It was mentioned that the maximum frequency is 12.5 MHz.
    Assuming the same LSPCLK / 4 rule, this implies LSPCLK = 50 MHz in that case.

    The maximum frequency of the SPI in (non High Speed mode) is 12.5Mhz this is caused by the slew rate of the clock and mosi signals.

    (I was very confsused about the 12.5MHz since I could not find them documented in the TRM or datasheet.)

    Could you clarify that I have interpreted the message correctly. 

    Above 12.5 MHz is when we generally recommend enabling HS mode to match the timings mentioned in the datasheet regarding the rise times on CLK and PICO signal. Technically, you can enable HS mode at any SPI frequency, or you can keep it disabled, but this is not recommended.

    Most importantly, if you are operating at high speeds (close to 50 MHz) and enabled HS mode, ensure you are using the right GPIOs that support this mode. 

    Best Regards,

    Aishwarya