GPIB接口专用芯片TNT4882
关键词:GPIB 接口 TNT4882
1 概述
TNT4882是美国NI公司的一款单芯片、高速、听/讲功能的兼备的GPIB(General purpose interface bus)接口专用芯片。它内部集成了Turbo488(高速传输电路)以及NAT4882(IEEE488.2兼容电路),并拥有诸多新的特性,能够兼容ANSI IEEE Standard 488.1和ANSI IEEE Standard 488.2规范,因而可以为GPIB系统提供一套完整的解决方案。为了达到更高的传输速率。TNT4882采用了单芯片FIFO缓存电路设计,其内置的16个增强型IEEE 488.1兼容收发器可以直接连接GPIB总线,以实现HS488传输模式(一种新的GPIB高速传输模式)。在兼容性方面,它与以往使用的μPD7210、TMS9914A中的寄存器设置完全兼容,用户可以将以前所用的代码直接移植到TNT4882上。同时,它所包含的Turbo488电路及其诸多新特性也可以在一定程度上减少软件的开销。另外,TMT4882还具有灵活的CPU接口,可以方便地连接各种16位或8位微处理器,并将CPU发出的消息和信号转化成相应的GPIB消息和信号,以使实现GPIB设备和CPU及内存之间的通信。
图1 双芯片模式结构框图
2 内部结构和外围时钟电路
2.1 TNT4882的内部结构
TNT4882的内部结构以其工作模式的不同而有所不同。工作模式可分为单芯片模式和双芯片模式两种,而双芯片模式又可分为Turbo+7210模式和Turbo+9914模式。工作模式的选择和转换由寄存器的设置来决定,不同的工作模式决定着FIFO与GPIB的连接方式、寄存器的状态和访问属性。
在双芯片工作模式下,NAT4882相当于μPD7210(Turbo+7210模式)或TMS9914A(Turbo+9914模式),但功能更加强大。此时的结构及工作过程如图1所示。当前GPIB写数据时,CPU首先将数据写入TNT4882的FIFO里,并由传输状态机将数据从FIFO传至NAT4882电路,再由NAT4882电路将数据传送至GPIB上;而当从GPIB上读数据时,过程则正好相反。
在单芯片工作模式下,FIFO可直接与GPIB相连而不需要传输状态机,其结构如图2所示。此时,TNT4882中寄存器的设置与Turbo+7210模式类似。
由于单芯片模式采用的是最简单且最快速的结构,且是NI公司推荐的TNT4882工作模式,因此,本文主要讨论这种模式。
2.2 外围时钟电路
TNT4882工作时需要40MHz的驱动时钟,产生时钟信号的方法有两种:一是采用40MHz的CMOS晶振,将晶振的输出接至TNT4882的XTALI管脚,并将XTALO管脚悬空;二是采用如图3所示的外围时钟电路。
图2 单芯片模式结构框图 图3 TNT4882外围时钟电路
3 寄存器简介
TNT4882内部寄存器的数量和种类都很多,而且在不同的工作模式下,寄存器的情况又不尽相同。本文只对单芯片模式以及与最基本的GPIB操作有关的一些寄存器进行简要地介绍。
需要注意的是,TNT4882内部的寄存器都是8位的。所以,每个寄存器的控制字也必须是8位。寄存器的地址通常是TNT4882的基地址加上各个寄存器所对应的偏移量。TNT4882的基地址由硬件电路决定,而每个寄存器对应的偏移量则是固定的,其范围从0至0x1F。寄存器有三种类型:只读、只写和读/写。表1列出了一些比较重要的寄存器类型。
表1 TNT4882的部分寄存器