三种stm32定时器的区别
时器种类 | 位数 | 计数器模式 | 产生DMA请求 | 捕获/比较通道 | 互补输出 | 特殊应用场景 |
高级定时器 (TIM1,TIM8) | 16 | 向上,向下,向上/下 | 可以 | 4 | 有 | 带可编程死区的互补输出 |
通用定时器(TIM2,TIM5) | 32 | 向上,向下,向上/下 | 可以 | 4 | 无 | 通用。定时计数,PWM输出,输入捕获,输出比较 |
通用定时器(TIM3,TIM4) | 16 | 向上,向下,向上/下 | 可以 | 4 | 无 | 通用。定时计数,PWM输出,输入捕获,输出比较 |
通用定时器(TIM9~TIM14) | 16 | 向上 | 没有 | 2 | 无 | 通用。定时计数,PWM输出,输入捕获,输出比较 |
基本定时器 (TIM6,TIM7) | 16 | 向上,向下,向上/下 | 可以 | 0 | 无 | 主要应用于驱动DAC |
通用定时器功能特点描述
STM3 F4的通用 TIMx (TIM2、TIM3、TIM4 和 TIM5)定时器功能特点包括:
计数器模式
通用定时器可以向上计数、向下计数、向上向下双向计数模式。
①向上计数模式:计数器从0计数到自动加载值(TIMx_ARR),然后重新从0开始计数并且产生一个计数器溢出事件。
②向下计数模式:计数器从自动装入的值(TIMx_ARR)开始向下计数到0,然后从自动装入的值重新开始,并产生一个计数器向下溢出事件。
③中央对齐模式(向上/向下计数):计数器从0开始计数到自动装入的值-1,产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器溢出事件;然后再从0开始重新计数。
通用定时器(TIM2,3,4,5)工作过程:
1.时钟源的产生
产生CK_PSC时钟供实际电路使用,时钟四种来源:内部时钟(APB1倍频而来)、外部引脚TIMx_ETR引脚、内部触发输入口(ITR0~3)(来自其他定时器的输入用于定时器的级联)、TI1FP1,TI2FP2,TI1F_ED(来自TI1,TI2外部通道)。
2.实际电路
CK_PSC经过PSC预分频器分频产生CK_CNT时钟作为计数器的最终时钟, 然后根据触发控制器设置的向上/下计数达到条件后从自动重装载寄存器中加载值。
3.输入捕获
对外部通道输入的信号进行捕获,然后经过滤波器和边沿检测产生的信号(下降沿/上时沿)经过预分频器然后和计数器中的值进行比较产生一个事件,记下两次计数器中的值就知道时间长度。
4.输出比较
在输出比较寄存器中设置一个值与计数器比较,比如比计数器的值大产生一个高电平,小产生一个低电平,在计数器的一个周期产生一个高电平和低电平到引脚,我们可以控制产生一个占空比可调(调节比较寄存器)的脉冲。
5.相关寄存器
计数时钟的选择
计数器的时钟有8种选择
1.内部RCC提供的时钟:TIMxCLK
2.内部触发输入口1~4:
1)ITR1/ITR2/ITR3/ITR4
2)用一个定时器作为另一个定时器的分频器
3.外部捕获比较引脚
1)引脚1:TI1FP1或TIF_ED
2)引脚2:TI2FP2
4.外部引脚:ETR
1)使能/禁止位
2)可编程设定极性
3)4位外部触发过滤器
4)外部触发分频器:分频器关闭 二分频 四分频 八分频
时基单元
1.计数器寄存器(TIMx_CNT)
向上计数,向下计数,中心对齐计数
2.预分频器寄存器(TIMx_PSC)
可将时钟频率按1到65536之间的任意值进行分频,可在运行时改变其设置值
3.自动装载寄存器(TIMx_ARR)
1)如果TIM1_CR1寄存器的ARPE位为0,ARR寄存器的内容将直接写入影子寄存器;
如果ARPE为1,ARR寄存器的内容将在每次的更新事件UEV发生时,传送到影子寄存器;
2)如果TIM1_CR1中的UDIS为0,当计数器产生溢出条件时,产生更新事件
更新事件
1.将预载寄存器的内容写入影子寄存器(通过自动重载位是否被使能来决定):
1)立即
2)在每次更新事件发生时
2.产生更新事件的条件:
1)当计数器上溢或下溢时,
2)当循环计数器计数值为0时(仅适用于TIM1),
3)通过软件设置UG(Update Generation)位。
3.更新事件的请求源可以从下面选择:
1)URS = 1 ---仅当计数器到达上溢/下溢时,将发出更新请求;
2)URS = 0 --—计数器的上溢/下溢、更新位的设置或从模式控制器产生的更新,将发出更新请求。
捕捉比较阵列介绍
1.捕捉比较阵列包括:
每个定时器拥有4个同样的捕捉比较通道;
2.可编程设定通道的方向:输入/输出
3.每个通道由以下部分组成:
1)捕捉/比较寄存器
2)针对捕捉的输入部分:
4位数字滤波器
输入捕捉分频器:
检测到每个边沿完成捕捉
每产生2个事件完成捕捉
每产生4个事件完成捕捉
每产生8个事件完成捕捉
4.针对比较的输出部分:
1)比较器
2)输出控制
输入捕获模式(1)
1.TC1、2和IC3、4可以分别通过软件设置将其映射到TI1、T12和T13、TT4
2.4个16位捕捉比较寄存器可以编程用于存放检测到对应的每一次输入捕捉时计数器的值:
3.当产生一次捕捉,相应的CCXIF标志位被置1:同时如果中断或DMA请求使能,则产生中断或DMA请求。
4.如果当CCXIF标志位已经为1,当又产生一个捕捉,则捕捉溢出标志位CCxOF將被置1。
PWM模式
1.PWM模式运行产生:
1)定时器2、3和4可以产生4独立的信号
2)频率和占空比可以进行如下设定:
看一个自动重载寄存器用于设定PWM的闹期;
每一个PWM通道有一个捕捉比较寄存器用于设定占空时间。
例如:产生一个40Kz的PDN信号:在定时器2的时钟为72MHz下,占空比为50%:
预分频资存器设置为0(计数器的时钟为TIMICLK/(0+1))。自动重载资存器设为1799, CCRx
器存器设为899。
2.两种可设置PWM模式:
看边沿对齐模式
买中心对齐极式