Embedded Computing
  • About
  • Blog
  • Hardware
    • Which Platform?
    • Controller Platforms >
      • Adafruit Platform
      • Arduino Plaform
      • BBC micro:bit
      • Espressif Platform
      • iLabs Platform
      • Raspberry Pi Platform (MCU)
      • Seeed Platform
      • Silicon Labs Platform
      • Teensy Plaform
    • Computer Platforms >
      • BeagleBone Platform
      • Raspberry Pi Platform (SBC)
      • UDOO Platform
    • Peripherals >
      • Shields
      • Grove System
      • Sensors
      • Actuators
    • Displays >
      • E-Paper Displays
      • Reflective Displays
      • TFT Displays
      • LCD Displays
    • Legacy Platforms >
      • chipKIT Plaform
      • 4D Systems Platform
      • Intel Platform
      • LaunchPad Plaform
      • BoosterPacks for LaunchPads
      • LightBlue Bean
      • Maple Plaform
      • Mediatek Platform
      • Microsoft Azure IoT DevKit
      • Particle Platform
  • Software
    • Exploring RTOS with Galaxia >
      • Event Library
      • Semaphore Library
      • Mailbox Library
      • Timer Library
      • Clock Library
      • SWI Library
      • Task Library
    • Ultra-Low Power with EnergyTrace >
      • Ultra-Low Power with MSP430
      • Ultra-Low Power with Energia MT and Galaxia
    • Using Integers Instead of Reals
    • Going Python?
  • IoT
    • IoT Platforms: Which Hardware? >
      • Matter with Silicon Labs MG24
    • IoT Services: Which Solution? >
      • Recommended IoT Solutions
      • Platform-Specific IoT Solutions
      • Other IoT Solutions
      • Not tested IoT Solutions
      • Notification Solutions
    • Get Date and Time from Internet with NTP
    • Fast and Easy WiFi Connection with QR-Code
  • Tools
    • How to Start?
    • Reference >
      • Asking for Help
      • Boards Pins Maps
      • Ruler
      • Boards and Plugs
      • I²C Logic Level Converter
      • Standards for Connectors
    • Training >
      • Texas Instruments Workshops
      • Embedded Systems: Shape The World — MOOC edX UTAustinX UT.6.02x
      • Embedded Systems - Shape The World: Microcontroller Input/Output — MOOC edX UTAustinX UT.6.10x
      • Embedded Systems - Shape The World: Multi-Threaded Interfacing — MOOC edX UTAustinX UT.6.20x
      • Real-Time Bluetooth Networks: Shape the World — MOOC edX UTAustinX UT.RTBN.12.01x
      • Systems Thinking with Texas Instruments Robotics System Learning Kit
    • Books >
      • Getting Started with the MSP430 LaunchPad
      • Getting Started with Arduino
      • Arduino Cookbook
    • IDE >
      • The Battle of IDEs
      • More Options
      • Assessing the Next Generation of IDEs
      • Tools for Documentation
    • Equipment >
      • Saleae Logic Analyser
      • Rigol DS1102E Oscilloscope
      • XDS110 Debug Probe with EnergyTrace​
      • Segger J-Link Programmer-Debugger
      • Nordic Power Profiler Kit II
  • Projects
    • Libraries >
      • Master I²C Software Library
      • Date and Time Library
      • highView Library Suite
      • Others Libraries
    • smartDevices >
      • I²C smartColours Smart Sensor
      • I²C smartRFID Smart Sensor
      • I²C smartLED Display
      • I²C smartControls Smart Device
      • I²C smartWiFi Smart Device
      • I²C smartBLE Smart Device
      • I²C smartNode Smart Device
    • IoT Projects >
      • Remote E-Paper Weather and Message Board
      • Typie-Walkie with LoRa and E-Paper Screen
      • Typie-Walkie with E-Paper Screen
      • Remote e-Paper Pictures Panel
      • Remote e-Paper Messages Panel
      • Industrial IoT Project
      • Remote Contactless Temperature Monitor
      • Using Node-RED for IIoT
      • Low Power Home Network Weather Monitoring
      • Updated Low Power Home Network Weather Monitoring
      • Weather and Security Station with Blynk
      • SensorTag to Blynk Using Node-RED
      • Pervasive Reporting
    • AI Projects >
      • Colour Recognition with Neural Network
    • Other Projects >
      • Air Quality Monitoring
      • Driving a Large E-Paper Display with a Compact Xiao RP2040
      • Low-Power E-Paper Weather Station
      • Portable Particulate​ Matter Monitor
      • FRAM-based E-Paper Screen Controller
      • General Purpose 3.5" Screen
      • Colour Recognition with Neural Network
      • A Low Power Weather Station
      • Digital Volt-Amp-Watt Meter
      • Mobile Measurement with LCD Display
      • Screen with SRAM for GUI
      • Volt-Amp-Watt-Meter for Grove
      • Multi-Touch Project with CapTIvate

Ultra-Low Power with EnergyTrace

Power management is critical to embedded systems. The MSP430 and SimpleLink MCUs are promoted as ultra-low power MCUs. 

More interestingly, Texas Instruments provides both the APIs to manage power and the tools to measure it.

The main article discusses how to measure with EnergyTrace. Additional articles show how to implement low power modes with Energia and Energia MT.
Picture
One major issue with standard DMMs is called burned voltage. Current measurement is based on measuring the drop in voltage across a shunt resistor. Problem is, this voltage drop may affect the circuit.

Measuring low current is still possible but with more expensive DMMs, called ammeters. I recommend reading the Low Power Measurements Handbook by Keithley / Tektronix.
Picture
Picture
Same circuit current measured on the same DMM with 2 different ranges. 

EnergyTrace

EnergyTrace is a combination of software and hardware, and comes in three levels:
  • EnergyTrace, with current monitoring,
  • ​EnergyTrace+, with current monitoring and CPU states,
  • EnergyTrace++ , with current monitoring, CPU states and peripheral states.

​The hardware doesn't need a dedicated and expensive programmer. The programmer of most of the LaunchPad boards suits perfectly, including ez-FET and XDS110-ET.

If the LaunchPad programmer doesn't feature EnergyTrace, the programmer of another LaunchPad can be used. 

For example, the EnergyTrace-compatible programmer from the LaunchPad MSP430FR5969 is connected to the LaunchPad MSP430G2553. Remove all the jumpers and connect the +3.3V and Ground lines.
​​​
Picture
The software is included in CCS and tracks power consumption and requires a compatible programmer.

​CCS should identify the USB port automatically.
  • Go for EnergyTrace.
  • Select the duration, here 1 minute.
  • Press the green arrow to start recording. ​

If breakpoints have been defined, ​call instead the menu Run > Free Run to ignore the breakpoints and the power consumption associated with debugging.
Picture
Picture

Comparing to a Reference

To measure how power consumption has been optimised, the best way is to compare to a reference.

The reference would be the first EnergyTrace record, saved.

​After the code is modified, the first EnergyTrace record is loaded as reference and a new recording is launched.
​
Picture
Picture
EnergyTrace displays the reference in yellow and the new trace in green. 
Picture
Additionally, EnergyTrace provides all the metrics. 

In this example, battery life has increased by 62%.
Picture

Setting a Trigger for Better Synchronisation

The immediate issue when comparing to a reference is to get the two traces synchronised.

​On the screen shown right, reference is shown in yellow and current measurement in green.

​However, the peeks of power consumption are not synchronised
.
Picture
As an option, the traces can be saved as CSV files and reworked using any spreadsheet like Excel. Be ready for very large files, as EnergyTrace records every 500 us.

On the screen shown right, reference is shown in blue and current measurement in orange. Both have been synchronised manually.

Using Energia MT and the Galaxia library saves 3 mA for the same application.
Picture
But there is a better solution.
​
EnergyTrace offers options for setting triggers to start and stop recording. On the example show right,
  • the Start trigger is set to Power >= 40 mW, and
  • the Stop trigger to Time >= 10.0 s.

Toggling a LED on then off for 10 ms starts the recording, as a LED requires 41 mW. The parameter can be saved as Favourite for later reuse, here called LED + 10 s.
​
Picture
Picture
This technique delivers pretty good results, here about 10 ms.

The LED are toggled every 500 ms.
Picture

Fixing Consistency Issue Between Measures 

This bug affects Code Composer Studio release prior to 9.0.1.

However, there is an issue with the consistency between the Current and the Energy measures and graphs. 

The Energy graph reports cumulated power usage in joule while the Current reports instant current in nA.
​
After the peak of power related to radio transmission ca. 22700 ms, the CC1310 goes back to low power mode.
  • The Current graph still reports ~4.1 mA for 343 ms.
  • The Energy graph stays flat after the peak.

This seems to be inherent to the EnergyTrace technology, as answered at the thread CCS8.1.0 — EnergyTrace Current and Energy Graphs Consistency from the E2E forum.
Picture
As a solution, values need to be exported and the .csv file opened and processed with Excel. Cumulated Energy (uJ) is derived and then converted into current in A.  

On graph shown right, 
the Current measures are in blue, and the derived instant Energy calculations in orange. 

Picture
Code Composer Studio release 9.0.1 brings the much-awaited fix.

​Both Current and Energy graphs are now consistent.

Conclusion

The EnergyTrace technology offers a graphical measurement and follow-up of power consumption. Various LaunchPad boards come with a compatible programmer. There are also USB solutions like the XDS110 Debug Probe with EnergyTrace.

The only drawback relies on having to install the whole CCS IDE and its drivers. 

More specific optimisation techniques are discussed for Ultra-Low Power with MSP430 and Ultra-Low Power with Energia MT and Galaxia.
Picture

Links

  • Low Power Measurements Handbook by Keithley / Tektronix
  • ​Add Documentation and Examples for Low Power Mode
  • How to measure Energy profile in Energia with TI Energy Trace​

Posted: July 26, 2018
Updated: August 09, 2018; 
August 17, 2018
Powered by Create your own unique website with customizable templates.