【stm32入门教程】TIM定时中断

一、简介

二、类型

三、工作原理

基本定时器

这部分电路叫时基单元

预分频器之前连接的是基准计数时钟的输入,由于基本定时器只能连接内部时钟,因此直接连接到了输入端 72mhz时钟

预分频器

如果预分频器写0 不分频或者是1分频 这时候输出频率等于输入频率等于72mhz

如果写1 就是2分频,输出频率等于输入频率2

如果写2就是3分频,输出等于输入频率/3 以此类推

所以预分频器的值和实际的系数相差1 实际分频系数=预分频器的值+1,这个预分频器是16位,最大值可以写65535,也就是65536分频,

预分频器就是对输入的频率提前进行一个分频的操作

计数器

对预分频后的计数时钟进行计数,计数时钟每来一个上升沿,计数时钟就加一,这个计数器也是16位的,可以从0加到65535,再加就会回到0从新开始,计数值在不断进行自增运行,当达到目标值时产生中断就完成了定时的任务

自动重装寄存器------存储目标值

运行过程中,计数值不断自增,自动重装值是固定的目标,当计数值等于自动重装值时,也就是计数时间到了,就会产生一个中断信号,并且清零计数器,计数器自动开始下一次的计数计时

这个图代表这里会产生中断信号,像这种计数值等于计数重装值产生的中断,一般把它叫做更新中断,这个更新中断之后就会通往NVIC,在配置好NVIC的定时器通道,定时器的更新中断就会得到CPU的响应

这个图代表会产生一个事件,叫更新事件,更新事件不会触发中断但可以触发内部其他电路工作

主模式触发DAC功能

这样定时器的更新就不用通过中断来触发DAC了,仅需要把更新事件通过主模式映射到TRGO,然后TRGO就会直接去触发DAC了,整个过程不需要软件参与,实现了硬件的自动化,这就是主模式的作用

通用定时器

计数方式

此时的计数器不只有向上计数这一种方式

通用定时器还支持向下计数 就是从重装值开始,向下自减,减到0之后回到重装值同时申请中断,然后进入下一轮,依次循环

还有中央定时计数模式,先向上自增,然后再自减,依次循环

时钟源选择

通用定时器不仅可以选择内部72mhz时钟,还可以选择外部时钟,第一个外部时钟就是来自tim,根据引脚定义选择TIM2_CH1_ETR,也就是在该引脚上接一个外部方波时钟,然后配置一下内部的极性选择,边沿检测和预分频器电路,在配置一下输入滤波电路,这些电路可以对外部时钟进行整形,因为是外部引脚的时钟,所以难免会有一些毛刺,这些电路可以进行滤波同时可以选择极性和预分频器

这一步叫外部时钟模式2

除了ETR引脚可以提供时钟外,下面的TRGI也可以提供时钟,这一路主要是用做触发输入来来使用的,触发输入可以触发定时器的从模式,这一路叫做外部时钟的输入1,这一路会占用触发输入的通道而已

这一部分是为了定时器的级联

高级定时器

可以实现每隔几个周期更新一次,可以实现对输出的更新信号又做了一次分频

这些电路是为了驱动无刷电机的这些电路还是比较常用的

在开关导通的瞬间生成一定的死区防止直通现象

最后一部分刹车输入,给电路提供安全保障

四、结构图

相关推荐
代码游侠2 小时前
嵌入式开发代码实践——串口通信(UART)开发
c语言·开发语言·笔记·单片机·嵌入式硬件·重构
二十画~书生2 小时前
CH340G 驱动的多功能 USB 转串口电路
单片机·嵌入式硬件·硬件工程
阿凉07022 小时前
STM32 USB CDC虚拟串口配置
stm32·单片机·嵌入式硬件
FakeOccupational2 小时前
【电路笔记 STM32】STM32下载器完整配置流程:驱动安装+硬件连接+芯片包安装+软件测试
笔记·stm32·嵌入式硬件
fanged2 小时前
STM32(6)--HAL2(PWM/I2C/ADC)(TODO)
stm32·单片机·嵌入式硬件
极客 - L U2 小时前
常规细节积累
单片机·嵌入式硬件
代码游侠13 小时前
学习笔记——时钟系统与定时器
arm开发·笔记·单片机·嵌入式硬件·学习·架构
CQ_YM13 小时前
ARM--SDK、led、beep与链接脚本
c语言·arm开发·嵌入式硬件·嵌入式
xiaobobo333013 小时前
EIDE的最新版本已经默认只支持debug调试STM32单片机了
stm32·单片机·debug·eide