10.4.1. 概述

PWM 是Pulse Width Modulation的缩写。在最小CPU负载或交互下,PWM信号发生器可自动生成复杂的脉冲宽度信号。自由编程的脉冲宽度信号可实现众多场景,如屏幕背光调整,电压调整,蜂鸣器驱动等。

PMW中可以例化多个PWMx信号发生器,每个PWMx信号发生器可输出一对信号PWMx_A和PWMx_B,这对信号可根据具体应用配置成相关或不相关。在本章中,用字母x代表第几个PWM信号发生器, 字母A 和 B 代表控制器的一对输出信号。例如,PWM0_A 和 PWM0_B属于PWM0 信号发生器,类似的, PWM2_A 和PWM2_B 属于PWM2 信号发生器。

10.4.1.1. 特性说明

一个PWMx信号发生器可以控制输出两个PWM输出:PWMx_A 和 PWMx_B。 PWMx信号发生器支持以下功能:

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

  • 两个PWM输出信号:PWMx_A 和 PWMx_B,能进行如下配置:

    • 可单独输出 PWMx_A 或 PWMx_B,频率、占空比可调。

    • 可同时输出 PWMx_A 和 PWMx_B,频率相同,占空比相同。

    • 可同时输出 PWMx_A 和 PWMx_B,频率相同,占空比可不相同。

  • 软件可直接控制PWM输出信号

  • 多种事件可产生CPU中断并产生相应的标志

10.4.1.2. 原理框图

../../../_images/pwm_principleblockdiagram.png

图 10.3 PWM信号发生器子模块和关键内部信号互连图