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