基于FPGA的并行FLASH高速\大容量数据采集系统
来源:用户上传
作者: 吴瑞斌 唐维庄
摘 要:本文介绍了一个以FPGA为主控制器的多存储芯片数据采集板卡的设计。该卡通过一个符合ATA-6规范的IDE接口,使用PIO模式将数据采集板卡与上位机互联。通过FPGA控制一片高速AD进行数据采集,采集的数据通过4片电子盘并行存储,实现高速大容量数据采集。文章侧重于介绍用FPGA控制电子盘并行读写的方法。
关键词:FPGA 电子盘 并行存储 数据采集
中图分类号:TP274 文献标识码:A 文章编号:1672-3791(2011)09(a)-0010-01
数据采集系统的发展对于数据存取速度和存储容量提出了越来越高的要求。现有的单片数据采集系统的最高采样率,受限于存储器写入速度的限制;同时,单片存储芯片对于长时间的试验不能满足数据存储需求。基于以上两点考虑,我们开发了本文要介绍的以FPGA为主控制器的多存储芯片数据采集板卡。
1 系统概述
采集系统由AD变换模块、电子盘存储阵列、FPGA主控制器、DSP数据通信与接口单元及数据通信总线组成。该系统工作原理是:对板卡的操作命令通过IDE总线由上位计算机发送给DSP,经过DSP的解码,与FPGA主控制器建立通信,完成各种控制指令。本文重点放在FPGA并行读写多片存储器上面。
1.1 AD和数据通信与接口模块
本设计中高速AD采用单通道信号采集,目前的存储器阵列内设计了4片存储介质,按照每个介质2MB的写入速度,能支持前级8MB/s的数据,按照16bit采样字长,总采样率可达4MHz。
本设计中使用一块TMS320F2812的DSP数字信号处理芯片实现采集板卡与监控计算机接口和内部工作状态控制、工作参数向采集单元的转发。本设计中使用标准IDE接口通过ATA总线协议与监控计算机通信。IDE接口的数据传输采用PIO模式传输数据,数据的传输以数据块为单位,每传输完一个数据块后,硬盘都会产生一个中断请求,并向主机报告命令执行结果。
1.2 电子盘存储阵列
数据存储是数据采集中的一个关键部分,它必须满足存储容量和掉电能够保持数据双重功能。本设计中采用电子盘(工业级)存储器来实现大容量数据存储。与普通Flash存储器相比,它具有速度快、容量大的优点;与普通硬盘相比,它的工作环境温度宽、抗冲击振动能力强、体积小、安装形式多,更适合本测量系统。
通过FPGA的控制,一块采集卡上可以扩充4~8片电子盘,电子盘采用独立不关联的控制方式。这种并行存储提高了系统的总采集速率,消除了各个数据通道之间的干扰。
2 FPGA主控制器
FPGA主控制器是本采集卡的核心模块。本设计采用Altera公司CycloneII系列的EP2C35芯片。其外围有315个用户可用GPIO,内部52KBram可以被配置为单口RAM、双口RAM、FIFO、ROM等多种形式,在本应用中将其配置为双口RAM,作为AD采集的数据缓冲区。
FPGA主控制器主要完成以下功能。
(1)实现AD的采样控制与管理;
(2)实现与DSP芯片的接口管理;
(3)实现与多片电子盘并行读写操作。
为了更好的理解整个控制过程,下面以触发采集操作模式描述一下FPGA对电子盘的整个控制过程。首先,DSP根据上位机设定的参数对FPGA进行初始化设置, FPGA进入采集状态,之后FPGA内部的预采集缓冲区开始循环存储,并判断是否达到触发条件。如已满足触发条件,记下此时缓存的存储地址,并把从AD读来的数据转向电子盘的高速缓存存储,每片电子盘有独立的数据缓冲区,缓冲区满后自动存入电子盘,并清空缓冲区,多片电子盘循环存储,直到采集完成,进入空闲模式。整个数据存储过程的控制逻辑都由FPGA实现。数据采集卡的其它模式,如实时采集、事后数据传输等操作过程与触发采集类似。
3 结语
本文采用FPGA实现了多通道、并行操作电子盘的高速大容量数据采集卡。经测试,本采集卡在采用4片电子盘并行操作下,采样速率接近3MB/S,在今后的工作中,我们准备通过提高时钟频率,对程序进行优化,增加并行操作的电子盘数量等措施提高采集卡的采样速率。预计速度可以接近10~15MB/S左右。
参考文献
[1] Cyclone II Device handbook2007,Altera Corporation.
[2] Quartus II Handbook Version8.1,Altera Corporation.
[3] 基于FPGA的IDE硬盘接口卡的实现,来自网络.
[4] Friedhelm Schmidt[著],精英科技[译].SCSI总线和IDE接口:协议、应用和编程(第2版)[M].中国电力出版社,2001,3.
[5] MDR8.0移动数据采集器用户使用手册.702所航天数据技术有限公司.
转载注明来源:https://www.xzbu.com/8/view-51670.htm