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波形。

相关推荐
三佛科技-187366133971 小时前
KP521405LGA低功耗5V1A易用高性能BUCK同步降压转换器芯片解析
单片机·嵌入式硬件
Joshua-a1 小时前
FPGA基于计数器的分频器时序违例的解决方法
嵌入式硬件·fpga开发·fpga
Dillon Dong1 小时前
STM32嵌入式:如何使用keil 来获取flash块数据并转换成可视化的数据 来判断源头数据是否错误
stm32·单片机·嵌入式硬件
雨疏风骤12403 小时前
ROM与RAM,储存地址、链接地址以及运行地址
linux·stm32·嵌入式·linux嵌入式
深耕AI3 小时前
【恍然大悟】8位单片机如何处理大数与二进制乘法?
单片机·嵌入式硬件
z20348315203 小时前
智能台灯控制面板
单片机·嵌入式硬件
钿驰科技3 小时前
TC-BL3650驱动板在无刷减速电机的应用
单片机·嵌入式硬件
深耕AI3 小时前
【单片机】解密STC89C52
单片机·嵌入式硬件
三佛科技-134163842124 小时前
FT32F072xx、FT32F072xB、FT32F072x6/x8基于ARM Cortex-M0内核32位单片机分析
arm开发·单片机·嵌入式硬件·智能家居·pcb工艺
清风6666664 小时前
基于单片机的火焰与温度联动检测及声光灭火控制系统
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业