基于AD9255的数据采集系统设计与分析

时间:2022-10-12 06:12:38

基于AD9255的数据采集系统设计与分析

摘要:简要介绍AD9255的性能与特点,并结合FPGA设计1个数据采集系统,完成同步接收、数字下变频、FFT以及频谱显示等操作。设计中,着重分析对同步采样有较大影响的异步数据同步接收模块。同时,简要说明Dither技术在AD采样中的应用,并深入探究AD9255的可选片内抖动功能,最后根据实验数据给出该可选片内抖动功能的作用效果。

关键词:

AD9255;同步采样;无杂散动态比;Dither

中图分类号:TP391文献标识码:A文章编号:10053824(2013)06006404

0引言

模数转换电路作为模拟技术与数据技术的接口,广泛应用于工业控制、雷达、通信、消费电子等各个领域,在信息技术中起着重要作用。随着数字技术、软件无线电和微电子技术的高速发展,极大地促进了模数转换电路设计技术的发展。ADC的动态特性参数无杂散动态范围(SFDR)表征了ADC非线性及噪声对转换性能的影响。频域分析测试法是目前高速模数转换电路动态测试常用的方法,通过将测试信号采样到的时域输出数据转换到频域,在频域对数据进行分析以获得高速模数转换电路的动态转换特性参数[1]。本文介绍了一款14位、125 MSPS的高性能模数转换器AD9255,并基于AD9255设计了一个数据采集系统。实验结果表明,该采集系统能很好地实现AD9255的同步采样,并能完成数字下变频和频谱的建立。

1AD9255介绍

AD9255是一款14位、125 MSPS模数转换器(ADC),旨在支持需要高性能、低成本、小尺寸且具多功能性的通信应用。该ADC内核采用多级差分流水线架构,集成输出纠错逻辑,在125 MSPS数据速率时可提供14位精度,并保证在整个工作温度范围内无失码。它具有宽带宽、差分采样保持模拟输入放大器,支持用户可选的各种输入范围。该器件适用于在连续通道中切换满量程电平的多路复用系统,以及采用远超过奈奎斯特速率的频率对单通道输入进行采样。与以前的模数转换器相比,AD9255的功耗与成本均有所降低,适用于通信、仪器仪表和医疗成像等应用[1]。

2基于AD9255的数据采集系统设计

2.1系统总体结构

AD9255输出数据格式为并行1.8 V CMOS或LVDS (DDR)。与单端信号相比,差分信号抗干扰的能力更强,因为差分信号在布线时要求等长、等宽、贴近以及同层。因此,外部干扰噪声将被同值而且同时加载到差分的2根信号上,其差值在理想情况下为0,对信号的逻辑值产生的影响较小。此外使用差分信号能有效抑制电磁干扰(EMI)。因为差分的2个信号距离很近且信号幅值相等、极性相反,这2根线与地线间耦合电磁场的幅值相等,将相互抵消,因此差分信号对外界的电磁干扰较小。同时,由于差分信号的接收端是2根线上的信号幅值之差发生正负跳变的点,作为判断逻辑0/1跳变的点,所以差分信号能准确定位时序。鉴于此,本设计中将AD9255配置成LVDS输出模式。系统总体架构如图1所示[23]。

图1系统总体结构图

从图1可以看出,AD9255与FPGA之间接入1个隔离驱动器,实现差分转单端,这主要是为了消除在差分信号中的共模杂讯。

在本数据采集系统设计中,AD9255输出的差分信号经过隔离驱动器转换为单模信号,继而传入FPGA。FPGA完成采样数据的数字下变频(DDC)处理,得到基带IQ数据,并对该数据进行FFT运算以得到其频谱。最后,FPGA将完成处理的数据上传给PC,通过PC显示处理结果,以便进行频域分析。

2.2FPGA内部结构设计

在本数据采集系统设计中,FPGA在接收了隔离驱动器传入的数据后,对其进行数字下变频(DDC)处理得到基带IQ数据,并对该数据进行FFT运算,得到基带IQ数据频谱。最后,同时将这个基带IQ数据及其频谱上传给PC,以显示结果。FPGA内部结构设计如图2所示[45]。

2.2.1同步接收

AD9255的特点之一就是在数据时钟DCO的上升沿发送数据的偶数位,在数据时钟DCO的下降沿发送数据的奇数位。当DCO为60 MHz时,数据时钟周期为16.67 ns,即半个周期只有8.33 ns,可见接收这样的采样数据时,时序要求较高。本设计中,使用异步数据同步接收模块来完成接收操作。

由于FPGA的内部时钟与DCO为异步时钟域,必然存在亚稳态,在异步数据同步接收模块中,先将接收数据拼接成完整的14位采样数据,然后利用一个异步FIFO实现异步数据同步接收。本文是采用Verilog语言描述,在Xilinx ISE14.3开发环境下进行设计,由于Xilinx公司FPGA开发环境自带有FIFO的IP核,通用性较好,本设计直接利用这个IP核。具体实现如下:

//DCO上升沿获取发送数据的奇数位

always @ (posedge dco) begin

Ad_o

end

//DCO下降沿获取发送数据的偶数位

//通过拼接获取完整的14位采样数据

always @ (negedge dco) begin

AdDataIn_r

AdDataIn[5],Ad_o[5],

AdDataIn[4],Ad_o[4],

AdDataIn[3],Ad_o[3],

AdDataIn[2],Ad_o[2],

AdDataIn[1],Ad_o[1],

AdDataIn[0],Ad_o[0]};

end

fifo_buf fifo_buf_AD9255 (

.wr_clk(~dco),// 写时钟

.rd_clk(clk_120MHz),// 读时钟

.din(AdDataIn_r), // FIFO输入信号

.wr_en(ce), // 写使能

.rd_en(ce), // 读使能

.dout(AdData),//FIFO输出信号

.full(full), // FIFO满标记

.empty(empty), // FIFO空标记

.valid(AdData_rdy) //指示输出有效

)。

说明:此FIFO模块中,以DCO的反相信号为写时钟,以120 MHz的时钟信号clk_120 MHz为读时钟;将clk_120 MHz的使能信号ce作为写使能和读使能,这就实现了当ce有效时,写入1个数据的同时立即取出1个数据,避免使用指示信号full和empty。

此外,为了更好地实现同步采样,还需要注意以下2点:

1)FPGA的所有输入时钟都需要由专用的全局时钟输入管脚(GCLK)接入,这是为了保证时钟信号到达各个目标逻辑单元的时延基本相同,以满足高速同步电路对时钟触发沿的苛刻需求[6];

2)需要使用ISE中提供的图形化的约束编辑器(constraints editor)添加时序约束,以便通知布局布线器在映射和布局布线过程做出优化调整,使设计尽量达到时序要求[6]。例如,指定数据时钟DCO第一个脉冲是高电平且占空比为50%,将输入的AD数据添加为同一分组并指定数据建立时间和保持时间等。值得注意的是,时序约束不能过紧,否则会增加布局布线的难度与时间。

2.2.2数据连续上传

从图2中可以看出,设计中多次运用双缓冲模块,这主要是为了实现数据能够连续上传给下级模块。本设计中,通过2个双口RAM来实现双缓冲,其中双口RAM使用ISE自带的IP核。值得注意的是,该模块不但需要集合了双缓冲的相关逻辑,而且其功能必须具有相对独立性,这样才利于FPGA资源复用,还有利于优化关键路径。

3实验结果分析

AD采样数据经过FPGA处理后得到的基带IQ数据及其频谱,借助网口上传给上位机,通过PC显示处理结果,并对其进行频域分析。众所周知,ADC本身固有的量化误差和非线性引入的误差不可避免,而在中频采样系统中大多数采样为相干采样,导致上述误差呈现周期性,导致信号在数字化后叠加了信号的谐波分量。Dither信号的作用就是改变ADC模拟输入信号与采样频率之间的相关性,减小ADC量化误差、相关采样及DNL引入的谐波失真,从而提高ADC的SFDR[79]。鉴于此,不得不提AD9255的1个亮点――可选的片内抖动功能。图3为AD9255中Dither的结构图。通过拉高AD9255的管脚Dither,可以使能Dither,此时伪随机序列生成器(PN GEN)生成PN序列,然后通过DAC转换为Dither噪声,这个模拟信号与输入中频信号相加后由ADC进行量化,最后再从ADC所量化的码字中减去所加入的PN序列值。

由表1可见,加Dither时SFDR性能基本上高于不加Dither,但Dither技术并不能提高接近满量程的大信号输入的SFDR,例如-1 dBFS输入。对于小信号输入(低于-6 dBFS输入),Dither技术能有效提高SFDR,尤其在低于-22 dBFS时表现更为突出。出现这种现象,主要是因为大信号输入的SFDR被前端采样失真所限制。对于小信号输入,前端采样电路引起非常小的失真,因此SFDR很可能受到了微分非线性(DNL)误差所引起的寄生分量的限制。所以对于小信号输入,Dither技术可通过把该寄生分量转换为白噪声来有效提高SFDR。

4结语

本文提出的数据采集系统能够很好地实现AD9255的同步采样,并能够进行完整的数字下变频以及频谱建立操作。实验结果证明,AD9255是一款高速大动态范围的高性能ADC,其片内可选抖动功能在一定程度上能够提高SFDR,但是该可选抖动功能仅对小信号输入作用较为明显,而对大信号输入作用微弱。

参考文献:

[1]Analog Devices Inc. AD9255 data sheet [EB/OL]. (20101012)[20130118].http:///static/importedfiles/data_sheets/AD9255.pdf.

[2]程梦璋,景为平.新型流水线ADC的设计与分析[J].电子科技大学学报,2008,37(6):930933.

[3]朱晓华.超高速数据采集系统的设计与实现[J].电测与仪表,2002,39(444):4043.

[4]张庆民.高速中频采样和数字下变频的研究[D].合肥:中国科技大学,2000.

[5]杨小牛,楼才义.软件无线电原理与应用[M].北京:电子工业出版社,2001:100120.

[6]田耕,徐文波.Xilinx FPGA开发实用教程[M].北京:清华大学出版社,2008.

[7]张占鹏.Dither在ADC中的研究与应用[D].成都:电子科技大学,2010.

[8]郭志勇,李广军,李强.用于提高ADC性能的自适应Dither结构[J].电子科技大学学报,2011,40(3):375378.

[9]肖科.高速模数转换电路动态性能测试[D].西安:西安电子科技大学,2003.

作者简介:

王贵冬(1987),男,安徽安庆人,硕士研究生,研究方向为数字信号处理,Email:;冯晓东(1970),男,重庆人,硕士生导师,研究方向为射频技术及软件无线电。

上一篇:材料作文“我看财富”导与练 下一篇:现代汽车发动机电控燃油喷射技术的关键知识点