论文摘要:为解决不同性能指标数据采集系统开发时间较长的问题,提出了一种将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的数据由并口输出,FPGA内部ADC接口控制单元将接收到的12bit数据转换成16bit数据存入FPGA内FIFO中。
图2FPGA与ADS800的连接示意图
当更换不同的A/D转换芯片时,A/D转换芯片与FPGA的连接有所不同。但对于并行输出、流水线型的A/D转换芯片,只需模仿上述连接方式,对输出位数、控制时序以及FPGA时钟分频大小等做合适的修改即可。
(2)FPGA与USB接口模块
本设计中使用CYPRESS公司生产的EZ-USBFX2LP系列的CY7C68013芯片作为USB2.0协议的微控制器芯片。 1/4 1 2 3 4 下一页 尾页 |