imx6ul 16 之DDR

一、DDR内存简介

  • 1、RAM 和 ROM
  • 2、SRAM
    一开始芯片内部 RAM,后面因为应用需要外扩 RAM,比如 STM32F103 外扩了1MB SRAM。
    is62wv51216,这是一个16位宽的 1MB RAM。
    缺点:成本高,位价高。
    优点:相比 SDRAM,SRAM 无需刷新(SDRAM 需要刷新,后面会讲解),读写速度快 。SRAM 能做到与CPU 的频率一致,常用作Cache。
  • 3、SDRAM
    同步动态随机存储器,需要时钟线
    常见频率是100MHz,133,166,200 MHz
    需要刷新

二、DDR3 时间参数

  • 1、传输速率
    DDR3 1600、DDR3 1866、DDR4 2400、DDR4 3200
    单位:MT / s,每秒传输多少兆次
    不同的传输速度,芯片的时序是不一样的

  • 2、tRCD
    RAS-to-CAS Delay,也就是行寻址到列寻址之间的延迟

  • 3、CL参数
    当列地址发出以后就会触发数据传输,但是数据从存储单元到内存芯片 IO 接口上还需要一段时间,这段时间就是非常著名的 CL(CAS Latency),也就是列地址选通潜伏期

  • 4、tRC

  • 5、tRAS

三、I.MX6U MMDC 控制器

  • 1、multi-mode DDR controller
    多模,支持 DDR3 / DDR3L LPDDR2 * 16 位 (只能接16位)
  • 2、MMDC 最高支持 DDR3 频率是 400 MHz,800 MT / s。
  • 3、MMDC 提供的 DDR3 连接信号。6ull 给 DDR 提供了专用的 IO,只能作为DDR引脚 使用。

DDR 时钟配置
时钟源为 MMDC_CLK_ROOT = PLL2_PFD2 = 396 MHz。在前面例程已经设置为 396 MHz。
看时钟树找到相应的寄存器位进行设置
CBCMR 寄存器的 PRE_PERIPH2_CLK_SE 位来选择,也就是 bit22 :21,设置pre_periph2 的时钟源,设置为 01,也就是 PLL2_PFD2 作为 pre_Periph2 的时钟源。
CBCDR 的寄存器的 PERIPH_CLK_SEL,也就是 bit26 ,设置为0,PLL2作为 MMDC 时钟源就是 396 MHz。
CBCDR 寄存器的 FABRIC_MMDC_PODF 位,也就是 bit5 :3,设置为0,也就是 1分频。

四、DDR3L 初始化与测试

  • 1、ddr_stress_tester 配置文件
    excel 配置文件,excel配置好以后 ,realview.inc 非同步更新。
  • 2、.inc 文件
    ddr_stress_tester 工具需要用到 .inc 文件。
  • 3、测试
    ddr_stress_tester 通过 USB 将 .inc 文件中的配置信息下载到开发板里面。
    直接进行超频测试的话会失败,因为没有做校准,首先要用 DDR_Tester.exe 软件对正点原子 ALPAH 开发板的 DDR3L 进行校准,因为不同的 PCB 其走线不同,必须要进行校准,经过校准一会 DDR3L 就会工作到最佳状态。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值