IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 嵌入式系统存储器 -> 正文阅读

[嵌入式]嵌入式系统存储器

简介

首先分为两大类:主存(内存)和辅存(非易失存储)。

主存和辅存的区别主要是访问速度和数据易失性两个考量。

主存速度快,但掉电后数据丢失。

辅存能掉电后保存数据,但访问速度慢。比如PC的硬盘。

内存

在嵌入式系统中,主存分为SRAM和DRAM,在速度和成本方面有着差异。

1,Static Random Access Memory (SRAM)

速度快,大概是DRAM的4倍。但每一bit的数据,需要更多的晶体管,所以更贵。

2,Dynamic Random Access Memory (DRAM)

为了保持数据,需要每隔几毫秒就刷新一下,否则数据就会被擦除。即使电源没断电还是需要刷新。

因为DRAM中的数据bit是保存在电容中,经过一定时间数据就会消失,所以需要一个控制器,不断选中一行行地址来补充电荷。

这个周期是ms级别的,比如1s中刷新4次。

因为有刷新操作,所以耗电更多。

最开始的SRAM就叫做RAM,后来DRAM出现了,才从RAM改名为SRAM,以示区分。

在嵌入式系统中,通常是SRAM和DRAM混合使用。

辅存

一般是用来存储程序和数据的电子器件。

第一个,要介绍的是掩膜ROM(Masked ROM)。

掩膜的意思是指这种IC器件的生产方式,是工艺厂家根据客户所要存储的信息,设计专用的掩膜板进行生产的。

这个是在存储器件制造的过程中,就把数据写进去,所以后面也无法更新数据。

这种功能和应用的使用场景,一般是用来存储微控制器的bootloader程序,还有微处理器的微码程序。

微码就是CPU中的软件,用来将复杂的指令转换成CPU可以能字节执行的简单指令序列,或者预防CPU硬件设计问题,能提供一些软件补救措施。

比如硬件电路设计不对,就要飞个线,但CPU没法飞线,就使用软件改变一些控制位,来改变电路行为。

这样的话,CPU得到一个指令,就可以根据不同的控制条件,来输出不同的操作。

这种存储使用的场景,一般是大规模生产的,生命周期很长的产品,从而成本控制很严格。

并且每个bit数据比其他种类存储器件需要的空间很小,这样设计出来的集成电路也就更小,所以厂商很很喜欢这一点。

第二个,是PROM,指Programmable Read-Only Memory。也称为OTP ROM,one time Programable ROM。

和掩膜ROM不同,可以烧写一次,烧写完后既不能擦除也不能再烧写。

比如台湾松瀚Sonix的8bit的芯片,SN8PXXXX,低功耗的8位微控制器MCU,4KB的OTP ROM,表示,只能烧写一次,所以用调试器调试好再发布量产软件,出厂了就不能改了。

当时用这个芯片,好像有个功能用调试器模拟不来,好像是休眠功耗,要测电流。所以改一次代码,用烧写器烧一个芯片,然后再把旧芯片吹下来,新芯片贴上去,很麻烦。

不过这么少的资源,功能一定很简单,成本也很低,自然是符合其使用场景的,不能重新烧写也没问题,还有内存SRAM是256个字节。

使用场景(Function and Application area):

用于大规模生产的,但生命周期相对掩膜ROM短一些的产品。

较短的生命周期是因为科技迭代较快,可能每年就会有新的产品推出,所以使用掩膜ROM来做不划算。

考虑投入产出比(cost/benefit trade-off)。

这类产品包括TV,微波炉和洗碗机等。

第三个,是EPROM。

全程Erasable Programmable Read-Only Memory。这类器件通常在顶部有一个小的玻璃窗口,如果在紫外线直射下可以擦除芯片数据。

擦除以后,就能够再次烧写数据。

使用场景:

和PROM类似,也是用来存储源代码生成的软件和常量数据。但这类芯片经常用于软件开发阶段,因为可以重复擦除和烧写,这在开发阶段很有用。

在开发完成后,硬件设计师通常会把这个芯片换成PROM。这样PROM和EPROM的最终使用场景是类似的。

第四个,EEPROM。

全称是Electrically Erasable Programmable Read-Only Memory。

这类器件使用电压就可以重新擦除和烧写,而不用像EPROM一样,使用UV(紫外)射线。

使用场景:

一般有三个,

1,在产品开发阶段用于存储软件。

2,存储产品使用过程中需要的常量数据。

3,用于软件可升级的产品。

掩膜ROM,PROM和EPROM是真正的ROM,因为它们仅可读,但EEPROM可以作为一个仅可读和可读可写存储设备的混合体。

通过控制器的操作,EEPROM的每个数据bit是可编程的,并且和RAM相比是非易失的数据。

这样在产品出场并到达用户手中时,产品制造商还可以对软件进行升级,这提高了产品的品质。

第五个,Flash存储器。

这是目前最流行的存储器,根据类型区分有Nor Flash,Nand flash等,根据接口区分有SPI-Flash等。

和EEPROM一样,可擦除可重写,但不是一个bit一个bit操作,而是一个block位单位操作。

Block的大小是多个字节,在芯片手册中可以查询。

使用场景:

Flash Memory的最大优点是经济性(cost-effective),以每个字节为单位来计算,这个比EEPROM要便宜的多。

所以可以用来存储很大的文件。现在越来越复杂的嵌入式系统,也需要更多的存储空间来存储软件和数据。

第六个,NVRAM (Non Volatile Random Access Memory)

这是一种特殊的RAM,用来存储维持性数据。基本上就是一个SRAM带一个供电(比如纽扣电池CR2302),也叫做RAM disks。

使用场景:

一般使用在启动时间很重要的场合。毫秒级的时间损失都是不可接受的。

所以不能从一个低速的存储器中,比如flash或EEPROM中来加载程序。

一般只是把这低速存储器作为备份,在更换电池时,把运行中的数据存到备份存储器中,电池更换后,再重新载入。

参考链接:

https://embeddedinventor.com/8-types-of-memory-every-embedded-engineer-should-know-about/

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 23:07:51  更:2021-07-14 23:08:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 15:30:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码