AC7811怎么实现PWM一个通道输出的强制同步?

[复制链接]
6397|1
 楼主| lvxiaoming0018 发表于 2021-6-12 11:30 | 显示全部楼层 |阅读模式
在产品设计中用到PWM的一个功能,需要对PWM通道输出做出精准控制。想实现的功能是:在命令发出时立刻终止当前通道的PWM输出周期,同时需要立刻再开启一个新的输出周期。目的是可以随时改变占空比对电磁阀开启时间做出精准无延时控制。
现在能实现的功能:开启一个新的PWM输出周期只能在当前PWM输出周期结束后下一个周期开始时才可以。问题是如果我的PWM周期为10MS,如果我的控制指令是在该PWM输出周期刚开始时发出的,PWM要到10MS之后结束前一个周期才能执行我刚才发出的指令。这样就会造成有接近10ms的延时。现在的控制策略:用PWM通道的周期作为主程序的循环周期,10MS的周期,查询PWM通道计数器的值,在PWM计数器走到8MS时运行主程序并输出PWM通道控制,这样在下一个周期开始时,就可以执行新的PWM通道赋值,这样延时基本上在1MS左右。这个策略接近我原来用NXPs12的控制效果了,但是还是有差异。不能做到完全相同。
LearningH 发表于 2021-6-22 10:34 | 显示全部楼层
pwm同步方式,设置CNTVSWSYNC = 1 可以实现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

0

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