关于sdr sdram的full page burst

2024-01-07 10:39
文章标签 page sdr full sdram burst

本文主要是介绍关于sdr sdram的full page burst,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于SDRAM的full page burst

//-------------------------------------------------------------------------//
1、micron官方的datasheet指出BURST TERMINATE和PRECHARGE都可以终止当前突发。
2、full page burst不支持自动precharge。
//-------------------------------------------------------------------------//
3、对于full page burst write,需要BURST TERMINATE和PRECHARGE组合使用。
   即Trcd+BL+1(发出BURST TERMINATE命令)+Twr+Trp(发出PRECHARGE命令)
4、对于full page burst read,只需要PRECHARGE命令。


刚开始不理解,后来参考http://blog.sina.com.cn/s/blog_48fd99310102vuas.html终于明白了。
SDRAM内部储存单元相当于“口线供能电容”,此电容容量远比数据存储电容大,用于给口线的读写驱动提供能量,器件数据位宽是几位就只需要几乘以4个(4来源于有4个banks)。
初始化按照要求就先precharge了,以后每次读写之前都要active。active做两件事,既选通了相关行,又将驱动的能源准备好。
当具体读写时,就选通列,给数据电容充电或放电。1个burst读写完成后,就回到precharge,给“供能电容”补足电能。因为“供能电容”在active时要被消耗能量并且也存在自漏电问题,所以有了资料上的(active to precharge command)tRAS<120微秒的要求(时间有最大最小的要求,最大时间要求小于120K ns,如果时间太长,电都放完了)。
处于precharge时,“供能电容”是一直接着电源储能的,precharge执行完以后,储能完毕,断开电源。如果不对当前行active操作,在64ms内必须autorefresh一次,不然电也放完了。
因为“供能电容”比较大,从硬件设计角度出发充电电流不能做太大,所以tWR(数据回写等待时间)和tRP就相对要长。
真正的顺序是precharge-〉active-〉读写-〉终止,因为tRP较长,所以初始化时先precharge,并且每次读写完后马上precharge,以便下次读写时只需active以提高响应速度,反正放在那precharge又不影响什么。这就是precharge(预充电)的真正含义所在!(
预的含义一下子就明白了。至于何必这么麻烦要“供能电容”倒一手,可能是因为数据单元太脆弱,经不起电源直接冲击或干扰,呵呵。而且根据动态内存原理,数据线复用,反正必须先active选通行,顺便再附加个供能功能;而burst需要终止,特别是页模式更不会自动终止,那么就将“终止”和“预充电”合并到“precharge”,设计人员真会动脑筋。而资料只管说终止功能,没提预充电的作用,反正时序是通的。
想出所谓“供能电容”的还有个原因是:有两个和时钟无关的长时间参数,刷新周期64ms,tRAS 120微秒,不都是电容漏电的体现吗。所以内存可以降频使用,但不能太低,以至于64ms内你只能完成4096次刷新,别的什么都没时间干;或者tRAS期间你连1次读写或写都完不成。
       至于refresh,就是1次先读后写的过程,用于保持数据电容的电位。如果在自己的系统中,特别是数据采集系统,1组数据流在64ms内完成了先写入sdram暂存后读入主机,并且sdram中的数据就不再需要了,整个过程不需要插入任何刷新命令。延伸开来,可以做出很适合你的最简单的sdram控制器。做个基本的SDRAM控制器很简单,关键是要根据你的系统特点合理安排好读、写、刷新等操作。
注意,这里还需要用auto precharge命令,因为有tAC的问题。
在“auto refresh”命令执行的末端隐含了“precharge”,所以资料上要求“auto refresh”前要保证已经“precharge”,因此“auto refresh”之后却直接可以“active”而不再需要“precharge”。还可能在“auto refresh”命令执行的前端隐含了“active”,行地址由刷新寄存器自动计数并加1。“auto refresh”就是对某行所有列同时 “active”“read”“write”“precharge”,正好7个周期。器件共有4096行,所以要求在64ms内刷新4096次,4个banks是并行同时操作的,所以资料显示耗电高峰发生在自动刷新期间。实际上read已经隐含了write,就是一次完整的读或自动刷新操作的第5个周期,时序正好吻合。不同的是自动刷新的第5个周期不需对外在DQ上输出。
充电放在前面叫charge,放在后面是为下一次操作提前做好准备就叫precharge,根据前面分析prechage能提高断续操作的响应速度,所以最终设计就采用了“precharge”。

这篇关于关于sdr sdram的full page burst的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/579645

相关文章

如何选择SDR无线图传方案

在开源软件定义无线电(SDR)领域,有几个项目提供了无线图传的解决方案。以下是一些开源SDR无线图传方案: 1. **OpenHD**:这是一个远程高清数字图像传输的开源解决方案,它使用SDR技术来实现高清视频的无线传输。OpenHD项目提供了一个完整的工具链,包括发射器和接收器的硬件设计以及相应的软件。 2. **USRP(Universal Software Radio Periphera

vue中路由管理(vue-router,page)使用总结

现在的项目都以模块化的方式去开发,所以在这样的开发模式下,如何更好的去管理路由是开发中所需要考虑的重点,幸运的是当前的开发中已经有了成熟的中间件去管理,我们只需要用就可以了 下面是我在学习vue-router的时候在原来基础上修改出来的demo,也是为了有助于对vue-router的理解 首先理解下vue官网的一个示例demo https://jsfiddle.net/yyx990803/x

Kafka 为了避免 Full GC,竟然还在发送端设计了内存池,自己管理内存,太巧妙了...

一、开篇引出一个 Full Gc 的问题 在上一篇文章中,我们讲到了 Kafka 发送消息的八个流程,并且着重讲了 Kafka 封装了一个内存结构,把每个分区的消息封装成批次,缓存到内存里。 如下图所示: 上图中,整体是一个 Map 结构,Map 的 key 是分区,Map 的值是一个队列;队列里有一个个的小批次,里面是很多消息。 这样好处就是可以一次性的把消息发送出去,不至于来一条发送一条,

【Mysql】系统服务启动访问报错问题处理:this is incompatible with sql_mode=only_full_group_by

一、背景: 本来已经正常运行的平台,突然有一天由于对服务器进行部分操作迁移,发现jar可以正常启动,但是访问功能一直报错,监控后台日志后,发现了问题: 报错的具体信息如下: Caused by: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and conta

编程语言之争:Rust 社区活跃开发者 Ed Page 谈 Rust 与 C++ 的未来

作者 | Annie Xu 采访 | CSDN&Boolan 首席顾问 卢威 责编 | 何苗 出品丨GOSIM 开源创新汇 你最 pick 哪种编程语言?C++、Rust,还是 Python? Ed Page 从事编程行业十几年,见证了不同编程语言的兴衰史。从 C++标准版本 C++98 的诞生,到 Jave、D、Go 等编程语言的崛起与发展,并跃跃欲试想挑战 C++ 的江湖

Page directive: illegal to have multiple occurrences of contentType with different values (x,X)之解

Question: Page directive: illegal to have multiple occurrences of contentType with different values (old: text/html; charset=utf-8, new: text/html;charset=UTF-8) Analysis: 出现这个的原因是这两个jsp的contentT

Kafka【五】Buffer Cache (缓冲区缓存)、Page Cache (页缓存)和零拷贝技术

【1】Buffer Cache (缓冲区缓存) 在Linux操作系统中,Buffer Cache(缓冲区缓存)是内核用来优化对块设备(如磁盘)读写操作的一种机制(故而有一种说法叫做块缓存)。尽管在较新的Linux内核版本中,Buffer Cache和Page Cache已经被整合在一起,但在理解历史背景和功能时,了解Buffer Cache仍然很有帮助。 Buffer Cache 的历史和定义

The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for called method 已解决

前面有个webSocket自动断开连接的问题,已解决,请见博客: webSocket java.io.EOFException: null 增加心跳机制解决 然后又报了一个错: java.lang.IllegalStateException: The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid st

HarmonyOS开发详解(四)——鸿蒙Page Ability功能及UI界面开发详解

HarmonyOS里面的界面通过Page Ability和Java UI一起来实现;讲述Page Ability就离不开Ability。在HarmonyOS里面把各种具备的能力进行抽象,叫做Ability;Ability是程序重要的组成部分;鸿蒙的各种功能、能力都是通过Ability展现,可以说开发鸿蒙应用就离不开Ability。本文将详细讲解Page Ability相关的应用和案

微信小程序开发(四)注册页面 page.js

注册小程序时我们在app.json配置文件里通过pages注册过各个页面 "pages" :[ "pages/index/index" , "pages/logs/logs" ], 每一个页面对应自己的一系列相关文件如index,包括 index.wxml(view层)、index.js(逻辑层contral)、index.wxss(样式文件)