马志刚
(山西农业大学 信息科学与工程学院,山西 太谷 030801)
基于PXI总线的多路数据采集系统设计
马志刚
(山西农业大学 信息科学与工程学院,山西 太谷 030801)
针对航天测试系统中提出的多通道数据采集要求,采用PXI采集卡,设计了多路温度、液位、电压等信号的采集系统。使用VC++2008编写了采集控制程序,可以实时显示和处理多路测试数据。本系统已成功应用于某测试任务。
PXI总线;数据采集;VC++2008;采集控制程序
随着现代计算机技术和电子测试技术的飞速发展,对测试系统提出了越来越高的要求。20世纪末,NI公司发布了PXI总线系统。PXI总线除了具有PCI总线的功能外,在仪器仪表方面,还提供了触发、局部总线、系统时钟等机制以满足高性能仪器仪表应用的要求。PXI总线满足VISA(Virtual Instrument Software Architecture)体系,确保了对工业标准的个人计算机的软件兼容。PXI模块仪器系统以其卓越的性能和极低的价格,使越来越多的从事自动测试测量的工程技术人员开始关注其发展及应用[1-4]。
为满足某航天测试任务要求,本文采用凌华科技的PXI-2206数据采集卡和PXI-2208数据采集卡,使用VC++2008编写控制程序,实现了多路温度、液位、电压等信号的采集和实时显示。
模拟信号采集是将被测的模拟信号转换成计算机能处理的数字信号的过程。选用模拟采集卡时,除了要了解板卡的核心器件(A/D转换器)以外,还需了解板卡的其它相关部件和指标[5]。
对于模拟采集卡的选型,主要从以下4个方面进行考虑[6]:1)信号幅值范围和分辨率
模拟采集卡的幅值范围和分辨率体现的是其能采集的模拟信号的电压范围和采集精度。对于某一特定的采集卡,其分辨率是一定的,因此幅值范围就决定了采集数据的精度。例如一块16位的采集卡,如果其采集范围越大,其一个量化单位所对应的值也就越大,精度越小;反正则精度越大。
2)最高采样率
模拟采集卡的最高采样率表示了它的最高采样速度,它限制了采集卡能处理的信号的最高频率 (最高采样率的一半)。最高采样率表示的是单通道采样时能使用的最高采样频率,因此对于多通道采样来说,每通道能够达到的最高采样率是最高采样率与通道数的商[7]。
3)通道数
通道数是指采集卡能同时采集多少路信号。
4)信号输入方式
根据测量信号源类型的不同,其输入方式也不同,可分为3种:无参考地单端输入方式(NRSE),有参考地单端输入方式(RSE)和差分输入方式(DIFF)。
根据某航天测试任务要求,本测试系统需要采集83路信号,如表1所示。
鉴于本测试系统需要采集的信号路数较多,且各自要求的采样位数不尽相同,故选用了两块采集卡,分别是:PXI-2208和 PXI-2206。
PXI-2208采集卡可以同时采集96路单端模拟量信号,采样位数为12位,因此69路温度信号可全部由PXI-2208采集处理,它们共同采用一个温度信号地与采集系统相连。PXI-2206采集卡可以同时采集32路差分模拟量信号,采样位数为16位,因此8路开关量信号、2路液位信号和4路特殊电压信号可由PXI-2206采集处理。整个采集系统框图如图1所示。
表1 被测信号Tab.1 Measured signal
图1 多路采集系统框图Fig.1 Multi-channel sampling system diagram
文中介绍的数据采集系统,由于采用了凌华科技的两块多功能DAQ卡,因此在硬件系统设计上,只需将2块采集卡插入具有PXI插槽的工业控制计算机即可;而系统的大量工作需要软件配合来完成。
通过软件控制采集卡进行数据采集可以使用2种方法:1)利用DAQPilot工具;2)直接调用相关的API函数。
DAQPilot是一种驱动程序,它带有一个图形驱动接口,支持各种ADE,包括:VB、VC等编程语言。如图2所示,通过DAQPilot向导,可以方便的建立一个数据采集任务。其中包括:采集路数、电压幅度范围、采样频率等的设置。使用这种方法进行采集控制,除了需要设置采集参数外,更重要的在于对消息相应函数DataArrival的编程。另外,由于每块采集卡都要对应一个消息相应函数(DataArrival),这种方法一般只用于单卡应用的情况。
由于文中设计的采集系统用到2块数据采集卡,如何实现2卡的同步采集是关键问题。由于2块模拟量采集卡的采样率相同(单路1 kHz),若能保证同时刻启动采集,则2卡完成一次采集的时间应该是相同的。本文将两块卡的采集方式均设置为双缓冲模式,并在固定采样频率的条件下,只等待一块板卡(如PXI-2208)的半满消息,就可以把两块卡的数据都取出。
图2 DAQPilot工具Fig.2 DAQPilot tool
假定每隔100 ms 2块采集卡的缓冲区都达到半满,则PXI-2208的缓冲区应设置为 69×2×100=13800字节;PXI-2206的缓冲区应设置为14×2×100=2 800字节。
文中采用VC2008编制了上位机程序,其中的数据采集部分主要包括如图3所示的几个模块。
图3 数据采集控制流程Fig.3 Multi-channel sampling and controlling process
以下是数据采集程序的关键代码:
采集系统上位机测试运行情况如图4所示。图中显示的曲线是T05路温度信号在1 min内的温度变化情况,由于温度是缓变信号,在短时间内,曲线基本呈现直线形态。
图5(a)和 5(b)分别是某温度测点在升温和降温时采集到的温度回放曲线,大约分别历时6分钟和175分钟。在描
绘曲线时采用了1:1000降采样,即每秒描绘一个点,图中温度使用开氏单位。
图4 采集系统上位机主界面Fig.4 Sampling system PC software interface
图5 实测曲线Fig.5 Testing curves
文中采用PXI总线采集卡设计了多路信号采集系统,信号主要包括69路温度信号、8路开关量信号、2路液位信号、4路电压信号,共计83路。在设计采集电路的基础上,利用VC++2008编写了两块采集卡(PXI-2206和PXI-2208)的采集控制程序。经过试验验证,该系统可以满足要求,也可以经过简单改造应用于其它测试系统。
[1]王朋,李智.基于PXI总线的数据采集系统设计[J].研究与开发,2007,26(4):44-45.
WANG Peng,LI Zhi.Design of data acquisition system based on PXI bus[J].Research and Development,2007,26(4):44-45.
[2]王瑞.基于虚拟仪器测试平台的设计与开发 [D].太原:中北大学,2010.
[3]王立红,刘建立,周丽芹.多通道总线数据采集系统设计[J].理论与研究,2004,11:23-25.
WANG Li-hong,LIU Jian-li.Design of multi-channel bus data acquisition system[J].Theory and Research,2004,11:23-25.
[4]高丽珍,王敦庆,张晓明.多通道高速数据采集板的设计[J].山西电子技术,2007(6):40-42.
GAO Li-zhen,WANG Dun-qing,ZHANG Xiao-min.The design of Multi-Module High-Speed data acquisition board[J].Shaxi Electronic Techonlogy,2007(6):40-42.
[5]赵美蓉,张娅琳,林玉池,等.基于PXI的CT数据采集测试系统[J].计算机测量与控制,2007,15(11):1461-1464.
ZHAO Mei-rong,ZHANG Ya-lin,LIN Yu-chi,et al.CT ADS measurement system base onPSI[J].Computer Measurement&Control,2007,15(11):1461-1464.
[6]张景丽,程红,柏建国,等.基于PXI的高性能数据采集系统的实现[J].计算机测量与控制,2004,12(9):885-887.
ZHANG Jing-li,CHENG Hong,BAI Jian-guo,et al.Highperformance data acquisition system implementation based on PXI[J].Computer Measurement&Control,2004,12(9):885-887.
[7]梁祥,封吉平,安学军,等.基于PXI总线的高速数据采集模块设计[J].兵工自动化,2007,26(1):72-73.
LIANG Xiang,FENG Ji-ping,AN Xue-jun.Design of highspeed dataacquisition module based on PXIbus[J].Automatic Measurement and Control,2007,26(1):72-73.
Design of multi-channel data acquisition system based on PXI bus
MA Zhi-gang
(College of Information Science and Engineering,Shanxi Agricultural University,Taigu030801,China)
In order to satisfy the multi-channel testing space requirement, multi-channel(temperature, liquid level, voltage, etc)testing system is designed based on PXI Bus.VC++2008 is adopted for acquisition and control programming,and the testing data can be real-time displayed in the interface.This system has already been successfully implemented in a testing task.
PXI bus; data acquisition; VC++2008; acquisition and control programming
TN98
A
1674-6236(2012)04-0057-03
2011-12-13 稿件编号:201112074
国家自然科学基金项目(51075375)
马志刚(1982—),男,山西文水人,硕士,讲师。研究方向:电子信息科学与技术、目标识别等。