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

用于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,加满之后清零并重新开始,同时,当启动读出地址控制信号到达时,对当前读出地址加1,加满之后清零并重新开始。
(4)pci接口控制模块
pci总线接口控制模块中的信号按照功能可以分为系统信号、地址和数据信号、接口控制信号等。系统信号包括clk和rst两个信号,为系统提供时钟和复位。对地址和数据信号来说,在总线传输操作周期中,一个pci总线周期由一个地址段和紧随其后的一个或多个数据段组成,其中ad[30:0]是地址和数据复用总线,它可为pci接口电路提供地址和数据信号。复用引脚c/be[3:0]为pci接口电路提供总线命令和这节允许两组信号。
接口控制信号主要由frame、irdy、trdy和devsel等组成。其中frame信叫是总线周期构成信号,由当前总线中主要设备驱动,用以表明一个总线风吹草动期的开始和延续;irdy表明启动方准备好数据;trdy是目标设备就绪信号,在写操作中,trdy有效说明从设备已准备好接收数据,在读操作中,它说明ad[30:0]上已有有效数据;devsel为设备选择信号,当其有效时,说明驱动它的主设备已将其地址译码作为当前操作的目标设备,该信号作为输入信号时,devsel用来表示总线上已有目标设备被选中。
其他pci总线所需但本系统不用的信号则可用高阻态来代替。图5示出pci接口控制模块的内部结构。
pci总线上的基本传输机制是突发分组传输。一个突发分组由一个地址周期和一个(或多个)数据周期组成。pci支持存储空间和i/o的突发传输,所有的数据传输基本上都是由frame、irdy和trdy三条信号线控制的。
当数据有效时,数据资源需要无条件设置irdy信号(写操作为irdy,读操作为trdy)。接收方可在适当时间发出它的xrdy信号。frame信号有效后的第一个时钟上升沿是地址周期的开始,此时传送地址信息和总线命令。下一个时钟上升沿即是一个(或多个)数据周期的开始,每当irdy和trdy同时有效时,所对应的时钟上升沿,数据可以在主、从设备之间传送。在此期间,可由主设备或从设备分别利用irdy和trdy的无效而插入等待周期。pci总线的读写时序如图6所示。
本设计采用verilog语言来进行编程,在maxpluse ii仿真平台上进行仿真,采用的电中是altera公司的epm7160sqc160-6。pci接口控制部分的仿真结果如图7所示。
3 结束语
本文提出一种采用可编程逻辑器件和a/d转换器组成的高速数据采集卡的设计方案,该采集卡只用两块主体电路,因而结构简单,可以直接插入pc,适用于智能仪器和其他需要高速数据采集的场合。如果在该采集卡前置处理部分增加通道转换和可控放大部分,则该采集卡的功能将更加完美。

车联网产业进入爆发前的战略机遇期
比特币钱包有哪一些基础的知识需要了解
如何做好一款产品?八达马人脸识别考勤系统(产品篇)
硬科技 在战“疫”中异军突起的原因是什么
机器视觉设计开发的流程有哪些
采用可编程逻辑器件和A/D转换器的高速数据采集卡的设计方案
东软睿驰高性能行泊一体域控制器量产落地
基于ESP32制造有趣的超级马里奥主题时钟
MEMS高精密恒温晶振时钟出现 供应市场面临洗牌
5G时代下的CDN发展趋势如何
2020年我国移动互联网接入流量消费达到1656亿GB
为什么海事物联网的采用比较高
华为发布《自动驾驶网络解决方案白皮书》
安科瑞AM3SE-U微机保护装置
“智能电表和低压集抄全覆盖”宣传活动,智能电表小介绍
5G技术与机器人的迎合会带来什么
产业发展冰火两重天 本土机器人还有多少机会?
无人驾驶产业发展现状及影响
嵌入式软件工程师常用的
ADI LT8390 DC-DC控制器简介