您的位置 首页 新品

[ARM笔记]存储控制器及其拜访外设的原理

1.S3C2410/S3C2440地地址空间S3C2410/S3C2440对外引出的27根地址线ADDR0~ADDR26的访问范围只有128MB,那么是如何达到1GB的空间的呢?CPU对外还引

  1. S3C2410/S3C2440地地址空间

  S3C2410/S3C2440对外引出的27根地址线ADDR0~ADDR26的拜访规模只要128MB,那么是怎么到达1GB的空间的呢?CPU对外还引出了8根片选信号nGCS0~nGCS7,对应于BANK0~BANK7,当拜访BANKx的地址空间时,nGCSx引脚输出低电平用来选中外接的设备。这样,每个nGCSx对应128MB的地址空间,8个nGCSx信号一共就对应了1GB的地址空间。这8个BANK的地址空间如:http://weimenlove.blog.163.com/blog/static/17775473201101013847857/

  S3C2410/S3C2440作为32位的CPU,能够运用的地址规模理论上可到达4GB。除掉上述用于衔接外设的1GB的地址空间外,还有一部分是CPU内部寄存器的地址,剩余的地址空间没有运用。留意:这儿的地址指的是物理地址。

  2. 存储控制器与外设的联系

  所以要确认一个器材的地址,首先看它坐落哪个Bank区,再看它连在Addr[26:0]地址线所确认的地址,将该区的开始值和它的地址线地址相加即得该器材的地址。

    

 

  BANK0~BANK5的衔接方法相似,BANK6衔接SDRAM时杂乱一点,CPU供给了一组用于SDRAM的信号。

  1) SDRAM时钟有用信号SCLK;

  2) SDRAM时钟信号SCLK0/SCLK1;

  3) 数据掩码信号DQM0/DQM1/DQM2/DQM3;

  4) SDRAM片选信号nSCS0(它与nGCS6是同一引脚的两个功用);

  5) SDRAM行地址选通脉冲信号nSRAS;

  6) SDRAM列地址选通脉冲信号nSCAS;

  7) 写答应信号nWE(它不是专用于SDRAM)。

  SDRAM的内部是一个存储阵列,阵列就好像表格相同,将数据“填”进去。和表格的检索原理相同,先指定一个行(Row),再指定一个列(Column),就能够精确地找到所需求的单元格,这便是SDRAM寻址的基本原理。这个单元格被称为存储单元,这个表格(存储阵列)便是逻辑Bank(Logic Bank,下文简称L-Bank),SDRAM一般含有4个L-Bank。

  能够幻想,对SDRAM的拜访能够分为如下4个过程:

  1)CPU宣布的片选信号nSCS0有用,它选中SDRAM芯片。

  2)SDRAM中有4个L-Bank,需求两根地址信号来选中其间一个,如图中所示的是用ADD24、ADD25作为L-Bank的片选信号。

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

  依据SDRAM芯片的列地址线数目设置CPU的相关寄存器后,CPU就会从32位的地址中主动分出L-Bank挑选信号、行址址信号、列地址信号,然后先后宣布行地址信号、列地址信号。L-Bank挑选信号在宣布行地址信号的一起宣布,并保持到列地址信号完毕。

  在图中,行地址、列地址共用地址线ADD2~ADD14(BANK6的位宽为32,ADDR0/1没有运用),运用nSRAS、nSCAS两个信号来区别它们。如上图中,运用两根地址线Addr24、Addr25作为L-Bank的挑选信号;HY57V561620运用13根行地址,9根列地址,所以当nSRAS信号有用时,ADDR2~ADDR14上宣布的是行地址信号,它对应32位地址空间的bit[23:11];当nSCAS信号有用时,ADDR2~ADDR10上宣布的是列地址信号,它对应32位地址空间的bit[10:2];由于Bank6以32位的宽度外接SDRAM,ADDR0、ADDR1恒为0,不参加译码。

  又由于Bank6的开始地址为0x3000_0000,所以SDRAM的拜访地址为0x3000_0000~0x33ff_ffff,共64MB(2片*(4*Bank*2^22)*16bit)。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/318912.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部