当前位置:首页 > 单片机 > 单片机
[导读]在实际的单片机应用系统设计中,往往既需要扩展程序存储器,又需要扩展数据存储器(I/O接口芯片中的寄存器也作为数据存储器的一部分),如何把片外的两个64KB地址空间分配给各个程序存储器、数据存储器芯片,并且使程序存储器和数据存储器的各芯片之间,一个存储器单元只对应一个地址,避免单片机发出一个地址时同时访问两个单元,而发生数据冲突。这就是存储器的地址空间的分配问题。

在实际的单片机应用系统设计中,往往既需要扩展程序存储器,又需要扩展数据存储器(I/O接口芯片中的寄存器也作为数据存储器的一部分),如何把片外的两个64KB地址空间分配给各个程序存储器、数据存储器芯片,并且使程序存储器和数据存储器的各芯片之间,一个存储器单元只对应一个地址,避免单片机发出一个地址时同时访问两个单元,而发生数据冲突。这就是存储器的地址空间的分配问题。

AT89S51单片机发出的地址码用于选择某个存储器单元,在外扩的多片存储器芯片中,AT89S51单片机要完成这种功能,必须进行两种选择:一是必须选中该存储器芯片,称为片选。只有被选中的存储器芯片才能被AT89S51单片机访问,未被选中的芯片不能被访问。二是在片选的基础上再根据单片机发出的地址码来对选中的芯片的某一单元进行访问,称为单元选择。为了实现片选,每个存储器芯片都有片选信号引脚。同时每个存储器芯片也都有多个地址线引脚,以便对其进行单元的选择。需要注意的是,片选和单元选择都是单片机通过地址线一次发出的地址信号来完成选择的。

通常把单片机系统的地址线笼统地分为低位地址线和高位地址线,片选都是使用高位地址线。实际上,在16条地址线中,高、低位地址线的数目并不是固定的,我们只是习惯上把用于存储器单元选择的地址线称为低位地址线,其余的称为高位地址线。

常用的存储器地址空间分配方法有两种:线性选择法(简称线选法)和地址译码法(简称译码法),下面分别介绍。

1.线选法

线选法是直接利用系统的某一高位地址线作为存储器芯片(或I/O接口芯片)的片选控制信号。为此,只需要把用到的高位地址线与存储器芯片的片选端直接连接即可。

线选法的优点是电路简单,不需要另外增加地址译码器硬件电路,体积小,成本低。缺点是可寻址的芯片数目受到限制。另外,地址空间不连续,每个存储单元的地址不唯一,这会给程序设计带来一些不便,只适用于外扩芯片数目不多的单片机系统的存储器扩展。

2.译码法

译码法就是使用译码器对AT89S51单片机的高位地址进行译码,将译码器的译码输出作为存储器芯片的片选信号。这种方法能够有效地利用存储器空间,适用于多芯片的存储器扩展。

常用的译码器芯片有74LS138(3线-8线译码器)、74LS139(双2线-4线译码器)和74LS154(4线-16线译码器)。若全部高位地址线都参加译码,称为全译码;若仅部分高位地址线参加译码,称为部分译码。部分译码存在着部分存储器地址空间相重叠的情况。

下面介绍两种常用的译码器芯片。

(1) 74LS138 是一种3线-8线译码器,有3个数据输入端,经译码产生8种状态。

其引脚如右图所示,真值表见下表。由下表可见,当译码器的输入为某一固定编码时,其输出仅有一个固定的引脚输出为低电平,其余的引脚输出为高电平。而输出为低电平的引脚就作为某一存储器芯片的片选端的控制信号。

表 74LS138真值表

 

(2) 74LS139 是一种双2线-4线译码器。这两个译码器完全独立,分别有各自的数据输入端、译码状态输出端以及数据输入允许端,其引脚如左图所示,

真值表见下表(只给出其中的一组)。

表 74LS139真值表

 

下面以74LS138为例介绍如何进行地址分配。例如,要扩展8片8KB的RAM 6264,如何通过74LS138把64KB空间分配给各个芯片?由上表可知,把Gl接+5V,G2A、G2B(的反)接地,P2.7、P2.6、P2.5(高3位地址线)分别接到74LS138的C、B、A端,由于对高3位地址译码,这样译码器有8个输出YO~Y7,分别接到8片6264的各个片选端,实现8选1的片选。而低1 3位地址( P2.4~P2.0,PO.7~PO.0)完成对选中的6264芯片中的各个存储单元的单元选择。这样就把64KB存储器空间分成8个8KB空间了。64KB地址空间的分配如下图所示。

 

这里采用的是全地址译码方式。因此,AT89S51单片机发出16位地址码时,每次只能选中某一芯片以及该芯片的一个存储单元。

如何用74LS138把64KB空间全部划分为4KB的块呢?由于4KB空间需要12条地址线进行单元选择,而译码器的输入只有3条地址线(P2.6~P2.4),P2.7没有参加译码,P2.7发出的O或1决定了选择64KB存储器空间的前32KB还是后32KB,由于P2.7没有参加译码,就不是全译码方式,这样前后两个32KB空间就重叠了。那么,这32KB空间利用74LS138译码器可划分为8个4KB空间。如果把P2.7通过一个非门与74LS138译码器的Gl端连接起来,如下图所示,就不会发生两个32KB空间重叠的问题了。这时,选中的是64KB空间的前32KB空间,地址范围为OOOOH~7FFFH。如果去掉上图中的非门,地址范围为8000H~FFFFH。把译码器的输出连到各个4KB存储器的片选端,这样就把32KB的空间划分为8个4KB空间。P2.3~P2.0,P0.7~PO.O实现对单元的选择,P2.6~P2.4通过74LS138译码器的译码实现对各存储器芯片的片选。

采用译码器划分的地址空间块都是相等的,如果将地址空间块划分为不等的块,可采用可编程逻辑器件FPGA对其编程来代替译码器进行非线性译码。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭