基于FPGA的高速数据采集系统 (1) 下载本文

内容发布更新时间 : 2024/5/18 7:58:54星期一 下面是文章的全部内容请认真阅读。

中北大学2012届毕业设计说明书

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

宁用海,郭宗强,沈森,彭博

(电气信息工程学院,河南科技大学。洛阳,471003,中国)

摘要

为了实现高速数据采集存储系统的设计,该系统选用6通道,16位AD转换芯

片AD7656和可编程逻辑器件EP2S90F102.三星公司生产的K9W8G08U1M作为系统存储单元,FPGA控制FLASH和AD转换器的逻辑关系。数据采集过程的最后,存储的数据可以通过USB2.0接口传输到主机。因为电源的重要性,以下将给出电源控制器的设计方案。

1 绪论

高速,大容量数据采集存储系统被广泛应用于航空航天,军事,电信等领域,随着超高速和高容量的功能与技术的发展和应用对其需求的日益增长,高速、高容量已成为其发展方向。半导体器件已成为主要的存储介质。FLASH凭借其可靠性高,功耗低,寿命长,高容量和适应恶劣环境,抗震动,耐冲击,高低温性能优势的得到了迅速发展[1]。

2 设计思路

2.1 数据采集存储系统的基本原理图

首先,多通道传感器模拟信号输入转换成数字信号。然后,在控制模块的FPGA的控制下实现循环集合的逻辑时序。最后的数据传送到大容量存储模块,数据采集结束后,主机通过USB接口[2]读回数据。图1显示了该系统的原理图。

模数转换FPGAUSBFLASH数据存储 第 1 页 共 5 页

图1 原理图

中北大学2012届毕业设计说明书

2.2 芯片选型

1)ADC选型

更需系统需要选择AD7656,它拥有六路通道和16位采样精度。最高采样率可达250KHZ。当CONVST A,CONVST B,CONVST C引脚连在一起,六路通道可同时进行采样。

2)FLASH选型

存储器件选用三星生产的K9W8G08U1M芯片。该芯片的容量为4GB,它具有共16384个数据块,每个数据块包含64个页面。每一页的大小是4K+128(128字节的可用空间)。该芯片的接口速度是40MHZ。数据存储包含两个阶段的数据加载和页编程,数据加载时间很短,但页编程时间比数据加载时间长。主要原因是内存的速度有限。数据,地址和总线命令复用该芯片的8位I / O端口,根据命令和地址锁存信号,端口实现分时复用。读取或写入数据的芯片是基于页操作上,但在删除数据时,它使用作为一个单位块。÷

3)FPGA选型

为了满足高速存储控制的需求,FPGA采用Altera公司的StratixⅡ系列芯片EP2S90F1020。FPGA基于1.2V的SRAM芯片,它有72768自适应查找表和90960等价逻辑单元。其内部RAM的容量为4520448bit它有许多配置方式,且支持多种单端和差分I/ O标准。它还支持高速的网络和通信总线标准。拥有丰富的时钟资源。

4)USB芯片选型

USB芯片选用CYPRESS公司的EZ-USB FX2 CY7C68013,USB2.0收发器模块,SIE,增强型8051微控制器和可编程数据接口已集成在其内部。

3 FPGA控制模块设计

FPGA是整个系统的控制中心,控制数据采集系统,存储和随后的数据读回。因此,根据系统的要求,它实现控制数据采集模块,闪存模块,数据处理模块(集成FIFO)和USB接口模块。 3.1 数据采集模块设计

FPGA控制设备发送一个起始信号,将 CS,CONVST的和BUSY设置为有效状态,当BUSY为高,ADC开始采样,当采样信号到达,由于状态忙而变为低电平,然后

第 2 页 共 5 页

中北大学2012届毕业设计说明书

读出反过来通道数据。数据通过AD数据输出端口写入FPGA内部集成的FIFO中。图2显示了AD连接图 以及AD和FPGA时序模拟图。

图2 a)AD连接图 b) AD和FPGA时序模拟图

3.2 FLASH控制模块设计

为了适应高速数据存储,Flash使用四个并行数据位组成是32位宽的数据存储单元,从理论上说,这可以比存储速度快4倍。因为闪存的写操作是基于页面的方式,数据传输过程中,先写在FLASH页寄存器,然后芯片会自动传送整个页面的数据存储单元,整个过程存储分为两个阶段:数据加载和编程,加载阶段,需要很短的时间,

编程阶段是很长一段时间没有外部控制。因此,有可能改善存储速度与使用的管道,有八条线,当第一个存储单元数据加载到编程阶段完成,然后加载的第二个层次上的数据,反过来,直到第八级,级第八加载数据到编程时,已成为一年级,在下一个周期重新开始。总的存储模块有一个64GB的容量。图3显示为FLASH连接图和FPGA和Flash操作时序仿真。

图3 a)FLASH连接图和FPGA b)Flash操作时序仿真。

3.3 FPGA内部集成的FIFO

FIFO,即先入先出的数据缓冲区,数据输入的速度和输出数据速率时不匹配,FIFO可以缓冲的速度不匹配。采用先进先出的RAM从FPGA内部,这是收集的数据

第 3 页 共 5 页