找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2329|回复: 0
打印 上一主题 下一主题
收起左侧

SDRAM跑起来

[复制链接]
跳转到指定楼层
楼主
ID:113517 发表于 2016-4-12 16:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要
        LPC17xx系列MCU都带有EMC接口,外部动态存储器可以通过EMC接口挂载在MCU的地址总线上,然后可以通过直接访问MCU的地址总线来间接访问SDRAM了。当然在对SDRAM进行操作之前,需要对其进行初始化流程,也就是相当于打通EMC接口与SDRAM之间的桥梁。桥梁通了,访问就不成问题了。

文章预览
        首先说明的是SDRAM芯片与EMC接口电路连接并没有特别之处,需要注意的是地址线的连接都是从A0开始依次连接,不需要移位;对于SDRAM芯片的BANK选择位BA0和BA1引脚依次连接到EMC接口的A13和A14引脚,这个的连接时确定的,不能更改。其他的引脚照常连接。

        在进行SDRAM初始化之前需要对EMC模块的动态存储器配置寄存器进行操作,使EMC接口为SDRAM工作。具体的寄存器的设置值参照具体的SDRAM芯片进行正确配置。

        SDRAM的初始化流程其实是几个命令的依次按顺序切换的过程,具体的命令是通过配置EMC的DynamicControl寄存器的7:8位来实现的。下面是SDRAM具体的命令切换过程。

        下面对每个过程中需要配置和注意的点进行说明。
        1.SDRAM NOP:这是一个不运行命令,此时SDRAM失效;
        2.SDRAM PALL:SDRAM预上电过程,相当于SDRAM复位状态,在这个这过程中需要给一定的延时;
        3.SDRAM自刷新设置:在这个过程中,进行SDRAM自刷新周期的设置,这个时间的设置还是很重要的,在SDRAM芯片的中可以找到这个时间信息,配置好了之后给一个小延时。            4.SDRAM的模式设置:这个过程是对SDRAM的模式寄存器进行设置,这个寄存器设置了Brust长度、CAS(潜伏延迟)、Brust类型、操作模式以及是运行在单个读操作还是Brust模式读操作。这个寄存器的设置是通过地址线来实现的。在发出Load Mode Register命令之后,以设置值经过移位处理作为地址,通过读该地址操作使设置值传输到地址线上,这样,SDRAM的模式设置就完成了。
        5.正常读写操作:初始化过程完成,可以正常对SDRAM进行读写操作。
        需要注意的是在SDRAM的模式设置过程中,模式设置值是对一个12位寄存器进行设置的,如下图所示的。进行读操作的地址是通过公式:
Base address+(mode register value<<(Bank bits/2+column bits+bus width/16))计算的。
        Base address是选择的EMC接口映射的总线基地址;Bank bits是对应外部存储芯片的bank数与2的比值(由SDRAM芯片决定);Column bits是外部存储芯片的列数(由SDRAM芯片决定);Bus Width是数据传输位宽;mode register value就是模式设置值,用户可根据外部存储器以及自己需求对其进行设置。


        需要注意的是EMC接口规定了SDRAM的突发长度,对于16位传输位宽,起突发长度为8,对于32位传输位宽,其突发长度为4。

        还有一个寄存器的配置需要说明一下:精确的延时调整寄存器的配置,这个寄存器用于精确调整EMC驱动SDRAM的时序中的命令延时,该延时寄存器是以250ps为增量进行配置的,对于这个寄存器的设置需要根据外部存储芯片以及实际的硬件电路设计来定,具体的最合适的值用户需要通过软件调试来得到。

容易出错的几个点:
    ◆ 电路上对于BANK位选择引脚的连接,BANK选择位BA0和BA1引脚依次连接到EMC接口的A13和A14引脚;
    ◆ 精确的延时调整寄存器的设置:根据具体的硬件电路来判别,最合适的值需要调试才能得到,网上有相关的找出最合适的值的程序设计;
    ◆ 模式寄存器的移位值设置:根据以上提供的公式来计算,得到正确的值。

        这是最近与客户交流容易出错的地方,希望对大家有用。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表