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

nRF52810 power optimization

Hi,

I am currently working on an application for nRF52810. It has only advertising feature and I calculated the consumption with online calculator. The values I got from the calculator are:


but in the real device I get values:
* 5s adv average: 3.9uA
* in sleep average: 1.46uA
* send peak: 6.67mA

This is the power consumption diagram:

I am using module  ISP1507_AL  and I am not sure where I can lower the consumption to get to the calculated values.
Suggestions and questions are welcomed.

Thank you,

Voja. 

Parents
  • Have you set the external crystal as the LFCLK source?

    What is your Supply Voltage?

    The ISP1507_AL is an exact copy of our reference design, so I doubt the issue lies with the SiP.  

  • Hi,

    I think the crystal is set correctly, this is the part of the sdk_config.h for that:

    // </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 1
    #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 0
    #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 0
    #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 7
    #endif
    
    // </h> 

    The supply voltage is 3V.


  • Yeah, that looks correct. 

    What's your operating temperature? The calculator assumes 25C operating temperature.

    See Figure 2. System ON, Full 24 kB RAM retention, Wake on any event (typical values) in Sleep.

  • May I have a question?

    ISP1507 datasheet:

    Shouldn't be correct setting:
    #define NRF_SDH_CLOCK_LF_ACCURACY 5
    ?

  • Yes, you're correct. If a module has a 32kHz crystal already then you need to follow its spec.

Reply Children
  • I forgot to include relevant datasheet's footnote:

    In https://devzone.nordicsemi.com/f/nordic-q-a/44087/accuracy-of-the-32-768khz-xtal-oscillator-over-temperature is this statement:

    "frequency drift due to temperature is not taken into account in the NRF_CLOCK_LF_ACCURACY"

    Now I'm not sure. Am I not wrong with "5" for NRF_SDH_CLOCK_LF_ACCURACY (i.e. 50ppm)?

    Basic initial frequency tolerance only is NOT KNOWN.

    Shall I take into account initial frequency tolerance only OR initial tolerance+drift+aging+frequency pulling?

    Does mean high ppm (low NRF_SDH_CLOCK_LF_ACCURACY) also higher current consumption?

  • Hey again, sorry for the late reply.

    If you send us your device for pre-certification scan and antenna tuning we will measure the the absolute frequency offset at room temperature, if you include drift, aging, and operating temperature range then you'll have your actual PPM tolerance. 

    The tolerance setting does have an impact on the current consumption. The radio's will have to have a larger receive window due to clock inaccuracies in order to successfully receive a transmission, the larger the inaccuracy the larger the receive windows have to be. This in turn translates to more on-time of the radio and thus a larger current consumption. 

    How much current you can save depends on the connection parameters. 

Related