14.DDR3初始化

一、DDR内存

SRAM:内部随机存储器,速度高,可以与CPU同频,通常作为内部RAM或者是Cache使用。但是内存小,成本高。

SDRAM:同步动态随机存储器,第四代的SDRAM发展了好几代到了DDR4,开发版使用的是DDR3。

DRAM:动态随机存储器,内部存储单元的以电容电荷表示数据,1代表有电荷,0代表无数据。DRAM结构简答,所以成本低,集成度高。但是存取速度不如SRAM。

​ 2.DDR

14.DDR3初始化_第1张图片

​ 常见频率100MHZ,133MHZ,166M,200MHz。

​ 计算容量:行地址位row=15bit , 列地址位col=10bit。那么就是(215)*(210) / 1024 /1024 = 32Mb。这是一片bank的内存,由于有八片bank,就是256Mb 。而数据位是16,一共16位=2字节,所以就是512Mb容量的。
14.DDR3初始化_第2张图片

二、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最为合适。

14.DDR3初始化_第3张图片

在这里插入图片描述

四、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%就是没问题的。

​ 我们下载程序中添加的头部信息中的寄存器,就有这些校准的寄存器值,如果单纯搜索头部信息寄存器可能会找不到,只不过添加的头部信息是大端的,所以要两位两位反着读。

你可能感兴趣的:(IMX6ULL学习手册,嵌入式,单片机)