JESD209B LPDDR1 协议(3)

jesd209 lpddr sdram(2) jesd209 lpddr sdram 协议解读 阅读详情

5. 操作

5.1取消选择

DESELECT 功能(CS的信号线为高电平High)可防止 LPDR1执行新命令。发出deselect命令时,正在进行的操作不受影响。

5.2 No Operation 无操作

NO OPERATION(NOP)命令发送如图11,用于对选择(CS信号线为低电平)的LPDR1执行NOP。这可以防止在空闲或等待状态期间发出不需要的命令。已经进行的操作不受影响。

5.3 模式寄存器集

模式寄存器和扩展模式寄存器通过地址输入加载。请参见模式寄存器(图6)和扩展模式寄存器(图7)的描述以获取详细信息。MODE REGISTER SET命令(见图12)只能在所有银行处于空闲状态且没有正在进行的突发时才能发出,并且只有在满足tMRD(见图13)后才能发出后续可执行命令。

5.4 Active

激活

在向LPDDR SDRAM中的bank发出任何READ或WRITE命令之前,必须先要打开该bank所在的行。这一步是通过ACTIVE命令实现的(见图14):即通过BA0和BA1两根信号线的电平来选择bank,伴随Active命令的地址输入线用来选中要激活的行。任何时候都可以激活多个bank。

当一个行打开后,需要等待tRCD的时间才能下发READ或WRITE命令,tRCD的参数需要符合tRCD规范。

对同一bank中的下一行的下发ACTIVE命令只允许在前一行被关闭后才能发出。同一bank中对连续两个行下发ACTIVE命令之间的最小时间间隔由tRC定义。

在访问第一个bank时,可以向另一个bank发出后续的 ACTIVE 命令,这会减少总行访问时间开销。不同bank之间下发两个连续的 ACTIVE 命令之间的最小时间间隔由 tRRD 定义。图 15 显示了 tRCD 和 tRRD 的定义。

该行将一直处于激活的状态,直到该行所在bank接收到PRECHARGE命令(或带有自动预充电的READ或WRITE命令)。

此外,在打开同一行之前,必须发出PRECHARGE命令进行预充电(或带有自动预充电的READ或WRITE命令)。

5.5 Read 读取

READ命令(见图16)用于启动对已激活行的数据进行突发读取访问,突发长度可通过模式寄存器进行设置。BA0和BA1选择bank,地址输入选择起始列位置。根据情况对A10设置从而确定是否使用自动预充电。如果选择自动预充电,则正在访问的行将在读取突发操作后进行预充电;如果未选择自动预充电,则行将保持打开,以供后续访问。

DQS信号线为参考时钟的基本读取时序参数如图17所示;它们适用于所有读取操作。

在读取突发期间,DQS和输出的数据一起通过LPDR1进行驱动。DQS的初始低电平状态称为读取前导码;与最后一个数据输出bit同时发生的低电平状态称为读取后同步码。

在读取的过程中,第一个数据输出元素与DQS的第一个上升沿边沿对齐,随后的数据输出元素与DQS的随后的边缘对齐。如图18所示,CAS延迟为2和3个时钟周期

在完成一个读突发操作后,假设LPDR1未接收到其他READ命令时,DQS将进入High-Z。

jesd209 lpddr sdram(1) JESD 209 lpddr sdram 协议解读 阅读详情

相关推荐

深入理解JESD209-4C(LPDDR4)与JESD204B接口

LPDDR4(Low Power Double Data Rate 4)技术是为移动设备设计的高性能内存标准。它延续了LPDDR系列的低功耗特性,同时在速率和效率上有了显著提升。LPDDR4的诞生与移动设备性能的不断提升和对更佳电池寿命的持续需求息息相关。JESD204B接口技术起源于1990年代,其设计初衷是将高速数字接口引入到数据采集系统中,从而取代旧有的并行数据接口,提供更高的数据传输速率和更有效的信号完整性。

weixin_42596246的博客 1391

JESD209-5C LPDDR5/5X JESD原版协议

JESD209 LPDDR5/5X DDR

weixin_42078206的博客 1112

LPDDR4低功耗内存协议原理解析:手机不烫不卡的技术底层

LPDDR4是一种专为移动设备设计的低功耗双倍数据速率内存协议,其核心在于通过电压分离(1.1V)、命令与数据总线物理隔离(CA/DQ分离)、Bank Group并发架构、独立读写时钟及片上ECC等机制,在有限面积与散热约束下实现高带宽与低功耗的平衡。作为JEDEC JESD209-4B标准定义的行业规范,它并非单纯提速,而是重构数据搬运全流程,支撑旗舰手机、轻薄本、车载中控等对能效比极度敏感的场景。理解LPDDR4,本质是理解移动计算中‘性能—功耗—面积’三角关系的工程解法,也是排查发热、卡顿、待机异常等

weixin_29183637的博客 320

JESD209-3B LPDDR3 jedec spec

JESD209-3B LPDDR3 jedec spec

JESD209-4E - Low Power Double Data Rate 4 (LPDDR4)

LPDDR4最新规范

JESD209B ddr4协议

jdec ddr协议。jdec官网上下载需要注册,这个是下载好的资源,分享给大家。希望对学习ddr协议的人有帮助。注意,ddr和lpddr的差别还是挺大的。

LPDDR标准规范JEDEC-LPDDR1-JESD209B

LPDDR标准规范JEDEC-LPDDR1-JESD209B

JESD209-4D, LPDDR4 JEDEC SPEC, June 1, 2021 最新版本。

JESD209-4D, LPDDR4 JEDEC SPEC, June 1, 2021 最新版本,英文原版。 JEDEC JESD209-4D:2021 Low Power Double Data Rate 4 (LPDDR4) 本规范的目的是为具有一个或两个通道的符合 JEDEC 标准的每通道 16 位 SDRAM 设备定义一组最低要求。 LPDDR4 双通道器件密度范围为 4 Gb 至 32 Gb,单通道密度范围为 2 Gb 至 16 Gb。 本文档使用以下标准创建:DDR2 (JESD79-2)、DDR3 (JESD79-3)、DDR4 (JESD79-4)、LPDDR (JESD209)、LPDDR2(JESD209-2) 和 LPDDR3 (JESD209-3) .

JESD209-4C LPDDR4解读.pdf

此文档对于JESD标准LPDDR4做中文解读,轻松理解LPDDR4标准。 ** 行业标准: 作者有数年spec经验, 熟悉JEDEC标准建立的过程. ** 专业: 数年dram问题debug,spec解读专业到位。 ** 咨询: 承诺文档解读有疑问,可以免费每天3个问题的解答。 ** 退款: 作者承诺如果对于文档解读不满意,可线下联系作者申请退款,作者就有这样的自信敢承诺! 如对内容质量有疑问,可提前私信咨询。

【2025最新】Multisim 14.3超详细安装步骤 【附安装包+永久+汉化】|Multisim 14.3

嗨,小伙伴们!是不是一直在找可靠的multisim下载安装教程?今天就给大家带来超详细的2025年Multisim 14.3安装全攻略!这款电路仿真神器绝对是学电子、做电路设计的必备工具!很多朋友后台留言说安装时各种报错、汉化失败,所以我决定出一期零基础、保姆级的教程,从下载到安装再到汉化,全部一步到位搞定!按照我的步骤来,包你顺利安装不出错!!!通过本教程,相信大家已经成功安装并配置好了Multisim 14.3。这款电路仿真神器能帮你设计和测试各种电路,从简单的LED闪烁到复杂的信号处理电路都不在话下。

pythonpapaxia的博客 8万+

Windows下Python多版本共存与切换的终极指南(含环境变量详解)

本文详细解析了在Windows系统下实现Python多版本共存与切换的完整方案。通过深入讲解环境变量Path的底层机制,提供了从安装策略、精细化Path管理到创建快速切换脚本的实战指南,并介绍了py启动器和虚拟环境等高级技巧,帮助开发者彻底解决版本冲突问题,提升开发效率。

v6b7n8m9q0的博客 536

libnice和coturn这两个库有交叉实现的地方,具体有啥区别?

TurnAdmin:是一个TURN的管理工具,此工具能被用来管理用户账号的增删改查。 TurnServer:是TURN和STUN的服务器实现。 Turnutils_uclient: 模拟多个UDP、TCP、TLS或DTLS客户端 Turnutils_peer: 一个简单的无状态UDP-ECHO服务器,用作中继模式中的最终服务器 Turnutils_stunclient: 一个简单的STUN客户端例子 Turnutils_rfc5769check: 检查STUN/TURN协议实现的正确性。 我们..

Langeldep的专栏 1318

对比实验系列:Efficientdet环境配置及训练个人数据集

可以通过下方链接下载Efficientdet源码。

Yayisheng的博客 4585

pandas,构造MultiIndex的四种方法:from_tuples、from_arrays、from_product、from_frame

1、from_tuples:通过 “元组对” 构造MultiIndex """ 一对元组,为一个索引 """ tuples = [(1, 'red'), (1, 'blue'), (2, 'red'), (2, 'blue')] pd.MultiIndex.from_tuples(tuples, names=('number', 'color')) 2、from_arrays:通过 “列表元素的组合” 构造MultiIndex """ 列中表的元素,按位置 对应组合,形成索引 """ arrays

jieru_liu的博客 5385

Linux内核驱动模型--PCIe(PCI Express)驱动​​

本文系统介绍了Linux内核中PCIe驱动的设计与实现。首先从架构定位入手,指出PCIe驱动基于PCI子系统扩展支持高速、低功耗特性。核心数据结构struct pci_driver包含设备匹配表id_table、生命周期函数probe/remove等关键组件。文章详细解析了驱动与设备的绑定流程、资源管理机制,并重点阐述了MSI-X中断、电源管理、热插拔和多队列等高级特性实现方案。最后提供了lspci、dmesg等调试工具的使用方法,总结了PCIe驱动在支持高性能设备中的关键作用。全文通过架构设计、核心结构、

amy_mhd的博客 425

vscode配置matlab工作环境

前面有两篇文章我们分别讲了在vscode里面如何配置C语言环境和python环境,那两篇文章总体来说比较复杂,当然这篇也有许多有趣的问题。 附上链接: 文章目录matlab简介基本要求code runner插件与matlab相关的插件添加路径小结code runner是否支持更多语言更多选择另一个选择 matlab简介 MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 MATLAB是ma

Cachel Wood的博客 4540

ESD防护设计宝典(十一):CE(传导发射)超标问题排查与解决

(Conducted Emission, CE),亦称为传导骚扰,是电子电气设备或系统内部的电压、电流通过信号线、电源线或地线向外传输,对其他电子电气设备或系统造成电磁干扰的物理现象。其。

m0_56451176的博客 855

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: jesd209 lpddr sdram(2)
下一篇: jesd209 lpddr sdram 协议(4)
南风轻拂_
博客等级 码龄3年 51粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南风轻拂_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值