cc2530 时钟系统

 时间:2024-10-11 23:38:27

1、首先需要了解cc2530芯片的时钟源,知道主时钟与低频时钟的概念,不清楚的可以先看我的分享《cc2530的时钟(datasheet)》。cc2530时钟源主要是4个:对于高频时钟(系统时钟)可以是外接的32MHz晶振,也可以是内部的16MHz RC振荡器;对于低频时钟(32kHz),可以是外接32.768MHz晶振,也可以是内部的32.768MHz RC振荡器。

2、参考帖子可以知道,石英晶体的精度高,但是耗电大、启动缓慢,而芯片内部自带的RC振荡器虽然精度略低,但启动速度快、耗电低,十分适合在低功耗场合,并且无需外接电子器件就可以工作,降低成本!在上电默认使用的是内部的RC振荡器!

3、为了自由配置所需要的时钟,主要借助于CLKCONCMD.OSC选择系统主时钟,而借助于CLKCONCMD.OSC32K则用于选择芯片32K时钟源!而低功耗模式设置时,需要借助于SLEEPCMD寄存器,在swru191e(cc2530datasheet)中并没有说明SLEEPCMD第二位功能,如下所示:

cc2530 时钟系统

4、但是参考cc2430芯片的说明书可以发现,对应的SLEEP寄存器则有说明,如下所示,小编的理解是,皈其拄攥TI收购Chipcon公司,随之将cc2430 2.4GHz Zigbee解决方案也收入,进一步优化芯片,更新电路IC设计,c2530与之前推出的2430芯片相比,应该具有许多相似之处,可能是cc2530推出不久,说明文档不够详细,当然不排除TI有意隐藏芯片细节的可能,字面的解释就是,当SLEEPCMD.OSC_PD为0时,32MHz晶振与16MHz RC振荡器都会起振:

cc2530 时钟系统

5、对于SLEEPSTA寄存器中BIT6/BIT5说明在cc2530说明书中也并没有说明,可以参考cc2430说明书中内容,其中第6位XOSC_STB表明外部高速32M晶振是否上电并稳定起振,当稳定时该位为1;同样对于第5位HFRC_STB则表明内部16MHz高速RC振荡器是否起振,并是否稳定,当16MHz RC振荡器稳定时该位为1,如下图所示:

cc2530 时钟系统

6、而当需要设置系统时钟时,借助于CLKCONCMD寄存器就可以选择芯片主时钟与32K时钟源,当设置稳定后,可以通过CLKCONSTA寄存器中第6位与第7位来反应当前时钟的选择情况,当时钟稳定后会置位相应的位,依此可以判断当前时钟设置情况!

cc2530 时钟系统

7、此外,当配置完SLEEPCONCMD寄存器后,可以置位OSC_PD来关闭未被选择的高速时钟(16MHz EC振荡器或是32MHz 晶体振荡器),如下所示:

cc2530 时钟系统

8、作为演示,小编写了一个示例代码用于配置cc2530时钟系统,如下所示:void wg_sys_clk_config(uint8 mclk,uint8 lclk){ ui荏鱿胫协nt16 i; SLEEPCMD &= ~OSC_PD; /* turn on 16MHz RC and 32MHz XOSC */ /* wait for 32MHz XOSC stable */ while (!(SLEEPSTA & XOSC_STB)||!(SLEEPSTA &HFRC_STB)); asm("NOP"); /* chip bug workaround */ for (i=0; i<504; i++) asm("NOP"); /* Require 63us delay for all revs */ /* Select system clock and the source for 32K clock */ CLKCONCMD = (mclk | lclk); /* Wait for the change to be effective */ while (CLKCONSTA != (mclk | lclk)); SLEEPCMD |= OSC_PD; /* turn off the oscillator not used*/}

9、其中:#ifndef BV#define BV猾诮沓靥(n) (1 << (n))#endif/* SLEEPCMD and SLEEPSTA bit definitio荏鱿胫协ns */#define OSC_PD BV(2) /* 0: Both oscillators powered up and stable * 1: oscillators not stable */#define XOSC_STB BV(6) /* XOSC: powered, stable=1 */#define HFRC_STB BV(5) /* HFRC: powerd , stable=1 */

  • 如何在电脑上禁用netbios的基本方法
  • 怎么安装更新驱动程序
  • 小青账怎么持续显示账单图片
  • 重装系统Win9教程和详细步骤(图文)
  • 热门搜索
    经典诵读手抄报内容 英语手抄报内容5年级 安全手抄报版面设计 教师节手抄报图片 护士节手抄报 关于环境的手抄报 民族文化手抄报 文明校园手抄报资料 清明手抄报 简单 五一节手抄报