NRF52832时钟控制系统

NRF52832时钟控制系统可以从内部或外部高频、低频振荡器获得系统时钟,并根据模块的各自需要给他们分配时钟,时钟

分配是自动化的,并通过模块独立分组,以限制未使用的电流消耗。


HFCLK clock controller

下面是时钟的主要特点:

• 64 MHz 内部振荡器

 •64 MHz 晶体振荡器,使用外部32 MHz的晶振

• 32.768KZ +- 250 ppm的RC振荡器

 •32.768 kHz晶体振荡器,使用外部32.768 kHz晶振

 •32.768 kHz合成振荡器,从64 MHZ振荡器合成

 •固件(FW)覆盖振荡器控制活动的低延迟启动

 •自动振荡器和时钟控制,以及超低功耗的分布







当系统从HFCLK控制器请求一个或多个时钟时,HFCLK控制器将会自动提供。 如果系统没有请求由HFCLK控制器提供的任何时钟,控制器将进入省电模式。

这些时钟仅在系统处于ON模式时可用。 当系统进入ON模式时,内部振荡器(HFINT)时钟源将自动开始能够为系统提供所需的HFCLK时钟。

当系统需要HFCLK时钟时,如果HFXO尚未启动时,将使用HFINT振荡器。

可以通过触发HFCLKSTART任务启动HFXO振荡器,触发HFCLKSTOP任务停止HFXO振荡器。

当HFXO启动并且其频率稳定时产生HFCLKSTARTED事件

HFXO必须运行才能使用RADIO,NFC模块或与之相关的校准机制


19.1.1 64 MHz crystal oscillator (HFXO)

64 MHz晶体振荡器(HFXO)由32 MHz外部晶振控制

这个晶体振荡器是使用的无源晶振,为了实现正确的振荡频率负载电容必须匹配的晶体数据表规范。

下图是32M晶振连接电路图




负载电容CL由C1和C2串联得出




C1和C2为贴片电容,如图所示连接,

Cpcb1和Cpcb2是PCB上的杂散电容。


CPIN
是XC1以及XC2引脚间的分布电容


C1和C2应该用相同容量的电容,详细信息请查表。

为了可靠的运行,晶体负载电容,并联电容,等效串联电阻和
驱动电平必须符合第104页表64 MHz晶体振荡器(HFXO)中的规格
建议使用低于最大负载电容和/或并联电容的晶体。 低一点
负载电容会降低启动时间和电流消耗


19.2 LFCLK clock controller

该系统支持多种低频率的时钟源。

•32.768 kHz RC振荡器(LFRC)

•32.768 kHz晶体振荡器(LFXO)

•从HFCLK(LFSYNT)合成的32.768 kHz

首先选择寄存器LFCLKSRC中的首选时钟源来启动LFCLK时钟
然后触发LFCLKSTART任务

如果选择LFXO作为时钟源

当LFXO启动时,LFCLK将先从32.768 kHz LFRC开始运行,

一旦LFOX启动成功,则自动切换到LFOX运行,LFXO将生成LFCLKSTARTED事件。

通过触发LFCLKSTOP任务来停止LFCLK时钟

当LFCLK正在运行时,不允许写寄存器LFCLKSRC

触发LFCLKSTOP任务将停止LFCLK振荡器。 但是,LFCLKSTOP任务只能在寄存器LFCLKSTAT中的STATE字段为“LFCLK运行状态"才能被触发。

在OFF模式下,LFCLK时钟控制器和所有LFCLK时钟源始终为关闭


19.2.1 32.768 kHz RC振荡器(LFRC)

低频时钟(LFCLK)的默认源是32.768 kHz RC振荡器(LFRC)。

LFRC频率将受温度的影响而变化。

LFRC振荡器可以校准
通过在校准期间使用HFXO作为参考振荡器来提高精度。

LFRC振荡器不需要额外的元件。


19.2.2校准32.768 kHz RC振荡器

32.768 kHz RC振荡器启动和运行后,可通过触发CAL任务进行校准。 在在这种情况下,HFCLK将被暂时打开并用作参考。校准完成后,将产生DONE事件。 只要HFCLK从HFCLK晶体振荡器产生,校准机制才有效,因此在开始校准之前需要明确地启动该晶体振荡器,参见HFCLKSTART任务。


19.2.4 32.768 kHz晶体振荡器(LFXO)

对于更高的LFCLK精度(当要求的精度要好于+/- 250 ppm时),必须使用低频晶体振荡器(LFXO)

支持以下外部时钟源:
•低频时钟信号施加到XL1引脚。 然后XL2引脚接地。
•轨至轨时钟信号施加到XL1引脚。 XL2引脚应接地或未连接。

在LFCLKSRC寄存器配置时钟源


19.2.5由HFCLK(LFSYNT)合成的32.768 kHz

LFCLK也可以从HFCLK时钟源合成。 那么LFCLK的精度就是HFCLK的精度。

使用LFSYNT时钟避免了对32.768 kHz晶振的要求,但增加了平均功耗。


下面是寄存器表了




下面代码实现:

启动32M外部晶振

 NRF_CLOCK->EVENTS_HFCLKSTARTED = 0;  //HFCLK晶振状态寄存器清0  如果HFCLK也就是32M晶振启动并频率稳定后,这个寄存器会自动置1

NRF_CLOCK->TASKS_HFCLKSTART    = 1;     //启动HFCLK的晶振 也就是32M的外部晶振


 while (NRF_CLOCK->EVENTS_HFCLKSTARTED == 0)
  {
       //外部晶振启动并稳定后跳出循环
  }


启动外部32.768晶振:

和HFCLK类似

先配置LFCLK时钟源

寄存器LFCLKSRC





我们只要把SRC写1就配置成了外部32.768的晶振,其他的默认即可。

NRF_CLOCK->LFCLKSRC            = (1 << 0);

NRF_CLOCK->EVENTS_LFCLKSTARTED = 0; //状态清0
NRF_CLOCK->TASKS_LFCLKSTART    = 1; //启动LFCLK时钟源


while (NRF_CLOCK->EVENTS_LFCLKSTARTED == 0)

 {
        //LFCLK启动成功后跳出
 }


总结一下:

NRF52832由HFCLK高速时钟和LFCLK低速时钟两大块组成

HFCLK高速时钟可以自动提供PCLK1M PCLK16M PCLK32M HCLK64M给处理器及外设

HFCLK时钟源有内部HFINT64M振荡器和HFXO64M晶体振荡器,HFXO64M晶体振荡器由外部32M无源晶振提供。


当刚开机时,由内部HFINT振荡器提供HFCLK时钟,如果触发HFCLKSTART启动外部32M晶振时,当32M晶振启动并稳定时,

将自动切换为外部32M晶振时钟源,并产生HFCLKSTARTED事件。

使用RADIO NFC必须使用HFXO也就是32M外部晶振。

当 没有请求使用HFCLK高速时钟时,HFCLK控制器自动休眠。


LFCLK低速时钟源由一下三种

内部RC

32.768晶振,

HFCLK合成32.768

需要配置寄存器LFCLKSRC选择时钟源。

当配置了外部32.768源,触发LFCLKSTART来启动时,LFCLK先由内部RC振荡器提供

当外部32.768稳定启动后,自动切换为外部32.768.


需要注意的是

触发TASKS_HFCLKSTART任务是启动的HFXO 也就是外部32M晶振

触发TASKS_LFCLKSTART任务是启动HFCLK时钟,(具体哪个时钟源由你自己配置)





  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nRF52832 是一款蓝牙低功耗系统级芯片(SoC),用于物联网(IoT)设备和其他低功耗应用。nRF52832是挪威纳恩索蓝牙公司(Nordic Semiconductor)推出的系列产品之一,其数据手册提供了关于该芯片的详细技术规格和功能描述。 nRF52832 数据手册包含了如下内容: 1. 芯片架构和引脚分布:介绍了nRF52832的内部架构和芯片上引脚的功能,包括GPIO、UART、SPI、I2C、ADC等外设的分配和配置。 2. 功耗和性能:详细说明了nRF52832在不同工作模式下的功耗消耗情况,包括睡眠模式、活动模式和射频发送/接收模式的功耗指标。还介绍了芯片的时钟和定时器功能,以及处理器内核的性能参数。 3. 射频特性:描述了nRF52832的射频发射和接收性能,包括频率范围、功率级别、调制方式、接收灵敏度等参数。同时说明了射频天线的接口和匹配电路设计。 4. 内存和存储器:详细介绍了nRF52832的闪存、RAM和永久存储器(EEPROM)的容量和地址分布,以及存储器映射和访问控制。 5. 外设和接口:列出了nRF52832支持的各种外设和接口,包括GPIO、UART、SPI、I2C、ADC、PWM、NFC、USB等,以及它们的功能和配置选项。 6. 软件开发工具和编程接口:介绍了nRF52832相关的软件开发工具和编程接口,包括开发环境(如Keil、IAR、GCC)和软件库(如nRF5 SDK)。 通过研读nRF52832 数据手册,开发者和工程师可以深入了解该芯片的各项功能和性能,为使用该芯片开发可靠的低功耗蓝牙应用提供技术支持和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值