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

【实战经验】M95xxx EEPROM介绍

[复制链接]
zero99 发布时间:2017-4-1 15:27
M95xxx EEPROM介绍
* T9 M3 p& _5 l7 s+ m2 c
前言+ `. n. \# J3 _9 M. _, M
以带标识页的M95M01-DF EEPROM为例, 介绍M95xxx系列EEPROM,包括内存组织、SPI接口时序、指令、读写时间、供电、写保护以及出厂参数等等。% p; o; e% P( V- P% ]
5 n8 C5 u  `3 d; W$ U
M95xxx EEPROM介绍% i5 i5 y/ z3 T/ F
! k  u3 `% J4 c# ]  K1 y5 `
M95M01-DF特性介绍
6 \+ `/ s4 G3 U4 Z$ c" y      • 访问接口:SPI1 q! g% S3 f* N, d
      • 时钟速率:16MHz
* m- a% @$ i4 w' ?      •内存组织
% f% ?: s7 @2 k6 a8 m0 A  k, R9 K         ·1Mbit(128KByte)% ~% L! X' _9 A! G
         · 页大小:256字节. P4 u0 o7 W' ]
     • 写操作:3 d$ m: g* j. Q# b' B+ ^6 o# W& ^1 m
         ·页写时间5ms
$ X4 x" L1 U7 t3 t9 B" l# n         · 字节写时间5ms
3 ?- k1 R5 U$ s7 i$ i! p8 `     • 写保护设置:
  b) B4 {1 m! \) R% @         ·四分之一内存保护
/ l! y* u+ k4 s         ·一半内存保护* x3 w: u0 G$ K0 p, e1 p) c
         · 整个内存保护% h; u$ s9 z; \6 L% r5 X5 w4 j
      • 供电:( m8 Q8 Z3 U0 F! |# P% W
         · 对于M95M01-R,1.8V~5.5V。& U% w3 H( Z. E7 ?
         ·对于M95M01-DF,1.7V~5.5V。" j: E* I  {$ w. _  b# ], X

8 |( p8 o! L- I2 H, h      • 工作温度范围:-40~+85摄氏度' n7 X! {1 Z/ x/ ?- [
      • 400万次写周期0 S# i4 N1 E) s+ \  j- u$ p3 W
      • 200年数据保存时间
: L, f1 W2 K/ m, o' z      •封装:SO8、TSSOP8、WLCSP
, x- |( d( e8 I& E% O$ u' W# R
$ b$ E  ^, B4 H  C. W9 f% m, m3 B      •Identification Page:256字节。Identification page用来存储应用程序的敏感数据,可以被永久锁存为只读模式。M95xx系列EEPROM分为带标识页和不带标识页的型号,根          据芯片编号来区分。
# `* A0 Q' W( J$ o: m' W
) i5 S" c( k) i- D; s2 ^( D) ?M95xx系列EEPROM命名规则
0 }+ b! a+ Z9 x( [9 `
11.jpg / m% w7 y' r) c. l! M8 T7 A3 k1 H) H
) [4 t; k; g/ R: j
内存组织% Z+ }/ i: _: }) C& z6 C
12.png 4 A* A' u1 b. D$ u5 r* o$ z

) ~, L0 W2 ]2 M引脚框图和信号描述+ d$ C0 _3 ?2 c5 Z" A9 n
13.png * R# C# r- L3 r  k) C

1 f2 {0 ]  I. Y+ Z0 t信号描述:
* ^1 n% y: |/ ]$ Z  }  B      • 串行数据输出Q:该信号用来从设备移出串行数据,数据在时钟下降沿移出。
( q. s; V) L+ P8 K& P2 ]' L      • 串行数据输入(D):该信号用来输入串行数据到设备,当时钟上升沿时,被写入的指令、地址和数据的值被锁存。
% T7 ]* F2 \0 w9 _% u4 i      • 串行时钟(C):SPI通信的时钟。9 v( i- a2 I9 G/ _
      • 芯片选择(S ):当输入信号为低时,设备被选择。
/ H9 `/ F- }9 N8 d* G  k4 }) q      • 保持(HOLD ):HOLD 可以用来暂停串行通信,低电平有效。( @9 V' {! G1 J9 y- N! \- V& w( s
      • 写保护(W ):对内存进行写保护配置引脚,在通过写指令操作内存过程中,要维持该引脚的电平不变。- ~7 ]  a" l+ x  i0 K
      • 供电(VCC):供电引脚。/ a9 z3 q, ]' ?7 i0 V- S
      •  地(VSS):接地引脚。' }0 r; Z, x; F2 z$ j
6 ~. }; s- a8 D0 F
SPI时序: [# b2 i! C) u9 C3 c+ K
    M95M01支持SPI接口访问,支持以下两种模式:
) J- h7 Q1 N# J     • CPOL = 0, CPHA = 0
9 G7 `( _; Q* K2 s& T/ L, q8 K) I     • CPOL = 1, CPHA = 1
2 p& M3 q2 f# D- B1 ]  h9 D! u       对于这两种模式,一种模式是输入数据在串行时钟的上升沿锁存,另外一种模式是输出数据在时钟的下降沿有效。时序图如下图所示:6 a0 v1 T8 K& E9 h0 i+ O; b! a# ^. e
15.jpg
5 @6 v. p* W# E& r: z
: J7 W* e+ |! }& ^) R7 M7 a; j指令$ C! A  x3 W, ^& f
       所有的命令在发送时需要高位在前,指令集如下表所示:5 S6 F+ ?3 x1 ^, u% Y  l4 A( d
16.jpg
& D3 \# x% G) V
: j7 E- J; i1 @7 A1 ^写使能指令WREN1 E6 T% M# [9 ~! L! }& u3 ]/ a6 C( d
      通过WREN指令来使能写使能的WEL位。
# z  Z9 V+ s0 _' a. k) ~% o
17.jpg
4 U* _1 {& u8 X
) s* ?9 i/ z8 m/ j# _写禁止指令WRDI$ o5 ?9 j# o$ P: X. j" S2 w
     写禁止指令WRDI用来复位WEL位,该为设置位0时禁止写或写状态寄寄存器命令来访问EEPROM。- s. T4 q9 Y* v1 |, n) ?7 x# Y7 C- K! e
18.jpg
4 x: U* {# ]2 R: Y5 l* P& _
( o- n/ _' |5 f" J' |; x读状态寄存器指令RDSR0 f/ W8 P1 L0 X+ z1 J) J
       读状态寄存器RDSR用来读状态寄存器,状态寄存器可以在任意时刻被读取,建议在发送一个新指令到EEPROM之前先检查写进度。状态寄存器地输出是连续的1个字节,从0到7位,如下图所示:$ a' x( v0 g+ O' Q5 G" o
19.jpg . f$ h9 ~" k. Q; n8 \

6 L. W+ Q/ \' ?9 t- X( N- O; Y# X' e9 t状态寄存器如下:
- C/ ?$ o! n0 j. r! i6 x  Q7 S
21.jpg
* r. P% b- b: n" S- \1 l/ B$ d• WIP位:写进度指示位,指示内存忙于在写周期中,该位为1则指示在写周期中忙,为0则空闲;
8 }5 f$ O3 J& uWEL位:该为设置为1时,内部的写使能开启;当设置为0时,内部的写使能禁止,此时任何的写或写状态寄存器指令被阻止访问。WEL位可以被以下几种情况复位
7 \" C8 t6 U. M   ·上电
4 {( q9 w- K9 f/ N" T- M   · WRDI指令执行完成
9 g  J: D+ a" a; x% V: p+ R   ·WRSR指令执行完成7 W  d, P4 R) A- D' @0 P/ T
   ·WRITE指令执行完成2 N: J/ c( X- S5 B2 H  Q
BP1,BP0位:块保护位(BP1,BP0)是非易失的,它们两位决定软件写保护的区域大小。这两位由写状态寄存器命令WRSR来设置。
( S' {2 ?3 o: Y% F
22.jpg
3 C6 E: P  o4 B4 l( f6 RSRWD位:状态寄存器写禁止位(SRWD)位和硬件保护信号W 结合起来操作。
/ m. l/ _4 E4 L$ u# E! @; O0 k3 C  A0 {; {" m; ^
写状态寄存器指令WRSR1 T: ?8 m: U7 _) u$ F' w
       写状态寄存器(WRSR)用来写一个新值到状态寄存器中,在写状态寄存器命令操作之前,需要先执行写使能WREN指令。写状态寄存器用来改变BP1,BP0,SRWD位的值,写状态寄存器不影响b6, b5, b4, b1(WEL), b0(WIP)的值,即b1(WEL)位是由写使能命令WREN来改变其值的,而b0(WIP)是状态为,不能修改。5 o9 \; D) ?% I8 r- t
23.png
" }8 ?; c' ^% H  r. u
4 }, P, Z% v. v* |4 {
5 Z. o1 c9 `" n0 N4 `* k0 P4 ~
读内存指令
/ U3 A0 \1 a, n1 y: G0 T7 u       当前如果有写周期在执行中,是无法进行读内存操作的。有效的地址位是A16~A0,地址位A23~A17不用关心。* `2 f8 s" f0 G; {' i2 l) i
24.jpg
. j$ \3 h3 v, f4 Z/ m$ v9 A  U* L* l8 ?* v0 Z. t; D
写内存指令6 ?  q4 y, C# z, c
       字节写时序图如下:  O% t  }4 u! p4 o& Y) y3 t0 s
25.jpg 3 n/ i0 y/ y3 O& q9 F7 R$ I/ V
页写时序图如下:7 o- e4 l( M: {( t
26.jpg / k7 ~- V( `' x

' \  C2 T  N! \# t, n) m      有以下几种情况,写内存指令是不被接受和执行的:
" u; c6 V. R( c& |& `! ]        • 写使能位WEL没有被置1;  @& ?% G* ^* M1 Y& x3 Z
        • 写周期在执行中;
3 I% [  n  i" a2 e# ~7 ]" m6 j        • 在数据传输的最后一个位b0被锁存后,设备还没被取消选择,S 还未置高;2 d4 j7 m4 u( z# j% T; J
        • 要访问的地址页在块保护的区域中。4 i0 k/ Q- {) y3 c

% {+ F/ e+ i7 s; F4 b* b读标识页指令
2 b, j" m' J) H1 |* H      读标识页时序图如下:% q: E; T) m3 _3 P# Y( g' y$ z# i
27.jpg
0 H0 [. `( A5 x! B8 J        256字节的标识页是一个附加的页,能够被写和永久锁存为只读模式。读标识页的最大数量不能超过页边界,否则会读取到不可预测的数据。例如,从位置90开始读取标识页数据,读取的数量不能超过166,因为页边界时256字节。$ b3 I* y. v' Y' b* \( o
假如有写周期在执行中,那么读标识页指令不被接受和执行。6 N% u* m/ R9 b8 t  J& f: o. ^! r

7 C/ l% x4 u# L8 H0 l; K6 v写标识页指令2 @! M' Z. |% s. y( C* z
      写标识页时序图如下所示:
; }, V! G9 @5 e4 a/ T4 o
28.jpg + G7 h( e' P2 H! d! i' ~" n7 q2 V
        256字节的标识页能够被写和永久锁存为只读模式。, w+ f% r8 r4 Y/ b9 }# |
  Y/ ^* E' q( S! _1 ?
, Z7 k. N: `% H* R/ b" {$ i: h6 g
数据保护9 o, r% e' Q0 b) u0 ?
        状态寄存器中的写禁止位SRWD,是配合写保护引脚W 一起使用的,它们一起决定的保护模式如下表所示:
, L' g, ?! y( ]% c" K! p
29.jpg
* j1 ?4 e' L8 ]        写状态寄存器WRSR对b6,b5,b4,b1,b0位没有影响, b6,b5,b4一直是0。% |& W9 R  X$ n4 x+ ~' l
        状态寄存器写禁止位SRWD在状态寄存器中的初始化状态为0,通过WREN命令设置了WEL位后,不管W 引脚的电平如何,都允许写状态寄存器WRSR。
1 ^; z* Q& U5 W当状态寄存器写禁止位SRWD被置1后,根据W 引脚的电平有以下两种情况:, p, n) ?9 m& s8 r* I) Q
       • 当W 引脚为高时,通过WREN命令设置了WEL位后,允许写状态寄存器WRSR。
: r0 ~4 n, ~, C7 |+ d5 }       • 当W 引脚为低时,不管是否通过WREN命令设置了WEL位,都不允许写状态寄存器WRSR。
8 h- ~& M- R7 `4 g8 Z# d       内存中的数据,可以被设置为软保护(SPM),也可以设置为硬保护,其中软保护是通过设置块保护位BP1,BP0。以下两种情况发生时,将会进入硬件保护模式HSM:6 C% Y: _( H. t) {" O( _4 a
       • W 引脚输入低电平后,置SRWD位为1;
4 \8 B6 j  z6 S5 R  `/ e' D7 i! q5 J       • 置SRWD位为1后,W 引脚输入低电平。
; V' p/ C& ~& [6 G       假如W 引脚一直为高,则硬件保护模式HSM不会被激活,此时只有软件保护模式SPM,使用状态寄存器中的BP1,PB0来设置要保护的内存区域。+ a' K- g5 H1 R; X' W: W, F/ T
) w) u; `, G. U4 u5 l, ]
读锁状态
+ k4 `* z; }2 T# ?" G* l      读锁状态时序图如下所示:
- z5 s/ r2 t8 K0 f1 s" K6 B
31.jpg 7 E) |" v, t* c! y* q9 p
       读锁状态指令用来检查标识页是否被锁或为只读模式,地址位A10必须为1,其它地址不用关心。锁存位是读取到的数据的最低位,该位为1则锁存被激活,该位为0则锁存未被激活。" c2 p- N' {+ u. O8 v# d

; v9 l6 }3 d. N锁状态查询, a$ t" a8 ]# H9 k5 ?; W
         所状态指令时序图如下所示:( H) h' Y2 R# C" d' p
32.jpg 3 |' ~" F) F7 b" r

, {# }  |. |+ H5 U4 E* e0 P0 Y' R% R       锁标识指令永久地锁存标识页为只读模式。该执行执行之前,先要执行写指令WREN。地址A10必须为1,其它地址位可以不关心。数据字节必须按照二进制的xxxx xx1x发送,x位的值不需关心。
; @- ]' C" j# P% L0 o: o有以下几种情况会导致锁标识指令不被接受和执行:8 x* m7 j3 r* j8 n: d( i
       • 写周期已经在进行中;
! R4 x: [7 m  w; i: f       • 块保护位设置为(BP1,BP0) = (1,1) ;
0 O  a! `% ~3 d4 @" t  K       • 数据传输边界时的S 上升沿出现。
* r- U; J* [2 x! |$ ^7 |; W
; F6 N8 {2 a$ o! t/ W7 m/ B3 C" X% r上电状态3 k+ L4 W4 y- l5 \7 q
      上电以后,EEPROM将会有如下状态:
  D+ {1 v' Q( N0 ^, U5 a6 i7 ?8 o       • 待机模式;" z2 |8 N( C' E: P% P
       •  设备上电后,EEPROM是被取消选择的状态,需要S 下降沿来开启指令传输;
3 T2 P6 O8 Q) n" A       •  不在保持状态下;
4 e, p" G+ `. e: b1 V       •  写使能锁存位是复位为0的;
. _/ _6 M2 G3 ~) M. r7 G       •  写进度位使复位为0的;# N. O+ T, M  s- A
      状态寄存器中的SRWD,BP1和BP0是断电后不会改变的,非易失的。5 V' Y* D8 o; \) f7 ]

7 i. _$ h5 m# B/ }交货状态: _& t6 ?- ?: h$ Y1 a
       整个内存区域和标识页的字节都设置为0xFF。状态寄存器写禁止位SRWD和块锁存位BP1、BP0都初始化为0。% K' k+ N- F, o: P/ h3 {

4 \. }4 x' [/ u1 Z; F结论9 y9 d) _& `# R. x) k" a3 j
       通过对M95xxx系列EEPROM进行介绍,能够快速指导用户如何使用HOST访问EEPROM内存和进行写保护设置,用户可以在设计产品过程中参考本文档进行软件设计,特别是写保护设计部分。

6 O8 L' j6 c' Z: P5 `  i; l* H9 C- r9 L# N9 d) _
* K" ~0 J* K2 I
M95xxx EEPROM介绍.pdf (1.22 MB, 下载次数: 95)
1 收藏 3 评论4 发布时间:2017-4-1 15:27

举报

4个回答
feixiang20 回答时间:2017-6-28 12:50:05
谢谢分享,学习一下
yamingchow 回答时间:2018-5-11 10:20:20
谢谢分享
a试纸 回答时间:2020-9-15 21:24:18
谢谢分享
* C' n2 j4 u  \& A5 r6 i) @
lqwuliang 回答时间:2020-9-20 09:10:12
不错的资料,下载学习学习。

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版