预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于FPGA软核的高速数据采集系统设计-论文网论文摘要:为解决不同性能指标数据采集系统开发时间较长的问题,提出了一种将FPGA软核技术应用于高速数据采集系统设计的方法。本系统以Xilinx公司的现场可编程门阵列(FPGA)集成软核,使用VHDL语言对软核进行模块化设计。同时介绍了数据采集系统的硬件电路设计、USB固件程序设计、USB驱动程序设计以及LabVIEW上位机的设计。该数据采集系统结构可移植性强,有利于缩短新系统设计研发周期。论文关键词:软核,数据采集系统0引言数据采集在现代工业生产及科学研究中的重要地位日益突出,并且对实时采集、实时传输、实时处理的高速数据采集的要求也不断提高。此外,针对于不同的场合,数据采集系统的数据采样参数要求也不同。工业生产与科研领域中对数据采集研发提出了以下的要求:接口简单灵活且有较高的数据传输率;采集器体积小、抗干扰能力强、能够对数据做出快速的存储,并及时进行分析和处理;设计周期短,能快速适应市场需求。USB2.0以其即插即用、支持热插拔的灵活性,以及高达480Mbps的传输速率,成为了高速数据传输接口的首选。而现场可编程门阵列FPGA以其工作频率高、集成度高、稳定性良好、抗干扰能力强等优点,逐步成为各领域数据采集数字电路选择的趋势。FPGA集成软核有设计周期短,设计投入少等优越性,由于不涉及具体的物理实现,可以方便移植到各种FPGA硬件平台,极大提高了它的灵活性和适应性。1系统方案与结构数据采集系统性能指标修改主要集中在A/D转换模块与FPGA控制模块的修改上,在USB2.0接口的硬件、固件、驱动程序的设计以及PC机应用软件的设计基本没有变化。而A/D转换模块的修改可以通过A/D转换芯片的选择与输入信号调理电路设计更改得以解决。但是,更换不同的A/D转换芯片必然给A/D转换的启停控制、数字信号的缓存等方面带来较多的改动。FPGA软核的模块化设计可以极大地减少这方面的改动。本文A/D转换芯片以ADS800为例介绍系统的设计。图1为本系统的结构框图。模拟信号经过THS4504全差分放大器进行信号差分放大后,输入到ADS800进行A/D转换;为减少不同设计中FPGA软核改动的工作量,FPGA内部按功能设计三个软核,作为系统的控制单元。CY7C68013作为USB控制芯片设置为从属FIFO模式,负责数字信号在采集系统与PC机间的传输;用户通过LabVIEW设计的PC机应用软件,在驱动程序的驱动下与数据采集系统进行命令以及数据的传输,以便对数据采集系统采集到的数据进行实时的处理。图1数据采集系统结构框图2系统硬件设计2.1数模转换电路数据采集系统采样参数调整的本质在于数模转换电路的改变,设计者只需要更换不同的A/D转换芯片、重新设计其硬件电路即可达到目标。本系统中数模转换电路由信号调理电路与高速A/D转换器组成。信号调理电路负责对待测模拟信号进行差分放大,高速A/D转换器负责模拟信号到数字信号的转换。为了能精确检测微弱信号,数据采集系统ADC前加入全差分放大器THS4504。本系统采用ADS800作为A/D转换芯片。ADS800是TI公司生产的低功率高性能数模转换芯片。该芯片含12bit流水线型A/D转换内核,支持差分输入,最高转换速率高达40MHz,极好地了满足本系统采样频率的要求。2.2FPGA芯片外围电路本系统FPGA以Xilinx公司的XC3S200AN-4-FT256-C芯片为例。该芯片逻辑单元拥有20万门,内含16个18K-bit的块存储器(BlockRAM)与30K-bit分布存储器(DistributedRAM),最高工作频率达到326MHz,满足了本系统的时序需求。本系统中FPGA完成的功能分别由三个软核负责完成,其分为有三部分。一是作为FIFO缓存ADC的数据。FPGA将从ADC转换完成的12bit精度数据高4位填充0组成16bit数据,并将数据存储到FIFO中,并作为FIFO与USB芯片的数据传输缓存的通道。二是控制ADC的转换的数据采集。FPGA通过将自身时钟分频提供给ADS800采样时钟,同时控制数据采集的起始与暂停。三是控制CY7C68013芯片的SlaveFIFO写操作,控制片内FIFO的数据写入到CY7C68013的EP6当中。其中EP6为IN端点,负责接收FPGA的数据;而EP2设置为OUT端点,负责接收PC机的数据。(1)FPGA与A/D接口模块ADS800的控制信号由FPGA生成,ADS800的转换时钟设定为30MHZ,由FPGA的时钟分频获得。FPGA与ADS800的连接示意图如图2所示。本设计中FPGA通过控制(即ADC_OE)来控制ADS800转换数据输出的启停;ADS800的工作时钟30MHz由FPGA工作时钟60MHz经过二分频得到;ADS800的数据