配色: 字号:
第7章 存储器系统扩展设计
2022-05-27 | 阅:  转:  |  分享 
  
第7章外扩存储器设计技术7.1单片机的最小应用系统7.2外部ROM的扩展7.3外部RAM的扩展AT89S52存储
器组织7.1概述 存储器是组成计算机的三大主要功能部件之一,其作用是存储数字信息。程序代码数字信息数值数据存储器存储器
组织结构存放已编译好的指令代码存放数据外存存放文件主机箱内存RAM内存ROM 随着大规模集成电路技术的飞速发展,微机的主存储器已
全部采用半导体集成电路。7.1.1半导体随机存取存储器——RAM RAM——读写存储器,其特点是可随时、随意进行读出、写入。且速
度快。 RAM按其制造工艺分为:双极型RAM和MOS型RAM。 1、双极型RAM 以双极型晶体管为元件构成的存储器,其特点是工作速
度快,但功耗大,集成度低,价格贵,只能适应于运算速度要求很高的微型计算机。2、MOS型RAM 由MOS管构成基本单元电路及外围电
路的RAM,其主要特点是集成度高、功耗低、价格便宜。随着工艺技术的不断改进,工作速度得到很大提高,现在大多数微型计算机均采用MOS
型RAM。 按照信息存储方式,又分为静态RAM和动态RAM。 (1)、静态RAM 静态RAM是采用MOS管触发器电路的两个稳定状态
来存储“0”或“1”的信息,这种存储电路属非破坏性读出,不需要刷新,只有断电信息才会丢失。(2)、动态RAM由MOS管栅极电容
来存储“0”或“1”的信息,但由于这种电路存在泄漏电阻,使栅极电容上的电荷经过一定的时间就会泄放,使存储的“1”信息变成“0”信息
。为了保持原来的“1”信息不变,必须定时对单元电荷进行充电,这种重复充电的过程叫刷新。 动态RAM的特点是:集成度高、功耗低、工
作速度快;但需要定时刷新、电路复杂。在微型计算机中由于要求容量大、速度快,一般采用动态RAM。 现在市场上有一种新的动态RAM,叫
IRAM(集成随机RAM),它集静态和动态的优点于一体,使其具有接口简单、功耗低、价格低,使用时如同静态RAM一样。 3.1.2只
读存储器ROM作用:存放已编译好的程序(指令)代码和 表格常数,例如:系统管理程序、监控 程序、应用程序、专用子
程序等。 ROM的种类: 1、掩膜式ROM ——由生产厂家根据用户提供的程序清单(二进制代码),在生产过程中通过二次光刻版图(掩膜
)固化在ROM中,故称掩膜ROM。 掩膜ROM一经将信息固化后,就只能读出不能再改写了。 2、一次性可编程只读存储器PROM PR
OM可由用户通过专用编程器(烧写器)把用户信息固化进去。一经固化后只能读出不能再改写。 3、可反复擦写的ROM (1)、紫外光擦写
EPROM对EPROM进行程序固化时,先要用紫外灯照射擦除片内的信息,然后用万能编程器编程。 EPROM在芯片封装时顶部有一个石英
玻璃窗口,要擦除片内信息时,将芯片放在专门的紫外灯下通过窗口照射15——20分钟,全部存储单元的“0”变为“1”,也就是说,片内所
有存储单元为“1”时,表示信息擦除正常,可以重新写入程序。EPROM可以多次擦除和写入程序,芯片的型号是27系列:2716——2K
B 2732——4KB 2764——8KB 27128——16KB 27256——32KB 27512——64KB (2)、可电
擦写EEPROM特点:可在线擦写,无需专门的编程器和擦除器, 在写入一个字节的指令代码或数据之前,自 动地对所写单元进
行擦除再写入。此类芯片 为28系列。如:2817A——2KB、2864A——8KB。EEPROM还有串行数据转送方式的,如:
ATMEL公司的AT24系列:AT24C01——128BAT24C
02——256BAT24C04——512BAT24C08——1KB
AT24C16——2KB(3)、电可擦写闪速只读存储器—— FLASH闪速——擦写速度很快、很方便。特点:可
随机擦写,且掉电数据信息不丢失。 即可存放指令代码又可存放数据。7.2单片机最小应用系统7.2.18751
/AT89C51硬件最小系统 不进行任何系统接口扩展,便能实现控制、采集和处理的系统叫最小系统。MCS-8751/AT89C5
1是片内有EPROM或FLASH存储器的单片机,用这种芯片构成的最小系统简单、可靠,只要将单片机接上时钟电路和复位电路,就可实现
控制、采集和处理系统。如图5.1所示:+5VXTAL1P0XTAL2P1 AT89C51P2RESETP3EA
+5V+5V+5V最小系统原理图5-1 用8751/AT89C51构成的最小应用系统,是一个功能齐全的8位单片机系统。可供使用的
片内资源有:4KB程序存储器空间,5个中断源2个有线级中断系统,2个16位定时/计数器,一个全双工的串行异步通信口,4个8位并行
I/O口(32条I/O线)。7.2.2MCS-8031硬件最小系统 8031是片内无ROM的芯片,要构成一个最小系统必须在片
外扩展程序存储器,通常采用一片EPROM。这时单片机要访问外部程序存储器,8031必须提供访问存储器的地址线、数据线和控制线
。地址线的高8位A15~A8由P2口提供,低8位A7~A0由P0口通过地址锁存器提供。地址锁存器的锁存信号为ALE。数据线直接接
入P0口。 程序存储器的取指(读)信号为PSEN。8031的EA必须接地,用以选择访问外部程序存储器。由于只有一片EPROM
,其片选信号可以直接接地。 同8051/8751最小系统一样,8031也必须有时钟及复位电路。 8031最小系统电路如图5.2所
示。XTAL1P2XTAL2P0EPROMALEA7~A0D7~D0+5VRESETOEPSENCE8031EAA1
5~A8锁存器图5.28031最小系统7.3外扩ROM 8051系列的ROM最大寻址空间为64KB,其中87
51/AT89C51/52片内有4KB/8KBEPROM/E2PROM/Flash。 8031片内不带ROM。当片内
ROM不够用或采用8031芯片时,需外扩ROM。7.3.1外部ROM的操作时序7.3.2外扩2KB、16KB、64KBE
PROM7.3.3外部ROM的操作时序时序有二种:A:不执行MOVX指令的时序;B:执行MOVX指令的时序; 不执行M
OVX指令的时序:P2口用于输出PCH中高八位地址;P2口有输出锁存功能,可直接与外部ROM的地址线连接,不需要再加锁存;P0口
作为分时切换的A/D总线输出PCL中低八位地址,输入指令码。 在不执行MOVX指令情况下,每个T周期中允许地址锁存信号ALE两
次有效,在ALE由高变低时,有效地址PCL出现在P0总线上,使低八位地址锁存到地址锁存器中。对PSEN也是每个T周期两次有效,用
来选通外部ROM,使指令码送到P0总线上,由CPU取入。(如图A所示)一个机器周期一个机器周期S1S2S3S4S5S6S1S2S
3S4S5S6ALEPSENPCH输出PCH输出PCH输出PCH输出PCH输出RDP2P0指令输入指令输入指令输入指令输入PCL输
出PCL输出PCL输出PCL输出PCL输出(A)不执行MOVX指令时当系统中扩展有外部RAM,执行MOVX指令时,其时序如下图所
示(图B) 在同一周期的S5状态,ALE由高变低时,P0总线上出现的将不再是有效的PCL值(ROM低8位地址),而是有效的外部RA
M地址。若执行的是MOVXA,@DPTR指令,此地址就是DPL值(DPTR的低八位),同时在P2口出现的是DPH有效值
(DPTR的高八位地址)。周期1周期2S1S2S3S4S5S6S1S2S3S4S5S6ALEPSENPCH输出RDPCH输出DPH
输出或P2输出PCH输出P2P0数据指令输入指令输入@Ri@DPTRRAM地址PCL输出PCL输出(B)执行MOVX指令若执
行的是MOVX A,@Ri指令,则此地址就是Ri的内容,同时在P2口出现的将是专用寄存器P2的内容。在同一T周期的S6状态时刻,
将不再出现PSEN的有效信号。下一个T周期的第一个ALE有效信号也不再出现,而当RD(或WR)有效时,P0总线上将出现有效的输入
数据(或输出数据)7.2.2外扩2KBEPROM现外扩一片2716的EPROM,电路中选用了一片带三态缓冲输出的8D锁
存器,74LS573作为地址锁存器,它的输入端与P0口连接,输出端与2716的地(A0~A7)连接。电路设计如下图:8051
ALE2716CSA8~10P2P0A0~7D0~7EAPSENOEP.7P.6P.5P.4P2.20~P2.20V15731
15V扩展16KB扩展32KB27256,内址译码15位,外址译码1位扩展64KB27128,内址译码14位,外址译码2位2751
2,内址译码16位74LS573的G端是输入选通端,当G=1时:锁存器处于透明工作状态,即锁存器的输出状态随输入数据端的变化而
变化。当G端由“1”变“0”时:数据被锁存起来(这里的数据就是地址)因此,把G与单片机的ALE端连接,这样恰好符合它的时序要求。
74LS573的1脚是输出使能端,当1脚=0时:选通74LS573的输出,使低八位地址送到外扩ROM地址线上。这里选用一
片2716作为外扩存储器,它的容量是2KB,即需11根地址线P0口的8根线经锁存后,作为2716的低八位地址线。高3位,由P2口的
P2.0~P2.2来实现,即P2.0~P2.2分别与2716的A8~A10直接连接。因为P2口本身有输出三态锁存的功能,无需再经锁
存。2716的OE是输出锁存端,与单片机的PSEN端相连接。PESN——是外部存储器取指选通信号,当PESN有效时,把2716
的指令码送上P0口总线。2716的数据端直接与单片机的P0口连接。这里单片机的EA/VDD端接+5v,可使CPU从内部的000
0H单元开始取指,当地址超出0FFFH时,CPU会自动转到外部ROM取指,执行程序。目录5.2.3外扩16KB的EPROM选
用EPROM存储器为27128。其容量为16KB,电路设计方法和思路与前2KB存储器的扩展一样。只是27128的地址引脚和使能引脚
有所不同,所需的地址线为:(16384)14根。P2口的P2.0~P2.5作为高6位地址线,分别直接连接27128的A8~A13
。数据和低八位地址与2716一样,连接到27128的数据总线和低八位地址线上。(如下图所示)7.4数据存储器的扩展RAM的扩
展有两种:1)扩展容量小于等于256BRAM, 可用MOVX A,@Ri访问外部RAM,只用P0口送低8位地址;2)
扩展容量大于256B~64KB的RAM, 可采用MOVX A,@DPTR访问RAM,这时用P2口和P0口传送16位地址。S1S3
S2S4S5S6P2P1P2P1P2P1P2P2P2P1P1P112ALEPSENRD57P2地址A15~A83P0数据输入A7~
A0指令输出悬浮悬浮悬浮3468地址或悬浮数据存储器读周期时序7.4.1外部数据存储器的操作时序如图所示:先看读外部RAM
的时序。S1S3S2S4S5S6P2P1P2P1P2P1P2P2P2P1P1P11ALEPSENWRP2地址A15~A865242
3P0数据输入A7~A0指令输出悬浮数据存储器写周期时序地址或悬浮在第1个T周期的S1,ALE由低变高,开始了读周期。在S
2时刻,CPU把低8位地址送上P0总线,同时把高八位地址送上P2口(MOVX A,@DPTR)。ALE的下降沿把低八位地址锁存到
外部地址锁存器内,高位地址直接锁存到P2口上。在S3时刻,P0总线驱动器进入高阻状态;在S4时刻,变为有效,使得被寻址的RAM
过片刻后把有效的数据送上P0总线。当RD回到高电平后,被寻址的RAM把其本身的总线驱动器悬浮起来,使P0总线又进入高阻状态。写
外部RAM的时序与上述类同,但写的过程是CPU主动把数据送上总线,故在时序上,CPU向P0总线送完被寻址存贮器的低8位地址后,在S
3时刻,就由送地址直接改为送数据上总线,在这一期间总线上不出现高阻悬浮的状态,在S4状态,写信号有效,选通被寻址的存储器,稍
过片刻,P0上的数据就写到了被寻址的RAM内。7.4.2外扩2KB的RAM电路采用一片CMOS静态RAM6116和一片8282
三态缓冲的8D锁存器,8282是用来锁存低八位地址。三总线的连接: P0口(地址/数据总线)一方面与6116的数据线直接连接;
另一方面与8282锁存器的输入端连接,经8282锁存器送给6116作为地址低八位。 P2口的(P2.0~P2.2)三根线直接与6
116的A8~A10连接,从而由P2.0~P2.2共同组成11位地址线,可寻址2KBRAM空间。控制线的连接方法有:51的WR
直接与6116的WR连接;51的RD直接与6116的OE连接;51的ALE直接与8282的STB连接6116的片选CS接地。0
v8051ALE6116CSA8~10P2P0A0~7D0~7EARDOEWRWRP2.0~P2.20V18282115
V扩展32KB:扩展64KB:6225662512可采用MOVX A,@DPTR和MOVX A,@Ri两种指令访问外部RAM。
若采用MOVX A,@DPTR,则P0和P2口线同时送出地址信息。虽然6116只用了P0和P2.0~P2.2共11根地址线。但
这时P2.3~P2.7的使用已受限制(送地址过程中,P2口线上的内容将被暂时移去)。为了节约口线,可采用MOVX A,@Ri,访
问外部RAM。这时同样利用P2.0~P2.2来传送高3位地址,但P2.3~P2.7仍保留为一般I/O口。下面由6116读出一个字节的子程序:RDBYTE:MOVR0,#ADDRC;低8位地址指针MOVA,#ADDRH;高3位地址(A)ANLP2,#11111000B;保留P2.3~P2.7内容ORLP2,A;高3位地址P2.0~P2.2MOVXA,@R0;读入一个字节(A)RET(注:外扩有ROM时,P2口不能做I/O线用)7.4.3外扩16KB的RAM采用2片6264作为外扩RAM,373作为低八位地址锁存器。这里用了片选信号是因为有两片RAM,每次访问存储器时只能访问一片,所以访问哪一片是通过片选来确定的。16KBRAM用了13位地址线。(如下图所示)如果要扩展为64KB,电路怎样设计,留给同学们自己思考。
献花(0)
+1
(本文系太好学原创)