【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可以退出时钟挂起模式,内部时钟和相关操作将在随后的正时钟沿上恢复。

        下图为写突发时钟挂起:

         下图为读突发时钟挂起:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/147526.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

JUC第十三讲:JUC锁: ReentrantLock详解

JUC第十三讲:JUC锁: ReentrantLock详解 本文是JUC第十三讲,JUC锁:ReentrantLock详解。可重入锁 ReentrantLock 的底层是通过 AbstractQueuedSynchronizer 实现,所以先要学习上一章节 AbstractQueuedSynchronizer 详解。 文章目录 …

HTML的学习 Day02(列表、表格、表单)

文章目录 一、列表列表主要分为以下三种类型:1. 无序列表(Unordered List):2. 有序列表(Ordered List):将有序列表的数字改为字母或自定义内容li.../li 列表项标签中value属性,制定列…

MySQL 索引优化实践(单表)

目录 一、前言二、表数据准备三、常见业务无索引查询耗时测试3.1、通过订单ID / 订单编号 查询指定订单3.2、查询订单列表 四、订单常见业务索引优化实践4.1、通过唯一索引和普通索引优化通过订单编号查询订单信息4.2、通过普通联合索引优化订单列表查询4.2.1、分析查询字段的查…

考虑源荷不确定性的热电联供微网优化(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Blender 导出 fbx 到虚幻引擎中丢失材质!!!(使用Blender导出内嵌材质的fbx即可解决)

目录 0 引言1 Blender导出内嵌纹理的fbx模型 0 引言 我在Blender处理了一些fbx模型后再次导出到UE中就经常出现,材质空白的情况(如下图所示),今天终于找到问题原因,记录下来,让大家避免踩坑。 其实原因很简…

Git使用【上】

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析3 前言 先前有些git命令我在我的其它文章里面已经写过,若要查看可参考【Linu…

leetCode 55.跳跃游戏 贪心算法

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1: 输入…

安防视频/集中云存储平台EasyCVR(V3.3)部分通道显示离线该如何解决?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

知识分享 钡铼网关功能介绍:使用SSLTLS 加密,保证MQTT通信安全

背景 为了使不同的设备或系统能够相互通信,让旧有系统和新的系统可以集成,通信更加灵活和可靠。以及将数据从不同的来源收集并传输到不同的目的地,实现数据的集中管理和分发。 通信网关完美克服了这一难题,485或者网口的设备能通过…

深度学习(1)---卷积神经网络(CNN)

文章目录 一、发展历史1.1 CNN简要说明1.2 猫的视觉实验1.3 新认知机1.4 LeNet-51.5 AlexNet 二、卷积层2.1 图像识别特点2.2 卷积运算2.3 卷积核2.4 填充和步长2.5 卷积计算公式2.6 多通道卷积 三、池化层 一、发展历史 1.1 CNN简要说明 1. 卷积神经网络(Convolut…

PyCharm中使用pyqt5的方法2-2

1.2 是否下载成功 按照以上步骤安装了“pyqt5”、“pyqt5-tools”模块和“pyqt5designer”模块后,可以打开保存这三个模块的路径,找到其对应的文件夹,即可验证是否下载成功。 获取PyCharm保存下载模块路径的方法是,在PyCharm界面…

Sound/播放提示音, Haptics/触觉反馈, LocalNotification/本地通知 的使用

1. Sound 播放提示音 1.1 音频文件: tada.mp3, badum.mp3 1.2 文件位置截图: 1.3 实现 import AVKit/// 音频管理器 class SoundManager{// 单例对象 Singletonstatic let instance SoundManager()// 音频播放var player: AVAudioPlayer?enum SoundOption: Stri…

Linux系统编程系列之线程

一、什么是线程 线程(Thread)是计算机中的基本执行单元,是操作系统调度的最小单位。线程是进程内的一个独立执行流程,一个进程可以包含多个线程,这些线程共享进程的资源,但每个线程都有自己的独立栈空间以及…

挺进欧洲:中国汽车如何破解品牌与成本双重困境?

摘要:2022年,中国超越德国,跻身全球第二大汽车出口大国,仅次于日本。历经国内市场的激烈竞争和技术积累,中国汽车品牌凭借在新能源技术上的优势和制造力,决定挑战欧洲-BBA(奔驰、宝马、奥迪)的主场。令人惊讶的是,尽管在21世纪初,…

PCB放置过孔技巧

合理的放置过孔能有效的节约面积。 我们根据嘉立创的pcb工艺能力中写出单双面板最小过孔为0.3mm(内径)/0.5mm(外径) 设置过孔尺寸外直径为24mil(0.61mm))内直径为12mil(0.305mm) 嘉立创PCB工艺加工能力范围说明-嘉立…

扩容LVM卷导致lvm元数据丢失的恢复过程

一、问题描述 因某次MySQL binlog占用过高扩容时,是直接对云盘操作,而扩容直接操作了lvm卷而未操作云盘分区,并随后执行了扩容的partprobe,resize2fs卷等操作;最后,显示并未扩容成功,重启系统后…

基于YOLOv8的安全帽检测系统(2):Gold-YOLO,遥遥领先,助力行为检测 | 华为诺亚NeurIPS23

目录 1.Yolov8介绍 2.安全帽数据集介绍 3.Gold-YOLO 4.训练结果分析 1.Yolov8介绍 Ultralytics YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最先进的(SOTA)模型,它建立在先前YOLO成功基础上…

centos 部署nginx 并配置https

centos版本:centos 7.8 (最好不要用8,8的很多用法和7相差很大) 一.安装nginx 1。下载Nginx安装包:首先,访问Nginx的官方网站(https://nginx.org/)或您选择的镜像站点,找…

【2023年11月第四版教材】第17章《干系人管理》(第二部分)

第17章《干系人管理》(第二部分) 4 过程1-识别干系人4.1 数据收集★★★4.3数据分析4.4 权力利益方格4.5 数据表现:干系人映射分析和表现★★★ 5 过程2-规划干系人参与5.1 数据分析5.2 数据表现★★★5.2.1 干系人参与度评估矩阵★★★ 5.3 …

原型、原型链、判断数据类型

目录 作用 原型链 引用类型:__proto__(隐式原型)属性,属性值是对象函数:prototype(原型)属性,属性值是对象 Function:本身也是函数 相关方法 person.prototype.isPrototypeOf(stu) Object.getPrototypeOf(objec…