一.定时器简介
1.定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断
2.组成:16位计数器,预分频器,自动重装寄存器的时基单元,在72MHZ计数时钟下可以实现最带59.65s(72m/65536/65536然后取倒数)的定时
3.具备功能:定时中断,内外时钟源选择,输入捕获,输出比较,编码器接口,主从触发模式等
4.根据复杂度和应用场景分为了高级定时器,通用定时器,基本定时器
二.定时器类型
三.基本定时器框图解释
1.PCS预分频器:前面连接的时基准计数时钟的输入,来自RCC的TIMxCLK的主频位72MHZ,所以通向时基单元的计数基准频率就是72MHZ,预分频器可以对主频进行分频,输出频率=输入频率/(值+1)
2.计数器:不断自增,然后清零
3.自动重装寄存器:固定目标值,给计数器目标值
4.主模式触发DAC:能让内部的硬件在不受程序的控制下实现自动运行。更新事件通过主模式映射到TRGO,然后TRGO就回去触发DAC了,整个模式不需要软件参与。
四.通用定时器
1.中间核心部分为时基单元,同基本定时器
2.相比基本定时器,增加向下,中央对齐的计数模式,这两种不常用
3.外部时钟源选择:TIMx_ETR(常用,也就是外部时钟模式2),TRGI(主要用作触发输入),ITRx(实现定时器级联的功能),
4.定时器级联:比如先初始化tim3,再用主模式把它的更新事件映射到TRGO上,再初始化tim2,选择itr2,对应的就是tim3的trgo,后面再选择外部时钟模式1,用tim3的更新事件驱动tim2的时基单元,实现定时器的级联
5.右上角表示定时器的主模式输出
6.左下为输入捕获电路,右下为输出比较电路
五.高级定时器
相比于常规定时器,申请中断部分增加一个重复次数计数器,输出比较模块再升级了一下
六.定时中断和内外时钟源选择
七.预分频器时序图
八.计数器时序图
九.时钟树
十.程序思路
第一步:时钟初始化
第二步:选择时基单元的时钟
第三步:配置时基单元
第四步:使能更新中断
一.OC输出比较简介(out compare)
1.输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1,置0或者翻转的操作,用于输出一定频率和占空比的PWM波形
2.每个高级定时器和通用定时器拥有4个输出比较通道,各有各的寄存器,共用一个cnt计数器
3.高级定时器的前三个通道拥有死区生成和互补输出的功能,用于驱动三相无刷电机
二.输出比较通道(通用)
1.左边CCR1表示第一路捕获/比较寄存器,满足条件改变oc1ref的信号,然后信号前往TIMx_CCER来选择是否翻转和是否输出使能电路,最后达到oc1引脚
2.输出模式通过TIMx_CCMR1来输出,参考下表,有效电平即高电平
二.pwm输出
PWM频率:Freq=CK_PSC/(PSC+1)/(ARR+1)
PWM占空比:Duty=CCR/(ARR+1)
PWM分辨率:Rese=1/(ARR+1)
一.输入捕获简介IC
1.输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率,占空比,脉冲间隔,电平持续时间等参数。
2.每个高级定时器和通用定时器都有4个输入捕获通道
3.可配置为PWMI模式(pwm专门设计),同时测量频率和占空比
4.可配合主从触发模式,实现硬件全自动测量
二.输入捕获部分
1.TIMx—CH1输入信号,来到了输入滤波和边沿检测器,选择高(低)电平触发,边沿检测电路就会触发后续电路执行动作
2.第1套电路到TI1FP1到ic1,第2套电路到TI1FP2到ic2,或者各自独立连接。这样做可以灵活切换输入,或者可以把一个引脚的输入映射到两个单元,这样可以同时测量平吕和占空比。
三.主从触发模式
主模式:定时器内部信号映射到TRGO引脚,用来触发别的外设
触发源选择:选择从模式的触发信号源
从模式:接受其他模式或者自己信号
四.输入捕获基本结构
1.只使用一个通道,只能测量频率
一.编码器接口简介Encoder interface
1.编码器接口可接受增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置,旋转方向和旋转速度
2.每个高级定时器和通用定时器都拥有一个编码器接口
3.两个输入引脚借用了输入捕获的通道1和通道2