zoukankan      html  css  js  c++  java
  • HI3531的DDR3配置流程 分类: arm-linux-Ubuntu HI3531 2013-12-14 10:47 1222人阅读 评论(0) 收藏

    DDR3 初始化配置流程

    系统上电之后,必须先完成DDR3 SDRAM 的初始化操作,系统才能访问DDR3
    SDRAM。在进行初始化之前需要注意以下几点:

    对DDR3 SDRAM 进行上电操作时,需要遵循JEDEC 标准。即先提供VDD,然
    后提供VDDQ,最后提供VREF 和VTT。
     该初始化过程需要在系统进入NORMAL 模式后进行。
    在DDRC 32bit 模式下,假设存储空间由两片容量为1Gbit,数据总线位宽为16bit 的
    DDR3 SDRAM 构成,DDRC 的初始化步骤如下:
    1. 软件等待200us 以上。
    2. 把DDRC_IOCFG 寄存器配置为0x467,配置IO 的工作模式、匹配电阻以及信号驱
    动。
    3. 根据器件的单片容量配置DDRC_RNKCFG 寄存器为0x122。总线地址映射模式为RB-
    C-DW 模式,AP 为A10,列地址宽度为10,行地址宽度为13。
    4. 把DDRC_PHYSRST 配置为0x0,把DDRC_CDLLCFG,DDRC_QDLLCFG0~3 寄存器
    配置为0x52,复位DDR PHY 和DLL。
    5. 软件等待50ns。
    6. 把DDRC_PHYSRST 配置为0x1,把DDRC_CDLLCFG,DDRC_QDLLCFG0~3 寄存器
    配置为0x56,撤消DDR PHY 和DLL 复位。
    7. 软件等待3us 以上。
    8. 配置DDRC_TIMING2 寄存器[taref]为0x000,禁止自动刷新。
    9. 配置DDRC_CTRL 寄存器为0x1,配置DDR3 SDRAM 退出复位状态。
    10. 软件等待500us 以上。
    11. 把DDRC_SREFCTRL 寄存器配置为0x0,退出自刷新状态。
    12. 软件等待1us 以上。
    13. 根据工作频率和器件要求,配置DDRC_EMRS01 寄存器和DDRC_EMRS23 寄存器,
    以设置DDR 的读延迟(cas latency),写延迟(cas write latency),写恢复延迟(write
    recovery),突发长度(burst length),DDR 器件的输出驱动阻抗和输入ODT 阻抗
    等。
    cas latency 和必须和DDRC_TIMING1[cl]设置成同一个值。
    cas write latency 和必须和DDRC_TIMING1[wl]设置成同一个值。
    DDRC_EMRS01 寄存器对应DDR3 SDRAM 的模式寄存器MRS 和扩展模式寄存器1
    (EMRS1)。配置该寄存器时,只需要DDR3 SDRAM 器件手册的模式寄存器的A15-A0(实际有
    效位为:A13~A0),不需要配置模式寄存器的最高3 位A18~A16 寄存器选择位,即bank 地址。
    但是,有些DDRn SDRAM 厂家的bank 地址是:A17~A15。
    14. 根据器件的类型和存储空间配置DDRC_CONFIG0 寄存器为0x8000_0610,
    DDRC_CONFIG1 寄存器为0x785,表示DDRC 为32bit DDR3 SDRAM 模式。
    低功耗配置的上电复位值是关闭的,初始化过程中必须关闭低功耗自动进入功能以及时钟自动关
    闭功能,但在正常使用中,建议使能低功耗的控制,可以降低功耗。
    15. 配置存储空间基地址寄存器DDRC_BASEADDR 为0x8000_0000。
    16. 根据工作频率和器件要求配置DDRC_TIMING0~DDRC_TIMING3 的值,其中cl 和wl
    值必须跟DDRC_EMRS01 和DDRC_EMRS23 模式寄存器中的配置一致。
    17. 配置DDRC_DTRCTRL 寄存器为0x0F00_0503,使能初始化自动训练模式。
    18. 配置DDRC_ODTCFG 寄存器DDRC_ODTCFG[wodt0]=0x1,
    DDRC_ODTCFG[rodt0]=0x0。
    19. 配置DDRC_PHYCFG 寄存器0x2。
    20. 将DDRC_INITCTRL 寄存器设置为0x1,启动初始化过程。
    21. 等待DDRC_INITCTRL 寄存器的值变为0,初始化完成。
    ----结束
    完成以上步骤以后,DDR3 SDRAM 就可以正常工作。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    request内置对象(上)1
    康拓展开-----两个排列的位置之差
    判断一个数的质因子个数
    学生信息管理系统----(顺序表)
    学生信息管理系统----(链表)
    二分图的最大匹配--匈牙利算法
    hdu-1285拓扑排序
    文件的压缩与解压
    树莓派安装QT(全部库包括)
    Win10 + CLion + 树莓派 + QT 远程开发调用Python
  • 原文地址:https://www.cnblogs.com/mao0504/p/4706696.html
Copyright © 2011-2022 走看看