Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52840 examples with LFRC and calibration?

I am designing a custom board with a nRF52840 module that has no 32.768 kHz crystal embedded in it and as a first step want to test it with some examples that use only RC LFCLK.

The Blinky example doesn’t have any clock configured in the sdk_config.h (even the section for such configuration is missing), so can I assume that this example uses LFRC as it declared as default source  in the documentation?

Which other examples use LFRC and is there any example with a calibration?

Thanks

Parents
  • Hi,

    All project configurations for the 52840 DK (pca10056) use the LFXTAL by default, but you can easily change this in the project's sdk_config header.

    Softdevice LFRC 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 was referring  to this example, which doesn’t have any clock initialization in the the sdk_config.h (even the section for such configuration or any NRF_SDH_CLOCK* is missing):

    …\SDK17\examples\peripheral\blinky\pca10056\blank\ses\blinky_pca10056.emProject

    So the initial question is still on the table Wink

    Thanks

  • Sorry, I just assumed you were using the Bluetooth blinky example. The blinky example you're referring to does not use the 32K clock source, only the HFINT.

  • Ok, thanks, but could you point me to some example in SDK that shows 

    Calibrating the 32.768 kHz RC oscillator

    Not necessary to be for PCA10056 - I anyway have only PCA10040 so far ...

    Thanks

Reply Children
Related