当前位置:首页 > 单片机 > 单片机
[导读]   在实际的单片机应用系统设计中,往往既需要扩展程序存储器,又需要扩展数据存储器(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对其编程来代替译码器进行非线性译码。

 

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

无论您是在研究如何使用 10GigE 还是寻求所需考虑事项的建议,本文均提供有实践,帮助确保单相机 10GigE 视觉系统设置顺利并拥有良好性能。 我们列出了主机系统配置、布线和相机设置的实践。

关键字: 视觉系统 CPU 存储器

存储器是计算机系统中的关键组件,负责存储程序指令和数据,是实现计算和信息处理的基础。根据其工作原理、存储容量、访问速度、稳定性以及持久性等诸多特性,存储器可以被细分为多个类别。本篇文章将详细介绍存储器的主要分类,并探讨各...

关键字: 存储器 RAM

Apr. 03, 2024 ---- 4月3日7时58分在台湾花莲县海域(北纬23.81度,东经121.74度)发生7.3级地震,震源深度12千米。根据全球市场研究机构TrendForce集邦咨询于第一时间调查各厂受损及...

关键字: 存储器 晶圆代工

2024年3月26日,中国-- 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)发布了一项基于 18 纳米全耗尽绝缘体上硅(FD-SO...

关键字: 处理器 微控制器 存储器

该产品线提供了并行SRAM的低成本替代方案,容量高达 4 Mb,具有143 MHz SPI/SQI™通信功能

关键字: SRAM 存储器 MCU

【2024年1月15日,德国慕尼黑讯】卫星上的边缘计算和推理可实现近乎实时的数据分析和决策制定。随着联网设备的数量及其产生的数据量不断增长,这一点变得愈发重要。为满足太空应用中的这些高性能计算需求,英飞凌科技股份公司(F...

关键字: 存储器 嵌入式 边缘计算

可编程逻辑控制器(PLC,Programmable Logic Controller)是一种专为工业环境设计的数字电子系统。它使用可编程的存储器,内部存储程序,执行逻辑运算、顺序控制、定时、计数和算术操作等面向用户的指令...

关键字: 可编程逻辑控制器 数字电子系统 存储器

Jan. 11, 2024 ---- 根据TrendForce集邦咨询表示,全球受高通胀冲击,2023年笔电市场需求欲振乏力,全年出货量仅1.66亿台,年减10.8%,但衰退幅度较2022年收敛。

关键字: AI 笔电 存储器

可编程逻辑控制器(PLC)是一种工业自动化控制装置,它采用可编程的存储器来存储指令,执行逻辑运算、顺序控制、计数、定时和算术操作等面向用户的指令,并通过模拟或数字输入/输出控制各种类型的机械或生产过程。PLC的基本原理可...

关键字: 可编程逻辑控制器 自动化 存储器

Jan. 8, 2024 ---- TrendForce集邦咨询表示,2024年第一季DRAM合约价季涨幅约13~18%,其中Mobile DRAM持续领涨。目前观察,由于2024全年需求展望仍不明朗,故原厂认为持续性减...

关键字: DRAM 存储器 智能手机
关闭
关闭