NRF52832时钟控制系统

2024-05-14 20:58

本文主要是介绍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时钟,(具体哪个时钟源由你自己配置)





这篇关于NRF52832时钟控制系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/989839

相关文章

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

基于人工智能的智能家居语音控制系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 随着物联网(IoT)和人工智能技术的发展,智能家居语音控制系统已经成为现代家庭的一部分。通过语音控制设备,用户可以轻松实现对灯光、空调、门锁等家电的控制,提升生活的便捷性和舒适性。本文将介绍如何构建一个基于人工智能的智能家居语音控制系统,包括环境准备

油表加速器时钟屏保 就是这么酷酷的

太酷了!这个时钟屏保太有个性了!油表加速器时钟屏保,模拟汽车加速表盘,非常有质感,用它做屏保,简直就是酷毙了~!今天小编给大家分享一个非常实用好看的时钟屏保(芝麻时钟),官网地址(https://clock.zhimasoft.cn/?bili) 芝麻时钟-油表加速器时钟屏保 我们一起来看下,油表加速器表盘时钟屏保是怎么设置的? 1、打开芝麻时钟软件,找到"时钟屏保"菜单,点击后打开;(

彩虹数字屏保时钟 芝麻时钟开启个性化的时代 屏保怎么能少它

彩虹数字屏保时钟 芝麻时钟开启个性化的时代 屏保怎么能少它?电脑屏保多样化,让大家有了更多的选择,让更多人有机会把自己的电脑打扮得漂漂亮亮,今天小编给大家推荐:芝麻时钟(官网下载地址:http://clock.zhimasoft.cn/?bili),一起看下怎么开启彩虹数字时钟屏保吧! 彩虹数字屏保时钟 1、先下载芝麻时钟到电脑,可以百度,或者微软应用商城搜索“芝麻时钟”下载;

STM32CubeMX 1 创建一个新工程 利用时钟点亮LED KEIL5 Jlink配置

直接上ST的官网下载STM32CubeMX安装 地址: 单片机:STM32F103C8T6 带外部8MHz晶振 目的:利用Timer和使LED按照1Hz的频率闪烁。 在此方面学霸级人物的指引下学习了,并写此文章记录,以防忘记。 新建工程 出现如下界面,中央就是这个封装的引脚图: 接下来开始配置 1. 设置外部晶振接口在PD0和PD1 单机想要配置的引脚,出现选择菜单。

基于PI控制算法的异步感应电机转速控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述        基于PI控制算法的异步感应电机转速控制系统simulink建模与仿真。PI控制器是一种经典的线性控制器,它通过将控制量的比例部分和积分部分相结合来实现对系统输出的调节。比例部分用于快速响应偏差,而积分部分则用于消除稳态误差。 2.系统仿真结果 (完整程

什么是网络准入控制系统?网络准入控制系统七大品牌介绍!

在当今信息化时代,企业网络安全面临着前所未有的挑战。网络准入控制系统(NAC, Network Access Control)作为一种重要的网络安全技术,扮演着守护企业网络安全大门的关键角色。网络准入控制系统通过对接入网络的设备进行身份验证、安全状态评估和权限控制,以确保只有符合安全策略的设备才能访问网络资源。 1.Cisco ISE Cisco ISE是一款全面的NAC解决方案,旨在确保

Android AnalogClock TextClock DigitalClock Chronometer 时钟 定时器

AnalogClock 相关属性:  android:dial="@drawable/img1" //表盘android:hand_hour="@drawable/alert_dialog_icon" //时针android:hand_minute="@drawable/alert_dialog_icon" //分针 TextClock 相关属性: android:f

基于51单片机的智能小车转向控制系统设计与实现

文章目录 前言资料获取设计介绍功能介绍具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机设计精品

基于CPIH系列彩灯循环控制系统

1.设计目标 见下图所示: 2.设计方案 本次设计采用欧姆龙公司CHIP系列,基于CX_ONE PROGRAM软件实现 梯形图如下 3.方案论证 1.正常1S循环 其PLC_数据跟踪波形图如下 2.设定循环时间波形图如下 4.外围接线图 5.备注 可能很多人不知道数据跟踪这个功能怎么使用,本人觉得有必要说明一下 虽然自带的数据跟踪可以得到每个地址的数据,