When developing battery-powered devices, especially systems with strict requirements on the standby or operating time of the device, such as mobile phones, it becomes increasingly important to reduce the overall energy consumption of the system. Therefore, taking comprehensive measures to reduce the consumption of battery energy is an important part of designing battery-powered devices.
Typical energy-saving measures include:
1 Select components with energy-saving properties
2. Improve system integration
3 Adjust CPU frequency
4 Adjust the power supply
5. Choose a microcontroller with energy-saving properties, cache memory, and on-chip memory
However, the best energy-saving effect can only be achieved by fully controlling the components that consume battery energy through software and giving full play to the energy-saving properties of the hardware. Energy consumption is the product of current, voltage and time, and the control software has a great influence on these parameters. Therefore, software engineers need to constantly try to determine the best configuration of these three parameters in different operating modes to achieve the best energy-saving purpose. For example, engineers may ask themselves the following questions:
1 Is the microprocessor working in the correct energy-saving mode?
2 How do program changes affect system energy consumption?
3 Are there any unexpected energy consumption peaks?
To answer questions like these, a test device is needed. This device needs to be able to measure, record and analyze the program and data flow of the control software, as well as the current and voltage gradients. At the same time, all the recorded information can be correlated in a simple way. At the 2007 Embedded World Annual Conference, as the world's first embedded software energy consumption analysis tool manufacturer, Lauterbach demonstrated a powerful and easy-to-use solution that successfully solved all of the above problems.
skills requirement:
In order to locate the energy consumption of each line of code, the following data information needs to be collected:
1 Control the program flow of the software. You can use a debugger with real-time tracing capabilities (PowerDebug) to collect this information.
2 Current and voltage gradients when the program is running. A logic analyzer with an analog/digital probe is a more suitable measurement device for this purpose.
With this data, the main task is to correlate the information of program flow, current and voltage gradient. However, if equipment from different equipment manufacturers is used, even if the relevant information can be correlated, the actual operation will be very complicated, and the analysis and statistics of the comprehensive data will also be quite difficult.
The innovative core of Lauterbach's embedded software energy consumption analysis technology is to provide solutions to the above problems and develop appropriate and easy-to-use information display and analysis methods.
solution:
The Lauterbach embedded software energy consumption measurement solution includes a debugger module (PowerDebug), a real-time tracing module (PowerTrace), and a logic analysis module (PowerIntergrator). Each module integrates an accurate time counter, and the counters of all modules are synchronized at the beginning of the program. Each module's record has a corresponding timestamp, so the records of each module can be associated through the timestamp. In this way, the energy consumption of each line of code can be determined.
To acquire current and voltage gradient data, TRACE32 PowerTrace II (trace module) or PowerIntegrator (logic analysis module) can be extended with the new Trace32 AnalogProbe module to:
1 Real-time recording of 4 voltage channels and 3 current channels
2 Generate trigger events in real time for limit values and measuring ranges of current, voltage or energy consumption
To measure current, a shunt resistor is required in the circuit under test. The voltage drop across the resistor depends on the size of the resistor and the current through it. Trace32 AnalogProbe can measure/record the voltage value across the shunt resistor. This is a measurement method commonly used and supported by many *evaluation platforms.
The current, voltage and shunt resistor value can all be controlled through the following user interface. The energy consumption calculated from the current and voltage can also be controlled in this user window. In addition, the user can set the voltage to a fixed value for calculation.
Current, voltage and energy consumption can be displayed in tables and time-based graphs. All time-based information (program flow, graphs, current, voltage, energy consumption) can be synchronized with the trace information. If a position is selected/marked in one of the windows, all other windows are automatically refreshed and the corresponding time position information is also selected/marked.
In the following example, 8 LEDs are turned on in sequence, and a sinusoidal voltage is generated. The current-time curve (1) below plots the waveform of the current value changing with time, and the sinusoidal voltage curve is shown in (2). If the function "LED3_on" is selected/marked with a black vertical trace line in the current graph (1), voltage graph (2) or program flow graph (3), the system will automatically update the information in the "Trace.List" window (4), display the corresponding record, and mark it with a blue horizontal bar.
Each time a program is terminated, Trace32 software will automatically perform statistical analysis on the recorded information, counting the minimum, maximum and average energy consumption of each executed function, as well as the absolute energy consumption of each function and its percentage of total energy consumption. Through these statistical data, the program code/function with the highest energy consumption can be easily located.
Data statistics analysis can show the energy consumption of each function when it is running. As shown in Figure (5), it can be clearly seen that the system consumes the most energy when the function "LED8_on" is running (all LEDs are lit).
As an additional function, Lauterbach also provides a trigger unit, which can define trigger events by defining the limit value or range of current, voltage or energy. These trigger events can be used by the trigger unit to start and stop the control of the trace recording (Selective trace), or use these trigger signals to terminate the program. In this way, engineers can easily and quickly locate the cause of the peak of the relevant parameters.
Summarize:
Lauterbach's complete embedded software energy consumption analysis measurement solution provides a powerful and easy-to-use tool for R&D engineers to detect/locate the relationship between program code and system current/energy consumption. The above new features have been integrated into the current software environment. The relevant analysis hardware can also be easily implemented through expansion on the original tool. Long-term and close cooperation with major global mobile phone manufacturers ensures the practical application effect of Lauterbach's tools. By integrating new innovative solutions, Lauterbach once again confirmed its innovative ability in the field of embedded processor development tools. As a new solution expansion module, Trace32 AnalogProbe can be integrated into the existing Lauterbach modular development tool system, adding new value to customers' existing TRACE32 tools.
Previous article:Application of large capacity NAND Flash TC58DVG02A1FT00 in embedded systems
Next article:Research on SDRAM Timing Control in Embedded Video Systems
Recommended ReadingLatest update time:2024-11-23 07:25
- Popular Resources
- Popular amplifiers
- Siemens PLC Programming Technology and Application Cases (Edited by Liu Zhenquan, Wang Hanzhi, Yang Kun, etc.)
- Siemens PLC from Beginner to Mastery with Color Illustrations (Yang Rui)
- Experience and skills in using Siemens S7-200PLC (Shang Baoxing)
- Siemens S7-1200-PLC Programming and Application Tutorial (3rd Edition) (Edited by Shi Shouyong)
- Naxin Micro and Xinxian jointly launched the NS800RT series of real-time control MCUs
- How to learn embedded systems based on ARM platform
- Summary of jffs2_scan_eraseblock issues
- Application of SPCOMM Control in Serial Communication of Delphi7.0
- Using TComm component to realize serial communication in Delphi environment
- Bar chart code for embedded development practices
- Embedded Development Learning (10)
- Embedded Development Learning (8)
- Embedded Development Learning (6)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Intel promotes AI with multi-dimensional efforts in technology, application, and ecology
- ChinaJoy Qualcomm Snapdragon Theme Pavilion takes you to experience the new changes in digital entertainment in the 5G era
- Infineon's latest generation IGBT technology platform enables precise control of speed and position
- Two test methods for LED lighting life
- Don't Let Lightning Induced Surges Scare You
- Application of brushless motor controller ML4425/4426
- Easy identification of LED power supply quality
- World's first integrated photovoltaic solar system completed in Israel
- Sliding window mean filter for avr microcontroller AD conversion
- What does call mean in the detailed explanation of ABB robot programming instructions?
- STMicroelectronics discloses its 2027-2028 financial model and path to achieve its 2030 goals
- 2024 China Automotive Charging and Battery Swapping Ecosystem Conference held in Taiyuan
- State-owned enterprises team up to invest in solid-state battery giant
- The evolution of electronic and electrical architecture is accelerating
- The first! National Automotive Chip Quality Inspection Center established
- BYD releases self-developed automotive chip using 4nm process, with a running score of up to 1.15 million
- GEODNET launches GEO-PULSE, a car GPS navigation device
- Should Chinese car companies develop their own high-computing chips?
- Infineon and Siemens combine embedded automotive software platform with microcontrollers to provide the necessary functions for next-generation SDVs
- Continental launches invisible biometric sensor display to monitor passengers' vital signs
- How to generate a .txt file on CCS and burn it to MSP430
- Where can I find development information for the Samsung 4412 processor?
- TMS320C6678 memory access performance
- 4-digit LED digital display meter interfaced with PLC
- About Voltage Follower
- Advantages of combining TI analog devices with DSP
- SiC market is growing rapidly
- 【Chuanglong TL570x-EVM】Evaluation 07 - QT Date Interface Development
- Multi-market power management injects strong impetus into the growth of power MOSFET
- Purgatory Legend-Battle of Doubler Circuits