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

51802 debug mode consuming less power?

Hi community, I'm running a 51802 on my custom board with no other parts on it, except for some buttons and leds directly connected to GPIO, and a DC/DC converter which feed the 51802 with 1.8V power directly. I'm running a custom 2.4G protocol with neither softdevices, nor Gazell lib, which keep 16M clock always running.

Now when I try to optimize power, I've found some interesting thing that I can't find an explanation. I measure current before the DC/DC, so the absolute current read is not so relevant. The cpu is running the main loop steadily merely check for GPIO buttons, not much radio activities except sending a heartbeat packet every second,

the current read 2.21mA.

But if I reset the board to debug mode(with jlink plugged),

the current read 0.96mA.

I've checked this many times to make sure, as long as power is on, the consumption keeps the low state, and there seems no difference of the functionality of the 51802.

So my question is: why in debug mode, the power consumption reduced to about 44% of the normal state? what's changed inside the chip?

Parents
  • Hi,

    It’s actually the other way around. When you do a power-reset, the nRF51 will exit debug mode. Debug mode consumes around ~1mA, so you will see a ~1mA reduction when you resume normal mode. Please see section 11.1.3 "Resuming Normal Mode" in the nRF51 reference manual

  • It could be that the chip enters debug mode when you first power the board on, even if the debugger is not connected. It won’t enter debug mode just by simply plugging in the debugger, but since the board does a power-on reset when you connect the debugger, it could actually exit debug mode when you connect the debugger and go into normal mode. After you remove the debugger, it would continue to stay in normal mode.

    What does the on-board button do?

    If you start a debug session in KEIL, and let the program run, what current do you measure then?

    From the reference manual, we have that

    To guarantee that the device remains in normal mode, the SWDCLK line must be held low, that is, '0', at all times. Failing to do so may result in the DIF(Debugger Interface) entering into an unknown state and may lead to undesirable behavior and power consumption.

    Could to try to connect the SWDCLK pin to ground, and then start your board up, and see what current you measure then.


    If the issue is still present after this, you should check for floating pins that could be causing this.

Reply
  • It could be that the chip enters debug mode when you first power the board on, even if the debugger is not connected. It won’t enter debug mode just by simply plugging in the debugger, but since the board does a power-on reset when you connect the debugger, it could actually exit debug mode when you connect the debugger and go into normal mode. After you remove the debugger, it would continue to stay in normal mode.

    What does the on-board button do?

    If you start a debug session in KEIL, and let the program run, what current do you measure then?

    From the reference manual, we have that

    To guarantee that the device remains in normal mode, the SWDCLK line must be held low, that is, '0', at all times. Failing to do so may result in the DIF(Debugger Interface) entering into an unknown state and may lead to undesirable behavior and power consumption.

    Could to try to connect the SWDCLK pin to ground, and then start your board up, and see what current you measure then.


    If the issue is still present after this, you should check for floating pins that could be causing this.

Children
No Data
Related