一、时钟
1.三种不同的时钟源可被用来驱动系统时钟(SYSCLK):
.HSI 振荡器时钟  High Speed Internal
.HSE 振荡器时钟  High Speed External
.PLL 时钟        Phase Locked Loop
2.这些设备有以下2种二级时钟源:
.32kHz 低速内部RC【1】,可以用于驱动独立看门狗和RTC。RTC用于从停机/待机模式下自动唤醒系统。
.32.768kHz 低速外部晶体也可用来驱动RTC(RTCCLK)。RTC:Real-Time Clock 实时时钟当不被使用时,任一个时钟源都可被独立地启动或关闭,由此优化系统功耗。
3.用户可通过多个预分频器配置AHB(Advanced High Performance Bus高性能总线)、高速APB(Advanced Peripheral Bus外围总线)(APB2)和低速 APB(APB1)域的频率。
AHB和APB2域的最大频率是72MHZ。APB1域的最大允许频率是36MHZ。
RCC通过AHB时钟8分频后供给Cortex系统定时器的外部时钟。通过对SysTick控制与状态寄存器的设置,可选择上述时钟或Cortex AHB时钟作为SysTick时钟。
ADC时钟由高速APB2时钟经2、4、6或8分频后获得。
定时器时钟频率是其所在APB总线频率的两倍。然而,如果相应的APB预分频系数是1,定时器的时钟频率与所在APB总线频率一致。
FCLK是Cortex-M3的自由运行时钟(Free Clock)。详情见ARM的Cortex-M3技术参考手册。
4.时钟树
 
二、HSE 时钟
高速外部时钟信号(HSE)由以下两种时钟源产生:(High Speed External)
HSE 外部晶体/陶瓷谐振器【2】
HSE 用户外部时钟
为了减少时钟输出的失真和缩短启动稳定时间,晶体/陶瓷谐振器和负载电容器必须尽可能地靠近振荡器管脚。负载电容值必须根据所选择的振荡器来调整。
HSE/LSE时钟源
硬件配置
外部时钟
晶体/陶瓷谐振器
外部时钟源(HSE旁路)
在这个模式里,必须提供外部时钟。它的频率最高可达25MHz。用户可通过设置在时钟控制寄存器中的HSEBYP和HSEON位来选择这一模式。外部时钟信号(50%占空比的方波、正弦波或三角波)必须连到SOC_IN管脚,同时保证OSC_OUT管脚悬空。见上图。
外部晶体/陶瓷谐振器(HSE晶体)4-16Mz外部振荡器可为系统提供更为精确的主时钟。相关的硬件配置可上图,进一步信息可参考数据手册的电气特性部分。
在时钟控制寄存器RCC_CR中的HSERDY位用来指示高速外部振荡器是否稳定。在启动时,直到这一位被硬件置1,时钟才被释放出来。如果在时钟中断寄存器RCC_CIR中被激活,将会产生相应中断。
HSE晶体可以通过设置时钟控制寄存器里RCC_CR中的HSEON位被启动和关闭。
三、HSI 时钟  High Speed Internal
HSI时钟信号由内部8MHZ的RC振荡器产生,它可以直接作为系统时钟或者在2分频后作为PLL输入。HSI RC振荡器能够在不需要任何外部器件的条件下提供系统时钟。它的启动时间比HSE晶体振荡器短。然而,即使在校准之后它的时钟频率精度仍较差。
校准
制造工艺决定了不同芯片的RC振荡器频率会不同,这就是为什么每个芯片的HIS时钟频率在出厂前已经被ST校准到1%(25°C)的原因。系统复位时,工厂校准值被装载到时钟控制寄存器的HSICAL[7:0]位。如果用户的应用基于不同的电压或环境温度,这将会影响RC振荡器的精度。你可以通过利用在时钟控制寄存器里的HSITRIM[4:0]位来调整HSI频率。时钟控制寄存器中的HSIRDY位用来指示HSI RC振荡器是否稳定。在时钟启动过程中,直到这一位被硬件置1,HSI RC输出时钟才被释放。HSI RC可由时钟控制寄存器中的HSION位来启动和关闭。如果HSE晶体振荡器失效,HSI时钟会被作为备用时钟源。可以参考时钟安全系统。
四、 PLL
内部PLL可以用来倍频HSI RC的输出时钟或HSE晶体输出时钟。参考上图和时钟控制寄存器。
PLL的设置(选择HIS振荡器除2或HSE振荡器为PLL的输入时钟,和选择倍频因子)必须在其被激活前完成。一旦PLL被激活,这些参数就不能被改动。如果PLL中断在时钟中断寄存器里被允许,当PLL准备就绪时,可产生中断申请。如果需要在应用中使用USB接口,PLL必须被设置为输出48或72MHZ时钟,用于提供48MHz的USBCLK时钟。
五、 LSE 时钟
LSE晶体是一个32.768kHz的低速外部晶体或陶瓷谐振器。它为实时时钟或者其他定时功能提供一个低功耗且精确的时钟源。LSE晶体通过在备份域控制寄存器(RCC_BDCR)里的LSEON位启动和关闭。在备份域控制寄存器(RCC_BDCR)里的LSERDY指示LSE晶体振荡是否稳定。在启动阶段,直到这个位被硬件置1后,LSE时钟信号才被释放出来。如果在时钟中断寄存器里被允许,可产生中断申请。外部时钟源(LSE旁路)在这个模式里必须提供一个32.768kHz频率的外部时钟源。你可以通过设置在备份域控制寄存器(RCC_BDCR)里的LSEBYP和LSEON位来选择这个模式。具有50%占空比的外部时钟信号(方波,正弦波或三角波)必须连到OSC32_IN管脚,同时保证OSC32_OUT管脚悬空。见上图。
六、 LSI 时钟
LSI RC担当一个低功耗时钟源的角色,它可以在停机和待机模式下保持运行,为独立看门狗和自动唤醒单元提供时钟。LSI时钟频率大约32kHz(在30kHz和60kHz之间)。进一步信息请参考数据手册中有关电气特性部分。
LSI RC可以通过控制/状态寄存器(RCC_CSR)里的LSION位来启动或关闭。
在控制/状态寄存器(RCC_CSR)里的LSIRDY位指示低速内部振荡器是否稳定。在启动阶段,直到这个位被硬件设置为1后,此时钟才被释放。如果在时钟中断寄存器(RCC_CIR)里被允许,将产生LSI中断申请。
七、 系统时钟(SYSCLK)选择
系统复位后,HSI振荡器被选为系统时钟。当时钟源被直接或通过PLL间接作为系统时钟时,它将不能被停止。只有当目标时钟源准备就绪了(经过启动稳定阶段的延迟或PLL稳定),从一个时钟源到另一个时钟源的切换才会发生。在被选择时钟源没有就绪时,系统时钟的切换不会发生。直至目标时钟源就绪,才发生切换。在时钟控制寄存器(RCC_CR)里的状态位指示哪个时钟已经准备好了,哪个时钟目前被用作系统时钟。
八、 时钟安全系统(CSS)(Clock System Safe)
时钟安全系统可以通过软件被激活。一旦其被激活,时钟监测器将在HSE振荡器启动延迟后被使能,并在HSE时钟关闭后关闭。如果HSE时钟发生故障,此振荡器自动地被关闭,时钟失效事件将被送到高级定时器TIM1的断路输入端,并产生时钟安全中断CSSI,允许软件完成营救操作。此CSSI中断被连接到Cortex-M3 NMI的中断。
注意:一旦CSS被激活,并且HSE时钟出现故障,CSS中断就产生,并且NMI也自动产生。NMI将被不断执行,直到CSS中断挂起位被清除。因此,在NMI的处理程序中必须通过设置时钟中断寄存器(RCC_CIR)里的CSSC位来清除CSS中断。如果HSE振荡器被直间或间接地作为系统时钟来用的话,(间接的意思是:它被作为PLL输入时钟,并且PLL时钟被作为系统时钟),时钟故障将导致系统时钟自动切换到HSI振荡器,
同时外部HSE振荡器被关闭。在时钟失效时,如果HSE振荡器时钟(被分频或未被分频)是用作系统时钟的PLL的输入时钟,PLL也将被关闭。
九、 RTC 时钟
通过设置备份域控制寄存器(RCC_BDCR)里的RTCSEL[1:0]位,RTCCLK时钟源可以由HSE/128、LSE或LSI时钟提供。除非备份域复位,此选择不能被改变。
LSE时钟在备份域里,但HSE和LSI时钟不是。因此:
如果LSE 被选为RTC 时钟:
只要VBAT 维持供电,尽管VDD 供电被切断,RTC 仍继续工作。
如果LSI 被选为自动唤醒单元(AWU)时钟:
如果VDD 供电被切断, AWU 状态不能被保证
如果HSE 时钟128 分频后作为RTC 时钟:
如果VDD 供电被切断或内部电压调压器被关闭(1.8V 域的供电被切断),RTC 状态不能被保证。
十、 看门狗时钟
如果独立看门狗已经由硬件选项或软件启动,LSI振荡器将被强制在打开状态,并且不能被关闭。在LSI振荡器稳定后,时钟供应给IWDG。
十一、 时钟输出
微控制器允许输出时钟信号到外部MCO管脚。
相应的GPIO端口寄存器必须被配置为相应功能。以下四个时钟信号可被选作MCO时钟:
SYSCLK
HSI
HSE
除2 的PLL 时钟
时钟的选择由时钟配置寄存器(RCC_CFGR)中的MCO[2:0]位控制。
【1】采用RC选频网络构成的振荡电路称为RC振荡电路,它适用于低频振荡,一般用于产生1Hz~1MHz的低频信号。因为对于RC振荡电路来说,增大电阻R即可降低振荡频率,而增大电阻是无需增加成本的。 
常用LC振荡电路产生的正弦波频率较高,若要产生频率较低的正弦振荡,势必要求振荡回路要有较大的电感和电容,这样不但元件体积大、笨重、安装不便,而且制造困难、成本高。因此,200kHz以下的正弦振荡电路,一般采用振荡频率较低的RC振荡电路。
常用的RC振荡电路
有相移式和桥式两种。
(1)RC移相式振荡器,具有电路简单,经济方便等优点,但选频作用较差,振幅不够稳定,频率调节不便,因此一般用于频率固定、稳定性要求不高的场合。其振荡频率是fo=1/2π√6RC 
(2)RC桥式振荡器 将RC串并联选频网络和放大器结合起来即可构成RC振荡电路,放大器件可采用集成运算放大器。 
【2】谐振器就是指产生谐振频率的电子元件,常用的分为石英晶体谐振器和陶瓷谐振器。起产生频率的作用,具有稳定,抗干扰性能良好的特点,广泛应用于各种电子产品中,石英晶体谐振器的频率精度要高于陶瓷谐振器,但成本也比陶瓷谐振器高。谐振器重要起频率控制的作用,所有电子产品涉及频率的发射和接收都需要谐振器。谐振器的类型按照外形可以分为直插式和贴片式两种。
是的
 

stm32时钟问题简单介绍相关推荐

  1. stm32 GPIO简单介绍及初始化配置(库函数)

    前言: 相信,大部分查找GPIO的人,都是刚刚接触STM32的人,而刚接触STM32的人,大部分是从51上来的人,所以我会由浅入深,从51和STM32的区别入手,通过对比这两个处理器的配置方法,来跟大 ...

  2. LINUX矩阵键盘简单介绍,stm32矩阵键盘原理图及程序介绍

    描述 STM32F0 系列产品基于超低功耗的 ARM Cortex-M0 处理器内核,整合增强的技术和功能,瞄准超低成本预算的应用.该系列微控制器缩短了采用 8 位和 16 位微控制器的设备与采用 3 ...

  3. esp32 rtc 时钟设置不对_STM32入门系列-STM32时钟系统,STM32时钟树

    时钟对于单片机来说是非常重要的,它为单片机工作提供一个稳定的机器周期从而使系统能够正常运行.时钟系统犹如人的心脏,一旦有问题整个系统就崩溃.我们知道STM32属于高级单片机,其内部有很多的外设,但不是 ...

  4. 图文并茂详解STM32时钟配置

    关注.星标公众号,直达精彩内容 来源:一苇以航wzh 编辑整理:技术让梦想更伟大 | 李肖遥 1.概述 时钟是单片机的脉搏,是单片机的驱动源,使用任何一个外设都必须打开相应的时钟.这样的好处是,如果不 ...

  5. ARM开发初级-STM32时钟系统以及如何正确使用HAL_Delay-学习笔记08

    文章目录 1. STM32时钟系统概述 1.1 时钟系统的概念及意义 1.2 常见振荡器介绍 1.3 时钟树分析 2. STM32时钟配置实例 3. SysTick定时器讲解 3.1 SysTick ...

  6. SD卡简单介绍-数据传输、模式流程

    有关SD卡接口及其内部寄存器请看这里!SD卡简单介绍 CSDN真的 ctrl+z 慎用!不知道那些工程师是怎么想的!垃圾 ~ SD总线传输 SD 总线通信是基于命令和数据传输的.通讯由一个起始位 (& ...

  7. 【STM32时钟配置】

    文章目录 前言 一.Stm32F1时钟树 二.STM32F407时钟树 三.STM32时钟配置 3.1系统时钟配置 总结 前言 一.Stm32F1时钟树 使用内部高速时钟时,工作频率最大为64Mhz, ...

  8. WinCE电源管理的简单介绍

    电源管理的目的是节能,基本的节能方法是使系统适时的进出休眠状态.比如用户按下On/Off按钮,或者监视用户活动的定时器超时,或者应用呼叫api都可以使得系统休眠,用户再次按下On/Off或者其他唤醒中 ...

  9. Android 系统简单介绍

    Android 系统简单介绍 2011年11月20日 写这篇文章的目的是为了给那些刚刚入手安 卓手机的新手们一些参考,希望他们能快速的上手 [第一期]ANDROID基础知识1~20 [第二期]继续泡! ...

最新文章

  1. ip协议分析实验报告_入门工业通讯之EtherNet/IP协议分析
  2. Leecode 9. 回文数
  3. mysql 基础视图_MySQL基础(4) | 视图
  4. 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 权限管理
  5. 黑马程序员-面向对象-08天-2 (多态)
  6. iOS 实现快速切换主题详细教程(附上源码)
  7. MEncoder的基础用法—6.10. 保持视频画面比例
  8. 卡密社区源码无加密完整版(php源码+mysql脚本)
  9. Spring常用注解小结
  10. keil4.72添加GD32F10x芯片
  11. plsql:导出数据到excel
  12. GitChat 使用指南,快速学习、飞速成长
  13. 数据结构中confusing的地方整理
  14. 华硕fl8000u主板怎么拆_华硕顽石4笔记本 FL5900U如何打开后盖
  15. Object.entries() Object.values()
  16. 干5年外包,突然失业了。。。
  17. html界面——button设置样式
  18. 荣耀V40怎么样 “微光女神”告诉你
  19. win10如何把右下角的时间隐藏
  20. 【html】设置图片编码格式

热门文章

  1. RTP/RTCP协议解析
  2. python模块安装(大合集)
  3. PHP接口API文档转换SDK【神器】
  4. 【Java面试题】常规Java面试题分享
  5. 不能编程、烧钱、没用?潘建伟直播回应“九章”量子计算争议
  6. HTML代码via浏览器logo,Via浏览器怎么定制首页 几步轻松完成
  7. github如何上传代码到仓库(从本地上传代码到github)
  8. linux lsiutil raid创建,使用Lsiutil管理Dell SAS 6i/R
  9. 在服务器上安装jdk
  10. 数据库的视图,视图的更新,视图的可操作性