关于存储器与ARM连线方式及地址的确定

发布者:脑洞狂想最新更新时间:2018-06-05 来源: eefocus关键字:存储器  ARM  连线方式  地址 手机看文章 扫描二维码
随时随地手机看文章

       一直对ARM外设FLASH和SDRAM的连接方式和地址的确定有很大疑问,今天总算是明白了一些。就对这发表发表我的理解吧。

        一般s3c2410或s3c2440与nor flash相连时,地址线总是偏移几位,比如与AM29L800BB相连时,是CPU的ADDR1~ADDR20连上nor flash的A0~A19。向左偏移了一位。而与SDRAM相连时,就更加奇怪了,比如与两片K4S561632C相连时,是CPU的ADDR2~ADDR14连SDRAM的A0~A12,CPU的ADDR24、ADDR25连SDRAM的BA0、BA1,nSCS0连SDRAM片选,还有一些其他连线,在此不详细列出。

        为什么会出现如此的连线方式?下面先看看一些基础知识,我们再来分析上面的问题,就会更加简单。

        先提一下位宽的概念,对于具体器件而言,它的位宽是一定的,所谓位宽,指的是“读/写操作时,最小的数据单元”──别说最小单元是“位”,一般设备上没有单独的“位操作”,修改位时通过把整个字节、字或双字读出来、修改,再回写。AM29L800BB这种nor flash位宽是16位。K4S561632C这种SDRAM位宽是32位。

        对于CPU来说,一个地址对应的是一个字节(8位),也就是说CPU的地址线(A0~A20)对应的最小数据单元是字节。

        这里需要注意的是,不要把“外设的位宽”和“CPU的位数”这两个概念混淆了。外设的位宽是读写外设的最小数据单元,CPU位数是CPU可以一次处理的字节数,32位CPU可以一次处理4字节数据。

        好了,相信你也已经发现问题了吧。既然CPU最小数据单元是8位,flash位宽是16位,那在我们写程序时会特意进行16位操作吗?显然不会,我们写代码时,可不管外设到底是多少位。这是如何实现的呢?原因在于存储控制器(Memory Controller)这个中间层。

        存储控制器根据NOR FLASH的位宽,每次总是读/写16位数据。
         以读操作为例:
        CPU进行8位操作时,它选择其中的8位返回给CPU;
        CPU进行16位操作时,它直接把这16位数据返回给CPU;
        CPU进行32位操作时,它发起2次读/写,把结果组合成32位返回给CPU。

        现在的连线是:CPU的(ADDR1-ADDR20)接到 16位的NOR FLASH (A0-A19),即CPU的ADDR0不接──这说明:不管ADDR0是0还是1,NOR FLASH接收到的地址是一样的。
        CPU发出地址0bxxxxxxxxx0、0bxxxxxxxxx1时,NOR FLASH看到的都是0bxxxxxxxxx,返回给存储控制器的都是同一个16位数据。再由Memory Controller选择其中的低8位或高8位给CPU。

        存储控制器会做以下事情:
        软件要读取地址0上的8位数据时,硬件是这样进行的:
         ① Memory Controller发出0b000000000000000000000的地址信号,NOR FLASH的A0-A19线上的信号是:0b00000000000000000000

         ② NOR FLASH在数据总线D0~D15上提供一个16位的“最小数据单元”的数据;

         ③ 存储控制器读入16位数据;
         ④ 存储控制器把16位数据的低8位返回给CPU,就得到了一个8位数据。

      软件要读取地址1上的8位数据时,硬件是这样进行的:
        ① 存储控制器发出0b000000000000000000001的地址信号,NOR FLASH的A0-A19线上的信号是:

0b00000000000000000000
       ② NOR FLASH在数据总线D0~D15上提供一个16位的数据,这是NOR FLASH中的第1个“最小数据单元”
       ③ 存储控制器读入这个16位数据
       ④ 存储控制器把这个16位数据的高8位(注意,前面的低8位)返回给CPU,这就是一个8位数据。

       所以:
        外设位宽是8时,CPU的A0~AXX与外设的A0~AXX直接相连
        外设位宽是16时,CPU的A1~AXX与外设的A0~AYY直接相连,表示不管CPU的A0是0还是1,外设看到的都是同一个地址,

对应16位的数据,存储控制器对数据进行选择或组合,再提供给CPU。
        外设位宽是32时,CPU的A2~AXX与外设的A0~AZZ直接相连,表示不管CPU的A0A1是00,01,10还是11,外设看到的都是

同一个地址,对应32位的数据,“Memory Controller”对数据进行选择或组合,再提供给CPU。

        经过以上分析,我们应该知道了,为什么地址线要偏移几位了。同样的SDRAM因为是32位宽的,所以偏移2位。那为什么SDRAM要连ADDR2~ADDR14和ADDR24、ADDR25呢?同样,我们先看下SDRAM的基本知识。

       SDRAM的连接方式与上面FLASH的类似,但是要比其复杂些。因为SDRAM内部是一个存储阵列,如同表格一样将数据填进去,因此得先指定一个行,再指定一个列,才可以找到所需的单元格。这个表格被称为逻辑Bank(L-Bank),一般有4个Bank。可以想象,对SDRAM的访问分为以下4个步骤:
        ① CPU发出片选信号nSCS0有效,选中SDRAM芯片;
        ② 选择L-Bank,最开始说的ADDR24和ADDR25即此作用;
        ③ 进行统一行/列寻址;
        根据SDRAM芯片的列地址线数目设置CPU相关存储器后,CPU就会从32位的地址中自动分出L-Bank选择信号、行地址信号、列地址信号,然后先发出行地址信号、列地址信号。L-Bank选择信号在发出行地址信号的同时发出,并维持到列地址信号结束。在本例中,行地址、列地址公用ADDR2~ADDR14。K4S561632行地址13,列地址9,所以nSRAS信号有效时,ADDR2~ADDR14发出行地址,对应32位地址空间的bit[23:11];nSCAS有效时,ADDR2~ADDR10发出列地址,对应32位地址空间的bit[10:2]。而bank选择位对应bit[25:24]。这样就构成了64M地址空间,及30000000到33ffffff。
        ④ 找到存储单元后,被选中的芯片就进行统一的数据传输。


关键字:存储器  ARM  连线方式  地址 引用地址:关于存储器与ARM连线方式及地址的确定

上一篇:S3C2440 存储器地址映射
下一篇:关于S3C2440的地址分配的分析

推荐阅读最新更新时间:2024-03-16 16:04

ARM推出面积最小能耗最低最节能的处理器
      2009年2月23日,ARM ; 日前推出了ARM® Cortex™-M0处理器,这是市场上现有的最小、能耗最低、最节能的ARM处理器。该处理能耗非常低、门数量少、代码占用空间小,使得MCU开发人员能够以8位处理器的价位,获得32位处理器的性能。超低门数还使其能够用于模拟信号设备和混合信号设备及MCU应用中,可望明显节约系统成本,同时保留功能强大的Cortex-M3处理器的工具和二进制兼容能力。       在180ULL工艺上使用ARM标准单元库时, ARM 凭借其作为低能耗技术的领导者和创建超低能耗设备的主要推动者的丰富专业技术,使得Cortex-M0处理器在不到12K门的面积内能耗仅有85微瓦/MHz (0.
[半导体设计/制造]
ARM驱动的苹果Mac笔记本是不是也快来了!
不少像微软这样的行业参与者本周已经抵达香港,参加高通的 4G/5G 峰会,这是一个年度活动,旨在制定和讨论主流科技趋势和技术发展。在这次会议期间,高通透露了其与微软合作开发以新型 ARM 芯片为驱动的下一代笔记本的部分讯息。关于微软即将推出的 ARM 版 Windows 10 笔记本,除了各种硬件和性能的升级外,其中的一个最吸引人的话题是肯定的——电池续航。 想要了解 Windows 10 笔记本电池续航能力,只需从微软 Windows 事业部项目经理皮特·伯纳德告诉外界的消息就可侧面印证,他表示使用这台设备后“每隔几天才充电一次”。 伯纳德随后对内部测试结果发表的讲话更是肯定了 ARM 芯片带来的成果。他评价到,让一台真
[嵌入式]
基于ARM的中英文翻译器设计
  为了改进某焊接设备只能输出打印英文单据的情况,设计了由高性能ARM7控制器——LPC2214为核心的英文转中文翻译器,详细论述了具体的硬件电路和优化的软件算法的设计原理,实验结果表明,翻译器对输入的英文数据量的大小无任何限制,能够显著降低系统硬件资源需求且能大大提升打印速度。大体概念外观如下图所示。   基于某焊接设备存储大量数据需要通过打印机输出,但由于该设备及其配套的微型热敏打印机只能英文打印,不能中文打印的问题,从而影响用户阅读。另外,原有的配套英文打印机具有打印速度缓慢、每一组数据间隔过大,浪费纸张等缺点。因此,为了解决上述问题,根据实际工程项目应用需要,提出一种基于ARM的英文转中文的翻译器设计方案,该设计是在原
[单片机]
基于<font color='red'>ARM</font>的中英文翻译器设计
华芯通半导体技术获得ARM®v8-A架构授权
2016年7月12日,上海讯 华芯通半导体技术有限公司(以下简称 华芯通半导体 )已获ARM v8-A架构授权。中国成为全球第二大数据中心市场,该授权将帮助华芯通半导体在快速扩张的中国服务器市场加快先进服务器芯片组技术。这项多年的授权将帮助中国企业在本土市场提供基于ARM的服务器技术,从而推动最高效服务器解决方案的大规模部署。   华芯通半导体是中国贵州省人民政府与美国高通公司合资创办的企业。该公司位于贵州省,是中国第一个建立大数据发展产业集群的省份。该地区已成为数据中心集群,拥有250多万台服务器,聚集了包括中国电信、中国联通和中国移动在内的公司。   ARM执行副总裁和产品事业部总经理Pete Hutto
[单片机]
ARM正式宣布M3免预付授权费,A75、A55采用人工智能DynamIQ技术
天,ARM 在北京召开媒体发布会,正式宣布对其DesignStart项目进行升级,在此前开放Cortex-M0基础上,再次开放Cortex-M3处理器及相关IP子系统,对其免预付授权费。 此外,ARM 还详细介绍了为人工智能时代研发的全新的DynamIQ技术。据悉该技术已经应用到ARM 最新的 Cortex-A75处理器、ARM Cortex-A55处理器和ARM Mali-G72 图形处理器当中。 DesignStart项目升级:Cortex-M0后,Cortex-M3正式免预付授权费 ARM 自2010年起,启动DesignStart 项目,目的是提供给用户快速获得ARM IP的途径。2015年,ARM宣布通过Desig
[手机便携]
ARM开发环境KEIL和IAR设置堆栈的占用空间大小
大家在ARM开发过程中都会遇到堆栈不够或者堆栈设置太大的情况,下面我就通过IAR和KEIL两个开发环境,来介绍如何修改堆栈的大小 工具/原料 IAR KEIL 一、IAR 打开工程文件,在左上角工具栏选择 Project- Options... 在Category栏选中Linker 在右侧内容栏选中Config 勾选Override defaut选项 点击Edit按钮,在弹出的对话框中选中Stack/Heap Sizes,这样就可以修改CSTACK和HEAP的大小了 END 二、KEIL 打开ARM芯片的启动文件,比如startup_stm32f10x_md_vl.s文件 在文件的
[单片机]
<font color='red'>ARM</font>开发环境KEIL和IAR设置堆栈的占用空间大小
ARM7嵌入式系统在车辆调度中的应用范畴
一、车辆调度系统的整体设计: 整个系统包括四个部分(1)通信主站;(2)车载从站;(3)通信链路。(4)系统监控部分。下面对各个部分的功能做一个简单的介绍。 (1)通信主站:完成信息的转发,它是连接系统监控部分和车载从站的纽带,它将从系统监控部分来的信息转发给车载从站。并且接收车载从站的信息,并将信息上传给系统监控部分。 (2)车载从站:被监控的对象,接收监控调度命令,并可以返回自己的状态信息。状态信息的取得是依靠在车载从站中的GPS接收机来完成车辆位置和速度信息等的采集工作。 (3)通信链路:完成通信主站和车载从站的信息传递及通信主站和系统监控部分的信息交互。其中前者在本次设计中是以GSM手机模块做为通信的工具,
[单片机]
基于ARM的海底大地电磁信号采集系统主控模块改进
摘要:对现有海底大地电磁信号采集系统的主控模块进行了改进。采用AT91m40800为主控单元,通过移植嵌入式实时操作系统μC/OS-II进行任务管理,并扩展了ISA总线、串行接口和网络接口。概要介绍了改进方案的设计思路、μC/OS-II的移植以及ARM对外围器件的扩展,并通过ISA总线仿真了系统时序效果。 关键词:大地电磁 ARM μC/OS-II 动耗 1 海底大地电磁仪的分析 海底大地电磁数据采集器是对海底大地电磁场和海底环境信息进行自动采集的智能化仪器,旨在建立具有我国特色的海底大地电磁探测技术,并使之实用化,为我国海域区域地质调查提供新的技术支撑,为发展我国海洋电磁探测奠定基础。仪器于2000年研制成功后,在我国东
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved