Jump to content
Sign in to follow this  
neorus

MSP432P401R: changing the base frequency of the cpu

Recommended Posts

is it possible to underclock or overclock the device? i mean, for example i need it just to use 50% of it's power, is there a way to it limit itself to a specific configuration?

i want the msp432 to take as much low power as possible(will be battery powered)

Share this post


Link to post
Share on other sites

From the datasheet:

"fMCLK Frequency of the CPU and AHB clock in the system(5) 0 - 48 MHz"

Overclocking may be possible, read up on how to configure the clock section to find out - but I guess it is not advisable to do so. Depending on your application you may be able to use LPM - current consumption down to 25nA possible per the datasheet. In active mode: 80 μA/MHz.

Share this post


Link to post
Share on other sites

You have  a wide variety of clock options from 48MHz down to about 10KHz, on board,  the ability to use external clocks (crystals or other sources), and direct support for 32768Hz crystals (and others). You can't reliably go beyond 48MHz, but the internal clock generator will give a fairly smooth range down to the low end (I don't recall the bottom end of the DCO, but the LFO-- ultra low power, low frequency onboard unit- is below 10KHz)

 

Most libraries and language families will provide a way to select which clock and set the rate for the DCO or other source. See http://www.ti.com/lit/ds/symlink/msp432p401r.pdf page 123 for summary.

Share this post


Link to post
Share on other sites

thanks for the respond!

i started to read the section of fMCLK 5.8 but i didn't understood how i need to flash those configurations

is there some tutorial or example?

Share this post


Link to post
Share on other sites

In a CCS project the file system_msp432p401r.c in the project folder contains a configuration (#define __SYSTEM_CLOCK) and corresponding code for setting 5 different frequencies: 1.5, 3, 12, 24 and 48MHz. I do not use Energia so I do not know how it is done there.

Share this post


Link to post
Share on other sites

thanks! that's exactly what i was looking for!

one more question regarding this, is there a way that i can change the frequency without recompile the project? (for example, if the device reached X temperature, then run with 1.5mhz, if the device reached Y temperature, then run 3mhz and etc)

Share this post


Link to post
Share on other sites

Yes,    there is a way, by writing the corresponding bits to the right register, and having a delay after your code to give it time to stabilize.

you may need to switch to a different clock while setting it up.

I cant tell you how to do it in energia, since i do not use it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×