When design engineers select microcontrollers for low-power applications , chip vendor data sheets provide limited help. The data sheets do not provide industry-standard power consumption evaluation methods, nor do they explain how features such as cache and integrated floating-point units affect energy consumption and performance.
When engineers try to compare processor cores that include a system-on-chip, it becomes a challenge to explain the benefits of these components or units. Vendors also use the typical current consumption value of the chip to measure their microcontrollers, but this measurement hardly explains the energy consumption of different programs running in the application. To solve this problem, the Embedded Processor Benchmark Consortium (EEMBC) has proposed a method to measure energy consumption under a specific load. In this article, we will use a microcontroller with an ARM-9 core as a test example to illustrate the principle of this test method.
Standardized methods and premises
Generally speaking, EEMBC measures performance indicators that focus on processor behavior and develops measurement benchmarks that reflect the real environment of embedded applications. Since it is very important to be able to verify the repeatability of all performance and power measurements , the measurement methods must also meet common standards. EnergyBench is a measurement method developed by EEMBC to provide a
A benchmark tool that gives data on the energy consumed by a processor while running an application.
Reliability of measurement
EnergyBench uses the LabVIEW platform and data acquisition card from NI (National Instruments). The DAQ card has multiple differential measurement channels for measuring current and multiple single-ended channels for measuring voltage. EnergyBench uses such a DAQ card to sample voltage and current and uses a trigger channel to synchronize the benchmark measurement of performance.
EnergyBench has two software modules, one for measuring data (power sampling module) and the other for analyzing the acquired data (analysis module). The software's graphical interface is used to display voltage and current, and there are corresponding control buttons to start data acquisition.
The benchmark data needs to be loaded into the microcontroller and two GPIOs of the microcontroller are used as handshake signals with the power sampling module. When the benchmark data is loaded, one of the GPIOs is used to notify the microcontroller to start the test and the other to notify the power sampling module. After the benchmark runs for multiple iterations, the analysis module calculates the average energy consumed by each iteration of the benchmark. The benchmark score is an evaluation parameter that can be selected by the manufacturer and can be used together with the performance certification score as an indicator of the energy efficiency of the processor.
Figure 1 LPC3180 is an ARM9-based MCU with 32KB instruction and data caches and a vector floating-point coprocessor unit.
Measurement results of ARM9
We chose the LPC3180 microcontroller based on the ARM926EJ core produced by NXP as the measurement object to observe the impact of different processor configurations on energy consumption. The reason for choosing this processor is that it has a large internal memory, 64KB of general memory and 32KB of instruction and data cache. In addition, it also has a vector floating point unit and a low voltage operating mode to reduce power consumption.
Table 1 lists the results of the measurements. The data shows that the vector floating point unit can reduce energy consumption by a factor of 4.5, while the instruction cache is about 1.4. If we look at the data sheet, we can't know what benefits are gained by consuming too much energy. In terms of extra performance, it is obtained by the vector floating point unit and the large cache. The data in the table also shows that the significance of energy measurement is to know when to decide which processor to choose and which option is important. The total energy consumed by the processor is directly related to the clock frequency used for the task it performs. If the instruction cache is turned off, the program has to fetch instructions from the memory located on the AHB bus. Since the operating frequency of the AHB bus is only half of the processor core frequency, the program runs longer and consumes more energy. If the instruction cache is turned on, the energy consumed by the floating point operation in the corresponding cache algorithm will increase, but the program will run faster because the cache operation is performed at the processor core frequency, resulting in a total energy consumption reduction. When the floating point unit is enabled, it can reduce the workload of the processor and the instruction cache. Although there is only a small increase in energy, the actual overall energy consumption has been greatly reduced.
Impact of external memory on energy consumption
For most MCU-based applications, the design of the memory subsystem is a decisive factor affecting performance and energy consumption. When designing a low-power system, the choice of memory subsystem and software design will have a great impact on energy consumption. These choices include the selection of memory, the division of code execution space, and the system's power saving mode.
In the case of the NXP microcontroller LPC3180, the memory controller interface is dynamic, which reduces power consumption by switching I/O pins while dynamically supporting large memory capacities. Table 2 shows the typical power consumption of four types of memory at the same performance level, as well as a comparison of the actual system performance based on different memory usage. Most microcontrollers have internal SRAM and Flash. The LPC3180 has 64KB of SRAM, and the program runs in it at half the processor frequency, which consumes much less energy than accessing external memory. Specifically, the internal memory consumes about 72μW/MHz, and the current consumed when accessing it continuously at 104MHz is about 7.5mA. Accessing the external memory bus draws a lot of current due to the capacitive load of the board and the memory chip. This makes the partitioning of the code execution space a very important part of low-power design, and the code should run as much as possible inside the chip.
The benchmark measurements show that there are three components that affect the processor's energy consumption: (1) switching losses, (2) cross-conduction losses, and (3) leakage losses. When benchmarking, the first two are dynamic losses, which represent the majority of the microcontroller's energy consumption.
Previous article:Analysis of load current measurement methods
Next article:Efficient automotive electronics testing
- Popular Resources
- Popular amplifiers
- Keysight Technologies Helps Samsung Electronics Successfully Validate FiRa® 2.0 Safe Distance Measurement Test Case
- From probes to power supplies, Tektronix is leading the way in comprehensive innovation in power electronics testing
- Seizing the Opportunities in the Chinese Application Market: NI's Challenges and Answers
- Tektronix Launches Breakthrough Power Measurement Tools to Accelerate Innovation as Global Electrification Accelerates
- Not all oscilloscopes are created equal: Why ADCs and low noise floor matter
- Enable TekHSI high-speed interface function to accelerate the remote transmission of waveform data
- How to measure the quality of soft start thyristor
- How to use a multimeter to judge whether a soft starter is good or bad
- What are the advantages and disadvantages of non-contact temperature sensors?
- 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
- Embedded Learning丨4412 Development Board-uboot Source Code-Assembly-Source Code Analysis (I)
- Using the I2C Bus
- 【Qinheng RISC-V core CH582】Learning material collection
- CCS cannot connect to F280049C Launchpad
- What topics do electronic engineers like?
- Chips are also being counterfeited? How to develop a keen eye and identify "real and fake chips" in the arena!
- I have some hesitations about job hopping, I hope you can give me some advice
- Tips for you: How to design an excellent 5G small base station
- Essential knowledge about gas detectors
- How to Optimize DSP Power Budget