输出比较简介
输出比较的英文缩写是OC,全称是Output compare。输出比较的作用是通过比较CNT定时计数寄存器的值和CCR输入输出捕获比较寄存器的值,来输出一定频率和一定占空比的PWM波形(模拟信号)。CNT定时计数器计数不断的自增,CCR输入输出捕获寄存器是我们给定的一个值。当CNT的值大于CCR的值,输出引脚就是高电平,CNT的值小于CCR的值输出引脚就是低电平,这样就可以输出电平不断变化的PWM波形。高级定时器和通用定时器都有4个输出比较的功能。基本定时器没有输出比较的功能。
PWM波形
PWM的英文全称是Pulse Width Modulation,含义是脉冲宽度调制器。PWM波形是一个连续变化的由一定频率组成的数字电平。
输出比较原理图
CNT定时计数寄存器的值与CCR输入输出比较寄存器的值的比较结果传入输出模式控制器。在输出模式控制器中可以选择8种类型的输出模式。输出模式控制器将CNT和CCR比较结果进行运算,输出oc1ref参考信号。参考信号通过timx_ccer寄存器将信号输出到输出使能电路。timex_ccer寄存器可以设置0和1,决定输出信号是否翻转。输出使能电路可以设置是否开启oc1信号的输出。输出模式可以通过寄存器值的值的设置来控制。
输出控制器
可以通过输出控制器配置不同的模式来比较CNT和CCR,决定输出电平。输出控制一共有8中模式可以使用。我们这里使用PWM模式1。PWM模式1的原理有向上计数:CNT<CCR时,REF置有效电平,CNT≥CCR时,REF置无效电平。
输出PWM波形流程图
- 设置时钟信号源
- 设置自动重装器ARR的值
- 设置捕获比较器CCR的值,让计数器CNT和CCR比较产生一个输出比较的输入信号。
- 设置输出比较模式,比如设置PWM波形1模式。
- 设置极性选择和输出使能开关。
- 引脚得到PWM波形。