嵌入式存储器是在嵌入式微处理器片上集成的存储器,用来做代码或其他需要长久数据的存储。嵌入式存储器采用的是类似计算机的设计方法,差异主要体现在体积、功耗、价格和嵌入式处理器的存储器大小及可扩展性等。
(1)易失性
易失性是区分存储器种类的重要外部特性之一。易失性是指电源断开后,存储器的内容是否丢失,如果某种存储器在断电后,仍能保持其中的内容,则称为非易失性存储器。否则,就叫易失性存储器。对于易失性存储器来说,即使电源只是瞬间断开,也会使原有的指令和数据丢失,因此,计算机每次启动时,都要对这部分存储器中的程序进行装配,在大多数微型计算机使用的场合中,要求系统必须至少有一部分存储器是非易失性的。
在存储器中,外部存储器一般都是非易失性的,如,软盘,硬盘,磁带。半导体存储器中,ROM当然也是非易失性的,所以,微型计算机系统中,用ROM来存放系统启动程序,监控程序和基本输入/输出程序。
(2)只读性
只读性是区分存储器种类的又一重要特性。如果某个存储器中写入数据后,只能被读出,但不能用通常的办法重写或改写,那么这种存储器就叫只读存储器,即ROM(ReadOnlyMemory);如果一个存储器在写入数据后,即可对他进行读出,又可再对它写入,那么就叫可读/写存储器。大家常听到的随机存取存储器,本是指对所有的存储单元都可用同样的时间进行访问。与随机存取对应的是按序存取,在这种方式中,存取数据必须按顺序进行,某个时候,如果要对两个位置上的数据进行访问,那么,所需要的时间往往是不同的。当前,计算机的内存实际上都是随机存取存储器,不过,作为历史上沿用下来的专有名词,随机存取存储器(RAM------RandomAccessMemory)实际上只是指可读/写存储器。所以,按照只读性来区分,计算机的内存分为两个主要的类型,即ROM和RAM,ROM除了具有只读性外,当然还具有非易失性。
(3)位容量
用大规模集成电路构成的半导体存储器常用位容量来表示存储功能。比如,一个4K*1和一个1K*4的器件,他们的位容量是一样的,但是,前者可以用来组成4K的内存单元的某一位,芯片只有1个数据输入端和1个数据输出端,在存储容量较大的系统中,一般都采用这样的器件;后者则可以用来组成1K内存单元的某4位,有4个数据输入端和4个数据输出端,在内存较小的系统中,一般采用这样的器件,当然,总的说,应该采用位容量高的器件。
(4)速度
存储器的速度是用存储器访问时间来衡量的,访问时间就是指存储器接收到稳定的地址深入到完成操作的时间,比如,读出是,存储器往数据总线上输出数据就是操作结束的标志。访问时间的长短决定于许多因素,主要与制造器件的工艺有关,当前,半导体存储器主要用两大类工艺,一类是双极型技术,一类是互补金属氧化物半导体技术。用前一类技术制造的器件快,但功耗大,价钱也贵;用后一种技术制造的器件功耗非常低,但速度较慢,不过,随着工艺的提高和改进,此类器件的速度也在不断提高。
(5)功耗
功耗在用电池供电的系统(比如用于野外工作的微型机系统)中是非常重要的问题。互补金属氧化物半导体(CMOS--ComplementaryMetal-OxideSemiconductor)能够很好的满足低功耗的要求。但是用CMOS制造的器件中每个电路单元要用同样的芯片面积,这使每个器件的容量减少,并且CMOS器件速度慢,功耗和速度是成正比的,所以,既达到低功耗又得到高速度是很困难很不经济的。当前,高密度金属氧化物半导体技术(HMOS---HighdensityMetal-OxideSemiconductor)制造的存储器件在速度,功耗,器件容量方面进行了很好的折中。
(6)可靠性
因为集成电路只要在出厂时经过了全面的测试就能保证很高的可靠性,所以,存储器的可靠性主要决定于管脚的接触,插件板的接触及存储器模板的复杂性。器件的引脚减少和内存结构的模块化都是有利于提高可靠性的。
(7)价格
存储器的价格主要由两个方面决定,一是存储器本身的价格,二是存储器模块中附加电路的价格,后一类价格也叫固定开销,因为对不同容量的模块,这种价格几乎是一样的。由此可见,应该使模块的数目尽可能的少,而每个模块的容量尽可能的大。同时,电源也是存储器设计中应该考虑的因素,存储器所需要的电源种类越少,则存储模块的设计越简单,并且,也有利于降低整个系统的价格。
嵌入式系统中使用的存储器主要包括:随机存储器;只读存储器;双端口存储器,主要是双端口随机存储器。
嵌入式系统中常用的存储类型如下图所示。
存储器测试的目的是确认在存储器件中的每一个存储单元都正常工作。
1. 存储器件本身的问题
存储器的问题可能发生在存储器芯片的内部和外部。内部问题表现在存储器芯片内的某一个或某一部分存储单元出了问题;外部问题指的是存储器芯片的连线问题、时序问题等。
2. 电子线路的问题
电子线路问题可能是由印制电路板设计或者制造中的错误造成的,也可能是在加工好以后损坏的。
3. 接触不良
为了检测这种错误,需要设计适用的算法。
4. 芯片的不正确安装
如果有存储器芯片,但是安装到插槽时不正确,系统通常会表现出好像是一个连线问题或者找不到存储器芯片。
5. 制定测试算法
进行测试时需要按照正确的顺序进行,正确的顺序是:首先进行数据总线测试,接着是地址总线测试,是存储器件测试。
⑴ 数据总线测试
目的:确定任何由处理器放置在数据总线上的值都被另一端的存储设备正确接收。
方法:走1测试法。
5. 制定测试算法(continued)
⑵ 地址总线测试
目的:地址总线的问题会导致存储区域的重叠
方法:测试位置2n
⑶ 存储器件测试
目的:存储器件测试用于测试存储器件本身的完整性,要确认器件中的每一位都没有故障。
方法:抽样测试
⑷ 综合测试
进行了上面三种测试之后进行。
1 ROM
小规模容量,Bootloader载体
容量16KB到32KB
2 SRAM
SRAM Embedded简称为嵌入式SRAM
容量达几百K字节,用作片上Cache,片上SRAM
3 SDRAM
Synchronous Dynamic Random Access Memory
高密度同步动态随机访问存储器
容量在8MB至512MB范围内
4 Flash存储器
大容量中低密度,容量达到32GB