STM32——时钟系统

1、STM32时钟系统概述

1.1 时钟系统的概念与意义

  • 概念
    时钟系统是由振荡器(信号源)、定时唤醒器、分频器等组成的电路。常用的信号源有晶体振荡器和RC振荡器。
  • 意义
    时钟是嵌入式系统的脉搏,处理器内核在时钟驱动下完成指令执行、状态变换等动作,外设部件在时钟的驱动下完成各种工作,比如串口数据的发送、A/D转换、定时器计数等等。因此时钟对于计算机系统是至关重要的,通常时钟系统出现问题也是致命的,比如振荡器不振,振荡不稳、停振。
    在这里插入图片描述

1.2 常见振荡器简介

  • 概念
    振荡器是用来产生重复电子讯号的电子元件。其构成的电路叫振荡电路,能将直流电转换为具有一定频率交流信号输出的电子电路或装置。
  • 分类
    振荡器主要分为RC、LC振荡器和晶体振荡器。RC振荡器是采用RC网络作为选频移相网络的振荡器。LC振荡器是采用LC振荡回路作为移相和选频网络的正反馈振荡器。晶体振荡器的振荡频率受石英晶体控制。

1.2.1 RC振荡器

在这里插入图片描述

1.2.2 晶体振荡器

在这里插入图片描述

1.3 STM32F0 时钟源介绍

STM32中有四个时钟源

  • HSI:高速内部时钟,RC振荡器,频率为8KHz;
  • HSE:高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围4MHz-16MHz
  • LSI:低速内部时钟,RC振荡器,频率为40KHz。独立看门狗时钟源只能是这个时钟,还可以做RTC时钟源。
  • LSE:低速外部时钟,接32.768KHz的石英晶体。这个主要是RTC的时钟源。
    在这里插入图片描述
    控制时钟的寄存器是RCC

2、Sys Tick定时器

  • 概念
    定时器:能够定时、计数的器件称为定时器。
    Sys Tick:系统滴答定时器,简称滴答定时器,是一个定是设备,位于Cortex-M0内核中,可以对输入的时钟进行计数,当然,如果时钟信号是周期性的,计数也就是计时。
    系统定时器一般用于操作系统,用于产生时基,维持操作系统的心跳。
  • 工作原理
    滴答定时器是一个24位定时器,也就是最多能计数2^24。在使用的时候,我们一般给计数器送一个初始的计数值,计数器向下计数,每来一个时钟信号,计数初值就减一,计数值减到0的时候,就会出发一次中断。然后重新从计数初值再减一计数,循环不断。
    在这里插入图片描述

2.1 Sys Tick寄存器

在这里插入图片描述在这里插入图片描述
Sys Tick计数算法:假设设置的频率是48MHz,48M/1000 * 1/48MHz。

基于系统的延时函数HAL_Dealy(),计时以毫秒为单位,它的局限性:在中断服务函数中使用HAL_Delay会引起混乱,因为它是通过中断方式实现,而 Systick 的中断一般操作系统优先级是最低的,所以在中断中运行 HAL_Delay会导致死锁的现象。

3、通用定时器

STM32F051xx 系列器件包括6个通用定时器,1个基本定时器和1个高级定时器。
在这里插入图片描述
通用定时器功能介绍

  • 通用定时器TIMx功能
    1)定时器定时计数
    2)输入捕获
    3)输出比较
    4)PWM输出
    5)使用外部信号控制定时器和定时器互连的同步电路
  • 高级定时器TIM1功能
    1)通用定时器有的功能
    2)带死区控制和紧急刹车,可用于PWM控制电机
  • 基本定时器TIM6功能
    主要运用于定时计数以及驱动DAC

输入捕获:可以用来捕获外部事件,比如引脚的电平变化(上升沿、下降沿),并记录下变化的时间,通常可以用来测量外部信号的频率或者电平持续的时间。
在这里插入图片描述
输出比较: 此项功能是用来控制一个输出波形,当计数器与捕获/比较寄存器的内容相同时,输出比较功能做出相应动作,比如电平的翻转,通常用于产生PWM波形。
在这里插入图片描述

3.1 定时器计数模式

在这里插入图片描述

3.2 定时器计数原理

在这里插入图片描述

  • 时钟源:定时器时钟 TIMxCLK,即内部时钟 CK_INT,经 APB 预分频器后分频提供
  • 计数器时钟:定时器时钟经过 PSC 预分频器之后,即 CK_CNT,用来驱动计数器计数
  • 计数器CNT: 是一个 16 位/32的计数器
  • 自动重装载寄存器:这里面装着计数器能计数的最大数值。当计数到这个值的时候,如果使能了中断的话,定时器就产生溢出中断
  • 计时中断时间:1/(TIMxCLK/(PSC+1)) * (ARR+1)
  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值