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

What are the three source differences of low frequency clock? (precision comparison / power consumption comparison)

Hi,Master:

Platform: 52840
Protocol stack: S14

Problem:
Three sources for LFCK
• 32.768 kHz RC oscillator (LFRC)
• 32.768 kHz crystal oscillator (LFXO)
• 32.768 kHz synthesized from HFCLK (LFSYNT)

1. Which is the highest precision and how much higher? (If used for time counting, what is the error of the day with the lowest accuracy? What is the highest accuracy?)
2. Which power consumption is the largest and how much? Which power consumption is the lowest and how much power is there?
3.rc_ctiv/rc_temp_ctiv/accuracy How much different values of each field affect power consumption?

typedef struct
{
uint8_t source; /**< LF oscillator clock source, see @ref NRF_CLOCK_LF_SRC. */
uint8_t rc_ctiv; /**< Only for ::NRF_CLOCK_LF_SRC_RC: Calibration timer interval in 1/4 second
units (nRF52: 1-32).
@note To avoid excessive clock drift, 0.5 degrees Celsius is the
maximum temperature change allowed in one calibration timer
interval. The interval should be selected to ensure this.

@note Must be 0 if source is not ::NRF_CLOCK_LF_SRC_RC. */
uint8_t rc_temp_ctiv; /**< Only for ::NRF_CLOCK_LF_SRC_RC: How often (in number of calibration
intervals) the RC oscillator shall be calibrated if the temperature
hasn't changed.
0: Always calibrate even if the temperature hasn't changed.
1: Only calibrate if the temperature has changed (legacy - nRF51 only).
2-33: Check the temperature and only calibrate if it has changed,
however calibration will take place every rc_temp_ctiv
intervals in any case.

@note Must be 0 if source is not ::NRF_CLOCK_LF_SRC_RC.

@note For nRF52, the application must ensure calibration at least once
every 8 seconds to ensure +/-500 ppm clock stability. The
recommended configuration for ::NRF_CLOCK_LF_SRC_RC on nRF52 is
rc_ctiv=16 and rc_temp_ctiv=2. This will ensure calibration at
least once every 8 seconds and for temperature changes of 0.5
degrees Celsius every 4 seconds. See the Product Specification
for the nRF52 device being used for more information.*/
uint8_t accuracy; /**< External clock accuracy used in the LL to compute timing
windows, see @ref NRF_CLOCK_LF_ACCURACY.*/
} nrf_clock_lf_cfg_t;

/**@defgroup NRF_CLOCK_LF_ACCURACY Clock accuracy
* @{ */

#define NRF_CLOCK_LF_ACCURACY_250_PPM (0) /**< Default: 250 ppm */
#define NRF_CLOCK_LF_ACCURACY_500_PPM (1) /**< 500 ppm */
#define NRF_CLOCK_LF_ACCURACY_150_PPM (2) /**< 150 ppm */
#define NRF_CLOCK_LF_ACCURACY_100_PPM (3) /**< 100 ppm */
#define NRF_CLOCK_LF_ACCURACY_75_PPM (4) /**< 75 ppm */
#define NRF_CLOCK_LF_ACCURACY_50_PPM (5) /**< 50 ppm */
#define NRF_CLOCK_LF_ACCURACY_30_PPM (6) /**< 30 ppm */
#define NRF_CLOCK_LF_ACCURACY_20_PPM (7) /**< 20 ppm */
#define NRF_CLOCK_LF_ACCURACY_10_PPM (8) /**< 10 ppm */
#define NRF_CLOCK_LF_ACCURACY_5_PPM (9) /**< 5 ppm */
#define NRF_CLOCK_LF_ACCURACY_2_PPM (10) /**< 2 ppm */
#define NRF_CLOCK_LF_ACCURACY_1_PPM (11) /**< 1 ppm */

thanks!

Parents
  • Hi

    1. The LFXO crystal will be the most accurate one, you can see specifics on this here. If using LFSYNT the LF clock will have the same accuracy as the HF clock you're using to synthesize it.

    2. LFSYNT is the most power-consuming, as it requires the HF clock to be running (you can see its run currents in the link above). The LFXO clock is the least power consuming, having a run current of ~0.23µA.

    3. Please check the product specification for more information on this.

    In general, the LFXO crystal will be the best option for high accuracy and low power consumption, so we generally recommend using that.

    Best regards,

    Simon

  • Hi,Simon

    Thank you very much for your guidance.

    I still don't understand some places.

    1. When LFCK selects LFRC, do you need to use external LFXO for auxiliary calibration ( Document 5.2.4.1:"The LFRC oscillator can be calibrated to improve accuracy by using the HFXO as a reference oscillator during calibration. The LFRC oscillator does not require additional external components." ), if so, what is the significance of the user selecting internal RC as the clock source? Isn't it better to use LFXO directly?

    2. What are the advantages and disadvantages of LFSYNT and LFRC? What is the significance of adding LFSYNT to the design?

    3. What is the value of the accuracy of the "nrf_clock_lf_cfg_t" field?

    thanks!

  • 1. You use the HFXO (external High-frequency clock) as a reference for calibration, which causes the HF clock to wake up now and then for calibration, which is why the RC oscillator draws more power than the LFXO (external LF clock). Yes, it is better to use the LFXO, it's just that some modules do not ship with this clock, and it takes space on a circuit board, which in some cases, causes customers to remove it for a smaller form factor.

    2. The LFSYNT's advantages are that it has the same precision as the HF clock, and can be used without the components necessary for the LFXO, so if the current consumption doesn't matter, but the form factor and precision of the clock does. The LFSYNT would be the best choice. If the form factor and current consumption matters, but the clock precision doesn't then the LFRC would be the clock of choice. For most other use-cases, the LFXO will be the optimal LF clock.

    3. The accuracy is set in the sdk_config.h file, and can be modified to any of the specified values. Keep in mind that the LFRC clock can not be more accurate than 250 PPM, while (I believe) the other two can both be set up to 500 PPM.

    Best regards,

    Simon

Reply
  • 1. You use the HFXO (external High-frequency clock) as a reference for calibration, which causes the HF clock to wake up now and then for calibration, which is why the RC oscillator draws more power than the LFXO (external LF clock). Yes, it is better to use the LFXO, it's just that some modules do not ship with this clock, and it takes space on a circuit board, which in some cases, causes customers to remove it for a smaller form factor.

    2. The LFSYNT's advantages are that it has the same precision as the HF clock, and can be used without the components necessary for the LFXO, so if the current consumption doesn't matter, but the form factor and precision of the clock does. The LFSYNT would be the best choice. If the form factor and current consumption matters, but the clock precision doesn't then the LFRC would be the clock of choice. For most other use-cases, the LFXO will be the optimal LF clock.

    3. The accuracy is set in the sdk_config.h file, and can be modified to any of the specified values. Keep in mind that the LFRC clock can not be more accurate than 250 PPM, while (I believe) the other two can both be set up to 500 PPM.

    Best regards,

    Simon

Children
Related