STM32F1 定时器解析

STM32的通用定时器包括时钟选择、时基单元和输入捕获/输出比较功能。时钟源可选内部时钟、外部输入、触发输入和内部触发输入。时基单元包含预分频器、计数器和自动重装载寄存器,用于定时和计数。输入捕获用于测量频率,输出比较支持PWM输出。编码器接口则用于处理正交编码器信号,提供位置和速度信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STM32有3种类型的定时器,分别是基本定时器、通用定时器和高级定时器。
基本定时器有TIM6和TIM7,通用定时器有TIM2、TIM3、TIM4和TIM5,高级定时器有TIM1和TIM8。根据芯片的型号不同定时器的个数也会有所区别。本文主要介绍通用定时器。
通用定时器拥有定时中断、主模式触发DAC、内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等功能。

通用定时器结构

在这里插入图片描述

上图为通用定时器的结构框图,可分为3个部分:时钟选择、时基单元、输入捕获/输出比较。

时钟选择

在这里插入图片描述
STM32微控制器的通用定时器时钟可以由4个来源:
内部时钟(CK_INT)、外部输入引脚(TIX)、外部触发输入(ETR)、内部触发输入(ITRX)

内部时钟是常用的定时器时钟,通用定时器挂载在APB1总线上,APB1总线最大支持36MHz的时钟频率,但定时器的输入任是72MHz,因为APB1总线在连接定时器时有还有一个倍频器,当APB1预分频系数为1时则频率不变,否则频率乘2。也就是说如果AHB总线上的时钟频率是72MHz的话,那么在到达APB1总线时,APB1预分频器需要对其二分频得到36MHz的频率,此时APB1总线的频率为36MHz,该时钟频率在输入到定时器时通过倍频器,倍频器根据条件判断需要对其2倍频又得到72MHz的时钟频率。所以定时器的内部时钟输入都是72MHz。
在这里插入图片描述

外部触发输入(ETR):是指来自外部的信号输入,这个信号经过极性选择、边沿检测和预分频器然后通过滤波后输入定时器内部作为时钟。例如外部输入一个方波,当每到一个上升沿或下降沿时读取一个信号,这个信号给到定时器内部作为定时器的时钟来源。
外部触发输入脚(TIX):框图中的外部触发输入脚输入信号为TI1FP1和TI2FP2,这两个输入信号分别来自TIMX_CH1和TIMX_CH2,即定时器的两个输入捕获通道。与外部触发输入(ETR)相比,这两个信号不仅可以通过数据选择器的选择作为定时器的时钟输入,还可以输入到编码器接口。

内部触发输入(TIRX):主要用于定时器的级联,由框图左侧可以看出,触发控制器的的输出TRGO可以连接至其他定时器,TRGO连接其他定时器时即是连接在了其他定时器的TIRX输入上。TGRO表示定时器的更新或中断事件。

时基单元

在这里插入图片描述
定时器的时基单元由3个部分构成,分别是PSC预分频系数、CNT计数器和ARR自动重装载寄存器。
PSC预分频器是对输入的时钟信号进行分频,若预分频器中的值为0则是1分频,若预分频器中的值是1则是2分频。即实际分频系数=预分频器值+1。CNT计数器就是对预分频之后的时钟进行计数,可以是向上计数模式、向下计数模式或中央对齐模式。以向上计数模式为例,开始时CNT计数器中的值是0,每当计数时钟是上升沿时,CNT计数器中的值加1。当达到目标值时CNT计数器清零,而目标值就存放在ARR自动重装载计数器中。

输入捕获/输出比较

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tao'note

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值