SWRA495L December   2015  – April 2025 CC1310 , CC1350 , CC2620 , CC2630 , CC2640 , CC2640R2F , CC2640R2F-Q1 , CC2642R-Q1 , CC2650 , CC2662R-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. Oscillator and Crystal Basics
    1. 1.1 Oscillator Operation
    2. 1.2 Quartz Crystal Electrical Model
      1. 1.2.1 Frequency of Oscillation
      2. 1.2.2 Equivalent Series Resistance
      3. 1.2.3 Drive Level
      4. 1.2.4 Crystal Pulling
    3. 1.3 Negative Resistance
    4. 1.4 Time Constant of the Oscillator
  5. Overview of Crystal Oscillators for CC devices
    1. 2.1 24MHz and 48MHz Crystal Oscillator
    2. 2.2 24MHz and 48MHz Crystal Control Loop
    3. 2.3 32.768kHz Crystal Oscillator
  6. Selecting Crystals for the CC devices
    1. 3.1 Mode of Operation
    2. 3.2 Frequency Accuracy
      1. 3.2.1 24MHz and 48MHz Crystal
      2. 3.2.2 32.768kHz Crystal
    3. 3.3 Load Capacitance
    4. 3.4 ESR and Start-Up Time
    5. 3.5 Drive Level and Power Consumption
    6. 3.6 Crystal Package Size
  7. PCB Layout of the Crystal
  8. Measuring the Amplitude of the Oscillations of Your Crystal
    1. 5.1 Measuring Start-Up Time to Determine HPMRAMP1_TH and XOSC_HF_FAST_START
  9. Crystals for CC13xx, CC26xx, CC23xx and CC27xx
  10. High Performance BAW Oscillator
  11. CC23XX and CC27XX Software Amplitude Compensation
  12. Internal Capacitor Array for CC23XX and CC27XX
  13. 10Internal Capacitor Array for CC13xx and CC26xx
  14. 11Summary
  15. 12References
  16. 13Revision History

Measuring Start-Up Time to Determine HPMRAMP1_TH and XOSC_HF_FAST_START

The following code can be used to measure the approximate turn on time of the high frequency crystal for CC26X2 and CC13X2 devices. This function works by counting the number of low frequency clock edges from the enabling of the high frequency clock to the high frequency clock being qualified. For more accurate results, external measurement equipment is required.

uint32_t OSCHF_DebugGetCrystalStartupTime( void )
{
   uint32_t lfEdgesFound = 0 ;
   // Start operation in sync with the LF clock
   HWREG( AON_RTC_BASE + AON_RTC_O_SYNCLF );
   OSCHF_TurnOnXosc();
   while ( ! OSCHF_AttemptToSwitchToXosc() ) {
      HWREG( AON_RTC_BASE + AON_RTC_O_SYNCLF );
      lfEdgesFound ++ ;
   }
   OSCHF_SwitchToRcOscTurnOffXosc();
   return ( lfEdgesFound );
}

For CC26XX and CC13XX, and CC26X2 and CC13X2 devices, the crystal startup time can also be measured using built in driverlib implementation of OSCHF_DebugGetCrystalStartupTime().