1、第三章嵌入式系统的存储器本章学习目的及主要内容本章学习目的及主要内容n学习目的:学习目的:介绍嵌入式存储器子系统,包括随机存储器、只读存储器、混合存储器的特点和使用,并着重讲述了存储器的测试方法。n主要内容:主要内容:1.嵌入式系统存储器的结构和组织2.存储器的性能指标3.存储器的分类 随机存储器RAM 只读存储器ROM 混合类型的存储器4.存储器的测试5.存储器的校证6.系统配置数据存储器3.1 概述概述 嵌入式微处理器片上集成了一定数量的存储器,可以满足一定的需要,如果软件比较大,可能需要扩展存储器。存储器是构成嵌入式系统硬件的重要组成部分。设计嵌入式系统的存储器时有许多因素需要考虑:有的
2、嵌入式控制器集成了存储器,一般不需要扩展,甚至有的嵌入式控制器无法扩展;有的嵌入式微处理器片上没有存储器,必须扩展;有的嵌入式微处理器片上集成了一定数量的存储器,可以满足一定的需要,如果软件比较大,可能需要扩展存储器。3.2 嵌入式系统存储器的结构和组织嵌入式系统存储器的结构和组织n1.存储器的结构存储器的结构 存储器的基本指标是容量和字宽,内部组织如下图所示。n2.嵌入式系统存储器子嵌入式系统存储器子 系统系统 对于基于嵌入式微处理器/控制器的专用嵌入式系统而言,它们的存储器系统与通用计算机系统的设计方法有所不同,其存储器空间分配如右图所示。RAM 空间 ROM 空间 EEPROM 空间 3
3、.3 存储器的性能指标存储器的性能指标 易失性:指电源断开之后,存储器的内容是否丢失。只读性:指在某个存储器中写入数据后,只能被读出,不能用常 规的办法重写或改写。位容量:半导体存储器件常用位容量来表示其存储功能。速度:用存储器访问时间来衡量。功耗 可靠性:存储器的可靠性主要取决于引脚的接触、插件板的接触及存储器模块板的复杂性。价格:存储器的价格主要由两方面的因素决定,一是存储器本身 的价格,二是存储器模块中附加电路的价格。3.4 存储器的分类存储器的分类 嵌入式系统中使用的存储器主要包括:随机存储器;只读存储器;双端口存储器,主要是双端口随机存储器。嵌入式系统中常用的存储类型如下图所示。3.
4、5 随机存储器随机存储器RAM 随机存储器(RAM)的任意存储单元都可以以任意次序进行读/写操作。n1.静态静态RAM 概述概述 SRAM通常有以下4种引脚:静态静态RAM的操作的操作 SRAM的操作有两种:读操作和写操作。静态静态RAM的举例的举例 以IS62C1024为例,说明静态RAM的使用。n1.静态静态RAM 静态静态RAM的举的举 例例(continued)IS62C1024的功能框图如右图所示。n1.静态静态RAM(continued)静态静态RAM的使用的使用 基于IS62C1024的SRAM存储器电路设计如下图所示。AB0.19 AB0.19 地址总线 U17 IS62C10
5、24 AB0 12 AB1 11 AB2 10 AB3 9 AB4 8 AB5 7 AB6 6 AB7 5 AB8 27 AB9 26 AB10 23 AB11 25 AB12 4 AB13 28 AB14 3 AB15 31 AB16 2 13 DB0 14 DB1 15 DB2 17 DB3 18 DB4 19 DB5 20 DB6 21 DB7 DB0.15 DB0.15 数据总线 32 16 30 22 LCS 24 RD 29 WR GND C52 0.1F A0 D0 A1 D1 A2 D2 A3 D3 A4 D4 A5 D5 A6 D6 NC WE OE A16 CE1 A7 D
6、7 A8 A9 A10 VCC A11 A12 A13 GND GND A14 A15 CE2 VCC WR RD LCS 1 n2.动态动态RAM 动态动态RAM的简介的简介 由于动态RAM(DRAM)的工作需要刷新,因此DRAM在使用时必须配合DRAM控制器。DRAM通过DRAM控制器组成存储器系统如下图所示。CPU DRAM控制器 DRAM n2.动态动态RAM 动态动态RAM的简介(的简介(continued)DRAM的接口和时序如下图所示。行地址 列地址 CE R/W RAS CAS Adrs Data Data Adrs CAS RAS CE R/W n2.动态动态RAM(cont
7、inued)动态动态RAM的操作的操作 动态动态RAM的技术的技术 为了提高系统的数据吞吐能力,可以采用多种技术提高DRAM系统的性能,包括:页模式、EDO、同步DRAM。动态动态RAM的使用的使用 设计嵌入式系统时,通常不需要使用分离的DRAM控制器,因为嵌入式处理器上集成了DRAM控制器,因此在嵌入式系统中使用DRAM很方便。n3.双端口双端口RAM简介简介 与普通存储器不同,双端口RAM具有两个端口,即两套地址线、数据线、控制线。两个处理器通过双端口RAM共享数据资源如下图所示。CPU1 CPU1 双口 RAM DB DB AB AB CB CB n4.选择选择RAM 在设计嵌入式系统选
8、用随机存储器时,目前有两种选择:SRAM和DRAM。在决定选用哪一种类型存储器的时候,系统设计者要综合考虑存取速度和成本。3.6 只读存储器只读存储器ROMn1.掩模掩模ROM 掩膜ROM中的信息是厂家根据用户给定的程序或数据对芯片进行掩膜(一种半导体工艺)而制造出来的。根据制造技术,掩膜型ROM又可分为MOS型和双极型两种。主要的优点是大批量生产时产品的成本较低。n2.PROM PROM属于一次性编程的只读存储器。它出厂的时候处于未被编程的状态,里面的内容全是1。在嵌入式系统中广泛使用的PROM称为OTP(Once Time Program)。n3.EPROM EPROM的概述的概述 EPR
9、OM和PROM的编程方式几乎完全一样。但是,EPROM是可以被擦除并且反复被编程的。EPROM的擦除需要使用紫外线,把EPROM暴露在强紫外线光源下,可把整个芯片重置到初始状态未编程状态。EPROM的使用的使用 因为EPROM的写入过程很慢,所以,它仍然作为只读存储器在计算机系统中使用。一般用在软件或系统开发阶段。EPROM有读方式、编程方式和检验方式外和一种备用方式。n3.EPROM(continued)EPROM与系统的连接与系统的连接 EPROM与系统需要使用信号线进行连接,下图为EPROM 2764的应用电路原理图。AB0.15 DB0.7 A0 11 A1 10 A3 8 A4 7
10、A5 6 A6 5 A7 4 A8 29 A9 28 A12 3 A11 27 CE*23 13 D0 14 D1 15 D2 18 D3 19 D4 20 D5 21 D6 22 D7 1 12 U1 A0 DQ0 A1 DQ1 A2 DQ2 A3 DQ3 A4 DQ4 A5 DQ5 A6 DQ6 A7 DQ7 A8 NC A9 NC A10 NC A11 NC CE OE PGM A12 NC VCC 31 OE*25 A10 24 A2 9 AM2764A2JC(32)17 26 30 n4.EEPROM EEPROM概述概述 EEPROM是电可擦除可编程的。EEPROM允许按字节进行擦
11、除和编程,因此,它是最具有灵活性的ROM,也是最昂贵的ROM。EEPROM通常用于系统的配置数据和参数的存储与备份。EEPROM的使用的使用 EEPROM通常有4种工作方式,即读方式、写方式、字节擦除方式和整体擦除方式。其他其他EEPROM 除了上面介绍的并行EEPROM外,广泛使用的还有串行EEPROM。n5.Flash存储器存储器 Flash概述概述 快闪存储器(Flash)技术是存储器技术的最新发展,使用标准电压擦写和编程。与传统存储器相比,Flash的主要优势:a.非易失性 b.易更新性 Flash的分类的分类 Flash主要有两类:NOR Flash和NAND Flash。n5.Fl
12、ash存储器(存储器(continued)NAND Flash的使用的使用 NAND Flash主要有两种用途:一种是用做存储卡;另一种用途是用做嵌入式系统的程序存储器。NOR Flash的使用的使用 在嵌入式系统中使用NOR Flash有两种形式,一种是嵌入式处理器上集成了Flash,另一种是片外扩展Flash。操作包括写入和读出。Freescale公司的集成片内Flash的8位微控制器表现出众,具体体现在:a.单一电源电压供应。b.可靠性高。c.擦写速度快。n6.只读存储器的编程只读存储器的编程 把程序或数据写到只读存储器中的过程叫做编程。只读存储器的编程有两种方式,一种是在线编程,另一种
13、是离线编程。擦除器擦除器 目前使用的擦除器只用来擦除EPROM。编程器编程器 目前,广泛使用的编程器大多是多功能的编程器,可以对PROM、EPROM、Flash、EEPROM、PLD器件等编程。编程过程包括3个步骤:空检查、载入程序和验证。n6.只读存储器的编程(只读存储器的编程(continued)编程器的输入文件编程器的输入文件a.intel 16进制格式b.motorola格式c.二进制型 在线编程在线编程 a.JTAG编程器b.monitor方式 现场软件编程现场软件编程现场软件编程便于系统的维护 3.7 混合类型存储器混合类型存储器 具有RAM快速读/写访问的特性,又具有非易失性,即
14、掉电之后数据也不丢失。例:NVRAM 特点:速度快,相对于EEPROM;价格高。用途:存储配置数据等,要求高速度的应用。3.8 存储器的测试存储器的测试 存储器测试的目的是确认在存储器件中的每一个存储单元都正常工作。n1.存储器件本身的问题存储器件本身的问题 存储器的问题可能发生在存储器芯片的内部和外部。内部问题表现在存储器芯片内的某一个或某一部分存储单元出了问题;外部问题指的是存储器芯片的连线问题、时序问题等。n2.电子线路的问题电子线路的问题 电子线路问题可能是由印制电路板设计或者制造中的错误造成的,也可能是在加工好以后损坏的。n3.接触不良接触不良 为了检测这种错误,需要设计适用的算法。
15、n4.芯片的不正确安装芯片的不正确安装 如果有存储器芯片,但是安装到插槽时不正确,系统通常会表现出好像是一个连线问题或者找不到存储器芯片。n5.制定测试算法制定测试算法 进行测试时需要按照正确的顺序进行,正确的顺序是:首先进行数据总线测试,接着是地址总线测试,最后是存储器件测试。数据总线测试数据总线测试 目的:确定任何由处理器放置在数据总线上的值都被另一端的存储设备正确接收。方法:走1测试法。n5.制定测试算法(制定测试算法(continued)地址总线测试地址总线测试 目的:地址总线的问题会导致存储区域的重叠 方法:测试位置2n 存储器件测试存储器件测试 目的:存储器件测试用于测试存储器件本
16、身的完整性,要确认器件中的每一位都没有故障。方法:抽样测试 综合测试综合测试 进行了上面三种测试之后进行。3.9 校证只读存储器的内容校证只读存储器的内容n1.校验和校验和 校验和的原理校验和的原理 原理:编程前,计算校验和求反,存放;运行时重新计算,与存放的结果进行比较。校验和的缺点校验和的缺点 a.如果所有的数据(包括存储的校验和)被意外地重写为零,那么这个数据错误将不会被检测出来。b.校验能力比较差。n2.循环冗余码循环冗余码 循环冗余码(CRC)的可靠性比较高。3.10 系统配置数据存储器系统配置数据存储器 系统配置数据(常数)描述了系统的参数,这些参数包括软件参数和硬件参数。存储这些
17、参数的存储器的特点:非易失性、访问的方便性。可以给SRAM加备份电源作为配置参数存储,原理如下图所示。本章小结本章小结n 本章主要讲述存储器的分类、特点、性能指标等内容。另外,针对嵌入式系统的特点,介绍了各种存储器的使用方法。n通过本章的学习,应该了解嵌入式系统存储器子系统的组成,存储器的作用,同的存储器的种类、特点,以及在嵌入式系统中设计存储器子系统的方法。n 学习本章的目的是设计嵌入式系统的存储器子系统。思考题思考题1.存储器的基本模型是什么?2.存储器的技术指标有哪些?3.嵌入式系统中使用的存储器有哪几种?分别有什么特点?适用于 哪些场合?4.RAM存储器有几种?它们的特点是什么?分别适用于哪些场合?5.ROM存储器有哪几种?它们的特点是什么?分别适用于哪些方面 的应用?6.NOR Flash与NAND Flash有什么不同,分别有什么用途?7.混合类型的存储器的特点是什么?有什么用途?8.双端口存储器如何使用?9.存储器子系统如何校验?10.嵌入式系统代码如何引导,引导代码通常存放在哪里(哪种类型 的存储器中)?11.与存储器有关的常用的开发装置有哪些?它们的用途是什么?12.嵌入式系统的编程通常有哪些方法?