Driven by the Internet of Things, the demand for battery-powered devices has surged, prompting a greater emphasis on energy efficiency in microcontrollers and other system-level components. As a result, the term "Ultra Low Power (ULP)" has become a common marketing buzzword, especially when describing microcontrollers. To truly understand what ULP means, it's essential to explore its various implications.
In this article, we'll examine two Analog Devices microcontrollers to help you better interpret the real meaning of ultra-low power consumption. We'll also discuss the EEMBC Alliance's certification process, which ensures accurate benchmark scores and helps developers choose the most suitable microcontroller for their application.
**Measuring and Optimizing Ultra-Low Power Consumption**
Understanding ULP starts with how it is measured. Developers often refer to datasheets that provide current values per MHz and current levels in different sleep modes. However, these values are often not fully explained, leaving out key conditions such as code, voltage, or wait states on flash memory.
Some vendors use benchmarks like EEMBC CoreMark, while others rely on simple operations like "while 1." If there’s a wait state on the flash, the microcontroller’s performance drops, increasing execution time and power consumption. Some vendors specify typical voltages, some use the lowest possible, and others don’t mention voltage at all. These variations make comparisons difficult without a standard.
Deep sleep mode is usually well-documented in datasheets, but the conditions under which current is measured can vary significantly between manufacturers. Additionally, the power required to enter and exit sleep modes must be considered—this can be minimal or significant depending on how often the device wakes up.
Another critical factor is the duration of sleep. Balancing active and sleep modes is crucial for accurate ULP measurements. EEMBC uses a 1-second cycle for its ULPMark-CoreProfile (ULPMark-CP), where the device wakes up once per second, performs a small task, and returns to sleep. This setup creates a duty cycle of about 98%, making it a useful benchmark for evaluating real-world power usage.
The energy consumed per cycle depends on the duty cycle and can be modeled with a simplified formula. The slope of the graph is determined by the active current (ION), while the y-intercept represents the sleep current (ISLEEP). This formula helps illustrate that active current plays a more significant role than sleep current in determining overall energy consumption.
**Ultra-Low Power Test Platform**
To compare the ultra-low power characteristics of two Analog Devices microcontrollers, the ADuCM4050 and ADuCM302x, we looked at their ULPMark-CoreProfile scores: 203 and 245.5, respectively. The difference in scores can be attributed to several factors, including architecture, frequency, and additional features.
The ADuCM4050 features an ARM Cortex-M4F core, while the ADuCM302x uses an ARM Cortex-M3. Although both have similar instruction sets, the M4F supports DSP and floating-point instructions, which aren't used in ULPMark-CoreProfile. The ADuCM4050 runs at 52 MHz, requiring more cycles than the 26 MHz ADuCM302x. However, the M4F's cache minimizes the impact of wait states, allowing faster execution.
Despite running at a higher frequency, the ADuCM4050 consumes 10 μA/MHz more than the ADuCM302x due to increased buffers for timing constraints. It also offers more memory, additional peripherals, and enhanced security features, making it more suitable for applications requiring higher performance and storage.
**The Role of the Compiler**
The compiler plays a vital role in determining ULP results. While the workload remains the same, the way code is optimized can affect the number of cycles executed. For example, the ADuCM3029's ULPMark-CoreProfile score varies depending on the optimization level, from 209 to 245.5. Similarly, the Texas Instruments MSP430FR5969 saw a 5% improvement using a newer IAR compiler version.
The choice of compiler can significantly impact the final score, even if the workload is identical. This highlights the importance of understanding how compilers optimize code, especially when comparing different microcontrollers.
**Converting ULPMark to Energy Values**
ULPMark-CoreProfile calculates energy based on the reciprocal of the energy value over a 1-second cycle. The total power includes both active and sleep mode consumption. Using the ADuCM3029 as an example, we calculated the operating and sleep power consumption, which matched the results from EEMBC EnergyMonitor software.
One limitation of early ULPMark versions was the fixed 3V operating voltage, which doesn't reflect modern MCUs that perform better at lower voltages. For instance, the STM32L476RG saw a 19% improvement when using a DC-DC converter to reduce the voltage from 3V to 1.8V.
**Certification Mechanism – Building Credibility**
To ensure the accuracy of ULPMark scores, vendors send boards and tools to the EEMBC Technology Center (ETC) for testing. EEMBC integrates platform profiles into its system files and measures scores across multiple boards, averaging the results for reliability.
This process ensures consistency, as all tests are conducted under the same conditions—same workload, same power monitoring board, and similar temperatures. EEMBC also provides EnergyMonitor software to measure and display energy consumption during benchmarking.
**Next Step – MCU Efficiency Analysis**
EEMBC aims to offer comprehensive benchmark suites for evaluating MCUs. In addition to ULPMark-CoreProfile, the newly released ULPMark-PeripheralProfile (ULPMark-PP) focuses on peripheral power consumption. Future benchmarks like IoTMark-BLE and SecureMark will further expand the evaluation of MCU efficiency and security.
These developments highlight the ongoing effort to provide meaningful and reliable metrics for selecting the right microcontroller for specific applications.
Solar Charge Controller ,Solar Controller,Solar Regulator,Solar Panel Controller
zhejiang ttn electric co.,ltd , https://www.ttnpower.com