GPIB接口(共3篇)
GPIB接口 篇1
0 引言
GPIB作为目前许多仪器的通信接口,有着高速、可靠、集成度高、易控制等优点。GPIB高速传输模式可以达到8Mbyte/s。GPIB在多仪器及联网方面非常方便,只要设置不同的地址,总线就能对每个GPIB接口仪器分别进行听说操作。
TNT4882芯片是NI公司开发的一款专门为GPIB通信设计的专用芯片,它内部集成了Turbo488(高速传输电路)、NAT4882(IEEE488.2兼容电路)与IEEE488.1(可兼容收发器),并拥有诸多新的特性,能够兼容ANSI IEEE Standard 488.1和ANSI IEEE Standard488.2规范,因而可以为GPIB系统提供一套完整的解决方案。
1 TNT4882架构与模式
TNT4882内部三部分电路相互连接成两种模式(单芯片与双芯片)中的其中一种,工作模式由内部寄存器设置来决定,不同的工作模式决定FIFO与GPIB的连接方式、寄存器的状态和访问属性。
TNT4882上电默认模式为双芯片模式,为了兼容性,它完全复制Turbo488/NAT4882芯片电路。双芯片模式如图1所示。在双芯片模式下I/O口访问期间,CPU访问Turbo488,并且所有的访问都经过NAT4882内部某一段地址范围。Turbo488管理FIFOs与NAT4882之间的数据传输,仲裁它们之间的数据传输和NAT4882的任何I/O访问。CPU访问NAT4882比访问Turbo488需要花费更长的时间,因为对NAT4882寄存器的访问必须通过Turbo488和它的仲裁器。
为了获得更高的传输速率,TNT4882可以通过软件设计成为单芯片模式,如图2所示。在单芯片模式下,FIFO缓冲器与GPIB收发器相连,CPU能够直接访问所有的寄存器。这种情况下,因为不用通过Turbo488,访问NAT4882的寄存器与访问Turbo488的寄存器花费的时间一样长。
TNT4882有两种不同的引脚配置:Generic配置与ISA配置。TNT4882通过电源VDD与地引脚的定位来决定使用的是哪一种配置。Generic引脚配置提供简单的接口,能够连接任何CPU。ISA引脚配置TNT4882,能够直接连接到ISA总线上,不需要任何外部逻辑电路或者数据收发器。
2 系统原理
本设计采用单芯片模式进行GPIB系统开发,通过GPIB接口实现控制单片机P0口8位I/O的输出。系统结构原理如图3所示,单片机作为控制单元控制TNT4882芯片的读写操作,实现GPIB通信功能。
3 硬件电路设计
电路设计如图4所示。由于TNT4882芯片内部集成度比较高,所以外围电路设计比较简单。51单片机采用锁存器实现地址/数据复用,并配备256K静态RAM存储数据。本设计使用5位波段开关实现GPIB地址设置,地址设置范围为1~32。
4 软件设计
4.1 芯片初始化
本设计采用的是单芯片模式,初始化过程如下:
(1)复位TNT4882芯片中的Turbo488电路。
(2)设置TNT4882芯片在Turbo+7210模式。
(3)配置TNT4882芯片为单芯片模式。
(4)确保Local Power-On信号有效。
(5)配置TNT4882芯片,为GPIB操作作准备:设置GPIB地址;设置初始串行轮询响应;配置初始并行轮询响应;使能中断;设置GPIB握手参数。
(6)清除Local Power-On信号,准备GPIB操作。
其中部分代码如下:
4.2 数据传输
数据传输分为初始准备、传输、结束传输3个阶段:(1)初始准备步骤:等待GPIB控制器完成GPIB地址模式设置,写操作时,设置成说状态,读操作时,设置成听状态;复位FIFO寄存器;配置寄存器(CFG)为需要的控制字;配置计数寄存器(CNTs)为所要传输的数据量;使能IMR0、IMR1和IMR2相应的中断位;给CMDR寄存器送GO指令;如果需要,使能IMR3中断。
(2)初始化完成后,数据传输就能够在系统内存与GPIB之间进行了。TNT4882能够自动管理FIFOs与GPIB之间的数据传输。所要考虑的是如何协调系统内存与FIFOs之间的工作。有两种传输方式:程序I/O与DMA。程序I/O使用轮询检查状态或驱动中断状态来实现,流程如图5所示。
(3)结束传输有3种方式:计数结束、TLCINT信号、软件终止。当满足这3个条件之一时,传输即结束。当传输结束时,还需要进行如下操作:给CMDR寄存器传输STOP指令;如果使用了计时器,则通过写AUXRJ寄存器终止计时器;如果使用了DMA传输方式,则禁止外部DMA控制器;读CNTs寄存器判断已经传输的字节数;读ISR3寄存器判断TL-CINT信号是否输出,如果为1,读ISR0、ISR1、ISR2寄存器判断什么原因导致传输结束;清除期望的中断使能位。
部分代码如下:
5 结语
TNT4882接口芯片功能齐全,能够方便地实现GPIB通信功能,其集成度高,几乎不需要其他辅助电路,大大简化了接口的硬件设计。设计的GPIB硬件电路简单实用,软件控制程序可移植性强。
摘要:介绍GPIB专用接口芯片TNT4882,并使用传统的51单片机设计控制GPIB通信。介绍GPIB接口的硬件设计与TNT4882芯片的下位机控制程序,并以实际应用为目的,给出编程基本框架,列出关键代码。
关键词:TNT4882,GPIB,51单片机,Labview
参考文献
[1]黄崧,储飞黄,杨景署.基于TNT4882GPIB接口设计[J].电子测量技术,2002,(5)
[2]许诚晰,吴启满,杨小雪.GPIB接口控制器的研究[J].工业仪表与自动化装置,2007,(3)
单片机的GPIB接口电路设计 篇2
关键词:单片机,GPIB,接口,电路设计,接口电路
GPIB是国际电子电气工程师协会于1974年制定的一种标准接口总线, 是一种面向程控仪器的通用接口总线, 由于其数据传输可靠稳定、能实现有效跟踪等优点, 自1974年推出以来, 便一直受到各大程控仪器厂商的青睐, 得到了广泛应用, 成为了电子测量仪器领域中除了RS232C外最为广泛的标准接口总线。不过, RS232C主要应用于数据终端同通信设备间的, 而GPIB则更适用于自动测试系统的建立。本文针对单片机在自动化仪器中的广泛应用, 在分析GPIB接口的基础上, 对AT89C51单片机的GPIB接口电路设计进行了研究, 得出了有效的设计方案, 能广泛应用于单片机程控仪器之中。
1 GPIB总线相关参数
GPIB总线最初被称为IP-IB总线, 后来被美国国家标准化组织接纳命名为IEEE标准488。GPIB总线是24芯并行无源总线, 包括8条数据线、3条信号交换线、5条控制信号线以及8条地线, 其数据传输方式采用位并行、字节串行的双向民间步传输方式。其中, 8条数据线分别是DIO1~DIO8, 3条信号交换线分别是AV、NRFD、NDAC, 5条控制信号线分别是ATN、REN、IFC、EOI和SRQ。消息采用负逻辑, 其中低电平为逻辑1, 高电平为逻辑0。
通过GPIB总线, 可以将计算机、数字示波器、数字电压表等多种设备连接起来组成一个能完成特定功能的自动测试系统。但在GPIB总线上连接的设备, 最多不能超过15台, 如果超过15台, 需要利用接口槽来扩充。在使用扩展器的情况下, GPIB总线传输距离能达到1000m。
2 单片机的GPIB接口电路的实现
GPIB接口可通过中小规模集成电路、软件模拟、GPIB专用大规模集成电路三种方式来实现。其中采用中小规模集成电路和软件模拟都比较复杂, 而且很难完全实现GPIB的全部功能, 在可靠性和应用效率上较差。因此, 在基于单片机的GPIB接口电路设计中, 我们采用GPIB专用大规模集成电路来实现GPIB接口电路的设计。
2.1 接口电路相关芯片
AT89C51:AT89C51是带有4K字节FLASH存储器的CMOS 8位微处理单片机, 由于采用了ATMEL高密度非易失存储器制造技术, 在稳定性和可靠性方面都有较好的表现, 并且与MCS-51指令集和输出管脚完全兼容, 包括32可编程I/O线, 5个中断源和可编程串行通道, 从而为众多嵌入式控制系统提供了高性价比的构建方案。管脚中, VCC为供电、GND为接地、P0口为8位漏级开路双向I/O口, P1口为内部上拉电阻8位双向I/O口, P2口同样为内部上拉电阻8位双向I/O口, P3口是8个带内部上拉电阻的双向I/O口, 可作为AT89C81的一些特殊功能口使用, RST为复位输入, /PSEN为外部程序存储器选通信号。基于AT89C51没有稳态逻辑的特性, 因此可以在低到零频率的状态下静态逻辑。
74LS244:74LS244是一种3态8位缓冲器, 通常作为总线驱动器使用, 由于没有锁存功能, 因此只是一个地址暂存器, 根据所获控制信号将总线上的地址码暂存起来。可以采用分时复用方法, 在同一条总线上传输数据和地址。
74LS245:74LS245是8路同相三态双向总线收发器, 是GPIB接口电路设计中常用的芯片之一, 主要承担驱动led或其它设备任务, 可以实现数据的双向传输, 并具备双向三态功能, 可输出数据, 也可输入数据。
74LS273:74L273是带有清除功能的8位触发器, 当清除端保持高电平状态时, 具有地址锁存功能, 其控制端是11脚CLK, 采用上升沿锁存机制。
CD4069:CD4069采用六个COS/MOS反相器电路构建, 在GPIB接口电路中主要是作通用反相器使用, 使用于不需要TTL驱动以及逻辑电平转换的电路之中。
2.2 硬件框架示意图
由于采用了大规模集成电路接口芯片, 因此本方案基于单片机AT89C51的GPIB总线的接口电路板的硬件实现较为容易, 仅通过74LS244、74LS245、74LS273以及CD4069四个芯片, 即可轻易地从硬件上实现基于单片机AT89C51的接口电路。
3 结语
目前, 基于GPIB总线的自动化程控仪器来构建自动测试控制系统, 已经成为未来机电自动化的主要发展方向。结合单片机数据处理和可编程能力的加强, 能够更好地改变传统仪器手工操作、单台使用的缺陷, 有利于更好地实现机电自动化, 现好地发挥仪器设备的能力, 提高工作效率, 提高经济效益。本方案所设计的基于单片机AT89C51的GPIB接口电路板可移植性强, 能很好地适应多种自动化程控仪器的需要, 并且具有接口电路简单、维护修理容易等有点, 在实际应用中几乎不再需要其它任何辅助电路, 是一套廉价、高效的GPIB接口电路设计方案, 有着极大的实际应用价值。
参考文献
[1]刘思久, 全宏波, 江秀丰.USB-GPIB总线控制器[A].全国第二届总线技术与测控系统工程学术报告会论文集[C], 2001
[2]吴正.基于GPIB的自动测试系统组态软件的研究[D].合肥工业大学, 2002
GPIB接口 篇3
1 整体设计思路
GPIB接口是HP公司于20世纪60年代末、70年代初开发的实用仪器接口系统。其对测试仪器的控制很方便, 并且具有较高的传输速度, 因此GPIB目前仍然是仪器控制中最常见的选择。
设计语言选择VB。VB是微软公司开发的包含协助开发环境的事件驱动编程语言, 拥有图形用户界面 (GUI) 和快速应用程序的开发 (RAD) 系统, 可以轻易的使用ADO连接数据库, 与Access数据库有很好的兼容性, 可以方便的进行移植和升级。
基于GPIB接口数字示波器的自动校准软件主要实现数字示波器所有校准项目 (包括直流增益测量, 频带宽度, 上升时间等) 的全自动化测试, 能自动完成测试数据运算、数据存储功能, 能够生成原始记录和证书/报告, 此外还包含了校准信息管理和查询功能。该自动校准软件的研制将在保证测试数据量值准确可靠的同时, 极大缩短校准的时间, 提高效率, 为科研工作解放出更多人力资源。
1.1 系统主体构架
系统主要包括输入/输出功能模块、校准测量功能模块、数据库编辑模块等。各个模块依附于主程序, 实现从人机交互界面自由调用各个功能模块, 同时协调模块之间的分工和时序问题。
由于不同厂家生产的不同型号数字示波器, 其控制指令也各不相同, 所以自动校准软件的需要在“输入/输出模块”中录入被校示波器的基本信息。“数据库编辑模块”完成接收、建立和保存被校示波器信息功能。数字示波器的型号将决定校准软件调用的“校准测试模块”。在完成设备校准、误差计算以及不确定度分析后, 将最终量值送达“数据库编辑模块”, 并建立存储表以存储校准数据和测试信息。最后由“输入/输出模块”连接后台数据库, 生成校准原始记录以及用户需要的证书/报表等资料。
1.2 程控过程
以VB作为语言环境, Access数据库存储数据, 进行整个程序控制。可以将校准过程分为三步:
第一步:被校数字示波器信息录入。
手动设置示波器校准仪以及被校数字示波器的GPIB地址后, 通过命令完成对GPIB通讯卡地址的初始化和对通讯端口的清除, 并指出数据库的路径、名称。在信息录入界面录入被校示波器信息, 如图1。校准软件依据“仪器型号”调用型号匹配的测量模块, 将命令送达被校示波器和示波器校准仪, 同时将被校示波器信息保存在数据库。此时, 自动校准准备就绪, 点击“确定”, 进入测试界面。
相关VB代码段如下:
第二步:自动校准过程。
测量界面将被校数字示波器所有校准项目罗列出来, 用户可以选择对所有校准项目进行校准, 也可以自主选择所需的校准项目。校准项目确定后, 依次开始校准。此时, 示波器校准仪输出标准波形信号, 被校示波器接收到信号且稳定后, 将示波器校准仪的标准值和被叫示波器的实测值传回给计算机, 计算机将此项校准数据放入数据库的存储表中, 然后弹出对话框, 由用户确认是否进行下一项校准。待选定的校准项目全部完成校准后, 计算机将后台数据库中的校准数据进行误差计算, 并与之前设定的参数指标相比对, 得出被校示波器最终的校准结论。
自动校准是该校准软件的关键部分, 包括直流增益精度, 阻抗, 上升时间, 频带宽度, 水平时间精度等在内的校准项目, 校准方法参考按照《JJF 1057-1998数字存储示波器校准规范》进行, 并且给出测量不确定度分析。
第三步:文件自动生成。
自动校准软件通过访问后台数据库, 将校准数据在WORD上重新排版生成原始记录、证书/报告。为了使生成的校准原始记录整洁美观, 先将预置的空白原始记录表格放入“格式文件夹”中, 当全部校准完成之后, 调用数据库中的各个表中, 将校准数据写入对应原始记录的空白处。
相关代码如下:
2 程控校准过程的实现
现以FLUKE 5820A作为示波器校准仪, 泰克公司3000系列示波器作为被校对象, 采用读取法对直流增益进行校准, 来具体说明该自动校准软件的程控校准过程。
由于不同型号示波器最大最小灵敏度档位不同, 所以在信息录入界面时选择泰克公司3000系列示波器后开始进行校准。设置示波器校准仪和被校示波器的GPIB地址后, 由计算机向示波器校准仪和被校示波器发出控制指令, 控制示波器校准仪的输出以及被校示波器的灵敏度, 其后选定校准项目。
首先设置被校示波器灵敏度为2m V/div, 示波器校准仪输出直流电压为6m V以及-6m V作为标准值, 记做U+与U-, 即在被校示波器屏幕中轴线正负3格时的电压值, 从被校示波器上读取相应电压值作为测量值, 记做Ur+与Ur-, 存入后台数据库中。
直流精度校准界面如图2所示, 校准时软件在后台数据库完成校准数据的采集和处理工作, 从而保证整个界面简洁干净, 也提高了校准效率。
相关代码如下:
该档位灵敏度校准完毕后选择下一档位灵敏度, 待第二个档位灵敏度校准完成后, 将Ur+与Ur-存入后台数据库该项目的表中。相关代码如下:
所有档位灵敏度的直流电压校准完毕后, 调用格式文件夹中的空白原始记录, 将测量值依次填入原始记录, 生成新的校准原始记录。直流电压测量原始记录如表1所示。
再根据如下公式计算直流增益G:
例如以上图数据为例CH1通道2m V/div档的直流增益为:
直流增益误差ΔGr为:
数字示波器的校准项目主要包括直流增益, 频带宽度, 输入阻抗, 上升时间以及扫描时间系数等。每项的校准方法和标称值都不一样, 所以需要将不同项目存入不同的表格中, 最后生成包含了所有校准项目的被校示波器原始记录、证书/报告。
3 结论
本文简单介绍了基于GPIB总线的数字示波器自动校准程序, 举例说明了校准过程。不难看出在数字示波器实际校准过程中, 程序代替手工操作, 在最大程度上消减了繁琐的仪器重复设置、读值的时间, 取值更加合理, 计算更加准确, 极大的提高了工作效率, 减小了人工操作和读数对校准数据和校准结论的影响。
参考文献
[1]自动测试及接口技术[M].北京:机械工业出版社, 2005.
[2]Visual Basic程序设计[M].北京:清华大学出版社, 2004.