Choosing a microcontroller with low power consumption can greatly reduce system power consumption. The low power consumption characteristics of a microcontroller can be examined from several aspects, such as power supply voltage, microcontroller internal structure design, system clock design and low power consumption mode.
1. Choose the simplest CPU core possible
When choosing a CPU core, you should avoid blindly pursuing performance. If an 8-bit machine is sufficient, there is no need to choose a 16-bit machine. The principle of selection should be "good enough". Nowadays, the running speed of microcontrollers is getting faster and faster, but the improvement in performance often brings an increase in power consumption. A complex CPU has high integration and powerful functions, but there are many transistors on the chip, and the total leakage current is large. Even when it enters the STOP state, the leakage current becomes non-negligible; while a simple CPU core not only has low power consumption, but also low cost.
2. Choose a low voltage power supply system
Reducing the power supply voltage of the microcontroller can effectively reduce its power consumption. At present, the microcontroller has been reduced from the 5V power supply compatible with TTL to 3.3V, 3V, 2V and even 1.8V power supply. The reduction in power supply voltage is due to the development of semiconductor technology. From the original 3μm process to the current 0.25, 0.18, and 0.13μm processes, the threshold level of the CMOS circuit has been continuously reduced. Low voltage power supply can greatly reduce the operating current of the system, but as the size of transistors continues to decrease, the leakage current of the tube tends to increase, which is also an aspect that is not conducive to reducing power consumption.
At present, the power supply voltage of the MCU system is still mainly 5V, but in the past five years, the number of 3V-powered MCU systems has doubled, and the number of 2V-powered systems is also increasing. In another five years, the number of low-voltage-powered MCUs may exceed that of 5V-powered MCUs. In this way, the reduction of power supply voltage will be an important trend in the future development of MCUs.
3. Choose a system with low power mode
Low power mode refers to the system's wait and stop modes. The power consumption of the microcontroller in this mode will be much less than that in the running mode. In the past, traditional microcontrollers had two instructions, wait and stop, in the running mode, which could put the microcontroller into a wait or stop state to achieve the purpose of power saving.
In wait mode, the CPU stops working, but the system clock does not stop, and the peripheral I/O modules of the microcontroller do not stop working; the system power consumption is generally reduced to a limited extent, equivalent to 50% to 70% of the working mode.
In stop mode, the system clock will also stop. The external event interrupt will restart the system clock, and then wake up the CPU to continue working. The CPU current consumption can be reduced to μA level. In stop mode, the CPU itself actually consumes no current. To further reduce the system power consumption, it is necessary to turn off the various I/O modules of the microcontroller as much as possible. As the I/O modules are turned off one by one, the power consumption of the system becomes smaller and smaller, and the depth of entering the stop mode becomes deeper and deeper. Entering the deep stop mode is equivalent to shutting down the machine. At this time, the power consumption of the microcontroller can be less than 20nA. It is particularly important to point out that after the on-chip RAM stops supplying power, the data stored in the RAM will be lost. In other words, the system must be initialized again after waking up the CPU. Therefore, before letting the system enter the deep stop state, important system parameters must be saved in non-volatile memory, such as EEPROM. The deep stop mode turns off all I/Os, and the possible wake-up methods are also very limited, generally only reset or IRQ interrupt.
The more I/O modules are reserved, the more wake-up interrupt sources the system allows. The power consumption of the microcontroller will be reduced to between 1μA and tens of μA depending on the different wake-up methods. For example, users can reserve external keyboard interrupts, reserve asynchronous serial port (SCI) receive data interrupts, etc. to wake up the CPU. The more wake-up methods are reserved, the more power the system will consume. Other possible wake-up methods include real-time clock wake-up, watchdog wake-up, etc. In the case of a shallow shutdown state, the external crystal oscillator circuit is still working.
Take the R series microcontroller as an example: at room temperature (25°C), excluding the load of the I/O port, with a 2V power supply, the programmable phase-locked loop clock is set to 16MHz (bus clock 8MHz), the typical current value is 2.6mA, when the temperature rises to 85°C, the power supply current also rises to 3.6mA; while with a 3V power supply, this set of data rises to 3.8mA and 4.8mA. With a 2V power supply, when the external crystal oscillator 2MHz (bus clock 1MHz) is directly used, the typical operating current drops to 450μA. In the waiting state, because the clock does not stop, the power consumption is closely related to the clock frequency, and the power consumption is limited; while entering a mild stop (stop3), the current consumption is about 0.5μA when awakened by an external interrupt. In the moderate stop state (stop2), the power consumption can be further reduced. Using an internal 1kHz clock, maintaining a running clock, and waking up the CPU periodically, the increased current is about 0.3μA. In the deep stop state (stop1), the RAM data is no longer retained and the system can only be restarted by external reset. At this time, the current consumption can be reduced to 20nA. The above data are measured at room temperature. When the ambient temperature rises to 85℃, the current consumption may increase by 3 to 5 times.
4. Choose the right clock solution
The choice of clock is very sensitive to system power consumption. Designers need to pay attention to two aspects:
The first is that the system bus frequency should be as low as possible. The total current consumption inside the microcontroller can be divided into two parts: operating current and leakage current. An ideal CMOS switch circuit does not consume power when the output state remains unchanged. For example, in a typical CMOS inverter circuit, when the input is zero, the output is 1, the P transistor is turned on, the N transistor is turned off, and no current flows. In fact, since there is a certain leakage current in the N transistor, and as the integration increases, the thinner the tube base, the greater the leakage current. As the temperature rises, the CMOS flip threshold voltage will decrease, while the leakage current will increase with the increase in ambient temperature. When the microcontroller is running, the switch circuit constantly changes from "1" to "0" and from "0" to "1". The power consumed is caused by the operation of the microcontroller, which we call "operating current". When the two transistors change between the on and off states, since the switching delay time of the two tubes cannot be completely consistent, at a certain moment, the two tubes will be turned on at the same time. At this time, there will be a momentary large current between the power supply and the ground, which is the main source of the microcontroller's operating current. It can be seen that the operating current is almost proportional to the clock frequency of the microcontroller, so reducing the operating frequency of the system clock as much as possible can effectively reduce the system power consumption.
Previous article:Steps to learn microcontrollers
Next article:Common mistakes in single-chip C language
- Popular Resources
- Popular amplifiers
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- AD20 Installation Issues
- Are there any commonly used solutions recommended for converting 0-10V to PWM?
- Looking for C8051F58x/F59x IDE?
- 9. [Learning LPC1768 library functions] Clkout experiment
- DSP28335 eCAP module capture pulse problem
- CC1310 Two-wire Serial Bootloader Solution
- Fomu can now run CircuitPython
- .map file analysis in IAR development environment
- ZigBee data transmission problems, please help
- Transmission Line