4. 第4章

← 返回目录课程:数字电源控制(MCU / DSP)设计入门
04

04 ADC采样时序与触发同步:ePWM事件触发与过采样滤波

利用ePWM触发ADC转换,配置过采样与均值滤波,提升采样精度
章节导航 难度:入门类型:工程实战
目标结果

把ADC采样时序与触发同步落到ADC采样时序的触发条件、可观察状态和复查材料上,先判断问题从哪里收窄。

关键线索
模块接口配置流程状态
交付材料
架构图代码片段排障表检查清单

采样失真的根源:触发不同步与噪声混叠

指标对照卡:采样时序

  • 场景:实际技术应用场景里的ADC采样时序
  • 关键对象:实际技术应用场景里的ADC采样时序
  • 问题现象:实际技术应用场景里ADC采样时序一开始改动很快,输入需求增加后日志记录显示状态外泄、循环依赖和接口膨胀。
  • 阈值:先标出谁持有状态、谁发起调用、谁记录日志和失败返回,再按输入条件、阈值标准和处理动作决定接口是否需要拆分。第04节记录前后变化点时,优先确认示例片段、状态记录和ADC采样时序是否指向同一个原因。
  • 验证动作:先标出谁持有状态、谁发起调用、谁记录日志和失败返回,再按输入条件、阈值标准和处理动作决定接口是否需要拆分。第04节记录前后变化点时,优先确认示例片段、状态记录和ADC采样时序是否指向同一个原因。
  • 工程判断:调整前后调用方向更清楚,失败返回、日志记录和输出结果可追踪,旧入口仍可回退,才说明边界收住了。

概念块:ADC采样时序与触发同步

ADC采样时序与触发同步用ADC采样时序、触发同步、ePWM事件触发连接到ADC采样时序的调试、验证和交付动作。

  • ADC采样时序
  • 触发同步
  • ePWM事件触发
  • 过采样滤波

ADC采样时序的验收口径

在数字电源控制中,ADC(模数转换器)采样精度直接决定环路响应与稳态性能。许多工程师在调试时发现,输出电压纹波在轻载与重载下差异巨大,甚至出现低频振荡,根源往往不在环路参数,而在采样时刻与功率级开关动作的错位。当ePWM(增强型脉宽调制器)的开关动作引发电压/电流尖峰时,若ADC恰好在噪声窗口内启动转换,采样值会包含大量开关噪声,导致控制量计算偏差

核心判断是:必须将ADC采样时刻精确锁定在开关噪声已衰减的窗口内。主流方案是利用ePWM事件触发ADC转换,而非CPU轮询或定时器独立触发。通过配置ePWM模块在特定计数值(如周期中点或边沿对齐点)产生SOC(Start-of-Conversion)信号,ADC在噪声最低的时段启动,从硬件层面保证采样值的信噪比

关键判断

ADC采样精度提升的第一道门槛不是分辨率位数,而是触发同步。在数字电源中,ePWM触发ADC是行业标准做法,它能将采样窗口的抖动从微秒级(CPU轮询)降低至纳秒级(硬件事件),直接消除开关噪声混叠

触发同步与过采样滤波:从硬件链路到配置实现

问题定位过程:ADC采样时序与触发同步:ePWM事

  • 场景背景:以一次ADC采样时序与触发同步:ePWM事件触发与过采样滤波联调任务为例,先确认输入材料、执行动作和结果信号是否互相对应。
  • 目标任务:围绕“ADC采样时序与触发同步:ePWM事件触发与过采样滤波”完成一个可检查的小任务,确保和“数字电源控制(MCU / DSP)设计入门”的学习目标一致。
  • 关键判断:先判断ADC采样时序的输入、边界和结果信号是否能互相支撑。
  • 执行动作:把利用ePWM触发ADC转换,配置过采样与均值滤波,提升采样精度。拆成观察、处理、记录和复查四个动作,命令或配置只作为正文短句说明。
  • 结果验证:用日志摘要、状态变化、表格记录或验收项确认处理前后差异。
  • 复盘要点:复盘时保留可复用判断:哪些条件有效、哪些异常需要回到前一步检查。

ADC采样时序与触发同步落地前要同时核对ADC采样时序的触发同步、失败路径和ePWM事件触发。

实现高精度采样的主链路为:ePWM时基 → 事件触发 → ADC转换 → DMA搬运 → 均值滤波。以TI C2000系列DSP(数字信号处理器)为例,ePWM模块的CTR=CMPB事件可配置为ADC SOC触发源。在连续电流模式(CCM)下,通常将触发点设置在PWM周期的中点,此时开关管导通与关断引起的振铃已基本衰减,采样值最能反映电感电流的平均值

过采样技术是进一步提升有效分辨率的工程手段。通过配置ADC以高于奈奎斯特频率的速率连续采样(例如对每个控制周期采样16次),再在DSP内执行均值滤波,可将量化噪声功率降低至原来的1/N(N为过采样率)。配置时需注意:ADCCTL2寄存器中的ADCCLKPS决定采样窗口宽度,SOCxCTL中的CHSEL和TRIGSEL分别选择通道与触发源。一个典型的过采样配置片段如下:

// ePWM1 在 CTR=CMPB 时触发 ADC SOC0
EPwm1Regs.ETSEL.bit.SOCAEN = 1;      // 使能 SOCA
EPwm1Regs.ETSEL.bit.SOCASEL = 2;     // 事件:CTR=CMPB
EPwm1Regs.ETPS.bit.SOCAPRD = 1;      // 每次事件触发一次
// ADC 配置:16倍过采样,连续转换
AdcRegs.ADCCTL2.bit.ADCNONOVERLAP = 1; // 非重叠模式
AdcRegs.SOC0CTL.bit.CHSEL = 0;        // 通道0
AdcRegs.SOC0CTL.bit.TRIGSEL = 5;      // 触发源:ePWM1 SOCA
AdcRegs.SOC0CTL.bit.ACQPS = 15;       // 采样窗口15个时钟周期

这段配置属于“问题代码/原始配置”,核对键名、默认值、取值范围和修改后影响的行为。

这段配置的关键在于TRIGSEL=5将ADC SOC0与ePWM1的SOCA事件绑定,ACQPS=15确保采样电容有足够时间充电。过采样后的均值滤波在中断服务函数中完成,通常使用滑动平均或指数加权平均,避免引入额外相位延迟

实操步骤

配置完成后,务必用示波器测量ePWM触发信号(GPIO输出)与ADC转换完成标志(ADCINT_FLG)的时序关系。理想情况下,触发信号上升沿到ADC采样开始的时间差应小于100ns,且抖动不超过10ns

技术资产:过采样参数表与验证记录

ADC采样时序与触发同步:ePWM事件触发与过采样滤波
采样链路ADC…核心原理采样链路数据流MCU1数字电源控制数字电源控制2DSPDSP3入门入门4ADC采样时序与触发同步ADC…5采样量化校准输出ePWM事件触发

过采样并非越高越好。过采样率每提升4倍,有效分辨率增加1位,但会占用更多ADC转换时间与DMA带宽。下表总结了不同过采样率下的性能权衡,帮助工程师在资源受限的MCU(微控制器)上做出选择:

数字电源控制 相关检查
选型对象优点局限推荐场景
412.01.24
813.02.48
1614.04.816
3215.09.632

验证记录表明:在100kHz开关频率下,采用OSR=16的过采样配置,ADC采样值的峰峰值噪声从原始12位配置的15mV降低至3mV以内(输入信号为1.65V直流偏置)。验证方法为:在DSP的步骤调试阶段,将ADC原始值与滤波后值通过DMA连续输出至DAC,用示波器对比波形。若滤波后波形仍存在周期性毛刺,说明触发同步窗口未对准,需微调CMPB值

真实项目场景

某48V/10A数字电源项目,工程师发现输出纹波在满载时达到80mV,超出规格50mV。排查发现ADC触发点设置在PWM上升沿,恰好落在MOSFET关断振铃区。将触发点移至周期中点(CMPB = PRD/2),并启用8倍过采样后,纹波降至25mV。此案例说明:触发同步的调整优先级高于过采样率

问题对照与修正

  1. 常见偏差:把ADC采样时序直接写进主流程,只验证能跑通,留下ADC采样时序边界、状态和验证口径不清。
  2. 修正做法:把ADC采样时序收敛成稳定接口,明确输入条件、状态结果和失败处理。
  3. 验证记录:选一个和ADC采样时序直接相关的失败场景,保留输入、日志、状态结果和状态记录前后变化,让修正是否有效能被复查。

风险边界:触发冲突与DMA溢出

配置ePWM触发ADC时,最常见的风险是触发源冲突。当多个ePWM模块同时触发同一个ADC单元时,ADC无法并行处理,会导致采样丢失。判断标准是:检查SOCxCTL.TRIGSEL是否指向同一ePWM模块的不同事件(如SOCA与SOCB),或不同ePWM模块的相同事件。若必须多通道采样,应启用ADC的ROUND_ROBIN模式或使用DMA的乒乓缓冲

另一个风险是DMA缓冲溢出。当过采样率较高且控制周期较短时,DMA传输速率可能跟不上ADC转换速率。预防措施:在DMA配置中启用BURST模式,并设置TRANSFER_COUNT为过采样次数;同时监控DMACHxCTL.OVFL标志位,若溢出则触发错误中断,在中断服务中降低过采样率或增加缓冲深度

常见误区

许多工程师误以为提高过采样率一定能提升精度,却忽略了触发同步的抖动。若触发时刻与开关噪声窗口重叠,即使OSR=32,滤波后的均值仍包含系统性偏差。正确顺序是:先通过示波器定位噪声窗口,再调整触发点,最后根据剩余噪声水平选择过采样率

细节补充:

ADC采样时序与触发同步的细节补充应直接说明可复查对象:先确认现场任务对应的输入、输出和结果材料,再用ADC采样时序解释哪一处条件会影响判断。

ADC采样时序与触发同步的主要风险来自ADC采样时序边界、状态和验证口径不清;落地前先核对示例片段,并确认例外场景和结果记录。

操作核对

复查ADC采样时序与触发同步时,可以先问一个简单问题:如果只保留指标对照卡和实际技术应用场景里的ADC采样时序,别人能不能判断操作已经完成。答案不清楚时,优先补采样时序与上下游对象的关系,避免把异常归因到模糊的环境差异。下一次执行前先对照实际技术应用场景里的ADC采样时序,确认对象、参数、套用条件和输出没有偏离,再决定继续推进还是回到前置条件。如果后续章节复用本节判断,先问现场判断是否还成立,再看配置验收是否改变实际技术应用场景里的ADC采样时序的解释范围。第04节的复盘出口是实际技术应用场景里的ADC采样时序,它要能说明ADC采样时序与触发同步、现场判断和配置验收之间哪一项先发生变化。