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

相关推荐
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
Lester_11015 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元5 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133975 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315205 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
古译汉书5 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
Alaso_shuang5 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
脚后跟5 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程
2501_918126915 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
z20348315205 天前
STM32F103系列单片机定时器介绍(一)
stm32·单片机