EEPROM 的结构与使用方法
3.4 SPI 总线存储器——M95256
▲ ERAL(Erase All Memory)
当操作代码“00”紧接着地址位的前两位为“10”时,就是ERAL指令。它将擦除整个芯片的内容。
与闪速存储器的ChipErase指令相同。
▲ WRAL(Write All Memory with same Data)
利用指定的数据写满整个芯片,ERAL 指令可以指定数据的。
3.4 SPI 总线存储器——M95256
●3.4.1 M95256 的引脚配置
M95256也仍然是 8 引脚的封装,虽然也存在TSSOP的 14 引脚的封装,但其中 6 个引脚未加以利用。
引脚配置如图所示。
图 SPI总线对应的存储器M95256的引脚配置
与Microwlre相同,都是通过S(Chip Select,片选)输人选择器件,D与Q也被分离,而且也
●3.4.2 SPI 总线对应的存储器的操作
SPI总线的工作本身与Microwire总线基本上没有太大的变化。图 1 表示M95256的存储器读周期。
读命令的指令代码为“00000011”,但传送完该代码后,16 位的地址由高位开始按顺序被传送,一旦 接收到该地址位,就会从存储器将数据输出到Q。M95256 的容量为256K位,也就是 32KB,因而A15 被 忽略,但作为地址必须传输 16 位。另外还需要注意一点,SPI总线与Micorwire总线相同,地址与数据 都是由高位开始传输的。
图 1 M95256 的读周期
写操作的方向如图 2 所示,在 8 位的指令代码后,紧接着是 16 位的地址及 8 位的数据被连续传输,
之后开始EEPROM内部的替换操作。
图 2 M95256 的写周期
图中所表示的只是 1 字节的替换操作。M95256 内部是以 64 字节为 1 页的单位进行分割的,可以 汇总 1 页内的数据进行替换。而且M95256 内部也具有地址计数器,写操作之后可自动进位。因此,通 过保持/S有效、连续传送多字节的数据,可以一次最多进行 64 字节(1 页大小)的数据替换。
状态寄存器的读/写操作除了不必赋予地址外,其他与存储器的读/写操作相同。当状态寄存器 连续进行读操作时,将一个个读出新的状态。发出WRITE指令后,在不需要访问其他SPI存储器的情况 下,通过保持S有效连续读取状态寄存器,就可了解其目前的状态,而不必每次都发出读取状态寄存器 的指令,可以说这是相当方便的吧。
●3.4.3 指令设置
M95256 所拥有的指令如表所示,共有 6 种。与对存储器单元的读/写操作相关的只有READ和WRITE。
我们已经了解到Microwire总线所拥有的擦除等指令已被删除。
表 M95265 的指令设置
RDSR(Read Status Register,读状态寄存器)与 WRSR(WriteStatus Register,写状态寄存器)
是分别用于状态寄存器的读/写操作的;WREN(Set Write Enable Latch,设置写使能锁)与 WRDI(Reset Write Enable Latch,复位写使能锁)分别用于器件写入的禁止与许可。因此,这些指令所设定的状 态将反映于状态寄存器的 WEL(Write Enable Latch,写使能锁)位上。
●3.4.4 状态寄存器
M95256 的状态寄存器的位配置如图 1 所示。其中,WEL 和 WIP 是只读的不能替换,其他的位可以替 换。各个比特位的简单描述如下:
图 M95265 的状态寄存器
▲ SRWD(Status Register Write Disable,状态寄存器写使能)
该比特位进行状态寄存器的更新控制。如果该比特位为“0”,进而设置 WEL 位(通过 WREN 命 令),就能够进行状态寄存器的替换。
该比特位为“1”时的操作依赖于/W 引脚的状态。如果/W 为高电平,也就是 WEL 位(通过 WREN 命令)被设置,则可以进行状态寄存器的更新;而如果/W 为低电平,则不能更新状态寄存器。
▲ BP1/BP0(Block Protect,区域保护)
M95256 通过 BPI 和 BP0 这两位,就可以确定写保护范围和许可范围。其关系如表示。
表 M95265BP 位的分配
通过范围的设定,对被保护范围发出的 WRITE 指令被忽略。关于未被保护的范围,只在下面说明 的当 WEL 位为“1”时可以进行写人操作。
由于 BP 位的变换只能通过状态寄存器的替换进行,所以通过前面描述的 SRWD 位的功能,状态寄 存器的更新作为对器件的保护功能也能进行。
▲ WEL(Write Enable Latch,写使能锁)
与闪速存储器及Microwlre对应的EEPROM等相同,从发出WRITE指令,至完成对单元的写人操作还 需要相当的时间。因此,为确认由主机对芯片内部的写人处理是否完成,还设计了WIP位。WIP位为“1”
时,芯片内部的替换操作正在进行,因而主机不能发出READ及WRITE指令等。