首页 > 范文大全 > 正文

虚拟仪器中多线程虚拟电压和电流

开篇:润墨网以专业的文秘视角,为您筛选了一篇虚拟仪器中多线程虚拟电压和电流范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:目前虚拟仪器使得测量可以通过计算机来控制,这样就会使得测量计算机化变得很容易。越来越多的软件自动化可以完全通过计算机来完成。虚拟仪器可以自己定义测试的界面,可以用来完成更为复杂的要求,而且可以减低成本。本文用VC++来创建多线程虚拟电压电流完成手机的监控。

关键词:虚拟仪器;线程;手机测试;电压;电流

中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)04-11088-02

1 引言

计算机虚拟是目前国际上计算机应用的最前沿的研究方向之一,已引起了学术界和工业界的广泛关注,虚拟仪器技术所表现出的广阔应用前景吸引了众多的研究人员和商业公司。但是虚拟仪器也面临着一些不可避免的问题,为了进行有效的虚拟仪器,首先需要检查应用的虚拟仪器系统所期望的特性,另外需要考虑虚拟仪器发展所面临的挑战。近年来,随着TI LabView的研究的深入发展,虚拟仪器技术的扩展性研究势在必行。为此,本文就有效虚拟仪器的电压电流要求及所面临的挑战进行研究[3-4]。

2 虚拟仪器的表示

2.1 什么是虚拟仪器技术(virtual instrument)

这个问题现在也没有一个公认的定义,虚拟仪器是在PC技术的基础上发展起来的,所以完全“继承”了以现成即用的PC技术为主导的最新商业技术的优点,包括功能超卓的处理器和文件I/O,使您在数据导入磁盘的同时就能实时地进行复杂的分析。随着数据传输到硬驱功能的不断加强,以及与PC总线的结合,高速数据记录已经较少依赖大容量的本地内存。虚拟仪器技术的另一突出优势就是不断提高的网络带宽。因特网和越来越快的计算机网络时的数据分享进入了一个全新的阶段,将因特网和NI的软硬件产品相结。

2.2 按照虚拟仪器的组成划分,它可以分为计算机、应用软件和仪器硬件三个部分。

计算机:提供虚拟仪器通用平台,数据存储,显示等;

仪器硬件:获取被测信号,产生激励信号等;

应用软件:控制数据采集、控制、分析、处理和显示等,是虚拟仪器的关键。

2.3 按照虚拟仪器的功能划分

数据采集;数据分析;结果表达。

2.4 定义虚拟仪器

(1)英国国家物理实验室(NPL)定义

虚拟仪器是在通用计算机(如PC机、Mac或工作站)中加上软件和/或硬件,并使用计算机屏幕提供仪器虚拟界面的可重用测量仪器。

(2)NI公司的定义

虚拟仪器就是在通用计算机上加上一组软件和/或硬件,使用者在操作这台计算机时,就象是在操作一台他自己设计的专用电子仪器。

虚拟仪器是一种软件定义的系统,基于用户需求的软件定义了一般测量硬件的功能。

(3)VXIplug&play规范定义

实现传统分立仪器功能的一组软件模块,也包括与其相关或必须的硬件资源。

3 虚拟仪器的优势

3.1 网络化

系统中的仪器数量只受机架尺寸和可用路由器端口数的限制。每一设备都有独有的IP地址,它可以手动或自动设置。仪器可靠近或远离控制器――实际上能放置在公司Intranet或Internet上的任何地方。

3.2 开发时间少

在驱动和应用两个层面上,软件构架能与计算机、仪器仪表和通讯方面的最新技术结合在一起。驱动层设计提供DLL,应用层采用VC++,LabView等软件来完成。而且我们还可以把驱动层设计提供DLL用VC++的方法形成类的形式。软件构架的目的就是为了方便用户的多层调用,同时还提供了灵活性和强大的功能,使您轻松地配置、创建、部署、维护和修改高性能、低成本的测量和控制解决方案。

3.3 完美的集成

虚拟仪器技术从本质上说是一个集成的软硬件概念。随着产品在功能上不断地趋于复杂,工程师们通常需要集成多个测量设备来满足完整的测试需求,但是这些不同设备间的连接和集成总是耗费大量时间,不是轻易可以完成的。NI的虚拟仪器软件平台为所有的I/O设备提供了标准的接口,例如数据采集、视觉、运动河分布式I/O等等,帮助用户轻松地将多个测量设备集成到单个系统,减少了任务的复杂性。为了获得最高的性能、简单的开发过程和系统层面上的协调,这些不同的设备必须保持其独立性,同时还要紧密地集成在一起。NI的结构可以使开发者们快速创建测试系统,并随着要求的改变轻松地完成对系统的修改。得益于这一集成式的构架带来的好处,您的系统可以更具竞争性,因为您可以更高效地设计和测试高质量的产品,并将它们更快速地投入市场[5]。

4 多线程的管理方法和技术

4.1 管理多线程的方法

管理多线程的方法是目前的重点研究方向,研究成果较多,从采用的技术上看,分为动态方法(即链表方法)和静态方法(即数组方法)两大类。动态方法是利用链表方法论理建立链表,由于该方法最后获得的知识表示形式是动态,故一般文献中称它为动态方法。动态方法中较有特色的方法是Tree,B-Tree,平衡二叉树等方法[6-7]。静态方法开展的比较早。近年来,随着矩阵论的发展使数组方法得到了迅速的发展。

4.2 虚拟仪器线程的管理方法和技术的头文件

#include

#include

class CThreadList

{public:

CThreadList();

virtual ~CThreadList();

void AddToList(void* pObject);

void RemoveFromList(void);

void *GetObjectFromList();

private:

struct ThreadObjectListItem

{bool fBusy;

int nThreadId;

void *pObj;};

CCriticalSection m_cs;

CArray m_List;

ThreadObjectListItem *m_prgItems;

int m_nListSize;};

4.3 虚拟仪器线程的管理方法和技术的实现文件

5 用线程虚拟电压和电流的实现

5.1 硬件设计

计算机和Gondon之间通过RS232建立通讯,Gordon和计算机之间也通过RS232,这样就可以完成硬件的连接。Gordon 是一个可以控制输出电压和电流,而且可以完成RS232的电压的转化,就是计算机输出的是十二伏,到达手机的电压是3.7伏。

5.2 软件设计

6 结束语

通过实验我们发现这种方法是可行的,每一百毫秒就显示出手机的电压和电流的状态,而且可以完全达到虚拟仪器的目的。这种方案可以推广到一般的虚拟仪器的方法,包括声音和图像也可以达到其目的[8-10]。当然,如果用线程去模拟所有的功能,我们必须提供一种解决管理多线程的方案。这种方案我们可以采用链表结构来完成。电子技术和计算机技术的进步改变了传统的设计思想,许多过去由硬件实现的功能可以由软件实现;专业化的设计软件为高效、易用的仪器软件开发提供了工具。

参考文献:

[1]Fish K. E, Barnes, H H, Aiken M. W, Artificial Neural Networks: A New Methodology for Industrial Market Segmentation[J]. Industrial Marketing Management, 1995, 431-438.

[2]A. Teller, M. Veloso. Programming Evolution for Data Mining[J]. Int. Expert Syst, 1995,8:216-236.

[3]E. Noad, A. A. Freitas, H. S. Lopes. Discovering Interesting Prediction Rules With a Genetic Algorithms[A]. Proc. IEEE. Congr. Evolutionary Comput. CEC ’99[C]. San Diego: AAAI Press, 1999. 1322-1329.

[4]Scott Sanfield Ralph Arvesen.VC++ Developer Guide.Publishing House of Electronics Industry

[5]/node/2.

[6]/msj/0498/bugslayer0498.aspx.

[7]/debug/postmortemdebug_standalone1.asp.

[8]www.npl.co.uk.

[9].

[10].

本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。