LRDDR4芯片学习(三)——命令和时序
ddr command:
- activate command
- refresh command
- precharge command
- write/read command
- burst write/read command
- MRR/MRW command
一、Activate命令
在读写命令之前,必须要发送Activate命令,由ACTIVATE-1、ACTIVATE-2命令组成。ACTIVATE命令中包含了BA[2:0]的bank选择信号和R[15:0]的行选择信号。ACTIVATE命令时序如下所示:

激活操作:
- ACTIVATE命令由两个连续命令组成,Activate-1命令和Activate-2。通过在(Activate-1)时钟的第一个上升沿保持CS HIGH,CA0 HIGH和CA1 LOW来发出Activate-1命令,通过在(Activate-2)时钟的第一个上升沿保持CS HIGH,CA0 HIGH和CA1 HIGH来发出Activate-2命令。存储体地址BA0,BA1和BA2用于选择所需的存储体。行地址用于确定在选定存储区中激活哪一行。
- 必须先发送ACTIVATE命令,然后才能执行任何READ或WRITE操作。发出ACTIVATE命令后,设备可以在tRCD上接受READ或WRITE命令。激活存储体(并且操作完成)后,必须对它进行预充电,然后才能将另一个ACTIVATE命令应用于相同的存储体。BANK组激活时间和预充电时间分别定义为tRAS和tRP。到同一存储体的ACTIVATE命令之间的最小时间间隔由设备的RAS周期时间(tRC)确定。到不同存储体的ACTIVATE命令之间的最小时间间隔为tRRD
二、Refresh命令
REFRESH 命令就是刷新lpddr命令,lpddr需要不断的刷新来保证数据不会丢失。可以选择一次刷新所有8个bank或每次刷新一个bank。一次刷新所有bank和一次刷新一个bank的命令如下所示:


三、Precharge命令
由于SDRAM的寻址具体独占性,所以在进行完读写操作后,如果要对同一L-Bank的另一行进行寻址,就要将原来有效(工作)的行关闭,重新发送行/列地址。L-Bank关闭现有工作行,准备打开新行的操作就是预充电(Precharge)。
预充电可以通过命令控制,也可以通过辅助设定让芯片在每次读写操作之后自动进行预充电。实际上,预充电是一种对工作行中所有存储体进行数据重写,并对行地址进行复位,同时释放S-AMP(重新加入比较电压,一般是电容电压的1/2,以帮助判断读取数据的逻辑电平,因为S-AMP是通过一个参考电压与存储体位线电压的比较来判断逻辑值的),以准备新行的工作。具体而言,就是将S-AMP中的数据回写,存储电容会受到干扰,所以也需要S-AMP进行读后重写。此时,电容的电量(或者说其产生的电压)将是判断逻辑状态的依据(读取时也需要),为此要设定一个临界值,一般为电容电量的1/2,超过它的为逻辑1,进行重写,否则为逻辑0,不进行重写(等于放电)。为此,现在基本都将电容的另一端接入一个指定的电压(即1/2电容电压),而不是接地,以帮助重写时的比较与判断。
四、Read命令
01 Read Preamble and Postamble
LPDDR4-SDRAM的DQS选通脉冲需要在第一个锁存沿之前(带有DATA为“ valid”的DQS_t的上升沿)之前加一个前同步码,并且在最后一个锁存沿之后需要一个后同步码。 前同步码和后同步码的长度是通过模式寄存器写(MRW)设置的。对于READ操作,前同步码是2 * tCK,但前同步码是静态的(无切换)或切换,可通过模式寄存器选择 .LPDDR4的DQS读取后同步码为0.5 * tCK(或扩展为1.5 * tCK)。 标准DQS后同步码将由DRAM驱动以读取0.5 * tCK。 模式寄存器设置指示DRAM驱动额外的(扩展的)一个周期DQS读取后同步码。 下图显示了标准(tRPST)和扩展(tRPSTE)后同步操作的DQS读取后同步示例。


02 Burst Read Opeartion
突发读取命令由CS发起,并且CA [5:0]在CK的上升沿置为正确状态,如命令真值表所定义。命令地址总线输入确定启动突发的列地址。这两个低位地址位未在CA总线上传输,并暗示为“ 0”,因此起始脉冲串地址始终为4的倍数(例如0x0、0x4、0x8、0xC)。从完成读取命令的时钟的最后一个上升沿(例如:CAS-2命令的第二个上升沿)到测量tDQSCK延迟的时钟的上升沿定义读取等待时间(RL)。在完成读取命令的时钟的上升沿之后,第一个有效数据可用RL * tCK + tDQSCK + tDQSQ。数据选通输出在第一个有效选通上升沿之前被驱动tRPRE。脉冲串的第一个数据位与数据选通的第一个有效(即前同步码)上升沿同步。随后的每个数据输出出现在每个DQ引脚上,并与数据选通脉冲沿边缘对齐。在突发末尾,将DQS信号驱动另一个半周期后同步码,或者如果模式寄存器中的可编程后同步码位置1,则驱动1.5个周期后同步码。 RL在模式寄存器中编程。相对于DQS_t和DQS_c的交叉点测量数据选通的引脚时序。

03 Read Timing


五、Write命令
01 Write Preamble and Postamble
LPDDR4-SDRAM的DQS选通脉冲需要在第一个锁存沿之前(带有DATA为“ valid”的DQS_t的上升沿)之前加一个前同步码,并且在最后一个锁存沿之后需要一个后同步码。 通过模式寄存器写(MRW)设置前同步码和后同步码的长度。对于WRITE操作,在所有工作频率下都需要2 * tCK前同步码.LPDDR4的DQS写后同步码为0.5 * tCK 或扩展到1.5 * tCK。 标准的DQS后同步码将由存储控制器驱动进行写入操作的0.5 * tCK。 模式寄存器设置指示DRAM驱动额外的(扩展的)一个周期DQS写后同步码。 下图显示了标准(tWPST)和扩展(tWPSTE)后同步码操作的DQS写入后同步码示例。

02 Burst Write Operation
突发WRITE命令由CS发起,并且CA [5:0]在CK的上升沿置为正确状态,如命令真值表所定义。对于Burst WRITE命令,应将列地址C [3:2]驱动为LOW,并且不在CA总线上传输列地址C [1:0](假定为零),因此起始列突发地址为始终与32B边界对齐。从完成写命令的时钟的最后一个上升沿(例如,CAS-2命令的第二个上升沿)到测量tDQSS的时钟的上升沿定义写等待时间(WL)。必须在完成写命令的时钟的上升沿之后驱动WL * tCK + tDQSS来驱动DQS的有效“闩锁”沿。LPDDR4-SDRAM使用不匹配的DQS-DQ路径以降低功耗,因此DQS选通脉冲必须在DQ信号之前到达SDRAM球达tDQS2DQ的量。 DQS选通输出在第一个有效的选通上升沿之前被驱动tWPRE。 tWPRE前同步码要求为2 x tCK。必须对DQS闪光灯进行培训,以使其与DQ数据居中对齐。必须为tDIVW(数据输入有效窗口)保留DQ数据,并且必须定期训练DQS以使其在tDIVW窗口中居中,以补偿由于温度和电压变化而引起的时序变化。 SDRAM在DQS的连续边缘上捕获突发数据,直到完成16位或32位数据突发。突发WRITE完成后,DWP选通必须保持tWPST的活动(触发)(WRITE后同步码)。突发写入操作后,必须满足tWR才能向同一存储库发出PRECHARGE命令。引脚输入时序是相对于DQS_t和DQS_c的交叉点测量的

03 Write Timing

六、命令真值表

七 、参考资料
WR :write
RD :read
MRW :mode register write
MRR :mode register read
REF :Refresh
REFA :Refresh all bank
ACT :Activate
SRE : Self-refresh Entry
SRX : Self-refresh Exit
PRE :Pre-charge
PREA :Pre-charge auto
MPC-T :Multi-purpose Command - train
MPC-NOP :Multi-purpose Command - NOP
DES :Deselect
PDE :power Down Entry
PDX :Power Down Exit
PD :power Down
BA : bank address
AB : all bank
Rx : Row
Cx : column
AP : auto - precharge
BL : burst length (on-the-fly)
相关文章:
LRDDR4芯片学习(三)——命令和时序
ddr command: activate commandrefresh commandprecharge commandwrite/read commandburst write/read commandMRR/MRW command 一、Activate命令 在读写命令之前,必须要发送Activate命令,由ACTIVATE-1、ACTIVATE-2命令组成。ACTIVATE命令中包含了BA[…...
【趣学C语言和数据结构100例】
【趣学C语言和数据结构100例】 问题描述 61.假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,可共享相同的后缀存储空间,例如,loading 和 being 的存储映像如下图所示,设 strl 和 str2 分别指向两个单词所在单链表的头结点,链表结点结构为 data next。请设计…...
linux卸载数据库(最为完整的卸载方式)
1.首先检查是否安装了MySQL组件 我们可以看到有五个与mysql相关的组件 2.卸载前关闭MySQL服务 systemctl stop mysqld systemctl status mysqld 3.收集MySQL对应的文件夹信息 whereis mysql 4.卸载删除MySQL各类组件 #例如 rpm -ev --nodeps mysql-community-libs-5.7.…...
H7-TOOL的LUA小程序教程第15期:电压,电流,NTC热敏电阻以及4-20mA输入(2024-10-21,已经发布)
LUA脚本的好处是用户可以根据自己注册的一批API(当前TOOL已经提供了几百个函数供大家使用),实现各种小程序,不再限制Flash里面已经下载的程序,就跟手机安装APP差不多,所以在H7-TOOL里面被广泛使用ÿ…...
使用梧桐数据库进行销售趋势分析和预测
在当今竞争激烈的商业环境中,企业需要深入了解销售数据,以便做出明智的决策。销售趋势分析和预测是帮助企业把握市场动态、优化库存管理、制定营销策略的重要工具。本文将介绍如何使用SQL来创建销售数据库的表结构,插入示例数据,并…...
SQLITE排序
最终实现的效果:先查询第一层2列开始的1、4、2、3排,再查询第三列、四列...,然后第二层... 入库 排序优先级:层>列>排(1>2,4>3) 最终排的优先级 1>4>2>3 ORDER BY rack.rackLayer,rack.rackColumn, CASE rack.rackRowW…...
python的文件操作
文件操作 1.打开文件 2.读取文件内容 3.写入文件内容 4.关闭文件 要打开文件,可以使用open()函数并指定文件路径和模式。 file open("example.txt", "r") # 打开了一个名为"example.txt"的文件,并将其赋值给变量file。第…...
群晖通过 Docker 安装 MySQL
1. 打开 Docker 应用,并在注册表搜索 MySQL 2. 下载 MySQL 镜像,并选择版本 3. 在 Docker 文件夹中创建 MySQL,并创建子文件夹 4. 设置权限 5. 选择 MySQL 映像运行,创建容器 6. 配置 MySQL 容器 6.1 使用高权限执行容器 6.2 启…...
同程旅行面经
前言 一面 2024-10-11 实习项目架构,技术栈是怎么样的,自己实现了哪些功能?(文件上传,更新记录记忆,动态表格)写了多少行代码?(2~3k)项目有上线了吗&#x…...
【贪心算法】(第八篇)
目录 分发饼⼲(easy) 题目解析 讲解算法原理 编写代码 最优除法(medium) 题目解析 讲解算法原理 编写代码 分发饼⼲(easy) 题目解析 1.题目链接:. - 力扣(LeetCode…...
立即调用的函数表达式(IIFE)
立即调用的函数表达式(IIFE),它会立即执行并返回一个空对象 解析 Plugins: (() > { return {}; })():1、解析 () > { return {}; } 是一个箭头函数,它定义了一个返回空对象的函数。 在定义之后,() 表示立即调用…...
YOLOv11改进-卷积-引入小波卷积WTConv 解决多尺度小目标问题
本篇文章将介绍一个新的改进机制——WTConv(小波卷积),并阐述如何将其应用于YOLOv11中,显著提升模型性能。YOLOv11模型相比较于前几个模型在检测精度和速度上有显著提升,但其仍然受卷积核感受野大小的限制。因此&#…...
flask 接口还在执行中,前端接收到接口请求超时,解决方案
在 Flask 中,当某个接口执行时间较长而导致前端请求超时时,需要考虑以下解决方案: 1. 优化接口的响应时间 如果可能,先优化接口中的代码逻辑,减少处理时间。对于查询操作,可以考虑数据库索引优化、缓存机制等手段。2. 增加请求超时时间 如果接口确实需要较长时间完成,前…...
探索 Python 中的 XML 转换利器:xml2dict
文章目录 **探索 Python 中的 XML 转换利器:xml2dict**一、背景介绍二、xml2dict 是什么?三、如何安装 xml2dict?四、基本用法五、实际应用场景六、常见问题及解决方案七、总结 探索 Python 中的 XML 转换利器:xml2dict 一、背景…...
dbt-codegen: dbt自动生成模板代码
dbt项目采用工程化思维,数据模型分层实现,支持描述模型文档和测试,非常适合大型数据工程项目。但也需要用户编写大量yaml描述文件,这个过程非常容易出错且无聊。主要表现: 手工为dbt模型编写yaml文件,这过…...
springboot057洗衣店订单管理系统(论文+源码)_kaic
基于springboot的洗衣店订单管理系统 摘要 随着信息互联网信息的飞速发展,无纸化作业变成了一种趋势,针对这个问题开发一个专门适应洗衣店业务新的交流形式的网站。本文介绍了洗衣店订单管理系统的开发全过程。通过分析企业对于洗衣店订单管理系统的需求…...
南大通用(GBase 8s)数据库在 Spring Boot 中使用 Flyway
db-migration:Flyway、Liquibase 扩展支持达梦(DM)数据库、南大通用(GBase 8s)数据库,并支持 Flowable 工作流。 已支持 达梦数据库(DM 8)。默认支持 flowable 工作流。南大通用数…...
CMakeLists.txt 编写规则
目录 1. 注释 1.1 注释行 1.2 注释块 2. CMakeLists.txt的编写 2.1 同意目录下的源文件 2.2 SET指令 2.3 file和aux_source_directory 2.4 包含头文件 2.5 生成动态库和静态库 2.6 链接库文件 2.7 message指令 2.8 移除操作 2.9 find_library和find_package 3. 常…...
Javascript算法——二分查找
1.数组 1.1二分查找 1.搜索索引 开闭matters!!![left,right]与[left,right) /*** param {number[]} nums* param {number} target* return {number}*/ var search function(nums, target) {let left0;let rightnums.length-1;//[left,rig…...
node-sass/vendor/linux-x64-72 : Error: EACCES: permission denied, mkdir
npm i --unsafe-perm node-sassgithub解决问题...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
