MCS-51单片机存储器扩展
主要内容:
第八部分 MCS-51单片机存储器扩展(1)
1、 概述
2、 系统总线及总线构造
3、 读写控制、地址空间分配和外部地址锁存器
4、 程序存储器EPROM的扩展
重点:系统总线及总线构造
存储器地址空间分配
外部地址锁存器74LS373
典型的外扩存储器的接口电路
难点:存储器地址空间分配
第8部分 MCS-51单片机扩展存储器的设计
8.1 概述
片内的资源如不满足需要,需外扩存储器和I/O功能部件:系统扩展问题,内容主要有:
(1)外部存储器的扩展(外部存储器又分为外部程序存储器和外部数据存储器)
(2) I/O接口部件的扩展。
本章介绍MCS – 51单片机如何扩展外部存储器,I/O接口部件的扩展下一章介绍。
MCS-51单片机外部存储器结构:哈佛结构 。
MCS-96单片机的存储器结构:普林斯顿结构。
MCS-51数据存储器和程序存储器的最大扩展空间各为64KB。
系统扩展首先要构造系统总线。
8.2 系统总线及总线构造
8.2.1 系统总线
按其功能通常把系统总线分为三组:
1.地址总线(Adress Bus,简写AB)
2.数据总线(Data Bus,简写DB)
3.控制总线(Control Bus,简写CB)
8.2.2 构造系统总线
系统扩展的首要问题:
构造系统总线,然后再往系统总线上“挂”存储器芯片或I/O接口芯片,“挂”存储器芯片就是存储器扩展,“挂”I/O接口芯片就是I/O扩展。MCS-
51由于受引脚数目的限制,数据线和低8位地址线复用。为了将它们分离出来,需要外加地址锁存器,从而构成与一般CPU相类似的片外三总线。地址锁存器一
般采用74LS373,采用74LS373的地址总线的扩展电路。
1.以P0口作为低8位地址/数据总线。
2.以P2口的口线作高位地址线。
3.控制信号线。
*使用ALE信号作为低8位地址的锁存控制信号。
*以PSEN*信号作为扩展程序存储器的读选通信号。
*以EA*信号作为内外程序存储器的选择控制信号。
*由RD*和WR*信号作为扩展数据存储器和I/O口的读选通、写选通信号。
尽管MCS-51有4个并行I/O口,共32条口线,但由于系统扩展需要,真正作为数据I/O使用的,就剩下P1口和P3口的部分口线。
8.2.3 单片机系统的串行扩展技术
优点:串行接口器件体积小,与单片机接口时需要的I/O口线很少(仅需3-4根),提高可靠性。
串行扩展可以减少芯片的封装引脚,降低成本,简化了系统结构,增加了系统扩展的灵活性。为实现串行扩展,一些公司(例如PHILIPS和ATMEL公司
等)已经推出了非总线型单片机芯片,并且具有SPI(Serial Periperal
Interface)三线总线和I2C公用双总线的两种串行总线形式。与此相配套,也推出了相应的串行外围接口芯片。
缺点:串行接口器件速度较慢在大多数应用的场合,还是并行扩展占主导地位。
8.3 读写控制、地址空间分配和外部地址锁存器
8.3.1 存储器扩展的读写控制
RAM芯片:读写控制引脚,记为OE*和WE* ,与MCS-51的RD*和WR*相连。
EPROM芯片:只能读出,故只有读出引脚,记为OE* ,该引脚与MCS-51的PSEN*相连。
8.3.2 存储器地址空间分配
MCS-51发出的地址是用来选择某个存储器单元进行读写,要完成这种功能,必须进行两种选择: “片选”和
“单元选择”。存储器空间分配除考虑地址线连接外,还讨论各存储器芯片在整个存储空间中所占据的地址范围,常用的存储器地址分配的方法有两种:线性选择法
(简称线选法)和地址译码法(简称译码法)。
1. 线选法
直接利用系统的高位地址线作为存储器芯片(或I/O接口芯片)的片选信号。
优点:电路简单,不需要地址译码器硬件,体积小,成本低。
缺点:可寻址的器件数目受到限制,地址空间不连续,地址不唯一。
例 某一系统,需要外扩8KB的EPROM(2片2732),4KB的RAM(2片6116),这些芯片与MCS-51单片机地址分配有关的地址线连线。
2732:4KB程序存储器,有12根地址线A0~A11,分别与单片机的P0口及P2.0~P2.3口相连。2732(1)的片选端接
A15(P2.7),2732(2)的片选端接A14(P2.6)。当要选中某个芯片时,单片机P2口对应的片选信号引脚应为低电平,其它引脚一定要为高
电平。
6116:2KB数据存储器,需要11根地址线作为单元的选择,而剩下的P2口线(P2.4~P2.7)作为片选线。
两片程序存储器的地址范围:
2732(1)的地址范围:7000H~7FFFH;
2732(2)的地址范围: B000H~BFFFH;
6116(1)的地址范围:E800H~EFFFH;
6116(2)的地址范围:D800H~DFFFH。
线选法特点:简单明了,不需另外增加硬件电路。只适于外扩芯片不多,规模不大的单片机系统。
2. 译码法
最常用的译码器芯片:74LS138(3-8译码器)74LS139(双2-4译码器)74LS154(4-16译码器)。可根据设计任务的要求,产生片选信号。全译码:全部高位地址线都参加译码;部分译码:仅部分高位地址线参加译码。
(1)74LS138(3~8译码器)
引脚如图8-5,译码功能如表8-1(P167)所示。当译码器的输入为某一个固定编码时,其输出只有某一个固定的引脚输出为低电平,其余的为高电平。
下面以74LS138为例, 介绍如何进行地址分配。
例 要扩8片8KB的RAM 6264,如何通过74LS138把64KB空间分配给各个芯片?
采用的是全地址译码方式,单片机发地址码时,每次只能选中一个存储单元。同类存储器间不会产生地址重叠的问题。如果用74LS138把64K空间全部划分为每块4KB,如何划分呢?
8.3.3 外部地址锁存器
常用的地址锁存器芯片有: 74LS373、8282、74LS573等。
1. 锁存器74LS373
带有三态门的8D锁存器,其引脚其内部结构如下图。
引脚说明如下:
D7~D0: 8位数据输入线。
Q7~Q0: 8位数据输出线。
G:数据输入锁存选通信号,
OE*: 数据输出允许信号
2. 锁存器8282
功能及内部结构与74LS373完全一样,只是其引脚的排列与74LS373不同 ,8282的引脚如下图。
引脚的排列为绘制印刷电路板时的布线提供了方便。
3.锁存器74LS573
输入的D端和输出的Q端也是依次排在芯片的两侧,与锁存器8282一样,为绘制印刷电路板时的布线提供了方便。
8.4 程序存储器EPROM的扩展
采用只读存储器,非易失性。
(1)掩膜ROM
在制造过程中编程。成本较高,因此只适合于大批量生产。
(2)可编程ROM(PROM)
用独立的编程器写入。但PROM只能写入一次,且不能再修改。
(3)EPROM
电信号编程,紫外线擦除的只读存储器芯片。
(4)E2PROM( EEPROM)
电信号编程,电信号擦除的ROM芯片。读写操作与RAM几乎没有什么差别,只是写入的速度慢一些。但断电后能够保存信息。
(5)Flash ROM
又称闪烁存储器,简称闪存。大有取代E2PROM的趋势。
8.4.1 常用EPROM芯片介绍
典型芯片是27系列产品,例如, 2764(8KB×8)、27128(16KB×8)、27256(32KB×8)、27512(64KB×8)。 “27”后面的数字表示其位存储容量。扩展程序存储器时,应尽量用大容量的芯片。
1.常用的EPROM芯片
引脚功能如下:
A0~A15:地址线引脚。数目决定存储容量来定,用
来进行单元选择。
D7~D0:数据线引脚
CE*:片选输入端
OE* :输出允许控制端
PGM*:编程时,加编程脉冲的输入端
Vpp:编程时,编程电压(+12V或+25V)输入端
Vcc:+5V,芯片的工作电压。
GND:数字地。
NC:无用端
2. EPROM芯片的工作方式
(1)读出方式
片选控制线为低,同时输出允许控制线为低,Vpp为+5V,指定地址单元的内容从D7~D0上读出。
(2)未选中方式 片选控制线为高电平。
(3)编程方式
Vpp端加上规定高压, CE*和OE*端加合适电平(不同的芯片要求不同),就能将数据线上的数据写入到指定的地址单元。
(4)编程校验方式
(5)编程禁止方式
输出呈高阻状态,不写入程序。
8.4.2 程序存储器的操作时序
1. 访问程序存储器的控制信号
(1)ALE
(2)PSEN*
(3)EA*
如果指令是从片外EPROM中读取,ALE用于低8位地址锁存,PSEN*接外扩EPROM的OE*脚。
P0口:分时低8位地址总线和数据总线,P2口:高8位地址线。
2. 操作时序
(1) 应用系统中无片外RAM
(2) 应用系统中接有片外RAM
由图(b)可看出:
(1)将ALE用作定时脉冲输出时,执行一次MOVX指令就会丢失一个脉冲。
(2)只有在执行MOVX指令时的第二个机器周期期间,地址总线才由数据存储器使用。
8.4.3 典型的EPROM接口电路
1.使用单片EPROM的扩展电路
2716、2732 EPROM价格贵,容量小,且难以买到。
仅介绍2764、27128、27256、27512芯片的接口电路。
下图为外扩16K字节的EPROM 27128的接口电路图 。
MCS-51外扩单片32K字节的EPROM 27256的接口。
2程序存储器所占的地址空间,自己分析。
3. 使用多片EPROM的扩展电路
MCS-51扩展4片27128。
网络转载