(一) ARM 内存SDRAM 讲解
2、SDRAM内存工作原理
上面产生的误解关于 Bank ,这个bank 不是 和 S3C2440 芯片有关系(RAM 自身有bank , SDRAM 自身也有bank ,就像书 有 好几章节一样)
所以人们在 SDRAM内部分割成多个 L-Bank,目前基本都是 4个(这也是SDRAM规范中的最高L-Bank数量),由此可见,在进行寻址时就要先确定是哪个 L-Bank,然后在这个选定的 L-Bank中选择相应的行与列进行寻址。因此对内存的访问,一次只能是一个 L-Bank工作。如图2-50
当对内存进行操作时(见下图),先要确定操作L-Bank,因此要对L-Bank进行选择。在内存芯片的外部管脚上多出了两个管脚BA0, BA1,用来片选4个L-Bank
内存外接管脚地址线只有13根地址线A0~A12,它最多只能寻址8KB内存空间,到底使用什么机制来实现对64M内存空间进行寻址的呢?
SDRAM的行地址线和列地址线是分时复用的,即地址要分两次送出,先送出行地址(nSRAS行有效操作),再送出列地址(nSCAS列有效操作)。这样,可以大幅度减少地址线的数目,提高器件的性能和制作工艺复杂度。
但寻址过程也会因此而变得复杂。实际上,现在的SDRAM一般都以L-Bank为基本寻址对象的。由L-Bank地址线BAn控制L-Bank间的选择,
行地址线和列地址线贯穿连接所有的L-Bank,每个L-Bank的数据的宽度和整个存储器的宽度相同,这样,可以加快数据的存储速度。同时,BAn还可以使未被选中的L-Bank工作于低功耗的模式下,从而降低器件的功耗。
开发板内存控制器管脚接线(以MINI2440开发板为例)-
上图是S3C2440提供的两片16位芯片并联连接示意图,An是CPU地址总线,其中A2~A14为内存芯片寻址总线,之所以地址寻址总线从A2开始是因为内存地址都是按字节对齐的,,A24,A25为L-Bank片选信号,Dn为CPU数据总线,其它为对应控制信号线。
通过S3C2440 16位宽内存芯片接线图可以看出,两片内存芯片只有两个地方不一样,LDQM, UDQM和数据总线DQn接线方式不一样。
{LDQM和UDQM}
由于存储芯片位宽为16位,一次可以进行两个字节的读取。但是,通常操作系统里最小寻址单位是1字节,因此内存控制器必须要保证可以访问内存里每一个字节。UDQM ,LDQM分别代表16位数据的高,低字节读取信号,当读取数据时,LDQM /UDQM分别用来控制16位数据中高低字节能否被读取,当LDQM /UDQM为低电平时,对应的高/低字节就可以被读取,如果LDQM /UDQM为高电平时,对应的高/低字节就不能被读取。当向内存里写入数据时,LDQM /UDQM控制数据能否被写入,当LDQM /UDQM为低电平时,对应的高/低字节就可以被写入,如果LDQM /UDQM为高电平时,对应的高/低字节就不能被写入。通过对LDQM /UDQM信号的控制可以控制对两个存储芯片存储数据,由于两个存储单元的地址线是通用的,他们都能接收到CPU发出的地址信号,但是,发给两个存储单元的LDQM /UDQM信号是不同的,以此来区分一个字的高低字节。
S3C2440A为32位CPU,也就是说其数据总线和地址总线宽度都是32位(可以理解为32根线一端连接CPU内部,另外一端连接向内存控制器),那么内存数据的输入/输出端也要保证是32位总线,MINI2440上采用两片16位宽总线内存芯片并联构成32位总线。其中一个芯片连接到CPU数据总线的低16位,另外一个芯片连接到数据总线上的高16位,并联成32位总线,因此两个芯片的输入/输出总线连接到CPU总线上的不同管脚上。
总结: 知道这些就可以了,至于读写操作,这些 都是大神干的事情,偶们并不需要完全理解,当然时间够的话,理解了是好事,这个SDRAM芯片的时序图懂了,看其他的 datasheet 基本也不会有什么问题。记住不要舍本求末。
____________________________________________________________________________________________________________________________________________________________________________________
再次总结: // 还是要感谢各位的,一下子明白 为什么是64M
地址线感觉 也就 13根 啊?
【LV4】巴黎街头的黎明(1140225089) 9:16:10
你不会自己算算嘛
64M
1m等于2的20次方
64等于2的6次方
【LV4】巴黎街头的黎明(1140225089) 9:17:17
所以64M等于2的26次方
也就是有26个一
【LV4】止不住の漂泊(603172921) 9:18:38
我知道啊 但是这个图好像也就 15根 ADDR[2:14] 和 ADDR[24] ADDR[25]
15个1啊 实在没法理解
【LV3】忙碌的身影(1078097537) 9:20:06
哎呀
【LV4】止不住の漂泊(603172921) 9:20:22
卡了好久了
【LV3】忙碌的身影(1078097537) 9:23:21
不是两片32M的吗
两个并接在一起的嘛
【LV4】止不住の漂泊(603172921) 9:23:36
嗯
【LV3】忙碌的身影(1078097537) 9:23:40
地址线就是15根
【LV4】止不住の漂泊(603172921) 9:23:43
是这个原因吗
【LV4】巴黎街头的黎明(1140225089) 9:23:49
是的
【LV3】忙碌的身影(1078097537) 9:23:50
15根不就是32M吗
【LV4】止不住の漂泊(603172921) 9:24:30
。。。。好像是的
【LV3】忙碌的身影(1078097537) 9:24:37
【LV4】巴黎街头的黎明(1140225089) 9:25:25
15跟不是32
m
【LV4】止不住の漂泊(603172921) 9:25:41
为啥
【LV4】巴黎街头的黎明(1140225089) 9:25:42
大兄弟
【LV4】止不住の漂泊(603172921) 9:26:15
好乱
【LV4】巴黎街头的黎明(1140225089) 9:27:55
1M=2的20次方
【LV3】忙碌的身影(1078097537) 9:28:01
哎呀
你们这些人啊
【LV4】巴黎街头的黎明(1140225089) 9:28:22
能不能说完好不
【LV3】忙碌的身影(1078097537) 9:28:25
地址线是行列复用的嘛
【LV4】止不住の漂泊(603172921) 9:28:40
2^10 1K
【LV3】忙碌的身影(1078097537) 9:28:48
bank0和bank1是行列复用的
都是用的addr[0:14]
算算
都是用的addr[2:14]
【LV4】巴黎街头的黎明(1140225089) 9:29:57
什么行列复用
【LV3】忙碌的身影(1078097537) 9:30:09
就是行地址和列地址
【LV4】巴黎街头的黎明(1140225089) 9:30:26
好吧
【LV3】忙碌的身影(1078097537) 9:31:32
Mini2440使用的SDRAM芯片是32M的HY57V561620,这是一个4Banks*4M*16bit的SDRAM,也就是由4个逻辑块(Logical Bank,简称L-Bank)组成,每个L-Bank有4M存储单元,每个单元是16bit。所有它的数据线是16根(DQ[15:0]);地址线有13根(A[12:0]),其中行地址13根(A[12:0]),列地址9根(A[8:0]);还有两根信号线(BA[1:0])用于选择L-Bank。
两个芯片(U6和U7)并接,就可以组成位宽32位的SDRAM,空间为64M,映射到nGCS6(BANK6),访问的地址空间为0x30000000~0x33ffffff。
这个里面有提到,部分地址线是行和列复用的
【LV3】忙碌的身影(1078097537) 9:33:11
所以不能简单的看地址线根数
【LV4】止不住の漂泊(603172921) 9:36:05
嗯 13+9=22 22根 4M 4*2*4=32 这样理解啊
【LV4】止不住の漂泊(603172921) 9:37:14
还是迷迷糊糊的
看来只能对自己说 不要在意细节了。。。。
【LV5】巴扎黑。(271526143) 9:46:36
哎
【LV5】巴扎黑。(271526143) 9:47:52
【LV4】止不住の漂泊(603172921) 9:50:38
好像是这样
这个更形象
【LV5】巴扎黑。(271526143) 9:51:25
(一) ARM 内存SDRAM 讲解的更多相关文章
- 【嵌入式开发】裸机引导操作系统和ARM 内存操作 ( DRAM SRAM 类型 简介 | Logical Bank | 内存地址空间介绍 | 内存芯片连接方式 | 内存初始化 | 汇编代码示例 )
[嵌入式开发]ARM 内存操作 ( DRAM SRAM 类型 简介 | Logical Bank | 内存地址空间介绍 | 内存芯片连接方式 | 内存初始化 | 汇编代码示例 ) 一. 内存 ...
- (三)内存 SDRAM 驱动实验 (杨铸 130 页)(勉强能懂个大概)
SDRAM 芯片讲解: 地址: 行地址 (A0-A12) 列地址 (A0-A8) 片选信号(BA0 BA1)(L-BANK)(因为SDRAM有 4片) 两片SDRAM 连线唯一区别在 UDQM ...
- JVM学习03_new对象的内存图讲解,以及引出static方法(转)
目录 -=-讲解对象创建过程中,-=-堆内存和栈内存的情况 -=-构造函数对类对象的成员变量的初始化过程 -=-构造函数出栈 -=-类的方法在不访问类对象的成员变量时造成的内存资源浪费怎么解决? -= ...
- 史上最详细JVM,Java内存区域讲解
本人免费整理了Java高级资料,一共30G,需要自己领取:传送门:https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q 运行时数据区域 JVM载执行Jav ...
- Java面试- JVM 内存模型讲解
经常有人会有这么一个疑惑,难道 Java 开发就一定要懂得 JVM 的原理吗?我不懂 JVM ,但我照样可以开发.确实,但如果懂得了 JVM ,可以让你在技术的这条路上走的更远一些. JVM 的重要性 ...
- 【java基础】(2)Java父类与子类的 内存引用讲解
从对象的内存角度来理解试试.假设现在有一个父类Father,它里面的变量需要占用1M内存.有一个它的子类Son,它里面的变量需要占用0.5M内存.现在通过代码来看看内存的分配情况:Father f = ...
- 最简单的 Java内存模型 讲解
前言 在网上看了很多文章,也看了好几本书中关于JMM的介绍,我发现JMM确实是Java中比较难以理解的概念.网上很多文章中关于JMM的介绍要么是照搬了一些书上的内容,要么就干脆介绍的就是错的.本文试着 ...
- 实验三——SDRAM
一.运行环境 开发板:jz2440 系统: ubuntu12.04 编译器:arm-linux-gcc 二.特殊寄存器 sdram的操作无需按照时序图来设置,只要设置好相关的13个寄存器,arm处理 ...
- 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42462795 转载请著名出处 相关资源下载 : -- u-boo ...
随机推荐
- jQuery 循环问题
$("#add2sub").click(function(){ var $sxarr=$(".add_shuxing_ul > .sx_add_bg"); ...
- Node.js的高性能封装 Express.js
Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用.Express 不对 node.js 已有的特性进行二次抽象,我们只是在它之上扩展了W ...
- IE6及以上版本fixed问题解决方案,页面右下角固定页面,可以最大化、最小化、正规显示
在窗口固定位置显示内容使用fixed,但是 IE 6 不支持,后来我搜了很多方法,都没有作用,后来类比着一个网站的代码,使用absolute .z-index解决了问题. 页面div结构: <d ...
- Common Subsequence LCS
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87730#problem/F 题目: Description A subsequ ...
- BFS 巡逻机器人
巡逻机器人 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=83498#problem/F 题目大意: 机器人在一个矩形区域巡逻, ...
- My租房网
阶段一:采用分页top关键字进行查询 实现6条~~10条出租信息 阶段2:查询指定客户发布的租房信息 查询客户张三的信息,使用连接查询实现. 阶段3:按区县制作房屋出租清单
- 好吧,CSS3 3D transform变换,不过如此!
一.写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容.看过海贼王的都知道,带D的家伙都不是好惹的,2D我辈尚可以应付,3D的话,呵呵,估计我等早就在千里之外被其霸气震晕了 ...
- Android studio快捷键总结
功能 快捷键 功能 快捷键 格式化代码 command + alt + L 运行程序到设备 Ctrl + R 导包.修正 alt + enter 运行Debug到设备 Ctrl + D 复 ...
- sublime3+quick智能提示
sublime3+quick智能提示 1. 安装PackegeControl 下载 https://sublime.wbond.net/Package%20Control.sublime-packag ...
- 关于struts2上传图片临时文件