RS232串行接口实现GPIB接口的发送和接收

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要:本文的目的是利用一台电脑RS232串行接口实现GPIB接口的发送和接收,并有能力跟RS232及周边设备的GPIB进行连接。其主要特点在于串行通信的波特率可以由用户和被自动化的数据流调整。

1、引言

如今,越来越多的测试和测量仪器可连接到通用接口总线(GPIB),这使该技术的掌握和交流更为容易。所以,必须有一个GPIB接口。在一般情况下,如果该仪器是基于个人计算机(PC ),则现有的PCI-GPIB卡或USB接口的GPIB卡都可以使用,但成本较高。此外,有大部分是基于微控制器上的,它有RS232接口但不具备PCI或USB接口。因此,RS232 - GPIB接口是一种扩大GPIB的功能的低成本的解决方案。尽管还有一些的RS232- GPIB卡,我们证实简化RS232 - GPIB接口架构和加快串行通信的速度可以来满足更高的要求。

2硬件设计研究的RS232 - GPIB接口

2.1硬体架构的界面

该RS232 - GPIB接口,其核心部分是8051单片机,有两个端口,一个是RS232端口另一个是GPIB的端口。它不仅可以通过RS232串口端口连接PC,而且还可以连接其他设备来扩大GPIB接口。串行设备为了满足不同波特率的串行传输,可以由用户来设置波特率。此外,在数据量和处理速度的基础上数据流可以自动控以确保数据传输的可靠性。除微控制器外最重要的部分是RS232 - GPIB接口的TNT4882 GPIB接口芯片。

2.2 TNT4882使用范围

国际TNT4882提供了一个单片机向GPIB发送/接收的接口。它有三个不同的内部硬件架构:单芯片模式,涡轮7210模式,与Turbo 9914模式。其中第一个芯片的模式是最简单和最快的TNT4882体系机构,其中先入先出(先进先出)缓冲器的TNT4882是直接连接到GPIB 的。它可以很容易地接到任何16 或8位微处理器。除了一个40 MHz的时钟电路外,TNT4882可以直接连接到GPIB的。

在设计方面,bus B(D7类- 0 )的TNT4882是用于8位输入/输出通道,连接到8051数据总线。32个寄存器分别位于8051外部数据存储器和32字节输入/输出内存0x00 〜

0x1f 。该TNT4882可以中断处理器断言其中断信号INTR以及哪些是活跃高的。因为8051的IRQ线是低作用的,所以INTR以及信号TNT4882必须倒置,然后连接到一个可用的中断线路。因此,一个通用阵列逻辑(GAL器件)芯片是用来锁存地址总线信号,并产生了积极的CSN和中断信号。此外,max708是用来复位的8051微控制器和TNT4882 。

2.3波特率调整和串行通信的流量控制串行通信

RS232 - GPIB接口可通过一个RS-232C电缆连接到串口设备。由于串行通信设备的波特率相关性,连接到8051单片机端口1的一组交换机的波特率可以从1200到115200中设置。

作为核心部分的RS232 - GPIB接口,8051单片机串行通信提供与RXD (串行输入端口)边和TXD脚发送(串行输出端口)密码的功能。无流量控制线定义了RS232系列的标准,当在处理时间内接收缓冲区满或没有接收准确的数据时,数据可能会丢失。为了提高传输的可靠性,免插脚的8051采用硬件握手方式,以允许或拒绝转让信息请求。硬件握手功能始终活跃在串行数据传输。该p1.0的8051 ,被作为RTS的信号线来连接到一级转换芯片的RS232连接器的CTS线9针的标准。当RTS的路线是中断的,它表明RS232 - GPIB接口准备好从串行设备中接收数据。同时,以串口设备接收和发送的信号作为CTS的信号。如果

在输出到GPIB的端口之前接收数据的缓冲区不够大,则输入的数据将被溢出。为了避免这种情况,RTS线可以被暂停传输直到接口再次准备好接收数据。当串口设备不再准备接收数据时RS232 - GPIB接口也可以暂停传输,CTS被重置。

2.3软件设计界面

该软件的界面分为三个部分:初始化系统,串行通信和GPIB的数据传输。软件的主要部分是如何控制TNT4882 。

使用TNT4882的第一件事就是初始化,其中包括选择一个芯片模式,配置GPIB操作,然后TNT4882可以作为接收机和发送机完成GPIB的传输等。一个TNT4882 GPIB的传输操作有三个主要阶段:初始化,调任,和终止,然后由GPIB控制TNT4882的接收或发送。当记忆系统和GPIB之间的数据必须转移时,我们唯一需要做的就是数据传输系统内存和FIFOS的TNT4882协调之间。而FIFOS和GPIB的之间的数据传输是由TNT4882软件的自动协助。

有三种途径转移存储器和FIFOS 之间的数据:访问的地址,核实后,中断和DMA 。

中断服务器(ISR3)最重要的是GPIB读写过程的纪录和显示不充分的FIFO (NEF )位的地址。如果NEF = 1时,TNT4882 FIFOS不充分。FIFO (NEF )位地址显示的是不空的FIFO 。如果等量线= 1 ,TNT4882 FIFOS不是空的。中断源2 (INTSRC2 )位表明FIFOS在写入过程中目前至少有一半是空GPIB或在读取中至少半满。所有这些状况比特可用于GPIB的读取和写入,加快数据处理速度。当等量线= 1和TNT4882作为接收机,数据可以被读出从FIFOS中。如果NEF = 0 ,16字节,可以阅读和记忆保存在一起,然后被发送到串口设备;否则,如果intsrc2 = 1时,8个字节,可以一起来读,否则数据必须进行一个又一个处理。

4个应用程序的接口

基于PC机的RS232 - GPIB接口已普遍应用于可编程高精确曲线示绘图。绘图器标准命令为,从串口界面然后再转换到正确的功能的可编程仪器(SCPI语言)。在重复测量模式下,如果是9600波特率40秒,而115200波特率3秒,则有40kb透过介面被发送到GPIB的接收机。如果流量控制功能没有被使用,则有些数据就会遭到破坏并该曲线会有误差。

5结论

RS232 - GPIB接口,是用来作为GPIB的接收或发送,用户不需要知道更多关于GPIB的标准,就可以把它作为一个通用的串口设备。因为TNT4882功能达到了极限,所以RS232 - GPIB的卡不能用来作为GPIB控制器

相关文档
最新文档