1. 引言
目前,传统的数据采集系统的设计主流是基于美国国家仪器公司(National Instrument,简称NI)的数据采集卡和上位机的系统架构方式进行设计和基于下位单片机和上位机PC的系统架构方式进行设计 [1] 。本文针对市面上出售的数据采集卡内存有限不能进行大批量数据存储的问题,提出了以美国NI公司数据采集卡为基础,利用上位机Labview系统,使电脑的内存变成了数据采集存储系统的内存大大提高了存储空间,采用软件和硬件同步触发的方式可以完成对周期信号进行高速长时间的进行连续采样。该设计还会将采集到的数据以excel文件形式进行存储,为后续对该信号数据分析和处理提供了一个良好的数据采集和数据处理的平台 [2] 。本次设计是采用二次开发DLL实现在高采样率 [3] 。实验结果表明该系统具有设计简便、采样速度高,长时间连续进行采样等优点。利用Labview软件搭载的数据采集与存储系统能便于用户使用,给用户在对信号进行分析和处理带来了极大的便利。
2. 系统的程序设计
基于Labview的高速数据采集与存储系统采用Labview程序编程虚拟仪器由程序框图与程序框图相对应的前面板组成。
如图1所示是基于Labview的高速数据采集与存储系统框图。首先对仪器进行初始化,在Labview程序里设定好合适的采样率、采样通道端口 [4] 。通过设置上升沿触发为数据采集的默认触发方式和合适的采样时间来对信号数据进行采集 [5] 。每当该系统接收到上升沿脉冲时该系统就会对数据进行采集,根据设置的采样率参数和采样深度系统会对采集到的数据进行累加存储。当采样时间达到程序里设置的采集时间时,程序会自动判定为该次数据采集和存储完毕,并且对数据进行存储。采集周期结束后该系统的前面板的波形图表会对采集到的数据进行显示,即一个数据采样周期完成 [6] 。

Figure 1. The block diagram of high speed data acquisition and storage system
图1. 高速数据采集与存储的系统框图
如图2,Labview程序框图的含有数据存储模块,作用是将所采集到的数据以数组的形式存到指定路径的文件夹下的excel的文件里 [7] 。程序框图的中间部分是一个条件结构来判断是否采集到数据,若采集到数据则将数据存放在数组中 [8] 。条件结构下面的程序是将该系统采集到的数据转换成动态数据通过在设定好的时间内累加在前面板显示。该设计可以完成双通道信号数据采集和存储功能,程序框图设计里用的是通道1对数据进行采集和存储的,用户可以自己的选择用通道1还是通道2进行数据采集。程序框图的右边是开始、停止和设置采样率按钮。程序里设置的采样速率为每秒2000个点,用户可根据自己的要求设定好合适的采样速率 [9] 。如图3所示用户可以根据自己需要设置合适的采样率,最高采样率可以达到200 M/s能完成对数据进行高速采集的目标。

Figure 2. Data acquisition and storage of the Labview program
图2. 数据采集与存储的Labview程序

Figure 3. The selection of the sample rate in the front panel of the program design
图3. 程序框图前面板采样率的选择
3. 系统的验证
利用信号发生器和Matlab仿真软件可以对该高速数据采集与存储系统来进行本次设计的有效性验证。
3.1. 频率的验证
验证过程:首先我们可以用信号发生器产生一个频率1 MHZ,幅值为1的方波,系统的采样率为200 M/s。通过该高速数据采集与存储系统可以在前面板中看到现时采集到的波形和已经采集到的波形数据(如图4所示)。再通过Matlab软件可以还原采集到的波形数据(如图5所示)。
通过计算由于500 ms应的Nextkit采样率为200 M/s从图像上可以看出该信号一个周期是100个点,根据上式可以算出T = 200/(200M/s) = 1 s,f = 1/t = 1 M。根据图5,我们看出幅值为1伏左右,而且是上升沿触发该系统采集数据。接下来我们用信号发生器输入1 kHZ的信号,系统的采样率为100 k/s。
在前面板中同样看到现时采集到的波形和已经采集到的波形数据(如图6所示),1 ms/div对应的Nextkit采样率为100 k/s从(图7)中可以看出该信号一个周期是100个点,根据上式可以算出信号的周期T = 100/(100 k/s) = 0.001 s, f = 1/t = 1 k。通过上述验证能够证明该系统可以鉴别由信号源发出不同频率的波形数据。

Figure 4. The front panel of acquisition system
图4. 系统采样时的前面板

Figure 5. The reduction of 1 MHz and 1 V square wave signal
图5. Matlab对频率为1 M幅值为1 V的方波信号还原波形图

Figure 6. The front panel of acquisition system
图6. 系统采样时的前面板

Figure 7. The reduction of 1 Khz and 1 V square wave signal
图7. Matlab对频率为1 K幅值为1 V的方波信号还原的波形图
3.2. 幅值的验证
验证过程:用信号发生器产生一个频率1 KHZ,幅值为10的方波,系统上采样率1 ms/div对应的Nextkit采样率为100 k/s,从图像上可以看出该信号一个周期是100个点,幅值为10。同理,根据上式可以算出信号的周期T = 100/(100 k/s) = 0.001 s,f = 1/t = 1 k。
再利用频率验证过程中对输入1 KHZ幅值为1 V的方波的分析结果,可以验证该系统能够完成对该系统进行频率的验证。
3.3. 相位的验证
验证过程:用信号发生器产生一个频率1 KHZ,幅值为10的正弦波(如图8所示),系统上采样率1 ms/div对应的Nextkit采样率为100 k/s,从图像上可以看出该信号一个周期是100个点,幅值为1的正弦波(如图9所示)。同理,根据上式可以算出信号的周期T = 100/(100 k/s) = 0.001 s, f = 1/t = 1 k。
再利用频率验证过程中对输入1 KHZ幅值为1的方波(如图10所示)的分析结果,可以验证该系统能够完成对该系统进行相位的验证(如图11所示)。
验证结果汇总如表1。

Figure 8. The front panel of acquisition system
图8. 系统采样时的前面板

Figure 9. The reduction of 1 KHz and 10 V square wave signal
图9. Matlab对频率1 K幅值10 V方波信号的还原波形图

Figure 10. The front panel of acquisition system
图10. 系统采样时的前面板

Figure 11. The reduction of 1 K and 1 V sine wave signal
图11. Matlab对频率为1 K幅值为1 V的正弦信号的还原波形图

Table 1. Platform validation results
表1. 平台有效性的验证结果
4. 结语
本设计系统利用Labview开发平台和中科泛华测控的nextkit数据采集卡为基础进行二次开发了基于Labview的高速数据采集和存储系统,该系统完成了对检测信号数据的实时显示和存储功能。克服了传统的数据采集卡采样精度和速率不高、内存不足和无法进行长时间连续不间断的对信号源进行采样。
实验结果表明该系统最高采样率可以达到200 M/s,能够满足绝大多数用户对采样率的要求,而且该系统能够将数据以excel的形式保存数据,为后续对该信号进行数字信号处理的分析时提供了一个平台。
基金项目
基金项目国家自然科学基金项目(61462078);云南省教育厅科学研究基金项目(2012C098)。
NOTES
*通讯作者。