高性能模数变换器测试平台设计
2020-08-03全大英楼喜中
范 威, 全大英, 渐 欢, 楼喜中
(中国计量大学信息工程学院,浙江省电磁波信息技术与计量检测重点实验室,杭州 310018)
随着雷达和通信技术的发展,应用于数字信号处理设备的模数变换技术也在不断进步。近年来模数变换器(analog-to-digital converter,ADC)的采样率、支持的信号带宽、分辨率、动态范围均得到了很大提高。高达数GSPS(gigabit samples per second)直接采样的ADC器件不断出现。部分器件内部集成了先进的数字下变频器(direct digital controller, DDC)和数控振荡器(numerically controlled oscillator, NCO),进一步扩展了ADC器件的功能,使得这些器件的应用更加灵活。
ADC器件的高带宽、高采样率和高分辨率发展趋势,使得应用ADC时对于硬件设计的要求越来越高。为了满足高带宽和高采样率,需要在电路设计的时候做好信号完整性设计,而高分辨率和高动态范围则要求控制好电路板级的噪声电平和时钟性能,这些要求使得ADC应用电路的设计变得颇具挑战性。不仅如此,由于采样率和分辨率的提高,促使ADC设计厂商抛弃传统的基于并口或者LVDS(low-voltage differential signaling)并口设计的数据接口,转而采用基于JESD204B协议的高速串行数据接口。这些高速串口线速率高达数Gbps (gigabits per second)甚至超过10 Gbit/s,进一步加剧了ADC应用电路的设计难度。
为了降低ADC应用电路设计风险,帮助系统设计阶段的器件选型,有必要提前评估ADC性能及其应用电路设计的有效性。不仅如此,ADC研发和生产过程中,也有必要对于产品进行验证和测试。因此,近年来不断地有研究人员研究ADC的性能测试算法,进而设计通用的高性能ADC测试平台,以满足不同接口ADC的研发验证、生产测试和应用评估[1-2]。
ADC的性能特性可以分为两类:分别是静态特性与动态特性,ADC的静态特性参数包括失调、增益误差、精度、偏置误差、微分非线性(integral nonlinearity, INL)和积分非线性(differential nonlinearity, DNL)等[3-5],动态特性的参数包括信噪比、有效位、信纳比、总谐波失真和无杂散动态范围等[6-8]。一般而言,主要在时域采用波形统计的方法测试ADC的静态性能,而主要采用正弦波拟合法和频域分析的方法测试ADC的动态性能[9]。频域分析方法与正弦波拟合法对比,其优点是不会引入信源噪声,可以更好地消除电路的干扰,能测试ADC更多的动态性能指标参数[10]。由于信号已经变换成数字信号,频谱分析时往往采用快傅里叶变换(fast Fourier transformation, FFT)计算采集样本的频谱。
文献[11]设计了一种基于MATLAB软件与逻辑分析仪结合大型混合测试系统的测试平台,用于测试ADC性能参数。其缺点是采用的设备价格昂贵,测试人员操作的难度很大,因而限制了其应用范围。文献[12]提出的基于单片机测试ADC系统的测试平台,因为时钟的频率较低,所以无法满足高速ADC数据采集与传输,只能实现简单的测试ADC算法,不具备测试高速ADC动态特性的能力。文献[13]基于DSP测试ADC系统的测试平台,能够实现复杂的测试算法,但是由于DSP外围I/O(input/output)接口相对固定,难以实现不同接口的ADC测试,且工作频率不能满足部分高速ADC的采样率,因此该测试平台的通用性和实用性有待提高。
为了克服已有的测试平台在通用性、高性能、便携性及成本上的不足,在分析性能参数、测试算法及其实现结构的基础上,采用FPGA(field-programmable gate array)和DSP(digital signal processor)器件并基于ANSI(American national standards institute)57.1—2008标准定义的FMC(FPGA mezzanine card)子母卡结构,设计一种通用的ADC性能测试平台,以实现LVCMOS(low-voltage CMOS)、LVDS、JESD204B等接口的ADC测试和功能验证。
1 ADC的主要性能参数分析
在分析ADC的主要性能参数及其计算方法的基础上,给出一种适用于DSP实现的ADC动态参数计算方法。
1.1 ADC的主要性能参数
雷达和通信系统对模拟信号进行采样的时候,开发人员关心的指标包括采样率、采样精度、量化噪声、信噪比、寄生、谐波和动态范围等。当一个纯净正弦波输入ADC,采集得到的数字信号的典型频谱如图1所示。
图1 ADC典型参数的频域解释Fig.1 Description of typical parameters in frequency domain
图1在ADC采集的纯净正弦波的频谱上,给出了在奈奎斯特(Nyquist)带宽内ADC主要的动态性能参数模型。对照图1,可以依次给出主要动态参数的定义。
有效位数(effective number of bits, ENOB):失真与噪声存在时,ADC可以达到的有效位数,一般通过信纳比SINAD计算,有效位数ENOB的计算公式为
在工程实际中,将上述的指标称为ADC的动态性能指标。根据图1及式(1)~式(5),常用的ADC动态指标测试方法为频谱的分析的方法。其基本原理为将纯净正弦波输入到ADC的模拟信号输入端,采集得到数字信号,对数字信号进行频谱分析,获得信号、谐波、杂散、噪声功率,最后计算得到动态性能参数。
除了动态指标,还有一类指标称为静态指标,包括非线性误差、失调、增益误差、转换时间等。这些指标与ADC的电路设计密切相关,往往比较难以测量,通常在时域进行波形统计后得到。由于在ADC的应用中,更多关心基于ADC动态参数的信号质量,因此以ADC动态指标测试为例介绍了所设计的测试平台。需要指出的是,所设计的测试平台只要增加针对静态参数的时域波形统计的软件,即可实现静态指标的测试。
1.2 高速ADC的动态性能测试方法
由于目前最新的ADC的采样率高达数GSPS, 若采用FPGA对采集数据进行谱分析,硬件描述语言编程实现难度较大,且不够灵活。同时由于需要兼容多种ADC,在频谱计算和式(1)~式(5)计算的时候需要更多考虑灵活性,因此采用DSP进行计算较为合适。
1.2.1 频谱计算
记采样率为fs,并且ADC采集的纯净正弦波的点数为N,即采集了时长为T=N/fs的波形。针对这段波形做离散傅里叶变换(discrete Fourier transform, DFT),可知频谱的频率分辨率为r=1/T。如果针对一颗ADC芯片进行测试,采样率设置为fs=2.5 GSPS,并且在性能分析时要求频率分辨率为r=1 kHz,则采样的时长应该不小于1 ms,样本点数为N=2.5 M。这样长点数的DFT,在很多平台下无法直接调用FFT计算,比如德州仪器(TI)的DSP TMS320C6678的数字信号处理库不支持直接做大于32 768点的FFT。因此需要对大于该点数的FFT进行拆分,采用的方法是经典的库利-图基算法。
一个N点信号x(n),n=0,1,…,N-1的DFT可以表示为
式(6)中:WN=exp(j2π/N)。
如果可以将点数N表示为N=N1N2,那么采用库利-图基算法可以将上述DFT表示成如下形式:
式(7)中:n2,k1=0,1,…,N1-1;n1,k2=0,1,…,N2-1。
根据式(7),可以将一个大点数的DFT运算拆分成两级的短DFT运算实现,即第一级是N2次的N1点DFT,第二级是N1次的N2点DFT。如果设计N1和N2均为2的幂次,则这些短的DFT均可以用FFT计算获得。
式(7)在计算的时候,第一级FFT的输入需要对数据进行重排,按照N2间隔,排成N2次的N1点FFT;然后在第一级的输出,需要乘以一个旋转因子,并再一次对数据进行重排,输入到第二级FFT;最终第二级的FFT输出的N1个的N2点FFT结果依次排列后,即为X(k)的二进制倒位序排列。
为了避免对正弦波采集样本长度不满足整数周期的要求,在计算FFT之前,采集样本应该进行加窗以减轻频谱泄露。
1.2.2 频谱分析
对采集样本进行加窗并求得其频谱后,可以计算得到其功率谱。然后根据正弦波频率,得出信号基波位置和功率,同时计算得到直流信号的功率。
进而,根据信号基波的频点依次推算并读取各谐波的位置,并求出各谐波的功率。如果谐波和基波在Nyquist带宽区间内,则其位置可以直接得到;对于在Nyquist带宽区间外的谐波和基波位置可以通过其在Nyquist带宽区间内的镜像得出。因此,针对奇偶次谐波都能在Nyquist带宽区间内找到其镜像分量对应的频率位置,计算方法如下。
记偶次谐波频率为f2k,当f2k大于采样率fs的一半时,偶次谐波频率f2k在Nyquist带宽区间内镜像位置f′2k为
f′2k=f2k-kfs,k=1,2,…,n(8)
记奇次谐波(包括基波)频率为f2k-1,且f2k-1大于采样率fs的1/2时,奇次谐波(包括基波)频率f2k-1在Nyquist带宽区间内镜像位置f′2k-1为
f′2k-1=kfs-f2k-1,k=1,2,…,n(9)
除了直流、信号、谐波之外,还需要再次搜索功率谱,找出离散杂散的频点及其功率。
最后根据功率谱以及各谐波能量,求出噪声的总功率、除信号基波和直流外最高的杂散的功率。
1.2.3 性能参数计算
将计算得到的数据代入式(1)~式(5),分别求出SNR、SINAD、ENOB、SFDR、THD。
2 高性能ADC性能测试平台设计
基于上述ADC的主要性能参数分析,考虑到针对不同接口类型ADC的通用性,首先设计测试平台的系统架构,然后完成硬件设计和实现,最后设计了必要的软件。
2.1 高性能ADC性能测试系统架构
所设计的通用ADC测试平台,需要支持不同数据接口和不同采样率的ADC的连接。常用的ADC数据接口包含传统的低速率串行接口、单端或差分的并行接口以及高速串行接口。接口形式的多样,要求测试平台具有高兼容性的接口物理形式和数据协议。同时,常用的ADC的采样率从KSPS(kilo samples per second)到数GSPS的数量级。因此在兼容低速率的数据存储和传输能力的前提下,针对采样率高达GSPS的ADC的测试要求测试平台具备实时并行数据缓存的能力。
基于此,测试平台应该具备高度灵活性,具备高速并行数据缓存能力,并且具备足够的实时信号处理能力,以完成高速高精度数字信号的频域和时域分析。综合ADC的主要性能参数分析以及通用测试平台的需求分析,设计了图2所示的测试系统架构。
如图2所示,信号源为被测ADC芯片提供干净输入信号和采样时钟;测试平台采用FPGA完成多种ADC接口适配,并完成不同速率的采集数据的实时缓存;进而在DSP运用频谱分析的方法计算得到被测ADC的性能指标参数;最终,测试结果通过千兆以太网(Ethernet)传到PC(personal computer)机。
图2 高性能ADC测试系统架构Fig.2 Architecture of the proposed test system for high performance ADCs
2.2 硬件实现
图3和图4分别给出了高性能ADC测试平台的硬件实现框图和硬件原型实物图。ADC测试平台主要包括由双FMC连接器组成的被测设备连接接口、用于高速ADC接口和数据缓存的FPGA单元、用于数据处理和性能分析的DSP单元,以及必要的单板管理、时钟和供电电路。
图3 ADC测试平台硬件框图Fig.3 Hardware architecture of the proposed ADC test platform
图4 ADC测试平台硬件原型Fig.4 The fabricated ADC test platform prototype
图3、图4所示的测试平台,选用符合ANSI 57.1—2008标准的双宽度FMC子母卡架构。搭载被测器件的评估子卡与高速实时采集处理母板分离的设计,满足了测试平台对于多种ADC的物理连接的通用性需求。
测试平台选用赛灵思(Xilinx)公司Virtex-7系列的FPGA XC7VX690T,利用 FPGA的并行处理能力强、处理延时小、实时性高和接口种类丰富的特点,完成灵活的ADC接口适配和实现不同速率数据缓存。FPGA挂载2组容量为2 GB(gigabyte)、位宽为64位的第3代双倍数据速率存储器(double-data-rate three, DDR3)。
同时,ADC的采集数据分析和性能参数计算算法运行于TI公司的C66x系列的DSP TMS320C6678,该DSP高度集成浮点运算资源,能够实现复杂的算法流程控制和数字信号处理运算,并且易于编程。其挂载1组容量为2 GB、位宽为64位的双通道1 600 MT/s的DDR3。TMS320C6678通过千兆以太网对外传输测试结果。
单板管理电路以Xilinx公司Spatan-6 FPGA芯片XC6SLX16为核心,用于控制XC7VX690T与TMS320C6678的上电时序以及平台的时钟电路上电和使能。
2.2.1 通用子母卡设计
ANSI 57.1—2008标准对HPC(high pin count)FMC接口的管脚定义如表1所示。
表1 FMC管脚定义Table 1 FMC pin specification
从表1可以看出,FMC接口的传输速率满足LVCMOS、LVDS并口与JESD204B高速串行口的兼容设计。因此利用FMC的特点,不用重新定义物理连接,仅需合理安排FMC载板中HPC FMC接口定义的管脚与FPGA的I/O接口相连,测试平台即可以兼容不同电气特性和传输协议的ADC接口。同时由于被测ADC评估子卡与测试平台分离后,电路复杂度降低,进而降低了研发难度和ADC测试成本。
2.2.2 数据通道
所设计测试平台的ADC采集样本,从ADC的数据接口传输到FPGA,FPGA完成缓存后进一步传输到DSP进行性能参数计算,计算得到的结果通过以太网传到外部主机。测试平台数据通道设计如图5所示。
图5 测试平台数据通道设计Fig.5 Data flow of the test platform
被测ADC和Virtex-7 FPGA的接口速率在kBps(kilo bytes per second)级别到数GBps(gigabytes per second)级别。FPGA与DSP的数据传输采用4x SRIO(serial rapid I/O)接口通信,FPGA和DSP都将数据缓存在DDR3。在电路设计中DSP采用SGMII(serial gigabit media independent interface)接口通过千兆以太网物理层(PHY)芯片88E1111连接RJ45接插件,并通过网线与PC机连接。
2.3 软件设计
测试平台软件架构如图6所示,主要包含FPGA的ADC接口适配、采集样本数据缓存、FPGA和DSP之间的数据传输,以及DSP侧的ADC性能测试算法实现等。
图6 测试平台软件设计Fig.6 Software design of test platform
图6中,在FPGA内预先设计LVDS接口的ADC RTL(register transfer level)驱动或JESD204B接口的ADC RTL驱动库。ADC的接口驱动采用自顶向下的模块化设计,便于设计开发和测试不同接口的ADC。ADC接口适配后,输出的采集样本缓存到DDR3。然后通过SRIO接口传输到DSP,DSP完成频谱分析并计算ADC性能参数后,将数据通过以太网输出到外部设备。
2.3.1 ADC接口库设计
如表2所示,测试平台支持LVDS、LVCOMS接口、GTH(高速收发器)接口,且GTH接口标准满足JESD204B接口协议速率要求。
表2 ADC接口兼容设计Table 2 Types of ADC interface supported
由于不同ADC芯片的接口不同,需要不同接口驱动,目前尚无法做到对接口参数进行动态配置,因此需根据实际使用的ADC芯片的接口类型,修改FPGA接口驱动。测试平台在接口设计中LVDS和LVCMOS连接在FPGA普通I/O口,JESD204B连接在FPGA高速GTH接口,且可支持4个4x的JESD204B接口。由于接口驱动通常采用模块化设计,代码移植性较好,不会增加过多的开发难度。
2.3.2 采集样本数据缓存设计
由于ADC采样率不同,数据传输带宽大小不同,而高速ADC接口采样数据传输速率可达数十Gbit/s。采用4x模式,线速率设置为5 Gbit/s的SRIO接口的理论传输速率为4×5 Gbit/s×0.8=16 Gbit/s,无法实现采集样本实时传输至DSP,因此需要用DDR3对采集样本数据进行高速缓存。DDR3理论传输速率为1 600 Mbit/s×64≈100 Gbit/s,可满足高速ADC采集样本数据的实时缓存。为保证设计平台的通用性,其数据缓存设计框图如图7所示。
图7 采集样本数据缓存设计Fig.7 Design of the captured data buffering
图7中,使用两个异步FIFO(first input first output)解决数据传输过程中的跨时钟域问题,由于DDR3写速率和读速率均远大于ADC采集样本数据速率和SRIO接口数据传输速率,因此FIFO深度设置为64即可满足数据缓存需求。ADC接口采集样本数据根据来自DSP的START信号,开始写入异步写FIFO,FIFO写时钟为ADC接口数据速率时钟,读时钟为DDR3用户时钟。DATA_SWITCH模块根据START信号,开始将采集样本数据写入DDR3,在数据采集完毕后开始控制从DDR3读取数据,并将读取的数据写入异步读FIFO,其状态机设计如图8所示。
图8 采集样本数据缓存模块状态机设计Fig.8 State machine of the captured data buffering module
2.3.3 FPGA和DSP间数据传输控制设计
需要将采集的数据从FPGA传输至DSP,其中FPGA侧设计流程如图9所示。
图9 FPGA侧SRIO接口数据传输控制流程Fig.9 Control flow for data transmission of SRIO interface in FPGA
图9中,FPGA通过SRIO接口接收来自DSP发送的采集测试指令,包含配置SRIO传输数据长度寄存器以及采集开始寄存器。SRIO接口根据配置的传输数据长度大小寄存器,连续传输数据,直至完成一次数据传输。
2.3.4 DSP软件设计
DSP软件采用模块化分层软件架构。如图10所示,底层为SRIO驱动、以太网驱动、实时操纵系统(SYS/BIOS);同时DSP设计了数据缓存和数据传输的中间件,以向应用程序提供数据组织服务;应用程序包括总体控制流程和谱分析以及ADC参数计算的应用程序。
图10 DSP计算ADC参数Fig.10 ADC parameters calculation in DSP
设备的总体控制流程如图11所示。DSP通过以太网接收到开始测试命令,通过SRIO接口向FPGA 发出样本采集指令,然后等待接收采集样本数据,采集样本数据接收完毕后,开始频谱分析和参数计算,其运算结果通过以太网呈现给外部主机。
图11 设备的总体控制流程Fig.11 Control flow of the equipment
由于DSP在数字信号处理方面的天然优势,并且采用C语言编程能够实现较高的灵活性,较容易实现1.2节的频谱分析和参数计算过程。其中需要强调的是,根据谱分析对于分辨率的要求,需要针对特定采样率的ADC采集不同长度的数据样本进行分析。因DSP内的FFT库不支持直接大于32 768点数的FFT运算,因此如果采集样本点数小于等于32 768,则直接调用库函数进行FFT运算。但针对采集样本点数大于32 768的情况,需采用式(6)和式(7)对FFT运算进行拆分,且拆分的长度满足2的整数次幂,即拆分后每一级运算均符合基-2 FFT 运算。由于输出的X(k)为二进制倒位序排列,还需要重新进行排序。
3 实验
用于实验验证的测试系统架构如图12所示。测试平台原型通过千兆以太网连接到外部PC机,根据需要安装搭载被测ADC的评估子卡,并且采用SMA100B信号源为被测ADC提供高性能采样时钟和输入信号。
图12 测试系统架构Fig.12 Architecture of the test system
在实验中,分别测试了3款ADC,依次搭载到评估子卡AD9652子卡、EV10AQ190A子卡和亚德诺半导体(ADI)公司的AD9625评估板。图13给出了这些评估子卡的实物图。
图13 搭载被测ADC的评估子卡Fig.13 Evaluation cards carrying the ADCs under test
具体地,图13评估子卡搭载的3款ADC芯片分别为ADI公司的最高采样率为310 MSPS的16位 ADC AD9652、E2V(Teledyne e2v)公司的最高采样率为5 000 MSPS的10位ADC EV10AQ190A和ADI公司的最高采样率为2 500 MSPS的12位 ADC AD9625。这些ADC的主要参数如表3所示。
表3 被测ADCTable 3 ADCs under test
3.1 数据接口通用性测试
将图13所示的3款ADC评估子卡分别安装到测试平台按照图12所示进行测试实验,以验证测试平台的通用性。
硬件装配完成后,首先根据不同接口类型选择不同的FPGA加载镜像bit文件,然后通过外部PC机通过千兆以太网配置开始测试,均能够正确配置ADC并采集测试样本,DSP测试后能够得到最终的动态性能测试结果。
3.2 典型ADC芯片性能测试
选择表3中最典型的两款ADC进行性能测试,以验证测试平台的有效性和通用性。
3.2.1 AD9652性能测试
AD9652采用LVDS并行接口,典型采样率为240 MSPS。表4所示为AD9652数据手册给出的针对70 MHz信号的动态参数。
表4 AD9652数据手册给定的动态参数Table 4 Dynamic parameters specified in AD9652 datasheet
将搭载3片6通道的AD9652评估子卡装配到测试平台,通过SMA100B提供采样时钟和干净正弦信号,在输入信号加入69~71 MHz的带通滤波器,保证更好地提供单频点70 MHz的输入信号。按照3.1节描述的测试流程完成测试,采集数据按照1.2.2节进行频谱分析,可以得到图14所示的采集信号的频谱。
图14 AD9652采集获得的频谱(70 MHz被测正弦波)Fig.14 Spectrum captured by AD9652(with 70 MHz sinusoid input)
基于图14所示的频谱,在DSP完成频谱分析和参数计算,得到表5所示的6通道AD9652子卡动态参数的测试结果。
表5 AD9652动态参数测试结果Table 5 Test results of AD9652’s dynamic parameters
表4、表5对比,测试得到的AD9652动态参数指标与手册给出的动态性能参数相当。
3.2.2 AD9625性能测试
AD9625采用JESD204B接口,典型采样率为2.5 GSPS。表6为AD9625数据手册给出的其针对100~1 800 MHz输入信号的动态参数。
表6 AD9625数据手册给定的动态参数Table 6 Dynamic parameters specified in AD9625 datasheet
将AD9625评估板装配到测试平台,同样按照3.1节描述的测试流程完成测试,采集数据按照1.2.2节进行频谱分析,可以得到图15所示的采集信号的频谱。因为1 800 MHz大于1 250 MHz(采样率的一半),所以由式(9)可知在Nyquist带宽区间700 MHz处显示的是基波镜像。
图15 AD9625采集获得的频谱(1 800 MHz被测正弦波)Fig.15 Spectrum captured by AD9625(with 1 800 MHz sinusoid input)
基于图15所示的频谱,在DSP完成频谱分析和参数计算,得到表7所示的在不同输入信号下AD9625动态参数的测试结果。
表7 AD9625动态参数测试结果Table 7 Test results of AD9625’s dynamic parameters
表7与表6对比,因评估子卡的信号完整性设计缺陷,导致测试ADC的结果与AD9625 数据手册中给定的动态参数指标有一定差异,意味着在实际的AD9625应用设计中,需要对电路设计做必要的优化。
4 结论
采用高性能FPGA以及高性能DSP完成了通用ADC接口的测试平台设计,能够满足基于LVDS、LVCMOS和JESD204B接口的ADC芯片性能测试。得到以下结论。
(1)采用FMC子母卡分离的设计方式,提高了测试平台的通用性,并且降低了测试ADC的研发难度和成本。
(2)通过实验完成了对多款基于不同接口类型以及采样率从240 MSPS到5 GSPS的ADC的测试,验证了测试平台设计的有效性。
(3)所设计的系统架构,对通用ADC测试平台的设计,具有一定的工程应用价值和借鉴意义。