为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

SDRAM初始化过程

2011-12-12 4页 doc 25KB 25阅读

用户头像

is_001824

暂无简介

举报
SDRAM初始化过程SDRAM初始化过程 在说明初始化之前先了解一下SDRAM的一些基础知识吧. SDRAM (Synchronous Dynamic Random Access Memory),同步动态随机存储器。同步是指其时钟频率与CPU的前端总线的系统时间频率相同,并且他的内部命令的发送与数据的传输都是以这个时钟为基准的,动态是指存储阵列需要不断的刷新才能保证数据的不丢失。随机是指数据不是线性存储的,是可以自由指定地址进行数据读写。 位宽:是指内存一次数据传输的数据量就是位宽,以位为单位。 SDRAM的内部结构: SDRAM相当于一...
SDRAM初始化过程
SDRAM初始化过程 在说明初始化之前先了解一下SDRAM的一些基础知识吧. SDRAM (Synchronous Dynamic Random Access Memory),同步动态随机存储器。同步是指其时钟频率与CPU的前端总线的系统时间频率相同,并且他的内部命令的发送与数据的传输都是以这个时钟为基准的,动态是指存储阵列需要不断的刷新才能保证数据的不丢失。随机是指数据不是线性存储的,是可以自由指定地址进行数据读写。 位宽:是指内存一次数据传输的数据量就是位宽,以位为单位。 SDRAM的内部结构: SDRAM相当于一个excel,一个工作溥中有几个工作表,每个工作表里有行列。 SDRAM中的一个bank就相当于excel中的一个工作表, SDRAM中的行(Column)与列(Row)相当于工作于中的行与列,我们对内存的读写就是根据bank 号 Column 、Row来准确的找到所需要的单元格(存储阵列)。 由于技术、成本等原因,不可能只做一个全容量的Bank,而且最重要的是,由于SDRAM的工作原理限制,单一的Bank将会造成非常严重的寻址冲突,大大降低了内存的效率,所以把SDRAM内部分割成多个Bank,较早以前是2个,目前市面上大多都是4个Bank的, SDRAM容量的计算。 SDRAM容量 =  单元格的总数(地址总数) X  位宽 单元格的总数 = Bank数 X Column数 X ROW数 如果要以字节为单位的话,刚需要将SDRAM容量(bit) / 8(bit) 型号为:HY57641620XXX的为64Mbit (8M字节)位宽为16bit 的SDRAM,内部结构为4个Bank,Column数为 8(CA0-CA7),Row数为12(RA0- RA11),SDRAM的行地址线和列地址线是分时复用的,即地址要分两次送出,先送出行地址,再送出列地址。这样,可以大幅度减少地址线的数目。 计算方法为:每个bank的容量为: 2 Row 次方 X 2 的Column X 16(bit) = 256 X4096  X 16  /1024 =  16384 bit = 16 Mbit = 2 M字节,再乘以bank 数就是64 Mbit (8M字节了),更简单的方法是行列加起了相当于20根地址线,所以每个bank能访问的地址空间是 2 的20次方 =  1048576 bit =  1M字节,但由于第次传输的数据位宽是16位,所以每个bank的空量是 16 Mbit ,总共有4个bank ,所以就有64Bbit的容量,换成字节单位就是8M字节。 初始化: 上电后,等到VDD和VDDQ稳定后并且CKE设为高电平时。 1.将SDRAM的一些特性写入配置寄存中,如,同步时间 ,列数,行数,CAS延时等,还有需要将数据线宽度写入模式寄存器,这个数据宽度是要根据实妹的硬件接口宽度的。 2.  等待一个最少200us 的延时,这个根据不同的SDRAM可能不同 3.  向SDRAM 发一个NOP命令:应用程序需要把模式模式寄存器写为模式1并写一个数到任意地址 4. 设置所有Bank 预冲电(precharge):应用程序需要将模式寄存器设置为模式2并下任意地址写入数据,可能需要延时. 实际上,预充电是一种对工作行中所有存储体进行数据重写,并对行地址进行复位,同时释放S-SMP(重新加入比较电压,一般是电容电压的1/2,以有助于判断读取数据的逻辑电平,,S-AMP是通过一个参考电压与存储体的电压比较来判断逻辑值的),以用来准备新的工作。 5. 自动刷新(auto refresh). 提供8个自动刷新时序。将模式寄存器切换到 第四种方式,并向任意地址写一个数据,重复8次。 刷新说明,因为SDRAM需要不断的进行刷新,所在称作为动态内存-DRAM,刷新操作有两种,一种是Auto Reresh,简称AR,另一种是Self Refresh ,简称是SR,但不管是哪种刷新方法,都不需要外部提供行地址住处,因为他们都是内部的自动操作。结于AR,SDRAM有一个行地址生成器(也称亻刷新计数器)用来自动依次生成行地址。由于刷新是针对一行中所有存储单无际是行的,所以无需列寻址,或都说CAS在RAS之前,所以AR在有的地方叫作CBR(意思是CAS Before RAS)式刷新。 刷新时间,目前公认的标准是,存储单元中电容的数据有效保存上限是64ms(1000ms = 1 s),也就是说每一行新的循环周期是64ms,我们在有的内存上看这样样的参数4096 Refresh Cycles/64ms之类的信息,从中可以看出,这个内存的行是 12行,相当于每一行就行地址的扫描时间是64ms / 4096 = 15.625us(1000us = 1ms)。 6. 设置CAS延时与突发长度。数据将模式寄存器设置为第三种模式,然后向写入任意数据。 空发时间Burst  Length :空发长度是什么呢,如果突发长度(BL)为4,那就是每次传输的的是4 X W(数据宽度)的数据,这样就可能造成第二笔数据是不需要的,这就引入了数据掩码(DQM)技术,通过DQM,,内存可以控制I/O数据取消哪些输出或输入的数据。 7,设置为正常工作模式,然后向SDRAM写入任意 8.将刷新率写入SDRAM的刷新计数器中,刷新率=刷新周期之间的延迟。 以上初始化的基于MCU是at91sram7se,SDRAM是HY57V641620XXX
/
本文档为【SDRAM初始化过程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索