当前位置: 首页 > news >正文

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命令时序如下所示:

激活操作:

  1. 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用于选择所需的存储体。行地址用于确定在选定存储区中激活哪一行。
  2. 必须先发送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里面被广泛使用&#xff…...

使用梧桐数据库进行销售趋势分析和预测

在当今竞争激烈的商业环境中,企业需要深入了解销售数据,以便做出明智的决策。销售趋势分析和预测是帮助企业把握市场动态、优化库存管理、制定营销策略的重要工具。本文将介绍如何使用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&#xf…...

立即调用的函数表达式(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解决问题...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...

离线语音识别方案分析

随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...

comfyui 工作流中 图生视频 如何增加视频的长度到5秒

comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...

第八部分:阶段项目 6:构建 React 前端应用

现在,是时候将你学到的 React 基础知识付诸实践,构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段,你可以先使用模拟数据,或者如果你的后端 API(阶段项目 5)已经搭建好,可以直接连…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下,音视频内容犹如璀璨繁星,点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频,到在线课堂中知识渊博的专家授课,再到影视平台上扣人心弦的高清大片,音…...

PH热榜 | 2025-06-08

1. Thiings 标语:一套超过1900个免费AI生成的3D图标集合 介绍:Thiings是一个不断扩展的免费AI生成3D图标库,目前已有超过1900个图标。你可以按照主题浏览,生成自己的图标,或者下载整个图标集。所有图标都可以在个人或…...