在MN//MX信号为低电平的系统状态下,为了译出/S0,/S1和/S2状态线,必须使用8288总线控制器,用以产生系统总线信号。为了将几个微处理器接到一组系统总线上,或者为了给一个8086提供几组系统总线,也可使用8288总线控制器。 8288总线控制器的基本作用是译出/S0,/S1和/S2三个状态信号的意义但这些功能用个简单的3-8译码器即可完成。8288除此之外还有下列功能:
(1) 8288能产生系统总线或仅有I/O装置的总线的控制信号。
(2) 可浮空系统总线信号,以允许直接存储器访问,或仲裁总线优先权。 (3) 两根写控制线提供备用的先行控制输出是专为慢速存储器或I/O装置而设计的。
(4) 可以封装控制信号,作为多总线或多微理器结构中实行存储器保护逻辑的一种方法。
(5) 产生线路驱动器所需的信号。
(6) 产生简单或复合中断逻辑所需的控制信号。
8288总线控制器是利用双极工艺制作的,为20引脚的双列直插封装,所有信号为TTL电平兼容。
1.6.1 8288总线控制器信号与引脚分配
图1.56示出了8288的信号与引脚分配。
控制信号有/S0,/S1及/S2产生:
/S0 | /S1 | /S2 | 8086 | 8288控制输出 |
0 0 0 0 1 1 1 1 | 0 0 1 1 0 0 1 1 | 0 1 0 1 0 1 0 1 | 中断响应 I/O读 I/O写 暂停 取指令 存储器读 存储器写 空操作 | /INTA与/MCE /IORC /IOWC,/AIOWC 无 /MRDC /MRDC /MWTC,/AMWC 无 |
| | | | |
8288与8086的控制信号时序基本相同。
从前面已介绍过的8086的读写总线周期的时序可知读写控制信号出现低脉冲要比写控制信号提前约一个时钟周期。8288产生两个备用写控制信号,其时序与读控制信号相同。
这些备用写控制信号被称为先行写控制信号,因为它们要比标准的写控制信号提前一个时钟周期出现低电平。
引脚名 | 说明 | 类型 |
/S0,/S1,/S2 CLK /AEN CEN IOB /MRDC /MWTC /AMWC /IORC /IOWC /AIOWC /INTA MCE//PDEN ALE DT//R DEN Vcc,GND | 总线周期状态信号 TTL时钟信号 总线优先级控制/开启 命令开启 模式控制 存储器读开启 存储器写开启 先行存储器写开启 I/O读开启 I/O写开启 先行I/O写开启 中断响应 串级/外设数据开启 地址锁存开启 数据方向控制 数据缓冲开启 电源,地 | 输入 输入 输入 长线驱动器输入 输入 输出,三态 输出,三态 输出,三态 输出,三态 输出,三态 输出,三态 输出,三态 输出 输出 输出 输出 |
| | |
所以,8288系统总线控制信号可概括如下:
/MRDC是存储器读控制信号。
/MWTC是存储器写控制信号。
/AMWC是存储器写控制信号,其时序与MRDC一致。
/INTA是存储器读控制信号,它在两个中断响应总线周期期间输出。
/IORC是I/O装置读控制信号。
/IOWC是I/O装置写控制信号。
/AIOWC是备用I/O装置写控制信号,其时序与/IORC一致。
连接在总线上的装置大致都用/IOWC和/MWTC,或者用/AIOWC和/AMWC,但不会四种信号都用。即是说,你要么用正规的写控制信号,要么用先行写控制信号。
所有8288控制信号都是三态的。它们可以被禁止,从而可以与系统总线断开。
还有两种选用控制信号,它们可改变8288总线控制器的控制信号逻辑。
利用IOB引脚,你可以在I/O总线模式或系统总线模式下使用8288器件。
利用CEN引线,你可封锁控制信号。
当IOB引脚接收高电平输入时,8288总线控制器只产生控制I/O总线的信号。IOB高电平是/MRDC,/MWTC和/AMWC恒为浮空,但输出/INTA,/IORC,/IOWC和/AIOWC信号。在I/O总线模式中,这四个I/O控制信号不能浮空。由于这4条I/O控制器总是有效的,故使8288产生的I/O总线是个逻辑总线,你不能与其他微处理器共用这一局部总线。
8288I/O总线有两个控制信号,即/PDEN和/DT//R,它们驱动I/O口和长线驱动器。/DT/R,在8086的有关章节中介绍过,是控制双向总线驱动器用的。在高电平时,DT//R使总线驱动器处于输出状态;在低电平时,DT//R使总线驱动器处于输入状态。/PDEN发出低脉冲作数据开启信号。/PDEN等效于8086输出的标准总线数据开启信号/DEN。
IOB是低电平时产生正规系统总线。所有七个控制信号都是有效的;然而,/AEN是总线选通信号(与8080A系统中8288总线控制器用的/BUSEN信号很相似)。
当IOB是高电平并产生I/O总线时,/AEN无作用。只有当IOB是低电平,产生系统总线时,/AEN才有作用。
在IOB是低电平,/AEN是高电平时,所有控制信号都浮空。当IOB和/AEN都是低电平,控制信号接通系统总线。你可用/AEN来完成总线优先级仲裁逻辑或直接存储器访问逻辑。
CEN用于禁止(而不是浮空)控制信号。在8288产生系统总线或I/O总线时,CEN均起作用。CEN一般都是高电平。当CEN是低电平,控制信号均置为禁止状态,CEN不浮空信号,它只是禁止可能使控制信号脉冲变为低电平的逻辑。
控制信号 IOB CEN /AEN | 对控制输出的作用 |
/INTA /IORC /IOWC /AIOWC | /MRDC /MWIC /AMWC |
模式 | 浮空? | 有效? | 模式 | 浮空? | 有效? |
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 | 系统 系统 系统 系统 I/O I/O I/O I/O | 接通 浮空 接通 浮空 接通 接通 接通 接通 | 失效 失效 有效 失效 失效 失效 有效 有效 | 系统 系统 系统 系统 I/O I/O I/O I/O | 接通 浮空 接通 浮空 浮空 浮空 浮空 浮空 | 失效 失效 有效 失效 失效 失效 有效 有效 |
| | | | | | |
CEN控制线允许存储器变换。下面是几种可能性:
(1) 在多总线结构中,一组存储器地址可访问多组总线上的存储器。为了避免竞争,你可用CEN信号有选择地禁止总线,以保证在8086访问复用存储器地址时实际响应的另外一组总线。
(2) 在较大的微计算机系统中常常会遇到特许存储器。在微计算机系统变得越来越大时,特许存储器也会变得越来越普遍。特许存储器是只有在特定情况下才能访问的存储器。往往系统程序运行与特许存储器,应用程序运行于非特许存储器,这就能防止应用程序破坏系统程序的故障,也能防止未经许可就访问保留的存储空间。
DT//R和DEN是两个标准的缓冲器控制信号,在8288产生正规的系统总线时发出这两个信号。8288产生的这两个控制信号从形式到作用都和8086产生的信号相同。DT//R决定双向缓冲器的数据方向。DEN是个锁存开启信号。
8288产生两个中断控制信号:/INTA和MCE。/INTA对系统总线或I/O总线均是有效的,MCE与/PDEN共用一只引脚,只对系统总线有效。
如前所述,8086在响应中断时执行两个总线周期。在每个总线周期中,/INTA作为低电平读脉冲输出。在第二个低电平/INTA脉冲期间,被响应的装置必须送回一个8位代码,它被8086用作中断向量。8288产生的/INTA控制信号与8086的/INTA控制信号在系统总线和I/O总线上产生的作用相同。增加MCE控制信号是用于采用类似于8259A优先级中断控制器的较大的微计算机系统。如果你有8250A优先级中断主控制器和8259A优先级从控制器,则你可用MCE控制主控制器,而用/INTA控制从控制器。