[技术问答] SC95FW40系列PWM波形更新疑问

[复制链接]
156|2
 楼主 | 2019-6-27 15:04 | 显示全部楼层 |阅读模式
本帖最后由 cortextcs 于 2019-6-27 15:27 编辑

以下是PWM占空比寄存器地址和寄存器每一位的介绍。12位 PWM的占空比分为高4位和低8位。按照13.3章的说法,“更改PDTxy的值,占空比不会立即改变,而是等待本周期结束,在下个周期改变”。

PWM0占空比调节寄存器的地址

PWM0占空比调节寄存器的地址

2.png


无标题.png


举个比较坏的情况,
分为两种情况:
(1)软件先更新高4位,再更新低4位。
比如当前的PWM占空比值是0x01FF。那就是高4位是0x01,低8位是0xFF。在某个时刻,我要修改占空比的值为0x0200,高4位是0x02,低8位是0x00。但很有可能我刚更新完高4位,PWM的计数器刚好计数一个周期,那这个时候更新PWM值岂不是变成0x02FF了?因为低8位没来得及更新,等低8位再次更新的时候,PWM实际要再等待下个周期再更新。

(2)软件先更新低8位,再更新高4位。
比如当前的PWM占空比值是0x0200。那就是高4位是0x02,低8位是0x00。在某个时刻,我要修改占空比的值为0x01FF,高4位是0x01,低8位是0xFF。同样的,我可能更新完低8位后,高4位没来得及更新,PWM的计数器更好完成一个周期。此时PWM的应该就是0x02FF。

疑问:
是不是需要按照规定的先后顺序写入?或者是哪里有介绍我没仔细看。


使用特权

评论回复
| 2019-6-27 15:58 | 显示全部楼层
赛元SC92F系列MCU应用指南.pdf (1.15 MB, 下载次数: 3)

使用特权

评论回复
 楼主 | 2019-6-27 16:45 | 显示全部楼层
赛元MCU3 发表于 2019-6-27 15:58
附件为应用指南,
请看一下PWM注意事项

那应该就没问题,也就是有先后顺序。内部硬件机制就是更新了低位还不算,一定是要更新了高位,然后在下一个周期才更新

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表