一种高速数据采集系统的研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第31卷第5期 唐山师范学院学报 2009年9月 Vol. 31 No. 5 Journal of Tangshan Teachers College Sep. 2009
────────── 收稿日期:2008-12-12 作者简介:李洋(1982-),男,河北衡水人,唐山师范学院基础教育部教师。 -66-
一种高速数据采集系统的研究
李 洋,郭小松
(唐山师范学院 基础教育部,河北 唐山 063000)
摘 要:由于高速数据采集对信号完整性、信号干扰、高速布线及数据处理和高速实时存储要求极高,而其应用环境又往往非常复杂,所以在目前的实际应用中,很难实现一种既能进行长时间高速数据采集、又能进行大容量存储的数据采集系统。在此背景下,提出了一种高速数据采集及存储的解决方案,采用高速FPGA 加嵌入式微处理器作为中央处理器来进行高速数据传输和磁盘阵列数据存储,实现高速数据采集及大容量实时存储。
关键词:数据采集;模数转换;海量存储;RAID0 中图分类号: T N919.5
文献标识码:A
文章编号:1009-9115(2009)05-0066-03
Study of High-Speed Data Acquisition and Storage System
LI Yang, GUO Xiao-song
(Department of Foundation Education, Tangshan Teachers College, Tangshan Hebei 063000, China)
Abstract: Because of the extreme requirements of signal integrity, noise jamming, high-speed layout, high-speed real-time storage and the complex application environments, it is very difficult to realize a high-speed data acquisition system which is suitable for long-time data acquisition and mass storage. Against this background, a solution of high-speed data acquisition and storage system is introduced in this thesis, which is using of high-speed FPGA and embedded microprocessors as the central processing device for high-speed data transfer and data storage of redundant array of inexpensive disks , realized on-time data acquisition and mass storage.
Key words: data acquisition; A/D convert; mass storage; RAID
现代工业生产和科学研究对数据采集的要求日益提高,在雷达、声纳、软件无线电、瞬态信号测量等一些高速、高精度的测量中,需要进行高速数据采集。目前,数据采集系统在高速A/D 、D/A 器件发展的带动下,采集带宽在稳步提高,具有100MSPS 采集能力以上的高速数据采集系统产品己较成熟。然而国外厂商的高速采集系统往往都价格不菲,而且由于高速数据采集对信号完整性、信号干扰、高速布线及数据处理和高速实时存储要求极高,国内完全掌握这个技术的厂商并不多,所以在实际应用中,很难找到一种满足需要的高速采集系统。这种情况长期限制了高速数据采集技术在我国工业生产和科学研究中的应用。
在这样的背景下,本文提出一种高速数据采集与实时存储系统的解决方案,解决以往在高速技术、数据存储与传输技术等方面的几个技术难点,采用FPGA 作为核心器件,集成中央逻辑控制及硬盘接口,直接将高速数据存入有多块硬
盘组成的实时RAID 存储系统中,实现了高速采集和实时存储,并可脱机运行。这种方案成本低廉,能提高采集速度,增加系统可靠性,并大大提高可持续采集时间,具有较大的灵活性。
1 总体系统方案硬件设计
高速数据采集系统的主要目的是把采集到的模拟信号转化为数字信号,所以模拟信号进入数据采集系统的第一步就是通过AD 采集电路进行模数转换;采集到的数据为了以后研究调用,就需要存储到存储器中,所以系统的最后一步是使用高速海量存储器对数据进行存储;系统的启动、停止和数据传输的方式还需要使用中央逻辑控制电路,所以在AD 采集电路与高速海量存储器之间增加中央逻辑控制电路来作为AD 采集电路与高速海量存储器之间的桥梁;系统通过人机接口与PC 机连接,可以对数据采集系统进行调试,还方便调用存储数据进行研究测试,并实现
李 洋,等:一种高速数据采集系统的研究
-67-
系统的脱机运行。
通过上面介绍表明,制约高速数据采集系统性能的关键为高速ADC 技术和数据实时存储技术,其中AD 采集电路为高速ADC 技术部分,中央逻辑控制和高速海量存储器是数据存储技术部分。下面,我们分别讲述这两大技术部分在本系统中的总体设计实现。
2 高速AD 采集电路设计
高速AD 采集电路设计主要包括三个部分:模拟信号输入部分、模数转换电路部分和数字信号输出部分。
AD 转换器对输入的模拟信号有两点要求:一是输入信号的带宽要在AD 转换器允许输入的范围内。由于从外界采集来的模拟信号多种多样,其信号带宽范围很大,有些信号达不到AD 转换器输入带宽的要求,所以要在模拟信号进入AD 转换器之前对信号的带宽进行放大或衰减。二是输入信号必须为差分信号。但是外界输入的模拟信号为单端信号,所以要在信号进入AD 转换器之前对单端信号进行差分变换。根据以上两点要求,要在AD 转换电路之前增加一个差分放大电路。为了实现差分放大功能,并且引入尽量少的噪声信号,采用集成信号调理芯片是一个不错的选择。AD8131是AD 公司生产的低损耗高速差分放大器,该放大器具有较宽的模拟带宽(400MHz 、-3DB ),其固定增益为2。AD8131有其独特的内部反馈功能,可减少辐射电磁干扰和抑制谐波。
信号采集的核心是模数转换技术。模数转换(AD )是将模拟输入信号转换为N 位二进制数字输出信号的技术。模数转换包括采样、保持、量化和编码四个过程。常用的AD 转换器有积分型模数转换器、逐次逼近型模数转换器、闪烁型模数转换器、Σ-Δ型模数转换器和流水线模数转换器[1]。由于系统要求转换速率在200MSPS-300MSPS 之间且转换精度在8位-10位之间,积分型、逐次逼近型和Σ-Δ型在速度上达不到要求,流水线型由于其价格过高,所以在本次设计中选用闪烁型模数转换器。本次设计采用了ADI 公司生产的闪烁型AD9410转换器。它是单片、10位精度并且具有最大210MSPS 转换速率的高速模数转换器,其片内还集成了高性能的采样保持放大器和参考电压源,具有较低的功耗和较高的信噪比。
在高速数据采集系统中,若AD 转换器直接与中央处理器相接,则因高速AD 的转换速率较高,迫使中央处理器不断地读取转换结果,因而就占用了中央处理器大部分的IO 带宽,降低了中央处理器的工作效率。因此在AD 转换器与中央处理器之间连接大容量高速缓存来提高中央处理器工作效率。选用的ADC 芯片AD9410是同步并行数据接口,具有一个时钟信号和10位数据总线,数据在时钟上升沿送出,和FIFO 的时序匹配,所以非常适合和FIFO 连接。考虑到FIFO 实现上的方便性和高效性,我们决定采
用大容量FIFO 芯片IDT72V36110作为系统高速数据缓存。
不过AD9410是10位输出,IDT72V36110是36位总线,为了既保证总线吞吐率又不损失FIFO 容量,可以设置IDT72V36110总线自动匹配模式来解决这个问题。通过拉高或拉低IW 、OW 和BW 这三个输入引脚,来设置输入和输出总线的宽度。通过分别把这三位设置成“高 低 高”,将IDT72V36110配置成16位输入,32位输出。IDT72V36110会自动把两个16位数据合并成一个32位数据放在FIFO 中,而不损失另外16位容量。这种接法仅浪费少量FIFO 容量(4bit ),却保证了数据的最大吞吐率[2]。
另外,IDT72V36110的半满(HF#)、满(FF#)、空(EF#)、半空(HE#)等信号都连接到FPGA 上,FPGA 根据这些状态信号来判定IDT72V36110的状态,控制FPGA 内部控制时序。IDT72V36110的数据输出端也直接连到FPGA 上,由FPGA 直接读取FIFO 中的数据,读时钟RCLC 为80MHz 。在80MHz 的读时钟下,FIFO 的数据吞吐量为32×80MHz=2.56Gb/s ,即320Mb/s ,不但满足系统最大带宽要求,还减小了数据的传输时间。
3 高速实时存储技术设计
实时存储技术包括数据流的逻辑控制部分和数据存储部分。
为了控制高速数据流,需要一个微处理器和一块FPGA 作为核心控制模块。微处理器工作比较简单,数据流并不通过它传输,它仅仅是控制数据传输的开始和结束及数据的流向等,因此并不要求很强的处理能力。它与FPGA 可以采用主从方式,FPGA 作为一个外设挂在微处理器总线上。微处理器可以通过设置内部控制器的工作方式来控制数据传输与存储。
ARM 微处理器作为流行的嵌入式处理器,非常适合作为本系统的微处理器。ARM 微处理器芯片选用Phlilp 的ARM7芯片LPC2214,具有128kb 片上和Flash 片内RAM ,只需单芯片就可以工作,因此电路设计非常简单,还增强了系统可靠性。
FPGA 直接与FIFO 和硬盘阵列相连,
它起到数据到存储器的桥梁作用,因此数据吞吐能力必须非常强。此外,它还要负责IDE 硬盘的接口逻辑。因此FPGA 在系统中的重要性非常大。我们最后选用ALTERA 的Cyclone 系列EP1C6-Q240C6芯片,它具有低功耗,容量大,价格便宜的特点。12万门的容量足够构建复杂的控制逻辑,其内部还带有100kb 的内存块资源,可以用来设计内部高速FIFO 、双口RAM 等器件,可以简化设计及提高性能。
存储部分是依靠存储器介质来实现的,从存储容量、读写速度和单位成本等方面综合考虑,采用高速硬盘直接存储数据是很有优势的。为此,可以考虑利用多个IDE 硬盘组成磁盘阵列,采用类似RAID0模式的磁盘阵列组织方