收藏 分享(赏)

GPIB接口芯片TNT4882开发及应用.pdf

上传人:精品资料 文档编号:10346330 上传时间:2019-11-02 格式:PDF 页数:4 大小:478.16KB
下载 相关 举报
GPIB接口芯片TNT4882开发及应用.pdf_第1页
第1页 / 共4页
GPIB接口芯片TNT4882开发及应用.pdf_第2页
第2页 / 共4页
GPIB接口芯片TNT4882开发及应用.pdf_第3页
第3页 / 共4页
GPIB接口芯片TNT4882开发及应用.pdf_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、自 动化应用 自动化应用0 引言GPIB 作为目前许多仪器的通信接口 ,有着高速 、可靠 、集成度高 、易控制等优点 。 GPIB 高速传输模式可以达到 8Mbyte/s。GPIB 在多仪器及联网方面非常方便 ,只要设置不同的地址 ,总线就能对每个 GPIB 接口仪器分别进行听说操作 。TNT4882 芯片是 NI 公司开发的一款专门为 GPIB通信设计的专用芯片 ,它内部集成了 Turbo488(高速传输电路 )、NAT4882(IEEE488.2 兼容电路 )与 IEEE488.1(可兼容收发器 ),并拥有诸多新的特性 ,能够兼容 ANSI IEEE Standard 488.1 和 AN

2、SI IEEE Standard488.2 规范 ,因而可以为 GPIB 系统提供一套完整的解决方案 。1 TNT4882 架构与模式TNT4882 内部三部分电路相互连接成两种模式(单芯片与双芯片 )中的其中一种 ,工作模式由内部寄存器设置来决定 ,不同的工作模式决定 FIFO 与 GPIB的连接方式 、寄存器的状态和访问属性 。TNT4882 上电默认模式为双芯片模式 , 为了兼容性 ,它完全复制 Turbo488/NAT4882 芯片电路 。 双芯片模式如图 1 所示 。 在双芯片模式下 I/O 口访问期间 ,CPU 访问 Turbo488,并且所有的访问都经过 NAT4882内 部 某

3、 一 段 地 址 范 围 。 Turbo488 管 理 FIFOs 与NAT4882 之间的数据传输 , 仲裁它们之间的数据传输和 NAT4882 的任何 I/O 访问 。CPU 访问 NAT4882 比访问 Turbo488 需要花费更长的时间 ,因为对 NAT4882 寄存器的访问必须通过 Turbo488 和它的仲裁器 。图 1 双芯片模式为了获得更高的传输速率 ,TNT4882 可以通过软件设计成为单芯片模式 ,如图 2 所示 。 在单芯片模式下 ,FIFO 缓冲器与 GPIB 收发器相连 ,CPU 能够直接访问所有的寄存器 。 这种情况下 ,因为不用通过 Tur-bo488,访问 N

4、AT4882 的寄存器与访问 Turbo488 的寄存器花费的时间一样长 。TNT4882 有两种不同的引脚配置 :Generic 配置与ISA 配置 。TNT4882 通过电源 VDD 与地引脚的定位来决定使用的是哪一种配置 。 Generic 引脚配置提供简单 的 接 口 , 能 够 连 接 任 何 CPU。 ISA 引 脚 配 置TNT4882,能够直接连接到 ISA 总线上 ,不需要任何外GPIB接口芯片TNT4882开发及应用冯文武 ,张明志 ,李树明(中国空间技术研究院 514 所 ,北京 100086)摘 要 :介绍 GPIB 专用接口芯片 TNT4882,并使用传统的 51 单

5、片机设计控制 GPIB 通信 。 介绍 GPIB 接口的硬件设计与 TNT4882 芯片的下位机控制程序 ,并以实际应用为目的 ,给出编程基本框架 ,列出关键代码 。关键词 :TNT4882;GPIB;51 单片机 ;LabviewDevelopment and Application of GPIB Interface Based on TNT4882FENG Wen-wu, ZHANG Ming-zhi, LI Shu-ming(No.514 Institute of China Academy of Space Technology (CAST), Beijing 100080, Chi

6、na)Abstract:The TNT4882 chip of GPIB special interface is introduced. The traditional 51 MCU is used to design the GPIBcommunication. The hardware design of GPIB interface and control program of TNT4882 chip slave computer are introduced.The basic frameworks of programming and key codes are given ba

7、sed on practical application.Keywords:TNT4882;GPIB;51 MCU;Labview作者简介 :冯文武 (1976-),工程师 ,从事自动控制和防静电方向的技术研究 。收稿日期 :2012-03-29系统解决方案422012自动化应用 7 期部逻辑电路或者数据收发器 。2 系统原理本设计采用单芯片模式进行 GPIB 系统开发 ,通过 GPIB 接口实现控制单片机 P0 口 8 位 I/O 的输出 。系统结构原理如图 3 所示 ,单片机作为控制单元控制TNT4882 芯片的读写操作 ,实现 GPIB 通信功能 。图 3 系统结构图3 硬件电路设计电路

8、设计如图 4 所示 。由于 TNT4882 芯片内部集成度比较高 ,所以外围电路设计比较简单 。 51 单片机采用锁存器实现地址 /数据复用 , 并配备 256K 静态RAM 存储数据 。 本设计使用 5 位波段开关实现 GPIB地址设置 ,地址设置范围为 132。图 4 电路原理图4 软件设计4.1 芯片初始化本设计采用的是单芯片模式 ,初始化过程如下 :(1)复位 TNT4882 芯片中的 Turbo488 电路 。(2)设置 TNT4882 芯片在 Turbo+7210 模式 。(3)配置 TNT4882 芯片为单芯片模式 。(4)确保 Local Power-On 信号有效 。(5)配

9、置 TNT4882 芯片 ,为 GPIB 操作作准备 :设置 GPIB 地址 ;设置初始串行轮询响应 ;配置初始并行轮询响应 ;使能中断 ;设置 GPIB 握手参数 。(6)清除 Local Power-On 信号 ,准备 GPIB 操作 。其中部分代码如下 :void Initialize_Interface()CMDR=0x22; /soft reset commandSPMR =0x80; /to place TNT 4882 in Turbo +7210 mode.AUXMR=0x80; /SPMR=0x99; /AUXMR=0x99; /KEYREG=0x00;HSSEL=0x01;

10、 /To place TNT 4882 in one chipmode.AUXMR=0x02; /chip reset auxiliary command toassert the local pon message./*Configure the TNT4882 for GPIB Operation*/ADMR=0x31; / Set the GPIB Address, this stepset dual primary addressing mode.GPIB_Addr=3; / Set addressADR=GPIB_Addr; /set GPIB address for the de-

11、viceADR=0xe0; /disable internal Address Register 1since TNT 4882 has no secondary address.SPMR=0xc0; /11000000 Write the Initial Seri-al Poll Response/*Enable Interrupts*/IMR0=0x8f; /1000 1111IMR1=0x3c; /0011 1100IMR2=0x00; /0000 0111IMR3=0x1f; /0001 1111HIER=0x80; /GPIB handshake parametersAUXMR=0x

12、51; /Write the Hold off HandshakeimmediatelyAUXMR=0x00; /clear the local power on mes-sage to begin GPIB operation.4.2 数据传输数据传输分为初始准备 、传输 、结束传输 3 个阶段 :(1)初始准备步骤 :等待 GPIB 控制器完成 GPIB图 2 单芯片模式系统解决方案43自 动化应用 自动化应用(下转第 75 页 )地址模式设置 ,写操作时 ,设置成说状态 ,读操作时 ,设置成听状态 ;复位 FIFO 寄存器 ;配置寄存器 (CFG)为需要的控制字 ;配置计数寄存器 (CN

13、Ts)为所要传输的数据量 ;使能 IMR0、IMR1 和 IMR2 相应的中断位 ;给 CMDR寄存器送 GO 指令 ;如果需要 ,使能 IMR3 中断 。(2)初始化完成后 ,数据传输就能够在系统内存与 GPIB 之间进行了 。 TNT4882 能够自动管理 FIFOs与 GPIB 之间的数据传输 。 所要考虑的是如何协调系统内存与 FIFOs 之间的工作 。有两种传输方式 :程序 I/O 与 DMA。 程序 I/O 使用轮询检查状态或驱动中断状态来实现 ,流程如图 5 所示 。图 5 GPIB 轮询数据传输流程图(3)结束传输有 3 种方式 :计数结束 、TLCINT 信号 、软件终止 。

14、 当满足这 3 个条件之一时 ,传输即结束 。 当传输结束时 ,还需要进行如下操作 :给 CMDR寄存器传输 STOP 指令 ;如果使用了计时器 ,则通过写 AUXRJ 寄存器终止计时器 ;如果使用了 DMA传输方式 ,则禁止外部 DMA 控制器 ;读 CNTs 寄存器判断已经传输的字节数 ; 读 ISR3 寄存器判断 TL-CINT 信号是否输出 , 如果为 1, 读 ISR0、ISR1、ISR2寄存器判断什么原因导致传输结束 ; 清除期望的中断使能位 。部分代码如下 :void GPIB_Talk(unsigned char Data1)CMDR =0x10; /reset FIFO co

15、mmand to CMDRCFG =0x59; /GPIB write operation,FIFOB first,EOI asserted on last /byte of a GPIB write,8-bit mode set.EOSR =0x21; /! endcharacter 符IMR0 =0x82;IMR1 =0xa4;IMR2 =0x00;IMR3 =0x5f;AUXMR=0x9c;AUXMR=0xe8; /T1 delayAUXMR=0x51;CMDR=0x04; /Go command to the CMDRIMR3=0x5f;talk_ready:if(ISR3 ready

16、 yesSend_Data(Data1); /Transfer Datagoto talk_stop;CNT0+;if(CNT1=0x00) /DONE?goto talk_stop;elsegoto talk_ready;else /ready noif(ISR3elsegoto talk_ready;talk_stop:CMDR=0x08;IMR3=0x5f;AUXMR=0xf0;AUXMR=0x55;AUXMR=0x56;AUXMR=0x57;系统解决方案442012自动化应用 7 期5 结语TNT4882 接口芯片功能齐全 , 能够方便地实现GPIB 通信功能 ,其集成度高 ,几乎不需

17、要其他辅助电路 ,大大简化了接口的硬件设计 。 设计的 GPIB 硬件电路简单实用 ,软件控制程序可移植性强 。参考文献1 黄崧 , 储飞黄 , 杨景署 . 基于 TNT4882 GPIB 接口设计J. 电子测量技术 ,2002,(5)2 许诚晰 , 吴启满 , 杨小雪 . GPIB 接口控制器的研究 J.工业仪表与自动化装置 ,2007,(3)(上接第 44 页 )箱 、空开等 ,当本设备产生故障时 ,工作人员仅需拉下空开 ,使本设备停止工作即可 ,不影响锅炉正常运行 。为便于人机交互 ,仪表部分进行了傻瓜式设计 。 输入部分由 4 个按键组成 , 主要功能是对开机启动延时时间 、声光报警值

18、 、炉排报警值 、数码管显示亮度等进行设置 ,键 1 是复位 ,键 2 进行菜单选择 、键 3 和键 4是对值的增减进行设置 。显示部分由 MAX7219 和 3 位共阴数码管等组成 。 MAX7219 是一块串口通信的静态数码管驱动芯片 ,客户可以根据需要调节数码管亮度 。仪表内部有两个输出继电器 , 用于连接炉排和声光报警 ,其中炉排串接在炉排继电器的常闭触点上 ,目的是当本系统出现故障后 ,工作人员仅需将空开断电即可 ,不会影响炉排的正常使用 。 声光报警器包含一个韩国蜂鸣器 、一个闪光报警器 ,其中蜂鸣器具有四段报警声选择 , 不同的报警声代表不同意义 , 如除渣机转速卡死 、除渣机转

19、速过低等 。 根据需要还可对报警音量大小进行相应设置 。 闪光报警器的作用 :提示本除渣机出现故障 ;快速向工作人员指示第几号除渣机出现问题 。3 软件设计软件流程如图 2 所示 。 上电后 ,处理器开始对其自身进行初始化 ,包括 RAM、看门狗 、定时器 、引脚配置等 ,再对键盘 、MAX7219、继电器输出驱动等进行初始化工作 ,从 flash 存储器中取出延时时间值 、显示亮度值 、声光报警值 、炉排报警值等各项参数 。 进入正常工作程序前 ,CPU 根据取出的延时时间值进行倒计 ,让除渣机有时间达到匀速值 ,以免误报警 。然后 ,CPU 从测速传感器电路取出测速信号 ,除渣机转一圈 ,

20、八齿转速轮也转一圈 ,这样测速传感器采集到 8 个方波信号 ,CPU 测量方波信号的周期即可得到当前除渣机转速值 。 并将这个转速值与从 flash取出的报警值进行对比 ,如果小于报警值 ,则启动定时器 ,为避免误报 ,定时器设定为 40s,即 40s 内除渣机值都小于所设报警值 ,启动报警驱动电路 ,声光报警电路工作 ;如 40s 内除渣机正常工作 ,则取消定时器定时 ,消除定时值 ;如果 40s 后除渣机仍没有正常工作 ,且转速低于炉排报警值 ,炉排继电器将工作 ,将炉排暂停 。 这样工作人员在处理出现故障的除渣机时 ,炉排不会继续排出炭渣 ,堵塞本已卡死的除渣机 ,这为工作人员留下处理时间 。CPU 把采集到的转速信号通过 MAX7219 驱动芯片送往数码管显示电路 ,实时显示当前除渣机转速值 ,判断是否启动报警器和炉排继电器 。 键盘电路通过中断对各项参数进行设置 。参考文献1 杨帮文 .新型接近开关和光电开关实用手册 (第 1 版 )M.北京 :电子工业出版社 ,20092 张毅刚 .单片机原理及应用 M.北京 :高等教育出版社3 詹友刚 .Pro/E 野火版 5.0 高级应用教程 M.北京 :机械工业出版社4 柳春锋 .Protel99se 实用教程 M.北京 :高等教育出版社传感检测及物联网系统图 1 硬件结构75

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报