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

What's the benefit of having an external 32 kHz crystal?

What are the benefits of having an external 32 kHz crystal instead of using the internal RC oscillator?

Parents
  • An external 32 kHz crystal will give lower average current consumption than using the RC oscillator, at the expense of cost and board space. There are primarily 3 reasons the current consumption is lower:

    1. The RC oscillator must be calibrated every 4 seconds to be accurate enough. Calibration normally takes about 17 ms, and requires the 16 MHz to be running, giving an average current consumption increase of about 6-7 µA.
    2. The receive window must be widened to account for the worse accuracy. Since the RC is 250 ppm, compared with typically 20-30 ppm for an external crystal, the radio must receive for a slightly longer time, giving an increase of 1-2 µA average
    3. The run current or the RC is 0.8 µA instead of 0.4 µA for a typical crystal.

    In total, this gives 8-10 µA extra average current consumption. Depending on application, this may be enough to justify the cost and board space for a crystal.

  • @CR - I assume that during sleep the 32MHz clock is turned off and 32KHz is turned on. After wakeup the time is recomputed. But due to RC oscilator being less precise - the recomputed time is less precise. So even though HF (32MHz) xtal is started for receiving BLE operation. The RX windows has to be start sooner (in case RC osc was slower) and end later (in case RC osc was faster). Therefore RX windows is wider. And chip has increased RX currrent for longer time - Which no-one wants... If you use small battery and want to run it significantly longer just use 32Khz xtal... Also you will save extra time for calibration. Basically what they most likiely do is that they run precise HF xtal and LF low precise RC. Then they know how many HF clocks is per one LF clcock. And can recompute LF->HF. But the thing is that RC oscilator changes in time due to temperature and what not.

Reply
  • @CR - I assume that during sleep the 32MHz clock is turned off and 32KHz is turned on. After wakeup the time is recomputed. But due to RC oscilator being less precise - the recomputed time is less precise. So even though HF (32MHz) xtal is started for receiving BLE operation. The RX windows has to be start sooner (in case RC osc was slower) and end later (in case RC osc was faster). Therefore RX windows is wider. And chip has increased RX currrent for longer time - Which no-one wants... If you use small battery and want to run it significantly longer just use 32Khz xtal... Also you will save extra time for calibration. Basically what they most likiely do is that they run precise HF xtal and LF low precise RC. Then they know how many HF clocks is per one LF clcock. And can recompute LF->HF. But the thing is that RC oscilator changes in time due to temperature and what not.

Children
No Data
Related