基于PCI总线的高速数据采集板的设计

  • 格式:pdf
  • 大小:385.30 KB
  • 文档页数:5

第13卷,第3期 中国传媒大学学报自然科学版 Vol.13,No.32006年9月 JOURNALOFCOMMUNICATIONUNIVERSITYOFCHINASCIENCEANDTECHNOLOGY Sept.2006

基于PCI总线的高速数据采集板的设计

熊伟信,杨隆鑫

(中国传媒大学广播电视数字化工程中心,北京100024)

摘 要:本文介绍了一种基于PCI总线的高速数据采集系统,该系统基于PCI总线技术,充分利用SDRAM的海量存储能力和FPGA的编程灵活性的特点,实现了数据的高速采集、SDRAM的海量存储和PCI的桥接传输三者的结合。关键词:PCI;高速;FPGA;SDRAM;数据采集中图分类号:TN73 文献标识码:A 文章编号:1673-4793(2006)03-0077-05

HighSpeedDataAcquisitionSystemBasedonPCIBus

XIONGWei2xin,YANGLong2xin

(ECDAV,CommunicationUniversityofChina,Beijing100024,China)

Abstract:ThispaperintroducesahighspeeddataacquisitionsystembasedonPCIbus.Itisbasedon

thePCIbus;ittakestheadvantageofmassmemoryofSDRAMandflexibleprogrammingofFPGA.

Achievehighspeeddataacquisition,massmemoryofSDRAMandPCIbridgetransmission.

Keywords:PCI;highspeed;FPGA;SDRAM;dataacquisition

1 引言

现代工业生产和科学研究对数据采集的要求日

益提高,在瞬态信号测量、图像处理等一些高速、高

精度的测量中,需要进行高速数据采集。计算机技

术、DSP技术以及近几年兴起的软件无线电(Soft-

Radio)技术的日益成熟使得对这类信号作数字化处理成为可能。但是如何对前端的信号进行快速的模

数转化仍是个难题,为此,本文阐述了一套采样率为

100MSPS,分辨率为8位的双通道数据采集卡结构、性能及其实现。设计本数据卡的优点在于它的通用

性、适应面广泛,适应任何满足输入的模拟信号的

要求。2 数据采集卡整体结构

如图1所示,本采集卡以FPGA为中心,主要包

括信号耦合、A/D采集、SDRAM存储、PCI传输、

FPGA逻辑控制和电源管理等几个部分。信号耦合部分主要负责对刚进来的I、Q两路信号进行前期处

理;AD采集部分主要是对信号进行100MSPS的采

样;SDRAM主要负责数据的存储;PCI接口部分主要

负责将采集的数据通过PCI总线传输到PC机上去。

本卡的设计指标如下:采样速率:100MSPS通道数:双通道(可同步采集)

采样精度:8bit触发方式:边沿触发

收稿日期:2005-04-25作者简介:熊伟信(1980-),男(汉族),河北保定人,中国传媒大学硕士研究生.E-mail:xiongwx@gmail.com. 中国传媒大学学报自然科学版 第13卷

图1 数据采集卡整体结构框图

板上存储:128Mbit输入信号:±0.5V(模拟)

3 数据采集卡各硬件模块简介

以下按照卡上的I、Q两路信号经过各处理单元

的先后顺序逐一介绍。

3.1 输入信号耦合:

为了达到后面A/D的输入要求,需要对进来的

模拟信号进行耦合。AD9054的输入要求是差分输

入,我们设计的是AD9054的内部参考电压源(2.

5V)直接接到模拟输入的反向端,所以我们选用

AD9631作为前端的耦合芯片,此芯片能将进来的模拟信号进行直流电平移到2.5V,将输入信号的直

流电平钳位到AD9054输入电平的最佳范围,同时

还可以实现信号的阻抗匹配。AD9631芯片的核心

实质是一个集成运放,能实现双端信号输入到单端

信号输出。

3.2 A/D采集

本系统的要求达到100MSPS的采样速度,因为

数字AM广播的最大频率达到30MHz,根据奈奎斯

特准则,采样率要在60MHz以上。本卡的指标要达

到100MSPS的采样速度,为此我选用了美国Analog公司的AD9054ABST-135M(以下简称AD9054),

AD9054的内部结构原理框图如图2所示。

AD9054是由美国Analog

公司生产并与快闪技图2 AD9054的内部结构原理框图

术相结合生产出的高性能、低功耗的ADC芯片。其

内部包括基准源、跟踪保持放大器、定时器、编码逻

辑多路分配器等。同时AD9054在芯片内部集成了

采样/保持电路,可有效的降低孔径晃动(Aperture

Jitter)带来的误差,同时减少了外围电路设计,降低了系统功耗。AD9054的模拟信号为双端差分输

入,要求各端的输入幅度在1.8V~3.2V之间,差分

信号范围为±512mV。为简便起见,我们利用芯片

本身提供的精确的2.5V参考电平,直接将其接到

模拟输入的反向端,同时在输入模拟信号通道上也

加上这个电平,输入到模拟输入的正向端,将输入信

号调整到AD9054要求的电压范围。

3.3 SDRAM存储:

高速数据采集具有系统数据吞吐率高的特点,要求系统在短时间能够传输并存储结果。因此,采

集数据的快速存储能力和容量是制约加快系统速度

和容许采集时间的主要因素之一。通常用于数据采

集系统的存储器有先进先出存储器(FIFO)、双端口87第3期 熊伟信等:基于PCI总线的高速数据采集板的设计

RAM以及静态RAM等,但是容量小,已经不能满足高速数据采集系统的要求。目前市场上的SDRAM和DDRSDRAM具有工作频率高、容量大、功耗低的

特点,数据线位宽可达64bit,完全适用于高速采集

系统的要求。但是SDRAM控制相对复杂,而且需

要定时刷新,是系统设计的技术难点。为了满足存

储量的要求,板卡的存储量设计为128Mbit,考虑到

成本的要求,我们选用SDRAM作为我们的存储器。

在本采集卡的设计中,选用了SAMSUNG公司的

K4S281632d-TC75(最大允许时钟频率133MHz)。

3.4 PCI总线接口

本卡实现PCI接口采用的是PLX公司的专用

总线接口器件PCI9054。

PCI9054是美国PLX公司推出的一款低成本

PCI总线接口芯片,低功耗,PQFP172pins封装,它采用了先进的PLX数据管道结构技术,可以使局部

总线快速转换到PCI总线上。PCI9054还提供了一

个串行EEPROM配置接口,容量2K字节。在配置

存储器中存放了厂家标示、设备标示以及本地总线

的基地址空间、I/O空间、中断控制信号等信息。当

初始化时,系统自动将串行EEPROM中的配置参数

装入PCI配置寄存器,并根据本地总线对内存、I/O端口和中断的需求统一划分,自动配置。

PCI9054有3种工作方式,分别为C、M和J模式。M模式主要是针对Motorola公司高性能

MPC850/860的应用而设计的,主要应用在电信领域,J模式的接口设计相对比较麻烦,比较常用的是

C模式。

C模式下PCI9054分为PCIInitiator操作和PCI

Target操作。在PCIInitiator操作过程中,本地处理器或本地总线主控设备能够直接通过PCI9054访问

PCI总线,发起Local-to-PCI的数据传输。而在

PCITarget操作过程中,PCI总线主控设备可以以可编程的等待状态、总线宽度和突发传输功能访问

PCI9054的三个本地空间(空间0,空间1和扩充

ROM空间)。本卡工作在PCI9054的C模式下,PC端作为

PCI总线的主控设备,我们将本地空间0直接映射到本地端的FPGA里的DPRAM面,在EEPROM里

面可以设置里面的LAS0RR、LAS0BA,这两个寄存

器可以设置应设空间的位置和大小。本地时钟LCLK是由FPGA的IO端口直接提供的,FPGA直接向PCI9054提供33MHz的时钟(PCI9054最大可

支持到50MHz的时钟)。

4 数据采集卡的软件设计

SDRAM控制器的设计有多种方案,一种是采用专用SDRAM接口芯片,这种控制器接口固定,访问

容量有限,与A/D接口电路连接时,需要设计一个

接口转换电路,满足专用芯片的接口时序;另一种是

采用带有SDRAM接口的DSP,但是容量有限,不易

扩展,而这种方式要求对采集数据进行预处理;还有

一种基于FPGA的SDRAM控制器,目前FPGA的技

术比较成熟,编程方便,设计灵活,便于构造大容量

的SDRAM存储器,但是控制器需要根据系统技术

要求进行设计。

本设计采用基于FPGA的SDRAM控制器工作

原理如前面总图所示。从AD9054采集的数据先送

入FPGA内部生成的FIFO缓存器,由SDRAM控制

器读出并写入大容量SDRAM存储器。A/D转换结

束后,板卡修改状态标志位,SDRAM控制器修改工

作状态,把数据从SDRAM中取出,写入PCI9054在

LOCAL端映射的RAM当中去。其中,SDRAM控制器负责对SDRAM的定时刷新。SDRAM控制器根

据设计,可以对SDRAM执行多种命令。控制

SDRAM的基本操作包括:初始化、自动刷新、预充电、行激活、列激活、读写访问等。

基于FPGA的控制器的设计,在本卡中,选用的

是Altera公司的EP1C6Q240-C8,内部存储器容量

高达90kbit。FPGA内部集成SDRAM控制器、ADC接口、FIFO(16kbit)、DPRAM(32kbit)。其中FIFO作为AD9054的输出缓存器,DPRAM作为PCI9054在LOCAL端映射的存储器,SDRAM本来有多种命

令组合,在本卡的设计中,根据需求对SDRAM的控

制操作进行了简化,设计出了初始化(包括时钟稳

定期、8个刷新周期、模式设置)、自动刷新、块激活、

猝发读写、预充电、自动刷新等多种操作。

本控制器的设计完全采用Verilog语言,利用同

步状态机的设计进行编写。仿真结果表明通过该方

法设计实现的控制器可以在FPGA内部组成

SDRAM接口。其原理图如图3所示,共包含七个状态。其中Prechargeallbanks、Refresh和模式设置为97