Edit online

PWM 使用指南

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

../../images/hw_system8.png
1. 简化的 PWM 硬件框图

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

PWM 模块支持的功能特性有:

  • 每个 PWM 通道可以产生两个 PWM 输出信号: PWMx0 和 PWMx1,可遵循如下配置
    • 两个独立的单边输出

    • 两个独立的双边对称输出

    • 一个独立的双边非对称输出

  • 专用的 16 位可配置周期和频率的时基计数器(Time Base Counter)

  • 系统时钟 100MHz

  • 多种事件可配置产生对应的中断

注:

PWM 硬件 Spec 文档中,将两个 PWM 输出信号称作 PWMxA 和 PWMxB,为了避免和阈值 CMPA、CMPB 混淆,软件设计中将两个输出信号称作 PWMx0 和 PWMx1。

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

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

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

../../images/cmpa_cmpb1.png
2. 增减模式的 6 个关键时点

上图中的,6 个关机时点的触发行为配置是:(行为类型定义见 PWM 自定义参数

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