PWM
概述
PWM 通过控制脉冲频率、占空比和输出相位生成控制波形,可用于电机控制中的互补驱动,并配合死区、ADC 触发和急刹功能完成波形与采样联动。
性能概览
最高已测波形频率为 20 kHz,已验证边沿对齐、中心对齐及互补输出;在 10 kHz 下验证了三通道同步输出。
40 MHz 死区时钟下,计数步长为 25 ns;1 μs / 2 μs 死区配置的示波器光标读数分别为 1.1 μs / 2.05 μs。
波形输出与同步
边沿对齐支持 P/N 独立占空比,中心对齐输出互补波形;已测配置如下。
| 对齐模式 | 20 kHz 已测占空比 | 10 kHz 同步输出组合 |
|---|---|---|
| 边沿对齐 | P:40%、60% N:30%、70% 已测四种 P/N 组合 | PWM0 / 1 / 2 PWM3 / 4 / 5 PWM5 / 6 / 7 |
| 中心对齐 | P/N:60% / 40%、40% / 60% 互补输出 | PWM0 / 2 / 4 PWM6 / 8 / 10 PWM10 / 12 / 14 |
已验证分频系数:1、2、4、8、16、32、64、128。分频测试与上述同步测试为不同配置。
中心对齐时,初始电平由 P 侧配置决定,N 侧与 P 侧反相;关闭输出后,已验证 P/N 四种高、低电平组合。P/N 恒高、恒低已验证;可强制 P 或 N 输出高、低电平,另一侧保持正常波形。
互补输出死区
中心对齐互补输出的死区计数时钟为 40 MHz,配置步长为 25 ns。
| 配置死区时间 | 示波器光标读数 | 读数与配置之差 |
|---|---|---|
| 1 μs | 1.1 μs | +0.10 μs |
| 2 μs | 2.05 μs | +0.05 μs |
光标读数及其与配置值的差值不代表全配置范围的精度或抖动指标。
动态更新与启停
频率和占空比可逐周期更新;已测更新序列及启停行为如下。
| 功能 | 已验证行为 | 输出配置 |
|---|---|---|
| 逐周期频率更新 | 每周期增加 1 kHz,依次输出 1、2、3、4、5 kHz,再回到 1 kHz 循环 | 边沿对齐 PWM0、PWM1 |
| 逐周期占空比更新 | 每周期增加 10 个百分点,依次从 10% 更新到 100%,再回到 10% 循环 | 中心对齐 PWM0、PWM1 |
| 运行中参数更新 | 20 kHz / 50% → 10 kHz / 50% → 10 kHz / 70%,每档观察 60 s | 中心对齐互补输出 |
| 关闭后重新使能 | 输出 1 s 后关闭,间隔 1 s 后恢复波形 | 10 kHz / 50% 中心对齐互补输出 |
| 全局控制 | 通过全局控制关闭 PWM 输出,清除全局中断后恢复输出 | PWM0 |
| 软复位与重配置 | 输出波形后执行软复位,检查寄存器状态,再重新初始化并恢复输出 | PWM5 |
运行中参数更新和重新使能分别验证了通道 0 / 1 / 2、3 / 4 / 5、5 / 6 / 7 三种组合。
ADC 触发与更新中断
ADC 触发
PWM5 输出 20 kHz、50% 占空比波形时,ADC0、ADC1 的 TRIG0 和 TRIG1 均已分别验证每 PWM 周期一次、两次触发。
以上为触发信号观测结果,不代表 ADC 转换吞吐或采样精度。
更新中断间隔
PWM 频率为 1 kHz 时,更新中断间隔已验证 1、5、10 个 PWM 周期。中断回调每次翻转 IO,观测方波频率如下。
| 更新中断间隔 | IO 输出方波频率 |
|---|---|
| 1 个 PWM 周期 | 500 Hz |
| 5 个 PWM 周期 | 100 Hz |
| 10 个 PWM 周期 | 50 Hz |
急刹与恢复
急刹功能已在通道 5 / 6 / 7 上验证。
| 配置 | 已验证行为 |
|---|---|
| IO 急刹 | IO0、IO1 低电平有效;三组 P/N 输出转为低电平;急刹后 ADC 触发仍持续 |
| ADC 急刹 | ADC0 通道 1 的 fail 信号高电平有效;ADC1 对应配置也已验证 |
| 急刹后恢复 | 触发信号保持 2 s 后释放,确认输入恢复高电平,清除 fail 状态并重新使能 PWM_CNTEN,波形恢复 |
IO 急刹滤波条件
fail 信号时钟为 1 MHz、有效持续计数为 16 时,高电平触发测试中,15 μs 输入脉冲未关断 PWM,17 μs 输入脉冲使 PWM 关断。
低电平触发限制:PWM 模块时钟为 100 MHz 或 200 MHz 时,8~15 μs 的低电平脉冲可能提前触发急刹,且三个通道触发不同步。40 MHz 时该现象较少,但仍有出现,不能视为已消除。低电平配置的 16 μs 滤波阈值未得到稳定验证。
测试条件
| 项目 | 条件 |
|---|---|
| 芯片与主频 | G32S107,V0 主频 400 MHz |
| 波形时钟条件 | 波形测试列明 FPGA 固定时钟 40 MHz;死区计数时钟为 40 MHz |
| 急刹滤波时钟条件 | fail 信号时钟 1 MHz;PWM 模块时钟分别测试 40、100、200 MHz |
| 观测方式与窗口 | 示波器波形与光标读数;分频、初始电平、空闲电平、多通道同步等配置每档观察 1 min |
频率、占空比和通道同步测试未提供量化偏差或抖动统计;波形测试的 FPGA 时钟条件与芯片急刹滤波测试条件应分别使用。
文档入口:查看 PWM 用户手册 · 查看 PWM SDK 文档。