4. 隔离ADC与Σ-Δ调制器采集链路
在电机驱动、伺服控制、光伏逆变和储能变流器等场合,电流采样点往往位于高共模电压的桥臂或母线上,而控制器地是低压侧。传统“隔离运放 + 独立ADC”的方案链路长、增益误差累积多,AD740x/ADuM770x 这类隔离Σ-Δ调制器把“调制 + 隔离 + 数字输出”集成在单芯片内,成为中高精度电流环的主流选择。理解它的关键,不是把它当成一个“会输出0/1的ADC”,而是把它看成一条完整的信号链:模拟输入 → Σ-Δ调制 → 片上数字隔离 → 位流 → 数字Sinc滤波器 → 抽取后的多比特采样值。
一、Σ-Δ调制器原理:用1位位流承载模拟信息
AD740x/ADuM770x 内部是一个二阶(部分型号为三阶)Σ-Δ调制器。它由积分器、比较器和1位DAC构成闭环:比较器每个时钟周期输出1位,DAC把该位反馈回输入端,使积分器长期平均值跟踪输入。核心结论是——输出位流的“1的密度”正比于输入电压。当输入为0 V(相对VIN+−VIN−)时,位流近似50%占空比;输入为正满量程附近时,1的密度接近100%;为负时接近0%。
以 ADuM7701 为例,其调制器时钟 MCLK 典型为 20 MHz,满量程输入约 ±320 mV(差分,增益由型号决定,如 ±50 mV、±250 mV 等)。这意味着位流速率是 20 MSPS,但有效位数并非20位——单看一位位流,瞬时量化噪声极大,真正的精度来自后续数字滤波的噪声整形 + 过采样:二阶调制器把量化噪声推向高频,Sinc滤波器再把高频噪声滤除,从而在低频段获得高信噪比。
二、数字隔离接口:MDAT与MCLK的时序约束
AD740x/ADuM770x 的隔离接口非常简洁:高压侧输出 MDAT(调制器数据位流),低压侧提供 MCLK(调制器时钟)。MCLK 由控制器或FPGA产生,经片上变压器/电容隔离耦合到高压侧,驱动调制器工作;MDAT 则反向隔离回低压侧。这种“时钟下行、数据上行”的结构,使隔离通道数最少,也便于多通道同步。
实际使用中必须注意三点。第一,MCLK 抖动直接转化为采样抖动:位流是按时钟节拍产生的,MCLK 的相位噪声会调制到最终采样值上,因此应使用低抖动时钟源,避免用普通GPIO翻转产生。第二,MDAT 建立/保持时间:数据手册会给出 t_SU/t_HD,FPGA 采样 MDAT 时应在 MCLK 有效沿之后留出足够裕量,必要时用 IDELAY 或双沿采样对齐。第三,多通道偏斜:三相电流采样若三片调制器共用同一 MCLK,可保证采样时刻一致;若各自独立时钟,通道间偏斜会直接造成电流环的相角误差。
三、Sinc滤波器设计:从位流到可用采样值
位流本身不能直接送进电流环,必须经过抽取滤波。最常用的是 Sinc³(三阶CIC)滤波器,其传递函数为:
H(z) = [ (1 - z^-N) / (1 - z^-1) ]^3
其中 N = OSR(抽取率),输出速率 f_out = MCLK / N
Sinc³ 对直流增益为 N³,对高频噪声有 −60 dB/decade 的滚降,能有效抑制调制器整形到高频的量化噪声。以 MCLK = 20 MHz、OSR = 256 为例:输出速率 = 20 MHz / 256 ≈ 78.125 kSPS,−3 dB 带宽约为 0.26 × f_out ≈ 20 kHz,足以覆盖典型电流环带宽(1~5 kHz)并留出抗混叠裕量。若 OSR 取 128,输出速率翻倍到 156.25 kSPS,带宽约 40 kHz,但噪声会上升约 3 dB(每倍频程 OSR 变化对应约 3 dB 噪声变化,二阶调制器为 15 dB/倍频程,三阶更高)。
实现上,Sinc³ 可用“三级积分 + 抽取 + 三级微分”的 CIC 结构,全部用加减法和寄存器完成,无需乘法器,非常适合 FPGA 或 MCU 的 CIC 外设。需要注意位宽增长:三级积分后位宽约为 1 + 3×log₂(N),N=256 时约 25 位,中间寄存器要留够位宽防止溢出;微分级再逐级截位到目标精度(如16位)。
四、采样率权衡:带宽、噪声与延时的三角关系
OSR 的选择本质是在带宽、噪声、延时之间取舍。Sinc³ 的群延时约为 1.5 × N / MCLK(以输出采样计约 1.5 个输出周期),OSR 越大,延时越大。对电流环而言,过大的延时会压缩相位裕度,甚至引起振荡;对需要快速过流保护的应用,则应选择较小 OSR 或旁路滤波器直接用位流做比较。
| OSR | 输出速率 (MCLK=20 MHz) | −3 dB 带宽(约) | 相对噪声 | 群延时(约) | 适用场景 |
|---|---|---|---|---|---|
| 64 | 312.5 kSPS | 81 kHz | 较高 | 4.8 µs | 快速过流、高带宽环 |
| 128 | 156.25 kSPS | 40 kHz | 中 | 9.6 µs | 通用电流环 |
| 256 | 78.125 kSPS | 20 kHz | 较低 | 19.2 µs | 高精度、低带宽 |
| 512 | 39.06 kSPS | 10 kHz | 低 | 38.4 µs | 慢速监测、高分辨率 |
表中数值为按 Sinc³ 典型公式估算的示例,实际应以器件数据手册的噪声密度曲线和滤波器响应为准。工程上常见的做法是:先用 OSR=256 获得干净的低噪声采样,再在控制器内做二次抽取或平均,兼顾精度与实时性;若发现电流环相位裕度不足,则降低 OSR 或改用群延时更小的滤波器结构(如 Sinc² 或 Sinc¹,代价是噪声抑制变差)。
五、链路级联的实践要点
把上述环节串起来看,一条典型的 ADuM7701 电流采样链路是:分流电阻(如 1 mΩ)→ 差分输入(±50 mV 满量程)→ 20 MHz 调制 → 隔离传输 → FPGA 内 Sinc³(OSR=256)→ 78.125 kSPS、16位采样值 → 电流环 PI 调节。调试时建议按顺序验证:先用示波器看 MDAT 位流密度是否随输入变化;再用已知直流输入检查 Sinc 输出码值是否线性;最后注入阶跃或正弦,观察带宽和相位是否符合预期。只有每一级都可观测,整条链路才可控。