6.1使用存储控制器访问外设的原理
6.1.1 S3C2410/S3C2440的地址空间
存储控制器用于通过地址选择外设
支持小字节序、大字节序(通过软件选择)
每个BANK的地址空间为128M,总共1GB(8BANKs)
可编程控制的总线位宽(8/16/32bit),BANK0只能选择两种位宽(16/32bit)
总共8个BANK,BANK0-BANK5可以支持外接ROM、SRAM等,BANK6-BANK7除可以支持ROM、SRAM外,还支持SDRAM等
BANK0-BANK6的起始地址是固定的
BANK7的起始地址可编程选择
BANK6、BANK7的地址空间大小是可编程控制的
每个BANK的访问周期均可编程控制
可通过wait信号延长总线的访问周期
外接SDRAM,支持自刷新和省电模式
S3C2410/S3C2440外引出27根地址线ADDR0-ADDR26,CPU对外还引出8根片选信号nGCS0-nGCS7对应于BANK0-BANK7
8个BANK的地址空间:

6.1.2存储控制器与外设的关系
地址线所确定的地址值加上这个BANK的其实地址,就是这个外设的访问地址
SDRAM的信号:
(1)SDRAM时钟有效信号SCKE
(2)SDRAM时钟信号SCLK0/SCLK1
(3)数据掩码信号DQM0DQM1DQM2DQM3
(4)SDRAM片选信号nSRAS0(它与nGCS6是同一引脚的两个功能)
(5)SDRAM行地址选通信号nSRAS
(6)SDRAM行地址选通信号nSCAS
(7)写允许信号nWE
SDRAM含有4个L-BANK
对SDRAM的访问分为4个步骤:
(1)CPU发出片选信号nSCS0有效,它选中SDRAM芯片
(2)两根地址信号选择一个L-Bank(addr24、addr25)
(3)对被选中的芯片进行统一的行/列寻址
(4)数据传输
6.1.3 存储控制器的寄存器使用方法
存储控制器共有13个寄存器,BANK0~BANK5只需要设置BWSCON和BANKCONx(x为0~5)两个寄存器;BANK6、BANK7外接SDRAM时,还要设置REFERESH、BANKSIZE、MRSRB6、MRSRB7等四个寄存器。
(以下控制器的使用方法,在S3C2440的芯片手册中都有)
1、位宽和等待控制寄存器BWSCON
2、BANK控制寄存器BANKCONx(x为0~5)
控制外接设备的访问时序
3、BANK控制寄存器BANKCONx(x为6~7)
它与BANKCONx(x为0~5)不同
4、刷新控制寄存器REFRESH
设置SDRAM刷新周期相关数据,在SDRAM数据手册上有标明
5、BANKSIZE寄存器
设置BANK6/7的大小,BANK7的其实地址会随着BNAK6的大小而变化
6、SDRAM模式设置寄存器MRSRBx(x为6、7)
设置SDRAM时序的一个时间参数(CL)
6.2 存储控制器操作实例:使用SDRAM






浙公网安备 33010602011771号