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.

CAPTIVATE-FR2633: Question about clock configuration for Captivate Projects

Part Number: CAPTIVATE-FR2633

Hi All,

In configuring a software delay with delay_cycles, I was looking at the generated source of CAPT_BSP.c and saw this:

//*****************************************************************************
// CAPT_BSP.c
//
// *** CLOCK CONFIGURATION ***
// MCLK is 8 MHz, sourced from the DCO
// SMCLK is 2 MHz, sourced from MCLK
// ACLK is 32kHz, sourced from XT1 or REFO, with XT1 having priority
// FLLREF is 32kHz, sourced from XT1 or REFO, with XT1 having priority
//

However, in CAPT_BSP.h:

#define MCLK_FREQ (16000000)

So two questions: 

1) Is 8MHz a recommended clock for applications using the captivate technologies? 

2) How is it getting set to 8? Where? Can/should it be configured? 

I am new to MSP 430 so I hope this isn't a terrible obvious thing I am overlooking. I was looking into the DCO register configuration but figured I should ask here as well. 

  • Hi John,

    Excellent questions. You are on the right track.

    This member of the MSP430FR family has a maximum clock speed of 16MHz and is the default clock frequency for all Captivate projects generated by the Captivate Design Center.  You really don't need to worry about the DCO configuration since the CAPT_BSP.c performs the clock configuration for you.

    You are certainly welcome to operate the device at 8MHz or any other frequency but keep in mind that doing so slows down the processing and keeps the CPU operating in active mode longer.  Basically at slower clock frequencies it takes longer to execute the code.

    I must mention here that FRAM memory devices, which this device is, has a maximum FRAM R/W speed of 8MHz when you operate the CPU @ 16MHz you must enable one state.  You will see how this is done in the CAPT_BSP.c

        // Configure FRAM wait state (set to 1 to support 16MHz MCLK)
        FRAMCtl_configureWaitStateControl(FRAMCTL_ACCESS_TIME_CYCLES_1);

    To operate the CPU @ 8MHz simply change the #define MCLK_FREQ to 8000000.  If you do this remember to comment out the line shown above that adds the wait state.

  • Hi Dennis,

    Thanks so much for these answers. That all makes great sense. My only remaining question is: What is the significance of that comment I found in the header? 

    Loving the captivate technology stack btw. I can't believe how quickly I got it all going and tuned with a custom sensor. I am mainly working with the CC3220 MCUs and was considering several different touch sensors. The captivate ones blow them out of the water. 

    Thanks!  

  • Hi John,

    // MCLK is 8 MHz, sourced from the DCO

    This is an error.  The original project configurations set the DCO = 8MHz and it appears our SW team did not update this comment.  I'll flag that for correction.

    Does that answer your question?

  • It does Dennis! Thanks for the quick and expert help.