[学习笔记] AC7801 PWM同步功能

[复制链接]
4360|1
 楼主| LearningH 发表于 2020-12-29 17:00 | 显示全部楼层 |阅读模式
本帖最后由 LearningH 于 2020-12-29 17:00 编辑

AC7801同步功能,提供一个机制可将PWM_MCVR,PWM_CNTIN,PWM_CHnV,PWM_OMCR,
PWM_INVCR 和PWM_CHOSWCR 寄存器对应的缓存值更新到寄存器,并设置PWM 计数器为
PWM_CNTIN 寄存器值。

下面举一个例子,更新PWM_MCVR的例子(软件触发,在下一个加载点更新缓存值进寄存器)
1. 初始化配置PWM_SYNCONF的SYNCMODE位为1,选择增强型PWM同步
2. 初始化配置PWM_SYNCONF的PWMSVSWSYNC位为1,软件触发器激活MCVR3. 初始化配置PWM_SYNCONF的CNTVSWSYNC位为0

在应用程序中,设置PWM_SYNC的SWSYNC(PWM 同步软件触发器)位为1,在下一个加载点,缓存值就会更新至MCVR,然后硬件会自动清除SWSYNC。
下一次想更新时,只需再设置SWSYNC = 1即可。

如果想立即更新,初始化配置PWM_SYNCONF的CNTVSWSYNC位要为1.

如果想用硬件触发器的话,初始化配置PWM_SYNCONF的PWMSVHWSYNC(硬件触发器激活)位为1,使能硬件触发器TRIGn(n=0,1,2),等待硬件触发信号岂可。

PWM_MCVR同步流程图如下:

PWM同步.PNG
csjedi 发表于 2021-7-4 09:12 | 显示全部楼层
楼主,我在使用AC7811的PWM,需要发出频率可变的PFM信号,AC7811的手册里写到PWM同步只能用于组合模式,我现在采用的是输出比较模式,通过更改MCVR寄存器的值来实现输出频率的变化。但是当MCVR寄出器值改变的时候,输出的PWM信号会有几个周期的异常,我觉得应该是同步的问题,那么在输出比较模式下可以使用PWM的同步功能吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

19

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部