主要内容

GPIB概述

什么是GPIB?

通用接口总线是一个标准化的接口,允许您连接和控制来自不同供应商的多个设备。GPIB也被称为HP-IB或IEEE®指定ieee - 488。随着时间的推移,GPIB功能不断发展,并在几个规范中进行了描述:

  • IEEE 488.1-1975规范定义了接口的电气和机械特性及其基本功能特性。

  • IEEE-488.2-1987规范建立在IEEE 488.1规范的基础上,定义了可接受的最小配置、基本仪器命令集和通用数据格式。

  • 可编程仪器标准命令(SCPI)规范建立在IEEE 488.2规范中给出的命令的基础上,定义了一个可以被GPIB或其他接口使用的标准仪器命令集。

对于许多GPIB应用程序,您可以在不详细了解GPIB如何工作的情况下与您的仪器通信。通信是通过VISA-GPIB对象建立的,您使用该对象创建visadev

如果您的应用程序很简单,或者您已经熟悉了GPIB规范,那么您可以从开始使用GPIB接口.如果您想要在与仪器通信时可能采取的所有步骤的高级描述,请参阅创建仪器对象

一些GPIB功能对于所有GPIB设备都是必需的,而其他GPIB功能是可选的。此外,许多设备只支持SCPI命令集的一个子集,或者使用万博1manbetx不同的特定于供应商的命令集。有关其GPIB功能及其命令集的完整列表,请参阅设备文档。

重要的GPIB特性

以下部分将描述重要的GPIB特性。有关GPIB功能的详细信息,请参阅参考书目

总线和连接器

GPIB总线是一根带有两个24针连接器的电缆,允许您将多个设备相互连接。总线和连接器具有以下特性和限制:

  • 您最多可以将15个设备连接到总线上。

  • 连接设备可以采用星型、线性或多种连接方式。

  • 为了达到最大的数据传输速率,电缆长度不应超过20米,平均每台设备不应超过2米。您可以通过使用总线扩展器来消除这些限制。

通用接口总线设备

每个GPIB设备必须是说话的人,一个侦听器,或控制器.控制器通常是安装在计算机中的一个板。说者和听者通常是示波器、函数生成器、万用表等仪器。大多数现代乐器既是说者又是听者。

  • 话务员-话务员通过接口传输数据,当被控制器指定为话务员时。一个GPIB系统一次只能包含一个对话者。

  • 监听器——当控制器指定监听地址时,监听器通过接口接收数据。一个GPIB系统在给定时间内最多可以包含14个监听器。通常,控制器是一个对话器,而GPIB上的一个或多个仪器是侦听器。

  • 控制器——控制器指定哪些设备是Talkers或listener。一个GPIB系统可以包含多个控制器。其中一个被指定为系统控制器。但是,在给定的时间内只能有一个Controller是活动的。当前的活动控制器为CIC (controller - in - charge)。CIC可以将控制权传递给一个空闲的控制器,但是只有系统控制器可以使自己成为CIC。

    当控制器不发送消息时,话务员可以发送消息。通常情况下,CIC是监听器,而另一个设备被启用为通话器。

每个控制器由唯一的板索引号标识。每个对话者/监听者都由一个唯一的主地址(0 ~ 30)和一个可选的从地址(0或96 ~ 126)来标识。

通用接口总线的数据

两种类型的数据可以通过GPIB传输,仪表数据而且接口信息

  • 仪器数据-仪器数据由特定于供应商的命令组成,这些命令配置您的仪器,返回测量结果,等等。有关您的工具支持的命令的完整列表,请参阅其文档。万博1manbetx

  • 接口消息——接口消息由GPIB标准定义,由清除GPIB总线、寻址设备、返回自检结果等命令组成。

数据传输由并行发送的一个字节(8位)组成。接口上的数据传输速率限制为每秒1mb。然而,这个数据速率在实际应用中通常无法实现,并且受到总线上最慢设备的限制。

通用接口总线线路

GPIB由24条线路组成,由连接到总线的所有仪器共享。16条线用于信号,而8条线用于地面。信号线分为以下几组:

  • 8条数据线

  • 5条接口管理线路

  • 三种握手方式

信号线使用TTL电平的低真(负)逻辑约定。这个约定意味着当一行是TTL低电平时它是低电平(true或断言),当一行是TTL高电平时它是高电平(false或未断言)。GPIB连接器的引脚分配方案如下图和表所示。

GPIB连接器上的引脚布局图

GPIB引脚和信号分配

标签

信号的名字

标签

信号的名字

1

DIO1

数据传输

13

DIO5

数据传输

2

DIO2

数据传输

14

DIO6

数据传输

3.

DIO3

数据传输

15

DIO7

数据传输

4

DIO4

数据传输

16

DIO8

数据传输

5

情绪过分投入

结束或识别

17

远程支持

6

DAV

数据有效

18

接地

DAV地面

7

NRFD

尚未准备好数据

19

接地

NRFD地面

8

NDAC

不接受数据

20.

接地

NDAC地面

9

国际金融公司

界面清晰

21

接地

国际金融公司地面

10

SRQ

服务请求

22

接地

SRQ地面

11

ATN

注意

23

接地

ATN地面

12

机壳接地

24

接地

信号地

数据行

从DIO1到DIO8的8条数据线用于每次传输一个字节的数据。DIO1是最不重要的位,而DIO8是最重要的位。传输的数据可以是仪器命令,也可以是GPIB接口命令。

数据格式是特定于供应商的,可以是基于文本的(ASCII)或二进制。GPIB接口命令由IEEE 488标准定义。

接口管理线路

接口管理线控制通过GPIB接口的数据流。

接口管理线路

描述

ATN

控制器用于通知GPIB上的所有设备正在发送字节。如果ATN行高,则将字节解释为instrument命令。如果ATN行低,则字节被解释为接口消息。

国际金融公司

控制器用于初始化总线。如果IFC线路低,则说话者和侦听者没有寻址,系统控制器成为控制器- in - charge。

控制器用于将仪器置于远程或本地程序模式。如果REN值很低,则所有监听器都处于远程模式,并且不能从前面板更改它们的设置。如果REN值高,则所有侦听器都被置于本地模式。

SRQ

会话者用于从控制器异步请求服务。如果SRQ低,则一个或多个talker需要服务(例如,接收到无效命令等错误)。您发出一个连续投票,以确定哪个谈话者请求服务。问卷会自动将SRQ设置为高值。

情绪过分投入

如果ATN行高,则EOI行用于标识字节流(如仪器命令)的结束。如果ATN线较低,控制器将使用EOI线执行并行轮询(工具箱不支持)。万博1manbetx

握手线

三个握手线DAV、NRFD和NDAC用于通过数据线将字节从会话器传输到一个或多个已寻址的侦听器。

在数据传输之前,三条线路都必须处于正常状态。主动式通话器控制DAV线路,监听器控制NRFD和NDAC线路。握手过程允许无错误的数据传输。

握手线

描述

DAV

由会话者使用,表示侦听者可以读取一个字节。

NRFD

指示侦听器是否准备好接收字节。

NDAC

指示侦听器是否接受了字节。

握手的步骤如下:

  1. 最初,通话者将DAV线保持在高位,表示没有数据可用,而监听者将NRFD线保持在高位,NDAC线保持在低位,分别表示它们已经准备好接收数据和没有数据被接受。

  2. 当Talker将数据放在总线上时,它将DAV线设置为低,这表明数据是有效的。

  3. 监听器将NRFD线设置为低,这表明它们还没有准备好接受新数据。

  4. 监听器将NDAC行设置为高值,这表明数据被接受。

  5. 当所有侦听器都表示已接受该数据时,会话者将DAV设置为高值,表示该数据不再有效。下一个字节的数据现在可以传输了。

  6. 监听器将NRFD线保持在高位,表示它们已经准备好再次接收数据,而NDAC线保持在低位,表示没有数据被接受。

请注意

如果握手过程中ATN线过高,则该信息被视为仪器命令等数据。如果ATN线低,则认为该信息是一条GPIB接口消息。

握手步骤如下图所示。

握手期间ATN, Data, DAV, NRFD和NDAC线路的线路状态

状态和事件报告

GPIB提供了一个报告状态和事件信息的系统。有了这个系统,您可以发现您的仪器是否有数据要返回,是否发生了命令错误,等等。对于许多仪器,报告系统由四个8位寄存器和两个队列(输出和事件)组成。这四个寄存器分为以下两个功能类别:

  • 状态寄存器-状态字节寄存器(SBR)和标准事件状态寄存器(SESR)包含仪器状态的信息。

  • 启用寄存器——事件状态启用寄存器(ESER)和服务请求启用寄存器(SRER)决定将哪些类型的事件报告给状态寄存器和事件队列。ESER启用SESR, SRER启用SBR。

状态寄存器、启用寄存器和输出队列如下图所示。

状态寄存器、启用寄存器和输出队列之间的连接

状态字节寄存器

状态字节寄存器(SBR)中的每一位都与特定类型的事件相关联。当事件发生时,仪器将相应的位设置为1。您可以使用服务请求启用寄存器(SRER)启用或禁用SBR位。您可以通过读取启用的SBR位来确定发生了哪些事件。

状态字节寄存器位

标签

描述

0 - 3

- - - - - -

特定于仪器的摘要消息。

4

微型飞行器

消息可用位表示输出队列中是否有数据可用。如果输出队列包含数据,MAV为1。如果输出队列为空,MAV为0。

5

ESB

事件状态位表示是否发生了一个或多个启用的事件。如果发生启用的事件,则ESB为1。如果没有启用事件,则ESB为0。使用标准事件状态启用寄存器启用事件。

6

海量存储系统(MSS)中

主摘要状态汇总ESB和MAV位。如果MAV或ESB都为1,则MSS为1。如果MAV和ESB都为0,则MSS为0。该位从*机顶盒?命令。

中移动

“请求服务”位表示仪器向GPIB控制器请求服务。这个位是从串行轮询中获得的。

7

- - - - - -

特定于仪器的摘要消息。

例如,如果您想知道何时发生特定类型的仪器错误,启用SRER的第5位。此外,启用标准事件状态启用寄存器的适当位,以便由SBR的ESB位报告感兴趣的错误事件。

标准事件状态登记册

标准事件状态寄存器(SESR)中的每一位都与仪器的特定状态相关联。当状态发生变化时,仪器将相应的位设置为1。您可以使用标准事件状态启用寄存器(ESER)启用或禁用SESR位。您可以通过读取已启用的SESR位来确定仪器的状态。SESR位有如下描述。

SESR比特

标签

描述

0

OPC

“操作完成”位表示所有命令都已完成。

1

RQC

大多数仪器都不使用请求控制位。

2

QYE

查询错误位表示仪器试图读取空输出缓冲区,或者输出缓冲区中的数据丢失。

3.

DDE

Device Dependent Error位表示设备发生错误(如自检错误)。

4

EXE

“执行错误”位表示设备执行命令或查询时发生错误。

5

芝加哥商品交易所

“命令错误”位表示命令语法错误。

6

URQ

大多数仪器不使用用户请求位。

7

在其

“Power On”位表示设备已上电。

例如,如果您想知道何时发生执行错误,可以启用ESER的第4位。此外,启用SRER的第5位,以便由SBR的ESB位报告感兴趣的错误事件。

读写寄存器信息

介绍GPIB常用的状态和事件寄存器信息读写命令。

寄存器的命令

注册

操作

命令

描述

SESR

* ESR ?

返回一个十进制值,该值对应于SESR寄存器中设置的所有位的加权和。

N/A

不能写入SESR寄存器。

西文

* ESE ?

属性所启用的所有位的加权和对应的十进制值* ESE命令。

* ESE

写一个十进制值,对应于你想在SESR寄存器中启用的所有位的加权和。

SBR

*机顶盒?

返回一个十进制值,该值对应于SBR寄存器中设置的所有位的加权和。该命令返回与串行轮询相同的结果,只是MSS位不清除。

N/A

不能写入SBR寄存器。

*行为?

属性所启用的所有位的加权和对应的十进制值*行为命令。

*行为

写一个十进制值,它对应于你想在SBR寄存器中启用的所有位的加权和。

例如,要启用SESR的第4位,您可以编写命令* ESE 16.要启用SESR的第4位和第5位,您需要编写该命令* ESE 48.要使能SBR的第5位,您可以编写该命令*是32

要了解如何在仪器控制会话的上下文中使用这些命令,请参阅执行连续轮询

另请参阅

相关的话题

外部网站