第九次课硬件系统存储器控制_第1页
第九次课硬件系统存储器控制_第2页
第九次课硬件系统存储器控制_第3页
第九次课硬件系统存储器控制_第4页
第九次课硬件系统存储器控制_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、第九次课硬件系统存储器控制第1页,共44页,2022年,5月20日,13点52分,星期日具备16KB的指令Cache和16KB的数据Cache和MMUARM920T:由内核、高速缓存和内存管理单元(MMU)组成。第2页,共44页,2022年,5月20日,13点52分,星期日高性能嵌入式系统的总线标准 AMBA扩展高速总线AHB外部存储器管理桥接高速外设总线APBAMBA(Advanced Microcontroller Bus Architecture) 标准定义了三组总线:AHB(AMBA高性能总线)、ASB(AMBA系统总线)、和APB(AMBA外设总线)。第3页,共44页,2022年,5

2、月20日,13点52分,星期日1个LCD控制器,支持液晶显示屏;4个通道的DMA,支持存储器和I/O口之间的传输;3个通道的UART;SD卡接口和MMC卡接口;2个USB主机接口,1个USB设备接口;第4页,共44页,2022年,5月20日,13点52分,星期日时钟管理MPLL;16位看门狗定时器;2个SPI接口;串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。s3C2440有两个PLL(锁相环)一个是MPLL,一个是UPLL。MPLL用于CPU及其他外围器件,UPLL用于USB。 第5页,共44页,2022年,5月20日,13点52分,

3、星期日1个中断控制器;电源管理,具有普通、空闲、掉电等模式;1个通道的IIC接口;1个通道IIS总线接口;117位通用I/O口;具有日历功能的RTC;8通道的10位ADC4个有PWM功能的16位定时器第6页,共44页,2022年,5月20日,13点52分,星期日4.2 引脚介绍 S3C2440共有289引脚,采用BGA(细间距球栅阵列)封装,17*17,主要分为总线控制信号、各类元器件接口信号以及电源时钟控制信号。其信号可以分成Addr26:0、Data31:0、nGCS7:0、OM3:0等等,大部分都是复用的第7页,共44页,2022年,5月20日,13点52分,星期日4.3 特殊功能寄存器

4、 寄存器的状态决定硬件如何工作,为了使硬件工作于某种状态,可以通过修改寄存器的值来实现。例如:S3C2440X处理器的工作频率可达400MHz,但决不是只能工作于该频率。可以通过修改内部寄存器的值,使处理器工作在不同的频率下。 在S3C2440的地址空间0 x480000000 x60000000之间,存有大量的SFR(Special Function Registers,特殊功能寄存器)用于实现对内部外围模块的控制。第8页,共44页,2022年,5月20日,13点52分,星期日4.4 最小系统 一个嵌入式处理器自己是不能独立工作的,必须给它供电、加上时钟信号、提供复位信号,如果芯片没有片内程

5、序存储器,则还要加上存储器系统,然后嵌入式处理器芯片才可能工作。这些提供嵌入式处理器运行所必须的条件的电路与嵌入式处理器共同构成了这个嵌入式处理器的最小系统。而大多数基于ARM处理器核的微控制器都有调试接口,这部分在芯片实际工作时不是必需的,但因为这部分在开发时很重要,所以也把这部分也归入最小系统中。 第9页,共44页,2022年,5月20日,13点52分,星期日嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)可选,因为许多面向嵌入式领域的微控制器内部集成了程序和数据存储器最小系统框图可选,但是在样品阶段通常都会设计这部分电路第10页,共44页,2022年,5月20日

6、,13点52分,星期日嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)4.4.1 电源电路设计 电源系统为整个系统提供能量,是整个系统工作的基础,具有极其重要的地位,但却往往被忽略。如果电源系统处理得好,整个系统的故障往往减少了一大半。第11页,共44页,2022年,5月20日,13点52分,星期日 复位模块和端口寄存器所需要的电源:1.8V分析需求 S3C2440A处理器所需要的电源类型: 处理器内核所需电源:1.8V PLL模块所需要的模拟电源和数字电源:1.8V RTC模块为时钟电路提供的电源:1.8V 存储器端口和普通IO口所诩的数字电源:3.3V ADC模块

7、所需要的模拟电源:3.3V 由此可见,在电源系统中,至少需要3.3V和1.8V的两种直流稳压电源,如果对AD要求精度,模拟电源部分需要单独设计。第12页,共44页,2022年,5月20日,13点52分,星期日嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)4.4.2 晶振电路设计 目前所有的微控制器均为时序电路,需要一个时钟信号才能工作,大多数微控制器具有晶体振荡器。 2440的时钟发生器包括一个外部晶振的震荡器和两个锁相环MPLL和UPLL, MPLL用于FCLK(CPU),HCLK(AHB总线),PCLK(PHB总线)时钟系统第13页,共44页,2022年,5月2

8、0日,13点52分,星期日嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)4.4.3 复位电路设计 微控制器在上电时状态并不确定,这造成微控制器不能正确工作。为解决这个问题,所有微控制器均有一个复位逻辑,它负责将微控制器初始化为某个确定的状态。这个复位逻辑需要一个复位信号才能工作。上电复位,用户复位.复位及其配置系统第14页,共44页,2022年,5月20日,13点52分,星期日嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)4.5 JTAG调试接口设计 调试与测试接口不是系统运行必须的,但现代系统越来越强调可测性,调试、测试接口的设计也要重

9、视了。S3C2440A有一个内置JTAG调试接口, 可以对芯片内所有的部件进行访问,通过这个接口可以控制芯片的运行并获取内部信息。 调试测试接口第15页,共44页,2022年,5月20日,13点52分,星期日S3C2440A的存储器控制器提供访问外部存储器所需要的存储器控制信号。 存储器控制器 第16页,共44页,2022年,5月20日,13点52分,星期日 支持小/大端(通过软件选择)地址空间:每bank(组,块)有128M字节(总共有8个banks,共1G字节)除bank0(只能是16/32位宽数据存储)之外,其他bank都具有可编程的访问大小(可以是8/16/32位宽数据存储)总共有8个

10、存储器banks(bank0-bank7)其中6个banks用于ROM,SRAM等. (bank0-bank5)剩下2个banks用于ROM,SRAM,SDRAM等. (bank6-bank7)7个固定的存储器bank(bank0-bank6)起始地址最后一个bank(bank7)的起始地址是可调整的最后两个bank(bank6bank7)的大小是可编程的,且大小必须相等.所有存储器bank的访问周期都是可编程的总线访问周期可以通过插入外部时间等待来延长支持SDRAM的自刷新和掉电模式 第17页,共44页,2022年,5月20日,13点52分,星期日存储器映射 第18页,共44页,2022年,

11、5月20日,13点52分,星期日第19页,共44页,2022年,5月20日,13点52分,星期日 S3C2440的Bank6/7地址分布 地址 2MB 4MB 8MB 16MB 32MB 64MB 128MB Bank6 (S3C2440) 起始地址 0 x30000000 0 x30000000 0 x30000000 0 x30000000 0 x30000000 0 x30000000 0 x30000000 终止地址 0 x301fffff 0 x303fffff 0 x307fffff 0 x30ffffff 0 x31ffffff 0 x33ffffff 0 x37ffffff B

12、ank7 (S3C2440) 起始地址 0 x30200000 0 x30400000 0 x30800000 0 x31000000 0 x32000000 0 x34000000 0 x38000000 终止地址 0 x303fffff 0 x307fffff 0 x30ffffff 0 x31ffffff 0 x33ffffff 0 x37ffffff 0 x3fffffff 第20页,共44页,2022年,5月20日,13点52分,星期日 S3C2440 BANK0存储器数据宽度选择,由引脚OM1:0的值决定.其他存储器组的数据宽度在总线宽度/等待控制寄存器中设置 OM1(操作模式1)

13、 OM0(操作模式0) 引导ROM数据宽度 0 0 S3C2440Nand Flash模式 0 1 16bit 1 0 32bit 1 1 测试模式 第21页,共44页,2022年,5月20日,13点52分,星期日存储器的控制寄存器内存控制器为访问外部存储空间提供存储器控制信号, S3C2440X存储器控制器共有13个寄存器。寄存器地 址功 能操作复位值BWSCON0 x48000000总线宽度和等待控制读/写0 x0BANKCON00 x48000004BANK0控制读/写0 x0700BANKCON10 x48000008BANK1控制读/写0 x0700BANKCON20 x480000

14、0CBANK2控制读/写0 x0700BANKCON30 x48000010BANK3控制读/写0 x0700BANKCON40 x48000014BANK4控制读/写0 x0700BANKCON50 x48000018BANK5控制读/写0 x0700BANKCON60 x4800001CBANK6控制读/写0 x18008BANKCON70 x48000020BANK7控制读/写0 x18008REFRESH0 x48000024SDRAM刷新控制读/写0 xAC0000BANKSIZE0 x48000028可变的组大小设置读/写0 x0MRSRB60 x4800002CBANK6模式设置

15、读/写xxxMRSRB70 x48000030BANK7模式设置读/写xxx第22页,共44页,2022年,5月20日,13点52分,星期日第23页,共44页,2022年,5月20日,13点52分,星期日第24页,共44页,2022年,5月20日,13点52分,星期日第25页,共44页,2022年,5月20日,13点52分,星期日第26页,共44页,2022年,5月20日,13点52分,星期日第27页,共44页,2022年,5月20日,13点52分,星期日NAND FLASH控制器第28页,共44页,2022年,5月20日,13点52分,星期日NAND Flash和NOR FlashNor f

16、lash特点:容量小,价格贵,可靠性高,寿命短,读速快。系统可以直接在NOR FLASH运行指令,用于启动和引导系统。主要用于存放启动代码。(相当于PC的Rom)Nand flash特点:容量大,价格低,寿命长,写速快。而NAND FLASH不能用于主存,只能进行按扇区读写,可以用作小硬盘。主要用于存放数据和程序。(相当于PC机的硬盘)因此,一些用户希望从NAND FLASH启动和引导系统,在SDRAM上执行主程序。第29页,共44页,2022年,5月20日,13点52分,星期日接口差别NORflash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。NAND器件使

17、用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,因此,基于NAND的存储器就可以取代硬盘或其他块设备。第30页,共44页,2022年,5月20日,13点52分,星期日2、在掌上电脑里要使用NAND FLASH 存储数据和程序,但是必须有NOR FLASH来启动。除了SAMSUNG处理器,其他用在掌上电脑的主流处理器还不支持直接由NAND FLASH 启动程序。因此,必须先用一片小的NOR FLASH 启动机器,在把OS等软件从NAND FLASH 载入SDRAM中运行才

18、行第31页,共44页,2022年,5月20日,13点52分,星期日3、NAND FLASH不能够执行程序NAND FLASH本身是连接到了控制器上而不是系统总线上。CPU启动后是要取指令执行的,如果是SROM、NOR FLASH 等之类的,CPU 发个地址就可以取得指令并执行,NAND FLASH不行,因为NAND FLASH 是管脚复用,它有自己的一套时序,这样CPU无法取得可以执行的代码,也就不能初始化系统了。NAND FLASH是顺序存取设备,不能够被随机访问,程序就不能够分支或跳转,这样你如何去设计程序。 第32页,共44页,2022年,5月20日,13点52分,星期日最重要的区别:N

19、or flash: 拥有SRAM接口,即数据和地址线是分开的,可以直接接系统总线,应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。这种称为芯片内执行(XIP,eXecute In Place)。Nand flash: 使用复杂的I/O口来串行地存取数据,8个引脚用来传送控制、地址和数据信息。所以不能直接执行程序。第33页,共44页,2022年,5月20日,13点52分,星期日一块Nand Flash被分为若干Block,每个Block又被分为若干Page。 flash中Byte(字节),Page(页),Block(块)3个单位之间的关系为 :1 Page =512 Byt

20、es Data Field(放置用户数据)+ 16 Bytes Spare Field(放置ECC代码,坏块信息等) 1 Blcok=32 Pages我们讨论的K9F1208U0B总共有4096 个Blocks,故我们可以知道这块flash的容量为4096 *(32 *528)= 69206016 Bytes = 66 MB第34页,共44页,2022年,5月20日,13点52分,星期日 这528Bytes按功能分为Data Field和Spare Field,其中Spare Field占528Bytes里的16Bytes,这16Bytes是用于在读写操作的时候存放校验码用的,一般不用做普通数

21、据的存储区,除去这16Bytes,剩下的512Bytes便是我们用于存放数据用的Data Field,所以一个Page上虽然有528个Bytes,但我们只按512Bytes进行容量的计算。 实际可操作的芯片容量为4096 *(32 *512) = 67108864 Bytes = 64 MB。 第35页,共44页,2022年,5月20日,13点52分,星期日 Nand Flash 控制器工作原理对Nand Flash存储芯片进行操作, 必须通过Nand Flash控制器的专用寄存器才能完成。所以,不能对NandFlash进行总线操作。而Nand Flash的写操作也必须块方式进行。对Nand

22、Flash的读操作可以按字节读取。第36页,共44页,2022年,5月20日,13点52分,星期日 Nand Flash 控制器工作原理Nand Flash控制器在其专用寄存器区(SFR)地址空间中映射有属于自己的特殊功能寄存器,就是通过将NandFlash芯片的内设命令写到其特殊功能寄存器中,从而实现对Nand flash芯片读、检验和编程控制的。特殊功能寄存器有:NFCONF、NFCMD、NFADDR、NFDATA、NFSTAT、NFECC。第37页,共44页,2022年,5月20日,13点52分,星期日Nand Flash 控制器的寄存器寄存器地 址功 能操作复位值NFCON0 x4E0

23、00000Nand Flash配置读/写-NFCMD0 x4E000004Nand Flash命令读/写-NFADDR0 x4E000008Nand Flash地址读/写-NFDATA0 x4E00000CNand Flash数据读/写-NFSTAT0 x4E000010Nand Flash状态读/写-NFECC0 x4E000014Nand Flash纠错读/写-第38页,共44页,2022年,5月20日,13点52分,星期日1. 配置寄存器(NFCONF):用于对Nand Flash控制器的配置状态进行控制。 NFCONF主要用到了TACLS、TWRPH0、TWRPH1,这三个变量用于配置

24、nandflash的时序。2. 命令寄存器(NFCMD):用于存放Nand flash芯片内设的操作命令。3. 地址寄存器(NFADDR):用于存放用于对Nand flash芯片存储单元寻址的地址值。4. 数据寄存器(NFDATA):Nand flash芯片所有内设命令执行后都会将其值放到该寄存器中。同时,读出、写入Nand flash存储空间的值也是放到该寄存器。5. 状态寄存器(NFSTAT):用于检测Nand flash芯片上次对其存储空间的操作是否完成。6. ECC校验寄存器(NFECC):ECC校验寄存器。第39页,共44页,2022年,5月20日,13点52分,星期日 ECC校验码 S3C2440A在写/读操作时,自动产生ECC校验码。每512字节数据产生3字节的ECC奇偶编码。24位奇偶代码=18行奇偶6位列奇偶ECC产生模块执行以下步骤1.当MCU写数据到NAND时,ECC产生模块生成ECC代码。2.当MCU从NAND读数据时,ECC产生代码同时,用户程序将它与先前写入时产生的ECC代码相比较。第40页,共44页,2022年,5月20日,13点52分,星期日Nand Flash控制器主要特性 Nand Flash模式:支持读/擦/编程

温馨提示

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

评论

0/150

提交评论