首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

S3C2440 SDRAM原理到驱动解释完整版(2)

S3C2440 SDRAM原理到驱动解释完整版(2)

1.1.1  
S3C2440存储器地址段(BankS3C2440对外引出了27根地址线ADDR0~ADDR26,它最多能够寻址128MB,而S3C2440的寻址空间可以达到1GB,这是由于S3C24401GB的地址空间分成了8BANKSBank0~Bank7),其中每一个BANK对应一根片选信号线nGCS0~nGCS7,当访问BANKx的时候,nGCSx管脚电平拉低,用来选中外接设备,
S3C2440通过8根选信号线和27根地址线,就可以访问1GB。如图2-48所示。



2-48 S3C2440存储器BANK
如图所示,左侧图对应不使用Nandflash启动时(通过跳线设置),存储器Bank分布图,通常在这种启动方式里选择Norflash启动,将Norflash焊接在Bank0
系统上电后,CPUBank0的开始地址0x00000000开始取指运行。

上图右侧是选择从Nandflash引导启动(通过跳线设置),系统上电后,CPU会自动将Nandflash里前4K的数据复制到S3C2440内部一个4K大小
SRAM类型存储器里(叫做Steppingstone),然后从Steppingstone取指启动。

其中Bank0~Bank5可以焊接ROMSRAM类型存储器,Bank6~Bank7可以焊接ROMSRAMSDRAM类型存储器,也就是说,S3C2440SDRAM内存应该焊接在Bank6~Bank7上,最大支持内存256MBank0~Bank5通常焊接一些用于引导系统启动小容量ROM,具体焊接什么样存储器,多大容量,根据每个开发板生产商不同而不同,比如MINI2440开发板将2MNorflash焊接在了Bank0上,用于存放系统引导程序Bootloader,将两片32M16Bit位宽SDRAM内存焊接在Bank6Bank7上,并联形成64M32位内存。
由于S3C244032位芯片,理论上讲可以达到4GB的寻址范围,除去上述8BANK用于连接外部设备,还有一部分的地址空间是用于设备特殊功能寄存器,其余地址没有被使用。
2-14 S3C2440设备寄存器地址空间
外接设备
起始地址
结束地址

存储控制器

0x48000000

0x48000030

USB Host控制器

0x49000000

0x49000058

中断控制器

0x4A000000

0x4A00001C

DMA

0x4B000000

0x4B0000E0

时钟和电源管理

0x4C000000

0x4C000014

LCD控制器

0x4D000000

0x4D000060

NAND FLASH控制器

0x4E000000

0x4E000014

摄像头接口

0x4F000000

0x4F0000A0

UART

0x50000000

0x50008028

脉宽调制计时器

0x51000000

0x51000040

USB设备

0x52000140

0x5200026F

WATCHDOG计时器

0x53000000

0x53000008

IIC控制器

0x54000000

0x5400000C

IIS控制器

0x55000000

0x55000012

I/O端口

0x56000000

0x560000B0

实时时钟RTC

0x57000040

0x5700008B

A/D转换器

0x58000000

0x58000010

SPI

0x59000000

0x59000034

SD接口

0x5A000000

0x5A000040

AC97音频编码接口

0x5B000000

0x5B00001C

1.1.2  
SDRAM内存工作原理SDRAM的内部是一个存储阵列。阵列就如同表格一样,将数据“填”进去。在数据读写时和表格的检索原理一样,先指定一个行(Row),再指定一个列
Column),我们就可以准确地找到所需要的单元格,这就是内存芯片寻址的基本原理,如图2-49所示。



2-49内存行,列地址寻址示意图
返回列表