基于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位加补标志码的存储一次。
相关文章
- 2023-03-21基于单总线温度传感器的多点测温系统设计
- 2024-03-08压力表校准中测量不确定度实例评定的探讨
- 2023-08-09微机控制电子万能试验机在《材料力学》开放性实验中的应用
- 2023-11-28轻薄型回收金属破碎试验机的设计研究
- 2024-11-21IC卡门禁系统中的无线通信加密技术
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。