This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Measuring Current Consumption - Checking Debugger Mode and Normal Mode

  • Custom Board which has NordicSemi nRF51822-QFAA MCU,

a temperature sensor (Si7020-A10), and a white LED. The circuit follows the internal LDO setup.

(Ref. nRF51822_PS v3.1 Section 11.3.1)

  • Softdevice S110 7.1

  • IAR for ARM 7.1

  • SDK 7.2 using HID keyboard example (added some changes of my own)

  • Testing with iPhone 5S, 6 and iPad air (iOS 8.1.3)

/ Nexus 5 and Galaxy Note 3 (Android 4.4.2).

  • Using J-Link Debugger

  • Checking current consumption using Monsoon Power Monitor

/****************************************************************************/

Hi, I was checking the current consumption using my custom board.

I modifed the code like this.

After initializing every parts (timers, ble services, device managers, I2C, and etc.)

the chip does not start advertising before I press the button. After pressing a button,

the board starts to advertise.

In this thread , I read about the power-reset and entering normal mode.

When in debugger mode (when I ran the program connected with the J-Link) and the chip not advertising,

current consumption in debugger mode

the average power and current consumption is shown in the picture.

I use the CR2032 battery. So I setted the battery size as 225mAh and the voltage to 3 Volts.

After plugging out the J-Link and connecting the board with the power monitor's voltage,

I thought the power-reset has occurred.

ref. nRF51_Series_Reference_manual v3.0

Referencing the reference manual, I checked SWDCLK pin with my oscilloscope held low.

Following the thread, the current should drop 1mA.

However, as you see the next picture, the current consumption barely changed.

power consumption

/****************************************************************/

The confusing part was, when I used SoftDevice S110 6.2.1 and SDK 6.1 (testing the same situation),

I got 0.4mA from the power monitor. To sum up my questions,

0.Did I misunderstand the debugger mode or the power-reset?

I used the power source from the power monitor (3 Volts) and disconnected J-Link.

Then doesn't the chip goes to power reset and normal mode?

1.I checked SWDCLK pin held low. Is there other things to check whether the chip is in normal mode?

2.Was there any reports about the current consumption using S110 7.1?

I cannot see what's the big difference when I use S110 6.2.1 and the former version shows the current dropping.

3.The temperature sensor's electrical characteristics are shown in the next picture.

current

I use 7 timers, two buttons, a white LED, and this sensor using I2C.

I'm planning to decrease the current consumption much as possible.

Although it depends how I made the PCB and the code,

could the average current consumption be less than 0.2mA in this situation?

**** Edited 27/March/2015 :**

Sorry for the late response. I tested your example code (which uses WFE and SEV).

Power when using the example code

Looks like there is no critical issue with my custom board. :D

-Regards, Mango922

Parents
  • Hi Mango

    I think the first step is to figure out if this high current consumption is caused by your software or the hardware. To do that, you should start with using application that has known current consumption. First try to measure the current on your board with this example. When you press button 0 (pin 8) the current consumption should be ~3uA. Next you can move to flash the softdevice and a common example in the SDK. If you increase the advertising inteval in a BLE example to 4 seconds, the average current consumption should be 5uA-10uA during advertising. If this is the case, then you know that your hardware is working as expected and then we can focus on improving the application for optimizing current consumtion.

    When you flash the nRF51, it should be in debug mode and consume ~1mA additional current. When you power-reset, you should see a ~1mA drop. If you do not see this drop, then you either are still in debug mode, or your application is having some peripheral enabled that keeps the 16MHz clock source enabled.

    A 16MHz clock source is enabled because of an enabled TIMER peripheral, or something else that requries a 16MHz clock source.

    Unfortunately, there is no direct indication of still being in debug mode, other than the current consumption is excessive. Some customers had problems on custom boards because of disturbance on SWCLK, which triggers debug mode, but it seems that you have already considered that.

    Start with ruling out that this is a hardware problem by measuring current consumption with the software mentioned above. Then we will move on to exploring your application.

    Update 30.3.2015 With the system-on-wakeup-on-gpio, you should have constant ~3uA current consumption, which is not reflected in the image that you show in your edited question from 27.3.2015.

    For further debugging, try to go through the suggestions on this thread in the "Measure current consumption" section.

    Report back with your findings.

  • // Thanks for the example code. I'll try it on my board.

    Edited : 27 / March / 2015 :

    One more thing, you mentioned about increasing the advertising interval.

    I didn't understand how to test my code combining with the link example (the example using WFE and SEV).

    For instance, I use the HID Keyboard example. If I want to test power mode with this example,

    what modification is needed?

    /****************/

    I will :D Thanks for your help!

Reply
  • // Thanks for the example code. I'll try it on my board.

    Edited : 27 / March / 2015 :

    One more thing, you mentioned about increasing the advertising interval.

    I didn't understand how to test my code combining with the link example (the example using WFE and SEV).

    For instance, I use the HID Keyboard example. If I want to test power mode with this example,

    what modification is needed?

    /****************/

    I will :D Thanks for your help!

Children
No Data
Related