某一系统使用8086CPU,其数据总线为16位,地址总线为20位,控制总线有M/IO#、读信号RD#、写信号WR#、BHE#等均为低电平有效。为8086设计RAM存储空间和IO接口空间,要求如下:
1.使用62128(16K*8位)芯片设计32KB的存储空间,起始地址为A0000H。要求能够按字节或字访问存储器。
2.按照IO接口独立编址方式,设计8个IO接口的地址译码电路(产生CS#0-CS#7),为每个接口预留64个(64B)的端口地址。接口的地址范围为E0000H-E01FFH。
一、RAM存储空间
条件分析:
32K——两片62128(分别用于高低字节) 16K——14条地址线 8位——8条数据线
起始地址A0000H(最高4位为1010)
结构:
1.两片共用读(RD)写(WR)信号
2.A0 BHE片选,结合高五位选择地址
(关于A0和BHE信号的作用见下图)
最终结果如下:
二、IO接口空间
E0000H-E01FFH共512个地址,74LS138正好能够输出8个接口,每个接口64b
0:E0000H~E003FH
1:E0040H~E007FH
2:E0080H~E00BFH
......
6:E0180H~E01BFH
7:E01C0H~E01FFH
分析可知,高11位(19~9)都是不变的11100000000,因此选择第(8、7、6)3位2进制数控制8个接口(CS#0-CS#7)
再根据74LS138的管脚,保证G1高有效,G2A、G2B低有效即可
最终结果如下:
A19~A10 置位,G1高有效
M/IO# 是cpu发出的控制总线,低电平表示对外部设备访问,G2B低有效
A9 始终为0,G2A低有效
A8 A7 A6 连接C B A,选择接口