一、输出比较及PWM简介
输出比较
•OC(Output Compare)输出比较
•输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形
•每个高级定时器和通用定时器都拥有4个输出比较通道
•高级定时器的前3个通道额外拥有死区生成和互补输出的功能
PWM
•PWM(Pulse Width Modulation)脉冲宽度调制
•在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域
•PWM参数:
频率 = 1 / TS 占空比 = TON / TS 分辨率 = 占空比变化步距

二、PWM的基本结构

时基单元(含 CNT、ARR)------ 提供周期性计数时间轴
时基单元的核心是计数器CNT+ 自动重装值ARR,为 PWM 生成提供固定的周期节奏 :CNT从 0 开始,随定时器时钟自动向上累加,数到ARR后立即归 0,循环执行0→ARR→0 的计数过程;这一完整计数循环,就是一个 PWM 周期,是后续电平切换的时间基础。
比较器 ------ 执行CNT 与 CCR 的实时比对
比较寄存器CCR预存设定的固定阈值,硬件比较器以定时器时钟为节拍,在 CNT 计数的每一个时刻 ,将实时变化的 CNT 值 与固定的 CCR 值 做持续、自动的大小比较,实时输出CNT<CCR 或CNT≥CCR的比对结果,为电平切换提供判定依据。
执行电平切换规则(PWM 生成的核心逻辑)
以向上计数为核心规则(图中核心),根据比较器的比对结果,直接控制输出电平的切换:
- 当比对结果为CNT<CCR 时,输出有效电平;
- 当比对结果为CNT≥CCR 时,输出无效电平;随 CNT 完成 0→ARR→0 的循环,电平按此规则重复切换,形成连续的 PWM 波形。
极性选择 ------反转 / 保持原始 REF 电平
极性选择是原始 REF 波形 做最后一次电平逻辑处理,是可配置的可选环节,核心作用为灵活调整输出电平的有效 / 无效对应关系:
- 选择不反相:最终输出的 PWM 电平与 REF 原始波形完全一致,即 REF 的有效电平 = 最终输出有效电平,REF 的无效电平 = 最终输出无效电平;
- 选择反相:最终输出的 PWM 电平与 REF 原始波形完全相反,即 REF 的有效电平 = 最终输出无效电平,REF 的无效电平 = 最终输出有效电平。

三、输出比较
输出比较通道(通用)

捕获和比较寄存器是同一个

-
输出模式控制器 这是核心决策单元,它接收计数器(CNT)和比较寄存器(CCR1)的比较结果(
CNT > CCR1、CNT = CCR1),并根据TIMx_CCMR1寄存器里的OC1M[2:0]位配置,生成原始参考信号OC1REF。这个信号决定了 PWM 的基础波形。 -
信号极性与选择
OC1REF先经过一个反相器,再进入一个由CC1P(TIMx_CCER寄存器位)控制的 2 选 1 多路选择器。CC1P=0时直接输出OC1REF;CC1P=1时输出反相后的信号,以此来控制 PWM 输出的极性。
-
输出使能电路 最终信号会经过由
CC1E(TIMx_CCER寄存器位)控制的输出使能电路。只有当CC1E=1时,信号才能通过并最终从OC1引脚输出;CC1E=0时,通道输出会被关闭。OC1 经过复用功能(AF) 路由后,到达具体的 GPIO 口。 -
主模式控制器接口
OC1REF还会被送到主模式控制器,这可以用来触发其他定时器或外设,实现定时器同步等更复杂的功能。

四、舵机、直流电机、驱动芯片
舵机
•舵机是一种根据输入PWM信号占空比来控制输出角度的装置
•输入PWM信号要求:周期为20ms,高电平宽度为0.5ms~2.5ms

硬件电路

舵机内部能识别PWM的占空比,只需要输入相应的PWM就可以让它旋转指定角度。
直流电机及驱动
•直流电机是一种将电能转换为机械能的装置,有两个电极,当电极正接时,电机正转,当电极反接时,电机反转
•直流电机属于大功率器件,GPIO口无法直接驱动,需要配合电机驱动电路来操作
•TB6612是一款双路H桥型的直流电机驱动芯片,可以驱动两个直流电机并且控制其转速和方向

- 方向控制(AIN1/AIN2 的电平组合)
-
正转:AIN1=H,AIN2=L → AO1 输出高电平,AO2 输出低电平,电机两端形成正向电压差。
-
反转:AIN1=L,AIN2=H → AO1 输出低电平,AO2 输出高电平,电机两端形成反向电压差。
-
制动:AIN1=H,AIN2=H 或 AIN1=L,AIN2=L → AO1 和 AO2 输出相同电平,电机两端无电压差,实现快速刹车。
-
停止:AIN1=L,AIN2=L 且 PWM=L → 电机无供电,自然停转。
- 速度控制(PWMA 的 PWM 占空比)
-
PWM 的占空比越高,电机两端的平均电压越高,转速越快;
-
占空比越低,平均电压越低,转速越慢;
-
当 PWM 为低电平时,电机无供电,停止转动。