首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于FPGA高速大容量数据采集与存储系统

基于FPGA高速大容量数据采集与存储系统

关键字:数据采集   存储   FPGA   高速A/D  
大容量数据采集存储系统在工业自动化生产、国防和军事监控及环境监测等方面被广泛应用。为了能够完整、准确地捕获到各种信号或者故障发生时的特征信号,需要对其进行状态监测,并且要求监测系统具备长时间连续采集和存储的功能。但是为了支持系统中大量高速数据的暂时存储,这就需要很大的中间缓存,而专用的高速FIFO芯片价格昂贵且容量受限,大大增加了商业成本,因此在实际应用中寻找可靠的、低成本的采集存储系统是很有必要的。为此本文提出利用FPGA作为桥梁,实现对SDRAM的控制,从而对采集的数据进行缓冲,然后存储到大容量的CF卡中,满足系统所要求的速度快、实时性高、成本低和容易扩展等要求;接着详细论述了系统各个功能电路的设计思路和具体实现过程。
1系统方案设计

数据采集和存储系统主要由三部分组成:A/D转换器、FPGA的数据双缓冲器和CF卡的存储。

1)A/D转换器的作用是将所要采集的模拟量转换成数字量,通过光耦隔离后,由FPGA接收、缓冲、存储至CF卡。高速A/D转换器采用的是采样率为250kS/s的16位A/D转换芯片ADS8515,它属于逐次逼近寄存器型(简称SAR型)A/D转换器,其内部通常具有采样保持器,转换速率快。

2)FPGA采用ALTERA公司CycloneⅡ系列的EP2C35F672I8N,静态功耗小于0.25W。采用+3.3V、+2.5V、+1.2V分别给不同区进行供电。灵活的I/O控制使得编程简化,电路设计方便。采用AS和JTAG配置模式,配置芯片是EPCS16SI8N,器件的时钟配置为50MHz。

FPGA主要利用片外的SDRAM提供数据输出/输入的双缓冲作用,之所以选取SDRAM,主要是因为在各种随机存取器件中,SDRAM的容量较大,价格较低,且其数据突发传输模式能大大提高存取速度,能够满足应用的要求。

3)CF卡作用是将A/D采集到的数据进行存储,当数据容量存储满时,发送满信息,FPGA得到满信息后,停止对数据的采集并提示用户更换CF卡。

系统工作过程为:系统加电后,FPGA向A/D转换器发出相应控制信号,由于ADC采样率为250kS/s,为和CF卡存储速度相匹配,需要一个FIFO缓存系统。A/D转换器在FPGA的ADC接口控制电路控制下,把模拟信号转换成数字信号,并将采样数据存入FIFO缓存系统。同时FPGA查询CF卡是否有容量,如果CF卡未满,那么由FPGA的CF卡接口控制逻辑将采样结果从FIFO缓存送入CF卡中;当CF卡的容量达到一定程度后,FPGA发出满信息,向A/D状态机发送停止采集的命令,并提示用户已满,更换CF卡。

由于把FPGA设置为特定的自动模式,因此FPGA控制A/D采集以及把数据送往CF卡的所有操作不需要外部干预,从而保证足够的数据传输速率。采样过程中FPGA的CF卡接口控制逻辑依次取走FIFO中的批量数据,在进行CF卡的数据存储时A/D仍然持续转换,FIFO也被持续写入转换结果,避免两者的冲突。
返回列表