您好,欢迎访问三七文档
如何理解DDRSDRAM1.S5PC100的存储系统回顾之前,在讲最小系统的时候,给大家介绍了s5pc100的存储分配,如图1所示。图1S5PC100的存储分配我们从图上能够看的出,S5PC100支持的dram的存储空间为0x20000000-0x60000000共1GB的实地址空间,实际上我们根据系统的需要只用到了其中1部分空间,剩余的地址空间我们将它忽略掉了。在我们的电路板上连接的使用到的地址空间是0x20000000-0x30000000(由硬件设计决定的).S5pc100复位后PC指向0,因此会从0地址的存储器内自动的读取指令并执行。因此,S5pc100复位后从IROM中读取指令,并执行.bank的概念:理解bank是一个抽象的概念,很多工程师学习了很长时间的ARM都弄不清楚bank的概念。简单来理解,在ARM中是管理存储地址划分以及协调ARM核心与芯片外部存储器的桥梁。每个bank都有一个bank控制器,bank控制器可以设置或者选择与各种外部的存储器连接。由于外部存储器的类型多种多样:从速度上区分:有高速、低速;从寻址上区分:有线性与非线性寻址;从位宽上区别:有8bit16bit32bit,访问的时序不同.BANK控制器可为处理器屏蔽掉处理的细节,为ARM处理器的核心提供一个统一的访问接口。每个bank控制器都有自己的控制接口,因此具有独立的地址空间。支持小/大端方式;寻址空间:每bank128MB(总共1GB);每个bank支持可编程的8/16/32位数据总线带宽;bank0~bank6都采用固定的bank起始地址;bank7具有可编程的bank起始地址和大小;8个存储器bank。ARMCOREAHBBANK控制器外部存储器(NORFLASHSDRAM)三大总线地址总线数据总线控制总线控制总线中基本的CSOEWR2.线性寻址与非线性寻址在嵌入式系统设计过程中,由于主控芯片(如ARM、PPC、MIPS等)片上的存储空间不够大,经常需要外接存储器芯片(如ROM、SRAM、SDRAM、DDR2、NandFlash等)。我们先来简单的了解一下常见的两种对于存储器件内部存储单元的访问形式。我们经常使用的存储器,可以根据主机(S5PC100)为我们提供的地址来确定主机需要访问我们内部的哪个存储单元,地址的确定是主机通过地址线传递过来的。通常情况下,存储器内部有多少个存储单元,我们就要向主机提供相应寻址能力的地址线。如有1个内部是以字节为存储单位的存储器,其存储容量是4个字节,那么我们向主机提供的寻址能力应该有两根地址线。如图2所示。图28bit线形存储器件的典型寻址结构图那么,向用户提供全部地址线的存储器,我们认为它是可线性寻址的,我们常用的可线性寻址的存储器件有SRAM,norflash。00011110存储器内部的存储单元A0A12根地址线可以满足4个存储单元的寻址每个存储单元是8bit8根数据线用来传输数据。。………D0D7…….CSWEOE片选信号:让芯片知道是否主机是和自己通信写选通信号:让芯片知道主机是要向自己内部写数据读选通信号:让芯片知道主机是从自己内部读出数据芯片优点:该类器件可通过地址总线1次确定主机需要访问的存储单元,速度快缺点:器件内部的存储容量越大,则提供的地址线越多,资源需求就越多随着存储器容量的不断增大,出现了非线形的寻址器件,该类器件的典型代表是sdram存储器。Sdram的存储单元寻址是矩阵形式的,要想选定存储器内部的1个存储单元,先告诉存储器行地址,再告诉存储器列地址,从而使得存储器知道主机需要访问内部哪个存储单元。行列地址的信号可以采用地址总线复用的方式告知存储器。优点:减少了器件的使用引脚数量;缺点:地址需要经过多次传递,访问速度变慢。3.sdram的简单特性了解SRAM---(StaticRandomAccessMemory)静态随机存取存储器,加电情况下,不需要刷新,数据不会丢失,而且一般不是行列地址复用的。DRAM---(DynamicRandomAccessMemory)动态随机存取存储器,需要不断的刷新,才能保存数据。而且是行列地址复用的。SDRAM---(SynchronousDynamicrandomaccess)memory)同步动态随机存取记忆体,即数据的读写需要时钟来同步。SDRAM之所以成为DRARM就是因为它要不断进行刷新(Refresh)才能保留住数据,因此它是DRAM最重要的操作。那么要隔多长时间重复一次刷新呢?目前公认的标准是,存储体中电容的数据有效保存期上限是64ms(毫秒,1/1000秒),也就是说每一行刷新的循环周期是64ms。这样刷新速度就是:行数量/64ms。我们在看内存规格时,经常会看到4096RefreshCycles/64ms或8192RefreshCycles/64ms的标识,这里的4096与8192就代表这个芯片中每个Bank的行数。刷新命令一次对一行有效,发送间隔也是随总行数而变化,4096行时为15.625μs(微秒,1/1000毫秒),8192行时就为7.8125μs。SDRAM是多Bank结构,例如在一个具有两个Bank的SDRAM的模组中,其中一个Bank在进行预充电期间,另一个Bank却马上可以被读取,这样当进行一次读取后,又马上去读取已经预充电Bank的数据时,就无需等待而是可以直接读取了,这也就大大提高了存储器的访问速度。为了实现这个功能,SDRAM需要增加对多个Bank的管理,实现控制其中的Bank进行预充电。在一个具有2个以上Bank的SDRAM中,一般会多一根叫做BAn的引脚,用来实现在多个Bank之间的选择。DDRSDRAM是DoubleDataRateSDRAM的缩写,是双倍速率同步动态随机存储器的意思。DDR内存是在SDRAM内存基础上发展而来的,仍然沿用SDRAM生产体系,因此对于内存厂商而言,只需对制造普通SDRAM的设备稍加改进,即可实现DDR内存的生产,可有效的降低成本。SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR内存则是一个时钟周期内传输两次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。DDR内存可以在与SDRAM相同的总线频率下达到更高的数据传输率。
本文标题:如何理解DDR
链接地址:https://www.777doc.com/doc-2481365 .html