Driven by the Internet of Things, the industry has created a huge demand for various battery-powered devices. This in turn has led to an increasing demand for energy efficiency in microcontrollers and other system-level devices. Therefore, many indicators related to power consumption of ultra-low power MCUs are constantly breaking records. When choosing a suitable ultra-low power MCU microcontroller, you must master the necessary skills, and when applying it, you also need some design directions and ideas to make better applications. This article mainly introduces how to choose an ultra-low power MCU.
(1) In low-power design, average current consumption often determines battery life. If an application uses an Eveready high-capacity 9V1222 battery with a rated current of 400mAh, to provide a battery life of one year, its average current consumption must be less than 400mAh/8760h, or 45.7uA.
(2) Among all the functions that enable the MCU to achieve the current budget, the power-down mode is the most important. Low-power MCUs have power-down modes that provide different levels of functionality. Low-power mode 0 (LPMO) turns off the CPU but keeps other functions running normally. LPM1 and LPM2 modes add various clock functions to the list of disabled functions. LPM3 is the most commonly used low-power mode, which only keeps the low-frequency clock oscillator and peripherals using this clock running. LPM3 is often called the real-time clock mode because it allows timers to run using a low-power 32768Hz clock source, consuming less than 1uA of current, while also periodically activating the system. Finally, LPM4 completely shuts down all functions on the device, including RAM storage, consuming only 100nA of current.
(3) The clock system is critical to MCU power consumption. Applications can enter and exit various low-power modes many times or hundreds of times per second. The ability to enter or exit low-power modes and process data quickly is extremely important because the CPU wastes current while waiting for the clock to stabilize. Most low-power MCUs have "instant-on" clocks that can prepare the CPU in less than 10~20us. It is important to understand which clocks are instant-on and which are not. Some MCUs have a dual-stage clock activation function that provides a low-frequency clock (usually 32768Hz) while the high-frequency clock stabilizes, which can be as fast as 1ms. The CPU operates normally in about 15us, but the operating frequency is lower and the efficiency is also lower. If the CPU only needs to execute a small number of instructions, such as 25, it requires 763usa. The CPU consumes less current at low frequency than at high frequency, but it is not enough to make up for the difference in processing time. Some MCUs can provide a high-speed clock to the CPU within 6us, processing the same 25 instructions in only about 9us (6us activation + 25 instructions 0.125us instruction rate)), and can achieve instant start high-speed serial communication.
(4) If the MCU clock system provides multiple clock sources for peripherals, the peripherals can still run when the CPU is in sleep state. For example, an A/D conversion may require a high-speed clock. If the MCU clock system provides a high-speed clock independent of the CPU, the CPU can go to sleep while the A/D converter is running, saving CPU power consumption.
(5) Event-driven functions coexist with the flexibility of the clock system. Interrupts will cause the MCU to exit low-power mode, so the more interrupts the MCU has, the greater its flexibility to prevent CPU polling that wastes current and reduce power consumption. Polling means there is a difference between doing and not doing power budget because it wastes CPU bandwidth and requires additional current when waiting for events to occur. A good low-power MCU should have sufficient interrupt capabilities to provide interrupts for all its peripherals, as well as provide numerous external interrupts for external events.
(6) Push button or keyboard applications can demonstrate the advantages of external interrupts.
Without interrupt capabilities, the MCU must frequently poll the keyboard or button to determine if it is pressed. Not only does the polling itself consume power, but controlling the polling interval also requires a timer, which consumes additional current. With interrupts, the CPU can remain asleep during the entire process and only activate when a button is pressed.
|