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

When is crystal standby current drawn? Not when ON and all blocks idle?

Section 8.1.2 of the nRF51822 Product Specification states that the "Standby current for 16 MHz crystal oscillator" is 35 uA. The footnote says that the current is drawn "when there are no resources requesting the 16M, meaning there is no clock management active".

The product specification also says that the chip consumes 2.3 uA in ON mode, all blocks Idle.

I don't understand this. I would think that the standby current would be drawn in the second case? Why not?

  • Hi Erland,

    the standby current for the external crystal oscillator will come on top of those 2.3 µA, as you suggest. 2.3 µA idle current is when internal RC oscillator is used.

    In addition to having a higher standby current, the crystal oscillator has a significantly lower running current than the internal RC oscillator (400 µA vs 750 µA). This means that when 16M usage rise above X %, it is beneficial to keep the external crystal running. Assuming that the internal RC oscillator consumes ~0 µA in standby:

    400 µA * X/100 + 35 µA * (100 - X)/100 = 750 µA * X/100
    X ~= 9 %
    
  • So, in a BLE application, is it always neccessary to have at least one 16 MHz oscillator in standby? The minimum current possible to draw in "ON, all blocks idle" in a BLE application is therefore 37 uA?

    If this is the case, then the 2.3 uA figure in the product specification sounds grossly misleading.

  • The nRF8001 doesn't have this issue, does it? It actually draws 2 uA in idle mode, despite having a 16 MHz crystal? I didn't find anything in its product specification about this.

    Thanks,

    Erland

  • This current is, as Audun says, consumed when the external high-frequency crystal is running, but no module is actually requiring it. Control of the external crystal is normally handled automatically by the softdevice, and turned off in between connection intervals. However, there is an API function to request the external HFCLK to be on, in case the application needs it for something else than the radio (for example the peripherals indicated in table 24 in the PS). If you call this function, but there isn't any peripheral active that actually requires this oscillator, you will see this current draw. Normally, in between connection intervals, you will therefore see I_ON,IDLE + I_RTC + I_X32k/I_RC32k, as given in section 8.1 in the SoftDevice Specification, which equals 2.3 + 0.2 + 0.4/0.8 µA, depending on 32.768 kHz clock source used.

    What Audun is trying to explain is however that the internal RC consumes more current than the external crystal. If you have a lot of application processing (i.e. run the CPU for long periods), there is a point where the 16 MHz RC is running for so much of the time anyway that it is actually beneficial to instead always run the external crystal, since it has lower run current.

Related