使用EEPROM的替代方法


9

据我了解,EEPROM是计算机(在我的情况下是AVR微控制器)的一部分,它存储数据并即使在设备完全关闭时也可以保留数据。它允许将数据写入其中以及从中读取数据。

我看到的问题是,它的寿命有限,寿命很短。换句话说,在磨损EEPROM之前,我只能读/写有限次。

我正在寻找一种实现与EEPROM相同功能的方法,但尺寸要小。我想我可以使用诸如microSD卡之类的东西,但是我更喜欢不需要用户购买存储卡的解决方案。另外,我最多只需要几个字节的空间。假设1 kB非常非常保守。我将花费超出所需的费用来容纳任何类型的存储卡。

那我有什么选择呢?是否有任何通用的IC解决方案可以使我在不短寿命和高成本的情况下实现这种数据存储/检索?


3
您需要多久保存一次这几个字节?这是这里的关键问题。是每分钟吗?小时?毫秒?
古斯塔沃·利托夫斯基

例如,ATmega32的EEPROM的寿命为100,000个读/写周期。
。– m.Alin

3
您说“在磨损EEPROM之前,我只能读/写有限次”,这不太正确。您会通过写操作使EEPROM磨损,但通常不限制读取。
Photon

@GustavoLitovsky让我们说,每分钟一次。在这种情况下,对于持续打开的ATmega32,它将持续两年。我认为这是可以的。
capcom

@ThePhoton啊,好的。我从来不知道,谢谢。并不是说它会改变任何东西,因为我需要读/写。
capcom

Answers:


4

是的,EEPROM是一种非易失性存储器,即使在没有任何电源的情况下也可以在相当长的时间内保存数据(实际时间取决于温度和其他条件)。

您还可以考虑其他一些非易失性解决方案:

1)内部闪存-当今大多数微控制器都具有用于代码存储的闪存,有些还提供用于用户数据和日志记录的闪存。这也具有有限的写周期,并且在将位从“ 1”更改为“ 0”之前需要进行块擦除(同时将数据存储在其他位置,然后将其重写)。

2)内部FRAM存储器-TI的设备具有非易失性FRAM存储器,可以非常容易地进行访问(就像其他任何存储器位置一样。读取也像写入一样具有破坏性(尽管在您的情况下这可能无关紧要,因为周期数为10摄氏85度时约为^ 13左右)。

3)外部闪存-您可以在外部添加内存,以相对便宜的价格容纳几兆位数据。

根据您要保存的速率(以及是否可以正常关闭),您可能能够增加可用的有效循环数。


12

克服EEPROM耐用性限制的方法是应用损耗均衡算法。基本上,对于要存储的每条记录,您都会为其分配N倍的内存需求,并为N-index值分配相应的空间,然后使用推论找出哪个是“当前记录”以及哪个是要写入的下一条记录至。在本AVR应用笔记对此进行了很好的描述。


7

另一个可能的解决方案是使用一些静态夯和一个电池。使用寿命有限,因为电池最终会耗尽,但是写入周期不受限制。如果您知道停工时间将是一个很小的值,则也可以使用类似大电容的电容器为其供电。如果设计得当,锂钮扣电池在这样的应用中可以持续很长时间。

也有一部分将RTC,nvram和电池(以保持时钟运行)结合在一起。这些缺点是,如果内部电源断开,您将失去整个部件(不仅仅是电池),但是取决于产品的使用寿命,这可能不是问题。


2

我不知道您的预算是多少,但是您可能想看看MRAM,它与DRAM一样快,但与Flash一样非易失性。当然,它们比EEPROM芯片贵得多。

几年前,我有很多飞思卡尔的示例IC,但从未有过使用它们的机会,因此,我真的无法确定您最终会获得比必须附加SD卡更简单的电路吗?插槽。


1

我是计算机专家,而不是电气工程师,但我认为还有另一种解决闪存生命周期问题的方法:

我的理解是,闪存的生命周期问题实际上是擦除问题,而不是写入问题。您可以根据需要编写任意多次,但写的细节很少,仅是单向的。

由于您所需的存储空间很小,甚至与小型设备的大小相比,您都可以(假设您对硬件有足够的低级别访问权限)将其多次写入,每次都在不同的位置。确保可以将您的数据与未写入的内存区分开(如果需要,可将其填充),最后写入的单元格为当前值。

此外,如果您的数据实际上是每次写入增加一次的计数器,则可以通过根本不写入数据,而是每滴答地写入一位来获得更多的计数,该计数就是写入的位数。


1

Microchip的串行NVSRAM可能适合您的账单:

Serial NVSRAM offers non-volatile RAM storage and is ideal for applications that need to write very often to the memory. This device is significantly lower cost than other non-volatile RAM devices and the data is backed using an external battery. This 8-pin, SPI device supports unlimited instantaneous writes to the memory array, making it ideal in applications such as meters, data loggers, data recorders, black boxes. These devices are available in 512Kbits and 1Mbit densities.

该串行存储器系列支持备用电池。在数据表中提到的1uA的来自电池的电流消耗。1K数量时价格不到2美元,Microchip提供免费样品。IC采用爱好者友好的PDIP和SOIC封装。


1

您可能需要研究串行FRAM。主要制造商似乎是赛普拉斯(néeRamtron)。这是一部分:

http://www.cypress.com/?rID=73530

它有大尺寸可用(我见过的最大的是2Mbit),它的协议与MRAM或闪存兼容,它的字节可读写,而无需擦除,它的速度很快---与SPI协议保持一致-保留率非常高。

也就是说,很难找到它。很少有分销商随身携带该产品,而那些确实立即售罄的分销商---赛普拉斯有自己的商店(也免费送货),在我之间订购了两台FM25V04零件,他们售罄。提前六个星期的时间,显然是...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.