基于FPGA及FLASH的数据采集存储系统设计

   2024-03-11 互联网660
核心提示:  0 引 言  数据采集存储是信号处理过程的一个重要环节,已经广泛应用于雷达、声纳、瞬态信号测试、无线探伤等领域。在不同

  0 引 言

  数据采集存储是信号处理过程的一个重要环节,已经广泛应用于雷达、声纳、瞬态信号测试、无线探伤等领域。在不同的条件下采样速率和采样精度也有所不同,系统的实现方法也各有差异。通常情况下,如果采集速率较低,采集和数据计算机读取可同时进行。但在高速采集或采集源移动的情况下,如空中飞行体或水下运动体,这时就需要系统有采集功能的同时应具有存储功能,存储数据可事后读取,黑匣子就属于这样的采集存储器。根据目前的发展趋势,开发体积小、功耗低和存储容量大的系统越来越受到重视。根据实际情况,我们研制开发了一种用蓄电池就可工作的、能在水下应用的、可回收的小体积低功耗的大容量存储器。

  本文就介绍了一种基于FPGA和FLASH的多通道大容量的采集存储器的设计与实现方法。

  1 系统背景及功能描述

  当船舶或潜艇在水中运动时,要对其运动时的变化参数信号进行瞬态采集记录,记录存储器要安装于运动的船体或艇体上的。要求采集存储时间不长,但它必须要满足体积小、功耗低和可重复擦写功能。

  此系统要求能对32路模拟信号同时采集存储,采样率是每路10KHZ,总采样数率320K,事后可对存储数据计算机读取分析。根据此种要求我们设计实现了多路采集存储器,此种存储其使用FPGA和FLASH存储器。满足体积小,功耗低的要求。用干电池供电就可工作。

  2 系统结构设计

  整个系统以FPGA为核心控制器来组织工作,它控制着整个系统的读、写、擦除等操作。系统主要解决的问题是采集、存储和数据事后读取。

  

  2.1 数据采集

  由于要同时对多路信号进行采集,我们采取了FPGA对模拟开关进行均等时间推进以实现通道的转换。当转换到某一通道时,FPGA同时要启动A/D进行模数转换。为了达到高精度采集的目的,可采用12位的AD转换器。为了达到通道转换、启动A/D和数据FIFO存储的时序合理统一,我们采用全体时钟,实现过程如下图所示。

  

  2.2 数据存储

  对数据的存储,我们采用闪存(FLASH Memory)作为存储器,它具有体积小、功耗低和数据不易丢失的特点。对FLASH的写操作过程有其固定的操作模式,如图3所示。由于FLASH是按页存储的,当一页写完之后要进行下一页的控制字和地址的重新写入,为了使采集回来的数据能及时准确的写入FLASH,而不至于在页与页的交替时间内使数据丢失,所以不可能将采集回的数据直接存入FLASH,我们利用FPGA内部提供的RAM来构成双端口RAM作为数据存储过程中的缓存,采集回来的数据先写入双端口RAM,然后再导入FLASH。过程是采回数据从A口写入双端口RAM。双端口RAM中的数据从B口读出,然后写入FLASH,在操作的过程中,要保证双端口RAM的B口地址推进要小于其A口的地址推进。因为在采集过程中使用了12的位的AD,加之FLASH存储器是8位的存储器,所以就使得每次采集的数据要分2次存储,我们采取的方式是高8位存储一次,低4位加补标志码的存储一次。

    2.3数据读取

  数据的读取有很多种方法,目前有串口、并口、USB口或PCI总线方式读取。我们这里采用并口读取方式。因为数据存储量大,我们采取了并口主动读取的方法,消除了并口从动读取速度慢的问题,采用EPP模式,读取数据速度能达到500K—2Mb/s的数据量。FPGA此时的工作是使读数和采集的控制线与数据线的隔离。

  

  表1并口寄存器定义

  

  图5 并口读数控制示意图

  这时并口可直接对FLASH的控制线和数据线进行操作。对FLASH的读数操作也有其固定的操作过程。FLASH数据的擦除是按块擦除的,所以它的特点是擦除速度快,一般在几秒钟内就完成了。当一次采集存储完毕后,数据就长久保持在FLASH内,不会丢失,若要从新采集存储,则必须要先进行FLASH擦除。

  

  

  3 相关问题

  3.1防止数据错位的解决办法

  在存储的过程中,多路信号是同时存储在FLASH里面的。当采集存储完毕后,我们要对数据进行事后处理,为了防止读取或存储数据错位现象,也是为了便于对错误的跟踪查找,最后使每路数据能完整的整合到一起。我们采取了相应的措施,在每个数据存储的过程中我们要给每路信号加上标志位,当多路信号采完一个周期后,存储一些标志位作为每帧数据的区分信号。这样即使某帧数据出了问题,也可以很容易的确定各路信号的数据,不会出现数据错位现象。

  3.2开关量输入信号闭合时信号抖动的解决

  在电路中,对FPGA有大量的开关行性操作,例如控制读、写和擦除的控制信号,还有FLASH反馈给FPGA的高频脉冲状态信号。在开关闭合的过程中,信号存在抖动现象,这时的信号是不稳定的,为了消除这种信号的不稳定性外界因素干扰的不良影响下,从而防止FPGA的误操作现象的发生,我们在FPGA内加了延时子程序,目的就是对这些敏感信号进行消陡延时预处理,避免误操作,使系统在更加可靠稳定的状态下工作。

  3.3 灌封技术

  因为采集存储器要在水下工作,所以要对其进行防水处理。经过多次灌封试验,采用石蜡和三防漆灌封取得了良好的效果。

  4 结论

  根据本文介绍的采集存储器应用于某系统测试中,经实验室和水下测试,系统工作正常,达到了设计的要求。


 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅