上次讲完了Nand Flash的低级初始化,然后Nand Flash的操作主要是在board_init_f_nand(),中,涉及到将代码从Nand Flash中copy到DDR中,这个放到后面实际移植的过程中再结合源码流程来分析,正常来说,DDR应该是放在Nand Flash前面开始讲,因为DDR相对于Nand Flash来说,更加复杂一些,所以,将DDR拖后来说了,OK,接着开始讲DDR。

一、Tiny4412内存芯片简介

最左边的四片就是内存芯片,型号是K4B2G1646B-HCH9,他是一颗DDR3-1333 (9-9-9),其往回兼容DDR3-1066(7-7-7), DDR3-800(6-6-6)等内存。1300表示数据传输频率1300MHz,外部时钟频率667MHz fCK,内部时钟频率为100MHz;因为内部一次传输的数据就可供外部接口传输4次,虽然以DDR方式传输,但数据传输频率的基准——外部时钟频率仍要是内部时钟的两倍才行。

三星的DDR3芯片命名规则文档(这个文档上网去搜索),芯片型号的:

1~3. 比较简单,表示是DDR3内存;

4~5. Density,表示容量为2Gbit = 2Gbit/16= 128MByte

6~7. BitOrganization,表示数据有多少bit,这里是16,则表示数据为16bit,四片拼起来,构成32位的系列。

8. # of Internal Banks,表示多少Bank,我们的芯片8个Banks

9. Interface, VDD,VDDQ,这里解释一下这两个电压的意思

VDD:北桥芯片供电电压或者存储芯片的输入缓冲和核心逻辑的供电电压。

VDDQ:存储芯片的输出缓冲供电电压。
Q : SSTL_18, 1.8V, 1.8V,根据芯片手册得出这两个电压为1.8V

10. Generation

F : F-die,这是什么意思???

芯片上型号K4T1G084QF,再往上看,会看到有四个BCF7的字母,接着看代表什么意思

12. Package

B : FBGA (Lead-Free& Halogen-Free, Flip Chip),表示这FBGA封装,FBGA是Fine-Pitch Ball Grid Array(意译为“细间距球栅阵列”)的缩写

13. Temp, Power

C : CommercialTemp.(0°C ~ 85°C), Normal Power,表示工作的温度范围和供电

14~15. Speed(Wafer/Chip Biz/BGD: 00)

F7 : DDR2-800(400MHz@CL=6, tRCD=6, tRP=6),表示为DDR2-800的内存

分析完成,开发板上共有4片这样的内存芯片,总容量就是128M*4=512M

二、硬件原理图

1、从芯片角度说明

地址线:A0-A13 14根

BA0,BA1,BA2

3根BAx线表示这个芯片被分成了2^3=8个Bank,每个Bank则为128M/8=16M

图7-1、硬件原理图

这里出现一个问题,为什么128M里面还要划分出8个Bank?

前面在Nand Flash的时候,我曾经分析过,由于DDR是不自备充电电路的,所以,每隔一段时间,内存控制器就会刷新一次电路,也就是要充一次电,如果只有一个Bank,那么结果就是在某一时刻,要么都充电,要么都不充电。

图7-2、DDR充电示意图

像上面这样分成了8个Bank,当我对000充电的时候,我还可以在010或是剩下的别的Bank中读取数据,这样就减小了等待的时间,不用说当电路刷新时,不能读取数据了。

图7-3、硬件原理图

数据线:DQL0-DQL7 + DQU0-DQU7*2 = 16bit* 2chips = 32bit

控制线:nCS,nRAS,nCAS

nCS:片选信号,当这个芯片被片选后,这个芯片就使能了,如果这芯片地址线上有地址,那么基本上数据线上就要出数据了。

地址线是A0-A13,是14根线,2^14=16K (128M = 2^27),所以地址线上地址要发两次,一次发行地址,一次发列地址,这就是行列地址复用--nRAS,nCAS这两根线的作用。

14 + 14 = 28根 + BA0/BA1/BA2 = 2^31=2G,最大支持2G的内存

128M = 2^27,27 - 3 = 24,行地址14根,所以,发过来的列地址是24-14=10

所以说,这个操作顺序是,先片选,CS拉低,然后,当RAS拉低时,表示传过的是行地址,是A0-A13,14位;当CAS拉低时,表示传过来的是列地址,是A0-A9,那列地址多的几位怎么办呢?很简单,用来扩展内存,谁说一片内存芯片就只能128M了?

2、 从处理器角度说明

地址线 Xm1ADDR0-Xm1ADDR13

Xm1BA0, Xm1BA1,Xm1CSn1/BA2

数据线 Xm1DATA0-Xm1DATA31

控制线 Xm1CSn0, Xm1RASn,Xm1CASn

对于地址线前面的Xm1,可以参看核心板的原理图中内存的总图,整个内存分为三块,Memory Port0/MemoryPort1/Memory Port2,Memory Port1/MemoryPort2分别对应于芯片手册P29页中Memory Map中的DRAM0/DRAM1,可以分别接两组不同的DDR内存

表7-1、DDR地址分配表

而Memory Port0接的是SRAM,他的地址线是0~15,没有行地址,列地址,没有复用,所以他的容量就是2^16=64K

图7-4、硬件原理图

三、DDR芯片手册说明

打开K4B2G1646B.pdf的DDR芯片手册,P4的Key Features,由此我们得知,我们要看的是DDR1300-800 6-6-6。

表7-2、DDR3时序时间参考表

这里又多出和几个我们不认识的东西----CL,tRCD,tRP,看字面意思,大概来猜应该是一些时间,从芯片手册的命名规则上特意用一个字母代号来标识这三个东西,这肯定是非常重要的影响内存性能的某些时间参数。这里,有必要把DDR的工作原理重新梳理一下,这样,才能理解这些参数的意义。

第七章、Tiny4412 U-BOOT移植七 DDR内存配置相关推荐

  1. 计算机网络原理第七章,北大计算机网络原理第七章.pdf

    北大计算机网络原理第七章 计算机网络计算机网络 北京大学计算中北京大学计算中心 王竹威王竹威 zhuweiw@zhuweiw@ 第七章应用层 应用层要做什么? 应用层要做什么? 180 zhuweiw ...

  2. 计算机图形学基础第七章ppt,计算机图形学 -第七章讲义ppt课件

    <计算机图形学 -第七章讲义ppt课件>由会员分享,可在线阅读,更多相关<计算机图形学 -第七章讲义ppt课件(54页珍藏版)>请在人人文库网上搜索. 1.第七章 三维观察,本 ...

  3. 计算机导论第七章,计算机导论精品PPT-第七章计算机图形学剖析.ppt

    计算机导论精品PPT-第七章计算机图形学剖析 (1)计算机 在虚拟现实系统中,计算机是系统的心脏,被称之为虚拟世界的发动机.负责虚拟世界的生成.人与虚拟世界的自然交互等功能的实现. (2)输入输出设备 ...

  4. mysql第七章课后答案_第七章 数据库访问习题

    第七章 数据库访问 一.选择题 1.下面哪一项不是JDBC的工作任务?( ) A)与数据库建立连接 B)操作数据库,处理数据库返回的结果 C)在网页中生成表格 D)向数据库管理系统发送SQL语句 2. ...

  5. 第七章、Spring Boot MyBatis升级篇

    课时二十七.Spring Boot MyBatis升级篇-注解 缘起:在一节视频中,有这么一段留言:"会不会推出SpringBoot整合Mybaits配置文件sqlMapConfig.xml ...

  6. python第七章_python教程(第七章)

    字典和集合 字典是python中唯一,一个映射类型 如何创建一个字典,如下>>> dict = {"渗透":"网络安全","笔记&q ...

  7. 第七章 ARM 反汇编基础(七)(AArch64 汇编指令集)

    文章目录 AArch64 汇编指令集 AArch64 指令编码 AArch64 指令格式解析 AArch64 汇编指令集 arm64-v8a 对应两套架构的指令集 AArch32(简称"A3 ...

  8. 第七章 本源时空(补充)

                    第七章        本源时空(补充) ​      第七章是匆匆结束的,有点文不对题.什么是本源时空,没有详细的论述.2个月来.我一直想做个小结,无奈心不在焉,忙于正 ...

  9. 软件项目管理MOOC(北邮)——第七章测试答案

    第七章 软件项目进度计划 第七章单元测验 1.在项目进行过程中,关键路径是不变的. A.对 B.错 2.浮动是在不增加项目成本的条件下,一个活动可以延迟的时间量. A.对 B.错 3.在使用应急法压缩 ...

  10. 如果用户计算机已接入,计算机应用基础第七章复习题.doc

    计算机应用基础第七章复习题 计算机应用基础第七章复习题 一.单项选择题 ? 1.计算机网络的主要目的是 . ? A.使用计算机更方便 B.学习计算机网络知识 ? C.测试计算机技术与通信技术结合的效果 ...

最新文章

  1. AS:西湖郑钜圣/鞠峰-人类肠道中特定耐药基因累积可能导致糖尿病风险上升
  2. Agile Controller产品概述
  3. realloc函数使用总结
  4. python gil锁存在的意义_关于python的GIL全局解释器锁的简单理解
  5. Python time mktime()方法
  6. 处理minist数据集,把网络和数据都放在gpu上面。
  7. groovy和java结合使用
  8. Kotlin协程入门初级篇
  9. 新鲜出炉,Python 告诉你程序员最关注的技术竟然是……
  10. 输入广义表建立子女兄弟链表示的树
  11. 用html做网页作品,HTML5实例:用HTML5制作的网页的15个优秀案例
  12. c语言一本书的页码从自然数1开始顺序编码,算法设计与分析 1-1 统计数字问题(C语言版)...
  13. 微信绑定银行卡消息服务器,微信绑定了银行卡,如果不注意这个消息,可能会出现自动扣费...
  14. 注册德国商标的详细介绍
  15. 仿ipad页面html5,用HTML5实现iPad应用无限平滑滚动
  16. android app权限_如何限制Android App权限
  17. 计算机电子极域控制,极域电子教室控制软件操作手册
  18. 最新版Google Pay上传App指南
  19. 马斯诺的行为科学体系的基础
  20. 基于环信视频语音通话功能

热门文章

  1. 最全面DS18B20中文资料
  2. QT上位机学习(一)
  3. php cms下载地址,让PHPCMS下载内容页显示链接真实地址
  4. 剑指 Offer 46. 把数字翻译成字符串 【 c++/java详细题解 】
  5. 什么句子可以暗示自己恋爱了?
  6. IoT黑板报0209:工信部明确增加物联网网号
  7. 第5章第16节:案例:制作一份漂亮的翻页动画 [PowerPoint精美幻灯片实战教程]
  8. 未群发消息接腾讯服务器吗,腾讯企点如何群发消息 腾讯企点群发消息方法教程...
  9. 写计算机老师的一封信200,写给老师的一封信200个字
  10. xp下安装什么linux系统版本,windows xp sp3下怎么安装linux系统?