一、PWM模块介绍
下面是手册中对HPM5361的PWM模块的介绍:
● 28 (24 +4) 位分辨率计数器,支持向上计数模式
● 支持计数器同步
● 多达24 个比较器,支持用作输出比较,或者输入捕获
● 多达24 个通道,其中通道0∼7 可用于PWM 输出
– 支持8 路独立或者4 对互补PWM 输出
– 互补PWM 支持死区插入,支持独立配置双侧死区宽度
– 支持把PWM 输出强制设置为指定状态
– 支持故障保护输入,在出错时(如故障保护输入时),单独配置每个PWM 输出通道的状态
● 支持为每个输出通道灵活地分配数目不等的比较器,灵活控制输出信号,生成例如边沿对齐PWM、左右
不对称的中央对齐PWM 以及更复杂的输出信号
● 支持生成各类DMA 请求和中断请求
● 部分寄存器配有影子寄存器,支持灵活的寄存器新值更新/生效时机
根据介绍,可以看到这颗芯片的PWM模块功能还是很强的,有几个实用的功能:
- 可调分辨率的计数器,24-28位计数器;
- 每个PWM模块有8个通道的PWM输出,有24个比较器,每个通道可以设置多个比较器,多个比较器的异或值作为最终的PWM输出电平,因此可以设置出复杂的PWM信号;
- 两侧可独立编程的死区补偿;
- PWM可强制设置制定状态(六步换向);
- 故障保护功能;
2 例程API介绍测试
2.1 例程介绍
参考例程目录如下:
SDK\sdk_env_v1.3.0\hpm_sdk\samples\drivers\pwm\pwm_output\src
例程中测试了生成了各种PWM
2.2 API介绍
强制输出模式
PWM输出设置为立即更新,将PWM的两个通道设置为强制输出模式;
下面的函数,可以将PWM的两个通道置高或者置低,pwm_output_1为高,pwm_output_0为低。
软件开启/关闭强制输出模式,GCR的SWFRC位置1使能强制输出,置0关闭强制输出
两个通道依次输出一个高电平时间为1S的脉冲,测试图如下:
边沿对齐模式
中心对齐模式1
可以实现单个PWM的中心对齐另外一个PWM的起始
中心对齐模式2
两个互补PWM,中心对齐。下面函数可以实现互补PWM的设置
本帖最后由 hitwpc 于 2024-1-16 23:42 编辑