自动控制网移动版

自动控制网 > 基础知识 > 机电一体化 >

计算机系统I/O接口扩展

    通常选用的微型计算机系统都已配备有相当数量的通用可编程序I/O接口电路,如并行接口8155、8255A、串行接口8251A、计数器/定时器8253以及DMA控制器和中断控制器等。但是选用通用的计算机系统用于控制生产对象时,往往接口和内存还不够用,必须扩展I/O接口及内存容量。因此,I/O接口扩展是计算机控制系统硬件设计的主要任务之一。

    1、地址译码器的扩展

    扩展I/O接口必然要解决I/O接口的端口(寄存器)的编址、选址问题。每个通用接口部件都包含一组寄存器,CPU和外围设备进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I/O端口。一个双向工作的接口芯片通常有4个端口,如Z-80PlO有A数据端口、B数据端口、A控制端口和B控制端口。8255A有A、B、C三个数据端口和一个控制端口。计算机主机和外部之间的信息交换都是通过接口部件的I/O端口进行的。因此扩展的地址译码电路不仅要提供接口芯片的片选信号,而且还能对芯片内的I/O端口(寄存器)寻址。

    前面已介绍了I/O接口有两种编址方式,即与存储器独立编址和统一编址,今以独立编址为例,说明如何扩展I/O接口的地址译码。

    地址译码要用译码器,常用的译码器有2—4(四中选一)、3—8(八中选一)和4—16(十六中选一)译码器等。微机系统中最常采用的是74LSl38(3—8)译码器和74LSl55(双2—4)译码器。74LSl38的管脚图如图1所示。其译码功能是:A、B、C三个地址输入端分别输入000~111时,则~依次是低电平,

图1 74LS138管脚图

    例1:此例是采用8位的Z—80CPU的微机控制系统,按控制要求需扩展一个并行接口芯片PIO、一个计数器/定时器(CTC)、一个8位的A/D转换器(ADC0808)和一个8位的D/A转换器(DAC0832)。若指定它们的地址分别为40H~43H、44H~47H、58H和5CH,那么可以设计出如图所示的地址译码电路。

    图中,独立编址方式片选信号只利用地址总线的低8位()译出,为了区别是访问存储器还是访问I/O接口,信号是必须用的。同时为了控制数据流向也要使用读()、写()信号。但是Z—80PIO和Z—80CTC芯片有些特殊,没有信号引脚,它是利用三个信号通过内部逻辑电路的组合而得到读、写、复位、中断响应等控制信号的。ADC0808只提供按58H地址的启动转换信号(START和ALE同时为“1”)并允许读出转换后的数据信号(OE=1)。DAC0832只提供按5CH地址的一次锁存信号,同时为“0”(ADC0808和DAC0832的原理、接线等。

    为了准确的得到ADC0808和DAC0832的译码信号,使用了四或门74LS32和四或非门74LS02构成简单的逻辑电路。

图2 I/O接口地址译码扩展

    2、负载能力的扩展

    扩展的I/O接口和存储器的数据线都同时挂到CPU的数据总线上,各芯片的地址都要挂到CPU的地址线上,控制线也一样,要挂到CPU的控制总线上。计算机系统设计时,都考虑了各总线的驱动能力问题,CPU的数据、地址和控制总线都经过总线收发器(如74LS245)或缓冲器(如74L8244)才形成系统总线。因此,系统总线的负载能力较强。但是其负载能力还是有限的,不能无限制的增加,特别是当设计者自己设计微机控制系统时,更有必要考虑CPU各总线的负载能力。因为当负载过重时,各信号线的电压就会偏离正常值,“0”电平偏高,或“1”电平偏低,造成系统工作不稳定、抗干扰能力差,严重时甚至会损坏器件。因此总线负载能力的扩展也是I/O接口扩展设计中必须考虑的问题之一。

    微机系统中,通常采用两种不同工艺制造的器件,即TTL器件和MOS器件(TTL又分标准TTL器件74XXX,和低功耗肖特基TTL器件74LSXXX)。它们之间级连使用,逻辑电平是一致的(“1”电平≥1.8V~3.8V,“0”电平≤0.8~0.3V),但功耗和驱动能力有差别。它们的输入输出电流,如表2—4所示。

    由表2可见,MOS器件的输入电流小,驱动能力也差。一个MOS器件只能带一个标准74XXX器件(约1.6 mA)或四个74LSXXX器件(4×0.4mA),但它可以驱动10个左右的MOS器件。通常,同类器件带8~10个没有问题,若超过了就要加驱动器。

表2 TTL和MOS器件输入输出电流

器件
I              意义

74XXX

74LSXXX

MOS

I1H

输入为高电平时的输入电流

40A

20A

10A

I1L

输入为低电平时的输入电流

-1.6mA

-0.4mA

-0.1mA

I0H

输出为高电平时的拉电流

-0.4mA

-0.2~-1.2mA

-0.2mA

I0L

输出为的电平时的灌电流

16mA

8~16mA

1.6mA

    应用总线收发器可以提高总线驱动能力。Intel系列芯片的典型收发器为8286,是8位的。所以,在数据总线为8位的8088系统中,只用一片8286就可以构成数据总线收发器,而在数据总线为16位的8086系统中,则要用2片8286。

    从图3中,可以看到8286具有两组对称的数据引线,~为输入数据线,为输出数据线,当然,由于在收发器中数据是双向传输的,所以实际上输入线和输出线也可以交换。用T表示的引脚信号就是用来控制数据传输方向的。当T=1时,就使为输入线,当T=0时,则使为输入线。在系统中,T端和CPU的DT/R端相连,DT/为数据收发信号。当CPU进行数据输出时,DT/为高电平,于是数据流由进入,从

本文已影响
最近关注
0基础免费学PLC,扫描观看

扫描上方二维码免费观看PLC视频课程