一、 相关概念
利用stm32的定时器模块可以实现方波的输出,该款单片机有两种模式可以实现这一功能,分别是输出比较(Output Compare,OC)模式及PWM模式。下图为输出比较部分的硬件结构图,其中捕获/比较寄存器(CCR,Capture/Compare Register)
-
输出比较
输出比较可以通过比较CNT和CCR值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率的占空比的PWM波形。下图为输出比较模式下的工作原理,只有在CNT=CCR时输出电平极性才发生翻转,CNT=ARR时重置CNT,所以输出比较模式下ARR 决定输出频率,CCR决定每个通道的初始相位。
-
PWM(Pluse Width Modulation)脉冲宽度调制
在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟量,常用于电机控速等领域,也就是说,使用这个PWM波形,是用来等效地实现一个模拟信号的输出,也就是以一个很快的频率,给电机通电、断电。
常见参数:
频率=1/Ts
占空比=Ton/Ts
分辨率=占空比变化步距
下图为PWM模式下的工作原理,在时输出低电平, CCR≤CNT≤ARR极性发生翻转变为高电平,CNT=ARR时重置CNT。
PWM模式: ARR设置频率,CCR设置占空比,频率和占空比可以任意设置,起始相位不能设置。
输出比较模式:ARR设置频率,CCR设置相位,频率和起始相位可以任意设置,占空比不能设置。输出频率为理论计算值一半。
二、 基本结构
-
基本结构
如图为输出比较模式下的基本结构,左边是CNT计数器和CCR1 ,他俩进行比较,当CNT≥CCR1时就会给输出模式控制器传一个信号,然后输出模式控制器就会改变它输出OC1REF的高低电平, REF信号可以作为主模式控制器的输入,把这个REF映射到主模式的TRGO输出,但主要还是下面的极性选择部分,之后是输出使能电路控制输出信号的使能与失能,最后就是OC1引脚,这个引脚就是CH1的通道的引脚。
-
输出模式
模式 | 描述 |
---|---|
冻结 | CNT=CCR时,REF保持为原状态 |
匹配时置有效电平 | CNT=CCR时,REF置有效电平 |
匹配时置无效电平 | CNT=CCR时,REF置无效电平 |
匹配时电平翻转 | CNT=CCR时,REF电平翻转 |
强制为无效电平 | CNT与CCR无效,REF强制为无效电平 |
强制为有效电平 | CNT与CCR无效,REF强制为有效电平 |
PWM模式1向上计数 | CNT<CCR时,REF置有效电平,CNT≥CCR时,REF置无效电平 |
PWM模式1向下计数 | CNT>CCR时,REF置无效电平,CNT≤CCR时,REF置有效电平 |
PWM模式2向上计数 | CNT<CCR时,REF置无效电平,CNT≥CCR时,REF置有效电平 |
PWM模式2向下计数 | CNT>CCR时,REF置有效电平,CNT≤CCR时,REF置无效电平 |
冻结描述的是CNT=CCR时,REF保持原态,比如在输出PWM波,突然想暂停一会儿输出,就可以设置成这个模式,高低电平维持在暂停时刻;
匹配时值置有效电平&#