概述
一、DDR内存
SRAM:内部随机存储器,速度高,可以与CPU同频,通常作为内部RAM或者是Cache使用。但是内存小,成本高。
SDRAM:同步动态随机存储器,第四代的SDRAM发展了好几代到了DDR4,开发版使用的是DDR3。
DRAM:动态随机存储器,内部存储单元的以电容电荷表示数据,1代表有电荷,0代表无数据。DRAM结构简答,所以成本低,集成度高。但是存取速度不如SRAM。
2.DDR
常见频率100MHZ,133MHZ,166M,200MHz。
计算容量:行地址位row=15bit , 列地址位col=10bit。那么就是(215)*(210) / 1024 /1024 = 32Mb。这是一片bank的内存,由于有八片bank,就是256Mb 。而数据位是16,一共16位=2字节,所以就是512Mb容量的。
二、DDR3的时间参数
1.传输速率
DDR3 1600 ,DDR3 1886,DDR4 2400,DDR4 2666后面的数字表示传输速率,单位是MT/s。
从初代的SDRAM的传输速率是133-200M,再到DDR就是将SDRAM的传输速度翻倍。DDR2又是DDR的二倍传输速率。因此DDR3是SDRAM的8倍传输速率(1064-1600MT/S)
2.tRCD
RAStoCAS Delay就是行列寻址延迟参数。DDR的寻址过程是先找到对应的BANK域,然后同时寻找对应的行列地址(行激活)后确定地址,再写入读写操作命令(列寻址)。在“行激活”与“列寻址“的间隔期间叫做tRCD。
三、MMDC控制器
1、用于控制DDR的连接,支持DDR3、DDR3L ×16 位。
2、MMDC最高支持DDR3频率400MHz。
3、MMDC提供了DDR3一些列专用IO,不可复用
MMDC的时钟源MMDC_CLK_ROOT最大时钟频率是396MHz。因此我们在之前配置的推荐时钟当中选择PLL2_PFD2最为合适。
四、DDR初始化与测试
1.硬件介绍
开发版中使用的是MT41K256M16 DDR3L芯 片
2.ddr_stress_tester配置文件准备
需要准备官网下载文件
1.[ddr_stress_tester_v3.00_setup.exe.zip]
2.[MX6UL_DDR3_Script_Aid_V0.02.xlsx]
进入exle配置好以后,inc文件会同步更新。ddr_stress_tester_v3.00_setup程序需要使用inc文件。将更新好的inc文件保存到ddr_stress_tester_v3.00_setup安装的ddr_stress_tester_v3.0目录下创建的inc的新文件。
这个配置文件是NXP官方帮你写的初始化的寄存器相关的信息。所以我们不需要写程序。
3.做校准
软件按cellibration做校准,将inc的地址修改。校准就是得到了一些寄存器中的值。校准以后,要将创建的inc的新文件里面的寄存器值进行修改。
4.测试
ddr_stress_tester软件通过USB将程序下载至开发版中。可以做超频测试。当超频测试做到你的频率超过10%-15%就是没问题的。
我们下载程序中添加的头部信息中的寄存器,就有这些校准的寄存器值,如果单纯搜索头部信息寄存器可能会找不到,只不过添加的头部信息是大端的,所以要两位两位反着读。
最后
以上就是优秀苗条为你收集整理的14.DDR3初始化一、DDR内存二、DDR3的时间参数三、MMDC控制器四、DDR初始化与测试的全部内容,希望文章能够帮你解决14.DDR3初始化一、DDR内存二、DDR3的时间参数三、MMDC控制器四、DDR初始化与测试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复