牛卧堂 ARM Cortex m0 M4技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

开启左侧

[M051] 如何提高新唐硬件pwm的分辨率

[复制链接]
harvardx 发表于 2016-6-5 22:48:53 | 显示全部楼层 |阅读模式
如题,  新唐的pwm一般都是16bit, 其实也可以利用预分频比来提高一些所谓的分辨率.
现在有这样一个需求. 要求脉宽在0-65535us之间连续可调, 周期,也类似.但是肯定要大于65535,连续可调(分辨率为1us),有没办法通过软计数的方法,让pwm看上去的分辨率大于16bit呢


    目前针对这个应用,我想了一个i办法, 当然首先,把预分频比和时钟分配设置成合适参数,使得硬件pwm的最小时间分辨率为1us,
    利用pwm的oneshot模式. 第一个脉冲进行实际脉宽的输出,  
    如脉宽是32768us, 周期为2*65535这样一个脉冲, 利用实际的硬件pwm无法做到.硬件的16bitpwm只能做到32768us脉宽, 65535us周期,剩下的65535us的低电平期怎么办, 我想到了先用oneshot输出一个
            |-------32768us-----|________32767us____.
的oneshot波.然后再输出一个cmr=0,cnr=32768us的波,
            |___________________________________|-|,
但是,这个波会输出一个us的脉冲.         
然后重复.如此就组合成一个实际所需要的波.,基本可以达到要求.
请教大家还有没有合适的波,???

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注新唐微信服务号

小黑屋|手机版|新唐(华邦)ARM Cortex M0 M4技术交流 ( 沪ICP备13045913号

GMT+8, 2017-2-26 02:36 , Processed in 0.187144 second(s), 34 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表