首页 > 系统服务 > 详细

韦东山嵌入式Linux学习笔记05--存储管理器

时间:2019-11-16 17:32:51      阅读:136      评论:0      收藏:0      [点我收藏+]

问题 :

  为什么两个DDR可以合在一起变成32位?

SDRAM:

   原理图如下:

  技术分享图片         技术分享图片

jz2440 v3开发板上面用的内存芯片为钰创科技公司生产的EM63A165TS,一片内存大小为32MB大小,一共有两块,共64MB的大小.

 技术分享图片

 

 SDRAM接的是BANK 6,所以他的起始地址是 0x30000000.

 SDRAM的基本寻址关系

技术分享图片

 

SDRAM的存储结构逻辑如上图,  SDRAM内部是一个存储阵列,阵列就如同表格一样,将数据"填进去".和表格的检索原理一样,先指定一个行,再指定一个列,两点确定一个坐标,就可以准确地找到所需要的

单元格,这就是SDRAM寻址的基本原理.这个单元被称为存储单元,这个表格(存储阵列)就是逻辑Bank(就是L-Bank).SDRAM一般含有四个L-Bank.

对SDRAM的访问可以分为如下几个步骤:

  1.CPU发出的片选信号nSCS0有效,它选中SDRAM芯片.

  2.SDRAM有四个L-Bank,需要两根地址线来选中其中的一个,根据开发板的设计, 选用了ADDR24和ADDR25作为L-Bank的选择信号.

  3.对被选中的芯片进行统一的行/列(存储单元)寻址.

    根据SDRAM芯片的列地址线数目设置CPU的相关寄存器后,CPU就会从32位的自动分出L-Bank选择信号, 行地址信号,列地址信号,然后发出行地址信号,列地址信号. L-Bank选择信号在发出行地址信号的同时发出,并维持到列地址信号结束. 有原理图可以看出, 行列地址公用地址线ADDR2-ADDR14(因为DDR的数据位宽为32位,根据2440 datasheet可知,地址线应从A2开始.没有使用ADDR0/1.

使用nSRAS,nSCAS两个信号来区分他们.对于jz2440 v3开发板的SDRAM芯片EM63A165TS的行地址数为13,列地址数位9,所以当nSRAS信号有效时,ADDR2-ADDR14发出来的时行地址信号,它对应的

32位地址空间的bit[23:11](为什么?),当nSCAS信号有效时,ADDR2-ADDR10发出来的时列地址信号,它对应32位地址空间的bit[10:2];

技术分享图片  技术分享图片

 

  4.找到存储芯片后,被选中的芯片就要进行统一的数据传输了.

    开发板使用两片16位的SDRAM芯片并联组成32位的位宽,与CPU的32跟数据线相连(DATA0-DATA31).

    BANK6的起始地址为0x30000000,所以SDRAM的访问地址为0x30000000-0x33FFFFFF,共64MB.

技术分享图片

 

韦东山嵌入式Linux学习笔记05--存储管理器

原文:https://www.cnblogs.com/cheyihaosky/p/11871368.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!