解析PXIe总线在多通道高速数据采集流盘系统中的应用
1.引言
随着测控技术的发展及其应用范围的不断扩大,数据采集方法及存储技术在内容和形式上都发生了巨大的变化。在此过程中,多通道、高采样率以及大量数据实时存盘的测试需求对现有的测试系统提出了挑战,如何将测试过程中的大量数据进行有效的存储和分析,成为工程师们首先要考虑的问题。本文介绍了基于PXIe总线的数据采集卡和RAID0磁盘阵列的组合,并结合LabVIEW 2009作为开发平台,以柔性测试技术为指导,为读者提供了一个多通道、高采样率、大量数据实时存储的数据采集系统的解决方案。
2.现状
目前,多通道、高采样率的数据采集卡市场上普遍存在,这类采集卡会瞬间产生大量的试验数据,现阶段数据的存储介质以SATA接口硬盘为主,而SATA接口的硬盘又受到系统总线带宽的限制,如PCI总线为133MB/s,PCIe总线最高为4GB/s,PXIe总线最高为6GB/s。因此,若要构建一个具有可靠性、适应性、灵活性和拓展性的多通道、高采样率、数据实时存盘的系统,那么系统总线、数据传输方式、系统软件架构、硬件的技术指标则非常重要。
3.系统方案
为构建多通道、高采样率、数据实时存盘测试系统,我们的系统方案从软件和硬件两个方面分别阐述。
3.1 硬件系统
硬件平台以NI的PXI为基础。PXI平台比较成熟的多通道、高采样、大量数据存盘的方案是:PXIe数据采集卡+RAID磁盘阵列,此方案最高的数据吞吐量为:400-600MB/s,完全满足此类系统的构建,确保系统运行的可靠性。
3.2 软件系统
软件平台以NI的LabVIEW 20 DAQmx9.0为基础。LabVIEW 2009中提供了新一代数据存储格式TDMS 2.0,最高存储速度为400MB/s,以超强适应性来满足数据采集过程中瞬间产生的大量数据,确保系统大量数据实时存储的要求。
3.2.1 软件架构
软件架构的高效与否将直接影响到程序的执行效率,得益于多核处理器和LabVIEW的多线程运行机制,工程师可以利用不同的线程完成对输入信号的采集、处理、存储的功能,通过提高软件构架的灵活性来提高程序执行效率,使PXI系统发挥最大的性能。
3.2.2 数据存储类型
通常在采样率较小、数据量较小的情况下,可选择直接读取DBL数据。而当采样率较高、数据量较大时,可采用Raw 1D I16或者2D I16的格式读取测量数据。其中,1D I16占用内存最小,每个采样点占用2Byte内存,而每个DBL采样点要占用8Byte内存,因此在数据量较大时,采用I16格式可以显著减少内存和CPU占用率。两种格式各有所长,不同情况下均可以发挥优势,使系统具有超强适应性及灵活性。
3.2.3 数据传输机制
采用IRQ或DMA传输采集数据可以极大减少CPU的占用率,从而全面提高系统的性能。
3.2.4 数据存储方式
通常情况下,系统处理文件操作的API函数分配的缓冲区太小,在读取大文件时性能较低。依据灵活性原则,在编程过程中,可选用支持“禁用缓冲”模式的API函数,避免软件流盘速度上的瓶颈。
LabVIEW 2009中支持非缓冲格式流盘的函数有TDMS、二进制以及Win32 API函数,开启“禁用缓冲”可以显著提高流盘的速度。
在LabVIEW 2009和DAQmx 9.0平台下,可以利用DAQmx TDMS2.0集成流盘模块DAQmx Configure Logging(TDMS),
这个API函数效率更高且编程简单,占用系统资源较少,直接将原始数据的和通道的标定信息从板卡通过DMA方式传输至硬盘,最高速度可达1.2GB/s。在采集的过程中,若不需要读取通道的采样值,可将本模块的“操作”选为“记录”,这样,采样值将被直接存储为TDMS 2.0文件。如此灵活高效的存储方式,恰如其分地诠释了柔性测试技术所要求的灵活性。
4.工程案例
某测试系统可以对系统中的64路信号进行同步采样,最高可达到3.3MS/s采样率(所有通道)下的实时存盘,同时还可300KS/S(所有通道)进行实时数据显示、存盘。而PXI硬件系统选用NI的18槽3U PXIe-1075机箱,PXIe-8130控制器、PXIe-6124等,PXIe-6124每通道4MS/s同步采样速率、16位分辨率、1个独享模块至控制器间带宽的PXIe接口;数据存储设备选用NI-8262及HDD-8264 组成的RAID0磁盘阵列,最高数据吞吐量可达600MB/s左右。
同时,该系统为用户完善通道触发功能,包括:模拟触发、数字边沿触发、模拟参考触发等,以满足不同情况下的各种需求。此外,软件采用状态机框架结构和模块化的编程风格,便于软件功能的修订和管理,充分实现柔性测试技术所要求的灵活性与拓展性。
数据采集功能被封装为功能模块,通过DAQmx Configure Logging(TDMS) VI将测量数据实时保存至硬盘,减少了CPU及内存的使用率,提高了程序的执
PXIe总线高速数据采集流盘系 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)