多图) 基于FPGA高速大容量数据采集与存储系统
2018-06-23 12:57
来源:未知
点击数:            

  EDN China设计实例可编程器件FPGA 正文

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

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

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

  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也被持续写入转换结果,避免两者的冲突。

  编辑部(编辑计划)广告部发行部读者往来网站电子网站帮助EDNChinaedn-china

Copyright © 2012-2013 .All rights reserved.http://www.xsyeastinfectioncure.com 版权所有