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

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

3天内不再提示

扒一扒单片机与存储器的那些事

贸泽电子 来源:贸泽电子 2025-04-10 10:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

单片机与存储器的关系像什么?单片机里的存储都是一样的吗?为什么有的单片机既有EEPROM又有Flash?

本期贸泽科普实验室,就来扒一扒单片机与存储器的那些事——

01单片机与存储器的关系像什么?

请你用比喻来形容下存储与单片机的关系,你会用什么呢?

我觉得他们很像大脑与大脑的记忆系统,大脑(单片机)掌控着身体(嵌入式系统)的各项活动和决策,记忆系统存储那些与生俱来的本能反应和经过长期学习固化下来的知识(ROM),也短暂存储当前正在思考和处理的信息(RAM),比如刚刚看到的一个电话号码,一旦注意力转移(断电),这个短期记忆就会遗忘(数据清除)。所以,如果存储不工作了,无论性能多高的器件,都得“凉凉”。

25fa4982-14d6-11f0-9310-92fbcf53809c.png

02单片机里的存储都是一样的吗?

以超低功耗32位MCU STM32L151R6-A为例,下图是其电路框图,标红的部分就是在MCU内部集成的存储器。

26278ec4-14d6-11f0-9310-92fbcf53809c.png

在单片机中,为什么会有这么多种类的存储呢?捋一遍STM32L151R6-A单片机的工作过程就立刻清晰明了了。

1)在单片机上电复位之后,首先需要执行的是引导代码,就如电脑的系统一样,引导程序的目的是初始化系统硬件,如时钟、外设等,并将应用程序从其他存储器,如Flash,加载到SRAM中,然后跳转到应用程序的入口地址开始执行。此外,引导程序还可以提供一些基本的调试和下载功能,方便开发者对MCU进行程序烧录和调试。Boot ROM是单片机正常工作使用的第一个存储器。

264979f8-14d6-11f0-9310-92fbcf53809c.png

当然,并不是所有MCU都有Boot ROM,像一些简单、低端的单片机本身是不需要复杂的引导过程的,还有一些自定义设计的特殊单片机,可以通过外部电路或者其他的特殊机制来实现程序的启动和加载。

2)单片机启动之后,需要去完成某个具体的应用功能,比如智能家居应用,单片机要控制灯光,实现这个功能的应用代码在PC编写完成之后,会被烧录到单片机里的存储器中,这个存储器就是Flash。除了所有的应用程序之外,Flash存储一些需要长期保存的数据,如系统配置参数、校准数据等,这些数据在设备运行过程中可能会被读取或修改,但在断电后依然能够保留。

2668c434-14d6-11f0-9310-92fbcf53809c.png

3)单片机系统在运行时,可能会产生大量的数据,这些数据需要频繁的修改,但又不能丢失,比如温湿度的调节,需要实时根据情况更新数据,但数据保存后,在下次启动时,不能丢失,这些数据就会被存储在另外一种ROM,EEPROM里。

4)前面提到的控制灯光功能,假设需要根据光的强度进行控制,就要使用光传感器,单片机要对传感器测得的光线数据进行处理、运算,会产生临时数据、中间结果,这些会被暂时存放在SRAM中,而且程序通常从Flash加载到SRAM执行。

5)任何电子系统都有可能出现异常情况,比如电源故障。在故障修复之后,如何能够保证系统恢复到正常状态?这就需要Backup Data存储器中存储的关键备份数据,比如运行状态信息、配置信息等。

从单片机系统的运行过程来看,这些存储器扮演着重要的角色,虽然种类多,但缺一不可。

03既有EEPROM又有Flash的单片机

这要从早期ROM说起,初始的ROM数据写入方式是在ROM的制造工序中,芯片厂商用特殊的方法烧录进去的,一次性写入内容后,用户只能验证写入的资料是否正确,不能再作任何修改。这,工程师怎么能忍,于是就有了可编程只读存储器(PROM),PROM允许在制造后由工程师使用编程器写入数据,但只能写入一次,之后就不能再更改了,额,只能写一次?这不相当于人生下来,只能吃一顿饭一样?还得改。

26aaadb8-14d6-11f0-9310-92fbcf53809c.png

为了解决不能重复写入的问题,EPROM出现了,EPROM芯片可重复擦除和写入,它有一个很明显的特征,就是它正面的陶瓷封装上,开有一个玻璃窗口,透过这个窗口,可以看到其内部的集成电路,当紫外线透过这个窗口照射内部芯片时,就可以擦除其内的数据。由于使用紫外线擦除过程需要特殊的设备和操作,很繁琐,还有可能因为擦除窗口遮光失效,导致数据被误擦除。

26ca9038-14d6-11f0-9310-92fbcf53809c.png

是不是可用其他方式擦除呢?没错,用电信号也可以的,这就是电可擦除可编程只读存储器(EEPROM)。EEPROM的电可擦除,无疑是前进了一大步。在数据读取/写入操作上,EEPROM允许以字节为单位进行操作。不论是编程,还是擦除的过程,EEPROM非常灵活和方便。

虽然EEPROM的性能已经非常不错了,既可以电擦除,又能按字节读写,但是,随着程序逐渐复杂,EEPROM的读写速度和容量就有点捉襟见肘,如果还是只能按照字节操作,就太慢太慢了,改几行代码,还得等半天,所以,在EEPROM的基础上,又发展出了Flash存储器,有更高的存储密度、更低的成本和更快的擦写速度。

26e361a8-14d6-11f0-9310-92fbcf53809c.png

要回答为什么有的单片机既有EEPROM又有Flash这个问题,还得看EEPROM和Flash的本质区别,这里我们整理了EEPROM和Flash在数据读取/写入操作方式、使用次数以及容量大小这些数据:

2706e984-14d6-11f0-9310-92fbcf53809c.png

从擦除和写入次数上看,EEPROM次数较高,以常用的AT24C02为例,它的擦除和写入次数高达100万,数据保存年限为100年。Flash的次数相对较少,以华邦的W25Q系列的SPI Flash为例,它的擦除和写入次数可小至10万,数据保存年限为在20年以上。

从读写方式上来看,EEPROM允许以字节为单位进行擦除和写入操作,而Flash则是以块或扇区为单位进行擦除和写入操作。

从存储容量上来看,EEPROM的容量都比较小,一般在几K字节到几百K字节,而Flash的容量是非常大的,小到几M,大到几T。

EEPROM和Flash这些各自的特点,让EEPROM在单字节数据的读写环境更有优势,而Flash适合存储程序代码和大量不频繁更新的数据。

举两个单片机应用的例子,第一个,比如要保存一个温度值,范围在0-100摄氏度,只占用1个字节,每1分钟需要把更新的温度值写入单片机的存储器。

如果使用EEPROM,只需要操作存储器中一个字节的空间,如果是Flash,就需要去操作一个块或者一个扇区,比如一个扇区有512字节,操作一个字节的数据,整个扇区都需要重新擦写,这么高频次的擦写,Flash的这个扇区很快就会被干废了,Flash废了,单片机也就废了。所以,这种场景使用EEPROM更适合。

第二个是在OTA升级系统固件时,为了防止系统升级失败造成系统变砖,就要在系统升级前备份系统固件,一般OTA升级的周期都是以月或者年为单位的,数据量大且集中,这个时候就需要使用Flash,它的读写速度快且容量大,如果使用EEPROM,读写速度慢而且有可能容量不够。

2728b8ac-14d6-11f0-9310-92fbcf53809c.png

从这两个例子,可以看出,Flash和EEPROM在功能上实现互补,他们的存在可以让系统更好的工作。

如果你认真仔细地读到了这里,相信文章开头提到的3个问题,你都已经了解清楚了,那就说明我们本期的贸泽科普实验室没白做!

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

    关注

    6078

    文章

    45580

    浏览量

    673707
  • mcu
    mcu
    +关注

    关注

    147

    文章

    19129

    浏览量

    403998
  • FlaSh
    +关注

    关注

    10

    文章

    1759

    浏览量

    155911
  • 存储器
    +关注

    关注

    39

    文章

    7756

    浏览量

    172205
  • EEPROM
    +关注

    关注

    9

    文章

    1146

    浏览量

    86347

原文标题:单片机存储之谜:Flash和EEPROM到底谁更强?| 贸泽科普实验室

文章出处:【微信号:贸泽电子,微信公众号:贸泽电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    51单片机存储器内存的讲解

    51单片机当中的存储器从功能性上来划分可以分为程序存储器与数据存储器般来说单片机
    发表于 08-10 16:40 2477次阅读

    那些年曾经很火的单片机

    其实,我不想直接说AVR,我想说的是Arduino。Arduino绝大部分的产品,都是使用的AVR的单片机作为处理的,甚至有的产品还会同时出现两块AVR的MCU。
    发表于 07-23 11:42 2464次阅读

    与无线网络相关的那些

    无线网络的庇佑时,选择上网的方式是3G\4G还是蹭网???想必大多数人会节省流量而选择免费的公众wifi,享受上网时带来的快乐。讲下,大家在外使用无线网络普遍存在的问题:在外吃饭时,进入饭店的第一件事
    发表于 05-27 11:40

    我看过的那些Linux相关的书籍

    来北京工作已经个多月,大都市的生活比起读大学要忙碌得多,尤其是出行,基本以小时为基本的计时单位。有时茫然看着窗外车水马龙,会有些迷茫自己选择的是对还是错。  题外话不多说,回归这次的主题,
    发表于 07-04 06:39

    产品有哪些参数

     铣挖履带式挖掘装载(俗名:)是种连续生产的高效率出矿设备,主要用于矿山岩巷、半煤岩巷掘进,也可以用于引水洞、铁路隧道施工和国防
    发表于 09-02 08:00

    单片机存储器扩充与程序下载技巧

    介绍了如何对单片机存储器进行扩充,以及在这种大容量存储器条件下的程序下载技巧。关键词:单片机存储器;程序下载中图分类号:-.+++*) 文
    发表于 10-14 16:47 63次下载

    单片机存储器,单片机存储器结构原理是什么?

    单片机存储器,单片机存储器结构原理是什么? 存储器单片机的又
    发表于 03-11 09:15 7379次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>存储器</b>,<b class='flag-5'>单片机</b><b class='flag-5'>存储器</b>结构原理是什么?

    单片机存储器扩充与程序下载技巧

    单片机存储器扩充与程序下载技巧。
    发表于 05-20 11:16 14次下载

    单片机教程之单片机总线与存储器的扩展资料说明

    本文档的详细介绍的是单片机教程之单片机总线与存储器的扩展资料说明主要内容包括了:1.单片机系统总线和系统扩展方法,2.程序存储器的扩展,3.
    发表于 02-14 17:34 27次下载
    <b class='flag-5'>单片机</b>教程之<b class='flag-5'>单片机</b>总线与<b class='flag-5'>存储器</b>的扩展资料说明

    如何对单片机进行片外程序存储器设计

    EA=0,单片机只访问外部程序存储器,对于8031单片机此引脚必须接地.EA=1,单片机访问内部程序存储器,对于内部有程序
    发表于 03-20 15:05 5886次阅读

    51单片机存储器

    :思维结构很重要:由上图可知,51单片机存储器分为俩大部分:程序存储器ROM和数据存储器RAM,这点有别与计算机程序
    发表于 11-11 20:36 15次下载
    51<b class='flag-5'>单片机</b>之<b class='flag-5'>存储器</b>

    单片机存储器

    单片机存储器——几个有关的概念:1、数据存储器——RAM(Random Access Memory)2、程序存储器——ROM(Read Only Memory)3、闪速
    发表于 12-02 10:06 3次下载
    <b class='flag-5'>单片机</b>的<b class='flag-5'>存储器</b>

    中断为什么不能调printf?

    前面说会写下Modbus-RTU的实现,写了1000多字了,有兴趣的稍等下哈。前面在个群里看到个朋友在个串口接收中断里打印遇到了问
    发表于 12-04 12:21 0次下载
    <b class='flag-5'>扒</b><b class='flag-5'>一</b><b class='flag-5'>扒</b>中断为什么不能调printf?

    雕铣、雕刻和加工中心之间的区别

    中心、雕铣、雕刻,之间有什么区别?相信这句话很多刚刚加入这个圈的朋友都会问,然后在买机械设备的时候不太懂,不知道怎么区分,到底应该买什么样的设备,才能达到自己的需求,今天小编就为大家
    的头像 发表于 01-15 09:48 1850次阅读

    折叠屏手机背后的“黑科技”

    折叠屏手机似乎正成为各大品牌下步推新的产品,那么今天,就让我们这里面到底有什么“黑科技”。
    的头像 发表于 02-26 10:34 3919次阅读
    <b class='flag-5'>扒</b><b class='flag-5'>一</b><b class='flag-5'>扒</b>折叠屏手机背后的“黑科技”