内存控制器及SDRAM

每个BANK的地址为128MB,总共1GB (8BANKs);
可编程控制的总线位宽(8/16/32-bit),不过BANK0只能选择两种位宽(16/32-bit );
总共8个BANK,BANK0~5可以支持外接ROM、SRAM等,此外BANK6一BANK7还支持SDRAM等;
BANK0一BANK6共7个BANK的起始地址是固定的;
BANK6,BANK7的地址空间大小是可编程控制的;
每个BANK的访问周期均可编程控制;
可以通过外部的**"wait"信号**延长总线的访问周期;
在外接SDRAM时,支持自刷新和外部省电模式;

s3c2410/s3c2440对外引出的27根地址线 (2^27=128M)ADDR0一ADDR26的访问范围只有128M,CPU对外引出了8根片选信号nGCS0-nGCS7,当访问BANKx的地址时,nGCSx引脚输出低电平来选中外设,128M*8=1G地址空间。
32位CPU理论上4G地址范围,处理连接外设的1G地址空间外,还有部分CPU内部寄存器的地址,剩下的地址空间没用。
在这里插入图片描述
SDRAM的内部址一个存储阵列,阵列就如同表格一样,将数据“填”进去。和表格的检索原理一样。先指定一个行( Row),再指定一个列(Column)。就可以准确地找到所需要的单元格,这就是SDRAM寻址的基本原理。这个单元格被称为存储单元,这个表格(存储阵列)就是逻辑Bank(L-Bank),SDRAM一般含有4个L-Bank。
在这里插入图片描述
可以想象,对SDRAM的访问可以分为如下4步骤:
1.CUP发出的片选信号nSCS0有效,它选中SDRAM芯片。
2.SDRAM中有4个L-Bank,需要两根地址信号来选中其一个。
3.对被选中的芯片进行统一的行/列(存储单元)寻址。
根据SDRAM芯片的列地址线数设置CPU的相关寄存器后,CPU就会从3位的地址中自动分出L-Bank选择信号、行地址信号、列地址信号,然后先后发出行地址信号、列地址信号。L-Bank选择信号在发出行地址信号的同时发出,井维持到列地址信号结束。
行地址、列地址共用地址线ADDR2~ADDR14(BANK6位宽32,ADDR0/1没用),使用nSRAS、nSCAS两个信号来区分它们。
比如本开发板中,使用两根地址线ADDR24,ADDR25作为L-BANK的选择信号;SDRAM芯片的行地址数为13,列地址数为9,所以nSRAS信号有效时ADDR2~ ADDR14发出的是行地址信号,它对应32位地址空间的bit[23:11]; 当nSCAS信号有效时,ADDR2~ADDR10上发出的是列地址信号,它对应32位地址空间的bit[10:2];BANK6以32位的宽度外接SDRAM,ADDR0、ADDR1为9,不参与译码。中1}
4.找到了存储单元后,被选中的芯片就要进行统一的数据传输了。
开发板中使用两片16位的SDRAM芯片并联组成32位的位宽,与CPU的32根数据线相连。

PROGRAMMABLE ACCESS CYCLE(可编程的访问周期)时序图

在这里插入图片描述
从左往右看,先发出地址信号,再发出片选信号,再发出读信号,过一会数据才有效,再把读信号释放掉,再释放片选信号,最后才开始新的地址周期。这些时间参数都是可以设置的,因为2440可以接各种类型的内存类芯片,它们性能都有差别,有点芯片性能较强,一发出读信号,芯片很快就可以提供数据,那Tacc时间就可以设置很小,这些值要根据外接芯片的性能来设置。

寄存器

BWSCON (位宽和等待控制寄存器):使能/禁止SDRAM的数码掩码引脚,是否使用Wait信号,位宽(8/16/32)
根据外设的属性,设置Tacc(访问周期)参数,默认值为最大,可以根据实际情况调整。Tacc≥70ns,Hclk=100M。
BANKCONn(控制寄存器)(0~5):设置访问时序
在这里插入图片描述

BANKCONn(控制寄存器)(6~7):外接SDRAM/SRAM,发送行地址->列地址时间间隔,列地址位数(9位)
REFRESH(刷新寄存器):使能刷新功能,刷新模式(自动),刷新周期(HCLK 100MHz->7.8us)
SDRAM不像静态内存SRAM那么可靠,在使用中要不断刷新,否则里面数据会丢失
BANKSIZE(大小寄存器):支持突发传输,大小(64M)
MRSRBx(模式寄存器):设置CL bit6:4(2clock数据准备好)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值