STM32PWM应用

一、输出比较(OC)

OC(Output Compare)输出比较

  • 可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形
  • 每个高级定时器和通用定时器都拥有4个输出比较通道
  • 高级定时器的前3个通道额外拥有死区生成和互补输出的功能

捕获/比较通道的输出部分(通道一)如下:

CNT>=CCR1时,输出模式控制器会输出一个OC1ref,也就是一个输出比较的参考信号,可以映射到至主模式控制器,最常用的是走下面的那一条路到达CC1P极性选择,给这个寄存器写0,信号往上走,信号电平不翻转;给这个寄存器写1,信号往下走,经过一个非门取反,信号电平会发生翻转,原来的参考信号中高低电平会相反。输出使能电路就是要不要输出,OC1引脚就是CH1通道的引脚。

输出模式控制器中的输出比较8种模式,如下图:

图中置有效电平不可以直接理解为就是高电平,置无效电平也不可以直接理解为就是低电平。因为有效电平与输出极性(TIMx_CCER寄存器中的 CCxP位)有直接关系,TIMx_CCER寄存器中置CCxP = 0,选择极性为高电平有效,这时候置有效电平就为高电平;TIMx_CCER寄存器中置CCxP = 1,选择极性为低电平有效,这时候置有效电平就为低电平。

假如我们用PWM模式1,定时器设置为向上计数模式,TIMx_CCER寄存器中置CCxP = 0(在编程库函数是这个参数TIM_OCInitStructure.TIM_OCPolarityTIM_OCPolarity_High)。CNT<CCR时REF置有效电压为高电平输出,CNT>=CCR时,REF置无效电压为低电平输出。相反,如果TIMx_CCER寄存器中置CCxP = 1,CNT<CCR时REF置有效电压为低电平输出,CNT>=CCR时,REF置无效电压为高电平输出

冻结模式:当使用时,状态为暂停时的状态。

匹配时置有效电平/无效电平:是高级定时器里面用的。它俩都是一次性的置完高电平/低电平后,就不管事了,所以这俩模式不适合输出连续变化的波形。

匹配时电平翻转:可以输出一个连续的波形,输出频率=定时器频率/2,如下,会输出一个占空比为50%的波形。

强制为无效电平/无效电平:把REF强制设置为高电平/低电平。

PWM模式1/模式2:可以输出频率和占空比可调的PWM波形,功能如上图,注意一点的是定时器计数方式。

二、PWM:

1、简介

必须在具有惯性系统下应用,如灯亮灭、电机调速等,所谓的惯性,如灯灭掉,不会立马熄灭,而是慢慢的熄灭;电机也是慢慢的停止。

2、基本结构

3、参数计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值