STM32 : PWM 基本结构

这张图展示了PWM(脉冲宽度调制)的基本结构和工作流程。PWM是一种用于控制功率转换器输出电压的技术,通过调整信号的占空比来实现对负载的精确控制。以下是详细讲解:

PWM 基本结构

1. 时基单元
  • ARR (Auto-reload register): 自动重装载寄存器,用于设置计数器的最大值。
  • PSC (Prescaler): 预分频器,用于设置计数器的时钟频率。
  • CNT (Counter): 计数器,根据预分频器的时钟进行计数。
2. 输出比较单元
  • CCR (Capture/Compare Register): 捕获/比较寄存器,用于存储比较值。
  • 运行控制: 控制PWM的启动和停止。
3. 极性选择和输出使能
  • REF: 参考信号,根据比较结果产生。
  • 极性选择: 确定输出信号的极性(高电平有效或低电平有效)。
  • 输出使能: 控制GPIO引脚是否输出信号。

工作流程

  1. 初始化

    • 设置ARR(自动重装载寄存器)的值,确定计数器的最大值。
    • 设置PSC(预分频器)的值,确定计数器的时钟频率。
    • 设置CCR(捕获/比较寄存器)的值,确定比较值。
  2. 计数器操作

    • 计数器CNT从0开始递增,直到达到ARR设定的最大值。
    • 当CNT达到ARR的最大值时,计数器清零并重新开始计数。
  3. 比较操作

    • 在每个计数周期中,将CNT的值与CCR的值进行比较。
    • 如果CNT < CCR,则REF置为有效电平(例如高电平)。
    • 如果CNT ≥ CCR,则REF置为无效电平(例如低电平)。
  4. 输出信号

    • 根据REF的值和极性选择,生成最终的PWM信号。
    • 通过GPIO引脚输出PWM信号。

图解说明

  • 蓝色斜线: 表示计数器CNT的值随时间增加。
  • 红色水平线: 表示CCR的值,即比较值。
  • 绿色矩形脉冲: 表示输出的PWM信号,当CNT < CCR时,输出高电平;当CNT ≥ CCR时,输出低电平。

示例配置

假设:

  • ARR = 99:计数器的最大值为99。
  • PSC = 1:预分频器不进行分频。
  • CCR = 30:比较值为30。
工作过程
  1. 计数器从0开始递增

    • 当CNT = 0到29时,CNT < CCR,REF输出高电平。
    • 当CNT = 30到99时,CNT ≥ CCR,REF输出低电平。
  2. 计数器到达最大值后清零

    • 当CNT达到99时,计数器清零,重新开始计数。
  3. 重复上述过程

    • 每个周期内,输出一个高电平持续30个计数周期,低电平持续69个计数周期。

总结

PWM通过调整CCR的值来改变输出信号的占空比,从而实现对负载的精确控制。通过合理配置ARR、PSC和CCR,可以灵活地调整PWM信号的频率和占空比,满足不同的应用需求。

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| |--------------------------------------------------------------------------------------------------------------------------------------------------------| | | 感謝支持喔 |

相关推荐
fengfuyao9854 小时前
STM32如何定位HardFault错误,一种实用方法
stm32·单片机·嵌入式硬件
爱学习的颖颖5 小时前
EXTI外部中断的执行逻辑|以对射式红外传感器计次为例
单片机·嵌入式硬件·exti中断
keer_zu6 小时前
STM32L051 RTC闹钟配置详解
stm32·嵌入式硬件
AI精钢6 小时前
H20芯片与中国的科技自立:一场隐形的博弈
人工智能·科技·stm32·单片机·物联网
etcix9 小时前
implement copy file content to clipboard on Windows
windows·stm32·单片机
谱写秋天9 小时前
在STM32F103上进行FreeRTOS移植和配置(STM32CubeIDE)
c语言·stm32·单片机·freertos
globbo13 小时前
【嵌入式STM32】I2C总结
单片机·嵌入式硬件
玖別ԅ(¯﹃¯ԅ)13 小时前
SysTick寄存器(嘀嗒定时器实现延时)
stm32·单片机·嵌入式硬件
limitless_peter13 小时前
集成运算放大器(反向比例,同相比例)
嵌入式硬件·硬件工程
Blossom.11814 小时前
把 AI 推理塞进「 8 位 MCU 」——0.5 KB RAM 跑通关键词唤醒的魔幻之旅
人工智能·笔记·单片机·嵌入式硬件·深度学习·机器学习·搜索引擎