1、概述
数据位宽:BANK0:16/32位
其它BANK:8/16/32位
BANK0-BANK5可接ROM、SRAM
BANK6-BANK7可接ROM、SRAM、SDRAM
BANK0-6的起始地址是固定的,BANK7的起始地址是可调整的
BANK6-7的寻址范围可通过编程调整
所有存储器BANK的访问周期可编程
总线访问周期可通过插入外部wait来延长
支持SDRAM的自刷新和掉电模式
2、功能描述
(1)、BANK0的总线宽度由引脚OM1和OM2的电平信号决定。
(2)、BANK与ROM或SRAM连接时,由芯片的数据输出位宽决定将第几根地址线与芯片的第0根地址线连接,此处
主要是保证字节对齐
(3)、BANK6-7与SDRAM连接时,地址引脚连接计算方式如下:
由SDRAM芯片资料找出芯片的BANK数、每个BANK的存储单元数和芯片输出数据位宽
由BANK数确定需要使用几根地址线用于BANK选择
由每个BANK的存储单元数确定需要使用多少根地址线用于存储单元的选择
最后由芯片的输出数据位宽决定将第几根地址线与SDRAM的第0根地址线连接
计算举例:
用HY57V561620芯片组成32位的输出数据位宽,每个芯片是由4个BANK组成,每个BANK的大小是4M
则用2根地址线用于BANK选择,每个BANK有4M(4M=2^22)的存储单元则用22根地址线用于存储单
元选择,到此共用2(BANK)+22(存储单元)=24根地址线,又因为输出数据位宽是32位,4字节
对齐,所以将使用ARM的地址线A2-A25,A24、A25用于BANK选择,从A2开始的22根地址线用于存
储单元选择
(4)、nWAIT引脚操作
如果相对应每个存储器bank的WAIT位使能,当存储器bank被激活,nOE信号低电平有效持续时间可以被外部引脚nWAIT
所延长,在nWAIT是高电平后的下一个时钟周期,nOE也会被置高电平。nWE与nOE也有同样的关系
(5)、nXBREQ/nXBACK引脚操作
如果nXBREQ引脚被拉低电平,S3C2440置nXBACK引脚低电平对此响应,如果nXBACK为低电平,则地址/数据总线和存储
器控制信号将处于高阻态,当nXBREQ引脚被拉高以后,nXBACK引脚也会恢复高电平
(6)、对SDRAM进行控制时相关使用到的引脚说明如下:
nSRAS:高电平表示正在输出行地址
nSCAS:高电平表示正在输出列地址
nSCS[1:0]:芯片选择信号,低电平有效,nSCS0是bank6,nSCS1是bank7
DQM[0:3]:ARM在对SDRAM读写时,SDRAM控制器会先输出行地址和SDRAM芯片的BANK选择信号,然后DQM引脚变低电平再输
出列地址信号,如果是写操作,则DQM[0:3]各引脚的高低电平与nWBE[0:3]一个意思
SCLK[1:0]:读写时钟信号,SCLK0是bank6的信号,SCLK1是bank7
SCKE:是时钟信号使能信号
nWBE[0:3]:当向外写一个数据时,如果该数据是一个字节的,则WBE[0]为按时序工作,其它三个始终为高电平
如果该数据是两个字节的,则WBE[0:1]按时序工作,其它两个始终为高电平
如果该数据是三个字节的,则WBE[0:2]按时序工作,其它的始终为高电平
如果该数据是四个字节的,则这四个引脚按时序工作
当读一个数据时,四个引脚都为高电平
所以在控制SDRAM芯片时,芯片上的DQM引脚会与ARM的nWBE引脚连,以控制写入数据的字节数。
(7)、对ROM控制时相关使用到的控制引脚说明如下:
OM[1:0]:用于bank0的数据位宽选择
nGCS[7:0]:充当片选信号
nWE:低电平有效,表示arm向外写数据
nOE:低电平有效,表示arm要从外设读取数据
nWBE[0:3]:当向外写一个数据时,如果该数据是一个字节的,则WBE[0]为按时序工作,其它三个始终为高电平
如果该数据是两个字节的,则WBE[0:1]按时序工作,其它两个始终为高电平
如果该数据是三个字节的,则WBE[0:2]按时序工作,其它的始终为高电平
如果该数据是四个字节的,则这四个引脚按时序工作
当读一个数据时,四个引脚都为高电平
所以在控制SDRAM芯片时,芯片上的DQM引脚会与ARM的nWBE引脚连,以控制写入数据的字节数。
(8)、对SRAM控制时相关使用到的控制引脚说明如下:
nGCS[7:0]:片选信号
nWE:低电平有效,表示arm向外写数据
nOE:低电平有效,表示arm要从外设读取数据
nBE[3:0]:对SRAM高低字节选通信号,nBE0表示数据的0-7位,nBE1表示数据的8-15位,nBE2表示数据的16-23位,nBE4表示数据的24-31位
注:nBE[3:0]是nWBE[3:0]和nOE的与信号