4. C2000模拟外设精度验证

数字电源的环路稳定性、保护动作一致性和输出纹波,最终都落在模拟外设的精度上。C2000(如F28004x、F28002x、F2837x)内部集成了ADC、PWM、比较器(CMPSS)和缓冲DAC,这些模块的误差来源不同,验证方法也完全不同。本节按“误差来源—实测方法—校准手段”三条线,分别讨论四类外设,并给出可直接套用的测试参数与判断依据。

ADC采样精度:先分清偏移、增益与非线性

ADC的静态误差由偏移误差、增益误差、INL和DNL构成。C2000的12位ADC在参考电压3.3V时,1LSB≈0.806mV。若只测一个点,无法区分偏移和增益。正确做法是取多点:用高精度直流源在0V、0.5V、1.0V、1.65V、2.5V、3.0V附近各给一个稳定电压,记录ADC原始码值,再对“输入电压—码值”做最小二乘拟合。拟合直线的截距对应偏移,斜率对应增益,残差反映INL。

实测时要注意两点:一是输入必须经过RC滤波,截止频率低于采样率的一半,避免开关噪声混叠;二是采样窗口要足够长,C2000的ADC采样保持电容约10pF级,源阻抗高时必须延长ACQ时间。例如源阻抗1kΩ、采样电容10pF,时间常数约10ns,取10倍时间常数即100ns以上才稳定。若用内部参考,还需先测参考本身的偏差,否则会把参考误差算到ADC头上。

校准通常采用两点法:在已知低点V1和高点V2处读取码值C1、C2,计算实际增益G=(V2−V1)/(C2−C1),偏移O=V1−G·C1。之后每次采样用V=G·C+O还原。若INL较大,可改用分段线性或查表校准。判断是否合格,应看校准后全量程最大误差是否小于系统允许的1/2 LSB或按环路要求折算的电压误差。

PWM死区与分辨率:用示波器看边沿,用寄存器算时间

PWM精度包含两个独立问题:分辨率决定占空比最小可调步进,死区决定互补管不会直通。C2000的HRPWM在150MHz EPWMCLK下,普通PWM分辨率约6.67ns,启用HRPWM后可达150ps级。验证分辨率时,固定周期,逐次改变CMPA值,用高带宽示波器测占空比变化,确认最小步进与理论值一致。

死区验证更关键。以F28004x为例,DBRED和DBFED以EPWMCLK计数,若EPWMCLK=100MHz,则1计数=10ns。假设需要上升沿死区80ns、下降沿死区80ns,则DBRED=DBFED=8。实测时用双通道探头同时看上下管栅极,测量两者都关断的区间。注意死区会随温度、驱动芯片传输延迟变化,因此要在冷机和热机两种状态下各测一次。若发现死区不足,优先增大DBRED/DBFED,而不是依赖驱动电阻。

C2000模拟外设精度验证信号链与关键测点 高精度直流源 0–3.0V / 6点 RC滤波 + 缓冲 fc < fs/2 ADC输入引脚 ACQ ≥ 100ns ADC结果寄存器 12bit / 1LSB=0.806mV ADC校准:两点法 G=(V2−V1)/(C2−C1) O=V1−G·C1 → V=G·C+O PWM死区验证 DBRED/DBFED = tdead × EPWMCLK 双通道测上下管同时关断区 CMPSS响应与DAC误差 比较器延迟 < 50ns DAC输出误差 < ±10mV 判断依据:校准后全量程最大误差 ≤ 1/2 LSB;死区在冷热机下均 ≥ 驱动要求;比较器延迟满足保护窗口;DAC误差在环路容差内 所有参数均为示例,实际以器件手册和系统容差为准

比较器响应:关注延迟、迟滞与跳变点

CMPSS用于过流、过压保护,其响应时间由比较器传播延迟、数字滤波和跳变点设置共同决定。验证时,用信号发生器给一个快速阶跃(上升时间小于10ns),同时用示波器看比较器输入和CMPSS输出(或X-BAR触发PWM Trip的引脚)。从输入越过阈值到输出翻转的时间即为总响应延迟。C2000的CMPSS典型延迟在30–50ns量级,若启用数字滤波,每级滤波会增加一个采样周期。

迟滞设置不当会导致输出在阈值附近抖动。建议先测无迟滞时的跳变点,再逐步增加COMPHYS,直到输出在噪声环境下稳定。跳变点校准可用DAC内部参考:让CMPSS的负端接内部DAC,正端接外部可调电压,扫描外部电压找到翻转点,与DAC设定值比较,偏差应小于DAC的1LSB。

DAC输出误差:测零点、满度和线性度

C2000的缓冲DAC通常为10位或12位,输出范围0–VDDA。误差包括偏移、增益和输出阻抗引起的负载误差。测量时先空载测0码和满码输出,再带实际负载(如比较器输入或外部电阻)重测。若带载后满度下降超过1%,说明输出驱动能力不足,需要加缓冲。线性度则在中点附近取5–7个码值,用高精度万用表测量,计算与理想直线的偏差。

校准DAC时,可先测两个码值D1、D2对应的电压V1、V2,计算实际LSB=(V2−V1)/(D2−D1),再反推目标电压对应的码值。若DAC用于比较器阈值,建议把校准后的码值写入Flash,上电时加载,避免每次运行重新校准。

验证顺序建议:先校ADC,再用校准后的ADC去测DAC和比较器阈值,最后用DAC设定比较器跳变点。这样整条模拟链的误差可以逐级剥离,避免相互掩盖。

可执行的验证记录表

下表给出一个可直接填写的验证记录模板,字段按四类外设组织,实测值留空由测试者填写。示例中的“合格范围”仅为演示,实际应替换为项目规格。

外设测试项测试条件示例合格范围实测值结论
ADC偏移误差VIN=0.1V,ACQ=200ns≤ ±2 LSB
ADC增益误差VIN=2.9V,ACQ=200ns≤ ±4 LSB
ADCINL6点拟合残差≤ ±3 LSB
PWM死区EPWMCLK=100MHz,DBRED=880ns ±10ns
PWM分辨率HRPWM使能,CMPA步进1≤ 150ps
CMPSS响应延迟阶跃10ns,无滤波≤ 50ns
CMPSS跳变点偏差内部DAC设定1.5V≤ ±10mV
DAC零点误差码值0,空载≤ ±5mV
DAC满度误差码值满,带载1kΩ≤ ±1% FS

完成上述测试后,把校准系数写入C2000的OTP或Flash模拟EEPROM区,并在启动代码中加载。若发现某项误差随温度漂移明显,应在热机状态下复测并取最差情况作为校准依据。模拟外设的精度验证不是一次性的,量产阶段还需按批次抽检,确认校准系数在器件间的一致性。