这张图展示了PWM(脉冲宽度调制)的基本结构和工作流程。PWM是一种用于控制功率转换器输出电压的技术,通过调整信号的占空比来实现对负载的精确控制。以下是详细讲解:
PWM 基本结构
1. 时基单元
- ARR (Auto-reload register): 自动重装载寄存器,用于设置计数器的最大值。
- PSC (Prescaler): 预分频器,用于设置计数器的时钟频率。
- CNT (Counter): 计数器,根据预分频器的时钟进行计数。
2. 输出比较单元
- CCR (Capture/Compare Register): 捕获/比较寄存器,用于存储比较值。
- 运行控制: 控制PWM的启动和停止。
3. 极性选择和输出使能
- REF: 参考信号,根据比较结果产生。
- 极性选择: 确定输出信号的极性(高电平有效或低电平有效)。
- 输出使能: 控制GPIO引脚是否输出信号。
工作流程
-
初始化
- 设置ARR(自动重装载寄存器)的值,确定计数器的最大值。
- 设置PSC(预分频器)的值,确定计数器的时钟频率。
- 设置CCR(捕获/比较寄存器)的值,确定比较值。
-
计数器操作
- 计数器CNT从0开始递增,直到达到ARR设定的最大值。
- 当CNT达到ARR的最大值时,计数器清零并重新开始计数。
-
比较操作
- 在每个计数周期中,将CNT的值与CCR的值进行比较。
- 如果CNT < CCR,则REF置为有效电平(例如高电平)。
- 如果CNT ≥ CCR,则REF置为无效电平(例如低电平)。
-
输出信号
- 根据REF的值和极性选择,生成最终的PWM信号。
- 通过GPIO引脚输出PWM信号。
图解说明
- 蓝色斜线: 表示计数器CNT的值随时间增加。
- 红色水平线: 表示CCR的值,即比较值。
- 绿色矩形脉冲: 表示输出的PWM信号,当CNT < CCR时,输出高电平;当CNT ≥ CCR时,输出低电平。
示例配置
假设:
- ARR = 99:计数器的最大值为99。
- PSC = 1:预分频器不进行分频。
- CCR = 30:比较值为30。
工作过程
-
计数器从0开始递增:
- 当CNT = 0到29时,CNT < CCR,REF输出高电平。
- 当CNT = 30到99时,CNT ≥ CCR,REF输出低电平。
-
计数器到达最大值后清零:
- 当CNT达到99时,计数器清零,重新开始计数。
-
重复上述过程:
- 每个周期内,输出一个高电平持续30个计数周期,低电平持续69个计数周期。
总结
PWM通过调整CCR的值来改变输出信号的占空比,从而实现对负载的精确控制。通过合理配置ARR、PSC和CCR,可以灵活地调整PWM信号的频率和占空比,满足不同的应用需求。
|