碧波液压网 欢迎你,游客。 登录 注册

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

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。
液压导航网

  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位加补标志码的存储一次。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码: 看不清?点击更换

最新评论