第4章 智能仪器通信接口 4.1 GPIB通用接口总线 4.2 GPIB接口电路的设计 4.3 串行通信总线 4.4 串行通信接口电路的设计 第4章 智能仪器通信接口 智能仪器一般都设置通信接口,以便能够实现程控,方便用户构成自动测试系统。为了使不同厂家生产的任何型号的仪器都可以直接用一条无源电缆连接起来,世界各国都在按同一标准设计智能仪器的通信接口电路。目前国际上采用的仪器标准接口有GP-IB,CAMAC,RS232,USB等, 本章将对智能仪器普遍使用的GP-IB标准和最基本的串行总线RS-232标准予以介绍。 4.1 GPIB通用接口总线 4.2 GPIB接口电路的设计 4.3 串行通信总线 4.4 串行通信接口电路的设计
4.1 GPIB通用接口总线 4.1.1 GP-IB 标准接口系统概述 GP-IB即通用接口总线(General Purpose Interface Bus) 是国际通用的仪器接口标准。目前生产的智能仪器几乎无例外地都配有GP-IB标准接口。 国际通用的仪器接口标准最初由美国HP公司研制,称为HP-IB标准。 1975年IEEE在此基础上加以改进,将其规范化为IEEE-488标准予以推荐。1977年IEC又通过国际合作命名为IEC-625国际标准。此后,这同一标准便在文献资料中使用了HP-IB,IEEE-488,GP-IB,IEC-IB等多种称谓,但日渐普遍使用的名称是GP-IB。
4.1.1 GP-IB 标准接口系统概述 一、 GP-IB标准接口系统的基本特性 GP-IB标准包括接口与总线两部分:接口部分是由各种逻辑电路组成,与各仪器装置安装在一起,用于对传输的信息进行发送、接收、编码和译码;总线部分是一条无源的多芯电缆,用做传输各种消息。将具有GP-IB接口的仪器用GP-IB总线连接起来的标准接口总线系统如图所示。
在一个GP-IB标准接口总线系统中,要进行有效的通信联络至少有“讲者”、“听者”、“控者”三类仪器装置。
一、 GP-IB标准接口系统的基本特性 GP-IB标准接口系统的基本特性如下: (1) 可以用一条总线互相连接若干台装置,以组成一个自动测试系统。 系统中装置的数目最多不超过15台,互连总线的长度不超过20m。 (2) 数据传输采用并行比特(位)、串行字节(位组)双向异步传输方式,其最大传输速率不超过1兆字节每秒。 (3) 总线上传输的消息采用负逻辑。低电平(≤+0.8V)为逻辑“1”,高电平(≥+2.0V)为逻辑“0”。 (4) 地址容量。单字节地址:31个讲地址,31个听地址;双字节地址:961个讲地址,961个听地址。 (5) 一般适用于电气干扰轻微的实验室和生产现场。
二、 GP-IB标准接口的总线结构 总线上传递的各种信息通称为消息。带标准接口的智能仪器按功能可分为仪器功能和接口功能两部分,所以消息也有仪器消息和接口消息之分。 所谓接口消息是指用于管理接口部分完成各种接口功能的信息,它由控者发出而只被接口部分所接收和使用。 仪器消息是与仪器自身工作密切相关的信息,它只被仪器部分所接收和使用,虽然仪器消息通过接口功能进行传递,但它不改变接口功能的状态。 接口消息和仪器消息的传递范围如图所示。
二、 GP-IB标准接口的总线结构 总线是一条24芯电缆,其中16条为信号线,其余为地线及屏蔽线。电缆两端是双列24芯叠式结构插头。
二、 GP-IB标准接口的总线结构 16条信号线按功能可分为以下三组: (1) 8条双向数据总线(DIO1~DIO8) 16条信号线按功能可分为以下三组: (1) 8条双向数据总线(DIO1~DIO8) 作用:传递仪器消息和大部分接口消息,包括数据、命令和地址。由于这一标准没有专门的地址总线和控制总线,因此必须用其余两组信号线来区分数据总线上信息的类型。 (2) 3条数据挂钩联络线(DAV,NRFD和NDAC) 作用:控制数据总线的时序,以保证数据总线能正确、有节奏地传输信息,这种传输技术称为三线挂钩技术。 (3)5条接口管理控制线(ATN,IFC,REN,EOI和SRQ) 作用:控制GP-IB总线接口的状态
三、 三线挂钩原理 在GP-IB系统中,每传递一个字节的数据信息,源方(讲者与控者)与受方(听者)之间都要进行一次三线挂钩过程。 三条挂钩联络线的定义如下: DAV(DATA VALID) 数据有效线: 当数据线上出现有效的数据时,讲者置DAV线为低(负逻辑),示意听者从数据线上接收数据。 NRFD(NOT READY FOR DATA) 数据未就绪线: 只要被指定为听者的听者中有一个尚未准备好接收数据,NRFD线就为低,示意讲者暂不要发出信息。 NDAC(NOT DATA ACCEPTED)数据未收到线: 只要被指定为听者的听者中有一个尚未从数据总线上接收完数据,NDAC就为低,示意讲者暂不要撤掉数据总线上的信息。
假定地址已发送,听者和讲者均已受命。三线挂钩过程如下: 假定地址已发送,听者和讲者均已受命。三线挂钩过程如下: (1) 听者使NRFD呈高电平,表示已做好接收准备,总线上所有听者是“线或”连接至NRFD线上,因此只要有一个听者未做好准备,NRFD就呈低电平。 (2) 讲者发现NRFD呈高电平后,就把数据放在DIO线上,并令DAV为低电平,表示DIO线上的数据已经稳定且有效。 (3) 听者发现DAV线呈低电平,就令NRFD呈低电平,表示准备接收数据。 (4) 在接收数据的过程中,NDAC线一直保持低电平,直至每个听者都接收完数据,才上升为高电平。所有听者也是“线或”接到NDAC线上。 (5) 当讲者检出NDAC为高,就令DAV为高,表示总线上的数据不再有效。 (6) 听者检出DAV为高电平,就令NDAC再次变为低电平, 以准备进行下一个循环过程。 显然,三线挂钩技术可以协调快慢不同的设备可靠地在总线上进行信息传递。
4.1.2 接口功能与接口消息 一、 仪器功能与接口功能 自动测试系统中的任何一个仪器装置都分为两部分: 4.1.2 接口功能与接口消息 一、 仪器功能与接口功能 自动测试系统中的任何一个仪器装置都分为两部分: 一、仪器设备本身,它产生该仪器装置所具备的仪器功能; 二、接口部分,它产生该仪器装置所需要的接口功能。 仪器功能的任务:把收到的控制信息变成仪器设备的实际动作,如调节频率、调节信号电平、改变仪器的工作方式等等,这与常规仪器设备的功能基本相同,不同测量仪器的仪器功能存在很大差异。 接口功能的任务:完成系统中各仪器设备之间的通讯,确保系统正常工作。 为保证接口系统的标准化和相容性,各仪器设备接口的设计必须遵照GP-IB标准的各项有关规定,不能自行规定标准以外的任何新的接口功能。
4.1.2 接口功能与接口消息 二、 接口功能的配置 GP-IB标准把全部逻辑功能概括为十种接口功能: 4.1.2 接口功能与接口消息 二、 接口功能的配置 GP-IB标准把全部逻辑功能概括为十种接口功能: 一、前述的控者功能(C)、讲者功能(T)和听者功能(L)是一个自动测试系统中必不可少的三种最基本的功能。 二、为使系统可靠进行三线挂钩,又设置了源挂钩功能(SH)和受者挂钩功能(AH)。 源挂钩功能为讲者功能和控者功能服务,它利用DAV控制线向受者挂钩功能表示发送的数据是否有效;受者挂钩功能主要为听者功能服务。它利用NRFD和NDAC控制线向源挂钩功能表示是否已经接收到数据。 以上五种基本接口功能为系统提供了在正常工作期间使数据准确可靠传输的能力。但仅此还是不够的,为了处理测试过程中可能遇到的各种问题,GP-IB又增加了五种具有相应管理能力的接口功能。
三、五种具有相应管理能力的接口功能。 服务请求功能(SR): 当系统中某一装置在运行时遇到某些情况时( 例如测量已完毕、出现故障等),能向系统控者提出服务请求的能力。 并行点名功能(PP): 系统控者为快速查询请求服务装置而设置的并行点名能力。只有配备PP功能的装置才能对控者的并行点名做出响应。 远控本控功能(R/L):选择远地和本地两个工作状态的能力。 装置触发功能(DT): 使装置能从总线接收到触发信息,以便进行触发操作。在一些要进行触发操作或同步操作装置的接口中,必须设置DT功能。 装置清除功能(DC): 能使仪器装置接收清除信息并返回到初始状态。系统控者通过总线命令使那些配置有DC功能的装置同时或有选择地被清除而回到初始状态。 并非每台装置都必须具有十种接口功能。例如一台数字电压表要接收程控命令,也发送测量数据,因而一般应配置除控者之外的其他的九种功能;一台信号源或打印机只需“听”,所以通常只需配置AH,L, R/L和DT等接口功能。很显然,除了控者的其他所有装置都无需配置C功能。
三、 接口消息及编码 总线消息的分类: 按用途来分,总线上传递的消息可分为接口消息和仪器消息两大类。 按用途来分,总线上传递的消息可分为接口消息和仪器消息两大类。 按传递的途径来分,总线上传递的消息可分为本地消息和远地消息两种。远地消息是经总线传递的消息,它可以是仪器消息也可以是接口消息,用三个大写英文字母表示,如MLA(我的听地址)。本地消息是由仪器本身产生并在仪器内部传递的消息, 用三个小写英文字母表示,如pon(电源开)。 按使用信号线的数目来分,总线上传递的消息可又分为单线消息和多线消息两种。用两条或两条以上信号线传递的消息称多线消息,例如各种通令、指令、地址数据等。通过一条信号线传输的消息称为单线消息,例如ATN,IFC等。
为确保接口的通用性,接口消息编码格式必须作出统一明确的规定。单线接口消息通过一条信号线传输消息,无需编码。多线接口消息是通过DIO线来传输的消息, 需要统一编码。多线接口消息采用了7位编码,主要分为通令、 指令地址和副令(副地址)四类,如表4-1所示。
4.1.3 GP-IB 标准接口系统的运行 图4-4为一个用于数据采集的自动测试系统框图。 图4-4为一个用于数据采集的自动测试系统框图。 系统的测试任务是测试火箭上若干部位上的压力。数百个压力传感器安置在被测火箭的各测试点上,在计算机的控制下,扫描器将顺序采集到的传感器输出信号送往电桥,电桥将输出的模拟量送给数字电压表去测量,数字电压表又将输出的数字量送给计算机处理,最后由打印机将处理后的结果打印出来。
系统运行的大致工作流程如下: (1) 控制器通过C功能发出REN,使系统中所有装置都处于控者控制之下。 (2) 控制器通过C功能发出IFC,使系统中所有装置都处于初始状态。 (3) 控制器发出扫描器的听地址,扫描器接收寻址后成为听者。 (4) 控制器通过T功能向扫描器发命令,使扫描器选择一个指定的传感器。 (5) 控制器发出通令UNL,取消扫描器的听受命状态。 (6) 控制器发出电桥的听地址,电桥接收寻址成为听者后,接收选定传感器送来的数据。 (7) 控制器发出通令UNL,取消电桥的听受命状态。 (8) 控制器发出电桥的讲地址,使电桥成为讲者;又发出数字电压表的听地址,使数字电压表成为听者。于是数字电压表便测量电桥送来的测量信号。 (9) 控制器又发出通令UNL,取消听受命状态。 (10) 控制器发出数字电压表的讲地址,电桥讲者资格被自动取消,数字电压表成为讲者。 (11) 控制器使自己成为听者,于是数字电压表的测量结果就送至计算机。 (12) 计算机处理完测量数据后,作为控者清除接口,发出打印机的听地址。 (13) 打印机打印计算机送来的数据。 (14) 打印机打印完数据后,控制器选择下一个压力传感器,开始新的循环。
4.2 GP- IB 接口电路的设计 4.2.1 GP- IB 接口芯片简介 (本章重点介绍 Intel 公司的接口芯片)
4.2.1 GP- IB 接口芯片简介 一、 8291A接口芯片 8291A具有用硬件实现除控者之外的其余全部9种标准接口功能;具有自动三线挂钩联络、自动管理接口寻址等能力,大大简化了接口管理软件的设计。 由8个8位写寄存器和8个8位读寄存器组成,这些寄存器相互之间以及与接口功能和译码部件之间通过内部总线进行联系。 对8291A的程控就是通过对这些寄存器组进行读/写操作来完成的。例如,当8291被寻址为讲者时,就先将数据送到输出寄存器,然后。再进行挂钩操作,把数据送到接口母线上,以便控者进行读取。
8291A:40脚双列直插封装,引脚安排如图 面向微处理器总线的信号端: D0~D7:双向数据总线,RS0~RS2:片内寄存器的选择码输入端,CS:片选输入端,RD,WR :读、写选通输入端,INT:中断请求输出端,TRIG: 触发输出端,CLOCK: 时钟信号输入端,RESET: 复位信号输入端,DREQ,DACK :DMA操作请求输出端、响应信号输入端等 面向GP-IB标准接口总线的信号端: DIO1 ~DIO8 :8位标准接口数据总线输入/输出端,DAV ,NRFD ,NDAC :挂钩控制总线信号的输入/输出端,ATN,IFC,REN,SRQ,EOI: 为控制管理总线的输入/输出端以及双向端口。 上述信号端借助于收/发器,便能与标准接口系统有效地交换信息。
表 8291A内部寄存器一览表
二、 8292控者接口芯片 8292接口芯片仅有控者功能,并且它必须与8291联合使用。当两者一起使用时, 8292接口芯片仅有控者功能,并且它必须与8291联合使用。当两者一起使用时, 可以组合成具有全部十种接口功能的标准接口电路。 8292实质上是一片8041单片机,片内ROM固化了一段专门的程序,使内部RAM作为专用寄存器组使用,I/O端口用来提供总线的各种控制信号及辅助信号,以便与8291A有机地沟通起来,完成控者的功能。 8292:40脚双列直插封装,引脚安排如图 与微处理器相接的信号端主要有:D0~D7,CS,RD ,WR,RESET, A0等 与GP-IB总线相接的信号端有:DAV(双向握手信号,IFC(接口清除信号输出端),TCI,SPI,OBFI, IBFI, SRQ,SRQ等
三、 8293总线收/发器 为保证接入系统中每个仪器的接口对总线所具有的驱动能力都能符合特定的要求,接口芯片必须经总线收/发器。 8293总线收/发器是专门为配合8291A,8292接口芯片而设计的。 8293内部包括9路收/发通道和适应不同工作模式的附加电路, 每路的收/发方向可由T/R来控制。接收时采用施密特电路以增强抗干扰能力,发送时选用OC方式或三态方式。8293可预置成四种模式之一。
4.2.2 智能仪器的 GP- IB 接口设计 单独使用 8291就可以为智 能仪器组成功能 相当齐全的GP- IB接口。 右图示出了 某智能LCR测试 仪的GP- IB接口 原理图。仪器控 制采用单片机 8301, 接口电路 选用8291接口芯 片与四片母线收/ 发器MC3448相 连构成。
GP-IB接口部分初始化程序流程图及部分中断程序流程图
4.2.3 控制器的 GP-IB 接口设计 当8291与8292联合使用时,则可为一台微处理器系统组成GP-IB控制器接口,其原理如图所示。 图中,8291负责GP-IB的数据总线和握手总线交换信息;8292则控制GP-IB管理线中的4条(IEC,ATN,REN,SRQ),而余下的EOI总线则由双方分管:
4.3 串行通信总线
4.3 串行通信总线
ORG 0000H MOV TMOD,#20H ;定时器1设为模式2 MOV TL1,#0FAH MOV TH1,#0FAH ;置定时器初值 SETB TR1 ;启动T1 MOV SCON,#50H ;串口设置为方式1,REN=1 STA:CLR TI ;清发送标志 MOV P1,#00H ;送亮灯信号 ACALL DELAY ;调延时 MOV A,#0FFH MOV SBUF,A ;发送灭灯信号 JXFS: JNB TI,JXFS ;发送等待 JXJS: JNB RI,JXJS ;接收等待 CLR RI ;清接收标志 MOV A,SBUF ;接收数据 MOV P1,A ;接收送据(灭灯信号)送P1口 ACALL DELAY ;调延时 SJMP STA ;重复
DELAY: MOV R0,#0FFH ;延时子程序 DAL: MOV R1,#0FFH DAL1:DJNZ R1,DAL1 DJNZ R0,DAL RET END