Real-Time Current Monitor Rev 2
Systems now have to run forever from a measly electron or two. Some MCUs only need tens of microamps/MHz. So, how much current does your system require?
Back in 2013 I wrote about the Real-Time Current Monitor (RTCM), an inexpensive tool for measuring the current consumed by low-power electronic devices. There’s a new version of the RTCM which, among other things, adds USB connectivity for both control, and display of voltage, current and power. Like the older unit, the new RTCM also has an output that goes to your oscilloscope. Why two outputs? The unit’s raison d'être is to show – in real time – the current consumed by an MCU-based device. Modern controllers offer a mind-bending array of low power modes, which many devices use as they cycle from dead asleep through doze and wide-awake modes. To profile what is happening you really need a scope to follow these rapidly-changing events.
It could make sense to use one scope channel to trigger acquisition when, say, a GPIO pin is asserted, which may signal the start of some event. Perhaps that is the MCU waking up. Then another channel can monitor the RTCM’s output to watch current consumption as the device under test (DUT) sequences through various power consumption profiles.
Readers responding to my article about the older version of this piece of test equipment showed that I did a poor job of explaining the value of the device. Some readers wondered why one would buy this device instead of just putting a sense resistor in the power or ground line and connecting a scope to that. After all, that’s essentially what the $199 RTCM does: It monitors voltage drop across a sense R. Two hundred bucks for a resistor? You could get nearly a million from Digi-Key for the same price.
But a simple resistor just won’t do what needs to be done. Consider: suppose the current being consumed is around 1 uA. A one ohm R will drop 1 uV, which no scope can see. You could, instead, use a 1K R, which will give a perhaps-discernable 1 mV drop. But what if the system wakes up and starts drawing 10 mA? The system will crash due to too much drop.
Dave Jones addressed this problem with his uCurrent device. It has three switch-selectable scales with three different sense resistors. An amplifier boosts the drop so the DUT sees a well-regulated supply. But someone has to flip the switch, which is impossible in products that dynamically and rapidly change current profiles.
Why not use a low-value sense resistor with a very high gain amplifier? Dynamic range kills you; if there’s enough gain to see low-current events it will saturate when higher currents are demanded.
The RTCM takes an interesting approach: the scope output is the logarithm of the sensed voltage.
Why log(V)? The log lets the scope show a wide dynamic range of results. Here’s an example: the green trace is the RTCM’s output in log(V). The yellow trace is the linear drop across a sense resistor:
The points labeled “5”, “6”, “7” and “8” are virtually the same on the linear display, but represent a 4X range in current. The log display, by contrast, gives us useful data.
The RTCM can handle a dynamic range of six orders of magnitude, from one uA to an amp.
The downside is that log amplifiers tend to be slow. The RTCM has a 1 KHz bandwidth. But that’s a lot faster than trying to flip range switches.
For meta-analysis, the USB link provides instantaneous and cumulative current and power consumed by the DUT. Here’s an example. Two Tera Term windows are open; one shows the results, the other sends commands to the unit. The list of possible commands is shown:
I like the uCurrent for handling cases where the dynamic range is small. IAR and Microchip make nice tools for measuring current inside their IDEs. But the RTCM fills an important niche where one must monitor rapidly-changing currents. Its ability to report cumulative current consumed is important for engineers designing battery-powered equipment, as one needs to know the total amp-hours used to compute battery life.
You can get it from http://www.ee-quipment.com/.
Jack G. Ganssle is a lecturer and consultant on embedded development issues. He conducts seminars on embedded systems and helps companies with their embedded challenges, and works as an expert witness on embedded issues. Contact him at firstname.lastname@example.org. His website is www.ganssle.com.