0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

存储器的类型选择的技巧和应遵循的基本原则

电子设计 来源:赛迪网 作者:佚名 2020-05-20 07:54 次阅读

存储器的类型将决定整个嵌入式系统的操作和性能,因此存储器的选择是一个非常重要的决策。

无论系统是采用电池供电还是由市电供电,应用需求将决定存储器的类型(易失性或非易失性)以及使用目的(存储代码、数据或者两者兼有)。另外,在选择过程中,存储器的尺寸和成本也是需要考虑的重要因素。对于较小的系统,微控制器自带的存储器就有可能满足系统要求,而较大的系统可能要求增加外部存储器。为嵌入式系统选择存储器类型时,需要考虑一些设计参数,包括微控制器的选择、电压范围、电池寿命、读写速度、存储器尺寸、存储器的特性、擦除/写入的耐久性以及系统总成本。

图1列出了在嵌入式应用系统中最常用的存储器类型。下面讨论在选择存储器时应遵循的基本原则。

存储器的类型选择的技巧和应遵循的基本原则

选择存储器时应遵循的基本原则

1.内部存储器与外部存储器

一般情况下,当确定了存储程序代码和数据所需要的存储空间之后,设计工程师将决定是采用内部存储器还是外部存储器。通常情况下,内部存储器的性价比最高但灵活性最低,因此设计工程师必须确定对存储的需求将来是否会增长,以及是否有某种途径可以升级到代码空间更大的微控制器。基于成本考虑 ,人们通常选择能满足应用要求的存储器容量最小的微控制器,因此在预测代码规模的时候要必须特别小心,因为代码规模增大可能要求更换微控制器。

目前市场上存在各种规模的外部存储器器件,我们很容易通过增加存储器来适应代码规模的增加。有时这意味着以封装尺寸相同但容量更大的存储器替代现有的存储器,或者在总线上增加存储器。即使微控制器带有内部存储器,也可以通过增加外部串行EEPROM或闪存来满足系统对非易失性存储器的需求。

2.引导存储器

在较大的微控制器系统或基于处理器的系统中,设计工程师可以利用引导代码进行初始化。应用本身通常决定了是否需要引导代码,以及是否需要专门的引导存储器。例如,如果没有外部的寻址总线或串行引导接口,通常使用内部存储器,而不需要专门的引导器件。但在一些没有内部程序存储器的系统中,初始化是操作代码的一部分,因此所有代码都将驻留在同一个外部程序存储器中。某些微控制器既有内部存储器也有外部寻址总线,在这种情况下,引导代码将驻留在内部存储器中,而操作代码在外部存储器中。这很可能是最安全的方法,因为改变操作代码时不会出现意外地修改引导代码。在所有情况下,引导存储器都必须是非易失性存储器。

3.配置存储器

对于现场可编程门阵列(FPGA)或片上系统(SoC),人们使用存储器来存储配置信息。这种存储器必须是非易失性EPROM、EEPROM或闪存。大多数情况下,FPGA采用SPI接口,但一些较老的器件仍采用FPGA串行接口。串行EEPROM或闪存器件最为常用,EPROM用得较少。

4.程序存储器

所有带处理器的系统都采用程序存储器,但设计工程师必须决定这个存储器是位于处理器内部还是外部。在做出了这个决策之后,设计工程师才能进一步确定存储器的容量和类型。当然有的时候,微控制器既有内部程序存储器也有外部寻址总线,此时设计工程师可以选择使用它们当中的任何一个,或者两者都使用。这就是为什么为某个应用选择最佳存储器的问题,常常由于微控制器的选择变得复杂起来,以及为什么改变存储器的规模也将导致改变微控制器的选择的原因。

如果微控制器既利用内部存储器也利用外部存储器,则内部存储器通常被用来存储不常改变的代码,而外部存储器用于存储更新比较频繁的代码和数据。设计工程师也需要考虑存储器是否将被在线重新编程或用新的可编程器件替代。对于需要重编程功能的应用,人们通常选用带有内部闪存的微控制器,但带有内部OTP或ROM和外部闪存或EEPROM的微控制器也满足这个要求。为降低成本,外部闪存可用来存储代码和数据,但在存储数据时必须小心避免意外修改代码。

在大多数嵌入式系统中,人们利用闪存存储程序以便在线升级固件。代码稳定的较老的应用系统仍可以使用ROM和OTP存储器,但由于闪存的通用性,越来越多的应用系统正转向闪存。表1给出了程序存储器类型的参数比较。

5.数据存储器

与程序存储器类似,数据存储器可以位于微控制器内部,或者是外部器件,但这两种情况存在一些差别。有时微控制器内部包含SRAM(易失性)和EEPROM(非易失)两种数据存储器,但有时不包含内部EEPROM,在这种情况下,当需要存储大量数据时,设计工程师可以选择外部的串行EEPROM或串行闪存器件。当然,也可以使用并行EEPROM或闪存,但通常它们只被用作程序存储器。

当需要外部高速数据存储器时,通常选择并行SRAM并使用外部串行EEPROM器件来满足对非易失性存储器的要求。一些设计还将闪存器件用作程序存储器,但保留一个扇区作为数据存储区。这种方法可以降低成本、空间并提供非易失性数据存储器。

针对非易失性存储器要求,串行EEPROM器件支持I2C、SPI或微线(Microwire)通讯总线,而串行闪存通常使用SPI总线。由于写入速度很快且带有I2C和SPI串行接口,FRAM在一些系统中得到应用。表2比较了各类数据存储器的优缺点。

6.易失性和非易失性存储器

存储器可分成易失性存储器或者非易失性存储器,前者在断电后将丢失数据,而后者在断电后仍可保持数据。设计工程师有时将易失性存储器与后备电池一起使用,使其表现犹如非易失性器件,但这可能比简单地使用非易失性存储器更加昂贵。然而,对要求存储器容量非常大的系统而言,带有后备电池的DRAM可能是满足设计要求且性价比很高的一种方法。

在有连续能量供给的系统中,易失性或非易失性存储器都可以使用,但必须基于断电的可能性做出最终决策。如果存储器中的信息可以在电力恢复时从另一个信源中恢复出来,则可以使用易失性存储器。

选择易失性存储器与电池一起使用的另一个原因是速度。尽管非易失存储器件可以在断电时保持数据,但写入数据(一个字节、页或扇区 )的时间较长。

7.串行存储器和并行存储器

在定义了应用系统之后,微控制器的选择是决定选择串行或并行存储器的一个因素。对于较大的应用系统,微控制器通常没有足够大的内部存储器,这时必须使用外部存储器,因为外部寻址总线通常是并行的,外部的程序存储器和数据存储器也将是并行的。

较小的应用系统通常使用带有内部存储器但没有外部地址总线的微控制器。如果需要额外的数据存储器,外部串行存储器件是最佳选择。大多数情况下,这个额外的外部数据存储器是非易失性的。

根据不同的设计,引导存储器可以是串行也可以是并行的。如果微控制器没有内部存储器,并行的非易失性存储器件对大多数应用系统而言是正确的选择。但对一些高速应用,可以使用外部的非易失性串行存储器件来引导微控制器,并允许主代码存储在内部或外部高速SRAM中。

8.EEPROM与闪存

存储器技术的成熟使得RAM和ROM之间的界限变得很模糊,如今有一些类型的存储器(如EEPROM和闪存)组合了两者的特性。这些器件像RAM一样进行读写,并像ROM一样在断电时保持数据,它们都可电擦除且可编程,但各自有它们优缺点。

从软件角度看,独立的EEPROM和闪存器件是类似的,两者主要差别是EEPROM器件可以逐字节地修改,而闪存器件只支持扇区擦除以及对被擦除单元的字、页或扇区进行编程。对闪存的重新编程还需要使用SRAM,因此它要求更长的时间内有更多的器件在工作,从而需要消耗更多的电池能量。设计工程师也必须确认在修改数据时有足够容量的SRAM可用。

存储器密度是决定选择串行EEPROM或者闪存的另一个因素。市场上目前可用的独立串行EEPROM器件的容量在128KB或以下,独立闪存器件的容量在32KB或以上。

如果把多个器件级联在一起,可以用串行EEPROM实现高于128KB的容量。很高的擦除/写入耐久性要求促使设计工程师选择EEPROM,因为典型的串行EEPROM可擦除/写入100万次。闪存一般可擦除/写入1万次,只有少数几种器件能达到10万次。

今天,大多数闪存器件的电压范围为2.7V到3.6V。如果不要求字节寻址能力或很高的擦除/写入耐久性,在这个电压范围内的应用系统采用闪存,可以使成本相对较低。

9.EEPROM与FRAM

EEPROM和FRAM的设计参数类似,但FRAM的可读写次数非常高且写入速度较快。然而通常情况下,用户仍会选择EEPROM而不是FRAM,其主要原因是成本(FRAM较为昂贵)、质量水平和供货情况。设计工程师常常使用成本较低的串行EEPROM,除非耐久性或速度是强制性的系统要求。

DRAM和SRAM都是易失性存储器,尽管这两种类型的存储器都可以用作程序存储器和数据存储器,但SRAM主要用于数据存储器。DRAM与SRAM之间的主要差别是数据存储的寿命。只要不断电,SRAM就能保持其数据,但DRAM只有极短的数据寿命,通常为4毫秒左右。

与SRAM相比,DRAM似乎是毫无用处的,但位于微控制器内部的DRAM控制器使DRAM的性能表现与SRAM一样。DRAM控制器在数据消失之前周期性地刷新所存储的数据,所以存储器的内容可以根据需要保持长时间。

由于比特成本低,DRAM通常用作程序存储器,所以有庞大存储要求的应用可以从DRAM获益。它的最大缺点是速度慢,但计算机系统使用高速SRAM作为高速缓冲存储器来弥补DRAM的速度缺陷。

表3总结了本文提到的各类存储器的特性。需要注意的是,不同类型的存储器的适合情况不同,每种类型都有自己的优点和弱点,所以逐项比较并非总能得到有意义的结果。

本文小结

尽管我们几乎可以使用任何类型的存储器来满足嵌入式系统的要求,但终端应用和总成本要求通常是影响我们做出决策的主要因素。有时,把几个类型的存储器结合起来使用能更好地满足应用系统的要求。例如,一些PDA设计同时使用易失性存储器和非易失性存储器作为程序存储器和数据存储器。把永久的程序保存在非易失性ROM中,而把由用户下载的程序和数据存储在有电池支持的易失性DRAM中。不管选择哪种存储器类型,在确定将被用于最终应用系统的存储器之前,设计工程师必须仔细折中考虑各种设计因素。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7542

    浏览量

    151316
  • 存储器
    +关注

    关注

    38

    文章

    7484

    浏览量

    163763
收藏 人收藏

    评论

    相关推荐

    汽车电源架构设计需要遵循哪些原则

    汽车电源架构在设计时需要遵循的六项基本原则。但不是每个设计师都对这些原则有很透彻的了解。本文将对汽车电源设计遵循的六大
    发表于 04-02 19:38 3117次阅读
    汽车电源架构设计需要<b class='flag-5'>遵循</b>哪些<b class='flag-5'>原则</b>?

    FPGA设计基本原则及设计思想

    基本原则。二、Verilog的分层建模Verilog HDL 作为一种HDL语言,对系统行为的建模方式是分层次的。比较重要的层次有系统级(system)、算法级(Algorithm)、寄存传输级(RTL
    发表于 10-11 12:26

    MOS设计选型的基本原则

    6个MOS设计选型的基本原则
    发表于 03-18 07:04

    汽车电源设计要遵循哪几项基本原则

    汽车电源设计要遵循哪几项基本原则?汽车通用电源的拓扑架构有哪几种?
    发表于 05-12 06:42

    电源IC的选择基本原则

    及成本等问题。这里给出一些选择基本原则,供参考。成本等问题。这里给出一些选择基本原则,供参考。1、优先考虑升压式DC/DC变换采用升压式D
    发表于 11-17 08:10

    光纤收发故障维护的基本原则和方法

      §1.1 进行光纤收发故障维护遵循基本原则:   一、进行故障维护判断须从最简单的事情做起   简单的事情,一方面指观察,另一方面是指简捷的环境
    发表于 08-25 16:05 0次下载

    搭配功放和音箱的基本原则

    搭配功放和音箱的基本原则 HIFI器材的搭配非常重要。虽然其中有不少主观因素在内,但功放和音箱的搭配,则必须遵循几大原则,如
    发表于 12-15 10:55 2451次阅读

    内电层分割基本原则

    内电层分割基本原则,内电层分割基本原则,内电层分割基本原则
    发表于 12-24 11:02 0次下载

    PCB设计基本原则

    PCB设计基本原则,好东西,喜欢的朋友可以下载来学习。
    发表于 01-18 15:17 0次下载

    汽车电源架构设计的六项基本原则

    多数汽车的电源架构在设计时都要遵循最基本的原则,但不是每个设计师都对这些原则有很透彻的了解。本文将对汽车电源设计遵循的六大
    发表于 11-03 16:29 4次下载

    选择GPU服务基本原则有哪些

    在介绍选择GPU服务基本原则之前,先来跟大家介绍下常见的GPU和GPU服务
    的头像 发表于 02-24 13:29 3055次阅读

    选择PLC时需遵循哪些基本原则

    PLC也叫可编程逻辑控制,它是我们实现自动化生产的核心部件。那么,在选择PLC的时候,我们都需要遵循哪些基本的原则呢?
    的头像 发表于 06-12 11:04 1865次阅读

    工业传感选型的六大基本原则

    工业传感选型的六大基本原则
    的头像 发表于 01-06 09:17 1105次阅读

    选择IGBT的基本原则是什么

    选择IGBT的基本原则涉及以下几个方面: 电压等级:选择合适的IGBT要考虑其能够承受的电压等级。通常情况下,IGBT的额定电压等级大于实际电路中的最高电压。 电流容量:根据电路的负
    的头像 发表于 03-12 15:29 1269次阅读

    电路仿真所遵循基本原则是什么

    电路仿真是一种基于电子计算机进行模拟的技术,用于分析和预测电路的行为和性能。它可以帮助设计师优化电路的功能、减少成本和提高可靠性。为了保证仿真结果的准确性和可靠性,电路仿真需要遵循一些基本原则。本文
    的头像 发表于 04-21 10:20 1241次阅读