《《单片机原理与接口技术》第8章 存储器扩展》由会员分享,可在线阅读,更多相关《《单片机原理与接口技术》第8章 存储器扩展(42页珍藏版)》请在金锄头文库上搜索。
1、高等职业教育 计算机类课程规划教材大连理工大学出版社第8章 存储器扩展8.1 存储器概述8.2 单片机的扩展结构8.3 片选方式及地址映象8.4 外部程序存储器的扩展8.5 外部数据存储器的扩展l8.1.1 半导体存储器的基本结构l 半导体存储器类型很多,但基本结构差别不大,都是由存储阵列、 地址译码器、三态双向缓冲器和控制电路四部分组成。l 存储阵列是存储器的主体,是用来存储信息的部分;l 其他部分用来实现对存储阵列的访问。l 存储器的基本结构如图8-1和图8-2所示。l 1.存储阵列l 存储阵列由若干存储单元构成,每个存储单元保存若干二进制位信 息,每个二进制位对应一个基本存储电路。l 设
2、存储器中地址线条数为N,数据线条数为M,则有下面的关系: 8.1 存储器概述图8-1 单译码编址存储器 基本结构 图8-2 双译码编址存储器 基本结构 l 字数=2 N l 字长=数据线条数=M l 基本存储电路个数=字长*字数l 2.地址译码器l 地址译码器由地址寄存器和地址译码器两部分组成。l 地址寄存器用于存放 CPU送来的地址码,其位数通常由地址线条数 决定; 地址译码器用于对地址寄存器中的地址码进行译码,译码后产生 的 “字选择线” 可用来选择存储阵列中的相应存储单元工作。l (1)单译码编址l 在单译码编址存储器中,字数与 “字选择线” 总数的关系是:l 字数= “字选择线” 总数
3、l 显然,存储器的存储容量越大,存储单元越多,所需要的 “字选择 线” 总数越多。l (2)双译码编址l 在双译码编址存储器中,采用将两部分编码进行组合的方法实现字 的选择。 l 地址线条数为N的双译码编址存储器中,“字选择线” 总数为2P +2N-P 条。而同样的地址线条数,在单译码编址存储器中,“字选择线” 总数为2N 。随着地址线数N的增大,双译码编址方式大大减少了存储器 的 “字选择线” 总数。l 3.三态双向缓冲器l 三态双向缓冲器用于锁存从存储阵列中读出被选中存储单元中的每 位信息,或用来存放被写存储单元所需要的写入信息,因此它是双向缓 冲器,其位数等于存储阵列中存储单元的位数M(
4、字长)。l 三态双向缓冲器受控制电路和输入/输出允许控制引脚控制。l 4.控制电路l 控制电路通过对CPU送来的读/写控制信号和片选信号进行组合变换 后对存储器的其他部件进行控制。片选信号无效时,存储器处于禁止工 作状态; 片选信号有效时,存储器处于工作状态,由读/ 写控制信号决 定其操作类型。l8.1.2 半导体存储器的分类l 1.只读存储器ROMl ROM是只读存储器。ROM中所存储的信息是固定的、非易失性的,不 会因为停电而消失。l 在正常工作状态下,ROM中的信息只能读不能写,即不能修改ROM的 内容,数据读出后原数据不变。ROM通常用来存储控制程序和控制常量。l (1)掩模ROMl
5、掩模ROM中的信息是在制造芯片的掩模工艺时编程写入的。l 用户无法根据需要写入自己的程序和常数。 l (2)PROMl PROM是可编程ROM。PROM 存储器在出厂时不存储任何信息,程序和 常数的写入由用户来完成。l (3)EPROMl EPROM是可擦除PROM。这是一种可多次写入的只读存储器,只是需 要在编程前对其原有内容进行 “擦除”。l 根据 “擦除” 方法的不同,EPROM可分为UVE-PROM和EEPROM。l (4)Flash Memoryl Flash Memory,快闪存储器,是一种新型的可擦除、非易失性存储 器。它既有EPROM价格低,集成度高的优点,又有 EEPROM的
6、可以电擦除 和写入的特性。擦除和写入速度快,但只能整片擦除。l Flash Memory既可用作系统ROM,也可当成具有掉电保护功能的RAM 来使用。l 2.随机存取存储器RAMl RAM是随机存取存储器。正常工作时信息既可以读出又可以写入。l 数据读出后原数据不变,新数据写入后,原数据自然消失,并被新数据取代。因此,RAM 存储器可以用来存储实时数据、中间结果、最终结果或作为程序的堆栈区使用。但是,RAM是易失性存储器,掉电后其数据随即消失。l RAM 通常可分为静态RAM和动态RAM两大类,其差别主要在于基本存储电路存储信息的方式不同。l 静态RAM依靠触发器来存储二进制信息,存储容量较小
7、。l 动态RAM依靠存储电容来存储二进制信息,存储容量大。 l8.2.1 三总线结构l 单片机扩展通常采用总线结构形式。l 典型的单片机扩展系统结构如图8-3所示。 8.2 单片机的扩展结构图8-3 三总线结构下的单片机系统扩展结构 l 1.地址总线l 地址总线用于传送单片机送出的地址信,以便进行存储单元和 I/O 端口的选择。地址总线是单向的,只能由单片机向外发出。l 地址总线的数目决定着可以直接访问的存储单元的数目。l N位地址可以产生2N 个连续地址编码,可访问2N 个存储单元。l 通常也说寻址范围为2N 个地址单元。l MCS-51单片机存储器扩展最多可达64KB,即216 个地址单元
8、,因此 最多需16位地址,有16根地址线。l 2.数据总线l 数据总线用于在单片机与存储器之间或单片机与 I/O端口之间传送 数据。数据总线是双向的,可以进行两个方向的数据传送。单片机系统 数据总线的位数与单片机处理数据的字长一致。l MCS-51单片机字长为8位,所以它的数据总线位数也是8位。 l 3.控制总线l 控制总线实际上就是一组控制信号线,包括由单片机发出的控制信号,以及从其他部件送给单片机的请求信号和状态信号。每一条控制信号线的传送方向是单向的,是固定的,但由不同方向的控制信号线组合的控制总线则表示为双向。l 总线结构形式大大减少了单片机系统中传输线的数目,提高了系统的可靠性,增加
9、了系统的灵活性。另外,总线结构也使扩展易于实现,只要符合总线规范的各功能部件都可以很方便地接入系统,实现单片机的扩展。l8.2.2 单片机扩展的实现l 三总线结构是单片机扩展的框架,而单片机芯片本身并没有提供专用的地址线和数据线。因此单片机扩展的首要问题就是构造系统总线,这是通过对I/O口线改造实现的。 l 将存储芯片连接到构造好的系统总线上,就完成了存储器的扩展。l 1.P0口线用作数据线/低8位地址线l P0口线具有地址线/数据线双重复用功能,以ALE为锁存控制信号,选择高电平或下降沿选通的锁存器作为地址锁存器(通常使用的锁存器是74LS373或 74LS273),确保低8位地址信息在消失
10、前被送入锁存器暂存起来,从而实现了对地址和数据的分离。l 2.P2口线用作高8位地址线l P2口线用于进行高8位地址线的扩展。由于只具有地址线扩展的功能,P2口线可直接与存储器芯片的地址线相连,无需锁存。l P2与P0提供的16根地址线实现了MCS-51单片机系统64KB的寻址范围。l 表8-1所示为P2和P0口线进行存储器芯片地址线扩展时的对应关系。l (见教材P172页) l 3.控制信号l (1)ALE是锁存信号,用于进行P0口地址线和数据线的隔离。l (2)PSEN是程序存储器读选通控制信号。l (3)EA是程序存储器访问控制信号。l (4)RD、WR是外部数据存储器的读/写选通控制信
11、号。l 单片机扩展的总线结构如图8-4所示。 图8-4 单片机扩展总线构造图 l8.3.1 片选方式l 存储器编址是扩展存储器的重点。所谓存储器编址,就是使用系统提供的地址线,通过适当地连接,最终达到一个编址惟一地对应存储器中一个存储单元的目的。通常的单片机系统都会扩展多片存储器芯片,因此存储器编址应从两个方面进行考虑:l (1)存储芯片的选择,即片选。用来解决与芯片的片选端连接问题;l (2)芯片内部存储单元的选择,用来解决与芯片的地址线连接问题。l 程序存储器与数据存储器是不同类芯片,单片机可通过控制信号对不同类芯片进行区分,因此不同类芯片间不会“争地址”,不需要进行芯片选择。8.3 片选
12、方式及地址映象l 按照产生片选信号方式的不同,芯片的选择有两种方式:l 1.线选方式l 芯片选择的线选方式,是直接以系统的高地址位作为存储芯片的片 选信号,为此只需把用到的地址线与存储芯片的片选端直接连接即可。l 同时最多只能有一个存储器芯片被选中,此时,与被选中芯片相连 的地址线有效,其他用于线选的地址线均无效。l 线选方式的特点是简单明了,且不需要另外增加电路。但这种编址 方法产生的存储空间地址映象是不连续的,不能有效利用存储空间,使 系统的存储容量受限,只适用于小规模单片机系统的存储器扩展。l 2.译码方式l 芯片选择的译码方式,是使用译码器对系统的高位地址进行译码, 以译码输出作为存储
13、芯片的片选信号。这是一种最常用的片选方式,能 有效利用存储空间,适用于大容量多芯片存储器的扩展。 l (1)74LS139l 74LS139芯片中有两个2/4译码器,其引脚排列如图8-5所示。l 其中,G 为使能端,低电平有效;l B、A为译码输入选择端;l Y3、Y2、Y1、Y0为译码输出信号端,低电平有效。l 74LS139对两个输入信号译码后得到4个输出状态,其真值表见表8-2 。l (见教材P174页)l (2)74LS138l 74LS138 是一个3/8译码器,即对三个输入信号进行译码,得到8个 输出状态。其引脚排列如图8-6所示。l 其中,E1、E2、E3为使能端,E1、E2低电
14、平有效,E3高电平有效。l C、B、A为译码输入选择端。 l Y7Y0为译码输出信号端,低电平有效。l 74LS138的真值表见表8-3。(见教材P175页) 图8-5 74LS139译码器引脚 图8-6 74LS138译码器引脚 l 可见,译码器实现了惟一输出信号端有效。l 当扩展的同类存储器芯片的存储容量相同时,译码方式可产生连续 的地址映象,充分利用存储空间。l 具体做法是: l (1)若用于地址线扩展的 P2口线是 P2.xP2.0,则从P2.x+1起与译码器输入选择端依照高低次序进行连接。l (2)多个芯片的片选端依次与相邻的译码输出端相连。l 下面以扩展多片存储容量为2KB的存储器芯片为例进行说明。l 存储器的地址线数量为11条,P2口的P2.2P2.0用于地址线扩展。l 若采用74LS139作译码器,则译码电路如图8-7所示:图8-7 译码电路举例 l8.3.2 地址映象l 对存储器芯片进行地址映象,是对存储器进行访问的前提。l 现在仍以图8-8所对应的扩展芯片进行说明。l 设4片存储器芯片的片选端分别与Y0、Y1、Y2、Y3相连,则扩展4#存储器芯片时,P2、P0口各引脚连线对应关系见表8-4: (见教材P175页) l 其中 P2.2P2.0、P0.7P0.0 用于片内地址的选择,范围是00000000000B到11111