理解一个概念:PWM分辨率
常常看到这样一个概念:要生成高频率高分辨率PWM波譬如在STM32中,TIM1的时钟可达72MHz,其位数为16,是否此时产生的PWM的分辨率即为16位?而PWM波的频率取决于72MHz的时钟,在STM32中,PWM波频率最高可达72MHz(理论上),此时只需要使用16位中的1位。
可是,在另外一个帖子中,我有看到:其分辨率并不是用位数来表示的,这是怎么回事呢?
http://cache.amobbs.com/bbs_upload782111/files_23/ourdev_512473.png
(原文件名:两种控制器比较-from 电子镇流器的研究.png) http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=843108&bbs_page_no=1&bbs_id=9999
首先我们要考虑我们的PWM的精度8位? 10位? 12位?
其次我们要考虑我们的PWM的频率5kHz 8kHz10kHz12kHz 15kHz 20kHz 50kHz ………………
我们来计算一下吧
使用AVR,晶振以常规的16MHz
8bit PWM最高频率62.5KHz
10bit PWM最高频率15.6KHz
12bit PWM最高频率3.9KHz
————————————————————————————————
明白~~ 可能分辨率是个倒数,因为AT90PWM2的PWM模块时钟可达64MHz
所以,其分辨率为:100k/64M=1/640
而2407则为:100k/60M=1/600
其实说到底,还是PWM模块的时钟决定了其分辨率 请教
PWM分辨率,其大小对PWM的效果体现在哪些方面 PWM时钟决定了特定分辨率下的最高PWM频率。
64MHz的AT90PWM2,可以做到15.6KHz的12-bit PWM,而16MHz的AVR的12-bit PWM则只能工作在3.9KHz。
如果你的电路不要求PWM频率能高到15.6KHz,那么16MHz的AVR同样能获得12位分辨率。
反过来说,如果你的电路要求100KHz的PWM频率,那么AT90PWM2的PWM就只能提供1/640的分辨率。
所以不是谁决定谁,一切由你的设计决定。 不知道我的理解对不对:
既然是分辨率,就体现在输出PWM波形时,调整频率和占空比时的精细程度。
举一个简单的例子,如果要产生10kHz的PWM波形,而分别提供50MHz和10MHz的PWM时钟,都可以产生要求的10kHz波形,但是如果要调整这个波形的占空比,从0%到100%,PWM时钟为50MHz时,可以调整出5000步,而使用PWM时钟为10MHz时,则只有1000步,这就是差别,即分辨率。
普通的卷尺,测量长度时,它的分辨率为毫米,而游标卡尺的分辨率可达1/10毫米,千分尺的分辨率可以到1/200毫米,这就是差距! 分辨率就是最小占空比
用51单片机完全可以模拟产生分辨率为24bit的pwm波,但是此时,pwm的频率只是1HZ,在2的24次方 =16.777216Mhz以上的时钟的情况下 mark 不错的话题 mark 学习 到网上找找,,看看到底是什么 回复【5楼】__STM32__
不知道我的理解对不对:
既然是分辨率,就体现在输出PWM波形时,调整频率和占空比时的精细程度。
举一个简单的例子,如果要产生10kHz的PWM波形,而分别提供50MHz和10MHz的PWM时钟,都可以产生要求的10kHz波形,但是如果要调整这个波形的占空比,从0%到100%,PWM时钟为50MHz时,可以调整出5000步,而使用PWM时钟为10MHz时,则只有1000步,这就是差别,即分辨率。
普通的卷尺,测量长度时,它的分辨率为毫米,而游标卡尺的分辨率可达1/10毫米,千分尺的分辨率可以到1/200毫米,这就是差距!
-----------------------------------------------------------------------
您是香水?呵呵,最近看了好多stm32论坛,你的ID记得。DIOR mark mark 如果使用变频,集分法数模转换,速率必须考虑,如果做功率调节,如加热器等惯性大的应用,速率就不重要了 mark 学习 我想关心的是PWM分辨率与频率有关系吗 lofeng 发表于 2010-1-13 20:42
可能分辨率是个倒数,因为AT90PWM2的PWM模块时钟可达64MHz
所以,其分辨率为:100k/64M=1/640
而2407则为: ...
(引用自3楼)
楼上楼下看完,应该你说得对 分辨率真上去了时钟的精度也要提高了,许多人认为单片机用的8兆晶振已经很准了,但其实只有50ppm左右,比好的起码差几百倍
页:
[1]