基于USB-6281的高速数据采集系统的设计
扫描二维码
随时随地手机看文章
数据采集在现代工业生产及科学研究中的重要地位日益突出,在信号测量、图像处理、音频信号处理等测量中,都要求进行高速、高精度的数据采集。这就对数据采集系统的设计提出了2方面的要求:1)要求接口简单灵活且有较高的数据传输率;2)由于数据量通常较大,要求主机能够对数据做出快速反应,并及时进行分析和处理。常用的数据采集卡一般是PCI卡或是ISA卡,这些采集卡存在诸多缺点,比如安装不方便,传输速度慢,受计算机插槽数量、地址、中断等资源的限制,可扩展性差等。而通用串行总线(Universal Serial Bus,简称USB)具有高传输速度、易扩展、热插拔和即插即用等特点,很好地克服了数据采集卡的缺点,容易实现低成本、高可靠性、多点的数据采集。
USB-6281是National Instruments推出的一款USB高精度多功能M系列数据采集(DAQ)板卡,在高采样率下也能保持高精度。USB-6281是专为移动应用或空间上有限制的应用设计的,其即插即用的安装最大程度降低了配置和设置时间,同时它直接与螺丝端子相连,从而降低了成本并简化信号的连接。NI-DAQmx驱动程序和测量服务软件提供了简单易用的配置和编程界面,以USB-6281为硬件平台,借助其提供的USB接口和NI-DAQmx驱动软件,采用VC++高级语言编程,完成数据高速采集系统。
1 系统结构设计
1.1 USB-6281简介
USB-6281适用于地质监测、材料分析、环境感知、光学、光谱学、结构测量及气体探测,还包括医疗设备仪器,如心率监测等仪器测试等领域。其主要特性如下:1)包含18位A/D转换器,相比传统16位设备其分辨率提高4倍,同时还提供了增强型模拟输出通道,能够实现量程及偏移量可编程设定;2)集成了NI-PGIA 2自定义放大器和NI-MCal自校准来缩短校准时间,提高精度。板载的低通滤波器能够通过编程消除高频噪声,从而进一步提高测量精度。在±10 V范围内分辨力可达980 μV,在±100 mV范围内可达28 μV;3)NI信号读写实现USB上的双向高速数据流;4)具有16条单端或8条差分的模拟输入通道,2条模拟输出通道及24位数字I/O通道(DIO),提供高达625 kS/s的18位模拟输入(扫描时速度为500 kS/s)、速度为833 kS/s的16位模拟输出;5)包含NI-DAQmx驱动软件和NI LabVIEW SignalExpress LE。NI-DAQmx驱动具有节省开发时间的特点,能够实现LabVIEW图形化开发环境及基于文本语言(如ANSI C/C++、C#、Visual Basic.NET及Visual Basic 6.0)的代码生成,包含超过3 000种测量实例、仿真设备及接线图。
1.2 系统构成
基于USB-6281的高速数据采集系统结构如图1所示。
采用NI的USB-6281数据采集卡以400 kHz的采样频率对被测信号进行波形数据采集,然后对采集数据进行正弦波拟合,通过提取出正弦信号的幅度、频率等参数,计算出拟合正弦曲线。测量数据与拟合曲线模型对应点的偏差值作为相应点波形失真测量值,然后计算出测量序列的失真有效值,进而最终获得被测信号总失真度的测量值。
目前测量信号失真度的原理大致分为2类:基波剔除法和频谱分析法。本文采用频谱分析法,即通过计算出各次谐波的大小来计算失真度。测量方法采用数字化方法,先通过将信号数字化并送入计算机,再由计算机计算出失真度。失真度的计算方法采用快速傅里叶变换法(FFT),快速傅里叶变换比直接傅里叶变换(DFT)在计算量上要小得多。采用FFT对量化后的被测信号处理,获得基波和各次谐波的电压,从而计算出失真度。这种方法实现起来比较简单,而且通过一些补偿算法可以有效减少误差。
计算机通过高速数字采集卡采集被测信号,经A/D转换后读入计算机,由计算机对采集的信号进行FFT变换,形成被测信号的二维幅度一频率数组。计算机显示出信号的幅度一频率特性曲线,同时,对数组计算得到基波系数和各次谐波系数,最后,由基波和各次谐波系数计算出失真度。谐波失真是谐波分量的幅值和基波幅值的相对量,假如基波的幅值是A1,而二次谐波的幅值是A2,三次谐波的幅值是A3,N次谐波的幅值是AN,总谐波失真THD为
2 系统软件设计
利用NI-DAQmx驱动软件和VC++,设计本系统数据采集流程图如图2所示,并给出主要部分程序代码。
//设置波形发生任务
3 测试结果
实际应用中对正弦信号进行数据采集,对一个1 kHz的正弦波,用400 kHz的采样频率,采样点数为4 096、单通道情况下进行数据采集。图3是采集数据的图形显示,频率为0.976 kHz,说明本采样系统能够精确采样。
4 结束语
本系统采用NI的USB-6281作为高速数据采集系统的硬件平台,以NI-DAQmx驱动软件和VC++为编程语言,实现了高速数据采集。USB总线接口使用方便,热插拔,即插即用,节省系统资源,成本低,性能可靠,在高采样率下也能保持高精度。NI-DAQmx驱动程序和测量服务软件提供了简单易用的配置和编程界面,系统的扩展性和通用性好,应用面广,可实现对工业生产中诸如温度、压力等各种物理量的测量和显示。