一、输出比较简介
1、输出比较
OC(Output Comapre)输出比较
输出比较可以通过比较CNT(时基单元)和CCR(捕获单元)寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率的占空比的PWM波形(CC是捕获/比较的意思,R是Register,寄存器的意思),这个捕获/比较寄存器是输入捕获和输出比较共用的,当使用输入捕获时,他就是捕获寄存器,当时用输出比较时,它就是比较寄存器。
每个高级定时器和通用定时器都有4个输出比较通道
高级定时器的前3个通道额外拥有死区生成和互补输出的功能
注:简单来说就是在输出比较这里这块电路会比较CNT和CCR的值,CNT计数自增,CCR是我们给定的一个值,当CNT大于CCR、小于CCR、等于CCR时,输出就会输出对应的置1或置0。

对应的数字电路框图为红圈部分

2、PWM简介
PWM(Pluse Width Modulation)脉冲宽度调制
在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟量,常用于电机控速等领域,也就是说,使用这个PWM波形,是用来等效地实现一个模拟信号的输出,也就是以一个很快的频率,给电机通电、断电,也就使电机维持在一个中等速度
PWM参数:频率=1/Ts 占空比=Ton/Ts 分辨率=占空比变化步距
3、定时器的结构
1、输出比较(OC)通道(通用定时器模块)

图解:在这个图里,左边就是CNT计数器(时基单元模块中的)和CCR1第一路的捕获/比较寄存器 ,他俩进行比较,当CNT>CCR1或者CNT=CCR1时就会给输出模式控制器传一个信号,然后输出模式控制器就会改变它输出OC1REF的高低电平(REF时reference的缩写,意思是参考信号),然后上面还有个ETRF输入,这是定时器的一个小功能一般不用了解,接着REF信号可以前往主模式控制器,你可以把这个REF映射到主模式的TRGO输出上去,但主要还是下面那一路(极性选择部分),给这个寄存器写0,信号会往上走,就是信号电平不翻转进来啥样出去啥样,写1的话,信号就会往下走,就是信号通过一个非门取反,那输出信号就是输入信号高低电平反转的信号,再往后就是输出使能电路就是选择要不要

文章详细介绍了STM32中的输出比较(OC)机制,如何通过比较CNT和CCR寄存器来生成PWM波形,以及输出模式控制器的不同工作模式。PWM波形在电机控制中的应用和参数计算也有所提及。此外,还展示了舵机和直流电机的工作逻辑,并给出了使用STM32PWM驱动LED呼吸灯的代码示例。
5044

被折叠的 条评论
为什么被折叠?



