2. 采样理论:ADC采样原理、采样定理、采样延迟对环路的影响

做数字电源,第一关就是采样。你想想看,环路里跑的都是数字量,但功率级是模拟世界。ADC 就是连接这两个世界的桥梁。桥没搭好,后面控得再好也是白搭。

我见过不少工程师,花大把时间调 PID 参数,结果发现问题是采样点选错了。嗯,咱们先把采样这件事吃透。

2.1 ADC 采样原理:从连续到离散

ADC 的核心任务很简单:把连续的模拟电压,变成一串离散的数字码。但这个过程不是瞬时的,它需要时间。

一个典型的逐次逼近型 ADC(SAR ADC),工作流程分三步:

  1. 采样保持:开关闭合,采样电容跟踪输入电压。开关断开后,电容上保持住断开瞬间的电压值。
  2. 量化比较:内部 DAC 逐位逼近,比较器逐次判断,从 MSB 到 LSB 逐位确定数字码。
  3. 输出转换:转换完成后,数字结果锁存到输出寄存器,同时产生转换完成标志。

这里有个关键参数——采样孔径时间。它指的是采样开关从闭合到真正断开之间的不确定延迟。孔径抖动会导致每次采样的实际时刻有微小偏差,折算到电压上就是噪声。

我的经验: 选 ADC 时,别只看采样率。孔径抖动这个参数容易被忽略。我在一个 1MHz 开关频率的 Buck 项目里,用了某款孔径抖动 50ps 的 ADC,结果输出纹波比预期大了 30%。换成孔径抖动 10ps 的型号,纹波立刻下来了。高频开关电源里,孔径抖动直接决定你能采到多干净的波形。

2.2 采样定理:Nyquist 不是摆设

采样定理大家都背过:采样频率必须大于信号最高频率的两倍。但在数字电源里,这个「最高频率」怎么定义?

我习惯把信号分成三类来考虑:

信号类型 最高频率成分 采样率要求
输出电压纹波 开关频率 fsw fs > 2 × fsw
电感电流 开关频率 fsw(含谐波) fs > 5 × fsw(建议)
环路补偿网络输出 穿越频率 fc(通常 fc < fsw/10) fs > 2 × fc(理论下限)

实际项目中,我从来不会卡着 2 倍这个边界做设计。为什么?因为 ADC 前端的抗混叠滤波器不是理想砖墙。你想想看,2 倍采样率下,混叠频率刚好落在 DC 附近,滤波器根本滤不掉。

避坑指南: 我曾经在一个 500kHz 的 Buck 项目里,采样率只设了 1.2MHz,觉得够 2 倍了。结果环路一闭环就振荡,查了三天。最后发现是开关噪声的 3 次谐波(1.5MHz)混叠到了 300kHz,正好落在穿越频率附近,环路以为那是真实信号,拼命去补偿。后来把采样率提到 2.5MHz,加了一级二阶 RC 抗混叠滤波,问题解决。记住:采样率至少留 20%~30% 的裕量。

2.3 采样延迟:环路里看不见的相位杀手

采样不是瞬间完成的。从采样时刻到数字控制器拿到数据,中间有一段延迟。这段延迟在频域里表现为相位滞后,直接影响环路稳定性。

采样延迟由三部分组成:

  • ADC 转换时间:SAR 型通常需要 N 个时钟周期(N 为分辨率位数)。12 位 ADC 在 10MHz 时钟下,转换时间约 1.2μs。
  • 数据传输时间:通过 SPI/I2C 把结果传给 MCU 或 DSP 的时间。SPI 在 20MHz 下传 12 位数据约 0.6μs。
  • 软件处理时间:中断响应、数据对齐、滤波计算的时间。这个最容易被低估。

总延迟 Td 折算到相位上的公式很简单:

相位滞后 = 360° × f × Td

举个例子:穿越频率 20kHz,总采样延迟 5μs,相位滞后就是 360 × 20k × 5μ = 36°。你想想看,环路补偿通常只留 45° 相位裕量,这一下就吃掉大半。

关键结论: 采样延迟每增加 1μs,在 20kHz 穿越频率下就吃掉 7.2° 相位裕量。设计时要把采样延迟当作环路的一部分来建模,而不是事后补救。

2.4 采样策略:什么时候采,比怎么采更重要

数字电源里,采样时刻的选择直接影响采样值的代表性。我常用的策略有三种:

策略 采样时刻 适用场景 注意事项
开关周期中点采样 PWM 载波波峰或波谷 输出电压采样 纹波分量最小,但延迟固定为半周期
开关管导通/关断后采样 死区时间结束后 电流采样 避开开关噪声尖峰,但采样窗口窄
多倍过采样 + 平均 一个开关周期内采多次 高精度/低噪声场景 增加有效分辨率,但延迟增大

我个人习惯在输出电压采样上用中点采样。为什么?因为电感电流在开关周期中点处刚好等于平均电流,输出电压纹波也在这个点过零。采到的值最接近直流分量,噪声最小。

但要注意:中点采样意味着你拿到数据的时间比实际电压变化晚了半个开关周期。这个延迟在环路模型里必须算进去。

2.5 知识体系:采样理论的核心逻辑

下面这张图把采样理论的核心逻辑串起来了。从模拟信号到数字控制器,每一步都有坑。

采样理论核心逻辑 模拟信号 抗混叠滤波 ADC 采样 数字控制器 带宽限制 混叠风险 孔径抖动 采样延迟 采样率 < 2× 信号最高频率 → 混叠失真,环路误判 采样延迟过大 → 相位裕量不足,环路振荡 核心原则:采样率留裕量 + 采样时刻选对 + 延迟建模 三者缺一不可,否则环路调试就是碰运气

2.6 实际调试中的采样问题排查

如果你在环路调试中遇到以下现象,先别急着调 PID,回头检查采样:

  • 输出纹波频率是开关频率的一半:大概率是采样时刻不对,采到了纹波的波峰或波谷,环路在追逐纹波。
  • 轻载稳定,重载振荡:重载时电流纹波大,如果采样点靠近开关噪声尖峰,ADC 可能采到异常值。
  • 环路响应有周期性抖动:检查采样时钟是否和 PWM 时钟同源。不同源时,拍频效应会让采样值周期性偏移。
我的排查习惯: 先用示波器同时抓 PWM 驱动信号和 ADC 采样触发信号,确认采样时刻是否落在预期位置。然后断开环路,手动给一个直流电压,看 ADC 读数是否稳定。这两步能排除 80% 的采样问题。

采样这件事,说白了就是「什么时候采、采多快、采完怎么用」。把这三个问题想清楚,环路调试就成功了一半。剩下的,就是把这些参数写进模型,让仿真告诉你环路稳不稳。