STM32基础知识———时钟树篇(一)
一、前导篇本章节以STM32F103C8T6为例。1.1、时钟简单来说STM32 中的时钟就像芯片的 “心跳”是驱动所有外设UART、GPIO、I2C 等和内核运行的时间基准没有时钟芯片就是 “静止” 的。----------------------------------------------------打个比方--------------------------------------------------------------单片机就像人单片机的时钟就是人的心跳。人没有心跳就动弹不了单片机同理。1.2、时钟树时钟树就是 STM32 芯片内部时钟从 “源头” 到 “各个外设” 的完整流向图----------------------------------------------------打个比方--------------------------------------------------------------把STM32 单片机比作一座大型智能工厂时钟树就是工厂的 “电力调度系统”CPU控制电力调度系统。它需要消耗很大的电力比如72MHz看门狗是保安只需要给一点电就能运行。其它外设串口/ADC是辅助设备有的额定功率高有的额定功率小。如果只有一个时钟源直接供电都使用同一种电力就会出现电力故障要么额定功率大的外设就会工作不起来要么额定功率小的外设就会烧掉。因此时钟树的作用:接收原始时钟信号 → 倍频加压→ 分频减压→ 输送给不同的部门外设1.3、时钟源时钟源是数字电路的 “节拍器”提供固定频率的电脉冲保证所有模块按统一节奏工作是电路运行的基础1.3.1、时钟源分类STM32有4个时钟源分别为HSI、HSE、LSE、LSIHSE高速外部时钟陶瓷谐振器或者接外部时钟源其频率范围为4MHZ~16MHZ。LSE低速外部时钟其频率为32.768KHZ的石英晶体。HSI高速内部时钟RC振荡器频率为8MHZ。LSI低速内部时钟RC振荡器频率为40KHZ。注意不是所有单片机时钟源都有4个。但需要知道一点当我们开发低功耗设备的时候大多数单片机要低功耗核心就是开内部低速时钟IRC/OSC关外部高速时钟。1、正常跑代码一般用外部高速晶振HSE或内部高速时钟HSI2、进入低功耗模式休眠 / 停机 / 待机绝大多数单片机默认 内部低速时钟LSI / 内部 RC 振荡器2.1、原因内部 RC不需要外部晶振、没有起振问题、功耗极低只给看门狗、RTC、低功耗定时器用精度够用2.2、常见的低功耗时钟叫法:STM32 LSI内部低速51 单片机 内部 IRC/RC 振荡PIC/AVR 内部低频振荡器二、STM32时钟树原理图2.1、原理图解析2.1.1、HSE OSC中文名高速外部振荡器 / 晶振英文名High-Speed External Oscillator2.1.1.1、HSE OSC定义High Speed高速时钟源External外部时钟源需要外接晶振Crystal / OSC石英晶振不是 RC2.1.1.2、特点频率常见4MHz ~ 25MHz如 8MHz、12MHz、25MHz精度很高稳定性好功耗比 HSI 略高一般作为PLL 输入 → 系统主时钟2.1.1.3、应用场景给系统时钟、串口、USB、以太网、定时器等需要高精度的外设提供时钟2.1.2、HSI RC中文名高速内部 RC 振荡器英文名High Speed Internal RC Oscillator2.1.1.1、HSI RC定义High Speed高速时钟源Internal芯片内部集成RC由电阻、电容构成的振荡电路不是晶振2.1.1.2、特点上电默认时钟源不用外部晶振、电容、引脚频率8MHz / 16MHz依型号固定标称精度较差随温度、电压漂移启动快、成本低2.1.1.3、应用场景系统启动、HSE 失效时的备用时钟不需要高精度的简单应用可作为 PLL 输入倍频成系统时钟2.1.3、LSE中文名低速外部时钟晶振英文名Low Speed External2.1.3.1、LSE定义Low Speed低速时钟源External外部时钟源需要外接晶振和负载电容Crystal晶振石英晶体不是 RC 电路固定频率32.768 kHzSTM32 固定使用该频率2.1.3.2、特点超低速、超低功耗精度很高不参与系统主频2.1.3.3、应用场景定时唤醒低功耗产品定时采样温湿度、电量定时上传数据2.1.4、LSI中文名低速内部RC 振荡器英文名Low Speed Internal RC oscillator2.1.4.1、LSI定义LSI 是 STM32 内部自带、上电即可工作、精度低、频率不固定的低速时钟源专为独立看门狗 IWDG 设计。2.1.4.2、特点内部自带不用外部电路启动快精度差、漂移大频率不固定大约 32kHz芯片死机、跑飞看门狗照样复位不受系统时钟崩溃影响2.1.4.3、应用场景主要给IWDG 看门狗可做 RTC 备用时钟但不准2.1.5、选择器开关2.1.5.1、选择器作用可对输入的多个时钟信号进行选择选择其中的一个时钟信号输出2.1.6、预分频器2.1.6.1、预分频器作用预分频器用来将输入的时钟源进行分频输出例如72MHZ的时钟信号经过1.5分频/1.5得到48MHZ时钟信号。2.1.7、倍频器锁相环2.1.7.1、倍频器作用用来将输入的时钟源进行倍频输出例如8MHZ的时钟进行9倍频得到72MH信号2.1.8、与门外设时钟使能2.1.8.1、与门作用时钟树中的与门作用是为了降低能耗默认一端为低电平即关闭状态。当需要使用相关外设时钟时通过程序编写打开相关外设时钟导通默认一端为高电平即开启状态。例如使用USART外设查表得知USART在APB2总线上故程序编写代码启动对应外设时钟。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2426773.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!