好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

ARM汇编语言程序设计基础 第4章 嵌入式系统的存储器系统.ppt

82页
  • 卖家[上传人]:夏**
  • 文档编号:587438187
  • 上传时间:2024-09-06
  • 文档格式:PPT
  • 文档大小:1.12MB
  • / 82 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第第4章章 嵌入式系统的存储器系统嵌入式系统的存储器系统 4.1 存储器系统概述n4.1.1 存储器系统的层次结构n计算机系统的存储器被组织成一个6个层次的金字塔形的层次结构,如图4.1.1[魏洪兴]所示,位于整个层次结构的最顶部S0层为CPU内部寄存器nS1层为芯片内部的高速缓存(cache)n内存S2层为芯片外的高速缓存(SRAM、DRAM、DDRAM)nS3层为主存储器(Flash、PROM、EPROM、EEPROM)nS4层为外部存储器(磁盘、光盘、CF、SD卡)nS5层为远程二级存储(分布式文件系统、Web服务器) 图4.1.1 存储器系统层次结构 n在这种存储器分层结构中,上面一层的存储器作为下一层存储器的高速缓存CPU寄存器就是cache的高速缓存,寄存器保存来自cache的字;cache又是内存层的高速缓存,从内存中提取数据送给CPU进行处理,并将CPU的处理结果返回到内存中;内存又是主存储器的高速缓存,它将经常用到的数据从Flash等主存储器中提取出来,放到内存中,从而加快了CPU的运行效率嵌入式系统的主存储器容量是有限的,磁盘、光盘或CF、SD卡等外部存储器用来保存大信息量的数据。

      在某些带有分布式文件系统的嵌入式网络系统中,外部存储器就作为其他系统中被存储数据的高速缓存 n4.1.2 高速缓冲存储器高速缓冲存储器n在主存储器和CPU之间采用高速缓冲存储器(cache)被广泛用来提高提高存储器系统的性能,许多微处理器体系结构都把它作为其定义的一部分cache能够减少内存平均访问时间nCache可以分为统一cache和独立的数据/程序cache在一个存储系统中,指令预取时和数据读写时使用同一个cache,这时称系统使用统一的cache如果在一个存储系统中,指令预取时使用的一个cache,数据读写时使用的另一个cache,各自是独立的,这时称系统使用了独立的cache,用于指令预取的cache称为指令cache,用于数据读写的cache称为数据cachen当CPU更新了cache的内容时,要将结果写回到主存中,可以采用写通法(write-through)和写回法(write-back)写通法是指CPU在执行写操作时,必须把数据同时写入cache和主存采用写通法进行数据更新的cache称为写通cache写回法是指CPU在执行写操作时,被写的数据只写入cache不写入主存。

      仅当需要替换时,才把已经修改的cache块写回到主存中采用写回法进行数据更新的cache称为写回cache n当进行数据写操作时,可以将cache分为读操作分配cache和写操作分配cache两类对于读操作分配cache,当进行数据写操作时,如果cache未命中,只是简单地将数据写入主存中主要在数据读取时,才进行cache内容预取对于写操作分配cache,当进行数据写操作时,如果cache未命中,cache系统将会进行cache内容预取,从主存中将相应的块读取到cache中相应的位置,并执行写操作,把数据写入到cache中对于写通类型的cache,数据将会同时被写入到主存中,对于写回类型的cache数据将在合适的时候写回到主存中 n4.1.3 存储管理单元nMMU(Memory Manage Unit, 存储管理单元)在CPU和物理内存之间进行地址转换,将地址从逻辑空间映射到物理空间,这个转换过程一般称为内存映射MMU主要完成以下工作:n(1)虚拟存储空间到物理存储空间的映射采用了页式虚拟存储管理,它把虚拟地址空间分成一个个固定大小的块,每一块称为一页,把物理内存的地址空间也分成同样大小的页。

      MMU实现的就是从虚拟地址到物理地址的转换n(2)存储器访问权限的控制n(3)设置虚拟存储空间的缓冲的特性 n嵌入式系统中常常采用页式存储管理页表是存储在内存中的一个表,页表用来管理这些页页表的每一行对应于虚拟存储空间的一个页,该行包含了该虚拟内存页对应的物理内存页的地址、该页的方位权限和该页的缓冲特性等从虚拟地址到物理地址的变换过程就是查询页表的过程例如在ARM嵌入式系统中,使用系统控制协处理器CP15的寄存器C2来保存页表的基地址n基于程序在执行过程中具有局部性的原理,在一段时间内,对页表的访问只是局限在少数几个单元根据这一特点,增加了一个小容量(通常为8~16字)、高速度(访问速度和CPU中通用寄存器相当)的存储部件来存放当前访问需要的地址变换条目,这个存储部件称为地址转换后备缓冲器(Translation Look aside Buffer,TLB)当CPU访问内存时,首先在TLB中查找需要的地址变换条目,如果该条目不存在,CPU在从位于内存中的页表中查询,并把相应的结果添加到TLB中,更新它的内容 n当ARM处理器请求存储访问时,首先在TLB中查找虚拟地址如果系统中数据TLB和指令TLB是分开的,在取指令时,从指令TLB查找相应的虚拟地址,对于内存访问操作,从数据TLB中查找相应的虚拟地址。

      n嵌入式系统中虚拟存储空间到物理存储空间的映射以内存块为单位来进行即虚拟存储空间中一块连续的存储空间被映射到物理存储空间中同样大小的一块连续存储空间在页表和TLB中,每一个地址变换条目实际上记录了一个虚拟存储空间的内存块的基地址与物理存储空间相应的一个内存块的基地址的对应关系根据内存块大小,可以有多种地址变换 n嵌入式系统支持的内存块大小有以下几种:段(section)大小为1MB的内存块;大页(Large Pages)大小为64KB的内存块;小页(Small Pages)大小为4KB的内存块;极小页(Tiny Pages)大小为1KB的内存块极小页只能以1KB大小为单位不能再细分,而大页和小页有些情况下可以在进一步的划分,大页可以分成大小为16KB的子页,小页可以分成大小为1KB的子页nMMU中的域指的是一些段、大页或者小页的集合每个域的访问控制特性都是由芯片内部的寄存器中的相应控制位来控制的例如在ARM嵌入式系统中,每个域的访问控制特性都是由CP15中的寄存器C3中的两位来控制的 nMMU中的快速上下文切换技术(Fast Context Switch Extension, FCSE)通过修改系统中不同进程的虚拟地址,避免在进行进程间切换时造成的虚拟地址到物理地址的重映射,从而提高系统的性能。

      n在嵌入式系统中,I/O操作通常被映射成存储器操作,即输入/输出是通过存储器映射的可寻址外围寄存器和中断输入的组合来实现的I/O的输出操作可通过存储器写入操作实现;I/O的输入操作可通过存储器读取操作实现这些存储器映射的I/O空间不满足cache所要求的特性,不能使用cache技术,一些嵌入式系统使用存储器直接访问(DMA)实现快速存储 4.2 嵌入式系统存储设备分类n存储器是嵌入式系统硬件的重要组成部分,用来存放嵌入式系统工作时所用的程序和数据嵌入式系统的存储器由片内和片外两部分组成n4.2.1 存储器部件的分类n1.按在系统中的地位分类.按在系统中的地位分类n在微机系统中,存储器可分为主存储器(Main Memory简称内存或主存)和辅助存储器(Auxiliary Memory,Secondary Memory,简称辅存或外存)n内存是计算机主机的一个组成部分,一般都用快速存储器件来构成,内存的存取速度很快,但内存空间的大小受到地址总线位数的限制内存通常用来容纳当前正在使用的或要经常使用的程序和数据,CPU可以直接对内存进行访问系统软件中如引导程序、监控程序或者操作系统中的基本输入/输出部分BIOS都是必须常驻内存。

      更多的系统软件和全部应用软件则在用到时由外存传送到内存 n外存也是用来存储各种信息的,存放的是相对来说不经常使用的程序和数据,其特点是容量大外存总是和某个外部设备相关的,常见的外存有软盘、硬盘、U盘、光盘等CPU要使用外存的这些信息时,必须通过专门的设备将信息先传送到内存中n2.按存储介质分类.按存储介质分类n根据存储介质的材料及器件的不同,可分为磁存储器(Magnetic Memory),半导体存储器、光存储器(Optical Memory)及激光光盘存储器(Laser Optical Disk)n3.按信息存取方式分类.按信息存取方式分类n存储器按存储信息的功能,分为随机存取存储器(Random Access Memory,RAM)和只读存储器(Read Only Memory,ROM)随机存取存储器是一种在机器运行期间可读、可写的存储器,又称读写存储器随机存储器按信息存储的方式,可分为静态RAM(Static RAM,SRAM),动态RAM(Dynamic RAM,DRAM)及准静态RAM(Pseudostatic RAM,简称PSRAM) n在机器运行期间只能读出信息,不能随时写入信息的存储器称为只读存储器。

      只读存储器按功能可分为掩模式(ROM)、可编程只读存储器(Programmable ROM,PROM)和可改写的只读存储器(Erasable Programmable ROM,EPROM)n4.2.2 存储器的组织和结构n存储器的容量是描述存储器的最基本参数,如1MB存储器的表示并不唯一,有不同表示方法,每种有不同的数据宽度在存储器内部,数据是存放在二维阵列存储单元中阵列以二维的形式存储,给出的n位地址被分成行地址和列地址(n=r十c)r是行地址数,c是列地址数行列选定一个特定存储单元如果存储器外部宽度为1位,那么列地址仅一位;对更宽的数据,列地址可选择所有列的一个子集 n嵌入式系统的存储器与通用系统的存储器有所不同,通常由ROM、RAM、EPROM等组成嵌入式存储器一般采用存储密度较大的存储器芯片,存储容量与应用的软件大小相匹配n4.2.3 常见的嵌入式系统存储设备n1..RAM(随机存储器)(随机存储器)nRAM可以被读和写,地址可以以任意次序被读常见RAM的种类有SRAM(Static RAM,静态随机存储器)、DRAM(Dynamic RAM,动态随机存储器)、DDRAM(Double Data Rate SDRAM,双倍速率随机存储器)。

      其中,SRAM比DRAM运行速度快,SRAM比DRAM耗电多,DRAM需要周期性刷新而DDRAM是RAM的下一代产品在133MHz时钟频率,DDRAM内存带宽可以达到133×64b/8×2=2.1GB/s,在200MHz时钟频率,其带宽可达到200×64b/8×2=3.2GB/s的海量 n2..ROM(只读存储器)(只读存储器)nROM在烧入数据后,无需外加电源来保存数据,断电后数据不丢失,但速度较慢,适合存储需长期保留的不变数据在嵌入式系统中,ROM用固定数据和程序n常见ROM有Mask ROM(掩模ROM)、PROM(Programmable ROM,可编程ROM)、EPROM(Erasable Programmable ROM,可擦写ROM)、EEPROM(电可擦除可编程ROM,也可表示为E2PROM)、Flash ROM(闪速存储器)nMask ROM一次性由厂家写入数据的ROM,用户无法修改PROM出厂时厂家并没有写入数据,而是保留里面的内容为全0或全1,由用户来编程一次性写入数据EPROM可以通过紫外光的照射,擦掉原先的程序,芯片可重复擦除和写入E2PROM是通过加电擦除原编程数据,通过高压脉冲可以写入数据,写入时间较长。

      Flash ROM断电不会丢失数据(NVRAM),可快速读取,电可擦写可编程 n3..Flash MemorynFlash memory(闪速存储器)是嵌入式系统中重要的组成部分,用来存储程序和数据,掉电后数据不会丢失但在使用Flash Memory时,必须根据其自身特性,对存储系统进行特殊设计,以保证系统的性能达到最优nFlash Memory是一种非易失性存储器NVM(Non-Volatile Memory),根据结构的不同可以将其分成NOR Flash和NAND Flash两种nFlash Memory在物理结构上分成若干个区块,区块之间相互独立NOR Flash把整个存储区分成若干个扇区(Sector),而NAND Flash把整个存储区分成若干个块(Block),可以对以块或扇区为单位的内存单元进行擦写和再编程 n由于Flash Memory的写操作只能将数据位从1写成0,而不能从0写成1,所以在对存储器进行写入之前必须先执行擦除操作,将预写入的数据位初始化为1擦操作的最小单位是一个区块,而不是单个字节NAND Flash执行擦除操作是十分简单的,而NOR型内存则要求在进行擦除前先要将目标块内所有的位都写为0。

      n由于擦除NOR Flash时是以64~128KB为单位的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND Flash是以8~32KB的块进行的,执行相同的操作最多只需要4msnNOR Flash的读速度比NAND Flash稍快一些,NAND Flash的写入速度比NOR Flash快很多NAND Flash的随机读取能力差,适合大量数据的连续读取n除了NOR Flash的读,Flash Memory的其他操作不能像RAM那样,直接对目标地址进行总线操作例如执行一次写操作,它必须输入一串特殊的指令(NOR Flash ),或者完成一段时序(NAND Flash)才能将数据写入到Flash Memory中 nNOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节NAND Flash地址、数据和命令共用8位总线/16位总线,每次读写都要使用复杂的I/O接口串行地存取数据,8位总线/16位总线用来传送控制、地址和资料信息nNAND Flash读和写操作采用512B的块,类似硬盘管理操作因此,基于NAND的闪存可以取代硬盘或其他块设备。

      nNOR Flash容量通常在1 MB~8MB之间而NAND Flash用在8MB以上的产品当中NOR Flash主要应用在代码存储介质中,NAND Flash适用于资料存储n所有Flash Memory器件存在位交换现象Flash Memory在读写数据过程中,偶然会产生一位或几位数据错误,即位反转位反转无法避免,只能通过其他手段对产生的结果进行事后处理位反转的问题多见于NAND FlashNAND Flash的供货商建议使用NAND Flash的时候,同时使用EDC/ECC(错误探测/错误纠正)算法,以确保可靠性 nFlash Memory在使用过程中,可能导致某些区块的损坏区块一旦损坏,将无法进行修复NAND Flash中的坏块是随机分布的,尤其是NAND Flash在出厂时就可能存在这样的坏块(已经被标识出)NAND Flash需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用如果对已损坏的区块进行操作,可能会带来不可预测的错误n应用程序可以直接在NOR Flash内运行,不需要再把代码读到系统RAM中运行NOR Flash的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。

      NAND Flash结构可以达到高存储密度,并且写入和擦除的速度也很快,应用NAND Flash的困难在于需要特殊的系统接口n在NOR Flash上运行代码不需要任何的软件支持在NAND Flash上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD )NAND Flash和NOR Flash在进行写入和擦除操作时都需要MTD n在NAND Flash中每个块的最大擦写次数是一百万次,而NOR Flash的擦写次数是十万次NAND Flash除了具有10:1的块擦除周期优势,典型的NAND Flash块尺寸要比NOR型闪存小8倍,每个NAND Flash的内存块在给定的时间内删除次数要少一些n4.标准存储卡(.标准存储卡(Compact Flash,,CF卡)卡)nCF卡是利用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卡使用 nCF卡可分为I型和II型两类,二者的规格和特性基本相同,只是II型比I型略厚一些(5.0mm,3.3mm),II型插座可以同时兼容I型卡图4.2.1 CF卡内部结构 nCF卡有3种工作模式:PC卡ATA I/O模式、PC卡ATA存储模式和实IDE模式实IDE模式与IDE接口完全兼容CF卡遵循ATA协议,属于块存储设备,存储单元是通过磁头(head)、柱面(cylinder,也称磁道)和扇区(sector )组织起来的在物理寻址(CHS)方式下,每一组H/C/S参数唯一确定存储卡中的一个扇区,通常一个扇区拥有512B的数据空间一个驱动数格式化后的容量为磁头数×柱面数×扇区数×512字节在物理寻址模式下,扇区(S)是最低的地址单位,其次是磁头(H),最后的柱面(C)为最高寻址单位此外,还有逻辑寻址方式(LBA)在这种寻址方式下,CF卡按照以连续序列的逻辑扇区编号进行寻址,主机不必知道CF卡的物理几何结构使用28个数据位来表示逻辑扇区的地址,可以寻址228个扇区,理论上可以寻址136GB的容量。

      物理寻址方式与逻辑寻址方式的对应关系如下所示: nLBA=NH×NS×C+NC×H+S-1;nC=(LBA div NS)div NH;nH=(LBA div NS)mod NH;nS=(LBA mod NS)+1n其中:NS为每磁道扇区数,NH为磁头数,C、H、S分别表示磁盘的柱面、磁头和扇区编号,LBA表示逻辑扇区号,div为整除计算,mod为求余计算 n5.安全数据卡(.安全数据卡(Secure Digital Card,,SD卡)卡)n由日本Panasonic公司、TOSHIBA公司和美国SanDisk公司共同开发研制的SD卡是一种全新的存储卡产品,在MP3、数码摄像机、数码相机、电子图书及AV器材等中应用SD存储卡采用一个完全开放的标准(系统),外形与MultiMedia卡保持一致,比MMC卡略厚,具有更大的容量,兼容MMC卡接口规范SD卡具有加密功能,可以保证数据资料的安全保密SD卡具有版权保护技术,所采用的版权保护技术是DVD中使用的CPRM技术(可刻录介质内容保护)n6.硬盘存储器.硬盘存储器n硬盘存储器具有存储容量大,使用寿命长,存取速度较快的特点,也是在嵌入式系统中常用的外存。

      n硬盘存储器的硬件包括硬盘控制器(适配器)、硬盘驱动器以及连接电缆硬盘控制器(Hard Disk Controller,简称HDC)对硬盘进行管理,并在主机和硬盘之间传送数据硬盘控制器以适配卡的形式插在主板上或直接集成在主板上,然后通过电缆与硬盘驱动器相连硬盘驱动器(Hard Disk Drive,简称HDD)中有盘片、磁头、主轴电机(盘片旋转驱动机构)、磁头定位机构、读/写电路和控制逻辑等n硬盘存储器可分为温彻斯特盘和非温彻斯特盘两类温彻斯特盘是根据温彻斯特技术设计制造的,它的磁头、盘片、磁头定位机构、主轴、甚至连读/写驱动电路等都被密封在一个盘盒内,构成一个头一盘组合体温彻斯特盘的防尘性能好,可靠性高,对使用环境要求不高非温彻斯特盘磁盘的磁头和盘片等不是密封的,通常只能用于中型、大型计算机机房中n最常见的硬盘接口是IDE(ATA)和SCSI两种,一些移动硬盘采用PCMCIA或USB接口 nIDE( 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及其他后续的接口类型)。

      基本的IDE接口数据传输率为4.1 MB/s,传输方式有PIO和DMA两种,支持总线为ISA和EISAATA-2、ATAPI和针对PCI总线的FAST-ATA、FAST-ATA2等数据传输率达到了16.67MB/sUltra DMA/33接口(称为EIDE接口),采用PIO模式,数据传输率达到33MB/sUltraDMA/66接口的传输率为Ultra DMA/33的两倍,采用CRC(循环冗余循环校验)技术以保证数据传输的安全性,并且使用了80线的专用连接电缆,是现在市场上主流的硬盘接口类型Ultra ATA/ 100是最有前景的硬盘接口,它的理论最大外部数据传输率可以高达100MB/s nSCSI(Small Computer System Interface,小型计算机系统接口)不是专为硬盘设计的,是一种总线型接口SCSI独立于系统总线工作,其系统占用率极低,但其价格昂贵,具有这种接口的硬盘大多用于服务器等高端应用场合 4.3 NOR Flash接口电路n4.3.1 NOR Flash存储器Am29LV160DnAm29LV160D是AMD公司的一款NOR Flash存储器,存储容量为2M×8Bit/1M×16Bit,接口与CMOS I/O兼容,工作电压为2.7~3.6V,读操作电流为9mA,编程和擦除操作电流为20mA,待机电流为200nA。

      采用FBGA-48、TSOP-48、SO-44 三种封装形式nAm29LV160D仅需3.3V电压即可完成在系统的编程与擦除操作,通过对其内部的命令寄存器写入标准的命令序列,可对Flash进行编程(烧写)、整片擦除、按扇区擦除,以及其他操作以16位(字模式)数据宽度的方式工作更多的内容请登录www.AMD.com,查找资料“Am29LV160D 16 Megabit (2 M×8-Bit/1 M×16-Bit) CMOS 3.0 Volt-only Boot Sector Flash Memory”nAm29LV160D的逻辑框图如图4.3.1所示,引脚端功能如表4.3.1所示 引脚类型功能A19~A0输入地址输入提供存储器地址DQ14~DQ0输入/输出数据输入/输出DQ15/A-1输入/输出在字模式,DQ15为数据输入/输出;在字节模式,A-1为 LSB地址输入BYTE#输入选择8bit 或者16bit 模式CE#输入片选当CE# 为低电平时,芯片有效OE#输入输出使能当OE# 为低电平时,输出有效WE#输入写使能,低电平有效,控制写操作RESET#输入硬件复位引脚端,低电平有效RY/BY#输出就绪/忙标志信号输出,SO-44封装无此引脚端VCC电源3 V电源电压输入VSS地器件地NC未连接。

      空脚图4.3.1 Am29LV160D的逻辑框图表4.3.1 Am29LV160D引脚端功能 n4.3.2 S3C2410A与NOR Flash存储器的接口电路nS3C2410A与Am29LV160D的接口电路如图4.3.2所示Flash存储器在系统中通常用于存放程序代码,系统上电或复位后从此获取指令并开始执行,因此,应将存有程序代码的Flash存储器配置到Bank0,即将S3C2410A的nGCS0接至Am29LV160D的CE#(nCE)端Am29LV160D的OE#(nOE)端接S3C2410X的nOE;WE#(nXE)端S3C2410X的nWE相连;地址总线A19~A0与S3C2410X的地址总线ADDR20~ADDR1(A20~A1)相连;16位数据总线DQ15~DQ0与S3C2410X的低16位数据总线DATA15~DATA0(D15~D0)相连n注意:此时应将BWSCON中的DW0设置为01,即选择16位总线方式n如果需要更大的NOR Flash存储容量,可以采用容量更大的NOR Flash存储器芯片,如28F128J3A、28F640J3A等更多的内容请登录,查找资料“3 Volt Intel Strata Flash® Memory 28F128J3A, 28F640J3A, 28F320J3A (x8/x16)”。

      图4.3.2 S3C2410A与Am29LV160D的接口电路 nS3C2410A与28F128J3A的接口电路如图4.3.3所示S3C2410X的nGCS0接至28F128J3A的CE0#(nCE)端28F128J3A的OE#(nOE)端接S3C2410X的nOE;WE#(nWE)端S3C2410X的nWE相连;地址总线A24~A1与S3C2410X的地址总线ADDR24~ADDR1(A24~A1)相连,A0直接接地;16位数据总线DQ15~DQ0与S3C2410X的低16位数据总线DATA15~DATA0(D15~D0)相连 图4.3.3 S3C2410A与28F128J3A的接口电路 4.4 NAND Flash接口电路接口电路n4.4.1 S3C2410A NAND Flash控制器n1..S3C2410A NAND Flash控制器特性控制器特性nS3C2410A可以在一个外部NAND Flash存储器上执行启动代码,用来实现这一想法为了支持NAND Flash的启动装载(boot loader),S3C2410A配置了一个叫做“Steppingstone”的内部SRAM缓冲器。

      当系统启动时,NAND Flash存储器的前4KB将被自动加载到Steppingstone中,然后系统自动执行这些载入的启动代码n在一般情况下,启动代码将复制NAND Flash的内容到SDRAM中使用S3C2410A内部硬件ECC功能可以对NAND Flash的数据的有效性进行检查在复制完成后,将在SDRAM中执行主程序nNAND Flash控制器具有以下特性nNAND Flash模式:支持读/擦除/编程NAND Flash存储器 ● 自动启动模式:复位后,启动代码被传送到Steppingstone中传送完毕后,启动代码在Steppingstone中执行● 具有硬件ECC产生模块(硬件生成校验码和通过软件校验)● 在NAND Flash启动后,Steppingstone 4KB内部SRAM缓冲器可以作为其他用途使用● NAND Flash控制器不能通过DMA访问,可以使用LDM/ STM指令来代替DMA操作n2..S3C2410A NAND Flash控制器结构控制器结构nNAND Flash控制器的内部结构方框图如图4.4.1所示NAND Flash的工作模式如图4.4.2所示。

      图4.4.1 NAND Flash控制器内部结构方框图 图4.4.2 NAND Flash的操作模式 n自动启动模式的时序如下:n(1)完成复位;n(2)当自动启动模式使能时,首先将NAND Flash存储器的前4 KB内容自动复制到Steppingstone 4 KB内部缓冲器中;n(3)Steppingstone映射到nGCSO;n(4)CPU开始执行在Steppingstone 4 KB内部缓冲器中的启动代码n注意:在自动启动模式,不进行ECC检测因此,应确保NAND Flash的前4 KB不能有位错误nNAND Flash模式配置:n(1)利用NFCONF寄存器设置NAND Flash配置;n(2)写NAND Flash命令到NFCMD寄存器;n(3)写NAND Flash地址到NFADDR寄存器;n(4)在检查NAND Flash状态时,利用NFSTAT寄存器读/写数据在读操作之前或者编程操作之后应该检查R/nB信号 nNAND Flash存储器的时序如图4.4.3所示图4.4.3 NAND Flash存储器的时序(TACLS=0,TWRPH0=1,TWRPH1=0) nNAND Flash控制器的引脚配置如表4.4.1所列。

      表4.4.1 NAND Flash控制器的引脚配置引脚配置D[7:0]数据/命令/地址输入/输出端口(用数据总线分派)CLE命令锁存使能(输出)ALE地址锁存使能(输出)nFCENAND Flash芯片使能(输出)nFRENAND Flash读使能(输出)nFWENAND Flash写使能(输出)R/nBNAND Flash准备就绪/忙使能(输出) nBOOT(启动)和NAND Flash配置如下:n(1)OM[1: 0]=00b:使能NAND Flash控制器为自动启动模式;n(2)NAND Flash存储器的页面大小应该为512字节;n(3)NCON:NAND Flash存储器寻址步选择0为3步寻址;1为4步寻址n512字节ECC奇偶校验码分配表如表4.4.2所示表4.4.2 512字节ECC奇偶校验码分配表 n在写/读操作期间,S3C2410A自动生成512字节的ECC奇偶校验码每个512字节数据的ECC奇偶校验码由3字节组成n24位位ECC奇偶校验码奇偶校验码=18位行奇偶+位行奇偶+6位列奇偶位列奇偶nECC生成模块执行以下操作:n(1)当MCU写数据到NAND时,ECC生成模块产生ECC代码。

      n(2)当MCU从NAND读数据时,ECC生成模块产生ECC代码,同时用户程序将它与先前写入的ECC代码进行比较n4.4.2 S3C2410A与NAND Flash存储器的接口电路n与NOR Flash存储器相比,NAND Flash的接口相对比较复杂一些嵌入式处理器芯片内部配置了专门的NAND Flash控制器,如S3C2410A nS3C2410A与NAND Flash存储器K9F1208UDM-YCB0接口电路如图4.4.4所示K9F1208UDM-YCB0的存储容量为64M字节,数据总线宽度为8位,工作电压为2.7V~3.6V,采用TSOP-48封装仅需单3.3V电压即可完成在系统的编程与擦除操作,引脚端功能如表4.4.3所示更多的内容请登录,查找资料“K9F1208U0M-YCB0,K9F1208U0M-YIB0 64M×8 Bit NAND Flash Memory” 表4.4.3 K9F1208UDM的引脚功能引脚类型功能I/O7~ I/O0输入/输出数据输入输出、控制命令和地址的输入CLE输入命令锁存信号ALE输入地址锁存信号/CE输入芯片使能信号/RE输入读有效信号/WE输入写有效信号/WP输入写保护信号R/nB输出就绪/忙标志信号输出Vcc电源电源电压2.7V~3.3VVss接地器件地 nK9F1208UDM的I/O口既可接收和发送数据,也可接收地址信息和控制命令。

      在CLE有效时,锁存在I/O口上的是控制命令字;在ALE有效时,锁存在I/O口上的是地址;/RE或/WE有效时,锁存的是数据这种一口多用的方式可以大大减少总线的数目,只是控制方式略微有些复杂利用S3C2410X处理器的NAND Flash控制器可以解决这个问题n在图4.4.4中,K9F1208UDM的ALE和CLE端分别与S3C2410A的ALE和CLE端连接,8位的I/O7~I/O0与S3C2410A低8位数据总线DATA7~DATA0相连,/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-YC80修改为K9F1208UDM-YCB0) 4.5 SDRAM接口电路接口电路nSDRAM可读/可写,不具有掉电保持数据的特性,但其存取速度大大高于Flash存储器。

      在嵌入式系统中,SDRAM主要用做程序的运行空间、数据及堆栈区当系统启动时,CPU首先从复位地址0x0处读取启动代码,在完成系统的初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度同时,系统及用户堆栈、运行数据也都放在SDRAM中nSDRAM在各种嵌入式系统中应用时,为避免数据丢失,必须定时刷新因此要求微处理器具有刷新控制逻辑,或在系统中另外加入刷新控制逻辑电路S3C2410X及其他一些ARM芯片在片内具有独立的SDRAM刷新控制逻辑,可方便地与SDRAM接口但某些ARM芯片则没有SDRAM刷新控制逻辑,不能直接与SDRAM接口,在进行系统设计时应注意这一点n目前常用的SDRAM为8位/16位的数据宽度,工作电压一般为3.3V主要的生产厂商为HYUNDAI,Winbond等,同类型器件一般具有相同的电气特性和封装形式,可以通用 nS3C2410X与SDRAM存储器HY57V561620接口电路如图4.4.5所示nHY57V561620存储容量为4组×64M位,工作电压为3.3V,常见封装为TSOP-54,兼容LVTTL接口,支持自动刷新(Auto-Refresh)和自刷新(Self-Refresh),16位数据宽度。

      HY57V561620引脚功能如表4.4.4所示更多的内容请登录,查找资料“HY57V561620(L)T 4Banks x 4M x 16Bit Synchronous DRAM” 表4.4.4 HY57V561620引脚功能 引脚类型功能CLK输入时钟,芯片时钟输入所有的输入中CLK的上升沿有效CKE输入时钟使能,片内时钟信号控制/CS输入片选禁止或使能除CLK、 CKE和DQM外的所有输入信号BAO,BA1输入组地址选择用于片内4个组的选择A12~A0输入地址总线行地址:A12~A0;列地址:A8~A0/RAS输入行地址锁存时钟沿和/RAS有效时,锁存行地址,允许行的访问和改写/CAS输入列地址锁存时钟沿和/CAS有效时,锁存列地址,允许列的访问/WE输入写使能使能写信号和允许列改写,/WE和/CAS有效时开始锁存数据LDQM,UDQM输入数据I/O屏蔽在读模式下控制输出缓冲;在写模式下屏蔽输入数据DQ15~DQ0输入/输出数据总线数据输入/输出VDD/VSS电源/地内部电路及输入缓冲器电源/地VDDQ/VSSQ电源/地输出缓冲器电源/地NC空脚未连接 (引脚端19 nGCS0修改为nGCS6)图4.4.5 S3C2410X与SDRAM存储器HY57V561620的接口电路 n根据系统需求,可构建16位或32位的SDRAM存储器系统,但为充分发挥32位CPU的数据处理能力,本设计采用32位的SDRAM存储器系统。

      HY57V561620为16位数据宽度,单片容量为32MB,系统选用两片HY57V561620并联构建32位的SDRAM存储器系统,共64MB的SDRAM空间,可满足嵌入式操作系统及各种相对较复杂的算法的运行要求与Flash存储器相比,SDRAM的控制信号较多,其连接电路也要相对复杂一些n两片HY57V561620并联构建32位的SDRAM存储器系统,其中一片为高16位,另一片为低16位,可将两片HY57V561620作为一个整体配置到Bank6即将S3C2410X的nGCS6接至两片HY57V561620的/CS端n高位HY57V561620的CLK端连接到S3C2410X的SCLK1端,低位HY57V561620的CLK端连接到S3C2410X的SCLK0端; n两片HY57V561620的CKE端连接到S3C2410X的SCKE端;n两片HY57V561620的/RAS、/CAS. /WE端分别连接到S3C2410X的nSDRAS端、nSDCAS端、nDWE端;n两片HY57V561620的A12~A0连接到S3C2410X的地址总线ADDR14~ADDR2(A14~A2);n两片HY57V561620的BA1、BA0连接到S3C2410X的地址总线ADDR25(A25)、ADDR24(A24);n高16位片的DQ15~DQ0连接到S3C2410X的数据总线的高16位DATA8~DATA16(D8~D16),低16位片的DQ15~DQ0连接到S3C2410X的数据总线的低16位DATA15~DATA0(D15~D0);n高16位片的UDQM、LDQM分别连接到S3C2410X的nWEB3、nWEB2,低16位片的UDQM、LDQM分别连接到S3C2410X的nWEB1、nWEB0。

      n注意:此时应将BWSCON中的DW6设置为10,即选择32位总线方式 4.6 CF卡接口电路卡接口电路n4.6.1 PCMCIA接口规范n1990年9月,PCMCIA(Personal Computer Memory Card International Association,PC机内存卡国际联合会)推出了PCMCIA 1.0规范,该规范是针对各类存储卡或虚拟盘设计的,其目的是为了建立一个物理尺寸较小、低功耗的、灵活的存储卡标准,采用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也将自己的目标定位为 “发展模块化外设的标准,并将他们推广到全世界” nPCMCIA物理上定义了68个引脚,卡片有16位和32位之分16位的PCMCIA卡通常叫PCCard,其时序和ISA总线类似,速度较慢采用32位PCMCIA标准的称做CardBus卡,其运行频率达到33MHz,可以满足一般局域网及宽带应用的要求CardBus接口的信号传输协议起源于PCI局部总线信号传输协议,支持以任何组合形式实现多个总线功能总线主控功能可为处理器分担任务,有利于在多任务环境中改善系统的吞吐量CardBus卡可以在移动环境下应用PCMCIA接口和系统总线接口通常需要一个HBA(Host Bus Adepter)运行转换,这个HBA可以是一个芯片,也可以是一些逻辑PCMCIA卡可以支持5V和3.3V的供电电压,PCMCIA规范中采用电压敏感VS(Voltage Sense)信号识别插入的PCMCIA卡的工作电压 nPCMCIA卡可以分为I型(TYPEI)、II型(TYPEII)、III型(TYPEIII)、扩展TYPEI和扩展TYPEII 5种,其中I型~III型PCMCIA卡的外形尺寸为85.60mm×54.00mm,卡的厚度分别为3.3mm、5.0mm和10.5mm。

      而扩展TYPEI和扩展TYPEII的PCMCIA卡可以兼容某些尺寸较大的接口,如RJ45接口等nPCMCIA规范里一共定义了6类PCMCIA内存卡,分别是内存卡、I/O卡(内存或I/O)、硬盘ATA(AT Attachment for IDE drivers)接口、DMA(Direct Memory Access)接口、AIM S(Auto-Indexing Mass Storage)和32位PC卡接口CardBus n4.6.2 S3C2410A的CF卡接口电路nCF卡接口采用50个引脚,II型卡并完全符合PCMCIA电气和机械接口规格(PCMCIA卡为68个引脚),同时支持3.3V和5V的电压在50个引脚中,其中有16根数据线、11根地址线(在TureIDE模式下仅用3根地址线)、2根寄存器组选择信号线(CS0和CS1)、数据的读写线(IORD和IOWR)、1根中断信号请求线(INTRQ)和1根复位线(RESET)CF卡可以工作在16位或者8位数据总线方式若选择8位工作方式,CS1固定接于高电平,CS0低电平有效INTRQ用于判断CF卡是否处于读/写忙状态 n与S3C2410A连接的CF卡接口电路如图4.6.1所示。

      图4.6.1 CF卡接口电路 n4.6.3 CF卡的读写操作nCF卡可以配置工作在存储模式和I/O模式CF卡使用标准ATA命令实现存储块的读/写操作每个存储块包含512字节,在访问CF卡之前,必须进行初始化操作初始化过程包括GPIO配置、卡检测和复位n(1)存储模式访问n①读取卡信息结构卡信息结构包含CF卡的相关信息n②写存储块CF卡存储器一般采用Nand Flash,需要使用ATA命令来完成读/写操作CF卡采用块方式进行读/写操作,每块的大小为512字节,写数据的操作步骤如下:n(a)写块数到扇区计数器寄存器;n(b)写LBA地址; n(c)发送0x30命令来启动传输n当CF卡接收到该命令后,将会使能DRQ信号并清除BSY信号,等待主机写入数据,规定的数据写完后DRQ会被清除n③读存储块与写存储块大致相同,只是命令不一样,下面是一个典型的操作序列:n(a)写块数到扇区计数器寄存器;n(b)写LBA地址;n(c)发送0 x20命令来启动传输n当CF卡接收到该命令后,将会使能DRQ信号并清除BSY信号,等待主机读出数据,当规定的数据写完后DRQ将会被清除 n(2)I/O模式访问n①配置CF卡工作在I/O模式。

      可以通过CF卡的配置寄存器将其配置为I/O模式n②写存储块I/O模式下写存储块与存储模式类似,惟一的区别就是需要使用正确的地址空间,步骤如下:n(a)写块数到扇区计数器寄存器;n(b)然后写LBA地址;n(c)发送0x30命令来启动传输n③读存储块I/O模式下读存储块步骤如下:n(a)写块数到扇区计数器寄存器;n(b)然后写LBA地址;n(c)发送0x20命令来启动传输 4.7 SD卡接口电路卡接口电路n4.7.1 SD卡的接口规范nSD存储卡兼容MMC卡接口规范,采用9芯的接口(CLK为时钟线,CMD为命令/响应线,DAT0~DAT3为双向数据传输线,VDD、Vss1和Vss2为电源和地),最大的工作频率是25MHz,标准SD的外形尺寸是24mm×32mm×2.1mm,SD卡的外形和接口如图4.7.1所示,SD卡引脚定义如表4.7.1所示SD卡原理图如图4.7.2所示nSD卡系统支持SD和SPI方式两种通信协议SD卡在结构上使用一主多从星型拓扑结构,拓扑图如图4.7.3所示 图4.7.1 SD卡的外形和接口 图4.7.2 SD卡原理图图 表4.7.1 SD卡引脚定义引脚SD模式SPI模式名称类型描述名称类型描述1CD/DAT3I/O/PP卡检测/数据线[Bit 3]CSI片选信号2CMDPP命令/响应DII数据输入3Vss1S接地VssS接地4VDDS电源电压VDDS电源电压5CLKI时钟SCLKI时钟6Vss2S接地Vss2S接地7DAT0I/O/PP数据线[Bit 0]DOO/PP数据输出8DAT1I/O/PP数据线[Bit 1]RSV9DAT2I/O/PP数据线[Bit 2]RSV注:类型S:电源;I/O:输入/输出;PP:推挽方式 图4.7.3 SD卡系统的总线拓扑图 n4.7.2 S3C2410A的SD卡接口电路nS3C2410A内部集成了SD模块,SD卡接口电路如图4.7.4所示。

      图4.7.4 SD卡接口电路 4.8 IDE接口电路接口电路n4.8.1 S3C2410A 的IDE接口电路nIDE采用40线扁平电缆连接,在IDE的接口中,除了对AT总线上的信号作必要的控制之外,基本上是原封不动地送往硬盘驱动器IDE接口电路如图4.8.1所示 图4.8.1 IDE接口电路 n4.8.2 IDE硬盘读/写操作nIDE接口是一种任务寄存器结构的接口,所有输入输出操作均是通过对相应寄存器的读/写完成一个IDE硬盘驱动器中的寄存器及地址分配例见表4.8.1硬盘驱动器执行命令后的状态如表4.8.2状态寄存器所示 表4.8.1 IDE硬盘驱动器中的寄存器及地址分配 表4.8.2 状态寄存器 n在向硬盘驱动器发出命令前,必须先检测硬盘驱动器是否忙碌(D7=1)如果在规定时间内硬盘驱动器一直忙碌,则置超时错;否则表示硬盘驱动器空闲,可接收命令n1..CPU对硬盘写数据操作对硬盘写数据操作n如果CPU要对硬盘写数据操作,首先要把必要的参数写入对应的地址寄存器,等待DRDY有效;然后将操作码写入命令寄存器,同时驱动器设置状态寄存器的DRQ位,表示准备好接收数据,CPU通过数据寄存器将数据写入扇区缓冲区。

      当扇区缓冲区填满后,驱动器清除 DRQ位,并置位BSY,驱动器将扇区缓冲区中数据写入磁盘写盘结束,清除BSY位,发中断请求信号DNTRQCPU接收到中断信号后,读驱动器状态寄存器,同时将中断信号INTRQ撤除 n2..CPU对硬盘进行读数据操作对硬盘进行读数据操作n如果CPU要对硬盘进行读数据操作,首先把参数写入地址寄存器和特性寄存器(如果需要)然后把命令码写入命令寄存器,命令开始执行这时驱动器置状态寄存器中的BSY为1,同时将硬盘上指定扇区内的数据送入扇区缓冲区当扇区缓冲区准备好数据后,置位DRQ,清BSY,发中断请求信号INTRQCPU检测到中断后,读取状态寄存器,测试ERR位,若等于1;则转入出错处理;否则DRQ位为1,CPU从扇区缓冲区读取数据数据读完后,驱动器复位DRQ位,驱动器重新设置BSY位n3.实验说明.实验说明n(1)硬盘的初始化n通过向RESET引脚发送一个低跳变来实现,可以按照如下代码来完成: n(2)读扇区操作n硬盘扇区读操作有以下几个步骤:n①主机设置扇区读操作的一些参数,如扇区数、扇区号、磁道号、柱面号及驱动器号 n②主机发送读请求命令n③判断硬盘数据就绪:硬盘在收到命令后开始准备数据,并将BUSY置位,就绪后将清除BUSY位,并且将DRQ置位。

      n④主机读取数据n⑤读下一个扇区 n(3)写扇区操作n硬盘扇区写操作有以下几个步骤:n①主机设置扇区读操作的一些参数,如扇区数、扇区号、磁道号、柱面号及驱动器号n②主机发送写请求命令n③检查硬盘就绪:硬盘在收到命令且就绪后将DRQ置位n④主机写一个扇区的数据到硬盘缓冲区n⑤硬盘在收到一个扇区的数据后,清除BUSY位,并且将DRQ置位从而将数据从缓冲区写到磁盘上n⑥一个扇区写完毕后,若还有数据需要传送,硬盘会将DRQ重新置位,主机重复第4步操作,直到结束 n(4)格式化扇区操作n格式化扇区操作主要有以下步骤:n①主机设置扇区读操作的一些参数,如扇区数、扇区号、磁道号、柱面号及驱动器号n②主机发送格式化请求命令n③检查硬盘就绪:硬盘在收到命令且就绪后,将DRQ置位n④主机写一个扇区的数据到硬盘缓冲区n⑤硬盘在收到一个扇区的数据后,清除BUSY位,并且将DRQ置位从而将数据从缓冲区写到磁盘上n⑥一个扇区写完毕后,若还有扇区需要格式化,硬盘会将DRQ重新置位,主机重复第4步操作,直到结束 第第4章章 思考题与习题思考题与习题1.简述存储器系统层次结构及特点2.简述cache的分类与功能3.简述MMU的功能。

      4.简述内存映射概念5.简述嵌入式系统内存段、大页、小页、极小页、域的含义6.简述在嵌入式系统中I/O操作被映射成存储器操作的含义7.简述嵌入式系统存储设备的分类8.简述存储器的组织和结构9.简述常见的嵌入式系统存储设备10.简述NOR Flash与NAND Flash的区别11.简述Flash存储器在嵌入式系统中的用途12.简述CF卡的内部结构和工作模式 13.登录www.AMD.com,查找Am29LV160D资料,,分析其内部结构、引脚端功能与应用电路14.登录,查找28F128J3A、28F640J3A资料,分析其内部结构、引脚端功能与应用电路15. 简述S3C2410A NAND Flash控制器的基本特性16.分析S3C2410A NAND Flash控制器内部结构,并简述其功能17.登录,查找K9F1208U0M-YCB0,K9F1208U0M-YIB0资料,分析其内部结构、引脚端功能与应用电路 18.简述SDRAM的特点19.登录,查找HY57V561620(L)T资料,分析其内部结构、引脚端功能与应用电路 20.简述PCMCIA接口规范21.简述CF卡的读写操作过程。

      22.简述SD卡的接口规范23.简述IDE硬盘读/写操作过程。

      点击阅读更多内容
      相关文档
      2026年一级消防工程师考试《消防安全综合能力》预习卷.docx 2025年执业药师《药学专业知识(一)》预测试卷一.docx 2026年证券从业资格考试《证券市场基本法律法规》提分卷二.docx 2025高考真题--全国II卷高考英语真题【原卷+听力音频+听力原文+答案】.docx 2024年高考真题--新课标全国ⅠⅠ卷【英语】真题及答案(含听力音频).docx 2025年秋江苏开放大学农业生态工程060165形考作业123答案.docx 2026年一级造价工程师考试《建设工程造价案例分析(土建专业)》模拟卷.docx 2024年一级建造师-港口与航道工程管理与实务-2024年真题解析.docx 2026年一级建造师考试《公路工程管理与实务》破题卷.docx 2026年证券从业资格考试《金融市场基础知识》提分卷二.docx 2025年秋江开机电设备故障诊断与维修050096第1次形考作业带答案.docx 2025年高考真题---山东省高考真题地理试卷(含答案).docx 2025年高考真题--山东省生物高考真题(含答案).docx 2025年秋江苏开放⼤学建筑材料第⼀次作业答案.docx 2025年高考真题--云南高考地理真题(含答案).docx 2025高考真题--北京卷语文真题(含答案).docx 2025年秋江苏开放⼤学机电设备伺服与变频应⽤第1次形考作业答案.docx 2025年秋江苏开放⼤学机械创新设计060260过程性考核作业1.docx 2025年秋江苏开放大学 知识产权文献检索与应用060933过程性考试.docx 2025年高考云南物理真题(答案参考).docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.