MCU(微控制器)在过去几十年里在CPU性能、通信接口、模数和数模外设、内存大小及读写次数等方面呈指数发展。我们专注于带有非易失性嵌入式存储器的MCU(我们在USB闪存驱动器、存储器等内拥有闪存),从首批带有一次性编程(OTP)的器件到EPROM(电可编程只读存储器),再到EEPROM (在方程中增加了“可擦”一词,能够在不需要紫外线灯的情况下擦除它),到现在的嵌入式闪存(在某些情况下称为Flash EEPROM),这是目前最常用的闪存。
EEPROM和Flash在概念上类似,两者都是可电擦除和写入的存储器,但是它们之间也存在某些差异。最初Flash只能在大数据块上写入,但是现在两者比较接近了,一个单字节、词或双词都可以写入,取决于架构是支持8位、16位还是32位写入操作,是否需要与偶数地址对齐,因此主要的区别是擦除过程。EEPROM的擦除大小很小(在大多数情况下,只能擦除一个单字节),而Flash需要在大扇区中(在某些情况下为数据块或页面)擦除,而且还取决于所使用的器件,扇区可以是几个字节或是几千个字节。

带有嵌入式闪存的MCU支持系统内编程。这意味着MCU可以在用于最终应用的印刷电路板(PCB)上进行编程。在某些情况下,需要增加一些额外电路,以进入或退出编程模式,但是能够在不移除设备的情况下进行或先在套接字中进行编程是值得的,这意味着即使软件开发没有完成,板卡也能够完全填充。还可以在原始版本出来后升级软件而不更改硬件,从而加快面市速度,因为基于OTP或ROM的设备需要完整的软件版本才能够推出。
演进的下一步是向MCU的Flash存储器添加自编程功能,允许MCU在运行时执行写入/擦除操作。这样会带来两大好处:一是代码本身可以包含再次对整个应用进行编程的例程,允许通过外设进行远程更新(这些通常称为引导程序,所使用的外设通常是串行接口),因此具有很高的灵活性,能够在安装后更新设计;二是能够在运行时存储非易失性数据,如空调的温度或电视上编程后的频道。
Flash自编程
下面阐述了在没有双闪存阵列的情况下如何在系统中和运行时写入闪存。
要在运行时进行写入和擦除流程,则需要对任何一侧施加较高电压或清除各个位。当对Flash库施加高电压时,无法读取整个存储器,因此有两种典型的替代方案让系统保持工作:一种是其它存储器运行写入/擦除(通常是RAM)Flash的代码,第二种方法是在执行Flash操作时,为CPU提供一种拖延代码执行的方法。

冷门知识:三极管也有特殊用法
时间:2026-03-07
晶体三极管放大电路的非线形失真及其解决办...
时间:2026-03-07
从一种新的切入角度来看三极管工作原理
时间:2026-03-07
三极管常见分类简介
时间:2026-03-07
你真的很懂三极管吗?
时间:2026-03-07
一文读懂三极管的符号、分类及如何判断极性
时间:2026-03-07
授人以鱼不如授人以渔,这些三极管放大电路...
时间:2026-03-07
放大电路的三种组态的识别与比较,放大电路...
时间:2026-03-07
三极管工作原理介绍,NPN和PNP型三极管的原...
时间:2026-03-07
8050开关继电器电路图,8050三极管开关电路...
时间:2026-03-07
什么是追踪缓存/转接卡?
时间:2026-03-06
瞬间抑制二极管(TVS)/瞬间抑制二极管(TVS)是...
时间:2026-03-04
什么是EPIC
时间:2026-03-06
什么是联合并行处理二级缓存?
时间:2026-03-06
什么是Speculative execution/SQRT?
时间:2026-03-06
什么是霍尔传感器
时间:2026-03-05
双向二极管起什么作用?
时间:2026-03-04
半导体材料的主要种类有哪些?
时间:2026-03-04
高级封装,高级封装是什么意思
时间:2026-03-04
数字比较器,数字比较器是什么意思
时间:2026-03-04