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

Current consumption of 320uA after ble advertising stopped.

My custom board with NRF52810 doesn't have an external LF clock, so I am using Synthesised Option.

as per my knowledge clock source will take 320 uA (~200 uA for HF clock and remaining for Lf clock circuitry)

but after stopping BLE advertising it still taking 320 uA.

I Tried running a simple example from sdk17(ble_app_pwr_profiling) in NRF52832 DK board and measured the current,

for Synthesised LF clock Source it is drawing after stopping advertising but for external LF clock (as Board comes with one) 

it is not drawing any current. can anybody point out problem here?

  • Hello,

    The Softdevice keeps the LF clock source active as long as it is enabled even if it is not in an active BLE role. But have you considered selecting the internal RC oscillator as the LF clock source instead? As noted in the Softdevice release notes, the synthesized option is not tested and thus not recommended.

    Best regards,

    Vidar

  • Hi Vidar Berg, Thanks for your reply. I tried to stop and release the LF clock source using

    ble_conn_params_stop() and

    nrf_sdh_disable_request().

    I also tried releasing LF clock Source nrf_drv_clock_lfclk_release(); but no use.

    as you mentioned switching clock source to RC oscillator I am getting an error NRF_ERROR_SOFTDEVICE_NOT_ENABLED. 

    Are there any configuration changes I should do for using the RC oscillator?

  • with RC LF clock, i was able to init ble but when i am bond with android mobile i unable to do.

    I got the following events,

    BLE_GAP_EVT_CONNECTED

    BLE_GAP_EVT_DISCONNECTED

    but PM_EVT_PEER_DATA_UPDATE_SUCCEEDED is expected

  • Did you use the following clock settings when you enabled the Softdevice?

    // </h> 
    //==========================================================
    
    // <h> Clock - SoftDevice clock configuration
    
    //==========================================================
    // <o> NRF_SDH_CLOCK_LF_SRC  - SoftDevice clock source.
     
    // <0=> NRF_CLOCK_LF_SRC_RC 
    // <1=> NRF_CLOCK_LF_SRC_XTAL 
    // <2=> NRF_CLOCK_LF_SRC_SYNTH 
    
    #ifndef NRF_SDH_CLOCK_LF_SRC
    #define NRF_SDH_CLOCK_LF_SRC 0
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. 
    #ifndef NRF_SDH_CLOCK_LF_RC_CTIV
    #define NRF_SDH_CLOCK_LF_RC_CTIV 16
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. 
    // <i> How often (in number of calibration intervals) the RC oscillator shall be calibrated
    // <i>  if the temperature has not changed.
    
    #ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV
    #define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_ACCURACY  - External clock accuracy used in the LL to compute timing.
     
    // <0=> NRF_CLOCK_LF_ACCURACY_250_PPM 
    // <1=> NRF_CLOCK_LF_ACCURACY_500_PPM 
    // <2=> NRF_CLOCK_LF_ACCURACY_150_PPM 
    // <3=> NRF_CLOCK_LF_ACCURACY_100_PPM 
    // <4=> NRF_CLOCK_LF_ACCURACY_75_PPM 
    // <5=> NRF_CLOCK_LF_ACCURACY_50_PPM 
    // <6=> NRF_CLOCK_LF_ACCURACY_30_PPM 
    // <7=> NRF_CLOCK_LF_ACCURACY_20_PPM 
    // <8=> NRF_CLOCK_LF_ACCURACY_10_PPM 
    // <9=> NRF_CLOCK_LF_ACCURACY_5_PPM 
    // <10=> NRF_CLOCK_LF_ACCURACY_2_PPM 
    // <11=> NRF_CLOCK_LF_ACCURACY_1_PPM 
    
    #ifndef NRF_SDH_CLOCK_LF_ACCURACY
    #define NRF_SDH_CLOCK_LF_ACCURACY 1
    #endif
    

  • I tried with the above settings, my code running without any issues but current consumption is 130 uA even I disabled the soft device.

    1. is it current drawn by RC ? 

    2. how to stop it ?

Related