第4章嵌入式系统的存储器系统.ppt

上传人:本田雅阁 文档编号:2909473 上传时间:2019-06-04 格式:PPT 页数:82 大小:900.52KB
返回 下载 相关 举报
第4章嵌入式系统的存储器系统.ppt_第1页
第1页 / 共82页
第4章嵌入式系统的存储器系统.ppt_第2页
第2页 / 共82页
第4章嵌入式系统的存储器系统.ppt_第3页
第3页 / 共82页
第4章嵌入式系统的存储器系统.ppt_第4页
第4页 / 共82页
第4章嵌入式系统的存储器系统.ppt_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《第4章嵌入式系统的存储器系统.ppt》由会员分享,可在线阅读,更多相关《第4章嵌入式系统的存储器系统.ppt(82页珍藏版)》请在三一文库上搜索。

1、第4章 嵌入式系统的存储器系统,4.1 存储器系统概述,4.1.1 存储器系统的层次结构 计算机系统的存储器被组织成一个6个层次的金字塔形的层次结构,如图4.1.1魏洪兴所示,位于整个层次结构的最顶部S0层为CPU内部寄存器 S1层为芯片内部的高速缓存(cache) 内存S2层为芯片外的高速缓存(SRAM、DRAM、DDRAM) S3层为主存储器(Flash、PROM、EPROM、EEPROM) S4层为外部存储器(磁盘、光盘、CF、SD卡) S5层为远程二级存储(分布式文件系统、Web服务器),图4.1.1 存储器系统层次结构,在这种存储器分层结构中,上面一层的存储器作为下一层存储器的高速缓

2、存。CPU寄存器就是cache的高速缓存,寄存器保存来自cache的字;cache又是内存层的高速缓存,从内存中提取数据送给CPU进行处理,并将CPU的处理结果返回到内存中;内存又是主存储器的高速缓存,它将经常用到的数据从Flash等主存储器中提取出来,放到内存中,从而加快了CPU的运行效率。嵌入式系统的主存储器容量是有限的,磁盘、光盘或CF、SD卡等外部存储器用来保存大信息量的数据。在某些带有分布式文件系统的嵌入式网络系统中,外部存储器就作为其他系统中被存储数据的高速缓存。,4.1.2 高速缓冲存储器 在主存储器和CPU之间采用高速缓冲存储器(cache)被广泛用来提高提高存储器系统的性能,

3、许多微处理器体系结构都把它作为其定义的一部分。cache能够减少内存平均访问时间。 Cache可以分为统一cache和独立的数据程序cache。在一个存储系统中,指令预取时和数据读写时使用同一个cache,这时称系统使用统一的cache。如果在一个存储系统中,指令预取时使用的一个cache,数据读写时使用的另一个cache,各自是独立的,这时称系统使用了独立的cache,用于指令预取的cache称为指令cache,用于数据读写的cache称为数据cache。 当CPU更新了cache的内容时,要将结果写回到主存中,可以采用写通法(write-through)和写回法(write-back)。写

4、通法是指CPU在执行写操作时,必须把数据同时写入cache和主存。采用写通法进行数据更新的cache称为写通cache。写回法是指CPU在执行写操作时,被写的数据只写入cache不写入主存。仅当需要替换时,才把已经修改的cache块写回到主存中。采用写回法进行数据更新的cache称为写回cache。,当进行数据写操作时,可以将cache分为读操作分配cache和写操作分配cache两类。对于读操作分配cache,当进行数据写操作时,如果cache未命中,只是简单地将数据写入主存中。主要在数据读取时,才进行cache内容预取。对于写操作分配cache,当进行数据写操作时,如果cache未命中,c

5、ache系统将会进行cache内容预取,从主存中将相应的块读取到cache中相应的位置,并执行写操作,把数据写入到cache中。对于写通类型的cache,数据将会同时被写入到主存中,对于写回类型的cache数据将在合适的时候写回到主存中。,4.1.3 存储管理单元 MMU(Memory Manage Unit, 存储管理单元)在CPU和物理内存之间进行地址转换,将地址从逻辑空间映射到物理空间,这个转换过程一般称为内存映射。MMU主要完成以下工作: (1)虚拟存储空间到物理存储空间的映射。采用了页式虚拟存储管理,它把虚拟地址空间分成一个个固定大小的块,每一块称为一页,把物理内存的地址空间也分成同

6、样大小的页。MMU实现的就是从虚拟地址到物理地址的转换。 (2)存储器访问权限的控制。 (3)设置虚拟存储空间的缓冲的特性。,嵌入式系统中常常采用页式存储管理。页表是存储在内存中的一个表,页表用来管理这些页。页表的每一行对应于虚拟存储空间的一个页,该行包含了该虚拟内存页对应的物理内存页的地址、该页的方位权限和该页的缓冲特性等。从虚拟地址到物理地址的变换过程就是查询页表的过程。例如在ARM嵌入式系统中,使用系统控制协处理器CP15的寄存器C2来保存页表的基地址。 基于程序在执行过程中具有局部性的原理,在一段时间内,对页表的访问只是局限在少数几个单元。根据这一特点,增加了一个小容量(通常为816字

7、)、高速度(访问速度和CPU中通用寄存器相当)的存储部件来存放当前访问需要的地址变换条目,这个存储部件称为地址转换后备缓冲器(Translation Look aside Buffer,TLB)。当CPU访问内存时,首先在TLB中查找需要的地址变换条目,如果该条目不存在,CPU在从位于内存中的页表中查询,并把相应的结果添加到TLB中,更新它的内容。,当ARM处理器请求存储访问时,首先在TLB中查找虚拟地址。如果系统中数据TLB和指令TLB是分开的,在取指令时,从指令TLB查找相应的虚拟地址,对于内存访问操作,从数据TLB中查找相应的虚拟地址。 嵌入式系统中虚拟存储空间到物理存储空间的映射以内存

8、块为单位来进行。即虚拟存储空间中一块连续的存储空间被映射到物理存储空间中同样大小的一块连续存储空间。在页表和TLB中,每一个地址变换条目实际上记录了一个虚拟存储空间的内存块的基地址与物理存储空间相应的一个内存块的基地址的对应关系。根据内存块大小,可以有多种地址变换。,嵌入式系统支持的内存块大小有以下几种:段(section)大小为1MB的内存块;大页(Large Pages)大小为64KB的内存块;小页(Small Pages)大小为4KB的内存块;极小页(Tiny Pages)大小为1KB的内存块。极小页只能以1KB大小为单位不能再细分,而大页和小页有些情况下可以在进一步的划分,大页可以分成

9、大小为16KB的子页,小页可以分成大小为1KB的子页。 MMU中的域指的是一些段、大页或者小页的集合。每个域的访问控制特性都是由芯片内部的寄存器中的相应控制位来控制的。例如在ARM嵌入式系统中,每个域的访问控制特性都是由CP15中的寄存器C3中的两位来控制的。 MMU中的快速上下文切换技术(Fast Context Switch Extension, FCSE)通过修改系统中不同进程的虚拟地址,避免在进行进程间切换时造成的虚拟地址到物理地址的重映射,从而提高系统的性能。,在嵌入式系统中,I/O操作通常被映射成存储器操作,即输入输出是通过存储器映射的可寻址外围寄存器和中断输入的组合来实现的。I/

10、O的输出操作可通过存储器写入操作实现;I/O的输入操作可通过存储器读取操作实现。这些存储器映射的I/O空间不满足cache所要求的特性,不能使用cache技术,一些嵌入式系统使用存储器直接访问(DMA)实现快速存储。,4.2 嵌入式系统存储设备分类,存储器是嵌入式系统硬件的重要组成部分,用来存放嵌入式系统工作时所用的程序和数据。嵌入式系统的存储器由片内和片外两部分组成。 4.2.1 存储器部件的分类 1按在系统中的地位分类 在微机系统中,存储器可分为主存储器(Main Memory简称内存或主存)和辅助存储器(Auxiliary Memory,Secondary Memory,简称辅存或外存)

11、。 内存是计算机主机的一个组成部分,一般都用快速存储器件来构成,内存的存取速度很快,但内存空间的大小受到地址总线位数的限制。内存通常用来容纳当前正在使用的或要经常使用的程序和数据,CPU可以直接对内存进行访问。系统软件中如引导程序、监控程序或者操作系统中的基本输入输出部分BIOS都是必须常驻内存。更多的系统软件和全部应用软件则在用到时由外存传送到内存。,外存也是用来存储各种信息的,存放的是相对来说不经常使用的程序和数据,其特点是容量大。外存总是和某个外部设备相关的,常见的外存有软盘、硬盘、U盘、光盘等。CPU要使用外存的这些信息时,必须通过专门的设备将信息先传送到内存中。 2按存储介质分类 根

12、据存储介质的材料及器件的不同,可分为磁存储器(Magnetic Memory),半导体存储器、光存储器(Optical Memory)及激光光盘存储器(Laser Optical Disk)。 3按信息存取方式分类 存储器按存储信息的功能,分为随机存取存储器(Random Access Memory,RAM)和只读存储器(Read Only Memory,ROM)。随机存取存储器是一种在机器运行期间可读、可写的存储器,又称读写存储器。随机存储器按信息存储的方式,可分为静态RAM(Static RAM,SRAM),动态RAM(Dynamic RAM,DRAM)及准静态RAM(Pseudostat

13、ic RAM,简称PSRAM)。,在机器运行期间只能读出信息,不能随时写入信息的存储器称为只读存储器。只读存储器按功能可分为掩模式(ROM)、可编程只读存储器(Programmable ROM,PROM)和可改写的只读存储器(Erasable Programmable ROM,EPROM)。 4.2.2 存储器的组织和结构 存储器的容量是描述存储器的最基本参数,如1MB。存储器的表示并不唯一,有不同表示方法,每种有不同的数据宽度。在存储器内部,数据是存放在二维阵列存储单元中。阵列以二维的形式存储,给出的n位地址被分成行地址和列地址(nr十c)。r是行地址数,c是列地址数。行列选定一个特定存储单

14、元。如果存储器外部宽度为1位,那么列地址仅一位;对更宽的数据,列地址可选择所有列的一个子集。,嵌入式系统的存储器与通用系统的存储器有所不同,通常由ROM、RAM、EPROM等组成。嵌入式存储器一般采用存储密度较大的存储器芯片,存储容量与应用的软件大小相匹配。 4.2.3 常见的嵌入式系统存储设备 1RAM(随机存储器) RAM可以被读和写,地址可以以任意次序被读。常见RAM的种类有SRAM(Static RAM,静态随机存储器)、DRAM(Dynamic RAM,动态随机存储器)、DDRAM(Double Data Rate SDRAM,双倍速率随机存储器)。其中,SRAM比DRAM运行速度快

15、,SRAM比DRAM耗电多,DRAM需要周期性刷新。而DDRAM是RAM的下一代产品。在133MHz时钟频率,DDRAM内存带宽可以达到13364b/822.1GB/s,在200MHz时钟频率,其带宽可达到20064b/823.2GB/s的海量。,2ROM(只读存储器) ROM在烧入数据后,无需外加电源来保存数据,断电后数据不丢失,但速度较慢,适合存储需长期保留的不变数据。在嵌入式系统中,ROM用固定数据和程序。 常见ROM有Mask ROM(掩模ROM)、PROM(Programmable ROM,可编程ROM)、EPROM(Erasable Programmable ROM,可擦写ROM)

16、、EEPROM(电可擦除可编程ROM,也可表示为E2PROM)、Flash ROM(闪速存储器) Mask ROM一次性由厂家写入数据的ROM,用户无法修改。PROM出厂时厂家并没有写入数据,而是保留里面的内容为全0或全1,由用户来编程一次性写入数据。EPROM可以通过紫外光的照射,擦掉原先的程序,芯片可重复擦除和写入。E2PROM是通过加电擦除原编程数据,通过高压脉冲可以写入数据,写入时间较长。Flash ROM断电不会丢失数据(NVRAM),可快速读取,电可擦写可编程。,3Flash Memory Flash memory(闪速存储器)是嵌入式系统中重要的组成部分,用来存储程序和数据,掉电

17、后数据不会丢失。但在使用Flash Memory时,必须根据其自身特性,对存储系统进行特殊设计,以保证系统的性能达到最优。 Flash Memory是一种非易失性存储器NVM(Non-Volatile Memory),根据结构的不同可以将其分成NOR Flash和NAND Flash两种。 Flash Memory在物理结构上分成若干个区块,区块之间相互独立。NOR Flash把整个存储区分成若干个扇区(Sector),而NAND Flash把整个存储区分成若干个块(Block),可以对以块或扇区为单位的内存单元进行擦写和再编程。,由于Flash Memory的写操作只能将数据位从1写成0,而

18、不能从0写成1,所以在对存储器进行写入之前必须先执行擦除操作,将预写入的数据位初始化为1。擦操作的最小单位是一个区块,而不是单个字节。NAND Flash执行擦除操作是十分简单的,而NOR型内存则要求在进行擦除前先要将目标块内所有的位都写为0。 由于擦除NOR Flash时是以64128KB为单位的块进行的,执行一个写入擦除操作的时间为5s,与此相反,擦除NAND Flash是以832KB的块进行的,执行相同的操作最多只需要4ms。 NOR Flash的读速度比NAND Flash稍快一些,NAND Flash的写入速度比NOR Flash快很多。NAND Flash的随机读取能力差,适合大量

19、数据的连续读取。 除了NOR Flash的读,Flash Memory的其他操作不能像RAM那样,直接对目标地址进行总线操作。例如执行一次写操作,它必须输入一串特殊的指令(NOR Flash ),或者完成一段时序(NAND Flash)才能将数据写入到Flash Memory中。,NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。NAND Flash地址、数据和命令共用8位总线/16位总线,每次读写都要使用复杂的I/O接口串行地存取数据,8位总线/16位总线用来传送控制、地址和资料信息。 NAND Flash读和写操作采用512B的块,类似硬盘管理

20、操作。因此,基于NAND的闪存可以取代硬盘或其他块设备。 NOR Flash容量通常在1 MB8MB之间。而NAND Flash用在8MB以上的产品当中。NOR Flash主要应用在代码存储介质中,NAND Flash适用于资料存储。 所有Flash Memory器件存在位交换现象。Flash Memory在读写数据过程中,偶然会产生一位或几位数据错误,即位反转。位反转无法避免,只能通过其他手段对产生的结果进行事后处理。位反转的问题多见于NAND Flash。NAND Flash的供货商建议使用NAND Flash的时候,同时使用EDC/ECC(错误探测错误纠正)算法,以确保可靠性。,Flas

21、h Memory在使用过程中,可能导致某些区块的损坏。区块一旦损坏,将无法进行修复。NAND Flash中的坏块是随机分布的,尤其是NAND Flash在出厂时就可能存在这样的坏块(已经被标识出)。NAND Flash需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。如果对已损坏的区块进行操作,可能会带来不可预测的错误。 应用程序可以直接在NOR Flash内运行,不需要再把代码读到系统RAM中运行。NOR Flash的传输效率很高,在14MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。NAND Flash结构可以达到高存储密度,并且写入和擦除的速度也很快

22、,应用NAND Flash的困难在于需要特殊的系统接口。 在NOR Flash上运行代码不需要任何的软件支持。在NAND Flash上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD )。NAND Flash和NOR Flash在进行写入和擦除操作时都需要MTD。,在NAND Flash中每个块的最大擦写次数是一百万次,而NOR Flash的擦写次数是十万次。NAND Flash除了具有10:1的块擦除周期优势,典型的NAND Flash块尺寸要比NOR型闪存小8倍,每个NAND Flash的内存块在给定的时间内删除次数要少一些。 4标准存储卡(Compact Flash,CF

23、卡) CF卡是利用Flash技术的存储卡,内部结构如图4.2.1所示,接口具有PCMCIA-ATA功能,可以工作在IDE接口模式,也可以工作在PC Card模式。衍生出来的CF+卡物理规格和CF完全相同,在手持设备上应用,如CF串口卡、CF Modem. CF蓝牙、CF USB卡、CF网卡、CF GPS卡、CF GPRS卡等。按照CF+卡标准,它不一定要支持ATA接口。通常建议CF+卡工作在PCMCIA模式。CF卡可以看作是PCMCIA卡的一个子集,可以通过物理上的转换器,直接转换成PCMCIA卡使用。,CF卡可分为I型和II型两类,二者的规格和特性基本相同,只是II型比I型略厚一些(5.0m

24、m,3.3mm),II型插座可以同时兼容I型卡。,图4.2.1 CF卡内部结构,CF卡有3种工作模式:PC卡ATA I/O模式、PC卡ATA存储模式和实IDE模式。实IDE模式与IDE接口完全兼容。CF卡遵循ATA协议,属于块存储设备,存储单元是通过磁头(head)、柱面(cylinder,也称磁道)和扇区(sector )组织起来的。在物理寻址(CHS)方式下,每一组H/C/S参数唯一确定存储卡中的一个扇区,通常一个扇区拥有512B的数据空间。一个驱动数格式化后的容量为磁头数柱面数扇区数512字节。在物理寻址模式下,扇区(S)是最低的地址单位,其次是磁头(H),最后的柱面(C)为最高寻址单位

25、。此外,还有逻辑寻址方式(LBA)。在这种寻址方式下,CF卡按照以连续序列的逻辑扇区编号进行寻址,主机不必知道CF卡的物理几何结构。使用28个数据位来表示逻辑扇区的地址,可以寻址228个扇区,理论上可以寻址136GB的容量。物理寻址方式与逻辑寻址方式的对应关系如下所示:,LBA=NHNSC+NCH+S-1; C=(LBA div NS)div NH; H=(LBA div NS)mod NH; S=(LBA mod NS)+1。 其中:NS为每磁道扇区数,NH为磁头数,C、H、S分别表示磁盘的柱面、磁头和扇区编号,LBA表示逻辑扇区号,div为整除计算,mod为求余计算。,5安全数据卡(Sec

26、ure Digital Card,SD卡) 由日本Panasonic公司、TOSHIBA公司和美国SanDisk公司共同开发研制的SD卡是一种全新的存储卡产品,在MP3、数码摄像机、数码相机、电子图书及AV器材等中应用。SD存储卡采用一个完全开放的标准(系统),外形与MultiMedia卡保持一致,比MMC卡略厚,具有更大的容量,兼容MMC卡接口规范。SD卡具有加密功能,可以保证数据资料的安全保密。SD卡具有版权保护技术,所采用的版权保护技术是DVD中使用的CPRM技术(可刻录介质内容保护)。 6硬盘存储器 硬盘存储器具有存储容量大,使用寿命长,存取速度较快的特点,也是在嵌入式系统中常用的外存

27、。,硬盘存储器的硬件包括硬盘控制器(适配器)、硬盘驱动器以及连接电缆。硬盘控制器(Hard Disk Controller,简称HDC)对硬盘进行管理,并在主机和硬盘之间传送数据。硬盘控制器以适配卡的形式插在主板上或直接集成在主板上,然后通过电缆与硬盘驱动器相连。硬盘驱动器(Hard Disk Drive,简称HDD)中有盘片、磁头、主轴电机(盘片旋转驱动机构)、磁头定位机构、读写电路和控制逻辑等。 硬盘存储器可分为温彻斯特盘和非温彻斯特盘两类。温彻斯特盘是根据温彻斯特技术设计制造的,它的磁头、盘片、磁头定位机构、主轴、甚至连读写驱动电路等都被密封在一个盘盒内,构成一个头一盘组合体。温彻斯特盘

28、的防尘性能好,可靠性高,对使用环境要求不高。非温彻斯特盘磁盘的磁头和盘片等不是密封的,通常只能用于中型、大型计算机机房中。 最常见的硬盘接口是IDE(ATA)和SCSI两种,一些移动硬盘采用PCMCIA或USB接口。,IDE( Integrated Drive Electronics)接口也称为ATA(美国国家标准协会)接口,是一个通用的硬盘接口。IDE接口的硬盘可细分为ATA-1(IDE)、ATA-2(EIDE)、ATA-3(Fast ATA-2)、ATA-4(包括Ultra ATA、Ultra ATA/33、Ultra ATA/66)与Serial ATA(包括Ultra ATA/100及

29、其他后续的接口类型)。基本的IDE接口数据传输率为4.1 MB/s,传输方式有PIO和DMA两种,支持总线为ISA和EISA。ATA-2、ATAPI和针对PCI总线的FAST-ATA、FAST-ATA2等数据传输率达到了16.67MB/s。Ultra DMA/33接口(称为EIDE接口),采用PIO模式,数据传输率达到33MB/s。UltraDMA/66接口的传输率为Ultra DMA/33的两倍,采用CRC(循环冗余循环校验)技术以保证数据传输的安全性,并且使用了80线的专用连接电缆,是现在市场上主流的硬盘接口类型。Ultra ATA/ 100是最有前景的硬盘接口,它的理论最大外部数据传输率

30、可以高达100MB/s。,SCSI(Small Computer System Interface,小型计算机系统接口)不是专为硬盘设计的,是一种总线型接口。SCSI独立于系统总线工作,其系统占用率极低,但其价格昂贵,具有这种接口的硬盘大多用于服务器等高端应用场合。,4.3 NOR Flash接口电路,4.3.1 NOR Flash存储器Am29LV160D Am29LV160D是AMD公司的一款NOR Flash存储器,存储容量为2M8Bit/1M16Bit,接口与CMOS I/O兼容,工作电压为2.73.6V,读操作电流为9mA,编程和擦除操作电流为20mA,待机电流为200nA。采用FB

31、GA-48、TSOP-48、SO-44 三种封装形式。 Am29LV160D仅需3.3V电压即可完成在系统的编程与擦除操作,通过对其内部的命令寄存器写入标准的命令序列,可对Flash进行编程(烧写)、整片擦除、按扇区擦除,以及其他操作。以16位(字模式)数据宽度的方式工作。更多的内容请登录www.AMD.com,查找资料“Am29LV160D 16 Megabit (2 M8-Bit/1 M16-Bit) CMOS 3.0 Volt-only Boot Sector Flash Memory”。 Am29LV160D的逻辑框图如图4.3.1所示,引脚端功能如表4.3.1所示。,图4.3.1 A

32、m29LV160D的逻辑框图,表4.3.1 Am29LV160D引脚端功能,4.3.2 S3C2410A与NOR Flash存储器的接口电路 S3C2410A与Am29LV160D的接口电路如图4.3.2所示。Flash存储器在系统中通常用于存放程序代码,系统上电或复位后从此获取指令并开始执行,因此,应将存有程序代码的Flash存储器配置到Bank0,即将S3C2410A的nGCS0接至Am29LV160D的CE(nCE)端。Am29LV160D的OE(nOE)端接S3C2410X的nOE;WE(nXE)端S3C2410X的nWE相连;地址总线A19A0与S3C2410X的地址总线ADDR20

33、ADDR1(A20A1)相连;16位数据总线DQ15DQ0与S3C2410X的低16位数据总线DATA15DATA0(D15D0)相连。 注意:此时应将BWSCON中的DW0设置为01,即选择16位总线方式。 如果需要更大的NOR Flash存储容量,可以采用容量更大的NOR Flash存储器芯片,如28F128J3A、28F640J3A等。更多的内容请登录,查找资料“3 Volt Intel Strata Flash Memory 28F128J3A, 28F640J3A, 28F320J3A (x8/x16)”。,图4.3.2 S3C2410A与Am29LV160D的接口电路,S3C241

34、0A与28F128J3A的接口电路如图4.3.3所示。S3C2410X的nGCS0接至28F128J3A的CE0(nCE)端。28F128J3A的OE(nOE)端接S3C2410X的nOE;WE(nWE)端S3C2410X的nWE相连;地址总线A24A1与S3C2410X的地址总线ADDR24ADDR1(A24A1)相连,A0直接接地;16位数据总线DQ15DQ0与S3C2410X的低16位数据总线DATA15DATA0(D15D0)相连。,图4.3.3 S3C2410A与28F128J3A的接口电路,4.4 NAND Flash接口电路,4.4.1 S3C2410A NAND Flash控制

35、器 1S3C2410A NAND Flash控制器特性 S3C2410A可以在一个外部NAND Flash存储器上执行启动代码,用来实现这一想法。为了支持NAND Flash的启动装载(boot loader),S3C2410A配置了一个叫做“Steppingstone”的内部SRAM缓冲器。当系统启动时,NAND Flash存储器的前4KB将被自动加载到Steppingstone中,然后系统自动执行这些载入的启动代码。 在一般情况下,启动代码将复制NAND Flash的内容到SDRAM中。使用S3C2410A内部硬件ECC功能可以对NAND Flash的数据的有效性进行检查。在复制完成后,将

36、在SDRAM中执行主程序。 NAND Flash控制器具有以下特性。 NAND Flash模式:支持读擦除编程NAND Flash存储器。, 自动启动模式:复位后,启动代码被传送到Steppingstone中。传送完毕后,启动代码在Steppingstone中执行。 具有硬件ECC产生模块(硬件生成校验码和通过软件校验)。 在NAND Flash启动后,Steppingstone 4KB内部SRAM缓冲器可以作为其他用途使用。 NAND Flash控制器不能通过DMA访问,可以使用LDM/ STM指令来代替DMA操作。 2S3C2410A NAND Flash控制器结构 NAND Flash控

37、制器的内部结构方框图如图4.4.1所示。NAND Flash的工作模式如图4.4.2所示。,图4.4.1 NAND Flash控制器内部结构方框图,图4.4.2 NAND Flash的操作模式,自动启动模式的时序如下: (1)完成复位; (2)当自动启动模式使能时,首先将NAND Flash存储器的前4 KB内容自动复制到Steppingstone 4 KB内部缓冲器中; (3)Steppingstone映射到nGCSO; (4)CPU开始执行在Steppingstone 4 KB内部缓冲器中的启动代码。 注意:在自动启动模式,不进行ECC检测。因此,应确保NAND Flash的前4 KB不能

38、有位错误。 NAND Flash模式配置: (1)利用NFCONF寄存器设置NAND Flash配置; (2)写NAND Flash命令到NFCMD寄存器; (3)写NAND Flash地址到NFADDR寄存器; (4)在检查NAND Flash状态时,利用NFSTAT寄存器读写数据。在读操作之前或者编程操作之后应该检查R/nB信号。,NAND Flash存储器的时序如图4.4.3所示。,图4.4.3 NAND Flash存储器的时序(TACLS0,TWRPH01,TWRPH10),NAND Flash控制器的引脚配置如表4.4.1所列。,表4.4.1 NAND Flash控制器的引脚配置,B

39、OOT(启动)和NAND Flash配置如下: (1)OM1: 0=00b:使能NAND Flash控制器为自动启动模式; (2)NAND Flash存储器的页面大小应该为512字节; (3)NCON:NAND Flash存储器寻址步选择。0为3步寻址;1为4步寻址。 512字节ECC奇偶校验码分配表如表4.4.2所示。,表4.4.2 512字节ECC奇偶校验码分配表,在写读操作期间,S3C2410A自动生成512字节的ECC奇偶校验码。每个512字节数据的ECC奇偶校验码由3字节组成。 24位ECC奇偶校验码=18位行奇偶6位列奇偶 ECC生成模块执行以下操作: (1)当MCU写数据到NAN

40、D时,ECC生成模块产生ECC代码。 (2)当MCU从NAND读数据时,ECC生成模块产生ECC代码,同时用户程序将它与先前写入的ECC代码进行比较。 4.4.2 S3C2410A与NAND Flash存储器的接口电路 与NOR Flash存储器相比,NAND Flash的接口相对比较复杂。一些嵌入式处理器芯片内部配置了专门的NAND Flash控制器,如S3C2410A。,S3C2410A与NAND Flash存储器K9F1208UDM-YCB0接口电路如图4.4.4所示。K9F1208UDM-YCB0的存储容量为64M字节,数据总线宽度为8位,工作电压为2.7V3.6V,采用TSOP-48

41、封装。仅需单3.3V电压即可完成在系统的编程与擦除操作,引脚端功能如表4.4.3所示。更多的内容请登录,查找资料“K9F1208U0M-YCB0,K9F1208U0M-YIB0 64M8 Bit NAND Flash Memory”。,表4.4.3 K9F1208UDM的引脚功能,K9F1208UDM的I/O口既可接收和发送数据,也可接收地址信息和控制命令。在CLE有效时,锁存在I/O口上的是控制命令字;在ALE有效时,锁存在I/O口上的是地址;/RE或/WE有效时,锁存的是数据。这种一口多用的方式可以大大减少总线的数目,只是控制方式略微有些复杂。利用S3C2410X处理器的NAND Flas

42、h控制器可以解决这个问题。 在图4.4.4中,K9F1208UDM的ALE和CLE端分别与S3C2410A的ALE和CLE端连接,8位的I/O7I/O0与S3C2410A低8位数据总线DATA7DATA0相连,/WE、/RE和/CE分别与S3C2410A的nFWE、nFRE和nFCE相连,R/B与RnB相连,为增加稳定性R/nB端口连接了一个上拉电阻。同时,S3C2410A的NCON配置端口必须连接一个上拉电阻,,图4.4.4 S3C2410A与K9F1208UDM-YCB0接口电路,(注意:原理图中LDATA修改为DATA,U4删除,VDD33V修改为VDD33,U-K9F1208UDM-Y

43、C80修改为K9F1208UDM-YCB0),4.5 SDRAM接口电路,SDRAM可读可写,不具有掉电保持数据的特性,但其存取速度大大高于Flash存储器。在嵌入式系统中,SDRAM主要用做程序的运行空间、数据及堆栈区。当系统启动时,CPU首先从复位地址0x0处读取启动代码,在完成系统的初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度。同时,系统及用户堆栈、运行数据也都放在SDRAM中。 SDRAM在各种嵌入式系统中应用时,为避免数据丢失,必须定时刷新。因此要求微处理器具有刷新控制逻辑,或在系统中另外加入刷新控制逻辑电路。S3C2410X及其他一些ARM芯片在片内具有独立的

44、SDRAM刷新控制逻辑,可方便地与SDRAM接口。但某些ARM芯片则没有SDRAM刷新控制逻辑,不能直接与SDRAM接口,在进行系统设计时应注意这一点。 目前常用的SDRAM为8位/16位的数据宽度,工作电压一般为3.3V。主要的生产厂商为HYUNDAI,Winbond等,同类型器件一般具有相同的电气特性和封装形式,可以通用。,S3C2410X与SDRAM存储器HY57V561620接口电路如图4.4.5所示。 HY57V561620存储容量为4组64M位,工作电压为3.3V,常见封装为TSOP-54,兼容LVTTL接口,支持自动刷新(Auto-Refresh)和自刷新(Self-Refres

45、h),16位数据宽度。HY57V561620引脚功能如表4.4.4所示。更多的内容请登录,查找资料“HY57V561620(L)T 4Banks x 4M x 16Bit Synchronous DRAM”。,表4.4.4 HY57V561620引脚功能,(引脚端19 nGCS0修改为nGCS6) 图4.4.5 S3C2410X与SDRAM存储器HY57V561620的接口电路,根据系统需求,可构建16位或32位的SDRAM存储器系统,但为充分发挥32位CPU的数据处理能力,本设计采用32位的SDRAM存储器系统。HY57V561620为16位数据宽度,单片容量为32MB,系统选用两片HY57

46、V561620并联构建32位的SDRAM存储器系统,共64MB的SDRAM空间,可满足嵌入式操作系统及各种相对较复杂的算法的运行要求。与Flash存储器相比,SDRAM的控制信号较多,其连接电路也要相对复杂一些。 两片HY57V561620并联构建32位的SDRAM存储器系统,其中一片为高16位,另一片为低16位,可将两片HY57V561620作为一个整体配置到Bank6即将S3C2410X的nGCS6接至两片HY57V561620的/CS端。 高位HY57V561620的CLK端连接到S3C2410X的SCLK1端,低位HY57V561620的CLK端连接到S3C2410X的SCLK0端;,

47、两片HY57V561620的CKE端连接到S3C2410X的SCKE端; 两片HY57V561620的/RAS、/CAS. /WE端分别连接到S3C2410X的nSDRAS端、nSDCAS端、nDWE端; 两片HY57V561620的A12A0连接到S3C2410X的地址总线ADDR14ADDR2(A14A2); 两片HY57V561620的BA1、BA0连接到S3C2410X的地址总线ADDR25(A25)、ADDR24(A24); 高16位片的DQ15DQ0连接到S3C2410X的数据总线的高16位DATA8DATA16(D8D16),低16位片的DQ15DQ0连接到S3C2410X的数据

48、总线的低16位DATA15DATA0(D15D0); 高16位片的UDQM、LDQM分别连接到S3C2410X的nWEB3、nWEB2,低16位片的UDQM、LDQM分别连接到S3C2410X的nWEB1、nWEB0。 注意:此时应将BWSCON中的DW6设置为10,即选择32位总线方式。,4.6 CF卡接口电路,4.6.1 PCMCIA接口规范 1990年9月,PCMCIA(Personal Computer Memory Card International Association,PC机内存卡国际联合会)推出了PCMCIA 1.0规范,该规范是针对各类存储卡或虚拟盘设计的,其目的是为了建

49、立一个物理尺寸较小、低功耗的、灵活的存储卡标准,采用16位体系结构, JEIDA(Janpanese Electronics Industry Development Association)68引脚的接口。1991年,PCMCIA推出了2.0规范,添加了对I/O设备的规范,以方便用户扩展I/O设备,但接口仍采用与1.0规范兼容的68引脚的接口;同时,PCMCIA对其驱动程序的架构也作了规范,以便于软件开发人员开发的驱动程序可以相互兼容。随着多媒体和高速网络的发展,PCMCIA又开发了32位的CardBUS。现在,基于PCMCIA的设备已经在笔记本电脑、数码相机、机顶盒、车载设备、手持设备、PDA等方面被广泛的采用。越来越多的产品都需要接口具有可扩展模块化的功能,因此PCMCIA也将自己的目标定位为 “发展模块化外设的标准,并将他们推广到全世界”。,PCMCIA物理上定义了68个引脚,卡片有16位和32位之分。16位的PCMC

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1