欢迎访问文稿网!

存储器控制器

范文之家 分享 时间: 加入收藏 我要投稿 点赞

存储器控制器

    6.1 存储器控制器

    6.1.1 存储控制器的特点

    S3C2410处理器的存储控制器可以为片外存储器访问提供必要的控制信号,它主要包括以下特点:

    (1)支持大、小端模式(通过软件选择).

    (2)地址空间:包含8个地址空间,每个地址空间的大小为128M字节,总共有1G字节的地址空间.

    (3)除Bank0以外的所有地址空间都可以通过编程设置为8位、16位或32位访问.Bank0可以设置为16位、32位访问.

    (4)8个地址空间中,6个地址空间可以用于ROM、SRAM等存储器,2个用于ROM、SRAM、SDRAM等存储器.

    (5)7个地址空间的起始地址及空间大小是固定的.

    (6)1个地址空间的起始地址和空间大小是可变的.

    (7)所有存储器空间的访问周期都可以通过编程配置.

    (8)提供外部扩展总线的等待周期.

    (9)SDRAM支持自动刷新和掉电模式.

    img198

    

    图6-1 S3C2410复位后的存储器地址分配

    

    表6-1 Bank6/Bank7地址

    img199

    注意:Bank6和Bank7的内存大小必须一致.

    图6-1为S3C2410复位后的存储器地址分配图.从图中可以看出,特殊功能寄存器位于0x48000000到0x60000000的空间内.Bank0~Bank5的起始地址和空间大小都是固定的,Bank6的起始地址是固定的,但是空间大小和Bank7一样是可变的,可以配置为2M/4M/8M/16M/32M/64M/128M.Bank6和Bank7的详细地址和空间大小的关系可以参考表6-1.

    6.1.2 Bank0总线宽度

    Bank0(nGCS0)的数据总线宽度可以配置为16位或32位.因为BANK0为启动ROM(映射地址为0x00000000)所在的空间,所以必须在第一次访问ROM前设置BANK0数据宽度,该数据宽度是由复位后OM[1∶0]的逻辑电平决定的,如表6-2所示.

    

    表6-2 数据宽度选择

    img200

    6.1.3 SDRAM空间地址引脚连接及空间地址配置

    SDRAM空间地址引脚连接如表6-3所示,SDRAM空间地址配置如表6-4所示.

    

    表6-3 存储器(SROM/SDRAM)地址引脚连接

    img201

    

    表6-4 SDRAM空间地址配置

    img202

    

    续表

    img203

    6.1.4 nWAIT引脚功能

    如果和每个地址空间相关联的WAIT被允许,某个地址空间处于激活状态的时候应该通过外部nWAIT引脚来延长nOE持续时间.从tacc-1核对nWAIT,在采样nWAIT为高电平的后一个时钟周期使nOE变为高电平,nWE信号和nOE信号相同.S3C2410A的外部nWAIT时序如图6-2所示.

    img204

    

    图6-2 S3C2410A的外部nWAIT时序图(tacc=4)

    6.1.5 nXBREQ/nXBACK引脚操作

    如果nXBREQ被允许,处理器会在nXBACK引脚输出低电平作为应答信号,如果nXBACK引脚输出低电平,地址/数据总线和存储器控制信号会处于高阻状态,如图6-3所示.如果nXBREQ没有被允许,nXBACK也无效.

    img205

    

    图6-3 S3C2410A的nXBREQ/nXBACK时序表

    6.1.6 ROM接口

    ROM接口举例如图6-4~图6-7所示.

    img206

    

    图6-4 存储器与8bit ROM接口

    img207

    

    图6-5 存储器与8bit ROM×2接口

    img208

    

    图6-6 存储器与8bit ROM×4接口

    img209

    

    图6-7 存储器与16bit ROM接口

    6.1.7 SRAM存储器接口

    SRAM存储器如图6-8、图6-9所示.

    img210

    

    图6-8 存储器与16bit SRAM接口

    img211

    

    图6-9 存储器与16bit SRAM×2接口

    6.1.8 SDRAM接口

    SDRAM接口举例如图6-10、图6-11所示.

    img212

    

    图6-10 存储器与16bit SDRAM接口(8MB:1Mb×16×4banks)

    img213

    

    图6-11 存储器与16bit SDRAM接口(16MB:1Mb×16×4banks×2ea)

    6.1.9 可编程访问周期

    可编程访问周期如图6-12、图6-13所示.

    img214

    

    图6-12 S3C2410XnGCS时序图

    img215

    

    图6-13 S3C2410XSDRAM时序图

    6.1.10 存储器控制专用寄存器

    (1)总线宽度/等待控制寄存器(BWSCON).

    相关寄存器如下表所示.

    

    表6-5 总线宽度/等待控制寄存器

    img216

    寄存器各位功能:

    [DWi]:i=0~7,其中DW0为只读,因为Bank0数据总线宽度在复位后已经由OM[1∶0]的电平决定.DW1~DW7可写,用于配置Bank1~Bank7的数据总线宽度,00表示8位数据总线宽度,01表示16位数据总线宽度,10表示32位数据总线宽度,11保留.

    [WSi]:i=1~7,写入0则对应的Banki等待状态不使用,写入1则对应的Banki等待状态使能.

    [STi]:i=1~7,决定SRAM是否使用UB/LB.0表示不使用UB/LB,引脚[14∶11]定义为nWBE[3∶0];1表示使用UB/LB,引脚[14∶11]定义为nBE[3∶0].

    (2)Bank控制寄存器(BANKCONn:nGCS0-nGCS5).

    相关寄存器如下表所示.

    

    表6-6 Bank控制寄存器1

    img217

    (3)Bank控制寄存器(BANKCONn:nGCS6-nGCS7).

    相关寄存器如下表所示.

    

    表6-7 Bank控制寄存器2

    img218

    (4)刷新控制寄存器(REFRESH).

    相关寄存器如下表所示.

    

    表6-8 刷新控制寄存器

    img219

    (5)Bank大小寄存器(BANKSIZE).

    相关寄存器如下表所示.

    

    表6-9 Bank大小寄存器

    img220

    (6)SDRAM模式设置寄存器(MRSR).

    相关寄存器如下表所示.

    

    表6-10 SDRAM模式设置寄存器

    img221

    以上所提到的寄存器的详细解释及设置请参考S3C2410数据手册.

    下面列举了13个存储控制寄存器的配置示例:

    BANKCON0_Val  EQU  0x00000700

    BANKCON1_Val  EQU  0x00000700

    BANKCON2_Val  EQU  0x00000700

    BANKCON3_Val  EQU  0x00000700

    BANKCON4_Val  EQU  0x00000700

    BANKCON5_Val  EQU  0x00000700

    BANKCON6_Val  EQU  0x00018005

    BANKCON7_Val  EQU  0x00018005

    BWSCON_Val   EQU  0x22119120;0x22111110

    REFRESH_Val   EQU  0x008e0459

    BANKSIZE_Val  EQU  0x00000032;0x000000b2

    MRSRB6_Val   EQU  0x00000030

    MRSRB7_Val   EQU  0x00000030

    观察上面寄存器介绍中的寄存器地址可以发现,13个寄存器分布在从0x48000000开始的连续地址空间,所以上面的程序可以利用指令"stmia r0,{r1-r13}"实现将配置好的CPU寄存器的值依次写入到相应的存储控制寄存器中.

221381
领取福利

微信扫码领取福利

微信扫码分享