基于PXI总线的多路数据采集系统设计_马志刚
基于PXI 总线的多路数据采集系统设计
马志刚
(山西农业大学信息科学与工程学院,山西太谷030801)
摘要:针对航天测试系统中提出的多通道数据采集要求,采用PXI 采集卡,设计了多路温度、液位、电压等信号的采集系统。使用VC++2008编写了采集控制程序,可以实时显示和处理多路测试数据。本系统已成功应用于某测试任务。
关键词:PXI 总线;数据采集;VC++2008;采集控制程序中图分类号:TN98
文献标识码:A
文章编号:1674-6236(2012)04-0057-03
Design of multi -channel data acquisition system based on PXI bus
MA Zhi -gang
(College of Information Science and Engineering ,Shanxi Agricultural University ,Taigu 030801,C
hina )
Abstract: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++2008is 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.Key words:PXI bus ;data acquisition ;VC++2008;acquisition and control programming
收稿日期:2011-12-13
稿件编号:201112074
基金项目:国家自然科学基金项目(51075375)
作者简介:马志刚(1982—),男,山西文水人,硕士,讲师。研究方向:电子信息科学与技术、目标识别等。
随着现代计算机技术和电子测试技术的飞速发展,对测试系统提出了越来越高的要求。20世纪末,NI 公司发布了
PXI 总线系统。PXI 总线除了具有PCI 总线的功能外,在仪器
仪表方面,还提供了触发、局部总线、系统时钟等机制以满足高性能仪器仪表应用的要求。PXI 总线满足VISA (Virtual
Instrument Software Architecture )体系,确保了对工业标准的
个人计算机的软件兼容。PXI 模块仪器系统以其卓越的性能和极低的价格,使越来越多的从事自动测试测量的工程技术人员开始关注其发展及应用[1-4]。
为满足某航天测试任务要求,本文采用凌华科技的PXI-
2206数据采集卡和PXI-2208数据采集卡,使用VC++2008
编写控制程序,实现了多路温度、液位、电压等信号的采集和实时显示。
1系统方案设计
模拟信号采集是将被测的模拟信号转换成计算机能处
理的数字信号的过程。选用模拟采集卡时,除了要了解板卡的核心器件(A/D 转换器)以外,还需了解板卡的其它相关部件和指标[5]。
1.1板卡选型依据及分析
对于模拟采集卡的选型,主要从以下4个方面进行考虑[6]:
1)信号幅值范围和分辨率春季运动会稿件
模拟采集卡的幅值范围和分辨率体现的是其能采集的模拟信号的电压范围和采集精度。对于某一特定的采集卡,其分辨率是一定的,因此幅值范围就决定了采集数据的精度。例如一块16位的采集卡,如果其采集范围越大,其一个量化单位所对应的值也就越大,精度越小;反正则精度越大。
2)最高采样率
模拟采集卡的最高采样率表示了它的最高采样速度,它限制了采集卡能处理的信号的最高频率(最高采样率的一半)。最高采样率表示的是单通道采样时能使用的最高采样频率,因此对于多通道采样来说,每通道能够达到的最高采样率是最高采样率与通道数的商[7]。
3)通道数
通道数是指采集卡能同时采集多少路信号。
4)信号输入方式
根据测量信号源类型的不同,其输入方式也不同,可分为3种:无参考地单端输入方式(NRSE ),有参考地单端输入方式(RSE )和差分输入方式(DIFF )。
1.2方案设计
根据某航天测试任务要求,本测试系统需要采集83路
信号,如表1所示。
鉴于本测试系统需要采集的信号路数较多,且各自要求的采样位数不尽相同,故选用了两块采集卡,分别是:PXI-
2208和PXI-2206。
PXI-2208采集卡可以同时采集96路单端模拟量信号,
朱迅癌症
采样位数为12位,因此69路温度信号可全部由PXI-2208
电子设计工程
Electronic Design Engineering
第20卷Vol.20第4期No.42012年2月Feb.2012
-57-
《电子设计工程》2012年第4期表1被测信号
Tab.1Measured signal
信号类型路数
输入
电压范围/V
输入
电压方式
采样位数
采样
频率/kHz
温度690~5单端121
开关量80~5差分161
液位20~5差分161
特殊电压40~5差分81
采集处理,它们共同采用一个温度信号地与采集系统相连。PXI-2206采集卡可以同时采集32路差分模拟量信号,采样位数为16位,因此8路开关量信号、2路液位信号和4路特殊电压信号可由PXI-2206采集处理。整个采集系统框图如图1所示。
2软件设计
文中介绍的数据采集系统,由于采用了凌华科技的两块多功能DAQ卡,因此在硬件系统设计上,只需将2块采集卡插入具有PXI插槽的工业控制计算机即可;而系统的大量工作需要软件配合来完成。
通过软件控制采集卡进行数据采集可以使用2种方法:1)利用DAQPilot工具;2)直接调用相关的API函数。
2.1使用DAQPilot工具控制采集卡
DAQPilot是一种驱动程序,它带有一个图形驱动接口,支持各种ADE,包括:VB、VC等编程语言。如图2所示,通过DAQPilot向导,可以方便的建立一个数据采集任务。其中包括:采集路数、电压幅度范围、采样频率等的设置。使用这种方法进行采集控制,除了需要设置采集参数外,更重要的在于对消息相应函数DataArrival的编程。另外,由于每块采集卡都要对应一个消息相应函数(DataArrival),这种方法一般只用于单卡应用的情况。
2.2使用API函数控制采集卡
由于文中设计的采集系统用到2块数据采集卡,如何实现2卡的同步采集是关键问题。由于2块模拟量采集卡的采样率相同(单路1kHz),若能保证同时刻启动采集,则2卡完成一次采集的时间应该是相同的。本文将两块卡的采集方式均设置为双缓冲模式,并在固定采样频率的条件下,只等待一块板卡(如PXI-2208)的半满消息,就可以把两块卡的数据都取出。
假定每隔100ms2块采集卡的缓冲区都达到半满,则PXI-2208的缓冲区应设置为69×2×100=13800字节;PXI-2206的缓冲区应设置为14×2×100=2800字节。
文中采用VC2008编制了上位机程序,其中的数据采集部分主要包括如图3所示的几个模块。
十二生肖歌词
以下是数据采集程序的关键代码:
//卡注册
card_2208=D2K_Register_Card(DAQ_2208,0);
card_2206=D2K_Register_Card(DAQ_2206,0);
//PXI-2208的参数设定
err=D2K_AI_CH_Config(card_2208,68,AD_B_10_V);
//设置为双缓冲模式
err=D2K_AI_AsyncDblBufferMode(card_2208,1);
err=D2K_AI_ContBufferSetup(card_2208,D2208_buf1,data_size1,&bufferID_2208);
err=D2K_AI_ContBufferSetup(card_2208,D2208_buf2,data_size1,&bufferID_2208);
//PXI-2206的参数设定
err=D2K_AI_CH_Config(card_2206,13,AD_B_10_V| AI_DIFF);
//设置为双缓冲模式
err=D2K_AI_AsyncDblBufferMode(card_2206,1);
err=D2K_AI_ContBufferSetup(card_2206,D2206_buf1,data_size2,&bufferID_2206);
err=D2K_AI_ContBufferSetup(card_2206,D2206_buf2,data_size2,&bufferID_2206);
//设定PXI-2208的半满消息回调函数
err=D2K_AI_EventCallBack(card_2208,1,DBEvent,(U32)AI_DBCallBack);
图3数据采集控制流程
Fig.3Multi-channel sampling and controlling process
图1多路采集系统框图
Fig.1Multi-channel sampling system diagram 图2DAQPilot工具Fig.2DAQPilot
tool -58-
err =D2K_AI_EventCallBack
(card_2208,1,DAQEnd ,
(U32)AI_CallBack );
//启动板卡采集err =D2K_AI_ContScanChannels (card_2208,68,bufferID_2208,2,ScanIntv_2208,SampIntv ,ASYNCH_OP );err
=D2K_AI_ContScanChannels
中国第二艘航母名字
(card_2206,
13,
bufferID_2206,2,ScanIntv_2206,SampIntv ,ASYNCH_OP );
3测试结果
采集系统上位机测试运行情况如图4所示。图中显示的
曲线是T05路温度信号在1min 内的温度变化情况,由于温度是缓变信号,在短时间内,曲线基本呈现直线形态。
图5(a )和5(b )分别是某温度测点在升温和降温时采集到的温度回放曲线,大约分别历时6分钟和175分钟。在描绘曲线时采用了1:1000降采样,即每秒描绘一个点,图中温
度使用开氏单位。
图5实测曲线
Fig.5Testing curves
事务所实习报告图4
采集系统上位机主界面
Fig.4
Sampling system PC software
interface
4结论
文中采用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.High -performance 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 high -speed data acquisition module based on PXI bus [J].Automatic Measurement and Control ,2007,26(1):72-73.
马志刚
基于PXI 总线的多路数据采集系统设计
-59-
>风云之玄武真经

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。