上一篇博客主要讲解了一下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学习笔记(二)相关推荐

  1. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  2. [转载]dorado学习笔记(二)

    原文地址:dorado学习笔记(二)作者:傻掛 ·isFirst, isLast在什么情况下使用?在遍历dataset的时候会用到 ·dorado执行的顺序,首先由jsp发送请求,调用相关的ViewM ...

  3. PyTorch学习笔记(二)——回归

    PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...

  4. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数

    tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报  分类: tensorflow(4)  目录(?)[+] 本笔记目的 ...

  5. Scapy学习笔记二

    Scapy学习笔记二 Scapy Sniffer的用法: http://blog.csdn.net/qwertyupoiuytr/article/details/54670489 Scapy Snif ...

  6. Ethernet/IP 学习笔记二

    Ethernet/IP 学习笔记二 原文链接:http://wiki.mbalib.com/wiki/Ethernet/IP 1.通信模式 不同于源/目的通信模式,EtherNet/IP 采用生产/消 ...

  7. Java学习笔记二:数据类型

    Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围 ...

  8. 吴恩达《机器学习》学习笔记二——单变量线性回归

    吴恩达<机器学习>学习笔记二--单变量线性回归 一. 模型描述 二. 代价函数 1.代价函数和目标函数的引出 2.代价函数的理解(单变量) 3.代价函数的理解(两个参数) 三. 梯度下降- ...

  9. ASP.NET MVC 2 学习笔记二: 表单的灵活提交

    ASP.NET MVC 2 学习笔记二:  表单的灵活提交 前面说到有做到公司内部的一个请假系统,用的是ASP.NET MVC 2+Entity Framework.虽然EF(Entity Frame ...

  10. amazeui学习笔记二(进阶开发4)--JavaScript规范Rules

    amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...

最新文章

  1. Centos7搭建k8s环境教程,一次性成功,收藏了!
  2. [基础知识]Linux新手系列之三
  3. linux文件类型为ext4怎么扩展,如何扩展ext4分区和文件系统?
  4. 【内网渗透工具】炫彩蛇安装教程
  5. svn Error:Wrong committed revision number: -1。
  6. 程序员修神之路--做好分库分表其实很难之二
  7. 函数式编程之-模式匹配(Pattern matching)
  8. python集合常用方法_Python中集合类型(set)学习小结
  9. Git之同一台电脑连接多个远程仓库
  10. android主题资源,使用 Theme Editor 设计应用主题背景
  11. SAP License:SAP成本收集器两则
  12. ajax的 post长度,AJAX POST请求由于Payload内容长度而失败
  13. RDD DataFrame DataSet 区别和转换
  14. Spring Boot框架从入门到精通
  15. 华为数通部门软开9.16凉经
  16. 常见mysql优化 面试题
  17. 电子邮件服务器传输到电子邮件客户端,6.3.4 电子邮件客户端和服务器
  18. Unable to obtain current patch information due to error: 20001, ORA-20001: Latest xml inventory is n
  19. CP的mgmt_cli tool与SMC CLI用法
  20. 咸鱼软件应用—Cura3D切片

热门文章

  1. 网络协议端口号说明(转)
  2. Mac下虚拟机使用那些事儿
  3. 实用的Safari浏览器扩展工具——浏览标签太多?来一键保存!
  4. Quicktime:如何在录制屏幕时录制系统声音
  5. Vegas如何设置淡入淡出?
  6. (日常搬砖)之environment.yml的使用
  7. iOS 解决报错 dyld: Library not loaded: @rpath/xxx.framework Reason: image not found
  8. +搭建“记忆宫殿”的三款思维导图神器
  9. 读RESTful API 设计指南心得体会
  10. NetscalerSSL证书的导入和link