问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

PWM 使用指南

创作时间:
作者:
@小白创作中心

PWM 使用指南

引用
1
来源
1.
https://aicdoc.artinchip.com/topics/sdk/pwm/pwm_user_guide-luban.html

PWM(脉冲宽度调制)是一种常用的电子控制技术,广泛应用于各种电子设备中。本文将详细介绍PWM的基本概念、工作原理以及在Luban系统中的具体应用,帮助读者更好地理解和使用PWM技术。

术语定义

术语/缩略语
定义及说明
PWM
Pulse-Width Modulation,脉冲宽度控制,简称脉宽调制
EPWM
Enhanced Pulse-Width Modulation, 增强型脉冲宽度控制(Luban中EPWM功能与PWM相同,如无特殊说明,两者通用)
TBC
Time Base Counter,时基计数器,用于产生锯齿波
占空比
PWM信号中,高电平保持的时间与该PWM时钟周期的时间之比
分辨率
占空比最小能达到多少,如8位的PWM理论分辨率是1:255
Up Count
增模式, 计数方式是递增计数,如从0计数到80、之后又从0到80(波形是锯齿波)
Down Count
减模式, 计数方式是递减计数,如从80计数到0、之后又从80到0(波形是锯齿波)
单斜率
单个方向的计数,增模式、减模式都属于单斜率
Up&Down Count
增减模式,计数方向有两个,如从0计数到80、然后从80到0(波形是三角波),增、减两个过程合起来算一个周期
双斜率
两个方向的计数,增减模式属于双斜率

PWM 工作原理

PWM 信号

PWM信号通常由一列占空比不同的矩形脉冲构成,其占空比可以调节。用数字输出来控制PWM占空比,占空比提高意味着高电平脉宽增大,输出的能量就会增加,PWM就相当于一个功率版的DA转换模块。下图是一个典型的PWM信号波形:


图1. 典型的PWM信号波形

占空比的计算方法:
占空比=(脉宽时间/周期)*100%

结合上图,我们可以说:脉宽时间1相比脉宽时间2提供较小的占空比。PWM通常用于背光亮度调节、电机控制、舵机控制等。本文仅限于PWM调节背光的功能,通过调节PWM中的占空比,达到控制LED背光电流的通和断,进而可调整背光亮度。

增模式

为了灵活调节PWM信号的占空比,要先想办法产生一个递增、或者递减的锯齿波信号,另外再结合一个比较器来跟一个阈值进行比较,当满足条件时进行电平反转,这样达到的效果就是通过调节“阈值”来调节了占空比。

下图是由一个递增变化的锯齿波产生PWM信号的过程:


图2. 由增模式锯齿波产生PWM信号的过程示意图

图中Tpwm表示PWM信号的周期值,另外有三个关键的时间点(下文简称关键时点)(标注橙色圆圈,为了简洁只标注了最后一个周期)在下文中会频繁使用:

  • ZRO:Zero Point的缩写,锯齿波的起始点
  • PRD:Preiod Point的缩写,锯齿波到达一个满周期的时间点
  • CMP:Compare Point的缩写,锯齿波到达了阈值的时间点,如上图中的CMP值为7。

提示:
实际上,PWM模块支持设置两个CMP值:CMPA和CMPB。受限于OS中PWM子系统架构的接口设计,根据duty参数计算只能得到一个CMP值,所以CMPB和CMPA实际上数值保持一致。这些关键时点的触发行为Action有四种类型,详见PWM配置

减模式

下图是由一个递减变化的锯齿波产生PWM信号的过程:


图3. 由减模式锯齿波产生PWM信号的过程示意图

增减模式

下图是由一个同时有递减、递减变化的锯齿波产生PWM信号的过程:


图4. 由增减模式锯齿波产生PWM信号的过程示意图

比较以上三种模式的PWM产生过程,可以看到:

  • 三种模式可以产生同样效果的PWM信号
  • 配置ZRO、CMP(增减模式中有两处CMP)、PRD的触发行为(Action),可产生不同的PWM信号
  • CMP的取值,直接决定了占空比,所以用户看到的调节占空比就是通过调节CMP值来实现
  • PRD的值,决定了PWM信号的周期值Tpwm

提示:
2.
具体选择哪一种模式,要依据用户场景的需求特点,建议按从简原则:首选相对简单的单斜率模式
4.
为了简化使用,RTOS中默认只使用增模式

PWM 功能简介

PWM的硬件设计,使用时基计数器产生上述的锯齿波信号,使用一个比较器可同时产生两路PWM信号。PWM模块的硬件原理图可简化如下:

图5.简化的PWM硬件框图

PWM模块共支持4个PWM通道,上图只画出了其中一个PWM通道,每个通道有PWMx0和PWMx1两个输出信号,对应DTS参数中的action0和action1配置。PWM配置
PWM模块支持的功能特性有:

  • 每个PWM通道可以产生PWMx0和PWMx1输出信号,配置规则如下:
    注:
    在用户手册>接口>PWM模块中,上述两个PWM输出信号被称作PWMxA和PWMxB。为了避免和阈值CMPA和CMPB混淆,软件设计中将两个输出信号称作PWMx0和PWMx1。
  • 两个独立的单边输出
  • 两个独立的双边对称输出
  • 一个独立的双边非对称输出
  • 专用的16位可配置周期和频率的时基计数器(Time Base Counter)
  • 系统时钟100 MHz
  • 多种事件可配置产生对应的中断

在CMPA和CMPB同时使用的情况下,锯齿波就会有两次和阈值的比较,共产生4个关键时点:

锯齿波信号波段
CMPA
CMPB
增斜率段
CAU (Compare A Up)
CBU (Compare B Up)
减斜率段
CAD (Compare A Down)
CBD (Compare B Down)

以增减模式的锯齿波为例,共6个关键时点:


图6. 增减模式的6个关键时点

表2.增减模式下关机时点的触发行为配置

关键时点
Action 类型
CBD
none
CBU
none
CAD
high
CAU
none
PRD
low
ZRO
low

关于行为类型定义,见PWM配置。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号