尽管静态RAM和铁电RAM可以有完全不同的用途,但是随着SPI等标准接口的出现,这些技术在功能上有很大的重叠。本篇详细介绍了用FRAM替换SRAM时需要考虑的因素
FRAM注意事项
FRAM与SRAM互相代替时,需要提及一些细微之处。本篇文章介绍这些细微差别,并重点介绍可以采取的缓解措施。当采取这些预防措施时,重要的是要了解所使用的FRAM版本。传统的FRAM部件仅实现单个位SPI接口,而ULE FRAM具有许多可以使用的不同操作模式。
注册访问
串行SRAM具有单个状态寄存器,如下表所示:
应该注意的是,状态寄存器很少使用SRAM-它在运行时不包含任何值信息。对该寄存器的访问与任一版本的FRAM不兼容。
其他寻址模式
SRAM具有其他版本的FRAM不支持的其他环绕模式。字节模式仅允许单字节操作,但是如果在读或写命令中仅提供单个字节的数据,则此模式通常将在FRAM中工作。页面模式将内存分为对齐的32字节页面,页面内的操作在页面中回绕。实施页面的唯一方法
具有FRAM的模式是向MCU添加代码以检测可能跨越页面边界的操作,并由软件将其分解为单独的命令。 SRAM的默认模式是顺序模式,其操作方式与两个版本的FRAM完全相同,其中地址仅在设备容量时才回绕。
AC时序
SRAM AC时序与FRAM的时序略有不同,但可能对任何一种器件都是完全透明的,或者可以通过设计实现。在下面的图中,提供了SRAM和FRAM的时钟时序。两种设计在CS#信号的下降沿上进行了不同的测量,如果以必需的时钟速度满足所有时序,则可以采用单一设计来支持SRAM或FRAM。
命令差异
串行SRAM具有有限的命令集。 仅从SRAM功能启动时,传统的FRAM命令就更加受限制。 ULE FRAM只需最少的更改即可实现串行SRAM的所有模式。 以下各节介绍了每个部分的命令集。
串行SRAM命令集
串行SRAM共有七个命令,如下表所示:
串行SRAM命令
由于寄存器问题已在“寄存器访问”部分中进行了介绍,因此下面的命令集中将不再讨论。
旧版FRAM命令集和缓解措施
由于旧版FRAM仅支持SPI模式,因此命令集甚至更小。带有传统FRAM的读取命令与串行SRAM完全兼容。
但是,所有传统的FRAM实现都要求WREN(操作码0x06)位于写命令之前。这需要更改软件才能写入设备。
ULE FRAM命令集和缓解措施
ULE FRAM支持串行SRAM支持的所有模式。两种技术之间的SPI和QSPI模式以及所有读写命令完全兼容。串行SRAM和ULE FRAM之间的唯一区别是进入DSPI模式的操作码。对于ULE FRAM,此操作码更改为0x37。