我需要一个内存解决方案,该解决方案将用于跟踪基于微控制器的项目中的累计计数。
通过累计计数,我的意思是说微控制器使用此存储位置来保留事件发生的计数。断电期间需要保留该计数,因此需要非易失性存储器。
另外,计数增加事件的发生是频繁的,因此将有很多写入存储器,因此我犹豫使用EEPROM。
首选的通信接口是I2C,但也欢迎使用其他替代方法。
我想到的是SRAM低功耗易失性存储器IC,可以选择在断电时由备用电池(例如纽扣电池)供电。
我需要一个内存解决方案,该解决方案将用于跟踪基于微控制器的项目中的累计计数。
通过累计计数,我的意思是说微控制器使用此存储位置来保留事件发生的计数。断电期间需要保留该计数,因此需要非易失性存储器。
另外,计数增加事件的发生是频繁的,因此将有很多写入存储器,因此我犹豫使用EEPROM。
首选的通信接口是I2C,但也欢迎使用其他替代方法。
我想到的是SRAM低功耗易失性存储器IC,可以选择在断电时由备用电池(例如纽扣电池)供电。
Answers:
按照可用大小的顺序,三种非易失性存储器类型满足您的需求:
就成本而言,FRAM是最好的。您只需要在芯片内部,包括备用电容器即可完成写入。但是,可用尺寸很小。
备用电池SRAM庞大且材料昂贵。
耗损均衡的EEPROM需要固件来处理耗损均衡。
这是我对仍在量产的产品所做的工作。
事实证明,从低压触发器到电源管理IC插入并关闭所有设备(有序关闭)的时间大约有10-20ms。是否有效取决于电源中的能量存储,但是即使是很小的电源也可以使此速度足够慢,以便可以可靠地写入小的数据集。
Toggle MRAM(磁阻RAM)据称具有有效的无限写入耐力(他们不知道有任何机制会导致写入用尽)。不过,我还不知道有哪些此类芯片会使用I2C,因此您必须选择SPI。这是一个这样的部分:https://www.digikey.com/product-detail/zh/everspin-technologies-inc/MR25H256ACDF/819-1064-ND/8286370
赛普拉斯制造了他们所谓的非易失性SRAM。这是标准的SRAM,在断电时会自动备份。由于它仅在电源故障时写入非易失性存储器,因此可能具有更大的耐久性。它有串行和并行版本。这可能有点过大,因为最小的是64Kb。
在正常操作下,nvSRAM的行为类似于使用标准信号和时序的常规异步SRAM。nvSRAM执行并行随机访问读取和写入的速度最快为20 ns。
发生电源故障时,nvSRAM会自动将SRAM数据的副本保存到非易失性存储器中,该数据在其中的保护时间超过20年。SRAM和非易失性存储器之间的传输是完全并行的,从而允许在8 ms或更短的时间内完成操作,而无需任何用户干预。
上电时,nvSRAM将数据返回给SRAM,并且系统从中断处继续操作。nvSRAM还提供用户控制的软件STORE和RECALL初始化命令,以及大多数版本中的用户控制的硬件STORE命令。
对于单个4字节变量,EEPROM完全可以。
假设您每秒写入一次,并且您具有典型的32Kb EEPROM,而我们的耐用性为100,000个写入周期。
您可以写4个字节8000次,然后再进行清除。因此,即使使用保守估计,也应该可以写出8亿次。
现在一年中只有3150万秒,因此一秒钟写一次就需要25年才能达到EEPROM耐久性的低端估计。