这是我学习的芯片MT47H16M16BG-5E:配置如下:

Configuration  16 Meg x 16 (4 Meg x 16 x 4) 16M16

FBGA Package Lead-Free   84-ball FBGA (8mm x 14)mm  BG

Timing – Cycle Time    5.0ns @ CL = 3 (DDR2-400) -5E

DDR2功能模块如下图所示:

各管脚的功能介绍如下:(I-Input O-Output)

ODT(内建核心终结电阻器):I 高电平有效在16M16中,当ODT有效时,作用在DQ0-DQ15,LDM,UDM,LDQS,LDQS#,UDQS,UDQS#管脚上。

CK,CK#(时钟):I 差分时钟输入所有的地址和控制的输入信号必须经过CK的上升沿和CK#下降沿的采样,输出信号也要能被CK和CK#采样。

CKE (时钟使能): I 高电平有效高电平的时候激活时钟信号,当其为低电平的时候,可以是PRECHARGE POWER-DOWN、SELF REFRESH、ACTIVE POWER-DOWN模式。

 CS#(片选):I 低电平有效  为低电平的时候表示选中该芯片。

 RAS#,CAS#,WE#(使能):和CS#一起定义输入的命令。

BA1,BA0(bank地址):I 在ACTIVE、READ、WRITE、PRECHARGE命令下用来定义哪一块bank被选中。在LOAD MDOE命令下用来定义那一种模式被选中。

 A0-A12(地址):I 在ACTIVE命令下提供行地址,在READ、WRITE命令下提供列地址,且A10被用来定义是否开启auto precharge。在PRECHARGE命令下A10决定PRECHARGE命令是应用在某一个bank还是所有的bank。

DQ0-DQ15(数据) :I/O 双向的数据总线

UDQS,UDQS#(高字节数据选通): I/O 伴随读数据的时候是输出,伴随写数据是输入,都是跟数据源同步的操作。读数据的时候边沿匹配,写数据的时候中心匹配。在差分数据选通时才会用到UDQS#。

LDQS,LDQS#(低字节数据选通) :I/O 伴随读数据的时候是输出,伴随写数据是输入,都是跟数据源同步的操作。读数据的时候边沿匹配,写数据的时候中心匹配。在差分数据选通时才会用到LDQS#。

LDM,UDM(输入数据屏蔽):I 高电平有效 对写信号输入屏蔽信号。当该信号有效的时,输入信号被屏蔽。

DDR2的初始化过程,时序图如下:

a,满足一定的条件驱动时钟

b,至少经过200ns稳定的时钟之后,执行NOP或DESELECT指令使CKE拉高电平

c,等待至少400ns,执行PRECHARGE ALL指令

d,执行LOAD MODE指令在EMR(2)模式下(此时BA1=H、BA0=L)

e,执行LOAD MODE指令在EMR(3)模式下(此时BA1=H、BA0=H)

f,执行LOAD MODE指令在EMR模式下使DLL有效(此时BA1=L、BA0=H、E7=E8=E9=0)

g,执行LOAD MODE指令使DLL复位,此时,锁定DLL200个时钟周期(此时BA1=L、BA0=L、A8=H)

h,执行PRECHARGE ALL指令

i,执行至少两次REFRESH指令

j,执行LOAD MODE指令拉低A8的电平初始化芯片

k,执行LOAD MODE指令在EMR模式下使OCD有效(此时BA1=L、BA0=H、E7=E8=E9=1)

l,执行LOAD MODE指令在EMR模式下使OCD无效(此时BA1=L、BA0=H、E7=E8=E9=0)

m,在DLL复位了200个时钟周期之后,DDR2 SDRAM初始化完成了

1.       LM模式下工作模式的选择

在LOAD MODE模式下,包含四种工作模式,分别是MR、EMR、EMR2、EMR3,选择对应关系如下所示:

BA1    BA0     工作模式

0       0        MR

0       1        EMR

1       0        EMR2

1       1        EMR3

(1)MR 寄存器模式

LOAD MODE指令只能在所有的bank在precharge状态下才能够执行。控制器在初始化所有的后续的操作之前必须等待定时限。MR模式下定义的内容包括触发长度(BL)的选择,触发类型,CAS延时(CL),操作模式,DLL复位,写恢复,和关电模式。具体定义如下图所示:


a,触发长度(BL):DDR2 SDRAM的触发长度为4-bit或8-bit。由M0,M1,M2三位控制。在给出一个READ或WRITE指令时,触发长度决定本地列数据的存取的最大值。当执行READ或WRITE指令时,一个列块等价于有效选择的触发长度。

b,触发类型(Burst Type):触发类型包括连续型和交织型。DDR2 SDRAM仅支持4-bit和8-bit的BL模式,由M3控制。在8-bit的触发模式下,DDR2 SDRAM支持地址交织。下图所示的是在不同触发类型和触发长度的条

件下,数据存取的顺序:

c,操作模式:包括普通和测试两种模式,由M7控制。一般我们只用到普通模式,M7=0。

d,DLL复位:由M8控制。M8=1时激活DLL复位函数。当DLL复位函数被执行之后,M8自动清0。在任何时候执行DLL复位函数,必须等待200个时钟周期才能继续进行READ操作。这200个时钟周期是用来使内部时钟和外部时钟保持同步。

e,写恢复(WR):由M9,M10,M11控制。WR寄存器是DDR2 SDRAM用在WRITE /w AUTO PRECHARGE

操作模式的时候。

f,关电模式(PD):由M12控制。这里的控制的关电模式是Active PD。决定用户是否保存数据。

g,CAS 延时(CL):由M4,M5,M6控制。CL指的是纵向地址脉冲的反应时间。目前DDR2 SDRAM支持可以选择3或4个时钟周期,2或5定义将来的可能需要。DDR2 SDRAM不支持半个时钟周期的反应

时间。DDR2 SDRAM同样定义了Posted CAS additive latency(AL),称作附加延时。

(2)EMR 扩展模式寄存器

EMR 扩展模式寄存器只能在所有的bank在初始状态下并且进程里没有任何触发下装载。控制器在初始化所有的后续的操作之前必须等待定时限。

EMR模式下定义的内容包括DLL有效/无效、输出的驱动长度、ODT、AL、OCD,DQS有效/无效、RDQS/RDQS#有效/无效、输出有效/无效。具体定义如下图所示:

(3)EMR2,EMR3模式保留作未来的使用

DDR2学习笔记(1)相关推荐

  1. SDRAM/DDR/DDR2学习笔记

    在说明初始化之前先了解一下SDRAM的一些基础知识吧. SDRAM (Synchronous Dynamic Random Access Memory),同步动态随机存储器.同步是指其时钟频率与CPU ...

  2. 鸟叔的linux私房菜:第0章 计算机概论学习笔记(Learning Notes for Basic Computer Theory)

    本博客是针对<鸟叔的Linux私房菜 基础学习篇 第四版>的第0章 计算机概论的学习笔记. 1 电脑辅助人脑的好工具 11 计算机硬件的五大单元 12 一切设计的起点CPU的架构 其它单元 ...

  3. Dram学习笔记(2) 读《终极内存技术指南》笔记 + 纠正一些流传很广的文章错误

    文章目录 0. 引言 1. Dram 名词解释 2. 一些流程步骤的梳理 2.1 内存结构 2.2 一次burst的实现 2.3 一次mask burst的实现 3. 不懂的地方 3.1 数据在内存里 ...

  4. 全志D1s/F133学习笔记(2)——MangoPi-MQ(芒果派麻雀)Tina系统编译烧录

    文章目录 一.SDK和资料: 二.SDK结构: 三.环境配置 四.打补丁匹配麻雀开发板 补丁修改文件分析: 五.配置和编译 六.烧录 七.上电运行 八.补丁包修改 1.原因分析 2.修改方法 3.编译 ...

  5. 深入浅出DPDK学习笔记(3)——— Cache和内存

    深入浅出DPDK学习笔记(3)--- Cache和内存 系统架构的演进 Cache系统简介 Cache的种类 TLB Cache Cache地址映射和变换 全关联型Cache 直接关联型Cache 组 ...

  6. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  7. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  8. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  9. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

最新文章

  1. CCF - 201503-3 - 节日
  2. 在阿里云 ECS 上试图安装 SAP Commerce Cloud 的 137 错误
  3. c# emnu 获取注释_C#教程推荐
  4. 运行Eclipse出错:Failed to load the JNI shared library
  5. linux看定时任务命令,linux命令-定时任务at
  6. Java、JSP电子政务系统
  7. csu1706irrational root
  8. php 倒计时 考试,php实现倒计时
  9. Renesas瑞萨电子提供的RcarH3,第一个SOC从第三代R-Car汽车计算平台的自动驾驶领域时代
  10. android 该文件包与具有同一名称的现有文件包存在冲突
  11. Duang一夏,安码企业流程化管控软件优惠季来了! 活动介绍
  12. 请描述定时器初值的计算方式_51波特率发生器定时器初值计算方法[转载]
  13. springboot依赖lombok插件、lombok常用注解
  14. 海康嵌入式软件面试经验(已拿offer)
  15. php过滤ascii控制字符
  16. Codeforces Round #563 (Div. 2) F. Ehab and the Big Finale
  17. 【android系统】android系统升级流程分析(二)---update升级包分析
  18. 数据时代,谁来舞动存储“三叉戟”?
  19. GP-NFC-Management of Multiple Secure Elements
  20. 电磁循迹智能车基于stm32cubeMX、HAL库—我的第一辆智能车

热门文章

  1. 智能呼叫系统关键技术
  2. 本地镜像发布到阿里云
  3. git中使已经加入暂存区的文件不再受版本控制
  4. 华为MatePad 11评测
  5. 初级程序员面试话术(1)
  6. hurricane中文_Hurricane Outbreak游戏中文版下载安装(飓风模拟器) v1.1.9
  7. 国内首份《2022中国视频客服发展报告》发布
  8. JAVA开发Android聊天APP,实现了类似QQ、微信的即时通讯功能
  9. 制造执行系统MES——生产制造企业信息化的关键
  10. linux ip段表示,IP地址网段表示法总结