你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【中文文档】AN3969_STM32F40x和STM32F41x控制器模仿eeprom的应用

[复制链接]
STMCU-管管 发布时间:2019-3-28 13:15
STM32F40x/STM32F41x 微控制器中的 EEPROM 仿真7 i! v) |, Q: @( z
9 Y  B2 S( _+ U; N$ G( S1 P- m
简介 # B9 N5 m8 J+ ?5 i

( k; r8 c3 C2 @: h  ?" H* Y" f在工业应用中经常使用 EEPROM(电可擦除可编程只读存储器)来存储可更新的数据。EEPROM 是用在复杂系统(例如计算机)和其它电子器件中的一种永久(非易失)存储器存储系统,它可以在电源故障时存储和保留少量数据。
( m5 Q1 F5 d) c9 n/ N! z

  J3 w4 H, n* O& _1 J- Z6 j$ B为降低成本,外部 EEPROM 可以用 STM32F40x/STM32F41x 的以下功能之一替代:
4 C4 D3 b5 u; A● 片内 4 KB 备份 SRAM
; X) X3 D: S& A0 {, L● 片内 Flash,具有特定软件算法
; {; `' f. m# k  e6 Q9 }" ^9 t  g. {$ n, L
STM32F40x/STM32F41x 具有 4 KB 备份 SRAM,当主 VDD 电源断电时,可通过 VBAT 电源为该 SRAM 供电。
- E5 U7 ]  P7 L. N  [6 @; ^1 E4 M/ n5 t( t
借助 CPU 频率下的高速访问(通常在用电池供电的应用中)优势,只要 VBAT 存在,此备份SRAM 就可以用作内部 EEPROM(不带任何附加软件)。
/ h( H: e0 R" @+ l% U/ N
, O9 r" {5 D4 U+ p9 \) ?9 A! ]
但是,当备份 SRAM 用于其它目的并且/或者应用不使用 VBAT 电源时,片内 Flash(具有特定软件算法)可以用于仿真 EEPROM 存储器。
. r3 P3 `/ P1 O
8 V: x, H  s8 i' Q3 s本应用笔记介绍了使用 STM32F40x/STM32F41x 器件的片上 Flash 通过仿真 EEPROM 机制来取代独立 EEPROM 的软件解决方案。
0 o3 t3 H5 C& o- C$ z& U) M
4 N. U8 x9 c7 T% u! G9 C5 B要实现这种仿真,至少要使用 Flash 中的两个扇区。EEPROM 仿真代码会在扇区填满后,以对用户透明的方式交换数据。 ( @4 Y; a+ I; V% U) B& G. I! P! c

6 T1 `1 f' v  J* o6 X; E此应用笔记随附的 EEPROM 仿真驱动程序满足以下要求: 1 k* i8 O+ A* J+ A7 q9 ^/ O5 O- F
● 提供简单 API 的轻量级实现,这种 API 由初始化、读写数据和降低存储器占用量三种功能构成。
5 b  j0 t, \( S: Y, J* |● 简单且可轻松更新的代码模型
/ J1 @6 n$ y, N. f# s" q! F: \● 对用户透明的清除和内部数据管理 : S; y6 e4 J; N3 K2 `  {
● 后台扇区擦除 7 e, V7 S1 g: g3 s8 y; k
● 至少使用两个 Flash 扇区,如果需要进行耗损均衡,则需要更多 ) f* D: Q. j) O& _& P. q! [
& u3 @9 i& x. `, o7 y' c
要仿真的 EEPROM 大小可在扇区大小的限制范围内随意调整,并允许 EEPROM 使用扇区的最大空间。, U# D2 u( {6 P2 O

, G* W# J/ @1 U+ h1 外部 EEPROM 与仿真 EEPROM 之间的主要差异
1 b) f% d6 J* ~% G+ d

# i* s( w  P% `2 @) O: U5 B" @- rEEPROM 是许多需要非易失性数据存储的嵌入式应用的关键组件,它在运行期间以字节或字为粒度。
( c$ c1 W+ ?# |! D6 U3 K( V
' [- u3 v7 ?" i; C$ N$ g0 [这些系统中使用的微控制器通常是基于嵌入式 Flash 存储器的。为了避免使用这些组件、节约 PCB 空间并降低系统成本,可使用 STM32F41x Flash 代替外部 EEPOM,模拟代码和数据的存储。
' j  K& [2 y" i  N5 o/ W  d* P# L! Q
但是与 Flash 不同的是,外部 EEPROM 在重写数据之前并不需要执行擦除操作来释放空间。要将数据存储到嵌入式 Flash 中,需要执行特殊的软件管理。 ' a; h9 A# R6 ]; p" L$ b

8 z" w  @* B% {' p3 K5 {这种仿真软件机制由许多因素决定,包括 EEPROM 可靠性、所使用的 Flash 的架构以及产品要求等。
& u' Y/ z+ `4 I/ y

* `4 m: X% e0 n) b; e# F0 U3 b8 i7 J) l对于使用相同 Flash 技术的任何微控制器(不局限于 STM32F40x/STM32F41x 系列产品),嵌入式 Flash 和外部串行 EEPROM 之间的主要差异完全一致。表 1 中汇总了这些主要差异。
, G' U3 W9 i  Y, L( |' ]% I: t+ z* ~$ Y3 i0 R% Z$ K& j
' q0 c' G" p( s
1.png
. N* w: C% e' n
1.1 写访问时间上的差异
: u3 L' Z2 h1 a
由于 Flash 的写访问时间较短,所以对于一些关键参数,在仿真 EEPROM 中的存储速度要比在外部串行 EEPROM 中更快,从而可以改善数据存储。
3 g9 u8 E7 W) @5 z
1.2 擦除时间上的差异

4 l2 H0 ~) k: S, \1 }6 D  e
擦除时间方面的差异是独立 EEPROM 与使用嵌入式 Flash 的仿真 EEPROM 之间的另一个重大差异。与 Flash 不同,EEPROM 在写之前不需要执行擦除操作来释放空间。这就意味着必须执行某种形式的软件管理,才能将数据存储到 Flash 中。此外,由于 Flash 中的块擦除过程需要较长时间,所以在设计 Flash 管理软件时,应注意考虑可能会中断擦除过程的电源关闭和其它一些意外事件(例如复位)。要设计强大的 Flash 内存管理软件,必须透彻了解 Flash 擦除过程。
4 _* [1 |/ q0 G
注: 即使 CPU 复位,也不会中断正在对 STM32F40x/STM32F41x 嵌入式 Flash 执行的扇区擦除或批量擦除操作。

3 [" ~" W. x" k3 i+ ~0 f1 o& [
1.3 写方法上的相似之处
# ~  C( t  R0 a- w% \
外部 EEPROM 与具有 STM32F40x/STM32F41x 嵌入式 Flash 的仿真 EEPROM 之间的一个相似之处是写方法。

0 S5 m0 d6 h* \1 l3 o( Y4 ?
● 独立外部 EEPROM:一旦 CPU 启动后,字的写操作便不能被 CPU 复位中断。只有供电故障才会中断写过程,因此正确设置去耦电容的大小可以保护独立 EEPROM 中的整个写过程。
' P  q% H' R# T* x
● 使用嵌入式 Flash 仿真的 EEPROM:由 CPU 启动后,写过程可由电源故障中断。即使CPU 复位,也不会中断正在对 STM32F40x/STM32F41x 嵌入式 Flash 执行的字写入操作。EEPROM 算法会停止,但是当前的 Flash 字写入操作不会因 CPU 复位中断。

; Q( x% e4 `. `4 U
' f' h5 s) ~9 d  X

! V/ N5 u0 Q; b  M+ d
..............
- D# W4 \. ]5 x- f) {
想了解更多,请下载原文阅读

! c0 c; b, ~0 d$ Z: O6 b
赞 收藏 评论1 发布时间:2019-3-28 13:15

举报

1个回答
一代睡神的崛起 回答时间:2019-3-28 13:40:03
谢谢图图分享

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版