打印
[技术问答]

PWM 常见问题以及注意事项

[复制链接]
583|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lzbf|  楼主 | 2023-12-28 12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
赛元常规芯片具有多路共周期,单独可调占空比的 8~12 位 PWM,此外赛元还有多路 PWM 芯片,型号为 SC92FW40/24/26 以及 SC95FW40/24/16,多路 PWM 芯片提供 2 组 共用周期、单独可调占空比的 12 位 PWM,最多有 40 路 PWM 输出口;如果客户需要两个 周期不同的 PWM,可以选择 FW 系列芯片,或者是采用其中一路 PWM 采用软件模拟,软 件模拟建议选择周期较大的 PWM 进行模拟,这样软件操作比较方便。
此文档主要对 PWM 使用过程中常见的问题以及相关注意事项进行说明,包含以下几个 内容:
1、PWM 使用设置注意事项;
2、PWM 的周期是否是共用的;
3、PWM 启动后没有波形输出;
4、PWM 的精度是多少;
5、如何用 PWM 功能实现雾化器追频功能;
6、周期和占空比是否可以在程序中进行调节;
7、PWM 独立模式与互补模式;
8、PWM 互补模式下的死区设置。
以下为具体内容,请用户根据需求自行查阅:
1、PWM 使用设置注意事项
1) 关闭 PWM 后,IO 口会由 PWM 输出变为 GPIO 口,而此时的 IO 口输出为不确定 状态,所以建议将 PWM 输出口所在的 IO 口根据实际应用情况设置为输出高,输 出低或输入带上拉模式;
2) 使用 10 位 PWM 时,为保证 PWM 设置准确,需要先配置低 2 位的,再配置高 8 位;
3) PWM 的占空比要小于 PWM 周期,否则 PWM 输出口会一直为高电平;
4) 赛元大部分芯片的各路 PWM 周期都是共用的,占空比单独可调,只有 PWM 专用 芯片 92FW 系列或者 95FW 系列的芯片有 2 组共用周期,占空比单独可调;
5) 赛元部分芯片的 PWM 具有故障检测的功能,用户使能故障检测功能后,不能悬空 FLT 管脚,否则 PWM 输出异常;当故障发生时,PWM 停止输出,PWM 口处于 高阻状态。故障检测模式分为立即模式和锁存模式,锁存模式下,故障信号满足失 能条件后,硬件不会自动清除故障检测状态标志位,用户可通过 PWMFLT &= 0x7f 软件清零。
6) 赛 元 SC95F 系 列 芯 片 MCU PWM 在 互 补 模 式 下 时 , PWM40/PWM41,PWM42/PWM43,PWM50/PWM51 和 PWM52/PWM53 分为四 组,分别通过 PDT40[11:0]、PDT42[11:0]、PDT50[11:0]和 PDT52[11:0]调节占空 比;此时寄存器 PDT41[11:0]、PDT43[11:0]、PDT51[11:0]和 PDT53[11:0]无效; 但各 PWMxy(x=4~5,y=0~3)输出和反向依然由相应的 ENPxy 和 INVxy 独立控制
2、PWM 的周期是否是共用的
赛元大部分芯片的各路 PWM 周期都是共用的,占空比单独可调,只有 PWM 专用芯片 92FW 系列或者 95FW 系列的芯片有 2 组共用周期,占空比单独可调,如果实际应用需 要输出不同周期的波形,周期较大的波形可以使用定时器和 IO 口来模拟 PWM 输出,软 件模拟时要注意定时器中断需要设置为高优先级,其它中断设置为高优先级,这样 PWM 的周期不会受其他中断影响。
3、PWM 启动后没有波形输出
1) PWM 所在的 IO 口是否有其他外围电路将 IO 口电平拉住了;
2) 赛元部分芯片的 PWM 输出可以选择不同的 IO 口,需要通过寄存器设置选择将 PWM 输出到哪个 IO 口,查看是否设置正确;
3) 在开启和关闭 PWM 时,用户需要根据实际应用需求对 PWM 对应 IO 口的输出寄 存器进行设置,查看是否将对应的 IO 口设置为了 PWM 输出口,如果没有设置, 此 IO 口为 GPIO 模式,不能输出 PWM 波形;
4) 查看 PWM 周期和占空比的设置,如果占空比大于了周期,那么 PWM 输出口的波 形就是持续的高电平。
4、PWM 的精度是多少
赛元芯片的 PWM 有三种精度,分别为 12 位、10 位、8 位,不同型号的芯片 PWM 精度 不同,具体请参照对应芯片型号的规格书,芯片规格书可以到赛元官网(www.socmcu.com) 搜索芯片型号获取。
5、如何用 PWM 功能实现雾化器追频功能
赛元大部分型号的芯片都具有 PWM 功能,可以实现 PWM 追频驱动雾化器雾化片,赛元 芯片的追频原理为先设置 PWM 周期接近雾化片中心频率,然后调节芯片 HRC,从而微调 PWM 输出频率,找到雾化片的最佳频率,赛元全部的芯片 HRC 均可以调,调节步进有 0.23%和 0.18%两种规格,可以根据追频精度要求进行选择;
以 92F7251 为例,7251 主频 12M,要输出 1.7MHz 的 PWM,需设置 PWM 时钟来源为 Fsys,12M/1.7M=7.05,PWM 周期设置寄存器赋值为 7-1=6,这样输出的 PWM 频率为 12M/7=1.714MHz,然后调节芯片 HRC,每步调节精度为 0.23%,即每部的调节大小为 3.9KHz;同样的,如果需要输出 2.4M 中心频率的 PWM 波形,PWM 周期设置为 4 即可, 然后调节 HRC 进行追频,追频精度同样为 0.23%;
如果需要追频精度更高就需要选择 HRC 调节精度为 0.18%的芯片,另外如果需要调节更 精细的占空比,需要选择系统频率更高的芯片,如 95 系列最高主频 32M 的芯片,占空比 的调节可以比 12M 主频芯片的占空比调节高 2-3 倍。
6、周期和占空比是否可以在程序中进行调节 当 PWM 输出波形时,若需改变占空比,可通过改变高电平设置寄存器(PDTn)的值实现。 但需要注意:更改 PDTn 的值,占空比不会立即改变,而是等待本周期结束,在下个周期 改变,如下图:
若需改变占空比,可通过改变高电平设置寄存器(PDTxy)的值实现。但需要注意:更改 PDTxy 的值,占空比不会立即改变,而是等待本周期结束,在下个周期改变,如下图:
7、PWM 独立模式与互补模式 赛元部分芯片的 PWM 功能可设置为独立模式和互补模式。
独立模式下,PWM 通道的占空比均可独立设置。用户配置好 PWM 的输出状态及周期, 再通过配置相应 PWM 通道的占空比寄存器即可按固定占空比输出 PWM 波形。
互补模式下,两个 PWM 通道为互补波形,设置其中一路 PWM 的占空比寄存器,两路互 补 PWM 通道的占空比同时生效,部分占空比设置的寄存器无效,具体的 PWM 互补通道 以及互补 PWM 占空比的设置寄存器以规格书中“PWM 互补模式”章节的描述为准,芯片 规格书可以到赛元官网(www.socmcu.com)搜索芯片型号获取。互补模式下可以设置死 区时间,死区控制模块能够防止互补输出的两路 PWM 信号有效时区的互相交叠,以保证 实际应用中 PWM 信号驱动的一对互补功能开关管不会同时导通。
8、PWM 互补模式下的死区设置
互补模式下可以设置死区时间,死区控制模块能够防止互补输出的两路 PWM 信号有效时 区的互相交叠,以保证实际应用中 PWM 信号驱动的一对互补功能开关管不会同时导通。 死区时间有相应的 PWM 死区时间设置寄存器,可分别设置上升沿死区和下降沿死区,不 同型号的芯片,设置 PWM 的死区时间计算方式略有差异,在规格书中的 PWM 死区时间 设置寄存器下有具体的时间计算公式,请以规格书上的计算公式为准,死区输出波形示例 如下图:

使用特权

评论回复
沙发
两只袜子| | 2024-1-10 14:39 | 只看该作者
有时间好好学习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

128

主题

5280

帖子

3

粉丝