Tip:
Highlight text to annotate it
X
Hi, and welcome to this lecture on the energyAware Profiler and Advanced Energy Monitoring.
In this lecture you will learn how to use the energyAware Profiler and how the Advanced Energy Monitoring works.
The energyAware Profiler is a PC Tool by Energy Micro, that can be used to measure the power consumption of your application.
The tool can be launched directly from Simplicity Studio by clicking the energyAware Profiler button.
Once you have opened the application, you only need to connect the kit and press the play button in order to start profiling.
This window now shows the real-time current consumption of the starter kit that i have connected to my computer.
It is also possible to plot the voltage.
This is not very interesting in this case, since the kit is running from USB power.
But this can be useful if your application is running from a battery or an energy harvesting source.
The energyAware Profiler can also correlate this data directly with the code running on the MCU. To do this, we have to do two things.
First, copy this function into your program and then execute it at the start of your main() method.
We then have to load the object file into the energyAware Profiler.
Once the object file has been loaded we can click on a point in the graph and the code view will jump to the corresponding line in the code.
The Energy Profile window shows accumulated time spent in each function.
We can pause the current profiling at any time, if we want to inspect some part of the graph.
We can zoom in and out by using the drop down menu.
To select a region, we first have to left click to select a point, and then right click to set a marker at that point.
We do the same thing for a second point and we have selected a region.
The average current consumption for that region can be read at the bottom of the program.
The energyAware Profiler receives it’s data from the AEM, or Advanced Energy Monitoring,
which is present on all Energy Micro Starter and Development Kits.
The AEM is continuously measuring current and voltage and receives samples of the program counter from the EFM32.
All of this data is timestamped and sent to the computer over USB.
On the development kits, the current and voltage can also be viewed directly on the TFT display.
The current measurement has to have a large dynamic range because the consumption for an MCU
varies several orders of magnitude between active mode and sleep modes.
The dynamic range for the AEM is ranging from 0.1uA and up to 50mA.
To facilitate this, a current sense amplifier is utilized together with a dual gain stage.
The current sense amplifier measures the voltage drop over a small series resistor,
and the gain stage further amplifies this voltage with two different gain settings to obtain two current ranges.
The ranges overlap and the board controller switches between the gain stages at about 250 uA.
In the high current range, the low-gain amplifier is used and the accuracy is 0.1 mA.
When the current drops below 250 uA, the high- gain stage kicks in and the accuracy increases to 1uA.
And even though the absolute accuracy is 1 uA, the AEM is able to detect changes in the current consumption as small as 100 nA.
It is also possible to measure your own PCBs. The constraint is that the PCB has to be powered from the regulated 3.3V power supply
from the Starter or Development Kit.
When measuring your own board, first put the MCU on the kit in Energy Mode 4.
In this mode the MCU only consumes 20 nA so it will have a very small impact on the measurement.
A good way to put the MCU in EM4 is to use the Emode Demo found in Simpilicity Studio.
With this demo you can use the buttons on the kit to select an energy mode and stay there until the board is reset.
Then, connect VMCU and GND from the STK to the supply on your PCB and make sure this is the only power source.
The AEM now measures the consumption of the entire PCB including the EFM32 and other parts of the application.
Thanks for watching! For more information go to energymicro.com.