找回密码
 立即注册

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的脉冲.         
然后重复.如此就组合成一个实际所需要的波.,基本可以达到要求.
请教大家还有没有合适的波,???

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU