IVI技术规范及其工作原理.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IVI技术规范及其工作原理

IVI技术规范及其工作原理 IVI技术的特点 为了进一步提高仪器的可互换性和测试代码的可重用性,降低系统升级的难度和成本,由NI公司、GEC马可尼公司、朗讯技术公司、GDE系统公司等十几家仪器生产厂商成立了IVI基金会并发布了IVI技术规范。IVI技术规范是IVI基金会在VPP规范的基础上定义仪器的标准接口、通用结构和实现方法,用于开发一种可互换、高性能、更易于开发维护的仪器的编程模型。IVI技术主要具有以下特点。 通过仪器的可互换性,节省测试系统的开发维护费用IVI技术提升了仪器驱动器的标准化程度,使仪器驱动器从基本的互操作性提升到了仪器类的互操作性。通过为各仪器类定义明确的API,测试系统开发者在编写软件时可以做到最大程度的与硬件无关,当替换过时的仪器或采用更高性能的新仪器进行系统升级时,测试程序源代码可以不用做任何更改或重新编译,这大大提高了代码的可重用性,同时也周期以及系统维护费用。 通过状态缓存,改善测试性能IVI引入了属性管理机制,其模型中的IVI引擎可实现状态存储功能。VPP驱动程序总是假设仪器状态是未知的,因此,每个测量函数在进行测量操作之前都要对仪器进行设置,而不管仪器在此之前是否被配置过。而IVI通过能自动存储仪器的当前状态。一个IVI仪器驱动程序函数只有在仪器设置和函数所要求的不一致时,才执行I/O操作,而不是每次都对仪器的所有参数进行重新配置,这样IVI引擎避免发送冗余的仪器配置命令,从而优化程序运行时的性能,极大的缩短测试时间通过仿真,使测试开发更容易、更经济利用IVI仪器驱动器的仿真功能,用户可以在仪器还不能用的条件下,使用驱动程序建立应用程序,这种情况下,驱动程序不执行仪器I/O而仅利用软拷贝来进行处理,它检查输入参数并且产生仿真的输出结果。有了这些仿真数据,开发者在没有仪器硬件的情况下也能为仪器开发应用代码。 IVI驱动器的类型如图所示,IVI驱动器分为IVI类驱动器和IVI专用驱动器两大类型。IVI类驱动器提供符合已定义IVI仪器类规范的仪器驱动器API,通过IVI类兼容专用驱动器间接实现与仪器硬件的通信连接。实际上,可以将IVI类驱动器理解为一种抽象的、具有过渡性质的仪器驱动器,类似于面向对象编程技术中的虚拟基类,而IVI类兼容专用驱动器则是它的派生类。IVI专用驱动器封装了用于控制某一类或某一种仪器所需的信息和函数,能够直接与底层硬件通信,它又包括IVI类兼容专用驱动器和IVI定制专用驱动器。IVI类兼容专用驱动器与某一类已定义的IVI仪器类兼容,使用已定义仪器类的标准API,但同时又增加了一些其他特性,以满足用户对仪器互换性的要求;IVI定制专用驱动器使用用户化的API,不与任何已定义的仪器类标准兼容,不能实现硬件的互换性,主要用于一些特殊场合。 IVI驱动器分类 IVI规范把仪器驱动器分成类驱动器和专用驱动器的目的是为了实现仪器的互换性。为了确保在进行仪器替换时不修改测试代码,不做重新编译或链接,做到完全的互换性,用户需要直接仪器类API编程而不是特定的IVI类兼容驱动器编程,与特定仪器相关的驱动器和硬件资源配置不能在测试程序中完成,于是IVI技术规范提出了一种被称为“配置仓”的软件结构。 IVI配置仓是用来实现仪器互换性的外部软件,具有动态加载特定仪器驱动器的能力,通过建立类驱动器和特定仪器驱动器的映射关系来实现仪器的互换和测试程序的代码重用。图解释了仪器互换性的实现方法。IVI配置仓中包括了一系列逻辑名以及与各逻辑名一一对应的驱动器通话配置器,在应用程序通过某个逻辑名来访问IVI类驱动器时,IVI类驱动器通过逻辑名的匹配得到实际的IVI类兼容专用驱动器通话配置器,并实现该驱动器的动态加载,然后通话配置器建立与专用驱动器和仪器通话链路,同时也决定一些可配置属性的配置,如仿真、状态缓存状态检查等,当用户更换仪器时,只需将IVI配置仓中对应的逻辑名重新定位到另一个通话配置器,从而实现仪器的互换。 IVI驱动器的工作原理 IVI驱动器的工作机制如图所示。IVI模型中把每一个可读写的仪器设置定义为一个属性。IVI引擎与驱动程序一起参与对 IVI仪器驱动器工作机制 仪器属性的管理,主要包括记忆和跟踪属性值、属性范围检查和强制设定、控制属性值读写等。组成IVI仪器驱动程序的高层函数主要包括以下四个部分:(1)用于读写某个仪器属性的IVI标准属性函数;(2)用于规定每一个仪器属性有效范围的范围表;(3)属性回调函数(读回调函数、写回调函数、范围检查回调函数等);(4)全局通道回调函数(如状态检查回调函数等)。当驱动程序在高层函数中设置属性时,IVI引擎被激活并访问属性范围表进行范围检查和强制设定值,在激活属性回调函数,执行仪器I/O操作。由于IVI引擎运行在计算机内部,而驱动程序只有在

文档评论(0)

zhanghc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档