|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
摘要:为了提高系统对数据的采集速率,提出了一种基于FPGA的高速数据采集系统。利用FPGA实现对12bit的A/D转换器ADC12D800的控制,使用A/D转换器的1.6Gsps双沿采样工作模式来完成对400MHz以下高频信号的数据采集。把采集到的数据传递给FPGA,FPGA通过设计数据存储方式使数据得已缓存,来降低高频数据传输速率,使数据能够经USB传至PC机来实现高频信号地实时采集与存储。实验结果表明本系统可以实时、高效地完成数据的采集与存储,并且可广泛应用到雷达、通信、电子对抗等领域。+ z" f6 b8 R# C, y
# I" A( g: V! @) ]& G6 e
1、引言* @$ D X% \+ a5 g
随着信息产业的高速发展,数字信号的获取与处理得到了越来越多的应用,而模拟信号频率的增加使得数字信号的实时获取存在一定的难度。1 j/ S. i' t( \! l- G- J! ?! D
本系统采用FPGA作为核心模块,通过时钟来控制高速、高精度AD采样芯片进行数据采集。在达到高速数据采集要求的同时降低传输速率,保证采集与处理的实时性,并在体积与速度方面灵活适用,使研发和制造的成本降低[1-3]。
/ v+ p; B4 B$ ^6 E2 T$ A+ l# F' u1 M2、系统总体设计
& |5 G7 e8 e: r3 r+ d; [信号采集系统总体由FPGA处理器作为核心模块,其通过时钟控制AD采集以及FIFO存储。高频的正弦信号经信号调理模块转换为差分信号,由FPGA内部时钟经锁相环芯片倍频后提供的差分时钟控制高速采样芯片ADC12D800[4]进行采样。采样数据在FPGA内部进行多级FIFO缓存存储并且降低数据的传输速率,最后经USB总线传送到PC机。其结构框图如图1所示: I! d' N! d) W. K' W: o, `
: V3 z6 A7 x! M5 A: \7 O" O1 M/ L
7 o; _9 f, b6 C+ V
3、硬件设计( x/ o2 H+ ]; i5 s
3.1信号调理模块! `$ x% L# k1 [
一般采集信号为单端高频信号,而ADC12D800要求差分模拟信号输入,所以要求在ADC的前端进行单端信号到差分信号的转换。TI公司的THS4509如图2,它是一个宽带、低噪声、低失真全差动放大器,电源电压在3V~5V之间,根据输入信号的幅度范围来设置其参数获得差分信号。4 J. a1 a+ a5 }, n1 O
9 U2 y' |1 }+ o3 h1 [; Z: d: f$ [- Y/ k6 i, r9 }5 _$ T
3.2 AD转换模8 b3 [2 H: D; D% i# M
ADC12D800 是TI公司的高速双通道模数转换芯片,其芯片框图如图3所示,拥有12位分辨率、单沿采样800Msps/双沿采样1.6Gsps、差分时钟与差分信号输入、1:2或1:4多路分配器LVDS输出等功能。; V2 ~+ H9 `1 T5 ~1 h
* U( {# w7 W, Y% m本系统利用该芯片的双沿1.6Gsps采样,1:4多路复用[5],由FPGA提供CLK+/CLK-差分时钟输入,采样时钟CLK在上升沿和下降沿同时对输入的模拟信号进行采样,采样点按照DQd、QId、DQ、DI四路的顺序依次载入,这样一个输出时钟周期内有四点的采样值。其时序如图4所示
& _' k3 ^) l# |' G+ p% m
% E0 G* X8 J9 ]5 F# F
$ }4 g: \- j" C% J: P2 i( X3.3 FPGA主控制器
2 h' b4 P' D. l6 o( H, ?本系统选用的是Xilinx Virtex-4芯片。Virtex系列芯片是Xilinx的高端产品,占据了FPGA供应商的主导地位,在电信基础设施、汽车工业、高端消费电子等方面有举足轻重的作用[6] 。其中Virtex-4系列内部集成了多种具有新功能的结构模块,以此来获取更大的吞吐量,更高的集成度和更低的功耗,从而在使整个FPGA的性能达到一个全新的水平。
/ }: @4 Y, r6 X9 I& t' k1 [5 x- DFPGA在本系统中的主要作用是:通过时钟控制锁相环芯片为采样芯片ADC12D800提供800MHz的差分时钟,经采样传输过来的多通道数据,经过FPGA内部多级不同位数的FIFO缓存,其中FIFO读写的时钟由FPGA内部时钟控制,实现数据的重新组合,并且快进慢出,完成高速率采样,低速率传输显示。其内部工作的结构框图如图5所示# V) v4 {, W& e" g: Z9 I
1 `( S, k$ q* M- @ADC12D800采样后输出四路DI、DId、DQ、DQd。每一路都是400MHz的12位差分数据,FPGA内部IBUFDS模块(IBUFDS原语的作用是将差分信号转换为标准的单端信号)可以对其进行转换,得到单端数据,再经双倍数据输入模块(IDDR)使每一路分裂为两路,这些数据经过位数扩展后,扩展成48位的数据送入位宽为48的FIFO中,48位FIFO的写数据时钟为400MHz,读数据时钟为200MHz,再以200MHz的速度写进96位宽的FIFO,以100MHz读取,从而降低数据的速率。
4 H9 A c. E& L4 l0 ?/ K8 o& ~& I: R2 W1 m, Z
3.4 传输总线" N) y4 y. n1 f+ c. p
PC机在对高速数据进行读取时,考虑到便携式设备对高速数据接收的问题,选择使用USB协议[7],系统选用CY7C68013A,是赛普拉斯公司推出的一款高集成、低功耗的USB2.0控制芯片。它不再受内部存储器对外部数据存储速度的影响,把USB端点FIFO与外部设备的FIFO融合在一起,实现了内外存储的“胶连接”[8~9]。 通过FPGA作为外设主控制器使数据实现实时传输并且更加高效。' K( |! t8 X1 O$ `
8 d5 R( W; Y$ f
, E: w) y, k6 ~/ t4 t( ` |
|