历史上的今天

今天是:2024年10月14日(星期一)

正在发生

2018年10月14日 | Exynos4412裸机SDRAM工作原理及时序分析

发布者:EnchantedHeart 来源: eefocus关键字:Exynos4412  SDRAM 手机看文章 扫描二维码
随时随地手机看文章

下一节准备将代码重定位到DDR SDRAM,所以本节先对一些基础知识进行学习一下。

DDR出身自SDRAM,严格的说应该叫DDR SDRAM,DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思,所以,有很大一部分,两者是一样的,理解SDRAM,然后再来理解DDR。在SDRAM上的改进,效果应该更好一些,本文参考大神Tekkaman Ninja的博客中介绍的,并加入了一些自己的讲解。

先上一张SDRAM的结构图,如下图所示

SDRAM结构图

SDRAM结构图

下面上一张简易的SDRAM工作流程图

SDRAM的内部是一个存储阵列,阵列就如同表格一样,将数据“填”进去。在数据读写时和表格的检索原理一样,先指定一个行(ROW),在指定一个列(COL),我们就可以准确的找到所需要的单元格,这就是内存芯片寻址的基本原理。这个单元格(存储阵列)就叫做逻辑BANK(简称L-Bank)。

SDRAM是多Bank结构,例如在一个具有两个Bank的SDRAM的模组中,其中一个Bank在进行预充电期间,另一个Bank却马上可以被读取,这样当进行一次读取后,又马上去读取已经预充电Bank的数据时,就无需等待而是可以直接读取了,这也就大大提高了存储器的访问速度。

为了实现这个功能,SDRAM需要增加对多个Bank的管理,实现控制其中的Bank进行预充电。在一个具有2个以上Bank的SDRAM中,一般会多一根叫做BAn的引脚,用来实现在多个Bank之间的选择。另外它们的行、列地址线共用,由行地址选通((CAS)、列地址选通(RAS)信号分时控制。

 

SDRAM简易工作流程图

SDRAM简易工作流程图

图中用红色标明的就是我们需要找的几个主要时间,现在开始看图说话

1、芯片初始化

SDRAM 芯片内部有一个逻辑控制单元,并且有一个模式寄存器为其提供控制参数。因此,每次开机时都要先对这个控制逻辑核心进行初始化。

2、行有效 

初始化完成后,要想对一个 L-Bank 中的阵列进行寻址,首先就要确定行(Row),使之处于活动状态(Active),然后再确定列。简单点理解就先传行地址过来。

3、列读写

行地址确定之后,就要对列地址进行寻址了。读写的信号和列地址是同时发过来的,读写的操作取决于WE#引脚,当他使能则为写,否则为读。

在发送列读写命令时必须要与行有效命令有一个间隔,这个间隔被定义为 tRCD,即RAS to CAS Delay(RAS 至 CAS 延迟),大家也可以理解为行选通周期,简单点理解就是说,在发完行地址后,再发列地址和读写信号时,需要延迟一下,这应该是根据芯片存储阵列电子元件响应时间(从一种状态到另一种状态变化的过程)所制定的延迟。

广义的 tRCD 以时钟周期(tCK,Clock Time)数为单位,比如 tRCD=2,就代表延迟周期为两个时钟周期,具体到确切的时间,则要根据时钟频率而定,对于PC100 SDRAM,tRCD=2,代表1000/100 * 2 = 20ns 的延迟,下图是tRCD=3的时序图。

SDRAM 时序图 tRCD说明

SDRAM 时序图 tRCD说明

4、数据输出(读)

在选定列地址后,就已经确定了具体的存储单元,剩下的事情就是数据通过数据 I/O 通道(DQ)输出到内存总线上了。

但是在CAS发出之后,仍要经过一定的时间才能有数据输出,从CAS与读取命令发出到第一笔数据输出的这段时间,被定义为 CL(CAS Latency,CAS潜伏期)。由于CL只在读取时出现,所以 CL 又被称为读取潜伏期(RL,Read Latency),下图是CL=2的示意图。

SDRAM 时序图 CL说明

SDRAM 时序图 CL说明

5、数据输入(写)

数据写入的操作也是在 tRCD 之后进行,但此时没有了 CL(记住,CL 只出现在读取操作中),行寻址与列寻址的时序图和上文一样,只是在列寻址时,WE#为有效状态。 为了保证数据的可靠写入,都会留出足够的写入/校正时间(tWR,Write Recovery Time),这个操作也被称作写回(Write Back)。tWR 至少占用一个时钟周期或再多一点(时钟频率越高,tWR 占用周期越多)

6、突发长度--(Burst Lengths)

突发(Burst)是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输所涉及到存储单元(列)的数量就是突发长度(Burst Lengths,简称 BL)。 只要指定起始列地址与突发长度,内存就会依次地自动对后面相应数量的存储单元进行读/写操作而不再需要控制器连续地提供列地址。这样,除了第一笔数据的传输需要若干个周期(主要是之前的延迟,一般的是 tRCD+CL)外,其后每个数据只需一个周期的即可获得。

7、预充电

由于 SDRAM 的寻址具体独占性,所以在进行完读写操作后,如果要对同一个Bank的另一行进行寻址,就要将原来有效(工作)的行关闭,重新发送行/列地址。Bank 关闭现有工作行,准备打开新行的操作就是预充电(Precharge)。 在发出预充电命令之后,要经过一段时间才能允许发送 RAS 行有效命令打开新的工作行,这个间隔被称为tRP(Precharge command Period,预充电有效周期)。和 tRCD、CL 一样,tRP 的单位也是时钟周期数,具体值视时钟频率而定。

8、刷新

之所以称为 DRAM,就是因为它要不断进行刷新(Refresh)才能保留住数据,因此它是 DRAM 最重要的操作。刷新操作与预充电中重写的操作一样,都是用 S-AMP 先读再写。 但为什么有预充电操作还要进行刷新呢?因为预充电是对一个或所有L-Bank 中的工作行操作,并且是不定期的,而刷新则是有固定的周期,依次对所有行进行操作,以保留那些久久没经历重写的存储体中的数据。但与所有 L-Bank 预充电不同的是,这里的行是指所有 L-Bank 中地址相同的行,而预充电中各 L-Bank 中的工作行地址并不是一定是相同的。比如我有四片,刷新是我依次刷新四片内存中的某个地址,然后再刷下一个;而预充电的工作行地址可以不同。

那么要隔多长时间重复一次刷新呢?目前公认的标准是,存储体中电容的数据有效保存期上限是64ms(毫秒,1/1000 秒),也就是说每一行刷新的循环周期是 64ms。这样刷新速度就是:行数量/64ms。我们在看内存规格时,经常会看到 4096 RefreshCycles/64ms 或 8192RefreshCycles/64ms 的标识,这里的 4096 与 8192 就代表这个芯片中每个 L-Bank 的行数。刷新命令一次对一行有效,发送间隔也是随总行数而变化,4096 行时为 15.625μs(微秒,1/1000 毫秒),8192 行时就为 7.8125μs。

刷新操作分为两种:自动刷新(Auto Refresh,简称 AR)与自刷新(Self Refresh,简称 SR)。

SR 则主要用于休眠模式低功耗状态下的数据保存,这方面最著名的应用就是 STR(Suspend to RAM,休眠挂起于内存)。在发出 AR 命令时,将 CKE 置于无效状态,就进入了 SR 模式,此时不再依靠系统时钟工作,而是根据内部的时钟进行刷新操作。在 SR 期间除了 CKE 之外的所有外部信号都是无效的(无需外部提供刷新指令),只有重新使 CKE 有效才能退出自刷新模式并进入正常操作状态。


关键字:Exynos4412  SDRAM 引用地址:Exynos4412裸机SDRAM工作原理及时序分析

上一篇:Exynos4412裸机程序之DDR工作原理与时序(一)
下一篇:Exynos4412裸机程序之代码重定位初体验

推荐阅读

据外媒报道,Swift Navigation公司发布了一款综合性方案,该方案可用于高精度车用定位应用,并与意法半导体(STMicroelectronics)的车用级GNSS芯片组实现可互操作性。Swift发布了Starling™定位引擎,这是一款便携式模块化高精度全球导航卫星系统(Global Navigation Satellite System,GNSS)定位软件引擎,可将Swift的Skylark™的云纠偏服务(Cloud...
恩智浦半导体日前宣布全方位射频功率多芯片模块(MCM)产品组合将全面上市,支持开发用于5G基站的大规模MIMO有源天线系统。恩智浦5G Airfast解决方案的集成度更高,可以减小功率放大器尺寸、缩短设计周期及简化制造流程。 恩智浦无线电功率解决方案资深副总裁兼总经理Paul Hart表示:“5G基础设施网络的部署比上一代更快。我们的5G大规模MIMO解决方案提供...
作为Micro:bit教育基金会独家制造合作伙伴,安富利旗下全球电子元器件产品与解决方案分销商e络盟自2016年BBC micro:bit上市以来已量产500万台。全球多家教育机构已采用micro:bit并结合定制课程进行STEM教学,成功助力基金会帮助 60多个国家或地区的约2,500万名儿童学习数字项目研创和计算机技能。 Micro:bit教育基金会近日发布新款micro:bit ,具备更大的...
今天,博主@数码闲聊站爆料,Redmi Note系列迭代机型高配版支持120W快充。  目前Redmi Note系列已经更新至第10代产品,Redmi Note 10 Pro支持67W快充。  按照Redmi的命名规则,下一代Redmi Note系列可能会命名为Redmi Note 11,不出意外Redmi也将会推出标准版和高配版,高配版可能会命名为Redmi Note 11 Pro。  高配版支持120W快...

史海拾趣

问答坊 | AI 解惑

200M电脑笔记本的虚拟示波器 DSO-5200 USB

流线型设计,体积小巧, USB2.0接口,免电源,与台式示波器类似界面,易于上手. 更适合于笔记本电脑,生产线维修调整,便于出差使用。 小的尺寸(mm):190(L)x100(W)x35(H) ,便于携带. .高刷新率, 高采样率,200MS/s实时采样,50GS/s等效采样. ...…

查看全部问答∨

如何能编好单片机的程序(12)

29、尽量用for而不是while做循环 --------------- 基本上来说,for可以完成while的功能,我是建议尽量使用for语句,而不要使用while语句,特别是当循环体很大时,for的优点一下就体现出来了。 因为在for中,循环的初始、结束条件、循环的推进, ...…

查看全部问答∨

零起点学习STM32F107开发( 教程 + 资料下载)

STM32是ST公司推出的基于ARM公司的Cotex-M3内核的单片机,该单片机具有较大的存储空间、高速的内核以及种类齐全的外设。您的行业不管是消费电子,还是工业控制,STM32都是您明智的选择。 为了让大家的学习更加快捷、更有效率,飞嵌电子将推出系列 ...…

查看全部问答∨

WinCE 5.0补丁的问题(怎么找不到04、05、06年的补丁)

小弟请教各位一个问题: 我的pb5.0上补丁要从哪年开始打? 印象中以前在MS的网站上可以找到WinCE5.0从04年开始的补丁,可最近只能够找到07/08/09年的补丁,咋回事呢?…

查看全部问答∨

evc下 模拟器调试应用的问题,很怪很怪的问题!

lenux、各位大侠: 郁闷了几天了,这个问题不解决,工作就停滞不前了,各位帮忙看看吧 我的问题是这样的:   EVC4.0下,应用软件在Emulator下,设断点,单步运行,很慢很慢,每一步要3~5秒钟,什么原因呢? 我的说明一下我的环境及 ...…

查看全部问答∨

Wince 5 启动地址的問題?

编译了一个NK。BIN文件,下载到板子,启动后,程序执行下面就不动了。 应该是我的Jump地址0x8c208810有問題,但沒找到修改这个的地方,哪位熟悉 的朋友提醒一下,谢谢! Jumping to image at virtual address 0x8C208810h +ToPhysicalAddr:0x8C ...…

查看全部问答∨

有老鸟帮我看看这个定时器中断写的有问题吗?

#include <reg52.h> #include <intrins.h> #include <absacc.h> #include <stdio.h> #include <math.h> #include <stdlib.h> #define uchar unsigned char #define uint unsigned int sfr WDTRST = 0xA6;   ...…

查看全部问答∨

请问WINCE下支持wm format sdk 吗??

请问WINCE下支持wm format sdk 吗?? 如果不支持,在wince下怎样将从声卡取得的PCM数据转成WMA格式或者MP3格式呢?? 在wince下该怎样去调用系统提供的Windows Media Codecs呢?? 刚学习这方面的东西,请多多指教哈~~ 可以的话给个简单的wince下编解 ...…

查看全部问答∨

关于EVC++画图的问题2

问一下我在EVC++的单文档里画了个圆,只在文档窗口的左上角显示1/4,怎么让让它显示在中央?代码如下: void CDWDht1View::OnDraw(CDC* pDC) {         CDWDht1Doc* pDoc = GetDocument();         ASSERT ...…

查看全部问答∨

ASM文件

 .title   \"diir.asm\" 1 Assembly Error, No Assembly Warnings Errors in Source - Assembler Aborted 这个可能是什么错误…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved