STM32--PWM原理机制

1.什么是PWM

脉冲宽度调制(PWM),是英文"Pulse Width Modulation"的缩写,简称脉宽调制,可以理解为控制脉冲的宽度,利用微处理器的数字输出来对模拟电路进行控制的一种有效技术。通过控制信号的脉冲宽度,实现对电压或电流的精确控制,这就用到了PWM等效输出模拟量。

2.PWM相关参数

pwm主要有三个参数:频率、占空比、分辨率

(1)频率:是指1秒内信号从高电平到低电平在到高电平的次数(一个周期),也就是一秒中有多少个PWM周期。

(2)占空比:是一个脉冲周期内,高电平占整个周期的时间比例。占空比决定了PWM等效出来的模拟电压的大小,占空比越大,模拟电压越趋近于高电平。

(3)分辨率:就是占空比变化的快慢,占空比变化的细腻程度。占空比跳的快如按照1%跳变与按照0.1%跳变,那么0.1%的跳变就越细腻,越柔和。

3.PWM的基本工作原理

在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域。

那么什么是惯性系统呢?如LED在熄灭的时候,由于余晖和人眼视觉暂留的现象,LED不会立马熄灭,而是有一定的惯性,过了一小段时间才熄灭的。具有惯性的系统才能使用PWM。

4.定时器是怎么输出PWM波形的?

PWM生成:

(1)CNT计数器和CCR捕获比较寄存器,进行比较,如果如果CNT大于或者等于CCR,就会给输出模式控制器传一个信号;

(2)输出模式控制器就会改变它输出OC1REF的高低电平,REF信号实际上就是信号的高低电平(REF:reference,参考信号);

(3)CC1P:极性选择寄存器,给0,信号就会走对应的0那一路,信号不变;给1,信号会经过一个非门,极性翻转;

(4)信号从OC1输出。

5.stm32输出模式控制器可以配置输出8种模式,通过寄存器配置

6.PWM实现流程

注:黄色线:计算器溢出频率(ARR),也是PWM更新频率;

红色线:捕获比较寄存器CCR的值;

蓝色线:计数器CNT的值。

7.PWM的基本结构框图

时基单元在定时器篇张有介绍,这里主要介绍输出比较单元。定时器不断更新计数值,并且不断与捕获比较寄存器的值进行比较,当计数器的值大于等于捕获比较寄存器的值时,电平就会从高电平跳到低电平,当计数器的值小于捕获比较寄存器时,电平就会从低电平跳到高电平。

8.PWM参数计算公式

PWM频率: Freq = CK_PSC / (PSC + 1) / (ARR + 1)

PWM占空比: Duty = CCR / (ARR + 1)

PWM分辨率: Reso = 1 / (ARR + 1)

Reso定义的分辨率是占空比最小的变化步距

注:

ARR:Automatic Reload Register,自动重装寄存器。计数到该值时,会重新计数,也就是重装的意思。

CCR:Catch Compare Register,捕获比较寄存器,CC捕获/比较意思,R是Register,寄存器的意思。两个共用,输入捕获寄存器。输出比较寄存器,比较CNT与CCR的值,CNT计数自增,CCR自己给定。当CNT大于CCR(小于或者等于)时,置1置0,然后输出应该电平不断跳变的PWM波形。

相关推荐
离凌寒2 小时前
一、在freertos上使用esp01s模块并配置使用sta模式进行数据通信传输测试。
单片机·freertos·esp01s
星期天26 小时前
1.1江科大之LED闪烁&LED流水灯&蜂鸣器
stm32·单片机·嵌入式硬件
梓德原6 小时前
【经验】MSP430编译器使用经验-IAR编辑框分框
单片机·嵌入式硬件·物联网
电子工程师-C517 小时前
基于51单片机的自动乒乓球发球机
单片机·嵌入式硬件·51单片机
玩转单片机与嵌入式7 小时前
在STM32F103单片机上跑通AI模型:为什么选正弦波作为Hello World?
人工智能·stm32·单片机
星期天28 小时前
1.2STM32江科大GPIO的输入(电路硬件连接)
单片机·嵌入式硬件·stm32江科大·gpio的输入·硬件电路的链接
Darken039 小时前
标准外设库与HAL库有什么区别?都怎样去使用?如何区分?
单片机·嵌入式硬件·hal库与基本外设库
点灯master10 小时前
DAC8562的驱动设计开发
c语言·驱动开发·stm32
czhaii10 小时前
8051U深度入门到32位51大型实战
单片机
Hans_Rudle10 小时前
在香橙派(昇腾NPU)(kunpengpro/aipro)上部署自己的模型 -以Unet为例
嵌入式硬件·香橙派