Альтернативы использованию EEPROM

9

Насколько я понимаю, EEPROM - это часть компьютера (в моем случае, микроконтроллера AVR), который хранит данные и удерживает их, даже когда устройство полностью выключается. Это позволяет записывать данные и читать из них.

Проблема, которую я вижу, заключается в том, что у нее ограниченная жизнь и довольно короткая. Другими словами, я могу только читать / писать конечное число раз, прежде чем изнашивать EEPROM.

То, что я ищу, - это способ достижения той же функциональности, что и в EEPROM, но в небольшом форм-факторе. Я полагаю, что могу использовать что-то вроде карты microSD, но я бы предпочел решение, которое не требует от пользователя покупать карту памяти. Кроме того, мне нужно всего лишь несколько байтов, максимум. Давайте просто скажем, 1 КБ, чтобы быть очень, очень консервативным. Я бы потратил больше, чем нужно для размещения карты памяти любого рода.

Так какие у меня варианты? Существуют ли какие-либо общепринятые IC-решения, которые позволили бы мне добиться такого рода хранения / извлечения данных без короткого срока службы и высокой стоимости?

Capcom
источник
3
Как часто вам нужно сохранять эти несколько байтов? Это ключевой вопрос здесь. Это каждую минуту? Час? milisecond?
Густаво Литовский
Например, EEPROM ATmega32 имеет 100 000 циклов записи / чтения. Этого может быть более чем достаточно, в зависимости от приложения ..
m.Alin
3
Вы сказали: «Я могу читать / писать только конечное количество раз, прежде чем изнашивать EEPROM», что не совсем верно. Вы изнашиваете EEPROM с записью, но обычно чтение не ограничено.
Фотон
@GustavoLitovsky Скажем, раз в минуту. В этом случае для ATmega32, который постоянно включен, это продлится два года. Я думаю, это нормально, когда я рассматриваю это в перспективе.
capcom
@ThePhoton Ах, хорошо. Я никогда не знал этого, спасибо. Не то, чтобы это что-то изменило, так как мне требуется и чтение / запись.
capcom

Ответы:

4

Да, EEPROM - это тип энергонезависимой памяти, которая может хранить данные даже без питания в течение значительного периода времени (фактическое время зависит от температуры и других условий).

Есть несколько других энергонезависимых решений, которые вы можете рассмотреть:

1) Внутренняя флэш-память. В настоящее время большинство микроконтроллеров имеют Flash для хранения кода, а некоторые предоставляют его для пользовательских данных и ведения журналов. Это также имеет ограниченные циклы записи и требует стирания блока перед изменением битов с «1» на «0» (тем временем вы сохраняете данные в другом месте, а затем переписываете их).

2) Внутренняя память FRAM - TI имеет устройства с памятью FRAM, которая является энергонезависимой, к ней можно обращаться очень просто (как и к любой другой ячейке памяти. Чтения также разрушительны при записи (хотя в вашем случае это может не иметь значения, поскольку число циклов равно 10). ^ 13 или около того при 85 градусах Цельсия).

3) Внешняя флэш-память - вы можете добавить внешнюю память, чтобы хранить несколько мегабит данных довольно недорого.

В зависимости от скорости, с которой вы хотите сэкономить (и можете ли вы правильно отключиться), вы сможете увеличить эффективное количество доступных вам циклов.

Густаво Литовский
источник
12

Способ преодолеть ограничение выносливости EEPROM - применить алгоритм выравнивания износа. В основном для каждой записи, которую вы хотите сохранить, вы выделяете в N раз требуемую для нее память и соответствующее пространство для значений N-индекса, а затем используете умозаключение, чтобы выяснить, какая из них является «текущей записью», а какая является следующей записью для записи. к. Это хорошо описано в этом примечании к приложению AVR .

vicatcu
источник
7

Другое потенциальное решение - немного статического ОЗУ и батарея. Это имеет ограниченный срок службы в том, что батарея в конечном итоге умрет, но это не ограничено в циклах записи. Вы также можете использовать что-то вроде конденсатора большой емкости для питания, если вы знаете, что время простоя будет немного меньше. Ячейка литиевой монеты может долго работать в таком приложении, если вы правильно ее разработали.

Есть также части, которые включают в себя RTC, NVR и батарею (чтобы часы работали) в одной части. У них есть недостаток, заключающийся в том, что при отключении внутреннего источника питания вы потеряете всю часть (не только батарею), но в зависимости от того, как долго ваш продукт будет работать, это может быть проблемой.

Майкл Кон
источник
2

Я не знаю, каков ваш бюджет, но вы можете взглянуть на MRAM , который быстр как DRAM, но энергонезависим, как Flash. Конечно, это намного дороже, чем чипы EEPROM.

У меня есть несколько образцов микросхем от Freescale несколько лет назад, но у меня никогда не было возможности их использовать, поэтому я не могу точно сказать, получится ли у вас гораздо более простая схема, чем при подключении SD-карты. слот.

Simón
источник
1

Я компьютерный парень, а не инженер-электрик, но я думаю, что есть другой подход к проблеме жизненного цикла флэш-памяти:

Насколько я понимаю, проблема жизненного цикла на флэш-памяти - это вопрос стирания, а не записи. Вы можете писать столько раз, сколько захотите, за исключением небольшой детали, что записи являются односторонними.

Поскольку нужное хранилище является крошечным по сравнению с размером даже небольших устройств, которые вы можете (при условии, что у вас достаточно низкий уровень доступа к оборудованию) записывать его много раз, каждый раз в другом месте. Убедитесь, что ваши данные можно отличить от неписаной памяти (добавьте их при необходимости, чтобы выполнить это), и последняя записанная ячейка является текущим значением.

Кроме того, если ваши данные на самом деле являются счетчиком, увеличиваемым один раз за запись, вы можете получить еще больше, не записывая их вообще, а записывая один бит на такт, счетчик - это количество записанных битов.

Лорен Печтель
источник
1

Серийный NVSRAM от Microchip может соответствовать вашим требованиям:

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 от батареи. Цена составляет менее $ 2 в 1 тыс. Кол-во, и Microchip предлагает бесплатные образцы. Микросхемы доступны в виде пакетов PDIP и SOIC.

Четан Бхаргава
источник
1

Возможно, вы захотите заглянуть в серийный FRAM. Основным производителем, похоже, является Cypress (урожденная Ramtron). Вот одна часть:

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

Он доступен в больших размерах (самый большой, который я видел, это 2Mbit), это протокол, совместимый с MRAM или флэш-памятью, он доступен для чтения и записи в байтах без необходимости стирания, это быстро - записи идут в ногу с протоколом SPI - и удержание смехотворно высоко.

Тем не менее, это немного трудно найти. Немногие дистрибьюторы несут его, и те, которые, кажется, распродаются мгновенно - у Cypress есть собственный магазин (бесплатная доставка тоже), и между мной заказываются две запчасти FM25V04, которые они распродали. Шесть недель, видимо ...

Дэвид Гивен
источник