你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32G474_PWM输出的抖动模式

[复制链接]
STMCU小助手 发布时间:2022-10-12 17:47
抖动模式(Dithering mode)
在查看手册的时候发现了这个模式,第一次看没看懂(可能是太困了),今天又看了一遍手册,大致理解了这个模式的作用。
抖动模式的功能就是增加PWM的分辨率。
手册的介绍是这样的:

20200925091603595.png

抖动模式
PWM的有效分辨率可以通过启动抖动模式来提高,使能TIMx_CR1寄存器中的DITHEN位来启动抖动模式。这适用于CCR(占空比分辨率增加)和ARR(PWM频率分辨率增加)。
其工作原理是在16个连续的脉宽调制周期内稍微改变实际的CCR(或ARR)值(增加或不增加一个定时器时钟周期),并预先确定模型。这个考虑到平均占空比或PWM周期,可将分辨率提高16倍。下图显示了应用于4个连续PWM周期的抖动原理。

图中就可以看到启动了抖动模式后,增加了分辨率。

默认的平均 占空比 = (7+7+7+7) / (12×4) = 0.5833333333333333
DC = (7+¼)/5 的平均 占空比 = (8+7+7+7) / (12×4)= 0.6041666666666667
DC = (7+½)/5 的平均 占空比 = (8+7+8+7) / (12×4)= 0.625
DC = (7+¾)/5 的平均 占空比 = (8+8+8+7) / (12×4)= 0.6458333333333333
DC = 8/5 的平均 占空比 = (8+8+8+8)/ (12×4)= 0.6666666666666667

上述例子只是¼的步进,16个PWM一组的话就是 20200925094721864.png 的步进。

因此这个功能应该有些作用!
抖动模式时,16bit定时器和32bit定时器的ARR和CCRx数据格式如下:
20200925100708559.png

可以看到:32bit定时器的数据被砍到了28bit,而16bit的定时器数据没有什么影响,因此抖动模式的使用应当考虑数据被砍的问题。同时,抖动模式下选择ARR抖动还是CCRx抖动只需要调整小数位就可以选择谁抖动了。
寄存器描述中也提到上述数据格式:

20200925101115738.png

仅以上述寄存器举例,其它的都介绍了抖动模式和非抖动模式的数据格式。
最后列表:边沿对齐模式的PWM的抖动模式

20200925101313610.png

中心对齐PWM模式的抖动模式

20200925101357114.png

————————————————
版权声明:Vice Versa XL


收藏 评论0 发布时间:2022-10-12 17:47

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版