参考视频:[6-3] TIM输出比较_哔哩哔哩_bilibili
OC(Output Compare)输出比较
输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形。
每个高级定时器和通用定时器都拥有4个输出比较通道。
高级定时器的前3个通道额外拥有死区生成和互补输出的功能。
捕获/比较寄存器
捕获/比较寄存器是输入捕获和输出比较共用的,当使用输入捕获时,它就是捕获寄存器,当使用输出比较时,它就是比较寄存器。
在输出比较这里,会比较CNT和CCT的值。CNT计数自增,CCR是给定的一个值。
PWM简介
PWM脉冲宽度调制
在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域。
PWM参数:
频率=1/Ts 占空比=Ton/Ts 分辨率=占空比变化步距
通用定时器输出比较电路
左边是CNT计数器和CCR1第一路的捕获/比较寄存器。
当CNT>CCR1或者CNT=CCR1,就会给输出模式控制器传一个信号,然后输出模式控制器就会改变它输出OC1REF的高低电平。
oc1ref可以前往主模式控制器,你可以把REF映射到主模式的TRGO输出上去。
不过oc1ref的主要去向还是下面一路,CC1P是极性选择,给这个寄存器写0,信号就会往上走,就是信号电平不翻转,进来啥样出去还是啥样;写1的话,信号就会往下走,就是信号通过一个非门取反,输出信号就是输入信号高低电平反转的信号。
输出使能电路,选择要不要输出。
最后就是OC1引脚,这个引脚就是CH1通道的引脚。
输出模式控制器
匹配时电平翻转模式:可以输出一个频率可调,占空比始终为50%的PWM波形。改变定时器更新频率时,输出波形的频率也会随之改变,输出波形的频率=更新频率/2,因为更新两次输出才为一个周期。
PWM模式1和PWM模式2:输出频率和占空比都可调的PWM波形。
PWM模式2实际上就是PWM模式1输出的取反,改变PWM模式1和PWM模式2,就只是改变了REF电平的极性而已。
PWM基本结构
这里是PWM模式1的向上计数。
参数计算
PWM频率: Freq = CK_PSC / (PSC + 1) / (ARR + 1)
PWM占空比: Duty = CCR / (ARR + 1)
PWM分辨率: Reso = 1 / (ARR + 1)