原创 全地址译码、部分地址译码和线性选择译码

2010-1-4 11:12 21434 18 19 分类: MCU/ 嵌入式
5.5.2 存储器芯片与CPU的连接
  存储器芯片的外部引脚按功能分为数据线(DB)、地址线(AB)和控制线(CB)。CPU对存储器的读写操作首先是向其地址线发地址信号,然后向控制线发读写控制信号,最后再在数据线上传送数据信息。同时,每一块存储器芯片,其地址线、数据线和控制线都必须和CPU建立正确的连接,才能进行正确的读写操作。
  CPU与存储器的连接就是指地址线的连接、数据线的连接和控制线的连接。连接时,应考虑以以下几个问题:
  1.CPU总线的负载能力
  在小型系统中,CPU总线的负载能力是可以驱动存储器系统的。但当CPU和大容量的标准ROM、RAM一起使用或扩展成一个多插件系统时,就必须用接入缓冲器或总线驱动器等方法增加CPU总线的驱动能力。地址总线只需接入单向的驱动器,例如74LS244、74LS373等,数据总线需要接入双向驱动器,例如74LS245等。
  2.存储器与CPU的速度匹配问题
  在选择存储器芯片时,就应考虑与CPU速度的匹配问题。CPU严格按照存储器读写周期的时序进行读写操作,当存储器速度跟不上CPU时序时,设计系统时应注意插入TW。但随着大规模集成电路的发展,目前存储器芯片与CPU的速度匹配已不成大问题。

  3.存储器的寻址方法
  存储器芯片与CPU地址总线的连接方式,必须满足对这些芯片所分配的地址范围的要求。CPU发出的地址信号必须实现两种选择:首先对存储器芯片的选择,使相关芯片的片选端CS为有效,这称为片选。然后在选中的芯片内部再选择某一存储单元,这称为字选。片选信号和字选信号均由CPU发出的地址信号经译码产生。片选信号由存储器芯片的外部译码电路产生,这部分译码电路用户不需设计。下面介绍外部译码电路的两种译码方法。
  (1)线性选择法
  这种方法直接用CPU地址总线中某一高位线作为存储器芯片的片选信号,简称为线先法。线选法的优点是连接简单,片选信号的产生不需要复杂的逻辑电路,只用一条地址线与MREQ的简单组合就可产生有效的CS。例如,某一计算机系统,共有16条地址,现只需接入1KB的RAM和1KB的ROM,因此可以确定,当地址范围要求如图5-11所示时,字选线为10条,可用A0~A9充当;若用A10作片选,则RAM和ROM的地址为图一组,当用A11作片选时,地址范围如第二组。
  pic38.jpg
  从图5-11中可知,A11作片选时,RAM和ROM的地址已不连续。同理,用A12~A15中任一条作片选的话,RAM和ROM的地址间隙将更大。A11作片选时,图中RAM和ROM的地址范围是将A10作为"0"考虑时给出的,由于电路中对A10无任何控制和约束,因此,当A10为"1"时,也应寻址到这些RAM或ROM。
  另外,当A12~A15取值为非全0时,又将出现另外许多组地址,这是由于译码电路未对这些高位地址进行管理的原因,称为地址的多义性。
  当采用线选法时,若低位地址线用于字选,高位地址线用作线选,当高位地址未全部用完、而又没有对其控制时,会出现地址的不连续性和多义性,这是线选法的两大缺点。线选法还有另一种局限:即使所有高位地址线都用作线选,其能寻址的存储空间十分有限。在大系统中,线选法有限的寻址能力限制了存储器系统的扩展,这也是它的一个弱点。因此,为避免地址的不连续性和多义性、加强系统存储器的扩展能力,应采用另一种寻址方法――全译码法。
  (2)全译码法
  全译码法将高位地址线全部作为译码器的输入,用译码器的输出作片选信号。在这种寻址方法中,低位地址线用作字选,与芯片的地址输入端直接相连;高位地址线统统连接进译码电路,用来生成片选信号。这样,所有的地址线均参与片内或片外的地址译码,不会产生地址的多义性和不连续性。在全译码方式中,译码电路的核心常用一块译码器充当,例如前面介绍的74LS138等。
采用全译码法的存储器系统电路如
图5-12所示。
  图5-12中共有12KB的存储器系统,其中低8KB为EPROM,由两片2732A(4KB×8位)芯片组成,地址范围为0000H~1FFFH(其中,2732A(1)为0000H~0FFFH,2732A(2)为1000H~1FFFH),高4KB为RAM,由两片6116(2KB×8位)芯片组成,地址范围为2000H~2FFFH(其中,6116(1)为2000H~27FFH,6116(2)为2800H~2FFFH)。CPU为8位机型(如Z-80),16根地址线(A0~A15)全部参加译码。其中,每片EPROM为4KB,故A0~A11用作片内字选,而A12~A15用作片选,而RAM每片为2KB,用A0~A10作片内字选,A11~A15作片选。WR为控制信号线,RD为读控制信号线,MREQ为存储器选通信号线,3条信号线均为CPU输出,低电平有效。
从图5-12可见,地址线A0~A15全部参加译码,故地址不会出现多义性。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户377235 2015-11-1 15:25

图在哪

用户1696168 2012-10-2 15:37

是不是存在latch了啊!
相关推荐阅读
用户221556 2010-03-03 18:23
广告贴
发个广告哈,呵呵http://bbs.cnttr.cn/?fromuid=469963主要是需要流量来下一本书...汗终于发了一个原创帖了...
用户221556 2010-02-06 11:09
关于C51求数组字节数量的详解(sizeof的详解)
看了网络上一些关于sizeof的用法,觉得都没有针对C51内的详细说明,在此进行详细解释,以便供大家参考:例如数组: unsigned char code parameter_table[] = { ...
用户221556 2009-12-31 16:44
浅谈C中的malloc和free(转)
转自http://blog.21ic.com/user1/5473/archives/2009/54832.html一、malloc()和free()的基本概念以及基本用法:1、函数原型及说明:voi...
用户221556 2009-12-31 16:32
PIC单片机中asm volatile的问题
读师兄们写的操作系统,有这么句话asm volatile ("push _CurrentTaskPCL");查了资料(http://www.microchip.com.tw/modules/newbb...
用户221556 2009-12-23 22:27
SRAM和DRAM
SRAM 是静态随机存储器DRAM是动态随机存储器DRAM,动态随机存取存储器,需要不断的刷新,才能保存数据。 而且是行列地址复用的,许多都有页模式。 SRAM,静态的随机存取存储器,加电情况下,不需...
我要评论
1
18
关闭 站长推荐上一条 /3 下一条