中心对齐 PWM 与采样位置
增减计数时,计数器从零升到周期值再降回零,因此每个 PWM 周期有两个自然事件:计数器为零的谷值和等于周期值的峰值。若计数器大于比较值时上桥导通,则导通时间以峰值为中心,关断时间以谷值为中心。
电感电流是三角波,其中点正好落在导通时间和关断时间的中心。因此在谷值或峰值采样,无需滤波就能得到该周期的平均电流,这也是这两个事件常被用作 ADC 触发的原因。若使触发延迟偏离零,采样就会混入部分纹波:默认参数下,在谷值处每延迟 1 µs,4 A 纹波中就产生 0.2 A 的误差。
采样时间、振铃与下桥采样电阻
ADC 的采样保持电路需要一个采样窗口,整个窗口内信号都必须已经稳定。每个开关边沿,包括死区之后互补管的边沿,都会在功率回路和电流传感器中激起振铃。如果窗口落在振铃之中,转换值取决于采到振荡的哪个位置。为便于观察,动画把振铃画得比实际慢,判断时只使用其稳定时间。
放在下桥源极的采样电阻只在上桥关断期间流过相电流。因此谷值采样只有在关断时间能容纳死区、稳定和采样时间时才有效,这限制了占空比:D_max = 1 − 2·(t_dead + max(t_settle − t_delay, t_delay + t_acq))/T_s。默认参数(20 kHz、死区 0.5 µs、稳定 1.5 µs、采样 0.5 µs)下 D_max 为 92 %。三电阻采样的驱动器常用的办法是跳过窗口最短的一相,由另外两相重构。
从转换到新占空比:延迟从何而来
转换结束后 ADC 发出转换完成中断,控制算法运行,写入新的比较值。定时器不会立即使用它。比较寄存器带有影子寄存器,只在选定的计数器事件时复制到工作寄存器,这样在周期中途写入也不会产生毛刺或丢失脉冲。
在谷值采样且只在谷值加载影子寄存器时,新占空比在采样后一个完整周期生效,默认参数下为 49.5 µs,即 0.99 T_s。若在谷值和峰值都加载,只要中断在峰值前结束,延迟就缩短到约半个周期;若来不及,更新就推迟到下一个谷值。如果下一次采样时中断仍在运行,环路就发生超时,这一时序不再成立。
环路设计中,这条路径通常建模为计算延迟(这里最多一个周期)加上 PWM 更新本身约半个周期。限制数字电流环穿越频率的,通常是这个延迟而不是变换器本身。
两类常见 MCU 中的对应设置
TI C2000 ePWM:时基模块产生 CTR = Zero 和 CTR = PRD 事件,增减计数模式下周期为 2·TBPRD·T_TBCLK。事件触发子模块把选定事件转换为 ADC 启动转换信号 SOCA 或 SOCB,ETSEL[SOCASEL] 的选项中包括 CTR = Zero 和 CTR = PRD。比较寄存器带影子寄存器,影子到工作寄存器的加载可设在 CTR = Zero、CTR = PRD 或两者(CMPCTL[LOADAMODE])。出处:TMS320F2837xD 技术参考手册(SPRUHM8)ePWM 章节,以及 TMS320x28xx/28xxx ePWM 模块参考指南(SPRU791)。具体器件支持哪些选项,以其 TRM 为准。
STM32 定时器:中心对齐模式下,上溢和下溢都会产生更新事件,ARR、PSC、CCRx 等带缓冲的寄存器在更新事件时装入预装载值;重复计数器可降低更新频率。触发输出 TRGO 由 TIMx_CR2 中的 MMS 位选择,例如更新事件或 OCxREF 信号;STM32G4 等系列的高级控制定时器还增加了用于定时器与 ADC 同步的 TRGO2。出处:ST 应用笔记 AN4013《Introduction to timers for STM32 MCUs》。ADC 为规则通道和注入通道选择定时器触发的方式因 ADC 版本而异,我们没有逐一核实各系列的字段名,请以所用器件参考手册的 ADC 章节为准。
在板上确认
用一个空闲 GPIO 在中断开始时置高、结束时置低,与 PWM 输出和电流传感器信号一起用示波器观察。一次捕获就能看到真实的采样时刻、中断长度以及到下一次采样的余量,这是确认配置是否符合时序设计的最快方法。
动画严格按照本页给出的公式绘制。不同教材和软件库的约定各不相同,比较数值前请先确认所用代码的约定。