打印

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

[复制链接]
6058|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

粉丝