简介
在物联网和云计算成为生活一部分,在行业媒体大肆宣扬之际,通过采用最先进的技术和优化设计,老式电子元件并未停止前进的步伐。其中一个例子是模数转换器,该器件现在可以超过每秒一兆次采样(MSPS)的速率实现32位分辨率,轻松通过传统的计量基准测试。
这些高精度转换器可以显示高于16位的分辨率,规定可比静态和动态特性,并且在仪表仪器和大型通用采集系统(测试、设备认证)、专业系统(医疗应用和光谱学数字成像)等专用领域以外,它们已经进入许多过程控制应用、可编程控制器、大型电机控制以及电能输配等领域。目前,几种ADC架构在精度方面不相上下;根据不同需求,具体的选择视模数转换原理、逐次逼近寄存器(SAR)以及Σ-Δ而定,在数MSPS速率下,这些架构分别支持最高24位或以上的分辨率,为24位或更多,在几百kSPS速率下支持32位分辨率。当面对这些分辨率和精度水平时,这些转换器提供的有用动态范围很容易超过100 dBFS(满量程)的神奇屏障,用户面临的真正挑战体现在为要数字化的信号设计模拟调理电路,以及相关抗混叠滤波器的设计两个方面。在过去的二十年中,采样速率和滤波技术已经有了很大的发展,现在我们可以结合运用模拟和数字滤波器,在性能和复杂性之间达到更好的平衡。
图1所示为适用于数据采集系统的这类分区的一个典型示例。在调节差分或非差分信号(放大、缩放、自适应和电平转换等)之后,在数字化之前对后者进行滤波以满足奈奎斯特准则。根据ADC的过采样速率,要使用额外的数字滤波来达到采集系统的规格要求。
由于对超宽输入动态范围的需求增加,许多上述应用采用了最先进的高分辨率ADC。随着动态范围的增加,系统性能预计会提高,模拟调节链会减小,拥堵、能耗,甚至是材料成本都会下降。
过采样及其好处
在超快高分辨率模数编码器出现之前,一般通过以下办法解决动态范围问题:使用快速可编程增益放大器、更快的比较器和/或并联若干ADC,最后加上合适的数字处理模块,以实现强信号的数字化,区分接近噪声水平的小信号。在这些陈旧并且现已过时的架构中,这样做会带来复杂的电路,很难开发,并且在线性度、带宽和采样频率方面都受到限制。当今的替代方案是,借助更经济的现代ADC的高采样速率,达到运用过采样技术的目的。以高于奈奎斯特定理要求的最小值的FSE 速率对信号进行采样,可以通过处理和增加编码器的信噪比来执行增益运算,并因此增加有效位的数量。实际上,量化噪声和热噪声被同化为白噪声,该噪声在整个奈奎斯特频带及以外均匀分布。过采样之后,通过滤波和严格以最小所需采样速率(或2 ×BW)限制有用频带,频带每降低一个倍频程,噪声能量将降低3 dB,如图2所示。换句话说,过采样因子为4时最为理想,在理论上使信噪比增加了6dB;即是说,增加了一位,如等式1所示:
图1.典型测量信号链。
图2.通过添加数字抽取滤波器比较频谱噪声密度。
总之,过采样有两个优点,一是可以提升信噪比,二是可以放宽对位于ADC之前的抗混叠模拟滤波器的要求。
抗混叠滤波器:分区困境
理想情况下,与ADC相关的滤波器,特别是那些负责解决频谱混叠问题的滤波器,相比其精度,其幅度响应带宽必须尽可能平坦,同时其带外衰减还要能满足其动态范围要求。过渡带一般要尽可能陡。因此,这些抗混叠低通滤波器在特性上有特定的要求,必须能消除寄生镜像、噪声和其他杂散音。根据具体应用,还要特别注意相位响应,也要补偿任何过大的相移。虽然有许多建议被认为属于基础建议,但是,如果要将这些建议与指定的24位或32位转换器的要求结合起来,并且这些转换器的积分非线性误差仅为几LSB,再加上其他类似的静态和动态参数,有些建议实现起来会极其困难。
如前所述,过采样在此非常重要,因为它不仅能提升信噪比,还能放宽对模拟抗混叠滤波器规格及其截止频率的要求。如图3所示,过采样分布在-3 dB条件下截止频率与阻带起点之间的过渡带。
图3.过采样分布在-3 dB条件下截止频率与阻带起点之间的过渡带。
最新的技术为近年来显著提升的高精度SAR ADC转换速率提供了可能,目前在18位分辨率下,此等转换速率在1 MSPS与15 MSPS之间。相比之下,具有同等分辨率的宽带Σ-ΔADC的速率几乎要低一个数量级,存在突出的延迟问题,并且其通带纹波太高,无法用于数据采集系统、其他测量仪器仪表等应用。基本而言,总体计量精度决定着后者的特性,这与静态(dc)和动态(ac)参数都有关系,因此这些系统中的转换器和附带的模拟调理电路在规格上必须达到顶级要求。
这些规格包括失调、增益和对应的漂移误差、积分非线性(INL)和差分(DNL)误差等常见特性,还包括信噪比(SNR)、谐波失真和杂散音(无杂散动态范围(SFDR))。SAR ADC在部分这些参数以及瞬态响应、模拟输入过载和零延迟方面具有明显的竞争优势(INL),为单次模式下多路输入系统的运行或采集的触发提供了保障。
相反,除LTC2512和LTC2500-32以外,大多数SAR ADC不包括数字滤波器,因此其运行不受一些不可避免的数字低通滤波的阻碍或限制,否则,就会在计算精度、带通纹波、衰减阻带抑制、传播时间和功耗之间进行平衡。在大多数情况下,用户无法控制这些Σ-Δ转换器的内部滤波器系数值,不得不凑合了事。
LTC2378-20:市场上的首款20位SAR ADC
在对性能的角逐中,2014年,凌力尔特公司(现为ADI公司的一部分)向客户推出了具有20位分辨率和真正线性度的第一款逐次逼近型ADC,将竞争对手打了个措手不及。LTC2378-20是一款出色的转换器,在接近MSPS的所有其他竞争产品中仍然保持着自己的优势。
LTC2378曾经的友敌,AD4020是ADI公司首款能以1.8 MSPS速率数字化10 V峰峰值差分信号的20位SAR ADC。它结合了低噪声、低功耗以及LTC2378的所有特性:动态压缩、钳位电路、电荷转移补偿,支持使用低功耗精密放大器(高阻抗模式)等。采用1.8 V电源供电,1.8 MSPS速率下,功耗仅为15 mW。350 ns的转换时间创下纪录,使其在延长采集时间或读取数据方面游刃有余。其采用10引脚MSOP或10引脚QFN封装,与AD40xx家族的其他16位至18位成员相同。在–40°C至125°C温度范围内,其规格和运行完全有保证。
LTC2378-20和AD4020的采样速率分别为1 MSPS和1.8 MSPS,为过采样带来了具有重要意义的可能性,特别是音频频段或更高频段。为此,必须在外部FPGA或DSP中搭载定制型抽取滤波器。如前所述,可以绕过后者,以在必要时将其延迟降至最低。基于这些初级采样速率值,考虑到0 kHz至25 kHz频段,相应的过采样因子约为16或32,处理增益为12 dB至18 dB,同时还严格按照奈奎斯特定理,简化了常规操作条件下的抗混叠低通滤波器。
ADC至DSP链路:一切皆为串行
近年来,半导体行业及其设计师圈子明显倾向于减小元件尺寸,使外壳引脚真正瘦身,并且还要调整需要与SPI总线、同步串口等连接的几乎所有串行数字输入或输出。问题是,这些转换器却没有留下用于抽取样本和控制ADC的各功能选项的串行接口。根据其规格,这些串行接口兼容SPI或DSP串口,但实际并非如此。它们最多隐藏了负责设置时钟信号节奏的移位寄存器,用于从器件中提取数据,或者在配置期间注入数据。就如所有这些SAR ADC一样,LTC2378-20和AD4020在频率上要求串行时钟(SCK)在额定采样速率下,以20位为单位恢复数据。由于数据读取阶段严格限制在采集时间(约300 ns)范围以内,因此在转换期间,必须将外部访问时的数字活动减至完全静音;并且要以1 MSPS的采样速率,在分配的时间内从采样恢复所有位,时钟频率必须达到60MHz以上。无论是产生这样的时钟频率,还是要在接收器端实现的时间规格,对于负责从ADC收集数据的控制器上的接口来说,这都是严格的限制。LTC2378-20要求最低SCK信号频率达到64 MHz,这意味着,它不能连接任何通用微控制器或搭载最高频率略微超过50 MHz的同步串口(SPORT)的DSP,Blackfin处理器®家族的一些成员除外,如ADSP-BF533、ADSP-BF561,其速率可以达到90 Mbps。因此,有人担心,需要使用搭载了低抖动时钟产生电路相关的大型CPLD或FPGA。串行输出SAR ADC的大多数数字接口或多或少具有相同的时序和逻辑信号模式,如图4所示。对于SDI配置输入,除了级联模式之外,还对它提出了低得多的频率要求。ADC采样周期的等效全周期时间为
(2)
故定义最大采样频率,其构成为:
(3)
其本身由输出数据的读取速率调理,其中,
(4) tsck = 1/Fsck
图4.AD4020的时序图。
幸运的是,AD4020的转换时间超短,为325 ns,采样速率为1 MSPS,采样时间为675 ns,基于此,其串行数据读取频率低于33 MHz,与DSP同步串口(如SHARC® ADSP-21479)相当,功耗也非常低。
一款超低功耗的多通道系统
出于能耗、精度和操作模式选择灵活性的原因,同时也是出于商业考虑,在这些应用中不能考虑基于FPGA的解决方案。要处理来自这些20位ADC的串行输出并实现最优抽取滤波器,只能使用DSP浮点处理器。
如今,有许多数据采集系统都能通过大量信道同时采样。这就导致许多ADC并行运行,同时由同一个控制器控制,该控制器还要负责收集数据并将其存储在存储器中以供后续分析。
运用SHARC ADSP-21479或其快速版ADSP-21469和ADSP-21489(时钟频率为450 MHz)等高性能SAR ADC构建的系统不但现实可行,而且在性能、开发时间、能耗和紧凑性等方面也是可圈可点。这些处理器具有支持8个模数数字化通道所需要的全部功能和外设,包括同步串行接口、不同时钟信号的发生以及触发转换等。在所有SHARC处理器中,ADSP-21479是唯一一款采用低泄漏65纳米CMOS工艺制造的32/40位浮点DSP,其优势是能大幅降低泄漏或静态电流,并且其结温几乎呈指数级演进。作为处理器及其外设频率和活动函数的动态电流也低于以标准或快速CMOS工艺制造的处理器。不足之处则在于,相比常规版本,其最大CPU频率下降了约30%-40%,但仍然足以满足此类应用的需求。
ADSP-21479搭载了多种外设,其中有一个特殊模块被称为串行输入端口(SIP),该模块能同时从同步运行的8个外部串口发射器接收信号流以及时钟和同步信号。事实上,可以将与AD4020类似的8个ADC直接接入该接口,从而接入处理器。如图5所示,8个通道有自己的IDP_SCK时钟、IDP_FS同步和IDP_DAT输入信号,一旦解串行,它们的数据会自动复用到32位、8字FIFO存储器中,然后通过64位DMA数据包或CPU执行的读取操作,传输到SHARC内部RAM。DMA传输操作中,SIP由运行于自动乒乓模式下的双索引DMA通道伺服。此外,ADSP-21479还搭载有四个精密时钟发生器(用于低抖动,缩写为PCG),能够从内部或外部源(TCXO)生成独立的时钟和同步信号对。通过编程20位内部分频器可取得这些激励的频率、周期、脉冲宽度和相位。每个PCGx生成单元提供由一对AD4020转换器共享的一对CLK/FS信号,但在转换阶段时钟必须静音,所以需要一个逻辑门,以便把IDP_FS信号和IDP_SCK信号结合起来形成SCK时钟。图5中的时序图显示,一旦转换时间tconv已经过去,必须尽可能快地以33.3 MHz的速率,从当前样本中读取20位数据,以在采样频率中维持1 MSPS的神奇屏障。大约600 ns后,数据被传输到其中一个SIP缓冲器中,此时可以使用IDP_FS或CNV信号启动新的转换周期,使AD4020进行新的转换操作。使后者的最大转换时间达到325 ns,这对应于CNV信号的脉冲宽度,即12个IDP_SCK时钟周期或360 ns。总之,如图5中的时序图所示,一个完整的扫描周期需要32个IDP_SCK信号周期,总时间为960 ns,因此其最大采样速率为1.040 MSPS。
同样,ADC LTC2378-20可以与ADSP-21489相关联,因为它能够在高达50 MHz的外设时钟频率下工作,在这种情况下,采样速率为900 kSPS,如表1所示。遗憾的是,静态电源电流(Iddint)或后者的泄漏电流远高于动态电流,使得该配置的总功耗超过可用功率,达到不可接受的程度。
抽取滤波
假设将这些转换器用于过采样模式,如此,就有必要提供一个能满足上述要求且针对目标频带定制的抽取滤波器,在所需计算能力和功耗方面尽量降低对DSP的影响。目前,用于改变采样速率的程序已经成为一种标准的数字信号处理操作,可以用内插器和数字抽取器实现。出于相位响应线性度考虑,低通抽取滤波器采用有限脉冲响应(FIR)拓扑结构,可以根据效率要求采用不同的拓扑结构:
► 抽取专用直接或优化FIR滤波器► 级联多速率FIR滤波器(1/2频段)
► 多相FIR滤波器
无论是FIR还是IIR类型的多相滤波器都是抽取或插值滤波器最有效的实现方案之一。然而,传统数字处理方案要求在抽取之前进行滤波。在此假设下,1/M抽取滤波器由低通滤波器和紧随其后的采样频率降级组成(图6a)。预先对信号滤波,避免频谱混叠,然后以M-1的速率定期消除样本。然而,常规FIR或其他结构针对这些抽取滤波器的直接实现方案存在资源浪费问题,因为被拒样本是几十甚至几百次累乘(MAC)的结果。使用分解成若干滤波器组的多相滤波器或是针对抽取进行优化的滤波器,可以基于某些特点(如图6b所示)形成高效的滤波器。
凭借FIR滤波专用SIMD架构和硬件加速器,以及针对数字信号处理而优化的指令集,SHARC ADSP-21479特别适合实现这些类型的滤波器。每个SHARC处理单元都有一个32/40位乘法器累加器,能够在266 MHz的CPU频率下,每秒实现533次定点或浮点MAC计算。然而,对于一些存在显著延迟(房间均衡或音效)的应用,需要增加计算能力,使内核从诸如FIR、IIR、FFT滤波等密集和持续乘法运算中解脱出来,用专门的硬件加速器去执行这些运算。如此,用户就能完全自主决定,将CPU用于计算需要执行复杂搜集的复杂算法。FIR滤波专用加速器有专门的本地存储器,用于存储数据和系数,并具有以下特征:
图5.通过解串行将8个20位1 MSPS SAR ADC接入SHARC DSP;DMA数据传输进DSP内部RA
图6a和6b.常规抽取滤波器和采用多相方案的抽取滤波器。
► 支持IEEE-754定点或浮点32位算术格式► 有四个并行运行的累乘单元
► 支持单速率和多速率处理模式(抽取或插值)
► 一次简单迭代可以处理最多32个FIR滤波器,总共多达1024个系数
ADSP-21479的加速器的时钟速率与系统时钟或PCLK外设的速率相同,为CPU CCLK时钟频率的一半;即133 MHz。基于此,其总计算能力为533 MAC/秒。加速器不要求执行指令;其运算由特定寄存器的配置决定,并且完全依靠DMA传输在内部和/或外部存储器之间移动数据。
显然,该加速器能以最优方式执行多速率滤波器的实现方案(插值或抽取)。由于简单的抽取滤波器仅为M个输入信号提供一个输出结果,因此,输出速率比输入速率低1/M倍。这种优化型FIR滤波器的实现方案没有采用复杂的多相滤波器组,因为后者需要大量的存储器指针,实现起来非常复杂;相反,该方案只是把M-1个样本的输出搁置起来,避免执行这些计算,并且只计算能产生有用样本的数据。这就消除了浪费,结果,运算次数以M-1的比率减少——在本例中为15——从而大大地节省了CPU周期。然而,在这样的抽取速率和如此短的计算窗口下,加速器不如有两个计算单元的内核有效,并且在信号从一个过滤器传到另一个过滤器的过程中,其DMA通道因被重新编程会造成不利影响。如果在SISD模式下用一个计算单元实现,则这类滤波器在CCLK周期数方面的成本可表示为:
FIR_Decim_Cycles = N + 2× M + 19 (5)
N为滤波器的系数的个数,M为抽取速率。
对于这种抽取滤波器一次迭代的实现成本,FIR滤波器条件下约为150个周期(源到汇编器21k),在0 kHz至24 kHz频段,纹波规格为±0.00001 dB,在62,500 SPS采样速率下,带外衰减为-130 dB。这款滤波器有97个系数(以32位FP IEEE-754格式量化),其响应如图7所示,该图是用MATLAB® Filter Designer制成的。对于接入的SIP或ADC的每个活动通道,响应以该采样频率在DMA中断实例中重复出现。
图7.抽取滤波器的滤波器响应。
对于实时和DSP负载,滤波操作以62.5 kSPS的频率重复,代表9,375,053个CCLK周期,而8个ADC转换通道的重复频率则略多于8倍,因为每个滤波器的存储器指针值都存储在SHARC数据地址生成器中,可以实现快速保存和恢复。这相当于,在SISD模式下,一个SHARC DSP为每秒8000万个执行周期(或80 MIPS),在SIMD模式下,由于两个处理单元并行运行,则为该值的一半。在前述两种模式下,这8个抽取器FIR滤波器在执行时,分别以30%和15%的速率以及266 MHz的时钟频率占用ADSP-21479。
功耗
虽然转换器的功耗可以从其规格中轻松、准确地推算出来,但处理器的功耗则要困难得多,因为处理器功耗的计算公式涉及多个参数,并且实时条件和工作模式会对其造成极大的影响。这里虽然没有详细说明,但读者可以在相关技术笔记中,轻松找到与ADSP-214xx和ADSP-21479处理器各组件功耗估算相关的说明,其中考虑了功能模块的活动、静态电流结温、电源电压值、使用的输入输出引脚数、各种外部频率和容性负载。依据图5中的功能描述,针对DSP和ADC的若干组合,给出了与DSP在这类抽取滤波应用中活动情况相对应的功耗。对于这些搭载四个或八个ADC的相关DSP变体,需要根据功能容量、输入/输出的数量、处理器的计算能力以及ADC的整体性能确定其功耗。凭借超低的静态电流,以ADSP-21479及其八个SAR ADC集群为核心构建的解决方案不但是功耗最低的解决方案,同时提供丰富的滤波算法选择和其他数字功能,在整体性能方面也是出类拔萃。
这个多通道数据采集系统(DAQ)的例子同时证明,实施数字信号处理任务不一定要使用FPGA,浮点DSP更适合高精度SAR ADC,尤其是在高度关注功耗的情况下。
参考文献
ADSP-21000系列应用手册第一卷,ADI公司,
Fliege,N.J.Multirate Digital Signal Processing:Multirate Systems—Filter Banks—Wavelets(多速率数字信号处理:多速率系统——滤波器组——小波),Wiley,1999。
Harris,Frederic J,Multirate Signal Processing for Communications Systems(通信系统多速率信号处理),Prentice Hall,2004。
Vaidyanathan,P.P.Multirate Systems and Filter Banks(多速率系统与滤波器组),Prentice Hall, 1993。
表1.不同SAR ADC与DSP相比的情况对比
参数 | AD4020 + ADSP-21479 | LTC2378 + ADSP-21489 | AD4020 + ADSP-BF532 | LTC2378 + ADSP-BF532 | LTC2512 -24 | LTC2500 -32 | AD7768 -8 |
转换A/N | SAR | SAR | SAR | SAR | SAR | SAR | WB-Σ-Δ |
分辨率 | 20 | 20 | 20 | 20 | 24 | 32 | 24 |
过采样 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
带内纹波(dB) | ±0.00001 | ±0.00001 | ±0.00001 | ±0.00001 | ±0.001 | ±0.001 | ±0.003 |
阻带衰减(dB) | <–130 | <–130 | <–120 | <–120 | <–65 | <–65 | –110 |
抽取滤波器 | 选项FIR | 选项FIR | 选项FIR | 选项FIR | FIR | FIR | FIR |
采样频率(MSPS) | 1 | 0.91 | 1.8 | 1 | 1 | 1 | 4 |
主要ADC | (Mod) | ||||||
抽取M | 16 | 16 | 32 | 16 | 16 | 16 | 64 |
抽取后频率(kSPS) | 62.5 | 62.5 | 62.5 | 62.5 | 62.5 | 62.5 | 62.5 |
SNR @ 3 kJz (dBFS) | 112 | 116 | 115 | 116 | 114 | 116 | 111 |
SFDR @ 2 kHz (dBc) | 122 | 128 | 122 | 128 | 120 | 128 | 128 |
数字滤波器旁路 | 是 | 是 | 是 | 是 | 是 | 是 | 否 |
频率SCK/SDO (MHz) | 33.3 | 50 | 61.5 | 64.1 | |||
ADC能耗(mW) | 10.8 | 24.8 | 15 | 24.8 | 32 | 30 | |
DSP能耗(mW) | 185 | 832 | 70 | 75 | |||
通道数 | 8 | 8 | 4 | 4 | 1 | 1 | 8 |
总能耗(Tj = 55°C下的典型值)(mW) | 272 | 1030 | 130 | 175 | 320(中位数) | ||
每通道的能耗(mW) | 34 | 129 | 33 | 43 | 32 | 30 | 40 |
关于作者:
Patrick Butler是ADI公司南欧销售集团的一名现场应用工程师,为法国全球市场和部分ADEF客户提供支持。从1984年至今,他已在ADI公司工作30多年,主要负责DSP构建模块IC以及高速转换器的开发。在此以前,他在法国圣艾蒂安斯伦贝谢公司ATE部门工作了5年,任设计工程师,之后法国南特Matra-MHS、AMD和Harris SC-Intersil担任多个应用工程师和FAE职位。如今,他的主要爱好是收集老式音响组件,在两个儿子的帮助下,动手制作高效的有源喇叭扬声器系统。