初学者STM32—定时器

一、简介

TIM(Timer)定时器,在单片机当中是一个非常强大的外设,由于它的存在才让单片机获得了更多的功能,本节课就来学习一下定时器的基本结构以及它的功能。

定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断

16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时,而且定时器还能实现级联,这样就能够实现更长时间的的定时。

不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能

根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型

上图是定时器的类型以及它的功能详情 。

STM32F103C8T6定时器资源:TIM1TIM2TIM3TIM4

其中高级定时器的重复计数器、死区生成、互补输出、刹车输入等功能是为三相无刷电机作用的,可以说是特地为它而存在的。

二、定时器的结构

基本定时器的主要结构

上图为基本定时器的主要结构,它主要为触发控制器、预分频器、计数器、自动重装载寄存器。

首先来自RCC的TIMxCLK内部时钟72MHz通过触发器控制口来到预分频器,预分频可以2分频、4分频等将72MHz分为不同的频率。分频之后通过计数器。而计数器会从0开始计数到65535,而当计数器计满65535后会回到0从新计数。但是我们需要让他计数到一个特定的值停止,那么就要用到自动重装载寄存器(16位)进行控制。当计数计到自动重装值的时候会产生中断(UI)以及触发更新事件(U),中断会连接到NVIC进行中断控制,更新事件不会触发中断,但是会触发内部其他电路工作。

从基准时钟到预分频到计数器,计数器技术自增的同时与重装载的值进行比较,当值相等的时候就会产生更新中断以及更新事件。

其中主从模式触发DAC是可以用更新事件触发的,因为DAC如果采用中断的话就会频繁触发中断,这会占用CPU的资源,增加了CPU的负担。而通过采用事件更新直接映射到TRGO这一边就能完成DAC转换从而减少了CPU资源占用。

通用计时器的结构

引脚定义图 

红色框框住的部分可知道通用定时器时钟除了内部时钟也可以选择外部的时钟,而根据引脚定义(TIM2_CH1_ETR)知道是接在PA0口上,也就是可以接一个有频率的方波信号,然后通过极性、边沿检测和分频器来使用外部的时钟。

有了外部时钟就可以使用级联的功能。当我们初始化了TIM3然后将更新事件映射到TRGO上,再初始化TIM2然后选择ITR2,也就是对应TIM3的TRGO(TIM3的TRGO是连接了TIM2的ITR2),这样TIM3的更新事件就可以驱动TIM2的时基单元就实现了级联的效果。

由于定时器的结构比较复杂,我们本节课侧重点了解的是定时器控制中断的功能,其他功能就不展开讲解了,有需要的同学可以看b站的江科大或者正点原子。

定时器中断基本结构

上图为定时器中断的基本结构,我将它分为了两部分,左侧是时钟的选择,右侧是时基单元和中断控制的部分。只有打通这一串通路就能够实现定时器中断的功能了。

三、时序图

预分频器时序

计数器计数频率:CK_CNT = CK_PSC / (PSC + 1) 

计数器时序

计数器溢出频率:CK_CNT_OV = CK_CNT / (ARR + 1)= CK_PSC / (PSC + 1) / (ARR + 1) 

计数器无预装时序(无缓冲寄存器)

计数器有预装时序(有缓冲寄存器)

相比较有缓冲寄存器,没有缓冲寄存器会当更改装载值的时候会直接改变,无论计数到多少,当还未计数到达更改的装载值的时候,它会正常计数到装载值更新中断和更新事件。但是假设更改的装载值小于当前计数的值会让计数一直持续到FFFF再回到0。

当有缓冲寄存器的时候,它就会在更改装载值的时候继续完成上一个装载值的任务,当计满后才开始真正更改后的装载值。

四、总结

        本文详细介绍了STM32单片机的定时器结构和工作原理。定时器由16位计数器、预分频器和自动重装寄存器组成,支持最大59.65s定时,可通过级联实现更长定时。STM32定时器分为高级、通用和基本三种类型,具备定时中断、输入捕获、输出比较等多种功能。文章重点解析了基本定时器结构,包括时钟选择、预分频、计数和中断控制机制,并比较了有无缓冲寄存器的时序差异。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值