虚拟仪器软件规范

上传人:ji****n 文档编号:57710018 上传时间:2018-10-24 格式:PPT 页数:105 大小:1.05MB
返回 下载 相关 举报
虚拟仪器软件规范_第1页
第1页 / 共105页
虚拟仪器软件规范_第2页
第2页 / 共105页
虚拟仪器软件规范_第3页
第3页 / 共105页
虚拟仪器软件规范_第4页
第4页 / 共105页
虚拟仪器软件规范_第5页
第5页 / 共105页
点击查看更多>>
资源描述

《虚拟仪器软件规范》由会员分享,可在线阅读,更多相关《虚拟仪器软件规范(105页珍藏版)》请在金锄头文库上搜索。

1、3. 虚拟仪器软件规范,本科生课程虚拟仪器设计,2,主题,3.1 IEEE488.2 3.2 SCPI 3.3 VXIPlug&Play 3.4 IVI,3,虚拟仪器软件规范,GPIB (1975),标准命令集,Message-based GPIB,VXI,Serial,IEEE 488.2 (1987),SCPI (1990),Register-based DAQ (ISA, PCI),VXI Plug&Play (1993),All Instrument except DAQ Message-based (GBIP, VXI, Serial, Ethernet,) Register-bas

2、ed (VXI, PXI),仪器驱动器,GPIB,Direct I/O (1980s),IVI (1998),3.1 IEEE 488.2,3. 虚拟仪器软件规范,IEEE Standard Codes, Formats, Protocols, and Common Commands for Use With IEEE Std 488.1-1987,5,主要内容,IEEE488.2 目的 IEEE488.2 标准的主要内容 IEEE488.2 公用命令 IEEE488.2 存在的问题,6,IEEE488 问题,1960年代,程控仪器的出现使得组建自动测试系统成为可能 非标准的专用接口 自定义的

3、通信协议 IEEE488 改变了早期程控仪器设备使用互不兼容接口的混乱状况,可以方便地用它将不同厂商的控制器和各种仪器连成系统。 1975年,IEEE488-1975 从机械、电气、功能和协议等方面对物理接口进行了规范化定义。 定义了机械、电气特性 定义了总线控制(握手信号)、设备寻址、数据传送、状态报告和服务请求等底层协议 保证了数据字节的正确传递,7,IEEE488 问题,但是,为了获得最大的仪器设计灵活性,没有规定保证消息完整可靠传送的消息交换协议,也没有对传送的代码、数据格式、仪器指令和响应以及语法作出规定。 仪器可以任意使用任何“标准的” 字母数字代码,指令语言和数据格式千变万化(“

4、多种语言”) 有的低级协议定义得也不严格, 用户解释有较大随意性。 例如: IEEE488.1 只定义了状态字节的一个位,其它七位都由仪器设计者定义,这实际上使状态字节失去了公用状态报告作用。 IEEE488.1 标准定义了三种基本接口功能(控者、讲者和听者)以及各种功能子集,但没有规定仪器的最低限度能力。,8,IEEE488 问题,容易产生数据错误 导致设备的兼容性差 给仪器编程、学习和使用带来很大麻烦 测试系统应用软件的可重用性受到很大的限制为了鼓励工业界对IEEE488总线更广泛的应用,IEEE开发制定了新的标准IEEE488.2。,9,Standards Introduction,St

5、andard Number Standard Title ANSI/IEEE Std 488.1-1987 IEEE standard digital interface for programmable instrumentation ANSI/IEEE Std 488.2-1987 IEEE standard codes, formats, protocols, and common commands. For use with ANSI/IEEE Std 488.1-1987 IEEE standard digital interface for programmable instrum

6、entation IEEE Std 488.2-1992 IEEE standard codes, formats, protocols, and common commands for use with IEEE Std 488.1-1987, IEEE standard digital interface for programmable instrumentation IEEE Std 488.1-2003 IEEE standard for higher performance protocol for the standard digital interface for progra

7、mmable instrumentation,IEEE 488.1+IEEE 488.2 =,IEEE488.2 对 IEEE488.1 进行扩展和补充,它标准化了代码、格式、状态报告、通信协议和公用指令,以增强GPIB仪器系统的兼容性。,11,IEEE488.2 主要内容,进一步扩展和解释了IEEE488.1-1987 标准包含的一些接口功能,并保证与原标准的兼容性。 以 IEEE488.1 功能子集的形式给出了支持 IEEE488.2 器件所必须配置的 IEEE488.1 的讲者、听者、源挂钩、受者挂钩、器件清除和服务请求等接口功能。(控制器 / 仪器),12,IEEE488.2 主要内容

8、,规定了一套标准的代码和格式(语法和数据结构) 定义了明确的程控消息和响应消息语法结构,特点是器件在接收消息时有更多的灵活性,即要求器件能宽容地听(precise talking)、严格地讲(forgiving listening)。 这是IEEE488.2的核心概念 highly reliable and efficient,13,定义了与应用无关但与器件相关的消息交换协议 包括出错处理在内的标准消息处理协议,用于保证控制者发出的程控消息和器件发出的响应消息都能可靠的进行传送。 定义了在仪器系统应用中十分有用的一些公用命令与特性。 定义了在仪器系统中广泛使用的41条公用命令。 使用标准的状态

9、报告模式,规定了若干用于服务请求和查询的公用命令以配合状态报告工作。,IEEE488.2 主要内容,IEEE488.2 控制器,3.1 IEEE488.2 标准,15,IEEE488.2 控制器,IEEE488.2 精确定义了控制器发送命令的方式和附加功能。 对仪器制造商而言,可以设计更加兼容和高效的GPIB仪器; 对测试系统的开发者而言,可以减少开发时间和成本。IEEE 488.2 定义了一些针对控制器的特殊要求 IEEE 488.1 接口能力的一个精确子集 总线控制序列(Bus control sequences) 总线协议(Bus protocols),16,IEEE488.2 控制器的

10、要求,IEEE 488.2 控制器必须做到(接口能力): 发送 IFC (interface clear) 线的脉冲宽度必须 100 s 发送和检测 IEEE 488.1 END 消息 (EOI线) 设置 REN 线为 TRUE 或 FALSE(确定状态) 发送或接收符合 IEEE 488.2 规范的编码、数据格式、协议和通用命令 监测 SRQ 线 (service request) 的状态和改变 检查仪器状态字节的每一位 针对任何 I/O 事务,都必须具有超时检测 消除总线状态的模糊性,增强接口操作的一致性和规范化,17,IEEE488.2 总线控制序列 (1),由于 IEEE488.1 没

11、有标准化控制序列,开发者不得不自行设计,因此,经常导致仪器不兼容。 IEEE488.2 定义了通用的总线状态,消除了总线状态可能存在的模糊性。 IEEE488.2 定义了控制器精确的 IEEE488.1 消息以及消息的顺序。 IEEE488.2 定义了器件对标准消息的响应方式。 使IEEE488 器件遵循一个标准的规则集,以保证器件消息的可靠传送,实现不同制造商仪器之间的完全兼容性。,IEEE488.2 总线控制序列 (2),15 个必备和 4 个可选的控制序列 (control sequences).,19,IEEE488.2 总线协议 (1),IEEE488.2 协议是一组组合了一系列控制

12、序列的高级控制程序。 使用已被验证的控制序列来执行测试系统最常用的操作,减少了开发时间,提高了开发效率。 ALLSPOLL: SEND SETUP, RECEIVE SETUP, READ STATUS BYTE IEEE488.2 定义了 2 个必备协议和 6 个可选协议。,20,IEEE488.2 总线协议 (2),RESET 初始化 GPIB 总线,并清除所有器件,以便所有器件处于一种已知状态(必备协议)。 ALLSPOLL 串行查询每个器件并返回其状态字节(必备协议)。 PASSCTL & REQUESTCTL 在不同的控者之间传递GPIB总线控制权。 TESTSYS 该协议命令每个器

13、件运行各自的自检程序并向控者报告它是否有问题或准备好操作。 最重要的两个协议是 FINDLSTN、FINDRQS。,21,IEEE488.2 总线协议 (3),FINDLSTN 协议利用 IEEE488.2 控制器监测总线信号的能力来定位总线上的听者设备。 控制器向总线上发送一个特定的听地址,然后通过监测 NDAC 握手线来确定在那个地址上是否存在器件。 FINDLSTN 协议执行的结果是获得所有被定位器件的地址列表。 FINDLSTN 协议通常用于应用程序的开始,以保证正确的系统配置和为其它 IEEE488.2 协议的输入参数提供有效的GPIB器件列表 。,22,IEEE488.2 总线协议

14、 (4),FINDRQS 协议为控制器定位和查询那些请求服务的器件提供了一种有效的方法和机制。 FINDRQS 协议是通过 IEEE488.2 控制器所具有的监测 SRQ 线由 FALSE 到 TRUE 转变的功能实现的。 用户可以为输入器件指定优先级,以便最重要的器件首先得到服务。 如果应用程序在检测到 SRQ 线置位时能够立刻跳到该协议执行,可以增加测试效率和吞吐量。,23,IEEE488.2 消息结束符,在 IEEE488.2 标准之前,制造商选择自己的结束符或者根本不使用结束符。 不兼容性 Incompatibility 由于 IEEE488.2 精确定义了消息终结符,IEEE488.

15、2 控制器可通过硬件自动检测结束符而取代软件查询方式(增加了软件负担),从而增加系统的吞吐率。 数据传送必须由 新行字符(ASCII 字符 0A) + EOI 线有效 来结束。 IEEE488.2 控制器必须在接收到 新行字符 + EOI 线有效 时结束一次数据传送。,IEEE488.2 仪器,3.1 IEEE488.2 标准,25,背景 (1),在 IEEE488.2 标准之前,仪器的接口能力范围可以从“只听”和“只讲”器件到系统控制器。 不能根据测量功能和性能简单地替换仪器,因为还必须考虑仪器的接口能力。 例如:一个函数发生器有的可能同时具有 讲者 和 听者 能力,有的则只有 听者 能力。

16、 另一个问题是编程命令、数据代码和格式以及状态报告没有被标准化,对于相同的仪器功能,编程命令却不同。 系统开发者经常不得不针对每种仪器学习不同的命令集,而且在一个测试系统中更换仪器需要修改大量的测试程序。,26,背景 (2),其它常见的仪器问题还包括内部器件功能的执行问题(例如,系统控制器通过 IFC 线复位GPIB总线等),仪器固件往往只能接受这些消息的特定组合,由于它们没有被标准化,系统开发者不得不针对每种仪器进行单独处理。所有这些问题造成 IEEE488.1开发、使用和维护比较困难,导致测试系统开发周期长、成本高、维护困难。,27,IEEE488.2 解决方案,定义数据编码和格式 定义消息交换协议 定义一组通用命令集 定义状态报告模型,28,1) 数据编码和格式,所有数值和字符串采用统一的编码和格式。 编码规范 字符 ASCII 7 bits 整型数 BINARY 8 bits 浮点数 IEEE 754-1985 消息语法End of message: NL (newline) NL + CR,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号