嵌入式系统中存储器类型的选择方法
嵌入式系统存储容量规划试卷

嵌入式系统存储容量规划试卷(答案见尾页)一、选择题1. 嵌入式系统的存储容量通常以什么为单位进行衡量?A. 字节B. 位C. 字D. 千字节(KB)E. 兆字节(MB)2. 在嵌入式系统中,RAM和ROM分别用于存储什么?A. 程序代码和数据B. 数据和程序代码C. 硬件配置和软件配置D. 硬件配置和程序代码E. 软件配置和硬件配置3. 下列哪种类型的存储器具有最快的读写速度?A. RAMB. ROMC. Flash MemoryD. HDDE. SSD4. 在嵌入式系统中,用于长期存储数据和程序的是哪种存储器?A. RAMB. ROMC. Flash MemoryD. HDDE. SSD5. 嵌入式系统中的闪存通常使用哪种技术来实现?A. NOR FlashB. NAND FlashC. SRAMD. DRAME. ROM6. 在嵌入式系统设计中,如何根据需求选择合适的存储容量?A. 根据处理器速度B. 根据内存需求C. 根据存储设备价格D. 根据应用程序大小E. 根据电源消耗7. 嵌入式系统中的存储容量会影响哪些因素?A. 系统性能B. 电池寿命C. 功耗D. 应用程序运行速度E. 系统可扩展性8. 在规划嵌入式系统的存储容量时,需要考虑哪些因素?A. 系统功能需求B. 处理器类型C. 内存容量D. 存储介质类型E. 扩展性需求9. 下列哪种存储技术适用于需要大量数据存储和频繁读写的嵌入式系统?A. NOR FlashB. NAND FlashC. SRAMD. DRAME. HDD10. 在规划嵌入式系统的存储容量时,如何平衡性能、成本和可扩展性?A. 选择高性能的存储设备B. 选择高成本的存储解决方案C. 尽量使用大容量的存储设备D. 平衡各种因素,根据实际需求进行权衡E. 选择可扩展的存储解决方案11. 嵌入式系统的存储容量通常以什么单位来衡量?A. MBB. GBC. TBD. KB12. 在嵌入式系统中,RAM通常用于存储哪些类型的数据?A. 系统代码B. 用户数据C. 驱动程序D. 固件13. 嵌入式系统中常用的存储设备有哪几种?A. 硬盘驱动器(HDD)B. 固态硬盘驱动器(SSD)C. 闪存(如SD卡)D. RAM14. 在进行嵌入式系统存储容量规划时,需要考虑哪些因素?A. 系统需求B. 性能要求C. 成本限制D. 扩展性需求15. 嵌入式系统中,哪种存储设备最适合存储大量数据且成本较低?A. HDDB. SSDC. 闪存D. 磁带16. 在嵌入式系统设计中,如何根据应用需求合理分配存储空间?A. 根据处理器速度B. 根据内存大小C. 根据存储设备的性能和价格D. 根据用户数据量17. 如何判断嵌入式系统中存储容量的是否足够?A. 对比应用需求和实际存储容量B. 只需考虑存储设备的最大容量C. 只需考虑当前存储使用情况D. 只需考虑未来扩展需求18. 在嵌入式系统开发过程中,如何优化存储性能?A. 使用高速存储设备B. 尽可能增加存储容量C. 减少数据传输量D. 采用无缓存机制19. 嵌入式系统在存储容量规划时,应如何平衡性能、成本和可扩展性?A. 优先考虑性能,适当牺牲成本和可扩展性B. 优先考虑成本,适当牺牲性能和可扩展性C. 优先考虑可扩展性,适当牺牲性能和成本D. 平衡各项因素,以达到最佳效果20. 在实际应用中,嵌入式系统可能会遇到存储容量不足的情况,此时可以采取哪些措施来解决?A. 重新分配存储空间B. 增加存储设备C. 优化数据存储结构D. 采用云计算技术二、问答题1. 什么是嵌入式系统的存储容量规划?为什么它如此重要?2. 在嵌入式系统设计中,如何选择合适的存储器类型?3. 什么是嵌入式系统的存储容量单位?它们之间有什么关系?4. 如何评估嵌入式系统的存储性能?5. 在嵌入式系统开发过程中,如何进行存储容量规划?6. 什么是嵌入式系统的存储管理?它是如何工作的?7. 在嵌入式系统中,如何解决存储容量不足的问题?8. 什么是嵌入式系统的存储保护?为什么它很重要?参考答案选择题:1. DE2. AB3. E4. C5. B6. ABCDE7. ABCDE8. ABCDE9. B 10. D11. BC 12. ABC 13. ABCD 14. ABCD 15. C 16. C 17. A 18. AC 19. D 20. ABC问答题:1. 什么是嵌入式系统的存储容量规划?为什么它如此重要?嵌入式系统的存储容量规划是指根据应用需求和系统设计,确定嵌入式系统中使用的存储器类型、容量和性能等参数的过程。
软件资格考试嵌入式系统设计师(基础知识、应用技术)合卷(中级)试卷及答案指导(2025年)

2025年软件资格考试嵌入式系统设计师(基础知识、应用技术)合卷(中级)模拟试卷(答案在后面)一、基础知识(客观选择题,75题,每题1分,共75分)1、嵌入式系统通常指的是什么?A、运行在个人计算机上的操作系统B、运行在专用硬件平台上的软件系统C、用于数据处理的通用软件D、用于网络通信的软件系统2、以下哪个概念不属于嵌入式系统设计的关键要素?A、实时性B、资源优化C、可靠性D、用户界面友好性3、题干:在嵌入式系统中,通常使用哪种类型的微处理器?A. 通用微处理器B. 嵌入式微处理器C. 数字信号处理器D. 光子微处理器4、题干:在嵌入式系统设计中,以下哪种通信接口通常用于高速数据传输?A. SPI(串行外设接口)B. I2C(两线式串行接口)C. CAN(控制器局域网)D. USB(通用串行总线)5、以下关于嵌入式系统设计的基本概念,错误的是:A. 嵌入式系统通常由硬件和软件两部分组成B. 嵌入式系统通常具有实时性要求C. 嵌入式系统设计过程中,硬件和软件的设计往往是相互独立的D. 嵌入式系统通常具有有限的资源6、在嵌入式系统设计中,以下哪个技术用于提高系统的可靠性和稳定性?A. 双机热备份B. 软件冗余C. 实时操作系统D. 硬件冗余7、嵌入式系统中的中断服务程序(ISR)通常采用以下哪种优先级管理方式?A. 固定优先级B. 动态优先级C. 分级优先级D. 无优先级8、在嵌入式系统中,以下哪种存储器在系统运行时不能被重新编程?A. ROM(只读存储器)B. RAM(随机存储器)C. EEPROM(电可擦可编程只读存储器)D. Flash Memory(闪存)9、嵌入式系统中的“中断服务程序”(Interrupt Service Routine,ISR)主要作用是什么?10、以下哪项不是嵌入式系统设计中常见的硬件抽象层(HAL)的功能?11、题目:嵌入式系统通常由哪些主要组成部分构成?A. 微处理器、存储器、输入输出接口、电源B. 微控制器、操作系统、通信接口、应用软件C. 处理器、总线、内存、I/O设备D. 中央处理器、外部设备、操作系统、编程语言12、题目:以下哪个是嵌入式系统的典型应用?A. 智能家居系统B. 计算机操作系统C. 高速互联网交换机D. 大型数据库管理系统13、嵌入式系统中的中断服务程序(ISR)通常具有哪些特点?A. 优先级固定,不可改变B. 执行时间短,响应速度快C. 可由用户自定义执行流程D. 必须在主程序中显式调用14、在嵌入式系统中,以下哪种存储器类型适合用于存储程序代码?A. RAMB. ROMC. EEPROMD. Flash Memory15、嵌入式系统中的实时操作系统(RTOS)与传统操作系统的主要区别是什么?16、在嵌入式系统中,为什么通常使用C语言进行编程?17、嵌入式系统中的中断处理通常采用哪种方式来确保中断服务程序(ISR)能够及时响应?A. 优先级中断B. 中断嵌套C. 中断向量表D. 硬件优先级18、在嵌入式系统设计中,下面哪个不是影响系统实时性的因素?A. CPU的性能B. 外设的响应速度C. 操作系统的调度策略D. 电源的稳定性19、题目:嵌入式系统设计中,实时操作系统(RTOS)与传统操作系统的区别主要在于:A. 实时性要求B. 用户界面C. 处理器架构D. 存储管理 20、题目:在嵌入式系统设计中,以下哪项技术不属于嵌入式系统硬件设计领域?A. 硬件电路设计B. 微处理器选型C. 软件编程D. 电源设计21、题目:在嵌入式系统中,以下哪个组件是负责处理CPU和外设之间的数据传输?A. 总线控制器B. 存储器控制器C. 通信接口D. 输入输出设备22、题目:以下哪种技术常用于嵌入式系统的实时性能优化?A. 多任务处理B. 代码优化C. 事件驱动D. 硬件加速23、嵌入式系统中,以下哪个部件负责存储和管理程序代码和数据处理?A. 微处理器(CPU)B. 外部存储器(如硬盘、U盘)C. 存储器(RAM、ROM)D. 输入输出设备(如键盘、显示器)24、以下哪种通信接口在嵌入式系统中广泛应用于串行通信?A. USBB. I2CC. SPID. CAN25、题目:以下哪个是嵌入式系统的基本组成部分?A. 处理器、存储器、输入输出设备B. 电源、控制器、执行器C. 硬件、软件、接口D. 系统软件、应用软件、网络26、题目:以下哪个不是嵌入式系统的特点?A. 实时性B. 可靠性C. 便携性D. 开放性27、嵌入式系统设计过程中,功耗管理是一个重要环节,以下哪种方法不是降低功耗的有效措施?A. 提高处理器的主频以加快任务处理速度B. 使用动态电压调节技术C. 在不使用时关闭不需要的外设D. 使用低功耗的硬件组件28、在嵌入式系统开发中,RTOS是指什么?A. 实时操作系统B. 可编程逻辑控制器C. 图形用户界面D. 高级程序设计语言29、嵌入式系统中的“裸机”指的是什么?30、以下哪个不是嵌入式系统的特点?A. 实时性B. 专用性C. 网络通信能力D. 系统资源丰富31、在嵌入式系统中,以下哪种存储器是非易失性的,并且可以进行电擦除和重写?A. SRAMB. DRAMC. EEPROMD. Flash32、关于中断处理,下列哪一项描述是不正确的?A. 中断向量表存放了中断服务程序的入口地址。
嵌入式系统的存储器管理技巧

嵌入式系统的存储器管理技巧嵌入式系统是一种专门设计用于特定应用领域的计算系统。
存储器管理在嵌入式系统设计中起着重要的作用,它对系统的性能和资源利用率有着直接影响。
本文将介绍几种常用的嵌入式系统存储器管理技巧,以帮助开发人员更好地设计和优化嵌入式系统。
一、存储器类型概述在嵌入式系统中,存储器通常分为内部存储器和外部存储器两类。
内部存储器通常指的是处理器内部的一级缓存和寄存器,速度较快但容量有限。
外部存储器则是指芯片外部连接的存储介质,如闪存、SDRAM等,容量较大但速度相对较慢。
二、存储器管理技巧1. 内存优化在嵌入式系统设计中,内存的使用非常关键。
为了最大限度地节省内存空间,可以采取以下几种优化技巧。
首先,合理使用数据结构和算法。
选择适合嵌入式系统的轻量级数据结构,如队列、链表等,可以减少内存的占用。
同时,合理选择算法,尽量减少临时变量的使用,减少内存的开销。
其次,进行代码优化。
嵌入式系统的代码大小对存储器的消耗是很大的,因此,合理使用编译器优化选项和去除不必要的代码可以有效减少存储器的使用量。
最后,灵活使用动态内存分配。
动态内存的分配和释放可以根据需要进行,避免不必要的内存占用。
但是需要注意内存泄漏和内存碎片的问题,以避免系统性能下降。
2. 外部存储器管理外部存储器在嵌入式系统中一般包括闪存、SDRAM等。
为了更好地管理外部存储器,可以采取以下技巧。
首先,合理规划存储器空间。
根据系统需求和资源限制,合理规划存储器的分布和使用,避免存储器空间的浪费。
可以采取分区、虚拟内存等技术进行管理。
其次,优化存储器读写操作。
外部存储器的读写速度相对较慢,在设计系统时要尽量减少存储器的读写次数,可采用缓存技术、预取技术等来优化存储器读写性能。
最后,采用压缩和加密技术。
为了提高存储器的利用率,可以采用数据压缩技术对存储的数据进行压缩,减少存储器的使用量。
另外,对敏感数据进行加密,确保数据的安全性。
3. 文件系统选择在嵌入式系统中,文件系统的选择也对存储器的管理起着重要作用。
嵌入式存储器架构、电路及应用

嵌入式存储器架构、电路及应用嵌入式存储器是指应用于嵌入式系统中的一种存储器,它通常被集成在芯片中,用于存储程序代码、数据和配置信息等。
嵌入式存储器架构、电路和应用技术的发展,对嵌入式系统的性能和功能提升起到了重要作用。
一、嵌入式存储器架构嵌入式存储器的架构有多种类型,常见的包括非易失性存储器(NVM)、闪存存储器、动态随机存储器(DRAM)和静态随机存储器(SRAM)等。
每种存储器架构都有其特点和适用场景。
1. 非易失性存储器(NVM)是一种能够长期保存数据的存储器。
它具有快速读取、耐用性强、低功耗等特点,适用于存储程序代码和配置信息等。
常见的NVM类型有闪存存储器和EEPROM。
2. 闪存存储器是一种非易失性存储器,广泛应用于嵌入式系统中。
它具有高密度、低功耗、可擦写性好等特点,适用于存储大量的数据和文件。
常见的闪存存储器包括NOR闪存和NAND闪存。
3. 动态随机存储器(DRAM)是一种易失性存储器,用于临时存储数据。
它具有高速读写、容量大等特点,适用于存储临时数据和运行时数据。
DRAM主要用于嵌入式系统的主存储器。
4. 静态随机存储器(SRAM)是一种易失性存储器,用于高速缓存和寄存器等。
它具有高速读写、低功耗、抗干扰性强等特点,适用于存储高速访问的数据。
SRAM常用于嵌入式系统的缓存和寄存器。
二、嵌入式存储器电路嵌入式存储器的电路设计对于存储器的性能和功耗有着重要影响。
常见的嵌入式存储器电路有预取缓存、写缓冲、地址解码器和数据通路等。
1. 预取缓存是一种用于提高存储器访问速度的技术。
它通过预先将数据从存储器中读取到缓存中,减少了存储器访问的延迟。
预取缓存可以根据程序的访问模式进行优化,提高嵌入式系统的性能。
2. 写缓冲是一种用于提高存储器写入速度的技术。
它将写入的数据暂时存储在缓存中,然后再定期将数据写入存储器。
写缓冲可以减少存储器写入的次数,提高存储器的写入性能。
3. 地址解码器是一种用于将存储器的地址信号转换为存储器的片选信号的电路。
嵌入式系统中常见的存储器介绍与选择指南

嵌入式系统中常见的存储器介绍与选择指南嵌入式系统是指集成了专用计算和控制功能,并被嵌入到其他设备或系统中的微型计算机系统。
这些系统通常需要存储数据和程序代码。
在嵌入式系统中,存储器的选择是关键的,因为它不仅会影响系统的性能和可靠性,还会直接影响到成本和功耗。
本文将介绍一些常见的存储器类型,并提供选择存储器的指南。
首先,让我们来了解一些嵌入式系统中常见的存储器类型。
1. 随机访问存储器(RAM):RAM是一种易失性存储器,它用于存储临时数据和程序指令。
它的读写速度很快,适合对频繁访问的数据进行操作。
在嵌入式系统中,静态随机存储器(SRAM)通常用于高性能和低功耗需求的应用,而动态随机存储器(DRAM)则用于一般性能和成本要求不高的应用。
2. 只读存储器(ROM):ROM是一种非易失性存储器,它用于存储固定的程序代码和数据。
它的内容不能被修改,因此适用于存储启动代码和固件等不经常变动的数据。
EPROM(可擦写可编程只读存储器)和闪存(Flash)是常见的ROM类型,它们可以通过特殊的擦写操作来修改存储的内容。
3. 闪存(Flash)存储器:闪存是一种非易失性存储器,它结合了ROM和RAM的特性。
它可以被擦写和重写,而且读写速度相对较慢。
闪存广泛应用于存储操作系统、应用程序和数据等常常需要修改的信息。
4. 噪声闪存(EEPROM):EEPROM是一种擦写可编程的非易失性存储器,它允许通过电子擦写来修改存储的内容。
EEPROM的擦写过程相对较慢,但可以单字节地进行操作,而无需像某些闪存那样进行块擦除。
5. 磁盘存储器:磁盘存储器通常用于大容量数据存储。
硬盘驱动器(HDD)是一种机械设备,由旋转的盘片和移动的读写臂组成,在嵌入式系统中不常见。
相反,固态盘驱动器(SSD)由闪存芯片组成,速度更快、高速和无噪音。
现在,让我们来看一些关于如何选择嵌入式系统中存储器的指南。
1. 性能要求:根据系统需要,明确性能要求是选择适当存储器的关键。
嵌入式存储器架构

嵌入式存储器架构引言嵌入式存储器是嵌入式系统中的一个关键组成部分,用于存储程序代码、数据以及操作系统,对系统的性能和功耗有着重要影响。
嵌入式存储器架构的设计和优化决定了嵌入式系统的整体性能和功耗效率。
本文将介绍嵌入式存储器的基本概念、常见的嵌入式存储器架构以及一些优化技术。
基本概念嵌入式存储器类型嵌入式存储器可以分为两种类型:ROM(只读存储器)和RAM(随机访问存储器)。
•ROM是一种只读存储器,数据可以被写入一次,之后只能读取。
常见的ROM包括FLASH和EPROM(可擦除可编程只读存储器)。
•RAM是一种随机访问存储器,数据可以被任意读写。
常见的RAM包括SRAM(静态随机访问存储器)和DRAM(动态随机访问存储器)。
存储器层次结构嵌入式系统中的存储器通常按照访问速度和容量进行划分,有着多层次的结构。
典型的存储器层次结构如下:1.寄存器:在CPU内部,速度最快,但容量较小,一般用于临时存储数据和指令。
2.高速缓存(Cache):位于CPU内部或CPU和主存之间,速度较快,容量适中,用于存储最常用的数据和指令。
3.主存储器:位于CPU外部,速度较慢,容量较大,用于存储程序代码和数据。
4.外部存储器:主要指存储器芯片外的存储设备,如硬盘、闪存、SD卡等,容量更大,但速度更慢。
嵌入式存储器架构ROM架构ROM是一种只读存储器,常见的ROM架构有:1.只读存储器(Read-Only Memory, ROM):数据只能被写入一次,之后只能读取。
ROM常用于存储程序代码。
2.可擦除可编程只读存储器(Erasable Programmable Read-Only Memory, EPROM):数据可以被擦除和编程,允许多次修改。
EPROM需要通过特殊的设备进行擦写和编程。
3.闪存(Flash Memory):一种可擦写存储器,允许对特定扇区进行擦除和编程。
闪存被广泛应用于嵌入式系统中。
RAM架构RAM是一种随机访问存储器,常见的RAM架构有:1.静态随机访问存储器(Static Random-Access Memory, SRAM):使用触发器实现存储单元,速度快,功耗较高,常用于高性能系统。
嵌入式面试题目试题(3篇)

第1篇一、基础知识1. 问题:简述嵌入式系统的定义和特点。
答案:嵌入式系统是指将计算机技术应用于特定领域,将硬件和软件结合在一起,形成具有特定功能的独立系统。
其特点包括:实时性、可靠性、低功耗、小体积、低成本等。
2. 问题:嵌入式系统与通用计算机系统的区别有哪些?答案:嵌入式系统与通用计算机系统的区别主要有以下几点:(1)设计目标不同:嵌入式系统面向特定应用,通用计算机系统面向通用应用;(2)硬件资源不同:嵌入式系统硬件资源有限,通用计算机系统硬件资源丰富;(3)软件系统不同:嵌入式系统软件系统相对简单,通用计算机系统软件系统复杂;(4)实时性要求不同:嵌入式系统对实时性要求较高,通用计算机系统实时性要求较低。
3. 问题:嵌入式系统中的CPU有哪些特点?答案:嵌入式系统中的CPU具有以下特点:(1)低功耗:为了满足嵌入式系统对功耗的要求,CPU需要具备低功耗的特性;(2)高性能:为了提高嵌入式系统的处理速度,CPU需要具备高性能的特性;(3)可扩展性:为了适应不同的应用需求,CPU需要具备可扩展性;(4)集成度:为了减小嵌入式系统的体积,CPU需要具备高集成度。
4. 问题:什么是嵌入式系统中的裸机?答案:嵌入式系统中的裸机是指没有操作系统和应用程序的CPU。
裸机主要用于学习和实验,也可以用于一些对实时性要求较高的应用。
5. 问题:什么是嵌入式系统中的实时操作系统(RTOS)?答案:实时操作系统(RTOS)是一种专门为实时应用设计的操作系统。
它具有以下特点:(1)实时性:RTOS能够满足实时应用对时间的要求;(2)可靠性:RTOS具有较高的可靠性,能够保证系统稳定运行;(3)可预测性:RTOS的性能可预测,便于应用开发。
二、硬件知识1. 问题:简述嵌入式系统中常用的存储器类型及其特点。
答案:嵌入式系统中常用的存储器类型及其特点如下:(1)RAM(随机存储器):用于存储临时数据,断电后数据会丢失;(2)ROM(只读存储器):用于存储程序代码,断电后数据不会丢失;(3)Flash(闪存):具有RAM和ROM的特点,既可读写,又可断电保存数据;(4)EEPROM(电可擦可编程只读存储器):可擦写,断电后数据不会丢失。
嵌入式系统中的数据存储技术

嵌入式系统中的数据存储技术嵌入式系统是指在特定应用领域中,集成了计算机硬件和软件,并具备特定功能的计算机系统。
数据存储技术在嵌入式系统中扮演着至关重要的角色。
本文将探讨嵌入式系统中常用的数据存储技术,包括闪存存储器、EEPROM、RAM等。
通过了解这些技术,可以帮助我们更好地了解和应用嵌入式系统中的数据存储。
一、闪存存储器闪存存储器是一种非易失性存储器,主要用于嵌入式系统的程序和数据存储。
它具有高速读写、低功耗、体积小等特点,因此被广泛应用于移动设备、数字相机、固态硬盘等领域。
闪存存储器由一系列的存储单元组成,每个存储单元可以存储0或1的二进制数据。
常见的闪存存储器有NAND闪存和NOR闪存两种类型。
NAND闪存适合做大容量的数据存储,而NOR闪存则适合运行代码存储。
闪存存储器的特点是可擦写和可重写,这使得嵌入式系统的程序和数据可以灵活地进行更新和修改。
二、EEPROM(可擦写可编程只读存储器)EEPROM是一种常用的非易失性存储器,适合在嵌入式系统中存储小容量的数据。
与闪存不同,EEPROM可以随机读写,而且擦写次数可以达到百万级别。
它在电源断电的情况下也能保持数据的稳定性,因此被广泛应用于嵌入式系统中的参数存储、配置信息存储等方面。
EEPROM的工作原理是通过电子激励擦除存储单元中的电荷,进而改变存储单元的状态。
通常情况下,EEPROM需要使用特定的擦写器件进行擦写操作,这就要求嵌入式系统的设计中考虑到EEPROM的使用和擦写原则。
三、RAM(随机访问存储器)RAM是一种易失性存储器,用于嵌入式系统中的临时数据存储。
它的存储速度快,适合频繁读写的操作。
RAM有两种常见的类型:静态RAM(SRAM)和动态RAM(DRAM)。
静态RAM由触发器构成,每个存储单元由六个晶体管组成,因此存储密度较低。
它具有快速读写速度、低功耗等特点,非常适合嵌入式系统中常驻的数据存储。
动态RAM由电容构成,每个存储单元由一个电容和一个传输开关组成,因此存储密度较高。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统中存储器类型的选择方法嵌入式系统中存储器类型的选择方法存储器的类型将决定整个嵌入式系统的操作和性能,因此存储器的选择是一个非常重要的决策。
无论系统是采用电池供电还是由市电供电,应用需求将决定存储器的类型(易失性或非易失性)以及使用目的(存储代码、数据或者两者兼有)。
另外,在选择过程中,存储器的尺寸和成本也是需要考虑的重要因素。
对于较小的系统,微控制器自带的存储器就有可能满足系统要求,而较大的系统可能要求增加外部存储器。
为嵌入式系统选择存储器类型时,需要考虑一些设计参数,包括微控制器的选择、电压范围、电池寿命、读写速度、存储器尺寸、存储器的特性、擦除/写入的耐久性以及系统总成本。
图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与FRAMEEPROM和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中。
不管选择哪种存储器类型,在确定将被用于最终应用系统的存储器之前,设计工程师必须仔细折中考虑各种设计因素。