虚拟仪器软件规范.ppt

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定义了机械、电气特性 定义了总线控制(握手信号)、设备寻址、数据传送、状态报告和服务
请求等底层协议 保证了数据字节的正确传递
6
IEEE488 问题
但是,为了获得最大的仪器设计灵活性,没有规定保证消息完整可 靠传送的消息交换协议,也没有对传送的代码、数据格式、仪器指 令和响应以及语法作出规定。
仪器可以任意使用任何“标准的” 字母数字代码,指令语言和数据格 式千变万化(“多种语言”)
有的低级协议定义得也不严格, 用户解释有较大随意性。
例如: IEEE488.1 只定义了状态字节的一个位,其它七位都由仪器设 计者定义,这实际上使状态字节失去了公用状态报告作用。
IEEE488.1 标准定义了三种基本接口功能(控者、讲者和听者)以
配置和为其它 IEEE488.2 协议的输入参数提供有效的GPIB器件 列表 。
21
IEEE488.2 总线协议 (4)
FINDRQS 协议为控制器定位和查询那些请求服务的器件提供 了一种有效的方法和机制。
FINDRQS 协议是通过 IEEE488.2 控制器所具有的监测 SRQ 线由 FALSE 到 TRUE 转变的功能实现的。
IEEE 488.1 接口能力的一个精确子集 总线控制序列(Bus control sequences) 总线协议(Bus protocols)
15
IEEE488.2 控制器的要求
IEEE 488.2 控制器必须做到(接口能力):
发送 IFC (interface clear) 线的脉冲宽度必须 >100 µs 发送和检测 IEEE 488.1 END 消息 (EOI线) 设置 REN 线为 TRUE 或 FALSE(确定状态) 发送或接收符合 IEEE 488.2 规范的编码、数据格式、协议和通用命令 监测 SRQ 线 (service request) 的状态和改变 检查仪器状态字节的每一位 针对任何 I/O 事务,都必须具有超时检测 消除总线状态的模糊性,增强接口操作的一致性和规范化
所有这些问题造成 IEEE488.1开发、使用和维护比较困难,导致测 试系统开发周期长、成本高、维护困难。
26
IEEE488.2 解决方案
1. 定义数据编码和格式 2. 定义消息交换协议 3. 定义一组通用命令集 4. 定义状态报告模型
27
1) 数据编码和格式
所有数值和字符串采用统一的编码和格式。
instrumentation
IEEE Std 488.1-2003
IEEE standard for higher performance
protocol for the standard digital interface
for programmable instrumentation
9

IEEE488.2 对 IEEE488.1 进行扩展和补充,它标准化了代码、格式、 状态报告、通信协议和公用指令,以增强GPIB仪器系统的兼容性。
编码规范
字符 整型数 浮点数
消息语法
— ASCII 7 bits — BINARY 8 bits — IEEE 754-1985
End of message:
NL (newline) NL + CR
据传送。
23
3.1 IEEE488.2 标准
IEEE488.2 仪器
背景 (1)
在 IEEE488.2 标准之前,仪器的接口能力范围可以从“只听”和 “只讲”器件到系统控制器。
不能根据测量功能和性能简单地替换仪器,因为还必须考虑仪器的接口 能力。
例如:一个函数发生器有的可能同时具有 讲者 和 听者 能力,有的则只 有 听者 能力。
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
Standard Number
Standard Title
—————————————————————————————————
ANSI/IEEE Std 488.1-1987 IEEE standard digital interface for
programmable instrumentation
另一个问题是编程命令、数据代码和格式以及状态报告没有被标准 化,对于相同的仪器功能,编程命令却不同。
系统开发者经常不得不针对每种仪器学习不同的命令集,而且在一个测 试系统中更换仪器需要修改大量的测试程序。
25
背景 (2)
其它常见的仪器问题还包括内部器件功能的执行问题(例如,系统 控制器通过 IFC 线复位GPIB总线等),仪器固件往往只能接受这些 消息的特定组合,由于它们没有被标准化,系统开发者不得不针对 每种仪器进行单独处理。
及各种功能子集,但没有规定仪器的最低限度能力。
7
IEEE488 问题
容易产生数据错误 导致设备的兼容性差 给仪器编程、学习和使用带来很大麻烦 测试系统应用软件的可重用性受到很大的限制
为了鼓励工业界对IEEE488总线更广泛的应用,IEEE开 发制定了新的标准IEEE488.2。
8
Standards Introduction
3
3. 虚拟仪器软件规范
3.1 IEEE 488.2
IEEE Standard Codes, Formats, Protocols, and Common Commands for Use With IEEE Std 488.1-1987
主要内容
IEEE488.2 目的 IEEE488.2 标准的主要内容 IEEE488.2 公用命令 IEEE488.2 存在的问题
送,实现不同制造商仪器之间的完全兼容性。
17
IEEE488.2 总线控制序列 (2)
15 个必备和 4 个可选的控制序列 (control sequences).
IEEE488.2 总线协议 (1)
IEEE488.2 协议是一组组合了一系列控制序列的高级控制程序。
使用已被验证的控制序列来执行测试系统最常用的操作,减少了开发 时间,提高了开发效率。
ห้องสมุดไป่ตู้11
IEEE488.2 主要内容
规定了一套标准的代码和格式(语法和数据结构)
定义了明确的程控消息和响应消息语法结构,特点是器件在接收 消息时有更多的灵活性,即要求器件能宽容地听(precise talking)、严格地讲(forgiving listening)。
这是IEEE488.2的核心概念 highly reliable and efficient
由于 IEEE488.2 精确定义了消息终结符,IEEE488.2 控制器可通过 硬件自动检测结束符而取代软件查询方式(增加了软件负担),从 而增加系统的吞吐率。
数据传送必须由 新行字符(ASCII 字符 0A) + EOI 线有效 来结束。 IEEE488.2 控制器必须在接收到 新行字符 + EOI 线有效 时结束一次数
12
IEEE488.2 主要内容
定义了与应用无关但与器件相关的消息交换协议
包括出错处理在内的标准消息处理协议,用于保证控制者发出的 程控消息和器件发出的响应消息都能可靠的进行传送。
定义了在仪器系统应用中十分有用的一些公用命令与特性。
定义了在仪器系统中广泛使用的41条公用命令。 使用标准的状态报告模式,规定了若干用于服务请求和查询的公
ALLSPOLL: SEND SETUP, RECEIVE SETUP, READ STATUS BYTE
IEEE488.2 定义了 2 个必备协议和 6 个可选协议。
19
IEEE488.2 总线协议 (2)
RESET – 初始化 GPIB 总线,并清除所有器件,以便所有器件处于 一种已知状态(必备协议)。
ALLSPOLL – 串行查询每个器件并返回其状态字节(必备协议)。 PASSCTL & REQUESTCTL – 在不同的控者之间传递GPIB总线控
制权。 TESTSYS – 该协议命令每个器件运行各自的自检程序并向控者报
告它是否有问题或准备好操作。 最重要的两个协议是 FINDLSTN、FINDRQS。
5
IEEE488 问题
1960年代,程控仪器的出现使得组建自动测试系统成为可能
非标准的专用接口 自定义的通信协议
IEEE488 改变了早期程控仪器设备使用互不兼容接口的混乱状况, 可以方便地用它将不同厂商的控制器和各种仪器连成系统。
1975年,IEEE488-1975 从机械、电气、功能和协议等方面对物理 接口进行了规范化定义。
用户可以为输入器件指定优先级,以便最重要的器件首先得到 服务。
如果应用程序在检测到 SRQ 线置位时能够立刻跳到该协议执 行,可以增加测试效率和吞吐量。
22
IEEE488.2 消息结束符
在 IEEE488.2 标准之前,制造商选择自己的结束符或者根本不使用 结束符。 不兼容性 Incompatibility
instrumentation
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
16
IEEE488.2 总线控制序列 (1)
由于 IEEE488.1 没有标准化控制序列,开发者不得不自行设计,因 此,经常导致仪器不兼容。
IEEE488.2 定义了通用的总线状态,消除了总线状态可能存在的模 糊性。
IEEE488.2 定义了控制器精确的 IEEE488.1 消息以及消息的顺序。 IEEE488.2 定义了器件对标准消息的响应方式。 使IEEE488 器件遵循一个标准的规则集,以保证器件消息的可靠传
20
IEEE488.2 总线协议 (3)
FINDLSTN 协议利用 IEEE488.2 控制器监测总线信号的能力 来定位总线上的听者设备。
控制器向总线上发送一个特定的听地址,然后通过监测 NDAC 握手线来确定在那个地址上是否存在器件。
FINDLSTN 协议执行的结果是获得所有被定位器件的地址列表。 FINDLSTN 协议通常用于应用程序的开始,以保证正确的系统
用命令以配合状态报告工作。
13
3.1 IEEE488.2 标准
IEEE488.2 控制器
IEEE488.2 控制器
IEEE488.2 精确定义了控制器发送命令的方式和附加功能。 对仪器制造商而言,可以设计更加兼容和高效的GPIB仪器; 对测试系统的开发者而言,可以减少开发时间和成本。
IEEE 488.2 定义了一些针对控制器的特殊要求
IEEE488.2 主要内容
进一步扩展和解释了IEEE488.1-1987 标准包含的一些接口功 能,并保证与原标准的兼容性。
以 IEEE488.1 功能子集的形式给出了支持 IEEE488.2 器件所必 须配置的 IEEE488.1 的讲者、听者、源挂钩、受者挂钩、器件 清除和服务请求等接口功能。(控制器 / 仪器)
Direct I/O
(1980’s)
Register-based DAQ (ISA, PCI)
VXI Plug&Play
(1993)
IVI
(1998)
All Instrument except DAQ Message-based (GBIP, VXI, Serial, Ethernet,…) Register-based (VXI, PXI)
本科生课程《虚拟仪器设计》
3. 虚拟仪器软件规范
主题
3.1 IEEE488.2 3.2 SCPI 3.3 VXIPlug&Play 3.4 IVI
2
虚拟仪器软件规范
标准命令集
GPIB
(1975) GPIB
仪器驱动器
IEEE 488.2
(1987)
SCPI
(1990)
Message-based GPIB,VXI,Serial,…
相关文档
最新文档