您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 嵌入式系统原理及应用教程第5章
嵌入式系统原理及应用教程主讲内容第1章嵌入式系统概述第2章ARM微处理器概述与编程模型第3章ARM9指令系统第4章嵌入式程序设计基础第5章嵌入式内部可编程模块第6章嵌入式接口技术应用第7章软件开发环境第5章嵌入式内部可编程模块S3C2440A内部除了ARM920T内核外,还包括很多模块如:存储器I/O端口中断系统看门狗RTCTimer部件UARTADC及触摸屏接口其中许多是可编程控制的,下面将介绍其中的重要模块。5.1存储控制模块嵌入式系统中,存储系统差别很大,可包含多种类型的存储器件,如FLASH,SRAM,SDRAM,ROM等,这些不同类型的存储器件速度和宽度等各不相同;在访问存储单元时,可能采取平板式的地址映射机制对其操作,或需要使用虚拟地址对其进行读写;系统中,需引入存储保护机制,增强系统的安全性。为适应如此复杂的存储体系要求,ARM处理器中引入了存储管理单元来管理存储系统。5.1.1存储器控制器S3C2440A片内集成了存储器控制器,提供了访问存储器所需的全部控制信号。1.外部存储空间特点S3C2440A芯片外部可寻址的存储空间是1GB,被分成8个存储模块,每块128MB。如图5-1所示。S3C2440A外部存储空间有如下特点:支持小端/大端模式。8个存储块中,其中6个用于ROM,SRAM;2个用于ROM、SRAM、SDRAM。8个存储块中,其中7个有固定的起始地址;最后1个起始地址可调整。并且最后2个存储块的大小可以编程。所有存储器块的访问周期可编程。可用nWAIT(等待)信号来扩展外部存储器的读/写周期。在SDRAM中支持自主刷新和省电模式。5.1.1存储器控制器OM(1:0)=000x40000_00000x3800_00000x3000_00000x2800_00000x2000_00000x1800_00000x1000_00000x800_00000x0000_0000BOOTInternalSRAM(4KB)128M128M128M128M128M2M/4M/8M/16M/32M/64M/128M2M/4M/8M/16M/32M/64M/128M1GBHADDR[29:0]AccessibleRegion128MOM(1:0)=01,10SROM/SDRAM(nGCS7)SROM/SDRAM(nGCS6)SROM(nGCS5)SROM(nGCS4)SROM/SDRAM(nGCS3)SROM(nGCS2)SROM(nGCS1)SROM(nGCS0)SROM/SDRAM(nGCS7)SROM/SDRAM(nGCS6)SROM(nGCS5)SROM(nGCS4)SROM/SDRAM(nGCS3)SROM(nGCS2)SROM(nGCS1)图5-1S3C2440存储空间分配图5.1.1存储器控制器0号存储块可以外接SDRAM类型的存储器或者具有SDRAM接口特性的ROM存储器,其数据总线宽度应设定为16位或32位中的一种。因为0号存储块作为启动ROM区工作时,存储块的总线宽度应该在第一次ROM访问之前被决定,其依赖于OM[0:1]在重启时的逻辑电平,如表5-1所示。5.1.1存储器控制器OM1(操作模式1)OM2(操作模式2)启动ROM数据宽度00NandFlash模式0116位103211测试模式表5-1OM[0:1]逻辑电平的作用5.1.1存储器控制器1号存储块到5号存储块也可以外接SRAM类型的存储器或者具有SDRAM接口特性的ROM存储器,其数据总线宽度应设定为8位、16位或32位。6号存储块、7号存储块可以外接SDRAM类型的存储器,它们的块容量可改变,且7号存储块的起始地址也可改变,如表5-2所示。由于数据总线的宽度可以设置位8/16/32位中的一种,因此S3C2440A的地址总线与存储块地址线的连接有3种不同的方法,如表5-3所示。如表5-3所示,当数据总线为8位时,S3C2440A地址总线A0与存储块A0连接,地址总线A1连接。当数据总线为16位或32位时,地址总线A0不用,地址总线A1与存储块地址线A0连接,地址总线A2与存储块A1连接,依此类推。5.1.1存储器控制器OM(1:0)=000x40000_00000x3800_00000x3000_00000x2800_00000x2000_00000x1800_00000x1000_00000x800_00000x0000_0000BOOTInternalSRAM(4KB)128M128M128M128M128M2M/4M/8M/16M/32M/64M/128M2M/4M/8M/16M/32M/64M/128M1GBHADDR[29:0]AccessibleRegion128MOM(1:0)=01,10SROM/SDRAM(nGCS7)SROM/SDRAM(nGCS6)SROM(nGCS5)SROM(nGCS4)SROM/SDRAM(nGCS3)SROM(nGCS2)SROM(nGCS1)SROM(nGCS0)SROM/SDRAM(nGCS7)SROM/SDRAM(nGCS6)SROM(nGCS5)SROM(nGCS4)SROM/SDRAM(nGCS3)SROM(nGCS2)SROM(nGCS1)图5-1S3C2440存储空间分配图5.1.1存储器控制器地址2MB4MB8MB16MB32MB64MB128MB6号地址起始地址0x3000_00000x3000_00000x3000_00000x3000_00000x3000_00000x3000_00000x3000_0000地址起始0x301f_ffff0x303f_ffff0x307f_ffff0x30ff_ffff0x31ff_ffff0x33ff_ffff0x37ff_ffff7号地址地址起始0x3020_00000x3040_00000x3080_00000x3100_00000x3200_00000x3400_00000x3800_0000结束地址0x303f_ffff0x307f_ffff0x30ff_ffff0x31ff_ffff0x33ff_ffff0x37ff_ffff0x3fff_ffff表5-26号和7号存储块地址5.1.1存储器控制器存储器地址引脚S3C2440A地址@8位数据总线S3C2440A地址@16位数据总线S3C2440A地址@32位数据总线A0A0A1A1A1A1A2A2……………表5-3地址总线与存储块地址线的连接5.1.1存储器控制器2.存储器控制器特殊功能寄存器(1)总线宽度和WAIT控制寄存器总线宽度和WAIT控制寄存器(BWSCON)用于设定各个存储块的数据宽度及WAIT使能。地址为0x48000000,复位后的值为0x000000,此寄存器可读可写。寄存器的具体定义见表5-4所示。5.1.1存储器控制器引脚名称位描述初始值ST7[31]SRAM对7号存储块是否使用UB/LB控制位。0=不使用UB/LB(引脚对应nWBE[3:0]);1=使用UB/LB(引脚对应nBE[3:0])。0WS7[30]7号存储块的等待状态控制位。0=WAIT不使能;1=WAIT使能。0DW7[29:28]7号存储块的数据总线宽度控制位。00=8bit;01=16bit;10=32bit;11=保留。0ST6[27]SRAM对6号存储块是否使用UB/LB控制位。0=不使用UB/LB(引脚对应nWBE[3:0]);1=使用UB/LB(引脚对应nBE[3:0])。0WS6[26]6号存储块的等待状态控制位。0=WAIT不使能;1=WAIT使能。0DW6[25:24]决定对于6号存储块的数据总线宽度。00=8bit;01=16bit;10=32bit;11=保留。0ST5[23]SRAM对5号存储块是否使用UB/LB控制位。0=不使用UB/LB(引脚对应nWBE[3:0]);1=使用UB/LB(引脚对应nBE[3:0])。0表5-4BWSCON寄存器定义5.1.1存储器控制器WS5[22]5号存储块的等待状态控制位。0=WAIT不使能;1=WAIT使能。DW5[21:20]5号存储块的数据总线宽度控制位。00=8bit;01=16bit;10=32bit;11=保留。ST4[19]SRAM对4号存储块是否使用UB/LB控制位。0=不使用UB/LB(引脚对应nWBE[3:0]);1=使用UB/LB(引脚对应nBE[3:0])。WS4[18]4号存储块的等待状态控制位。0=WAIT不使能;1=WAIT使能。DW4[17:16]4号存储块的数据总线宽度控制位。00=8bit;01=16bit;10=32bit;11=保留。ST3[15]决定SRAM对3号存储块是否使用UB/LB。0=不使用UB/LB(引脚对应nWBE[3:0]);1=使用UB/LB(引脚对应nBE[3:0])WS3[14]3号存储块的等待状态控制位。0=WAIT不使能;1=WAIT使能。DW3[13:12]3号存储块的数据总线宽度控制位。00=8bit;01=16bit;10=32bit;11=保留。5.1.1存储器控制器ST2[11]SRAM对2号存储块是否使用UB/LB控制位。0=不使用UB/LB(引脚对应nWBE[3:0]);1=使用UB/LB(引脚对应nBE[3:0])。WS2[10]2号存储块的等待状态控制位。0=WAIT不使能;1=WAIT使能。DW2[9:8]2号存储块的数据总线宽度控制位。00=8bit;01=16bit;10=32bit;11=保留。ST1[7]SRAM对1号存储块是否使用UB/LB控制位。0=不使用UB/LB(引脚对应nWBE[3:0]);1=使用UB/LB(引脚对应nBE[3:0])。WS1[6]1号存储块的等待状态控制位。0=WAIT无效;1=WAIT使能。DW1[5:4]1号存储块的数据总线宽度控制位。00=8bit;01=16bit;10=32bit;11=保留。DW0[2:1]0号存储块的数据总线宽度控制位。00=8bit;01=16bit;10=32bit;11=保留。Reserved[0]保留为05.1.1存储器控制器(2)存储块控制寄存器每个存储块对应一个控制寄存器(即BANK控制寄存器),0号存储块~5号存储块对应BANKCON0~BANKCON5,其地址分配见表5-5所示;BANKCON0~BANKCON5寄存器每位的定义如表5-6所示。5.1.1存储器控制器寄存器地址读写描述复位值BANKCON00x48000004R/W0号存储块控制寄存器0x0700BANKCON10x48000008R/W1号存储块控制寄存器0x0700BANKCON20x4800000CR/W2号存储块控制寄存器0x0700BANKCON30x48000010R/W3号存储块控制寄存器0x0700BANKCON40x48000014R/W4号存储块控制寄存器0x0700BANKCON50x48000018R/W5号存储块控制寄存器0x0700表5-5BANKCON0~BANKCON5地址分配表5.1.1存储器控制器引脚名称位描述初始值Tacs[14:13]确定nGCSn信号有效之前,建立有效地址的时间。00=0时钟周期;01=1时钟周期;10=2时钟周期;11=4时钟周期。00Tcos[12:11]确定nOE信号有效之前,建立时间。00=0时钟周期;01=1时钟周期;10=2时钟周期;11=4时钟周期。00Tacc[10:8]访问周期控制位,当nWAIT信号被使用,Tacc大于等于4时钟周期。000=1时钟周期;001=2时钟周期;010=3时钟周期;011=4时钟周期;100=6时钟周期;101=8时钟周期;110=10时钟周期;111=14时钟周期;111表5-6BANK控制寄存器定义5.1.1存储器控制器引脚名称位描述初始值Tcoh[7:6]确定nOE信号失效后,保持时间。00=0时钟周期;01=1时钟周期;10=2时钟周
本文标题:嵌入式系统原理及应用教程第5章
链接地址:https://www.777doc.com/doc-6008684 .html