微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于可编程逻辑器件和A/D转换器的高速数据采集卡方案设计

基于可编程逻辑器件和A/D转换器的高速数据采集卡方案设计

时间:04-08 来源:互联网 点击:

 用于PC的采集系统以前大多有用ISA总线结构,这种结构的最大缺点是传输速率低,无法实现高速数据的实时传输。而PCI总线则以其卓越的性能受到了广泛的应用。32位PCI总线的最大传输数据速率可达132MB/s,64位PCI总线的最大传输速率可达528MB/s。实际上,采用高性能的总线已经成为高速采集技术发展的趋势。

利用FPGA(现场可编程门阵列)来连接高速A/D转换器和PC的PCI接口,可以充分利用可编程器件高速、灵活、易于升级、抗干扰性能的优点,并且可以大大缩短开发时间[1]。

1 CLC5958型A/D转换器

本数据采集系统中的A/D转换器采用美国国家半导体公司的CLC5958,该电路具有14位分辨率和52Mb/s的转换速度,而且动态输入频带宽,转换噪声低,非常适合于宽带、高频信号的采集。CLC5958集高保真采样保持器和14位多通道转换器于一体,其信号和时钟均采用差动输入方式,且内部集成有参考电压,可支持CMOS和TTL双重输出标准。采用0.8μmBiCMOS制作工艺。CLC5958的内部结构如图1所示。

CLC5958的基本特性如下:

●具有极宽的动态输入范围;

●奈奎斯特滤波器特性卓越;

●取样保持能力强;

●采用48引脚CSP封装;

●CMOS、TTL输出可选;

●取样速度可达52Ms/s,SFDR可达90dB,SNR可达70dB。

CLC5958可应用于GSM、WCDMA、DAMPS、精确天线系统等通讯领域。其工作时序如图2所示。但在具体应用时,应注意以下问题。

(1)由于AIN和AIN模拟量差分输入端可通过片内500Ω输入电阻器接入,且内置3.25V标准参考电压。为了减小非线性输入的偏置电流,其输入耦合网络应尽可能接近电路。

(2)ENCODE和ENCODE为时钟差分输入端,其参考电源为VCC,时钟输入可以为PECL电平,也可以为其他波形(如直流为1.2V峰值在VCC以下的正弦波)。输入时钟的噪声超低,转换时的SNR性能越高。但由于时钟输入采用非自偏置输入,所以每个输入信号必须指定“地”电平。

(3)该电路的噪声主要来自采样保持器的非线性特性和转换器,因此,通过变压器的磁耦合来传递输入信号可以有效减少低频噪声。输入时钟在电路内部被分频产生内部控制信号,但在分频过程中可能产生1/4倍和1/8倍的时钟噪声,这些噪声一般不大于-90dBFS。

(4)CLC5958的内部电源由V cc供给,但是输出信号电源由DVcc供给(3.3V到5V均可),使用时,每一个电源引脚都必须接入相应的电平,且最好并接0.01μF的去耦电容器。

(5)该电路在高速采样时性能最好,如果采样速率过低,内部采样保持电路将会产生较大误差。

根据以上注意事项,给出CLC5958在采样系统中的电路,如图3所示。

2 FPGA的内部设计

  由于CLC5958的转换速度高且控制操作简单,因此一般单片机因速度太低而很难控制该电路。如果采用高速DSP来控制,显然,对DSP超强的运算能力来说又是一种浪费。

现在市面上销售的各种PCI接口控制电路,如果AMCC公司的S5933及PLX的9080系列等,虽然可以实现完整的PCI主、从设备模式的接口功能,将复杂的PCI总线接口转化为相对简单的用户接口,但系统结构受接口电路的限制,不能灵活地设计目标系统,且成本较高。本文所设计的数据采集卡则不需要完整的PCI接口功能。

在高速数据采集方面,FPGA具有单片机和DSP无法比拟的优势,FPGA的时钟频率高,内部时延小,全部控制逻辑均可由硬件完成;而且速度快,效率高,组成形式灵活,并集成有外围控制、译码和接口电路。根据本数据采集系统的要求,FPGA分为以下几个模块:A/D控制模块:产生A/D时钟和控制信号用于控制CLC5958,读取A/D转换产生的数据并存储。双口RAM:作为缓存,一边存储A/D转换产生的数据,一边通过PCI向PC传输数据。双口RAM控制模块:产生存储和取数的读写信号和地址信号,控制双口RAM的正常工作。PCI接口控制模块:从双口RAM中读取数据,经过符合PCI协议的变换后,传送给PC。FPGA的内部结构如图4所示。

(1)A/D转换器控制模块

该模块首先从PCI总线控制模块接收采样速度控制字,然后根据控制字对FPGA时钟进行分频以得到用于CLC5958的时钟。同时可在A/D转换器中断输入线的每一个上升沿给双口RAM一个写入信号,并读取A/D转换器输出的数据。此外,还用于给双口RAM控制模块一个控制信号以使其输出的双口RAM地址控制字加1。 2)双口RAM

当写入控制信号到达时,根据当前写入地址控制字向相应单元写入数据输入总线上的内容,并在读出控制信号到达时,根据读出地址控制字从相应单元读出内容,送到数据输出总线。

(3)双RAM控制模块

当启动写入地址控制信号到达时,把当前的写入地址加1,加满之后清零并重新开

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top