第4章 存储系统机制及存储器接口课件_第1页
第4章 存储系统机制及存储器接口课件_第2页
第4章 存储系统机制及存储器接口课件_第3页
第4章 存储系统机制及存储器接口课件_第4页
第4章 存储系统机制及存储器接口课件_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、LOGO1第四章第四章 存储系统机制存储系统机制 及存储器接口及存储器接口v存储器是嵌入式系统中的主要硬件部件,用于存存储器是嵌入式系统中的主要硬件部件,用于存储指令码及相关的数据。储指令码及相关的数据。v目前有许多嵌入式目前有许多嵌入式CPU芯片内部集成有一定容量芯片内部集成有一定容量的的易失性易失性及及非易失性非易失性的存储器。但也有需要扩展的存储器。但也有需要扩展外部存储器芯片的。外部存储器芯片的。 v总线是把微处理器与存储器、总线是把微处理器与存储器、I/O端口及设备相端口及设备相连接的信息通道,但总线并不仅仅指的是一束信连接的信息通道,但总线并不仅仅指的是一束信号线,而应包含相应的通

2、信协议和规则。号线,而应包含相应的通信协议和规则。v在嵌入式系统中,按照使用场合的不同,我们可在嵌入式系统中,按照使用场合的不同,我们可以把总线分成:以把总线分成:v(1)片上总线)片上总线v(2)板级总线)板级总线v(3)系统级总线)系统级总线 AMBA总线v片上总线即是微处理器芯片内部的总线,典型的片上总线即是微处理器芯片内部的总线,典型的如如ARM公司提出的公司提出的AMBA总线。总线。 AMBA总线vAMBA是是Advanced Microcontroller Bus Architecture的缩写,是一种开放的,用于高的缩写,是一种开放的,用于高性能嵌入式系统中的总线规范。性能嵌入式

3、系统中的总线规范。vAMBA总线规范总线规范2.0版本中包含了版本中包含了4个部分个部分:AHB、ASB、APB和和Test Methodology。其中:。其中: AHB是是Advanced High Performace Bus的缩写,用于芯片的缩写,用于芯片内高性能系统模块连接的总线,支持突发模式数据传输和事务处理。内高性能系统模块连接的总线,支持突发模式数据传输和事务处理。 ASB是是Advanced System Bus的缩写,也是用于芯片内高性的缩写,也是用于芯片内高性能系统模块的连接,支持突发模式数据传输。这是早期的系统总线格能系统模块的连接,支持突发模式数据传输。这是早期的系统

4、总线格式,现在由式,现在由AHB取代。取代。v APB是是Advanced PeriPheral Bus的缩写,是用于芯片内较的缩写,是用于芯片内较低性能的低性能的I/O部件或模块的连接,一般是作为部件或模块的连接,一般是作为ARM系列微处理器芯系列微处理器芯片中二级总线用。片中二级总线用。v Test Methodology是是AMBA总线规范中所制定的测试方法。总线规范中所制定的测试方法。 板级总线v板级总线是指板卡中芯片与芯片之间、或者板卡板级总线是指板卡中芯片与芯片之间、或者板卡与板卡之间的连接总线。典型的如与板卡之间的连接总线。典型的如PC-104总线、总线、PCI总线等。总线等。v

5、但是,嵌入式系统由于受到应用条件的约束,特但是,嵌入式系统由于受到应用条件的约束,特别是体积方面的约束,因此,在构建板级目标系别是体积方面的约束,因此,在构建板级目标系统时,往往并未采用标准化的总线,而是直接完统时,往往并未采用标准化的总线,而是直接完成芯片与芯片引脚间的连接。成芯片与芯片引脚间的连接。v嵌入式系统的板级目标系统硬件平台设计时,主嵌入式系统的板级目标系统硬件平台设计时,主要完成的任务是把微处理器芯片与其它芯片进行要完成的任务是把微处理器芯片与其它芯片进行有机的连接。有机的连接。 S3C2410是韩国三星公司推出的16/32位RISC微控制器,其CPU采用的是ARM920T内核,

6、加上丰富的片内外设,为手持设备和其它应用,提供了低价格、低功耗、高性能微控制器的解决方案。一、主要特性v具有16KB指令Cache、 16KB数据Cache和存储器管理单元MMU。v外部存储器控制器,可扩展8组,每组128MB,总容量达1GB;支持从Nand flash存储器启动。v 55个中断源,可以设定1个为快速中断,有24个外部中断,并且触发方式可以设定。v 4通道的DMA,并且有外部请求引脚。v 3个通道的UART,带有16字节的TX/RX FIFO,支持IrDA1.0功能。v 具有2通道的SPI、1个通道的IIC串行总线接口和1个通道的IIS音频总线接口。v 有2个USB主机总线的端

7、口,1个USB设备总线的端口。v 有4个具有PWM功能的16位定时器和1个16位内部定时器。v 8通道的10位A/D转换器,最高速率可达500kB/s;提供有触摸屏接口。v 具有117个通用I/O口和24通道的外部中断源。v 兼容MMC的SD卡接口。v 具有电源管理功能,可以使系统以普通方式、慢速方式、空闲方式和掉电方式工作。v 看门狗定时器。v 具有日历功能的RTC。v 有LCD控制器,支持4K色的STN和256K色的TFT,配置有DMA通道。v 具有PLL功能的时钟发生器,时钟频率高达203MHz。v 双电源系统:1.8/2.0V内核供电,3.3V存储器和I/O供电。二、系统结构主要由两大

8、部分构成:ARM920T内核片内外设。1、ARM920T内核由三部分:ARM9内核ARM9TDMI、32KB的Cache、MMU。2、片内外设分为高速外设和低速外设,分别用AHB总线和APB总线。封装与引脚信号:S3C微控制器是289-FBGA封装其信号可以分成:addr0-addr26、Data0-data31、GPA0-GPA22GPB10、GPC15、GPD15、GPE15、GPF7、GPG15、GPH10、EINT23、nGCS0nGCS7、AIN7、IIC、SPI、OM0-OM3等,大部分都是复用的v(3)控制类信号引脚)控制类信号引脚 又可以分成几个子类:又可以分成几个子类: 1、

9、总线控制信号、总线控制信号 OM1、OM0:这:这2根信号线是根信号线是S3C2440的模式选择信号引脚,用的模式选择信号引脚,用来确定芯片的模式以及数据线的宽度。来确定芯片的模式以及数据线的宽度。v OM1:0所决定的启动方式v OM1:0=00时,处理器从NAND Flash启动v OM1:0=01时,处理器从16位宽度的ROM启动v OM1:0=10时,处理器从32位宽度的ROM启动。v OM1:0=11时,处理器从Test Mode启动。v(3)控制类信号引脚)控制类信号引脚 又可以分成几个子类:又可以分成几个子类: 1、总线控制信号、总线控制信号 nWE(输出引脚):写使能信号,用来

10、指示当前总线周期为写周期。(输出引脚):写使能信号,用来指示当前总线周期为写周期。 nOE:读使能信号引脚,用来指示当前总线周期为读周期。:读使能信号引脚,用来指示当前总线周期为读周期。 nWAIT(输入引脚):等待信号引脚,用来请求延长当前周期。(输入引脚):等待信号引脚,用来请求延长当前周期。 nXBREQ(输入引脚):总线请求。(输入引脚):总线请求。 nXBACK(输出引脚):总线应答。(输出引脚):总线应答。 2、NAND Flash控制信号控制信号 3 、SDRAM控制信号控制信号 v(4)I/O部件接口引脚部件接口引脚 这类功能的引脚有许多,主要是完成相应的接口部件功能,这类功能

11、的引脚有许多,主要是完成相应的接口部件功能,例如:例如:UART的串口通信引脚、的串口通信引脚、LCD显示器接口引脚、摄显示器接口引脚、摄像头接口引脚等。像头接口引脚等。v(5)其它功能类引脚)其它功能类引脚 其它功能类引脚主要包括:其它功能类引脚主要包括:JTAG调试接口引脚、复位调试接口引脚、复位引脚、时钟电路引脚、以及电源引脚等。引脚、时钟电路引脚、以及电源引脚等。 JTAGJTAG概述概述 JTAGJTAG是是Joint Test Action GroupJoint Test Action Group(联合测试行动(联合测试行动组)的简称。组)的简称。IEEE1149.1IEEE114

12、9.1标准标准是由是由JTAGJTAG这个组织最初提出这个组织最初提出来的,最终由来的,最终由IEEEIEEE批准并标准化的,所以,批准并标准化的,所以,IEEE1149.1IEEE1149.1标标准也俗称准也俗称JTAGJTAG标准。标准。 JTAGJTAG标准主要用于标准主要用于芯片内部测试及对系统进行仿芯片内部测试及对系统进行仿真、调试真、调试。在芯片内部封装专门的电路测试访问接口。在芯片内部封装专门的电路测试访问接口(TAPTAP),通过专用的),通过专用的JTAGJTAG测试工具对内部节点进行测试。测试工具对内部节点进行测试。 目前,大多数复杂的器件都支持目前,大多数复杂的器件都支持

13、JTAGJTAG协议,如协议,如ARMARM、DSPDSP、FPGAFPGA等。等。JTAG接口的IC内部结构含含JTAG接口接口的IC的IC芯片芯片内核逻辑内核逻辑数据寄存器指令寄存器旁路寄存器测试访问端口(TAP)控制器TDITMSTDOTCKGndVcc芯片引脚边界扫描寄存器(扫描单元)ARM处理器的实时JTAG仿真器与开发板的连线图1 1)1414针针JTAGJTAG接口定义接口定义引引 脚脚名名 称称描描 述述1、13VCC接电源接电源3nTRST测试系统复位信号测试系统复位信号5TDI测试数据串行输入测试数据串行输入7TMS测试模式选择测试模式选择9TCK测试时钟测试时钟11TDO

14、测试数据串行输出测试数据串行输出12NC未连接未连接其他其他GND接地接地接口电路设计接口电路设计2 2)2020针针JTAGJTAG接口定义接口定义引引 脚脚名名 称称描描 述述1VTref目标板参考电压,接电源目标板参考电压,接电源2VCC接电源接电源3nTRST测试系统复位信号测试系统复位信号5TDI测试数据串行输入测试数据串行输入7TMS测试模式选择测试模式选择9TCK测试时钟测试时钟11RTCK测试时钟返回信号测试时钟返回信号13TDO测试数据串行输出测试数据串行输出15nRESET目标系统复位信号目标系统复位信号17、19NC未连接未连接其他其他GND接地接地S3C2440的的时钟

15、控制逻辑时钟控制逻辑能够产生系统所需要的时钟,包括能够产生系统所需要的时钟,包括 CPU的的FCLK,AHB总线接口的总线接口的HCLK,和,和 APB总线接口的总线接口的PCLK。 S3C2440A有两个有两个PLL(MPLL和和UPLL) ,一个,一个MPLL用用于于FCLK,HCLK,PCLK,另一个,另一个UPLL用于用于USB模块模块(48MHZ)。)。 FCLK用于用于 ARM920T; HCLK用于用于 AHB总线总线(包括(包括 ARM920T,存储控,存储控制器,中断控制器,制器,中断控制器,LCD控制器,控制器,DMA和和 USB主主机);机); PCLK 用于用于APB总

16、线总线 (包括外设如(包括外设如WDT,IIS,I2C,PWM, PWM,TIMER, MMC, ADC, UART, GPIO, RTC, SPI)。)。 主时钟源由主时钟源由一个外部晶振一个外部晶振或者或者外部时钟外部时钟产生。产生。 时钟源选择时钟源选择 下表 描述了模式控制引脚(OM3和和OM2)和选择时钟源之间的对应关系。OM3:2=00OM3:2=00时,时,MPLLMPLL和和UPLLUPLL的时钟均选择的时钟均选择外部振荡器外部振荡器; S3C2440S3C2440OM3OM2OM3:2=11时,时,MPLL和和UPLL的时钟均选择的时钟均选择外部时钟源外部时钟源。VDDOM3

17、OM2S3C2440S3C2440v 外部振荡器晶振电路设计外部振荡器晶振电路设计X212MHz12C11415pF12C11315pFX332.768kHz12C12022pF12C11922pFA) X-TALB) RTC ClockXTIpllXTOpllXTIrtcXTOrtc 外部振荡器电路有外部振荡器电路有12MHz晶振和晶振和2个个15pF的微调电容组成,的微调电容组成,12MHz的时钟信号经过片内的的时钟信号经过片内的PLL倍频可以达到倍频可以达到203MHz。系统所需要的系统所需要的RTC时钟采用相同的方式。时钟采用相同的方式。 复位电路可以使用简单的复位电路可以使用简单的阻

18、容复位(阻容复位(RC)RC),这个电,这个电路成本低廉,但不能保证任何情况产生稳定可靠的复位路成本低廉,但不能保证任何情况产生稳定可靠的复位信号,所以一般场合需要使用专门的复位芯片。信号,所以一般场合需要使用专门的复位芯片。 阻容复位电路阻容复位电路S3C2410nRESETVDD10k10uF复位电路其它板级总线标准v(1)PC-104总线总线 PC-104总线是专门为控制领域的应用而定义的嵌入式总线是专门为控制领域的应用而定义的嵌入式系统总线,它支持采用堆栈结构的总线形式,通过系统总线,它支持采用堆栈结构的总线形式,通过PC-104总线,可以把各板卡叠加在一起,从而构建小型的、总线,可以

19、把各板卡叠加在一起,从而构建小型的、高可靠性的嵌入式系统。高可靠性的嵌入式系统。 v(2)STD总线总线 STD总线也是在工业控制领域被使用的一总线也是在工业控制领域被使用的一种嵌入式系统板级总线种嵌入式系统板级总线 v(3)PCI总线总线 PCI总线是总线是PC机中被广泛使用的板级总线标准。在有些机中被广泛使用的板级总线标准。在有些嵌入式系统中,也会采用嵌入式系统中,也会采用PCI总线作为其板级总线。总线作为其板级总线。 v一、存储系统的组织结构一、存储系统的组织结构v在复杂的嵌入式系统中,存储系统的组织结构按在复杂的嵌入式系统中,存储系统的组织结构按作用可以划分为作用可以划分为4级:寄存器

20、、级:寄存器、cache(缓存(缓存区)、主存储器和辅助存储器。如下图所示。区)、主存储器和辅助存储器。如下图所示。 v注:对于简单的嵌入注:对于简单的嵌入式系统来说,没有必式系统来说,没有必要把存储器系统设计要把存储器系统设计成成4级,最简单的嵌入级,最简单的嵌入式系统只需要寄存器式系统只需要寄存器和主存储器即可。和主存储器即可。 存储系统v寄存器寄存器是包含在微处理器核内部的,是微处理器是包含在微处理器核内部的,是微处理器核的重要组成部分,它用来作指令执行时的数据核的重要组成部分,它用来作指令执行时的数据存放单元。存放单元。vCache是高速缓存,通常又分成数据缓存和指令是高速缓存,通常又

21、分成数据缓存和指令缓存缓存2种。种。v主存储器主存储器是程序执行代码及数据的存放区,通常是程序执行代码及数据的存放区,通常存放指令代码的存储器是非易失性的存储器。存放指令代码的存储器是非易失性的存储器。v辅助存储器辅助存储器通常用来存储大容量数据,或者作为通常用来存储大容量数据,或者作为程序代码的备份存储空间,由程序代码的备份存储空间,由NAND Flash类类型的非易失性存储器芯片来承担。型的非易失性存储器芯片来承担。 三、存储管理单元v 在复杂的嵌入式系统设计时,越来越多的会选用带有存储在复杂的嵌入式系统设计时,越来越多的会选用带有存储管理单元(管理单元(MMU)的微处理器芯片。)的微处理

22、器芯片。v MMU完成的主要功能有:完成的主要功能有:(1)将主存地址从虚拟存储空间映射到物理存储空间。)将主存地址从虚拟存储空间映射到物理存储空间。(2)存储器访问权限控制。)存储器访问权限控制。(3)设置虚拟存储空间的缓冲特性等。)设置虚拟存储空间的缓冲特性等。 用于存储管理的系统控制协处理寄存器CP15v 在基于ARM的嵌入式系统中,存储系统通常使用CP15来完成存储器的大部分管理工作;除了CP15之外,在具体的存储机制中可能还会用到其他技术如:页表技术等。v CP15可以保护16个32位的寄存器,编号015。实际上对于某些编号的寄存器可能对应有多个物理寄存器,在指令中指定特定的标志位来

23、区分相应的寄存器。v MCR:写协处理器指令,将ARM中的Rn寄存器的值写入协处理 器的Cn中。 MRC:读协处理器指令,将协处理器的Cn寄存器的值读入ARM 的Rn中。MCR 写CP15v 指令语法 MCR cond p15, , , v OP1为协处理器将执行的操作的代码。对于CP15来说,该值必须为0;v Rd为源寄存器,其值将被传送到协处理器中;该寄存器不能为PC;v CRn是协处理器的目标寄存器,可以是C0-15;v CRm是附加的目标寄存器或源操作数寄存器,用于区分同一编号的不同物理寄存器,当指令中不需要附加信息时要将C0指定为CRm;v OP2也提供附加信息,用于区分同一编号的不

24、同物理寄存器,当指令中不需要附加信息时,可以省略或者将其置0。MCR 写CP15 MCRP15, 0, R4, C1, C0, 0v 上述指令从ARM寄存器R4中将数据传送到协处理器CP15的寄存器C1中。其中R4为ARM寄存器,存放源操作数;C1和C0为协处理器寄存器,为目标寄存器;操作码1为0,操作码附加信息也为0。MRC 读CP15v 指令语法 MRC cond p15, , , v OP1为协处理器将执行的操作的代码。对于CP15来说,该值必须为0;v Rd为目标寄存器,指令处理的结果将存放在该寄存器中;v CRn是协处理器寄存器,存放第一个源操作数;v CRm是附加的源操作数寄存器,

25、用于区分同一编号的不同物理寄存器,当指令中不需要附加信息时要将C0指定为CRm;v OP2也提供附加信息,用于区分同一编号的不同物理寄存器,当指令中不需要附加信息时,可以省略或者将其置0。CP15寄存器列表编号基本作用在MMU中的作用在PU中的作用0ID编码(只读)ID编码和Cache类型1控制位(可读可写)各种控制位2存储保护和控制地址转换表基地址Cachability控制位3存储保护和控制域(domain)访问控制位Bufferability控制位4存储保护和控制保留保留5存储保护和控制内存失效状态访问权限控制位6存储保护和控制内存失效地址保护区域控制7高速缓存和写缓存高速缓存和写缓存控制

26、8存储保护和控制TLB控制保留9高速缓存和写缓存高速缓存锁定10存储保护和控制TLB锁定保留11保留12保留13进程标示符进程标示符14保留15因不同设计而异因不同设计而异因不同设计而异CP15寄中的寄存器C0v 存放ARM相关的一些标识符,C0只读,当MRC指令中制定不同的opcode2时,获取到的是不同的标识符:v opcode2编码对应的标识符寄存器v 0主标识符寄存器v 1Cache类型标识符寄存器v 其他保留v 示例:MRC P15, 0, R0, C0, C0, 0 ;将该ARM芯片的标示符读取到ARM寄存器R0中。v 示例:MRC P15, 0, R0, C0, C0, 1 ;将

27、该ARM芯片的cache类型读取到ARM寄存器R0中。CP15中的寄存器C1控制寄存器,包括以下控制功能:控制寄存器,包括以下控制功能:l 禁止禁止/使能使能MMU以及其他的与存储系统相关的功能。以及其他的与存储系统相关的功能。l 配置存储系统及配置存储系统及ARM处理器中相关部分的工作方式。处理器中相关部分的工作方式。l使用使用MCR或或MRC时,时,CRm和和opcode2都为都为0。 MCR p15,0,R0,C1,0,0 MRC p15,0,R3,C1,0,031 161514131211109876543210SBZP/UNPL4 RR VIZFRSBLDPWCAMM(bit0):

28、使能使能MMU, 0 = 禁止禁止MMU, 1 = 允许允许MMUA(bit1): 使能地址对齐检查使能地址对齐检查, 0 = 禁止禁止, 1 = 允许允许寄存器寄存器C1的的MMU 控制位控制位:CP15中的寄存器C1C(bit2): 当数据和指令cache分开时,使能数据cache,否则使能整个cache。 0 = 禁止, 1 = 使能。W(bit3): 使能写入缓冲, 0 = 禁止, 1 = 使能。P(bit4): 兼容26位地址, 控制PROG32控制信号。0 = 异常中断处理程序进入32位地址模式, 1 = 进入26位模式。D(bit5): 兼容26位地址, 控制DATA32控制信号

29、。 0 = 禁止26位地址异常检查, 1 = 使能。L(bit6): ARMv3及以前版本, 0 = 早期中止模型, 1 = 后期B(bit7): 内存模式, 0 = little-endian, 1 = big-endian。S(bit8): 在基于MMU的存储系统中,用作系统保护。R(bit9): 在基于MMU的存储系统中,用作ROM保护。CP15中的寄存器C1F(bit10): 由生产商定义。Z(bit11): 使能跳转预测, 0 = 禁止, 1 = 使能。I(bit12): 当数据和指令cache分开时,使能指令cache。 0 = 禁止, 1 = 使能。V(bit13): 控制中断向

30、量表的位置。 0 = 0 x00-0 x1c, 1 = 0 xFFFF0000-0 xFFFF001c。RR(bit14): 选择cache的淘汰算法, 0 = 常规淘汰算法, 1 =预测性淘汰算法。L4(bit15): 对于ARMv5及以上版本,兼容以前版本功能,0 =保持当前功能, 1 = 兼容以前版本。存储管理单元MMU概述MMU主要完成以下工作:v 实现虚拟地址空间到物理存储空间的映射;v 存储器访问权限的控制;v 设置虚拟存储空间的缓冲特性。页表(translate table)是实现上述功能的一个重要手段,它实际上是位于内存中的一个对照表。ARM系统中CP15的C2寄存器用来保存页

31、表的基地址。存储管理单元MMU概述v 地址变换条目:页表的每一行对应与虚拟地址空间的一个页,该行同时保含了该虚拟内存页对应的物理内存页的地址、该页的访问权限以及缓冲特性等。我们将页表中的一行称为地址变换条目。v 页表存放在内存中,系统通常有一个寄存器来保存页表的基地址。ARM系统中使用的就是CP15的寄存器C2。v 快表:从虚拟地址到物理地址的转换实际上就是查询页表的过程。由于程序在执行过程中具有局部性,即在一段时间内只是局限在少数几个单元,为了加快页表的查询速度,在系统中通常使用一个容量更小、速度更快的存储器件来保存当前需要访问的地址变换条目,这个容量小的页表又称作快表(TLB)。存储管理单

32、元MMU概述v 快表的使用:v 更新:当CPU需要访问内存时,首先在TLB中查找需要的地址变换条目。若不存在则在内存页表中查询,并把查询的结果添加到TLB中。v 清除:当内存中页表的内容改变或者使用新的页表时,TLB中的内容需要清空。CP15的寄存器C8用于完成该功能。v 锁定:可以将一个地址变换条目锁定在TLB中,以加快访问速度,CP15的寄存器10用于完成该功能。与MMU操作相关的寄存器1控制位(可读可写)各种控制位2存储保护和控制地址转换表基地址Cachability控制位3存储保护和控制域(domain)访问控制位Bufferability控制位4存储保护和控制保留保留5存储保护和控制

33、内存失效状态访问权限控制位6存储保护和控制内存失效地址保护区域控制8存储保护和控制TLB控制保留10存储保护和控制TLB锁定保留MMU中地址变换过程v 虚拟存储空间到物理存储空间的映射是以内存块为单位进行的。根据存储块大小,可以支持多种地址变换。ARM支持的存储块的大小有以下几种:v 段(section):由1MB 的存储器块构成(20位)v 大页(large page):由64KB 的存储器块构成(16位)v 小页(small page):由4KB 的存储器块构成(12位)v 微页(tiny page):由1KB 的存储器块构成(10位)v 通过采用另外的访问控制机制,还可将大页分为16KB

34、的子页;将小页分为1KB的子页;极小页不能再分。MMU中地址变换过程v 在MMU中采用两级页表实现上述地址映射:v 一级页表中包含有以段为单位的地址变换条目以及只想二级页表的指针。一级页表实现的地址映射粒度较大;v 二级页表中包含以大页和小页为单位的地址变换条目。其中一种类型的二级表还包含有极小页为单位的地址变换条目。基于一级页表的地址变换一级页表描述符可能的格式:一级页表描述符可能的格式:基于段地址的映射示意图粗页表中大页的寻址过程粗页表中小页的寻址过程细页表中微页的寻址过程53AP S R 特权模式特权模式 用户模式用户模式0b00 0 0 不能访问不能访问 不能访问不能访问0b00 1

35、0 只读只读 不能访问不能访问0b00 0 1 只读只读 只读只读0b00 1 1 不可预测不可预测 不可预测不可预测0b01 X X 读读/写写 不能访问不能访问0b10 X X 读读/写写 只读只读0b11 X X 读读/写写 读读/写写MMU中的存储访问权限控制存储器接口设计方法 v在构建嵌入式系统的目标硬件平台时,有些微处在构建嵌入式系统的目标硬件平台时,有些微处理器芯片内部没有集成存储器或者集成的存储器理器芯片内部没有集成存储器或者集成的存储器容量不足,那么,就需要外接存储器芯片来构建容量不足,那么,就需要外接存储器芯片来构建所需容量的存储空间。所需容量的存储空间。v下面讨论需要在微

36、处理器下面讨论需要在微处理器芯片外部设计主存储器接芯片外部设计主存储器接口电路的问题,并讨论辅口电路的问题,并讨论辅助存储器的接口电路设计助存储器的接口电路设计问题。问题。 v一、存储器芯片分类一、存储器芯片分类v存储器根据其存取方式分成两大类:随机存储器存储器根据其存取方式分成两大类:随机存储器(RAM)类和只读存储器()类和只读存储器(ROM)类。)类。 v(1)随机存储器(具有易失性的特点)随机存储器(具有易失性的特点) 随机存储器又分为两大类:随机存储器又分为两大类: *静态随机存储器(静态随机存储器(SRAM) *动态随机存储器(动态随机存储器(DRAM vSRAM(静态随机存储器)

37、通俗的说,是在上电(静态随机存储器)通俗的说,是在上电的情况下,其存储内容不会丢失的存储器。它们的情况下,其存储内容不会丢失的存储器。它们通常是以双稳态触发器为基础,数据一经写入,通常是以双稳态触发器为基础,数据一经写入,只要不掉电,数据就一直保存着。只要不掉电,数据就一直保存着。vSRAM芯片内部的存储容量一般不大,通常约在芯片内部的存储容量一般不大,通常约在几几K几百几百K范围内。典型的如:范围内。典型的如:HM62256芯芯片,其容量为片,其容量为32KB。vHM62256芯片引脚:地址线芯片引脚:地址线15根,数据线根,数据线8根,根,控制信号线控制信号线3根(读、写、片选),电源线及

38、地根(读、写、片选),电源线及地线线2根。根。v流行的流行的DRAM类别:类别: SDRAM (Synchronous Dynamic Random Access Memory的缩写的缩写,即同步动态随机存储器即同步动态随机存储器)。v动态存储器中信息是存放在电容上的,需要定时刷动态存储器中信息是存放在电容上的,需要定时刷新,需要有行选通新,需要有行选通RAS、列选通信号、列选通信号CAS,且地址,且地址信号线是复用的。信号线是复用的。vSDRAM在内部结构及使用上与标准在内部结构及使用上与标准DRAM有很大有很大不同。引起不同的基本出发点就是希望不同。引起不同的基本出发点就是希望SDRAM的

39、的速度更快一些,满足微处理器对主存速度的要求。速度更快一些,满足微处理器对主存速度的要求。 vSDRAM的容量经常用的容量经常用XX存储单元存储单元X体体每个存每个存储单元的位数来表示。储单元的位数来表示。 v如:如:HY57V561620是一款是一款SDRAM芯片。其芯片。其容量为:容量为: 4M 4Bank 16b (即(即32MB)。)。v其典型的引脚图如:其典型的引脚图如:v 其中:其中:v A0A12是地址线,行地址和列地址复是地址线,行地址和列地址复用用A0A8。行地址为。行地址为RA0RA12,列,列地址为地址为CA0CA8。v DQ0DQ15是数据线。是数据线。v BA0、BA

40、1是块(是块(Bank)选择线。)选择线。v nRAS:行地址选通信号线。:行地址选通信号线。v nCAS:列地址选通信号线。:列地址选通信号线。v nCS:片选信号引线。:片选信号引线。v(2)只读存储器(具有非易失性的特点)只读存储器(具有非易失性的特点)v只读存储器(只读存储器(ROM)是指那种其内部存储单元)是指那种其内部存储单元中的数据不会随失电而丢失的存储器。在嵌入式中的数据不会随失电而丢失的存储器。在嵌入式系统中,只读存储器中通常存储程序代码和常数。系统中,只读存储器中通常存储程序代码和常数。 v只读存储器通常又分成只读存储器通常又分成EPROM、EEPROM和和闪存(闪存(Fl

41、ash)。)。Flash又有又有NOR Flash和和NAND Flash两大类。两大类。vEPROM类型的芯片目前基本处于淘汰地位,只类型的芯片目前基本处于淘汰地位,只有在一些低端嵌入式系统还在使用。有在一些低端嵌入式系统还在使用。 Flash是目是目前嵌入式系统中使用的主流非易失性存储器。前嵌入式系统中使用的主流非易失性存储器。 v几种几种ROM型芯片外形图。型芯片外形图。EPROM型芯片外形图EEPROM型芯片外形图S3C2410的存储器配置S3C2440的存储器系统 可通过软件选择大小端可通过软件选择大小端 地址空间地址空间:每个每个Bank 128Mbytes (总共总共 1GB)除

42、除 bank0 (16/32-bit) 外,所有的外,所有的Bank都可以都可以通过编程选择总线宽度通过编程选择总线宽度= (8/16/32-bit) 共共 8 个个banksn6个Bank用于控制 ROM, SRAM, etc.n剩余的两个Bank用于控制 ROM, SRAM, SDRAM, etc . 7个个Bank固定起始地址;固定起始地址; 最后一个最后一个Bank可调整起始地址;可调整起始地址; 最后两个最后两个Bank大小可编程大小可编程所有所有Bank存储周期可编程控制;存储周期可编程控制;Bank6/Bank7地址分布Bank6和和Bank7上的存储器大小必须相同上的存储器大小

43、必须相同S3C2410的存储器配置二、存储器接口设计方法v(1)SROM型存储器接口设计方法型存储器接口设计方法vSROM型存储器,是型存储器,是SRAM型存储器、型存储器、EPROM型型存储器、存储器、NOR Flash型存储器的统称。型存储器的统称。 v上述上述3类存储器芯片与微处理器之间的接口电路设计类存储器芯片与微处理器之间的接口电路设计方法是相似的。方法是相似的。 vSROM型存储器接口的信号线一般有:型存储器接口的信号线一般有:v(1)片选信号线)片选信号线CE。 v(2)读)读/写控制信号线。写控制信号线。v(3)若干根地址线。)若干根地址线。v(4)若干根数据线。)若干根数据线

44、。v 接口电路原理框图如右图所示。接口电路原理框图如右图所示。 与1片16位16M的SDRAM的连接方法与2片16位16M的SDRAM的连接方法HY57V561620的结构nHY57V561620存储容量为4M4bank16位(32M字节),工作电压为3.3V,常见封装为54脚TSOP,支持自动刷新(Auto-Refresh)和自刷新(Self-Refresh),16位数据宽度68 10.2.2 HY57V561620的结构n引脚名称nCLK时钟nCKE时钟使能n/CS片选nBA0,BA1组地址选择nA12A0地址总线n/RAS行地址锁n/CAS存列地址锁n/WE存写使能nLDQM,UDQM数

45、据I/O屏蔽nDQ15DQ0数据总线nVDD/VSS 电源/地nVDDQ/VSSQ电源/地nNC未连接69二、存储器的控制寄存器内存控制器为访问外部存储空间提供存储器控制信号, S3C2440存储器控制器共有13个寄存器。寄存器地 址功 能操作复位值BWSCON0 x48000000总线宽度和等待控制读/写0 x0BANKCON00 x48000004BANK0控制读/写0 x0700BANKCON10 x48000008BANK1控制读/写0 x0700BANKCON20 x4800000CBANK2控制读/写0 x0700BANKCON30 x48000010BANK3控制读/写0 x07

46、00BANKCON40 x48000014BANK4控制读/写0 x0700BANKCON50 x48000018BANK5控制读/写0 x0700BANKCON60 x4800001CBANK6控制读/写0 x18008BANKCON70 x48000020BANK7控制读/写0 x18008REFRESH0 x48000024SDRAM刷新控制读/写0 xAC0000BANKSIZE0 x48000028可变的组大小设置读/写0 x0MRSRB60 x4800002CBANK6模式设置读/写xxxMRSRB70 x48000030BANK7模式设置读/写xxx第第9次到次到 此此此此1、总

47、线宽度和等待控制寄存器313029 28 272625242322212019181716ST7 WS7DW7ST6 WS6DW6ST5 WS5DW5ST4 WS4DW41514131211109876543210ST3 WS3DW3ST2 WS2DW2ST1 WS1DW1XDW0XSTn:控制存储器组n的UB/LB引脚输出信号。1:使UB/LB与nBE3:0相连;0:使UB/LB与nWBE3:0相连WSn:使用/禁用存储器组n的WAIT状态1:使能WAIT;0:禁止WAITDWn:控制存储器组n的数据线宽00:8位;01:16位;10:32位;11:保留Tacs:设置nGCSn有效前地址的建

48、立时间00:0个;01:1个;10:2个;11:4个时钟周期Tcos:设置nOE有效前片选信号的建立时间00:0个;01:1个;10:2个;11:4个时钟周期Tacc:访问周期000:1个;001:2个;010:3个;011:4个时钟100:6个:101:8个;110:10个;111:14个1514131211109876543210TacsTcosTaccTcohTcahTacpPMC2、BANKn-存储器组控制寄存器(n=0-5)31302928272625242322212019181716Tcoh:nOE无效后片选信号的保持时间00:0个;01:1个;10:2个;11:4个时钟Tcah

49、: nGCSn无效后地址信号的保持时间00:0个;01:1个;10:2个;11:4个时钟Tacp:页模式的访问周期00:2个;01:3个;10:4个;11:6个时钟PMC:页模式的配置,每次读写的数据数00:1个;01:4个;10:8个;11:16个注:00为通常模式。注:紫色为实验箱上的配置,其值为0 x0700MT:设置存储器类型00:ROM或者SRAM,3:0为Tacp和PMC;11:SDRAM, 3:0为Trcd和SCAN; 01、10:保留Trcd:由行地址信号切换到列地址信号的延时时钟数00:2个时钟;01:3个时钟;10:4个时钟 SCAN:列地址位数00:8位;01:9位;10

50、:10位 14131211109876543210TacsTcosTaccTcohTcahTacp/TrcdPMC/SCAN3、BANK6/7-存储器组6/7控制寄存器31171615保留MTREFEN:刷新控制。1:使能刷新;0:禁止刷新TREFMD:刷新方式。 1:自刷新0:自动刷新Trp:设置SDRAM行刷新时间(时钟数)00:2个时钟;01:3个;10:3个;11:4个时钟Tsrc:设置SDRAM行操作时间(时钟数)00:4个时钟;01:5个;10:6个;11:7个时钟注: SDRAM的行周期= Trp + Tsrc。Refresh_count:刷新计数值151413121110987

51、6543210保 留Refresh_count4、REFRESH-刷新控制寄存器31242322212019181716保 留REFENTREFMDTrpTsrc保留Refresh_count:刷新计数器值计算公式:刷新周期=(211- Refresh_count+1)/HCLK例子:设刷新周期=15.6s,HCLK=60MHz则刷新计数器值=211+1-6015.6=11131113=0 x459=0b10001011001高24位未用。BURST_EN:ARM突发操作控制0:禁止突发操作;1:可突发操作SCKE_EN:SCKE使能控制SDRAM省电模式0:关闭省电模式;1:使能省电模式SC

52、LK_EN:SCLK省电控制,使其只在SDRAM访问周期内使能SCLK0:SCLK一直有效;1:SCLK只在访问期间有效BK76MAP:控制BANK6/7的大小及映射76543210BURST_ENXSCKE_EN SCLK_ENXBK76MAP5、BANKSIZE-BANK6/7组大小控制寄存器BK76MAP:控制BANK6/7的大小及映射100:2MB;101:4MB;110:8MB 111:16MB;000:32MB;001:64MB010:128MBWBL:突发写的长度。0:固定长度;1:保留TM:测试模式。00:模式寄存器集;其它保留CL:列地址反应时间000:1个时钟;010:2个

53、时钟;011:3个时钟;其它保留BT:猝发类型0:连续;1:保留BL:猝发时间000:1个时钟;其它保留6、MRSRB6/7-BANK6/7模式设置寄存器1514131211109876543210WBLTMCLBTBLBANK控制寄存器设置nS3C2440A有8个BANKCONn寄存器,分别对应着Bank0Bank7。Bank6Bank7可以作为SDRAM等类型存储器的映射空间nBANKCONn寄存器在Bank6和Bank7上的位定义nBANKCONn寄存器在MT=11时的相关位定义n nTrcd是从行使能到列使能的延迟,根据S3C2440A的HCLK频率(100M)及HY57V561620

54、特性,此项取01。SCAN为列地址线数量,此项根据HY57V561620特性取01。 803REFRESH 是DRAM/SDRAM刷新控制器 81寄存器设置n4、BANKSIZE寄存器82Nand Flash及其控制器及其控制器主要内容1、Nand Flash控制器概述2、控制器主要特性3、控制器的寄存器4、控制器的工作原理Nand Flash及其控制器及其控制器Nor flash存储器:读速度高,而擦、写速度低,容量小,价格高。 Nand flash存储器:读速度不如Nor flash,而擦、写速度高,容量大,价格低。有取代磁盘的趋势。因此,现在不少用户从Nand flash启动和引导系统,

55、而在SDRAM上执 行主程序代码。一、Nand Flash控制器概述S3C2410X微控制器从Nand flash的引导功能:其内部有一个叫做“起步石(Steppingstone)”的 SRAM缓冲器,系统 启动时,Nand flash存储器的前面4KByte字节将被自动载入到起步石中,然后系统自动执行这些载入的引导代码。引导代 码执行完毕后,自动跳转到SDRAM执行。Nand flash操作的校验功能:使用S3C2410X内部硬件ECC功能可以对Nand flash的数据进行有效性的检测。 二、 Nand Flash控制器主要特性v Nand Flash模式:支持读/擦/编程Nand flash存储器。v 自动导入模式:复位后,引导代码被送入Steppingstone,传送后,引导代码在 Steppingstone中执行。 v 具有硬件ECC(纠错码)功能:硬件产生纠错代码。v内部4KB的SRAM缓冲器Steppingstone,在Nand flash引导后可以作为其他

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论