TIM定时器

本文详细介绍了嵌入式系统中的定时器类型,包括TIM1/TIM8的高级特性、基本定时器如TIM2-TIM7的功能以及时钟源选择。重点讲解了预分频器、计数器和自动重装载寄存器的工作原理,以及主模式触发DAC的应用。高级定时器增加了重复计数器功能。文中还讨论了定时中断的基本结构和预分频器的时序特性。
摘要由CSDN通过智能技术生成

定时器类型

类型

编号

总线

功能

高级定时器

TIM1TIM8

APB2

拥有通用定时器全部功能,并额外具有重复计数器、死区生成、互补输出、刹车输入等功能

通用定时器

TIM2TIM3TIM4TIM5

APB1

拥有基本定时器全部功能,并额外具有内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等功能

基本定时器

TIM6TIM7

APB1

拥有定时中断、主模式触发DAC的功能

 一个芯片一般会有很多个定时器,所以后面会有编号进行区分;

基本定时器

预分频器、计数器、自动重装载寄存器构成了一个基本的计数计时电路,叫做时基单元;预分频器连接的是基准计数时钟的输入,而基本定时器只能使用内部时钟,可以认为预分频器直接连接到内部时钟,使用的是内部时钟,内部时钟来自RCC_TIMxCLK,一般都是系统主频72MHz;

预分频器,对输入的时钟进行分频,寄存器写0的时候,就是不分频,72M;如果写1(2分频),那就是36M,写2(3分频),频率就是24M,预分频器的值和实际分频系数差了1;

计数器,可以对预分频后的计数时钟进行计数,计数时钟每来一个上升沿,计数器的值就加1;

自动重装载寄存器,保存计数的目标值,计算器一直计数,达到计数器的目标值后,就产生一个中断,并清空计数器的值;计算值等于自动重装值的中断,叫更新中断,更新中断后就会通往nvic,再配置好nvic的定时器通道,那定时器的更新中断就能得到CPU的响应了;

主模式触发DAC功能:使用DAC的时候,产生DAC波形,可以不用CPU参与;正常需要在定时器中断中跑一段时钟输出程序来产生波形,用了这个主模式可以利用定时器的更新事件,映射到触发输出TRGO的位置,然后TRGO直接接到DAC的触发转换引脚上,这样定时器更新后,就不需要通过中断来触发DAC转换了,也就不需要CPU进行参与了;

通用定时器

通用定时器除了支持基本定时器那种向上计数模式,还支持向下计数(和向上计数相反)和中央对齐的计数模式(先向上递增,达到重装值,触发中断,再向下递减,减到0,触发中断,依次循环);

基本定时器只支持向上计数,通用定时器和高级定时器支持向上、向下计数和中央对齐计数;一般常用的还是向上计数模式;

时钟源选择:基本定时器只能选择内部时钟(系统频率,72MHz),通用定时器可以选择外部时钟(ETR)、配置好极性选择、边沿检测、预分频器,经过滤波器滤波就可以得到得到较为稳定的信号,经过ETRF就可以作为时基单元的输入时钟用来进行计数(外部时钟模式2);

TRGI也可以提供时钟,这一路主要是用来作为触发输入使用的,可以触发定时器的从模式,TRGI作为外部时钟使用时,这一路叫做“外部时钟模式1”,经过的时钟有ETR(两路,也可以从ETRF)、ITR信号(来自其他定时器的TRGO,可以实现级联)、TI1F_ED(连接捕获单元CH1的引脚,ED是边沿的意思,通过的上升沿和下降沿都有效)、TI1FP1、TI2FP2;

下面ch1~ch4,左边是用来做输入捕获的,右边用来做输出比较;

高级定时器

高级定时器右边多了个重复次数计数器,相当于二次分频,普通计时器达到计数值后就会触发重置,有了这个重复次数计数器,达到计数器的值后才会触发重置(中断)

定时中断基本结构

最重要的时基单元部分:有预分频器、计数器、自动重装器三个寄存器构成,能完成计数功能;

下面运行控制,就是控制寄存器的一些位,比如启动停止、向上计数、向下计数等;

左边是为计数器提供时钟部分,可选择内部时钟或者外部时钟;

右边是计时到了 触发中断,中断信号会在状态寄存器里置一个中断标志位,这个标志位会通过中断输出控制,到NVIC申请中断;中断输出控制用来控制需要哪个中断,计时器里还有别的地方会申请中断,不只是计数到了,中断输出的允许位;

预分频器时序

参数从1变到2时,值写入预分频控制器后需要有一段缓冲,缓冲器里值改变时,定时器时钟才发生变化

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值