0
\$\begingroup\$

In the context of an academic project, I designed a PCB which includes an MCU (EFM32), a GSM module and a GPS module. One of the main target was for the system to be low power. However, now that it is time to measure my results with a DC Power Analyser I get surprisingly high values of current consumption.

Of course, it could be an hardware design problem and I won't omit this possibility but obtaining 5+ mA while my MCU is in sleep mode (should consume just some uA), the other modules are not powered and with low quiescent current voltage regulators (all < 20 uA) makes me question my measuring methods.

Here is some possible answers I am considering to my problems

  1. The PCB was in debug mode (wired to a Starter Kit) while I was measuring. Does it matter? If yes, what is the proper way of doing it?
  2. I plugged my DC Power Analyser directly on the pins of where a Li-Ion battery is supposed to be plugged. Therefore, it is under the control of a battery charge circuitry which could bias the measurement by trying to charge the DC Power Analyser. Is it possible?

What do you guys think?

\$\endgroup\$
  • \$\begingroup\$ Could you post a link to the DC Power Analyzer device which you area using? \$\endgroup\$ – Nick Alexeev Jan 3 '15 at 22:59
  • \$\begingroup\$ I am using a N6705B DC Power Analyzer. \$\endgroup\$ – user1553136 Jan 5 '15 at 11:09
3
\$\begingroup\$

Of course, it could be an hardware design problem and I won't omit this possibility but obtaining 5+ mA while my MCU is in sleep mode

One problem may be the UART TX lines. They are HIGH in idle, and could power the GPS or GSM module via ESD diodes. Standard pin drive is ~6mA, btw.

To avoid this problem you could configure the pins back to GPIO in the U(S)ARTx->ROUTE register and drive the GPIO pins low, or you could enable the TXINV and RXINV bit to negate the UART logic while the modules are not powered.

\$\endgroup\$
  • \$\begingroup\$ This is really interesting. All my LEUART have been disabled but I don't thing I did drive all the GPIO low. I will try that. However, I am not sure to understand the ESD diodes effect you are talking about. Let me know if you have some resources about it. \$\endgroup\$ – user1553136 Jan 3 '15 at 23:20
0
\$\begingroup\$

For the debugger, my experience was that as long as you dont pause program execution, the mcu behaves as expected. You can ofcourse also try withouth the debugger.

For the charging bit, you could simply rise the voltage to signal a full battery, so the charger should stop charging.

There is also a posibility that the debugger has internal pull downs that increase the current consumption.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.