首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
模拟电路
» 基于FPGA高速大容量数据采集与存储系统
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于FPGA高速大容量数据采集与存储系统
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-12-24 11:19
|
只看该作者
基于FPGA高速大容量数据采集与存储系统
数据采集
,
实际应用
,
成本
,
工业
,
国防
大容量数据采集与存储系统在工业自动化生产、国防和军事监控及环境监测等方面被广泛应用。为了能够完整、准确地捕获到各种信号或者故障发生时的特征信号,需要对其进行状态监测,并且要求监测系统具备长时间连续采集和存储的功能。但是为了支持系统中大量高速数据的暂时存储,这就需要很大的中间缓存,而专用的高速FIFO芯片价格昂贵且容量受限,大大增加了商业成本,因此在实际应用中寻找可靠的、低成本的采集存储系统是很有必要的。为此本文提出利用FPGA作为桥梁,实现对SDRAM的控制,从而对采集的数据进行缓冲,然后存储到大容量的CF卡中,满足系统所要求的速度快、实时性高、成本低和容易扩展等要求;接着详细论述了系统各个功能电路的设计思路和具体实现过程。
1系统方案设计
数据采集和存储系统主要由三部分组成:A/D转换器、FPGA的数据双缓冲器和CF卡的存储。 1)A/D转换器的作用是将所要采集的模拟量转换成数字量,通过光耦隔离后,由FPGA接收、缓冲、存储至CF卡。高速A/D转换器采用的是采样率为250kS/s的16位A/D转换芯片ADS8515,它属于逐次逼近寄存器型(简称SAR型)A/D转换器,其内部通常具有采样保持器,转换速率快。 2)FPGA采用ALTERA公司CycloneⅡ系列的EP2C35F672I8N,静态功耗小于0.25W。采用+3.3V、+2.5V、+1.2V分别给不同区进行供电。灵活的I/O控制使得编程简化,电路设计方便。采用AS和JTAG配置模式,配置芯片是EPCS16SI8N,器件的时钟配置为50MHz。 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也被持续写入转换结果,避免两者的冲突。
2硬件设计
系统的硬件由模数转换电路、数据采集存储与传输控制电路、接口电路构成。
2.1模数转换电路设计
模数转换电路是整个系统的重要组成部分,它由差分放大适配电路、A/D转换器构成,如图1所示,其核心器件是A/D转换芯片ADS8515。
图1 信号适配和模数转换电路原理图
模拟输入信号经过由OPA2604和OP604构成的差分放大适配电路将信号适配到ADS8515的采集范围。ADS8515将模拟信号转换为数字信号。ADS8515的控制信号由FPGA提供,ADS8515在控制信号的作用下,以适当的时序完成转换工作。
2.2数据采集存储与传输控制电路设计
数据采集存储与传输控制电路的开发工作主要集中在FPGA上。FPGA负责在CF卡与A/D芯片之间的缓冲与控制,一边与A/D接口,另一边与CF卡接口,产生数据采集、A/D转换、FIFO所需的全部控制信号,实现对传输数据的缓存、读/写控制、时钟、输出使能以及对A/D的控制等功能。
2.2.1FPGA内部总体设计
FPGA设计内部结构简图如图2所示,由FIFO、CF卡控制状态机、ADC接口控制状态机三部分构成。 图中由左向右的宽箭头表示数据流,ADdata[15..0]是与A/D转换连接的数据总线,CFdata[15:0]是与CF卡连接的数据总线。单线箭头表示输入输出及FPGA内部各个模块间的控制信号线。从数据流向看,数据在ADC接口控制状态机的协调下通过ADC接口送入FIFO中,经过FIFO的缓冲后,在CF卡控制状态机的协调下,数据传输存储到CF卡;当CF卡存储满时,FPGA通过ADC状态机停止A/D的采集,并提示用户更换CF卡。
2.2.2数据双缓存器FIFO
由于与CF卡接口的数据传输方式是突发的数据块传送,每个数据块是用很高的速率传送到CF卡,这样就必须有缓存把A/D采集来的数据先缓存,然后发送到CF卡进行存储。然而FPGA内部的FIFO不足以支持系统中大量数据的暂时存储,这就要求很大的中间缓存。在本系统中利用FPGA对外部SDRAM的控制,以达到大量高速存取数据的功能。SDRAM选用MICRON公司的MT48LC4M32B2,存储容量为128MB,数据带宽为32位,内部由4个BANK组成,每个BANK有4096行和256列。
图2 数据采集与传输控制结构示意图
本文设计的FIFO系统由FPGA和SDRAM两部分组成。其中FPGA内部包含FIFO监控器、缓冲器、SDRAM控制器三个模块。FIFO监控器的作用是将SDRAM的状态转变成SDRAM控制器的读、写信号。若操作为向SDRAM写数据,则在SDRAM满时,FIFO监控器送出一个信号,以阻止写操作继续向SDRAM中写数据而造成溢出;若操作为向SDRAM读数据,则在缓冲器已空时,FIFO监控器送出一个信号,以阻止读操作继续从SDRAM中读数据而造成无效数据的读出。FIFO系统的模块结构如图3所示。
图3 FIFO模块结构示意图
2.3接口电路设计
2.3.1FPGA内ADC接口模块的设计
对A/D转换器的编程,主要是FPGA对ADS8515的控制信号进行写逻辑,其接口示意图如图4所示。
图4 A/D转换模块接口示意图
2.3.2FPGA内CF卡接口控制状态机的设计
CF卡有三种访问方式,分别为I/O模式、Memory模式和TrueIDE模式。本系统采用TrueIDE模式访问CF卡。需要在电源加电启动时将OE接地,见图5,让CF卡工作在TrueIDE模式。当CSEL输入信号接地时,CF卡工作方式为主模式;CSEL输入信号接高电平时,CF卡工作方式为从模式。本系统中将CF卡配置成从模式工作方式。当采用TrueIDE访问模式工作时,第3位到第10位地址线接地,WE信号接高电平。
图5 FPGA与CF卡接口示意图
3软件设计
CF卡的数据存储以扇区为基本单位。系统向CF卡写入一个扇区的数据,如图6所示。首先根据控制命令设定16位工作模式,设置将写入的扇区数目、相应地址和访问模式,然后发送写命令,等待CF卡准备就绪后,从数据缓冲区SDRAM写入CF卡中。
图6 向CF卡写数据流程图
4结束语
基于FPGA的高速大容量低成本数据采集系统以FPGA作为桥梁,控制片外高速SDRAM缓冲器,以CF卡作为大容量存储介质,既利用了FPGA的内部资源丰富和设计方便的优点,同时利用了CF卡容量大、体积小和价格低廉等优点,给出了高速大容量数据采集的方法,该方法已成功应用于实际系统中。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议