关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 实时高速高分辨率信号采集存储与回放系统

实时高速高分辨率信号采集存储与回放系统

作者:时间:2008-02-25来源:网络收藏
l 引言
随着信息科学的飞速发展,数据采集和技术已经是数字信号处理中非常重要的环节,它广泛应用于雷达、通信、遥测遥感、生物医疗、环境检测等领域。它已经成为人们获取不容易得到信号的重要手段,实现半实物仿真与算法分析,回放现场采集的真实信号,对系统性能进行研究,节省了大量的外场实验时间和科研经费。
但是当A/D分辨率与采样率提高时,数据传输率相应也变得越高,保持高速数据过程的可靠性、实时性将会成为一个比较棘手的问题。春秋视讯研发了实时高速与回访系统,最终实现了高速(80 MB/s)持续的数据连续采集存储与回放。系统主要性能指标如下:
●采样率:单通道40MS/s,双通道20MS/s,四通道10MS/s;
●分辨率:12 bit A/D,12 bit D/A;
●具有模拟,数字及软件等多种触发模式;
●外时钟,内时钟输入;
●D/A回放模拟信号。


2 系统结构设计

整个系统由计算机、采集卡、实时记录系统和连续采集存储回放软件四大部分组成(如图1所示)。实时记录系统由UltraSCSI-320实时记录控制器和UltraSCSI-320盘阵两大部分组成,可以根据用户不同的存储时间决定存储容量的大小。信号回放时,根据用户不同的要求可以任意选择回放数据的起始位置和结束位置。

一般IDE硬盘的数据传输率比较低,为了实现实时高速的数据存储,选用希捷转速为10 Krpm的SCSI硬盘;相应的SCSI硬盘控制器选用Adapetec公司的Ultra320-SCSI硬盘控制器,用以上硬件组建RAIDO磁盘阵列结构实现80 MB/s连续采集存储速度。
在要求高速、实时、连续采集和存储的情况下,一方面要求系统不间断的进行,同时还要进行数据的实时存储,否则将会丢失数据,造成数据不完整。我们在系统结构设计中中通过采集卡驱动提供的事件通知回调模式,完成数据采集和数据存储工作。采用双缓冲区模式,当采集到的数据写入第一缓冲区开始时,在事件回调函数中把第二缓冲区的数据存入SCSI硬盘;当数据写入第二缓冲区时,在事件回调函数中把第一缓冲区的数据存入SCSI硬盘,如此循环。另外通过实际实验测试Ultra320-SCSI硬盘控制器配合希捷公司出品的ST3146707LC SCSI硬盘组成的RAIDO磁盘阵列,持续写入速率能达到200MB/s。远大于80 MB/s的采集速率。因此当数据采集线程写满其中一个缓冲区之前,数据存储线程已经把另一个缓冲区里的数据存储入SC-SI硬盘。所以这种方法能保证数据的实时性、完整性和连续性。
在测试中发现:数据稳定传输的速率与缓冲区设置大小及SCSI磁盘的个数有密切关系。同时内存申请方式采用虚拟分配,使内存页面对齐,提高传输速率。

3 软件结构设计
3.1 软件功能模块设计
系统由采集卡控制模块、显示模块、连续采集控制模块以及回放控制模块组成,如图2所示。

CAcqCard类:实现对采集卡的控制。包括采集卡参数配置、单次采集、连续采集、连续存储、连续回放等功能。
CCurveShow类:实现信号的时域显示、幅度轴缩放、时间轴缩放、信号大小标定、信号色彩选择等。
CStreamDisk类:实现连续采集存储的参数设定。
CShowStream类:实现连续回放的参数设定。
3.2 控制界面
基于VC平台开发的高速存储具有良好的人机界面,易于用户操作,如图3所示。

3.3 软件核心模块设计原理
我们按照双缓冲区的原理,开发了基于PCI总线的驱动软件包及专门用于高速信号采集的API函数,实现对数据的实时、高速、连续的采集存储与回放。
双缓冲区模式在工程上称为“乒乓”缓冲区模式。工作原理是:在内存里开辟两块容量相等的缓冲区作为连续数据输入的缓冲区。开始采集时,信号采集卡首先将数据写入第一缓冲区中,当信号采集卡开始把数据写入第二缓冲区的同时,用户程序可以根据自身需要取出第一缓冲区中的数据做特定的处理。当第二缓冲区被写满后,信号采集卡回到第一缓冲区的起始处,以覆盖旧数据的方式,把新数据写入第一缓冲区中;与此同时用和程序取出第二缓冲区的数据。整个数据采集处理过程可以如此不断的循环进行下去。
双缓冲区模式的优点是,它可以使用较小容量的内存,不间断的缓冲几乎无限量的数据(输入与输出端需协同工作)。软件核心模块流程如图4所示。

3.4 软件核心模块代码
(1)连续采集控制部分


4 性能评估及未来展望
为了验证该系统的性能,我们对其所能达到的采集和存储速率及数据正确率进行了测试和分析。在测试中使用加拿大著名GAGE公司生产的CG4300高速信号产生卡设计特殊信号源(如图5所示)。同时设计了查看信号完整性的程序。

经过测试发现:当内存缓冲区设置合适的时候,可以稳定持续地以80 MB/s的速度连续采集存储;当缓冲区设置过小时,连续采集存储会发生中断。
由于数据采集和存储过程双向占用PCI总线带宽,在32位/33 MHz PCI总线上,实现了48 MB/s的连续采集存储回放速度;64位/66 MHz PCI总线带宽典型的输出数据吞吐量为528 MB/s,80 MB/s(100%正确率)的采集和存储速度相当于占用160MB的总线带宽,同时磁盘阵列写入速度稳定在200 MB/s,远高于数据采集的速度,因此在数据采集方面还有很大的提高空间,目前我们正在研究开发200 MB/s的高速信号连续采集存储与



评论


相关推荐

技术专区

关闭