1、前言

DDR的全称为Double Data Rate SDRAM,也就是双倍速率的SDRAM,SDRAM在一个CLK周期传输一次数据,而DDR在一个CLK周期传输两次数据,分别在上升沿和下降沿各传输一次数据,该概念称为预取,在描述DDR速度的时候一般使用MT/S单位,也就是每秒多少兆次数据传输。

2、DDR结构框图

接下来将以Micro的DDR3L芯片MT41K256M16进行结构框图的介绍,该芯片是一款512MB的DDR3L内存芯片,框图如下所示:

接下来对上面给出的框架图各个标号进行简单介绍:

(1)控制线

ODT:片上终端使能,ODT使能和禁止片内终端电阻;

ZQ:输出驱动较准的外部参考引脚,应外接一个RZQ电阻到VSSQ,一般接到地;

RESET:芯片复位引脚,低电平有效;

CKE:时钟使能引脚;

A12:A12为地址引脚,也叫做BC引脚,有另外一个功能,A12会在READ和WRITE命令期间被采样,以决定burst chop是否会被执行;

CK,CK#:时钟信号线,DDR3的时钟线是差分时钟线,所以的控制信号和地址信号都会在CK的上升沿和CK#的下降沿交叉处采集;

CS#:片选信号,低电平有效;

RAS#:行地址选通信号;

CAS#:列地址选通信号;

WE#:写使能信号。

(2)地址线

A[14:0]:A0~A14为15根地址线,根据MT41K256M16的框图可以知道,有15根行地址线A0~A14和10根列地址线A0~A9,行地址线和列地址线进行复用,因此该DDR3L芯片中1个Bank的大小为2^15*2^10*2=32MB*2=64MB,从框图中可以看到,总共有8个Bank,因此该DDR3L的RAM大小为64MB*8=512MB。

(3)Bank选择线

BA[2:0]:BA0~BA2为Bank的选择先,由2^3=8,因此可以总共有8个Bank。

(4)Bank区域

8个Bank区域,DDR3一般有8个Bank区域。

(5)数据线

DQ[15:0]:DQ0~DQ15为16根数据线,因此该DDR3L的宽度为16位。

(6)数据选通引脚

LDQS,LDQS#:LDQS和LDQS#是数据选通引脚,对应低字节DQ0~DQ7,读的时候是输出,写的时候为输入;

UDQS,UDQS#:UDQS和UDQS#是数据选通引脚,对应高字节DQ8~DQ15,读的时候是输出,写的时候为输入。

(7)数据输入屏蔽引脚

LDM/UDM:写数据输入屏蔽引脚。

3、DDR的一些关键时间参数

需要注意DDR的一些关键时间参数:

(1)传输速率

例如1066MT/S、1600MT/S等,这是首先需要考虑的,该参数决定了DDR的最高数据传输速率。

(2)tRCD参数

tRCD的全称为RAS-to-CAS Delay,行寻址到列寻址只之间的延迟。DDR的寻址流程为先进行Bank地址,然后再指定行地址,最后指定列地址,从而确定除最终要寻址的单元,Bank地址和行地址是同时发出的,该命令也叫"行激活",行激活后就发送列地址和具体的操作命令,同时发出,表示列寻址,在行激活到读写命令发出的这段时间时隔就是tRCD,如下:

数据手册一般会给出tRCD时间参数,例如MT41K256M16的数据手册中有如下:

(3)CL参数

当列地址发出以后就会触发数据传输,从数据从存储单元到内存芯片IO接口上还需要一段时间,而这段时间就是CL(CAS Latency),也就是列地址选通潜伏期,如下:

(4)AL参数

AL(Additive Latency)参数是为了保证足够的延迟潜伏期,单位为时钟周期,AL+CL组成了RL(Read Latency),加入AL参数以后的读时序如下:

(5)tRC参数

tRC是两个ACTIVE命令,或者ACTIVE命令到REFRESH命令之前的周期,DDR的数据手册会给出该值。

(6)tRAS参数

tRAS是ACTIVE命令到PRECHARGE命令之间的最小时间。

DDR基础知识的更多相关文章

  1. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  2. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  3. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  4. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  5. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  6. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  7. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  8. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  9. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

随机推荐

  1. JAVA 十六进制和十进制、二进制转换

    java十六进制和十进制.二进制转换 十进制转化成十六进制 Integer x = 100; hex = x.toHexString(x); 十六进制转化成十进制 Integer.parseInt(h ...

  2. 如何将Javaweb工程的访问协议由http改为https及通过域名访问?

    将javaweb工程的http访问协议更改为https,需要做一下几部操作: 通过jre生成证书 调整tomcat的配置 调整工程的web.xm配置 具体详细过程如下: 一.生成证书 打开cmd切换到 ...

  3. ASP.NET Core框架深度学习(一) Hello World

    对于学习Core的框架,对我帮助最大的一篇文章是Artech的<200行代码,7个对象——让你了解ASP.NET Core框架的本质>,最近我又重新阅读了一遍该文.本系列文章就是结合我的阅 ...

  4. Java入门——初识Java

    Java入门——初识Java 摘要:本文主要对Java这门编程语言进行简单的介绍. Java简介 说明 Java语言历时十多年,已发展成为人类计算机史上影响深远的编程语言,从某种程度上来看,它甚至超出 ...

  5. 漫谈golang设计模式 工厂模式

    工厂模式 意义:创建过程交给专门的工厂子类去完成.定义一个抽象的工厂类,再定义具体的工厂类来生成子类等,它们实现在抽象按钮工厂类中定义的方法.这种抽象化的结果使这种结构可以在不修改具体工厂类的情况下引 ...

  6. Python之dict(或对象)与json之间转化

    在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作. 在Python中自带json库.通过import json导入. 在json模块有2个方法, loads():将 ...

  7. xml解析-jaxp查询结点

    jaxp查询结点 eg://获取name的值 // person.xml <?xml version="1.0" encoding="UTF-8"?> ...

  8. Windows下的DNS命令用法

    - ipconfig 查看DNS缓存内容: ipconfig /displaydns 将显示所有缓存的DNS解析结果. 清空DNS缓存内容: ipconfig /flushdns 将清空缓存的DNS解 ...

  9. 【转载】Android 的 Handler 机制实现原理分析

    handler在安卓开发中是必须掌握的技术,但是很多人都是停留在使用阶段.使用起来很简单,就两个步骤,在主线程重写handler的handleMessage( )方法,在工作线程发送消息.但是,有没有 ...

  10. 从 http协议角度解析okhttp

    Okhttp 介绍 OkHttp 是 Square 公司开源的一款网络框架,封装了一个高性能的 http 请求库. 支持 spdy.http2.0.websocket 等协议 支持同步.异步请求 封装 ...