How is this current sense circuity design (or why it works?) - Page 1
Forum section: electronics / projects

author: baoshi
author_rank: Regular Contributor
timestamp: May 14, 2015, 12:41:32 pm
content: Hi,I'm referring to the SiLabs (former EFM32) Giant Gecko Starter kit, schematic and documentation available here:https://www.silabs.com/products/mcu/lowpower/Pages/efm32gg-stk3700.aspxThe board boasts its "Advanced Energy Monitor" AEM feature, able to measure 0.1uA to 50mA (114db dynamic range) using a single 4R7 sense resistor, at sample rate 6250sps.So the block diagram and schematic is attached.The current sense amplifier is LTC6102, configured at 6.667xThere are Low range amplifier or 319.75x, and High range amplifier or 2x, using AD8656.From the documentation they claim High range is 250uA-50mA, accuracy 0.1mA, and Low range 0-250uA, accuracy 1uA.So basic calculation,high range 50mAx4.7Rx6.667x2 = 3.13Vlow range 250uAx4.7Rx6.667x319.75 = 2.5Vseems ok.However, at 1uA, voltage across shunt resistor is 4.7uV. LTC6102 has 5uV (typ) and 25uV (max) offset and 2uVp-p noise at 0.1-10hz. This is yet to consider secondary amplifier at high gain.How they guarantee 1uA accuracy without using a bigger sense resistor??? If this works why do we need Dave's uCurrent?

author: Andlier
author_rank: Contributor
timestamp: June 10, 2015, 09:40:37 pm
content: Disclaimer: Used to work at Energy Micro/Silabs a few years back, designing some of the starter kits and development kits.Basically the accuracy is achieved by factory-calibration and testing every board. There is also a built in calibration on startup, very high sample-rate and digital filtering/processing in the microcontroller underneath the LCD-display on the board.The small sense-resistor value is needed to keep the burden voltage at a minimum, don't want the Vcc to fluctuate too much when jumping in and out of sleepmodes, going from nA to mA. A high-side solution is very useful when powering other things off of the kit, (hard to keep track of ground-currents in a prototyping-situation with scope-probes and similar all over the place). The LT6102-amplifier was chosen for its low input bias/offset, high psrr and stability. Only snag with it is the minimum supply voltage of 4V. Yes, it is running out of spec. If you try out the bigger development kit from silabs(energy micro) which has adjustable voltage with the same measurement circuit, you'll notice that the current measurement starts to get wacky at 2.7V because of this.To get higher accuracy there is also a set of calibration resistors on the board, upper right corner in the schematic. These are cycled through every time you power up the kit to calibrate the measurement. An interesting exercise you can do is changing the voltage output of the adjustable LDO on the board to say 3.0 V while the kit is powered and watch how the measurements are offset. Then reboot the kit and you should get accurate values again at the new voltage.The accuracy values given in the manual are based on production-testing every board. Empirically, "all" boards should pass the production test within that spec. But calculating from actual component datasheet values it might look difficult to achieve. (keep in mind that it probably only works at room temperature and so on...) Keep in mind that this is meant as a useful demonstration/code-development tool, what you really need is relative accuracy, ie. is this piece of code more energy friendly than that piece of code. For actual consumption in mA/uA/nA we did actually use the uCurrent+Fluke a lot (only problem with that is when jumping in and out of sleep modes, the lowest range on the uCurrent has too high burden voltage.)I have to say that I have actually used this EFM32 kit's current measurement capability in a number of projects after leaving Silabs. Latest projects involving the nrf51-series from Nordic Semi. I have never come across a better and more accurate tool for energy-profiling code. Being able to see 10kHz current-samples live on a graph, with dynamic range from 100nA to 100mA, visualizing all sleep-modes and active-sections of code is really useful when squeezing out the last mAh from a coincell.Also, interesting side-note, because of the accurate measurements and all the fancy consumption claims in the efm32 datasheet, there is a lot of leakage-protection going on on the kit. Lots of low-leakage analog switches and buffering of signals/debug-lines, sense-voltages etc. to keep the leakage at a minimum, even with debugger connected. These leakages could be calibrated out of the kits measurements, but we didn't want the customers uCurrent-measurements to show for instance ~1.5uA when the datasheet calls for 0.9uA either...

author: baoshi
author_rank: Regular Contributor
timestamp: June 11, 2015, 04:41:01 pm
content: Great information indeed. Thanks so much