STM32通用定时器TIMx
一、通用定时器功能:
①4个独立通道:
─ 输入捕获
─ 输出比较
─ PWM生成
─ 单脉冲模式输出
②使用外部信号控制定时器和定时器互连的同步电路
③产生中断/DMA:
─ 更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)
─ 触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)
─ 输入捕获
─ 输出比较
④支持针对定位的增量(正交)编码器和霍尔传感器电路
⑤触发输入作为外部时钟或者按周期的电流管理
通用定时器框图
二、通用定时器结构
通用定时器可以分为:触发选择,时基单元,输入捕获,输出比较
1、触发选择
有外部时钟模式1、外部时钟模式2、内部时钟模式、编码器模式、主/从模式。
──内部时钟模式、外部时钟模式1、外部时钟模式2主要为计数器提供时钟。
──编码器模式主要用于正交编码器和霍尔传感器电路。(用于电机测速)
──主/从模式主要用于触发输入输出。
1.1计数器时钟选择
1.1.1内部时钟
打开定时器的内部时钟以72MHZ输入时钟信号。
1.1.2外部时钟源模式1
可以从定时器的ch1/ch2引脚输入时钟信号。
1.1.3外部时钟源模式2
可以从定时器对应的外部ETR引脚输入时钟信号。
1.1.4内部输入触发
可以从定时器相连的ITRx引脚输入时钟信号。(需要选择从模式的触发输入)
1.2编码器模式
在这个模式下,计数器CNT依照增量编码器的速度和方向被自动的修改,因此计数器的内容始终指示着编码器的位置。可以在单位时间内读取CNT的值然后充值,读取的就是速度值。
2、时基单元
时基单元主要由预分频器PSC、自动重转载寄存器ARR、计数器CNT组成,可以同时产生事件和中断。
2.1预分频器PSC
主要对输入的信号进行分频处理(可以是1到65536之间),带有影子寄存器。
2.2自动重转载寄存器ARR
当计数器达到ARR所存储的值时,产生一个事件或中断,并且清零计数器CNT,带有影子寄存器。
2.3计数器CNT
每收到一个预分频器传来的CK_CNT信号执行++处理。
计数器CNT具有三种计数模式,分别是:向上计数模式,向下计数模式,中央对齐模式。
3、输入捕获/输出比较
输入捕获和输出比较公用同一个引脚和寄存器,也就是说设置了输入捕获模式就不能使用输出比较。
3.1输入捕获
输入捕获模式主要进行的是,当检测到ICx信号上相应的边沿后,计数器CNT的当前值被锁存到CCR中。主要用于测PWM的频率和占空比。
3.2输出比较
输出比较模式主要进行的是,控制一个输出波形,或者指示一段给定的的时间已经到时。可以控制输出PWM控制呼吸灯,电机。设置CCR寄存器的初值,在每次CNT++的时候和CCR初值比较输出电平。