I think power management and monitoring is a very complex and difficult to control part, not only related to the choice of source mode, but also involves complex interrupts, as well as how to deal with the interruption and so on. Although it is helpful to achieve the goal of reducing power consumption, it is a bit far from the term "power consumption" for us today. In addition, this part of the control of the prevention and Treatment of power accidents (too low, etc.) is very helpful, but it seems that the Development Board if not independent of the project and just connect to the computer USB power supply, there is generally no problem. So, I just want to learn a little bit.
I/O the port and all analog units including the crystal oscillator are powered by the DVCC . the memory (Flash and RAM) and the digital unit are powered by the core voltage VCORE .
DVCC : Wide supply voltage range Span style= "FONT-FAMILY:CALIBRI;" >1.8v-3.6v ;
VCORE : DVCC cpu Digital Logic power, total there's 1.4v (,1.6v (,1.8v ( Span style= "FONT-FAMILY:CALIBRI;" >0-20mhz ) and 0-25mhz ) four levels. vcore is dependent on the selected mclk size, that is, high frequency need to support the higher vcore .
Management will generate a reset (mainly during power-up ), and the monitoring will generate interrupts (monitoring voltage is too low).
Our most common use is to set the core voltage VCORE , fortunately there is a special library of functions hal_pmm.c/h .
in this library, in addition to the definition of some settings, the most important thing is to define three functions:
Setvcoredown (uint8_t level): Lower core voltage
setvcoreup (uint8_t level): increase core voltage
Setvcore (uint8_t level): directly set core voltage (0-3 total four levels)
/* This function is the most important, or there is this one, the front two does not need to */
(7) msp430f5529 Power Management Module