内容正文:
微机原理与接口技术
(第2版 )
第6章 微机接口技术基础
6.1 微机接口的基本功能与结构
6.2 I/O端口及其编址方式
6.3 I/O端口的地址译码技术
6.4 I/O接口的数据传输控制方式
6.3 I/O端口的地址译码技术
6.3.1 I/O端口地址译码
6.3.2 门电路地址译码电路
6.3.3 通用译码器芯片地址译码电路
6.3.4 比较器地址译码电路
6.3.5 可编程逻辑器件译码电路
6.3 I/O端口的地址译码技术
6.3.1 I/O端口地址译码
输入信号:
◇地址信号A15~A0,通常只考虑A9~A0;
◇读写控制信号IOR#、IOW#;
◇DMA地址允许信号AEN,AEN信号用于区分是CPU访问I/O系统还是非CPU(如DMA控制器)访问I/O系统。
输出信号包括接口芯片或端口的选通信号,一般是低电平有效。
用于地址译码的常用门电路包括与门、或门、非门、与非门、或非门等。
设计时首先分配好地址,然后写成二进制形式,再根据地址总线数分配各与非门输入管脚地址。
如采用与非门,则当该地址为“1”时,直接接入与非门输入端,若该位地址为“0”,则先加一个反相器再接到与非门的输入端。
6.3.2 门电路地址译码电路
图6.3.1 固定式单一地址译码电路实例
6.3.2 门电路地址译码电路
图6.3.2 固定式译码电路实例
6.3.2 门电路地址译码电路
6.3.3 通用译码器芯片地址译码电路
若接口电路中有一组或多组连续的I/O端口地址,则通常采用通用译码器来进行端口地址译码。常用译码器有3-8译码器74LS138、4-16译码器74LS154和2-4译码器74LS139等。图6.3.3所示为由74LS138及门电路构成的、连续8个I/O端口地址译码电路的实例。
图6.3.3采用译码器74LS138的地址译码电路的实例
6.3.3 通用译码器芯片地址译码电路
6.3.4 比较器地址译码电路
I/O端口地址变化灵活、适应性强的译码电路是采用数据比较器构成的地址译码电路。
常见的比较器有4位比较器74LS85和8位比较器74LS688。
在使用比较器构成的地址译码电路时,通过预设一个端口地址,来自地址总线的地址信号与预设地址进行比较,相等时,比较器输出相应信号电平选中此端口。
图6.3.4采用比较器74LS688的地址译码电路实例
6.3.4 比较器地址译码电路
6.3.5 可编程逻辑器件译码电路
随着集成电路技术的发展,可编程逻辑器件具有灵活的现场可编程特性、较高的功能集成度和较快的速度,可大大简化电路设计,降低成本,有效提高了系统的可靠性和保密性,因而可采用可编程逻辑器件实现可灵活修改的地址译码电路。
下面以GAL16V8为例说明其在译码电路中的使用方法
6.3.5 可编程逻辑器件译码电路
图6.3.5采用GAL16V8的译码电路实例
设需要的端口地址为300H。
(1)根据选定的GAL器件和ABEL源文件的结构、格式及要求实现的逻辑功能,编写ABEL源文件。
该文件可实现对端口300H的控制(CS)、对端口300H的读控制(CSR、IOR#参与译码)和对端口300H的写控制(CSW、IOW#参与译码)。
(2)利用ABEL软件,对ABEL文件进行编译、化简、仿真等,最后生成JED编程器下载文件。
(3)利用编程器将JED文件写入GAL器件。
6.3.5 可编程逻辑器件译码电路
6.3.5 可编程逻辑器件译码电路
$