cc254x的外部32.768k晶振

原创 2016年06月01日 23:18:45

根据文档说明可以发现CC254x有四个振荡器

  1、32MHz外部晶振  -  为内部时钟提供时钟源和用于RF收发器

  2、16MHz内部RC振荡器  -  为内部时钟提供时钟源,功耗低,精度差,不可以用于RF收发器

  3、32kHz外部晶振  -  精度高,低功耗设计必须接,主要用在Sleep Timer 和Watchdog Timer上

  4、32kHz内部RC振荡器  -  精度低,功耗低,主要用在Sleep Timer 和Watchdog Timer上

      CC254x内部自带振荡器,因此即使外部电路不接晶振,CC254x也可以用内部振荡器工作,但是如果用到RF收发数据的话,只能使用外部32MHz晶振,因此如果芯片是用作ble的话,那么32mhz晶振是必须接的,如果不接的话,只能用cc254x当单片机使用。


        一般的项目中cc254x的硬件上面会接两个晶振,一个是系统运行需要的32Mhz的晶振,这个不用多说,关于32.768khz的外部晶振,需要特别说明一下,这个晶振根据自己的需求是可有可无的,阅读文档会发现,这颗32k的晶振是给低功耗使用的,也就是如果系统需要设计低功耗,则必须接上32.768khz的外部晶振,否则使用32kHz内部RC振荡器,这就会导致计时不准确,该醒的时候醒不过来,所以就会出现连接不上,易断开的情况。如果不需要低功耗设计,在不接外部32.768khz晶振的情况下,可以屏蔽POWER_SAVING的宏,也可以修改协议栈初始化设置,使用32kHz内部RC振荡器,修改方法如下(参考http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/70831.aspx):


没有外部32KHz晶振也可以进入PM2的,需要修改main里的HAL_BOARD_INIT()这个宏。把切换到外部32KHz晶振的代码删掉即可,相关引脚也要做处理。

/* Board Initialization */
#define HAL_BOARD_INIT()                                                       \
{                                                                              \
  /* Set to 16Mhz to set 32kHz OSC, then back to 32MHz */                      \
  START_HSOSC_XOSC();                                                          \
  /*SET_OSC_TO_HSOSC(); 使用内部32K时钟*/                                                         \
  /*SET_32KHZ_OSC();*/                                                             \
  SET_OSC_TO_XOSC();                                                           \
  STOP_HSOSC();                                                                \
                                                                               \
  /* Enable cache prefetch mode. */                                            \
  PREFETCH_ENABLE();                                                           \
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

32.768K晶振

  • 2013年11月29日 11:46
  • 413KB
  • 下载

单片机系统时钟与实时时钟有什么区别?为什么有的系统时钟晶振使用12M,而实时时钟使用32.768K

1、大多数单片机都只有系统时钟一个。就是CPU的各节拍工作时序的驱动源了。这个频率一般为几MHz。速度比较快,其目的无非是让单片机快点干活。那为啥不是GHz数量呢,这个是集成电路工艺决定的。根据工艺反...

cc254x之修改协议栈按键io

协议栈demo中有按键的处理流程,所以项目中可以完全利用协议栈的流程实现自己的按键操作,如果自己硬件的io和协议栈对应开发板的io不一致,则需要修改按键io定义的文件。          下面以协...
  • gyb510
  • gyb510
  • 2016年06月04日 21:32
  • 777

CC254X片上flash读写解析

如果在开发中,希望个别数据掉电不丢失,那么有几种方法可以考虑,一种是通过I2C或者SPI总线外接存储,比如E2PROM或FLASH,如果数据不大,第二种方便的方法就是操作片上flash了,要想操作片上...

BLE开发(TI CC254x)之一主多从方案(蓝牙项目纪实)

近期一个BLE项目,整套方案做下来发现虽然需求特殊,但是根据这个项目可以衍生出BLE设备一主多从的一般性方法。 项目的需求基本如下: 1.实现基于CC2541芯片的蓝牙主机固件代码,要求主机1拖4从机...

【BLE4.0】CC254x-读取RSSI的理解

本篇讲一下对读取RSSI的理解

BLE开发(TI CC254x)之串口收发

基于CC254x蓝牙协议栈的串口收发非常简单,现总结成5个步骤: 1.修改NPI下npi.c中的初始化函数 只需修改配置UART的两个参数:波特率和流控制。 使用两线的串口通信时必须关闭流控制,波...

CC254X片上flash读写解析

CC2451中闪存flash分析

CC254x--OSAL

OSAL(Operating System Abstraction Layer)操作系统抽象层,它不是一个真正的 操作系统(它没有 Context Switch 上下文切换功能),但它巧妙地组织各任务...

CC254X IBEACON开发

在进行IBEACON开发过程走了不少的弯路,总结起来其实很简单,它就是一个广播模式,不停的发送数据发送间隔在200ms到10s之间都可以,不过发送越频繁,功耗自然就越大。       我们先来解析一下...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:cc254x的外部32.768k晶振
举报原因:
原因补充:

(最多只允许输入30个字)