【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

相关文章

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

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

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

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

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War

CentOS系统使用yum命令报错问题及解决

《CentOS系统使用yum命令报错问题及解决》文章主要讲述了在CentOS系统中使用yum命令时遇到的错误,并提供了个人解决方法,希望对大家有所帮助,并鼓励大家支持脚本之家... 目录Centos系统使用yum命令报错找到文件替换源文件为总结CentOS系统使用yum命令报错http://www.cppc

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作