SDRAM学习笔记(二)
上一篇博客主要讲解了一下SDRAM整体结构以及PCB方面的注意事项。接下来讲解一下需要用到的一些命令。
1.常用命令的缩写

上述是常用到的一些指令集。
2.模式寄存器

(1)突发长度
通过对A0~A11的控制来实现SDRAM的常用配置。首先A0~A2是突发长度的控制。突发长度的控制如下图,有突发长度1,2,4,8,还有全页长度。
突发读写方式,突发指的是在同一行中相邻的存储单元连续进行数据传输的方式,连续传输 的周期数就是突发长度,只要指定起始列地址与突发长度,寻址与数据的读取将自动进行,只需控制好两端突发读取命令的间隔周期就能做到连续的突发传输。突发长度在模式寄存器的配置中有1.2.4.8,以及256个数据的操作模式。
突发读写实现的是连续的读写操作,在结束完一次突发读写前,不需要进行地址的索引,但需要注意的是,这个连续的读写操作是操作的连续,不是地址的连续。

SDRAM的读写方式,既可以通过地址的索引实现单个逻辑单元数据的读/写,也可以通过 突发连续读/写实现最多256个数据的连续操作,为了实现更高的带宽,可以采用突发连续读/写方式来实现海量数据的高速读/写。
(2)突发类型和读写方式
在模式寄存器配置中还可以设定SDRAM突发读写方式为顺序读写或者交错读写。

为了实现海量数据的传输,这里选择突发读写,突发类型选择连续。
3.SDRAM初始化时序
有严格的流程:
板卡上电初始化---200us等待SDRAM启动(手册中至少需要100us)----所有L-BANK预充电(给所有L-BANK的电容充电,准备预刷新)-----8个预先刷新周期(手册规定至少2个周期来刷新逻辑块,在设计中一般直接给8个周期)----模式寄存器的配置(寄存器配置完毕后,输出SDRAM_init_done信号 ,标志初始化完毕)。
4.数据手册相关内容

笔者之前使用过的一款SDRAM芯片,驱动时钟133MHz,CAS潜伏周期时间为3,这个参数决定了SDRAM的最高运行速率。

总容量 = 行数 x 列数 x bank 数 x 位宽 = 1 bank单元数 x bank 数 x 位宽 ;
DQM的位宽 = 数据宽度/8,如32bit的SDRAM,DQM[2]对应DQ[23:16].
关于DQM的作用是起到掩膜作用,就是指定输出时候,某一段是不输出的。下图是DQM的时序图。

5.SDRAM读写时序图

在上述模式寄存器控制中,A10控制着读写当前L-Bank自动进行预充电,再发出预充电命令之后,要经过一段时间才能允许发送RAS行有效命令打开新的工作行,这个间隔称为预充电有效周期,tRP。
刷新
SDRAM刷新包括自刷新(self refresh)和自动刷新(auto refresh),不论是何种方式,不用提供外部行地址信息,这是一个内部自动操作。
预充电是对一个 或所有的L-Bank中的工作行操作,不是定期的。刷新是固定的周期,依次对所有行进行操作,以保留那些久久没经过重写的存储体中的数据。
由于SDRAM内部是电容结构,需要不断刷新才能够保存数值,存储体中电容的数据有效保存期上限是64ms,刷新速度就是 4096/64ms。也就是64ms必须刷新完所有的行。
6.行有效时序图

7.列读写 tRCD




8.tCL 数据输出延时时间




9.tWR 数据写入延时时间

10.突发长度


11.页传输
full page (全页)突发传输是指L-Bank里的一行中所有存储单元从头至尾进行连续传输,具体的突发长度要看芯片的内容情况。
针对芯片的页是狭义的,常用的是广义上的页。



//========================================================
对于上述的方法进行总结,SDRAM的驱动方式如下:
首先器件上电----对SDRAM进行初始化(因为内部有逻辑电路部分,状态机部分)----对SDRAM进行200us的稳定期(参数INIT_PER)----预充电,对所有的L-Bank进行预充电(预充电时间间隔tRP)----8个预先刷新周期(手册规定至少2个周期来刷新逻辑块,在设计中一般直接给8个周期,参数REF_PER)----模式寄存器的配置(行选通周期参数tRCD,由于SDRAM内部结构导致更新存储阵列需要时间---数据输出延时时间tCL---突发长度BL设置)
//========================================================
//=======================================================================
更多详细的资料下载可以登录笔者百度网盘:
网址:http://pan.baidu.com/s/1bnwLaqF
密码:fgtb
//=======================================================================
SDRAM学习笔记(二)的更多相关文章
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- JMX学习笔记(二)-Notification
Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写 ...
- java之jvm学习笔记二(类装载器的体系结构)
java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...
- Java IO学习笔记二
Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...
- 《SQL必知必会》学习笔记二)
<SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...
- NumPy学习笔记 二
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Redis学习笔记二 (BitMap算法分析与BitCount语法)
Redis学习笔记二 一.BitMap是什么 就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身.我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省 ...
随机推荐
- 在Java中执行Tomcat中startup.bat
问题:更改数据库时,需要重启Tomcat服务器,才能把更改后的数据加载到项目中.于是想每次更改数据库时,都调用Java方法,重启Tomcat 代码: Process process = Runtime ...
- FreeMarker boolean Issue
FreeMarker template error:Can't convert boolean to string automatically, because the "boolean_f ...
- Win10 打开 ubuntu子系统
1. 修改windows的设置, 增加开发人员模式 针对开人员模式 使用添加删除程序 添加 ubuntu子系统的角色 运行输入control.. 然后添加删除程序 安装完后重启 运行输入 bash 就 ...
- Qt_颜色选择对话框(QColorDialog)
转自豆子空间 使用QColorDialog也很简单,Qt提供了getColor()函数,类似于QFileDialog的getOpenFileName(),可以直接获得选择的颜色. include &l ...
- Java基础总结(一)
1:程序执行是有顺序的,如果没有流程控制语句,执行顺序是从上到下, 2:对象没有引用指向他的时候,jvm虚拟机就会在合适的时候去清理内存垃圾 3:对象的引用就相当于方向盘,操作对象 4:java8大基 ...
- zookeeper 四字命令
zookeeper四字命令 ZooKeeper3.4.6支持某些特定的四字命令字母与其的交互.它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息.用户在客户端可以通过 te ...
- BZOJ3697采药人的路径——点分治
题目描述 采药人的药田是一个树状结构,每条路径上都种植着同种药材.采药人以自己对药材独到的见解,对每种药材进行了分类.大致分为两类,一种是阴性的,一种是阳性的.采药人每天都要进行采药活动.他选择的路径 ...
- window.onload和document.ready
浏览器解析大致有以下几个步骤: (1) 解析HTML结构 (2) 加载外部脚本和样式 (3) 解析并执行脚本代码 (4) 构造HTML DOM 模型 (5) ...
- HS BDC HDU - 3472(混合欧拉路径)
题意: 就是混合欧拉路径板题 解析: 欧拉路径加一条t_ ---> s_ 的边就变成了欧拉回路,所以利用这一点,如果存在两个奇点,那么这两个奇点出度大的是s_,入度大的是t_,加一条t_ -- ...
- HNOI2017大佬
贼难的一道题 虽然算法都不难,但组合起来就是想不到 首先,最简单的一步,对所有大佬,嘲讽你减的自信值和你做水题回复自信值都是不变的,写个\(dp\),设\(dp[i][j]\)表示第\(i\)天自信值 ...