APP下载

基于PC/104的陀螺仪动态测试系统设计

2010-06-22夏露露许化龙田鹏飞

现代电子技术 2009年22期
关键词:采集卡陀螺仪调用

夏露露 许化龙 田鹏飞

摘 要:陀螺仪是惯性平台上的重要组件,其动态特性直接影响到平台运行时的性能,需要对陀螺仪的动态性能进行测试。在此采用PC/104总线组建了高可靠、高精度的陀螺动态测试系统。针对DMM[CD*2]32[CD*2]AT为非NI数据采集卡,采用CLF节点调用动态链接库的方法,实现了对数据采集卡的驱动;通过虚拟仪器技术和LabVIEW编程,实现了对测试数据的采集和处理。该系统与传统测试设备相比,效率更高,可靠性更好,结果更准确。

关键词:PC/104总线;陀螺仪;动态测试;LabVIEW

中图分类号:TP206.1

0 引 言

陀螺仪是平台稳定系统的敏感测量元件,它敏感台体的角运动信号,通过平台伺服回路,建立平台的稳定基准。因此陀螺仪的性能直接影响到平台稳定系统的性能,对严格测试其动态性能指标具有重要的意义。

传统的测试设备和手段复杂且效率低,为了便于对陀螺仪进行机内测试,改善测量效果,运用当今主要工业控制计算机技术——嵌入式PC/104总线结构来搭建测试系统,其独特的堆栈总线扩展方式,可使其具有体积小、功耗低、可靠性高等特点;其次,利用美国NI公司开发的虚拟仪器LabVIEW,为开发平台设计软件,使其人机界面友好、功能强大、开发效率高、可维护性强,且测试精度和可靠性能得到充分保证。

1 测试系统硬件组成

该测试系统由PC/104工控计算机、DMM[CD*2]32[CD*2]AT多功能数据采集卡、信号调理模块组成。其测试系统组成框图如图1所示。

(1)PC/104 工控计算机。采用DIGITAL[CD*2]LOGIC AG公司的MSMP3SEV,它是一个基于PC/104(ISA总线)和PC104/Plus (PCI总线)的高可靠ALL[CD*2]IN[CD*2]ONE CPU模块,主板主要集成了最大256 MB内存、256 KB二级高速缓存、2个RS 232C串口、1个LPTl并口、EIED硬盘接口、标准软盘接口、CRT显示器接口、平板显示器接口、鼠标接口、1个USB接口、看门狗计数/定时电路等。

[JP2](2)DMM[CD*2]32[CD*2]AT多功能数据采集卡。4路12位狣/A模拟输出,16位差分或32位单端16位模拟输入,24路数字I/O端口,最高采样速率[3]为200 Mb/s。该多功能采集卡主要用于激励信号的产生,测试信[LM]号的采集以及控制信号的产生。

(3) 信号调理模块。主要是将计算机给定的电压控制信号变换为电压或电流信号,对动态测试的激励信号进行整形、放大、滤波,以及对测试信号进行滤波,再由数据采集卡进行采集和处理。

系统的工作原理为:由PC/104控制,通过DMM[CD*2]32[CD*2]AT的D/A端口产生测试信号,经过调理,对陀螺仪力矩器施加指令电流信号,以模拟陀螺仪输入轴的角运动,使力矩器产生一个力矩,引起陀螺仪自转轴发生偏转。这时信号器输出一个电压,经放大器后转换成┮桓霆电流输入到力矩器,使力矩器内原来外加电流减小到零,使转子自转轴处于平衡状态。通过信号调理模块对信号器上的电压进行变换,由A/D采样模块进行采样,输入到PC/104工控机,系统再对采集数据进行处理、判断和显示。这整个过程是由程序控制自动完成的。

2 软件设计

陀螺仪的动态测试软件采用LabVIEW软件进行设计, LabVIEW不仅是软件开发环境,而且是一个编程软件,它是一种适合应用于任何编程任务,具有扩展函数库的通用编程语言[4]。它定义了数据模型、结构类型和模块调用语法规则等编程语言的基本要素,在功能完整性和应用灵活性上不亚于任何高级语言。LabVIEW提供了丰富的数据采集、分析和存储库函数以及包括DAQ,GPIB,PXI,VXI,RS 232在内的各种仪器通信总线标准的所有功能函数。但是LabVIEW所提供的功能仅能驱动NI公司支持的数据采集卡,DMM[CD*2]32[CD*2]AT是第三方数据采集模块,它需要用户自己设计开发驱动程序[5]。

[BT3]2.1 DMM[CD*2]32[CD*2]AT驱动程序的实现

LabVIEW提供了对外部代码调用的接口库函数。其中,调用库函数(Call Library Function,CLF)节点使得用户可以方便地调用标准共享库和自定义库函数[6]。在此,设计的数据采集系统就是通过LabVIEW提供的。CLF实现对动态连接库(Dynamic Link ㎜ibrary,狣LL)调用的方法,完成对第三方数据采集模块的驱动,实现LabVIEW与普通数据采集模块的结合[7]。

使用VC++生成一个dmm32driver.dll的动态链接库,通过CLF节点对其调用,以实现该数据采集卡的驱动[8],该程序实现的主要源代码为:

需要注意的是,在头文件中加入extcode.h,以便在DLL程序中使用LabVIEW中的数据类型,避免在传递参数和返回值时冲突。其次,需要在导出的函数原型前添加_declspec(dllexport)关键字,指出函数的出口。由此,可从一个动态链接库文件中输出数据、函数、类以及类成员函数而不需要.def文件[9]。

[BT3]2.2 数据采集流程

该测试系统采用如图2所示的单线程循环软件架构。采用单线程结构可以保证每个任务在一次数据采集循环中都能得到有效执行,既能满足数据的实时采集,又能保证数据的完整存储,增强了测试的可靠性。与此同时,采用单线程结构也简化了流程控制,避免了多线程结构中各个任务之间的调度与控制的复杂问题。

[BT3]2.3 系统程序设计

虚拟测试系统的主要功能是实时接收数据采集卡采集的数据,进行数据处理(如滤波,FFT变换等)、数据存储和数据实时显示[10]。操作者根据数据判断测试指标是否合格。

程序设计的数据采集过程为:在开始数据采集后,DAQ卡不断地采集数据,并将它们存贮在指定的缓冲区中;然后LabVIEW每隔一段时间,将一批数据送入计算机进行处理。如果缓冲区存放已满,DAQ卡就会又重新从内存起始地址写入新数据,覆盖原来的数据。这个过程一直持续,直到采集到了指定数目的数据点,或者中止采集过程。程序方框图如图3所示。在对陀螺输出信号进行测量时,采用了多次采样取平均值的方法,以减小误差。

3 结 语

在此,提出一种基于PC/104的陀螺仪动态测试系统,并分析该测控系统的软/硬件基本构成。在系统组建过程中,由于利用了可靠的PC/104工控机和数据采集卡,以及高性能的虚拟仪器编程软件,使得系统组建效率高,性能可靠,而且可以方便地对测试结果进行判断,简单易用。

参 考 文 献

[1]何洪文,胡昌华,吕瑛洁,等,基于VXI总线的陀螺仪动态测试技术研究[J].电子测量与仪器学报,2004(增刊):280[CD*2]284.

[2]PC/104 Embedded Consortium,PC/104 Specification Version2.5 [EB/OL].http://www.pc104.org,2003.

[3]DIAMOND[CD*2]MM[CD*2]32[CD*2]AT 16[CD*2]Bit Analog I/O PC/104 Module with Auto[CD*2]calibration User Manual V2.64 [Z].

[4]候国屏.LabVIEW7.1编程与虚拟仪器设计[M].北京:清华大学出版社,2005.

[5]谭营,许化龙,吴琳.基于PC/104的数据采集系统设计[J].微计算机信息,2007,23(2):78[CD*2]79.

[6]戴新.数据采集卡在LabVIEW中的驱动方法[J].计算机应用与软件,2008,25(3):156[CD*2]158.

[7]陶以政,潘振星.怎样在LabVIEW中调用Win32动态链接库[J].计算机应用,2000,20(6):73[CD*2]74.

[8]王丹民.LabVIEW下基于DLL的数据采集应用[J].控制工程,2002,9(3):68[CD*2]70.

[9]杨乐平,李海涛,赵勇,等.LabVIEW高级程序设计[M].北京:清华大学出版社,2003.

[10]高聪杰,李松岩,徐赫.基于LabVIEW的信号输出与数据采集系统[M].微计算机信息,2008,24(1):135[CD*2]136.

猜你喜欢

采集卡陀螺仪调用
高精度AD采集卡性能测试及评价方法研究
基于EMD的MEMS陀螺仪随机漂移分析方法
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
我国著名陀螺仪专家——林士谔
面向数控机床的多通道传感数据采集卡设计
并行高速采样在地震物理模拟采集中的应用
基于系统调用的恶意软件检测技术研究
微机械陀螺仪概述和发展
MEMS三轴陀螺仪中不匹配干扰抑制方法