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

 

  1.   1
  2.   摘要
  3.   商标
  4. 1振荡器和晶体基础知识
    1. 1.1 振荡器操作
    2. 1.2 石英晶体电气模型
      1. 1.2.1 振荡频率
      2. 1.2.2 等效串联电阻
      3. 1.2.3 驱动电平
      4. 1.2.4 晶体牵引
    3. 1.3 负电阻
    4. 1.4 振荡器的时间常数
  5. 2CC 器件晶体振荡器概述
    1. 2.1 24MHz 和 48MHz 晶体振荡器
    2. 2.2 24MHz 和 48MHz 晶体控制环路
    3. 2.3 32.768kHz 晶体振荡器
  6. 3为 CC 器件选择晶体
    1. 3.1 运行模式
    2. 3.2 频率精度
      1. 3.2.1 24MHz 和 48MHz 晶体
      2. 3.2.2 32.768kHz 晶体
    3. 3.3 负载电容
    4. 3.4 ESR 和启动时间
    5. 3.5 驱动电平和功耗
    6. 3.6 晶体封装尺寸
  7. 4晶体的 PCB 布局
  8. 5测量晶体的振荡幅度
    1. 5.1 测量启动时间来确定 HPMRAMP1_TH 和 XOSC_HF_FAST_START
  9. 6适用于 CC13xx、CC26xx 和 CC23xx 的晶体
  10. 7高性能 BAW 振荡器
  11. 8参考文献
  12. 9修订历史记录

测量启动时间来确定 HPMRAMP1_TH 和 XOSC_HF_FAST_START

以下代码可用于为 CC26X2 和 CC13X2 器件测量高频晶体的近似导通时间。这项功能的工作原理是计算从启用高频时钟到高频时钟符合要求之间的低频时钟沿数量。若要获得更加精确的结果,需要使用外部测量设备。

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 );
}

对于 CC26XX 和 CC13XX,以及 CC26X2 和 CC13X2 器件,也可以使用 OSCHF_DebugGetCrystalStartupTime() 的内置 driverlib 实现来测量晶体启动时间。