FPGA控制CLC5958型A/D转换器实现的高速PCI数据采集卡方案
概述:详细介绍CLC5958的内部结构和基本用法,提出一种基于FPGA和PCI总线的高速数据采集卡设计方案,并通过仿真验证了该方案的可行性。该采集卡的采集速度快,精度高,结构简单,扩展方便,抗干扰能力强,适宜和于高速智能仪器和其他数据采集场合。
随着信息技术的发展,基于微处理器的数字信号处理在测控、通讯、雷达等各个领域得到广泛的应用。被处理的模拟信号也在向高频、宽带方面发展,但这需要高速、高分辨率的数字采集卡以将模拟信号数字化。美国国家半导体公司新推出的系列高速、高分辨率模/数转换器(如CLC5958)就非常适用于需要高速、高分辨率的信号采集系统。
用于PC的采集系统以前大多有用ISA总线结构,这种结构的最大缺点是传输速率低,无法实现高速数据的实时传输。而PCI总线则以其卓越的性能受到了广泛的应用。32位PCI总线的最大传输数据速率可达132MB/s,64位PCI总线的最大传输速率可达528MB/s。实际上,采用高性能的总线已经成为高速采集技术发展的趋势。
利用FPGA(现场可编程门阵列)来连接高速A/D转换器和PC的PCI接口,可以充分利用可编程器件高速、灵活、易于升级、抗干扰性能的优点,并且可以大大缩短开发时间。
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所示。但在具体应用时,应注意以下问题。
图3
(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用来表示总线上已有目标设备被选中。
图6
其他PCI总线所需但本系统不用的信号则可用高阻态来代替。图5示出PCI接口控制模块的内部结构。
当数据有效时,数据资源需要无条件设置IRDY信号(写 *** 作为IRDY,读 *** 作为TRDY)。接收方可在适当时间发出它的xRDY信号。FRAME信号有效后的第一个时钟上升沿是地址周期的开始,此时传送地址信息和总线命令。下一个时钟上升沿即是一个(或多个)数据周期的开始,每当IRDY和TRDY同时有效时,所对应的时钟上升沿,数据可以在主、从设备之间传送。在此期间,可由主设备或从设备分别利用IRDY和TRDY的无效而插入等待周期。PCI总线的读写时序如图6所示。
本设计采用Verilog语言来进行编程,在MAXpluse II仿真平台上进行仿真,采用的电中是Altera公司的EPM7160SQC160-6。PCI接口控制部分的仿真结果如图7所示。
图7
3 结束语
本文提出一种采用可编程逻辑器件和A/D转换器组成的高速数据采集卡的设计方案,该采集卡只用两块主体电路,因而结构简单,可以直接插入PC,适用于智能仪器和其他需要高速数据采集的场合。如果在该采集卡前置处理部分增加通道转换和可控放大部分,则该采集卡的功能将更加完美
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)