存储器扩展技术.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流存储器扩展技术.精品文档.第八章 存储器扩展技术§ 8.1 MCS-51单片机的存储器组织一.单片机为什么要扩展存储器? 1. 单片机的8051主要品种中8051、8751片内有4K ROM或EPROM,8031片内无程序存储器,因此必须扩展程序存储器用以存放程序,当系统程序运行过程中需要存放的数据较多时,片内的128字节RAM通常是不够用的,也需要扩充一部份数据存储器。A12 A8 VCC VPP PGMA7 CE GNDA0D0D7 2764OE1D G 1Q8D 8Q 74LS373 P2.4 P2.0ALEP0.0P0.7 8031PSEN 2.分析单片机最小系统的工作过程: +5V 5 8 8 地 SA 8当ALE高电平时,低8位地址信息从P0口输出,当ALE由高变低时,该下降沿使低8位地址锁存。高8位地址信息从P2口直接输出。当PSEN低电平有效时,选中的地址单元的内容从P0口读入8031 CPU内。P0口是复用口,分时输出低8位地址和输入数据,因此必须硬件上采取措施,将地址信息与数据信息隔开,这是单片机构成应用系统必须考虑的问题,也是单片机必须要扩展的重要原因。二.扩展总线的形成: 计算机系统有三种总线:数据总线、地址总线、控制总线,计算机系统中的所有部件均以一定方式通过三总线连接在一起,构成计算机系统。如下图:P2口ALEP0口 8031 PSENWRRD A15 A8高8位地址 16位地址总线地 址锁 存 A7A0 低8位地址 D0D7 8位数据总线 控制总线三.解决地址锁存的问题最常用的芯片是74LS373 8D锁存器,使用方法及控制逻辑如下图:ALE 74LS373的控制逻辑为: G1D 1Q 74LS3738D 8Q E1. E低电平、G高电平时,D通向Q。即ALE高电平输出低8位地址。P0口 低8位地址 G下降沿时锁存,即ALE下降沿时,使Q与D隔开。 2. E高电平时D与Q之间呈 高阻状态。 数据总线 可用于地址锁存的芯片很多,只要其控制逻辑与CPU时序能有效搭配,均可选用。常用的有两类芯片:D触发器:如 74LS273 74LS377 等D锁存器:如 74LS373 8282 等§ 8.2 存储器扩展一. 存储器概述:存储器是计算机用来存储信息的部件。有了存储器计算机才有了记忆的功能,才能把计算机要执行的程序以及数据处理与计算的结果存储在计算机中,使计算机自动地工作。1. 存储器分类: 内存:在主机内部。具有一定容量,存取速度较快。 外存:在主机外部。如软磁盘、硬磁盘、光盘等。它存储量大、速度较慢, 外存内的信息要调入内存后CPU才能使用。内存一般使用半导体存储器。2. 半导体存储器的分类: 只读存储器 (ROM):使用过程中只能读出不能写入,其中信息需用特殊方法写入,掉电时可保存其内容,一般用于存放程序、常数等。 掩膜ROM用于存放己调试好的、成熟的程序和数据。由厂家制作时写入,不能修改,适于大批量生产,其成本较低。 可编程ROM,简称PROM由厂家生产的空白存储器,可根据用户需要用特殊方法将程序和数据写入,一次性写入不能修改。 可擦除程序存储器EPROM可多次编程,修改时用紫外光照射20分钟左右,可擦除原信息重写。电可擦除程序存储器 EEPROM可在用户系统使用过程中以字节为单位擦除重写。 随机读写存储器RAM使用过程中,程序可随时读写的存储器。静态RAM 或称SRAM可随时读写,掉电时丢失其原内容。集成度较低,适用于存储量不大的微型机系统,单片机常用。动态RAM 或称DRAM可随时读写,使用中需定时刷新其内容,否则内容会丢失。集成度高,价廉,适于大存储容量时使用。非易失RAM可随时读写。带有掉电保护电路,掉电时不丢失其内容。二. 扩展EPROM程序存储器1.芯片 2716 2732 2764 27128 27256 27512存储量 2K 4K 8K 16K 32K 64K 可视实际需要选择,最常用的型号是27642.扩展的基本方法:主要是地址总线(AB)、数据总线(DB)和控制总线(CB)与CPU的连接。例如,扩展一片2716 (2K字节)地址线根数:1K = 210 2K = 2 . 210 = 211 11根 A0A10地址总线 AB:低8位地址A0A7从P0口输出,由于P0口是复用口,所以需通过74LS373锁存。 高8位地址A8A10直接从P2口输出。数据总线 DB:直接接P0口,即D0D7。控制总线 CB:与程序存储器有关的控制信号有如下两个 ALE 地址锁存信号,接373的G端当它高电平时输出低8位地址,在它的下降沿地址锁存。 PSEN 程序存储器读取信号,PSEN接程序存储器的允许输出端OE,当PSEN低电平,亦即OE低电平,被选中单元内的数据通过数据线读入CPU。程序存储器的片选线CE必须低电平才可工作,本系统内只有一片程序存储器,可直接接地。A10 VCC VPPA8 CEA7 GNDA0D7D0OE 27161D G 1Q 74LS3738D 8Q E P2.2 P2.0 ALE P0.0 P0.78031 PSEN +5V 3 8 地 83.进一步扩大容量:可选择大容量的芯片,除地址线增多以外,无其它区别。不同型号芯片的容量及地址线根数的计算:1K = 1024字节 = 210字节 1K字节地址范围是03FFH型 号 容 量地址线根数 地址范围 2716 2 K 21111 A0A10 0 7FFH27324K 21212A0A110 FFFH 27648K 21313A0A120 1FFFH 2712816K 21414A0A130 3FFFH 2725632K 21515A0A140 7FFFH 2751264K 21616A0A150 FFFFH采用扩展多片EPROM的方法。P2.7 P2.5P2.4P2.0ALEP0.0P0.7PSEN8031CE A12 A8 A7 A0 D0 D7 OE 2764A13 CEA12A8A7A0D0D7OE271281D G 1Q3738D E 8Q上图中使用两片EPROM,一片为27128芯片,容量为16K,另一片为2764芯片,容量为8K,整个系统中程序存储器共24K字节。两片EPROM的片选线CE接P2.7通过一个反相器区分两个芯片,当P2.7 = 0时,选中27128工作,当P2.7 = 1时,选中2764工作。它们的地址范围是: P2.7 P2.6 P2.5 P2.4P2.0 P0.7P0.027128 0 × 0 0 0 0 0 1 1 1 1 1 2764 1 × × 0 0 0 0 1 × × 1 1 1 1 由于无关地址可为0亦可为1 ,因此地址范围为:27128的地址范围: P2.6 = 0 0000H 3FFFH ;P2.6 = 1 4000H 7FFFH2764 的地址范围:P2.6 P2.50 0 8000H 9FFFH0 1 A000H BFFFH1 0 C000H DFFFH1 1 E000H FFFFH三.扩展数据存储器 静态RAM的扩展常用芯片:6116 (2K字节),6264 (8K字节)例如扩展一片6116,其控制逻辑如下:CE 片选W 写 OE 读 读 0 1 0 写 0 0 1A10A8A7 CEA0 GNDD7D0OEW 61167D G 7Q 74LS3731D E 1QP2.2P2.0ALEP0.7P0.08031RDWR基本方案如下: +5V 地本例中只有一片6116,片选线可接地。6116的地址范围为0000H07FFHWR、RD信号如何产生?由读写指令产生:MOVX Ri , AMOVX DPTR , A ;以上两条写指令产生WR低电平有效的写信号MOVX A , RiMOVX A , DPTR ;这两条读指令产生RD低电平有效的读信号扩展较大容量的6264芯片,除地址线增为13根外无大区别三.较大存储器空间的扩展:1. 线选法 G373 P2.5 P2.4 P2.3 A LE P0.7 P0.08031 PSEN RD WR如下例,扩展二片2716,二片6116,如下图,省略了部份与地址无关的连线。 CE61162#OE W CE61161#OE W CE27162# OE CE27161# OE各芯片的地址范围: 1#2716 0000H 07FFH 2#2716 0800H 0FFFH 1#6116 E800H EFFFH 2#6116 D800H DFFFH2. 译码法增加一片译码器,译码产生片选信号。常用译码器有74LS139和74LS138等。以74LS139为例,说明译码器的用法:74LS139引脚图:1G VCC1A 2G1B 2A1Y0 2B1Y1 2Y01Y2 2Y11Y3 2Y2GND 2Y3 74LS139 74LS139真值表:输 入 输 出使 能 G B A Y0 Y1 Y2 Y3 1 ×× 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0例如使用74LS139扩展32K EPROM,32K RAM,使用4片2764,4片6264 如下图:图中省略了锁存器及与片选无关的连线。 PSENP2.6P2.58031RDWR 1Y31B 1Y21A 1Y11G 1Y074LS1392B2A 2Y32G 2Y2 2Y1 2Y0 CE27644# OE CE27643# OE CE27642# OE CE27641# OE CE62644#OE W CE62643#OE W CE62642#OE W CE62641#OE W图中地址线未画出,2764和6264均为8K字节,需13根地址线A0A12。地址译码选用了 P2.6和P2.5,4片6264和4片2764地址是相同的。由于控制信号PSEN和WR、RD不会同时有效,且对EPROM和RAM读使用不同指令MOVC和MOVX因此可以有效区分对程序存储器或对数据存储器的操作。各片的地址分配为:第一片:0000H 1FFFH第二片:2000H 3FFFH第三片:4000H 5FFFH第四片:6000H 7FFFH 比较线选法和译码法,线选法不需另加硬件,比较简单,但地址不连续。译码法地址连续,但要增加硬件开销,可酌情选用。