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.

  • Resolved

MSP432P401R: SPI Bit Rate set to 24M

Prodigy 260 points

Replies: 4

Views: 2246

Part Number: MSP432P401R

Hi

I'm trying to set the SPI bit rate to 24M (or even higher) but SPI init failed, since the clock picked for the SPI is low due to the power level.

How do i set the highest power level (force AWAKE) and make the SPI use higher clock?

The highest that i'm able to set is 6M SPI bit rate, and it is with 12M SMCLK. I saw that with power level 3 I can get higher SMCLK.

LL Flow: in SPIMSP432DMA_open calling PowerMSP432_getFreqs- which is calling Power_getPerformanceLevel()

Level returned is 2, which returnes SMCLK value of 12M.

I see that if i will be able to set the level to 3, the SMCLK will be 24M thus ill be able to set the SPI to higher bit rate

Thanks!

  • Hi,
    Thanks for posting to the forum.
    Let me look into the settings and get back to you.

    To double check, I assume you are using the MSP432 SDK with the MSP-EXP432P401R LaunchPad?
    Is there a specific example code you are working from as a starting point?

    -Priya

    LPRF, Marketing Manager

    Texas Instruments

  • In reply to Priya Thanigai:

    yes this is the launchpad.

    my code is based on the "powerperformance" example code on CCS with ti-rtos

    thanks!

  • In reply to Gilboa Shveki:

    Hello,

     You will have to create a custom performance level. Please take a look at this post:

    https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/603334/2220428#2220428

    Your "new" performance level should look something like this:

    PowerMSP432_PerfLevel myPerfLevels[] =
    {
     {
      .activeState = PCM_AM_DCDC_VCORE1,
      .VCORE = 1,
      .clockSource = CS_DCOCLK_SELECT,
      .DCORESEL = CS_DCO_FREQUENCY_48,
      .DIVM = CS_CLOCK_DIVIDER_1,
      .DIVHS = CS_CLOCK_DIVIDER_1,
      .DIVS = CS_CLOCK_DIVIDER_1,
      .flashWaitStates = 1,
      .enableFlashBuffer = true,
      .MCLK = 48000000,
      .HSMCLK = 48000000,
      .SMCLK = 48000000,
      .ACLK = 32768
     },
    };

    Having said that, the maximum SPI speed that we guarantee is 16Mbps and please keep in mind that we cannot guarantee anything that's not listed in the msp432 datasheet.

    Hopefully this helps.

      David

  • In reply to DavidL:

    that works perfectly. had to upgrade to latest SDK for this. thanks!

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.