vc的数据采集卡程序设计_第1页
vc的数据采集卡程序设计_第2页
vc的数据采集卡程序设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第31卷第3期2004年3月应 用 科 技Applied Science and Technology:1009 - 671X(2004)03 - ()020 - 02VC+ +李维林栾海峰顾 兵(哈尔滨工程大学自动化学院黑龙辽哈尔滨150001):介绍了基于PCI总线的商性能数据采集卡NuDAQ PCF9113A.并结合在定时数据采集系统中的 应用利用函数库中的函数进行数据采隼的编程方法以及采用商精度定时器实现数据的定时采集取得了较好 的效果.:数据采集卡:VC+ + :定时器:TP274:ADesign of program for data acquisition card based

2、on VC+ +LI Wei-lin , LUAN Hai-feng , GIJ Bing(School of Automation t Harbin Engineering University . Harbin 150001 .China)Abstract 汀his paper introduces NuDAQPC卜9113A is an advanced data acquisition card based on 32-bit PCI Bus architecture and describes the way of how to program it in simulation of

3、 gravimeter and timing data acquisition using highly accurate timing methods.Key Mords :data acquisition card : VC + + : timer : 11994-2008 China Academic Journal Electronic Publishing House. All rights reserved, : 11994-2008 China Academic Journal Electronic Publishing House. All rights reserved, 随

4、着微机技术的快速发展,以个人微机为平 台的借号采集和数据处理系统到了广泛的应用, 由于微机中以离散的数字信号进行处理所以在 对模拟信号进行处理时,首先需要将外部信号进 行采集这一功能常常由基于总线技术的集成数 据采集卡完成.在进行海洋重力仪的仿真研究时作者以PC 机和A/D.D/A卡作为硬件平台VC+ +作为编 程工具设计出了人机界面友好的重力传感器模 拟器.1 NuDAQ PCI-9113A数据采集卡的特性NuDAQ PC卜9113A是ADLINK公司生产的 一种基于PCI总线的高性能数据采集卡它采用 12位A/D转换芯片ADS774作为模数转换器. 该卡主要有以下几个方面的特点.1)32位

5、PCI总线.即插即用;2)32路单端模拟输入或者16路差动模拟输:2003 - 04- 21.入;3)采样速率高达100 kHz;4)可编程增益为1、10、100可选;5)触发模式为软件触发或者定时器触发;6)片上自带1KB FIFO存储器;刀可选择的自动连续通道转换功能;8)输入阻抗为100;9)通过电路板上跳线设置不同或软件设置, 模拟量输入可以是如下几种形式:单极性:010 V .01 V ,00. 1 V.双极性:10 V, 1 V, 0. 1 V, 5 V, 0.5 V , 0.05 V.2数据采集卡的程序设计方法:李维林(1979 - ) 男.硕士研究生主要研究方向:測控技术及智能

6、系统.在研究海洋重力仪的电子控制部分和数据处 理部分的过程中在实验室里对软硬件进行设计 和调试时,需要一个重力传感器作为测量对象和 被控对象,作者采用一种基于微机的方法实现海 洋重力传感器的模拟器此模拟器以海洋重力传 感器的数学模型为基础.利用VC+ +语言对其模型进行编程并控制A/D卡和D/A卡实现力 反馈信号的输入和传感器的模拟量输出以此模 拟器为对象实现实验室里的半物理仿真调试模 拟器结构框图如图1所示.图1重力仪传感器模拟器结构框图在该重力仪仿真系统中采用Visual C+ + 6.0进行开发.该仿真系统的模拟量输入采用 NuDAQ PC卜9113A实现.重力传感器模拟器的 程序包括可

7、视化参数输入的程序、利用传感器模 型进行解算的程序以及数据采集、模拟量输出的 程序.在利用NuDAQPC卜9113A对两路漠拟邀进 行定时采集处理时-作昔将对NeD.Q PCI - 9113A进行操作和数据处理的程序汝计成一函 数,函数名为 AD-con.ert ( UINT m-AD-range , UINT ni-channel-P, UINT m-channel-1),其中, 变量in-AD-range表示模拟量输入的范围,n卜 channel- P表示进行比例反馈电压采集的通道号, nvchannei-1表示进行积分反馈电压采集的通道 号 在函数体中,n卜Iresult和n卜P- re

8、sult是全局 指针变量,分别用于保存积分反馈电压转换结果 和比例反馈电压转换结果.AD-convert (U INT m- AD range , U INT n卜 channek P , UINT m-channel-1.)函数中数据采集 部分程序如下:void AD-convert (U IN T AD range, U INT ni-channel- P , UINT in-channel- DU INT m-AD-card :if (nv AD-card = Register-Card( PCI-9113 .0) P-result所指的空间A I- V ReadChannel ( m-

9、AD-card , m-channel-1, nv AD-range , m- kresult) ;/读出积分反馈的电压 值转换结果存在指针result所指的空间/处理所采集数据在重力仪仿真实验中,对电压借号需要定时 采集利用VC + +编程时在Windows下解决定 时问題最简单的方法是直接使用其提供的定时器 函数 Kill Timer () Set Timer ()和 O nTimerO .但是 利用这种方法能达到的最短定时间隔只有55 ms .采用这种方法设置的定时器不能满足数据采 集的实时性要求故需要采用高精度的定时方法.VC+ +提供了仅供Windows 95及其后续版 本使用的精确

10、时间函数Query Performance Frequency () 和 QueryPerformanceG)unter 0 并要求计算机从硬件上支持精确定时器. Query Performance Frequency ()和 Query Pcrfor manceCounterO的原型如下:BOOLQucry Performance Frequency(LARGE- INTEGER *lpFrequency):BOOL QucryPerformanceCounter (LARGE- INTEGER *lpCount);数据类型LARG& INTEGER既可以是一个 8字节长的整型数,也可以是2

11、个4字节长的整 型数的联合结构其具体用法根据编译器是否支 持64位而定.在进行定时之前.先调用Qi忙ryPcL for ma nee Frequency ()函数获得机器内部定时器的 时钟频率,然后在需要严格定时的事件发生之前 和发生之后分别调用QucryPerformanceCounter 0函数利用2次获得的计数之差及时钟频率.计 算出事件经历的精确时间.在使用以上所述2个函数的基础上作者利 用数据采集卡实现了每隔500M s采集一次数据, 并运行成功相关程序如下:iibchannel-P = 0 ;/比例反馈通道为0通道 ni-channel-1 = 1 ;/积分反馈通道为1通道 m-A

12、D-range = AD-B-10-V ;/将 A/D 转换输 入范围设置为10 Vint k = 0 .int m-interval:LARGE- INTEGER m-frequency ,m-begin ,m- (下转第24页)24应 用 科 技第31卷图4总线接口环节电路3结束语利用可编程逻辑器件进行数字力反馈回路的 计算机接口设计.可以大大节省电路的空间和系 统的开发成本,同时也增加了系统的灵活性和可 靠性该接口设计有较强的移植性,不仅限干陀螺 漂移测试系统中在其他数字力反馈的惯性系统中也有较多的应用.I 谈振藩周洪宇袁赣南导航系统信息转换I m 1北 京:国防工业出版社,1992.2

13、 宋万杰罗 丰吴顺君.CPLP技术及其应用M .西 安:西安电千科技大学出版社.1999( : : 11994-2008 China Academic Journal Electronic Publishing House. All rights reserved, : 11994-2008 China Academic Journal Electronic Publishing House. All rights reserved, (上接第21页)now : if ( ! (Query Performance Freauency( & n frequency) )AfxMcssngcBox

14、 (该微机不支持髙精度定时 器!”);nhinterval = ( 500 * ( ni-frequency. Quad- Part)/1000000 ;/500 为设定的定时间隔.单位 为p s QueryPerformanceCbunter( &in-begin) ;/开 始计数doQueryPerformanceCounter ( &mnow);/获 得当前计数值while ( now. Quad Part - n begin. Quad- Part) =interval)/判断定时间隔到吗?到则 调用采集处理数据的函数begin. Quad Part + = n interval; k + + ;AD-con vert ( nv AD-range , m-channel-P , n卜 channel-1,) :/调用数据采集处理函数while(km-time * 1000000 *60/500) ; /判 断运行时间到吗为整个仿真过程需要运 行的时间,从面板上输入,单位是min.3结束语NuDAQ PCF9113A数据采集卡具有较高的 性能价格比适合于以普通微机为基础的数据采 集和分析系统利用高级语言VC+ +6.0界面友 好的优势和数据采巢卡丰富的资源可以快速开发 出高质量的应用软件.在本仿真系统中,利用 N

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论