【DRAM存储器九】SDRAM介绍-read、write、Precharge、DQM、Power down、Clock Suspend命令

本文主要是介绍【DRAM存储器九】SDRAM介绍-read、write、Precharge、DQM、Power down、Clock Suspend命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

👉个人主页:highman110

👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 

参考资料:《镁光SDRAM数据手册》、《PC SDRAM specification》     

目录

Read

Write

Precharge

DQM

Power down

Clock Suspend


本篇继续介绍SDRAM相关命令功能。

Read

        读命令有带自动预充电的读和不带自动预充电的读。如下图所示,WE#为高表示读,同时发送列地址和bank地址(理解一下为什么前面行激活已经发过bank地址了,为什么这里还需要发?),A10为高表示使能自动预充电,为低表示不使能自动预充电,如果选择了自动预充电,则正在访问的行在READ突发结束时会被预充电;如果未选择自动预充电,则该行保持打开状态以供后续访问。注意,在行激活之后,需要间隔tRCD时间才能发读或写命令,tRCD也称为行选通周期,很好理解,要把一整行成千上万个晶体管打开肯定是需要时间的。另外,读取数据是否出现在DQ上,取决于两个时钟周期(DQM latency)前DQM输入上的逻辑电平。如果给定的DQM信号为高,则两个时钟后对应的DQ将为HIGH-Z;如果DQM信号为低,DQ将提供有效数据输出。

Write

        写和读类似,只是WE#为低,其他控制信号电平一样。DQM的生效与读命令稍微有点不一样,这里没有两个时钟周期的延迟(只有读有CAS潜伏期,也称读延迟RL,写没有),如果给定的DQM信号为低,则相应的数据被写入存储器;如果DQM信号为高,则相应的数据输入被忽略,并且不执行对该字节/列位置的WRITE。

Precharge

        从之前文章提到的存储阵列结构可以知道,一根位线上连接了很多个行的存储单元,如果某一个行打开了,不把这行先关闭,又去打开另一个行,那这一根位线肯定无法同时正确表示两个存储单元的值,所以在打开另一行之前,需要把当前行关闭,这个过程就叫做预充电。注意DRAM操作命令中的Precharge,它的含义范围比感应放大器操作过程中的Precharge更广一点,DRAM命令中的预充电操作包括:对当前工作行中所有存储体进行数据重写、关闭当前行、释放(旁路)感应放大器、将位线电平充电到VDD/2。而感应放大器的预充电操作指的是:感测电路sensing circuit被旁路,电压均衡电路激活,位线被预充电到参考电压Vref,即VDD/2。

        操作波形如下图,可以通过A10、BA0、BA1进行被充电bank的选择。注意A10的功能,既可以在读或写命令中表示是否使能自动预充电,也可以在独立的预充电命令中用来选择预充电的范围。

         针对不同容量的SDRAM,预充电的范围控制如下图:

        在发出预充电命令之后,要经过一段时间才能允许发送行激活命令打开新的工作行,这个间隔被称为tRP(Precharge command Period,预充电周期)。和tRCD、CL一样,tRP的单位也是时钟周期数,具体值视时钟频率而定。

DQM

        DQ mask,高有效,对SDRAM颗粒来说是输入信号。写操作时,该信号为输入数据的屏蔽信号,读操作时,该信号为输出数据的使能信号。读操作的使能存在2个时钟周期的延迟,称为DQM latency,若想要屏蔽某段DQ不输出,需要提前2个时钟周期将DQM拉高,在输出disable时,output buffer为高阻状态,如果这个时候做数据输入就不会出现总线争用。这个DQM功能在读突发被写操作截断时有大用,后面细说。另外,写操作屏蔽没延迟,如果要写入数据,需要把DQM及时拉低,否则输入数据将会被屏蔽。如下图所示:

Power down

        将CKE拉低,再加上一个NOP命令即可进入power down状态,将CKE拉高,再加上一个NOP命令即可退出power down状态。Power down状态下不执行自刷新,所以power down时间不能超过刷新周期(64ms)。

Clock Suspend

        当列访问/突发正在进行并且CKE被拉低时,将进入时钟挂起模式。在时钟挂起模式中,内部时钟被停用,从而冻结同步逻辑。

        对于CKE被采样为低的每个正时钟边沿,下一个内部正时钟边沿被暂停。当内部时钟边沿暂停时,输入引脚上出现的任何命令或数据都将被忽略,输出DQ将保持进入时钟挂起模式前一拍的驱动电平,并且只要时钟被暂停就不增加突发计数器。

        通过拉高CKE可以退出时钟挂起模式,内部时钟和相关操作将在随后的正时钟沿上恢复。

        下图为写突发时钟挂起:

         下图为读突发时钟挂起:

        下一篇讲述刷新相关内容,这部分内容稍微多一点,所以单独拎出来。 

这篇关于【DRAM存储器九】SDRAM介绍-read、write、Precharge、DQM、Power down、Clock Suspend命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/362491

相关文章

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET