马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
SDRAM具有单位空间存储容量大和价格便宜的优点,SDRAM 的存储单元可以理解为一个电容,总是倾向于放电,为避免数据丢失,必须定时刷新(充电)。因此,要在系统中使用SDRAM,就要求微处理器具有刷新控制逻辑,或是在系统中另外加入刷新控制逻辑电路。 本实验中使用的SDRAM为MICRON的MT48LC8M8A2–2 Meg x 8 x 4 Banks,以下内容为对该型号的SDRAM介绍: 1)芯片的存储介绍 其容量为64Mbit,数据位宽为8bit,存储分为4个bank,每个bank存储容量为2M。每个bank的存储单元如同表格一样,将数据“填”进去,对指定的地址操作和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),我们就可以准确地找到所需要的单元格。 2)芯片的初始化过程 a)
输入稳定期200us; b)
所有bank预充电; c)
4个刷新周期; d)
模式寄存器设置; e)
进入正常工作状态,初始化完成。 3)行有效 初始化完成后,要想对一个L-Bank中的数组进行寻址,首先就要确定行(Row),使之处于活动状态(Active),然后再确定列。虽然之前要进行片选和L-Bank的寻址,但它们与行有效可以同时进行,行有效时序图如下图所示。 file:///C:/Users/Think/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg 图1 行有效时序图 4)列读写 行地址确定之后,就要对列地址进行寻址了。地址线仍然是行地址所用的A0-A11。在SDRAM中行地址与列地址线是复用的。在列选通时如果WE为“0”则是写操作,如果为“1”则是读操作。列读写时序图如下图所示。 file:///C:/Users/Think/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg 图2 读SDRAM时序(如果WE为低则为写时序) 在发送列读写命令时必须要与行有效命令有一个间隔,这个间隔被定义为tRCD,即RAS to CAS Delay(RAS至CAS延迟),可以理解为行选通周期,这应该是根据芯片存储数组电子组件响应时间(从一种状态到另一种状态变化的过程)所制定的延迟。tRCD是SDRAM的一个重要时序参数,本实验中tRCD=2。 file:///C:/Users/Think/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg 图3 tRCD=3的时序图 5)SDRAM读/写时序 在选定列地址后,就已经确定了具体的存储单元,剩下的事情就是数据通过数据I/O信道(DQ)输出到内存总线上了。但是在CAS发出之后,仍要经过一定的时间才能有数据输出,从CAS与读取命令发出到第一笔数据输出的这段时间,被定义为CL(CAS Latency,CAS潜伏期)。由于CL只在读取时出现,所以CL又被称为读取潜伏期(RL,Read Latency)。CL的单位与tRCD一样,为时钟周期数,本实验中CL=2。 file:///C:/Users/Think/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg 图4 SDRAM读时序 数据写入的操作也是在tRCD之后进行,但此时没有了CL(记住,CL只出现在读取操作中),行寻址与列寻址的时序图和上文一样,只是在列寻址时,WE#为有效状态。也就是说写入延迟为0。不过,数据并不是实时地写入存储电容,因为选通三极管(就如读取时一样)与电容的充电必须要有一段时间,所以数据的真正写入需要一定的周期。为了保证数据的可靠写入,都会留出足够的写入/校正时间(tWR,Write Recovery Time),这个操作也被称作写回(Write Back)。本实验中tWR=2。 6)突发长度 突发(Burst)是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输所涉及到存储单元(列)的数量就是突发长度(Burst Lengths,简称BL)。本实验中BL=8。 只要指定起始列地址与突发长度,寻址与数据的读取自动进行,而只要控制好两段突发读取命令的间隔周期(与BL相同)即可做到连续的突发传输。 file:///C:/Users/Think/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg 图5 连续突发读SDRAM 7)预充电 SDRAM在进行完读写操作后,如果要对同一L-Bank的另一行进行寻址,就要将原来有效(工作)的行关闭,重新发送行/列地址。L-Bank关闭现有工作行,准备打开新行的操作就是预充电(Precharge)。本实验中对SDRAM每次突发读写操作后,不论是否换行都进行预充电操作。 在发出预充电命令之后,要经过一段时间才能允许发送RAS行有效命令打开新的工作行,这个间隔被称为tRP(Precharge commandPeriod,预充电有效周期)。本实验中tRP =2。 8)刷新 SDRAM需要不断进行刷新(Refresh)才能保留住数据,因此它是SDRAM最重要的操作。目前公认的标准是,存储体中电容的数据有效保存期上限是64ms,也就是说每一行刷新的循环周期是64ms。这样刷新速度就是:行数量/64ms。 刷新操作分为两种:自动刷新(Auto Refresh,简称AR)与自刷新(Self Refresh,简称SR)。不论是何种刷新方式,都不需要外部提供行地址信息,因为这是一个内部的自动操作。 |