Why does my nRF51822 consume > 1 mA in sleep?

No matter what sleep mode I put my nRF51822 in (system on, idle, system-off), it seems that the base current is above 1 mA. Is this how it's supposed to be?

  • No, this is most definitely not a reasonable measurement. When in system on, idle, the consumption should be ~3 µA, and in system off < 1 µA. These numbers are given in table 23 (Power management) in the nRF51822 PS.

    There is primarily one suspect when seeing consumption above 1 mA in sleep, and that is the debug interface. The debug interface of the chip will stay enabled after having flashed it, and will not be disabled until a full reset (i.e. removing and re-applying voltage to the chip).

    If this does not help, you should consider which peripherals you have running. Table 24 in the PS shows which peripherals needs which clock sources and regulators, and as a rule-of-thumb, anything that requires the 16 MHz clock is high power, while everything else is low-power. In general, as many peripherals as possible should be powered down while in sleep, by setting their ENABLE registers to 0 or similar.

    Edit: To understand power management on the nRF51 series devices a little better, this question may also be useful.

    Also, as Ello points out below, you can do a pin-reset to disable the debug interface by using

    
    nrfjprog -p
    
    
  • The debug interface of the chip will stay enabled after having flashed it, and will not be disabled until a full reset (i.e. removing and re-applying voltage to the chip).

    A pin-reset will also disable the debug interface, but by default pin-reset is disabled in debug mode. To enable pin-reset again, you can send this command in JLink: w4 40000544 1 // Write 1 to the POWER.RESET register

    Then hold SWCLK and nRESET low for over 100 us. (I don't know if the 'r' command in JLink will work..).

  • Hi,

    I found with the current version of nrfjprog (comes with nRF51 SDK v4.3), I could also trigger a pin reset by using:

    nrfjprog.exe -p

    The device ran in normal mode after that.

    Ello

  • hi,

    I can't using nrfjprog.exe -p success with this error: ERROR: JLinkArm.dll returned an error condition. Try again. If the condition per sists, please report the error to Nordic Semiconductor support with the text "pi n_reset_ignore_pall: return code 8". how it's supposed to be?

  • I also encountered the same situation,the picture is below。ERROR: JLinkArm.dll returned an error condition. Try again. If the condition per sists, please report the error to Nordic Semiconductor support with the text "pi n_reset_ignore_pall: return code 8".

    捕获.PNG

Related