M95xxx EEPROM写保护 配置& N% z$ G7 o+ I8 C M 前言5 Z& s5 W0 k- Z' p# d3 y , K4 V6 P) W3 H4 ^ 以带标识页的M95M01-DF EEPROM为例, 介绍M95xxx系列EEPROM写保护和配置方法。. }' ^+ u5 H' w M95xxx EEPROM写保护介绍# ~6 h4 b4 g& z3 u 引脚框图和信号描述5 e* M/ z5 J. h$ N% Z5 P4 I 信号描述:, E+ p3 r! k# R# }7 s1 j ● 串行数据输出Q:该信号用来从设备移出串行数据,数据在时钟下降沿移出。7 e/ y" J, h9 ~+ E n) r ● 串行数据输入(D):该信号用来输入串行数据到设备,当时钟上升沿时,被写入的指令、地址和数据的值被锁存。 ● 串行时钟(C):SPI通信的时钟。 ● 芯片选择(S ):当输入信号为低时,设备被选择。 ● 保持(HOLD ):HOLD 可以用来暂停串行通信,低电平有效。 ● 写保护(W ):对内存进行写保护配置引脚,在通过写指令操作内存过程中,要维持该引脚的电平不变。 l) k- w/ J" M; @3 P ● 供电(VCC):供电引脚。 ● 地(VSS):接地引脚。* Y, Q) w& |- n1 W) h M95xxx EEPROM指令 所有的命令在发送时需要高位在前,指令集如下表所示:: A O" Q g0 a4 {8 L( P) S; d! G: _ % H+ k- [' u3 i! j, S7 t WREN:通过WREN指令来使能写使能的WEL位。 WRDI:写禁止指令WRDI用来复位WEL位,该为设置位0时禁止写或写状态寄寄存器命令来访问EEPROM。+ E0 o9 Y3 a O, ~/ m% a y6 N4 O4 W$ o RDSR:读状态寄存器RDSR用来读状态寄存器,状态寄存器可以在任意时刻被读取,建议在发送一个新指令到EEPROM之前先检查写进度。状态寄存器地输出是连续的1个字节,从0到7位,状态寄存器如下: ● WIP位:写进度指示位,指示内存忙于在写周期中,该位为1则指示在写周期中忙,为0则空闲; ● WEL位:该为设置为1时,内部的写使能开启;当设置为0时,内部的写使能禁止,此时任何的写或写状态寄存器指令被阻止访问。WEL位可以被以下几种情况复位: • 上电; P4 \# x" {+ M • WRDI指令执行完成% y. |& n2 a5 G, t) o) y • WRSR指令执行完成 • WRITE指令执行完成 ● BP1,BP0位:块保护位(BP1,BP0)是非易失的,它们两位决定软件写保护的区域大小。这两位由写状态寄存器命令WRSR来设置。 ● ● SRWD位:状态寄存器写禁止位(SRWD)位和硬件保护信号W 结合起来操作。7 p- N2 W" N: W7 b- y WRSR:写状态寄存器(WRSR)用来写一个新值到状态寄存器中,在写状态寄存器命令操作之前,需要先执行写使能WREN指令。写状态寄存器用来改变BP1,BP0,SRWD位的值,写状态寄存器不影响b6, b5, b4, b6(WEL), b0(WIP)的值,即b1(WEL)位是由写使能命令WREN来改变其值的,而b0(WIP)是状态位,不能修改。 1 [3 ? D ~9 s# s. D READ:读内存指令,当前如果有写周期在执行中,是无法进行读内存操作的。有效的地址位是A16~A0,地址位A23~A17不用关心。9 w- y& J% h' j5 r WRITE:写内存指令,有以下几种情况,写内存指令是不被接受和执行的:! b0 |0 i' f* w ● 写使能位WEL没有被置1;+ O. k! A. d K4 k" O3 T ● 写周期在执行中;- b. r: {# E/ [/ F' D& ^ ● 在数据传输的最后一个位b0被锁存后,设备还没被取消选择,S 还未置高;1 k U8 {* j4 ?( q/ d5 Q t ● 要访问的地址页在块保护的区域中。 RDID:读标识页指令,256字节的标识页是一个附加的页,能够被写和永久锁存为只读模式。读标识页的最大数量不能超过页边界,否则会读取到不可预测的数据。例如,从位置90开始读取标识页数据,读取的数量不能超过166,因为页边界时256字节。假如有写周期在执行中,那么读标识页指令不被接受和执行。) y( C0 O& U' }! O1 F3 j+ [ 7 {6 q1 u. V, D/ B w WRID:写标识页指令,256字节的标识页能够被写和永久锁存为只读模式。 M95M01-DF写保护模式# X; F x$ W1 j. ]4 B+ S: @4 q/ h $ T; ~! M" x* ?3 I5 |: Y M95M01-DF写保护写保护设置范围如下: ● 四分之一内存保护 ● 一半内存保护) ~: k! J7 J& A$ g) t5 K ● 整个内存保护 ● 也可以对内存不保护。2 Z! g6 ], T8 Y5 f M95M01-DF的保护状态分为软件保护和硬件保护模式。状态寄存器中的写禁止位SRWD,是配合写保护引脚W 一起使用的,它们一起决定的保护模式如下表所示: 写状态寄存器WRSR对b6,b5,b4,b1,b0位没有影响, b6,b5,b4一直是0。$ [8 ?9 |" T G0 b! H( X5 B 状态寄存器写禁止位SRWD在状态寄存器中的初始化状态为0,通过WREN命令设置了WEL位后,不管W 引脚的电平如何,都允许写状态寄存器WRSR。& E+ b5 ?8 a- l% Q$ A 当状态寄存器写禁止位SRWD被置1后,根据W 引脚的电平有以下两种情况:4 R. z. f# O; q, B ● 当W 引脚为高时,通过WREN命令设置了WEL位后,允许写状态寄存器WRSR。2 I( w- L4 B9 ?$ D ● 当W 引脚为低时,不管是否通过WREN命令设置了WEL位,都不允许写状态寄存器WRSR。 内存中的数据,可以被设置为软保护(SPM),也可以设置为硬保护,其中软保护是通过设置块保护位BP1,BP0。以下两种情况发生时,将会进入硬件保护模式HSM: ● W 引脚输入低电平后,置SRWD位为1; ● 置SRWD位为1后,W 引脚输入低电平。 假如W 引脚一直为高,则硬件保护模式HSM不会被激活,此时只有软件保护模式SPM,使用状态寄存器中的BP1,PB0来设置要保护的内存区域。 硬件保护模式 W 引脚输入低电平且SRWD位为1时,此时配置为硬件保护模式。进入硬件保护模式下不可修改保护位BP0和BP1的值,保护的范围由BP0和BP1的值决定。& d: @' W% ^: m, y0 P1 P! w 软件保护模式 W 引脚输入低电平和SRWD位的值具有如下组合时,可配置为软件保护模式。 软件保护模式下可以修改保护位BP0和BP1的值来决定保护的内存范围。 上电状态+ G4 `+ F, n0 U$ y6 d( g$ S9 j D 上电以后,EEPROM将会有如下状态: ● 待机模式;# j) |: H5 q4 j8 t) S ● 设备上电后,EEPROM是被取消选择的状态,需要S 下降沿来开启指令传输;+ R- {$ X# `5 B4 W- g3 u ● 不在保持状态下;$ r S. B! O' O0 X) z ● 写使能锁存位是复位为0的; ● 写进度位使复位为0的; 状态寄存器中的SRWD,BP1和BP0是断电后不会改变的,非易失的。+ ?1 |- f$ Y8 ^+ X- T 交货状态% J8 Z9 q0 A8 t9 | 整个内存区域和标识页的字节都设置为0xFF。状态寄存器写禁止位SRWD和块锁存位BP1、BP0都初始化为0。 M95xxx EEPROM写保护配置, B# {) I v" H- L! e 由于状态寄存器中的SRWD,BP1和BP0是断电后不会改变的,非易失的,所以无论是硬件保护还是软件保护,在配置硬件保护或者软件保护时,还需要考虑状态寄存器中的SRWD,BP1和BP0位的上电状态和出厂状态,以保证写保护软件能正常使用。以下是参考的硬件保护、软件保护、不保护的配置方法。" K; T7 n, g! y' E5 e: `5 x" M 2 O+ {# G: c) Z: e0 l 硬件保护配置 W 引脚设置为高电平; 通过WREN指令设置WEL位为1,使能写指令; 通过WRSR指令写入BP1,BP0的保护值; 通过WREN指令设置WEL位为1,使能写指令;) @6 k- _" e. x1 s2 { 通过WRSR指令将SRWD位设置为高电平; W 引脚设置为低电平。6 l: Q+ ?; w0 F! i+ V# ` / q" z6 t: A' L' G1 ]* M7 b 软件保护配置 W 引脚设置为高电平; 通过WREN指令设置WEL位为1,使能写指令; 通过WRSR指令写入BP1,BP0的保护值; 不保护配置 W 引脚设置为高电平; 通过WREN指令设置WEL位为1,使能写指令; 通过WRSR指令写入BP1,BP0的保护值为不保护的组合值00; 通过WREN指令设置WEL位为1,使能写指令;4 X6 r2 w* J: |) [, l! q* S 通过WRITE指令写入数据到EEPROM; 以上WRITE命令执行完成后,如果还想写入数据则需要通过WREN指令设置WEL位为1,使能写指令,然后再通过WRITE指令写入数据。. k9 y; j( {" J9 r& b 结论 通过对M95xxx系列EEPROM进行写保护介绍,能够快速指导用户编写HOST端对EEPROM内存保护的软件设计,帮助客户快速使用M95xxx系列EEPROM写保护功能,并提醒客户使用中应该从上电、出厂、运行状态考虑。 % W, a6 J0 J. G; G( o2 z - q$ V& q# s; _2 x |
资料很好,谢谢分享 |
谢谢分享 |