Альтернативи використанню EEPROM


9

Як я розумію, EEPROM - це частина комп’ютера (у моєму випадку - мікроконтролера AVR), який зберігає дані та тримається на ньому навіть тоді, коли пристрій повністю вимкнеться. Це дозволяє записувати дані до нього та читати з них.

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

Що я шукаю - це спосіб досягти тієї ж функціональності, що і EEPROM, але в невеликому форм-факторі. Я припускаю, що я можу використовувати щось на зразок карти microSD, але я вважаю за краще рішення, яке не вимагає від користувача покупки карти пам'яті. Крім того, мені дуже потрібно лише декілька байтів простору. Скажімо, 1 кБ бути дуже, дуже консервативним. Я б витратив більше, ніж потрібно, щоб розмістити карту пам'яті будь-якого типу.

То які мої варіанти? Чи є якісь загальні рішення для ІС, які б дозволили мені досягти такого типу зберігання / пошуку даних, без короткого терміну експлуатації та великих витрат?


3
Як часто вам потрібно зберегти ці кілька байт? Ось тут ключове питання. Це щохвилини? Година? мілісекунда?
Густаво Литовський

Наприклад, EEPROM ATmega32 має 100 000 циклів запису / читання. Цього може бути більш ніж достатньо, залежно від заявки ..
м.Алін

3
Ви сказали, що "я можу читати / писати лише обмежену кількість разів, перш ніж зношувати EEPROM", що не зовсім правильно. Ви зношуєте EEPROM із записом, але в основному читання не обмежені.
The Photon

@ ГуставоЛитовський Скажімо, раз на хвилину. У такому випадку для ATmega32, який постійно працює, він триватиме два роки. Я думаю, що це нормально, коли я ставлю це в перспективі.
capcom

@ThePhoton Ага, гаразд. Я ніколи цього не знав, дякую. Не те, щоб це щось змінило, оскільки я вимагаю і читання / запису.
capcom

Відповіді:


4

Так, EEPROM - це тип енергонезалежної пам'яті, який може зберігати дані навіть без енергії протягом значної кількості часу (фактичний час залежить від температури та інших умов).

Є кілька інших енергонезалежних рішень для розгляду:

1) Внутрішня флеш-пам'ять - Більшість мікроконтролерів нині мають Flash для зберігання коду, а деякі надають її також для даних користувачів та реєстрації даних. Це також має обмежені цикли запису і вимагає блокування стирання перед зміною бітів з '1' на '0' (тим часом ви зберігаєте дані в іншому місці, а потім переписуєте їх).

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

3) Зовнішня флеш-пам'ять - Ви можете додавати пам'ять зовнішньо, щоб зберігати кілька мегабітів даних досить недорого.

Залежно від швидкості, з якою ви хочете заощадити (і від того, чи можете ви прекрасно відключити), ви зможете збільшити ефективну кількість доступних для вас циклів.


12

Спосіб подолання обмеження на витривалість EEPROM - застосувати алгоритм вирівнювання зносу. В основному для кожного запису, який ви хочете зберегти, ви виділите N-кратну потребу в пам'яті і відповідне простір для значень N-індексу, а потім використовуйте умовивід, щоб визначити, що є "поточним записом" і який наступний запис потрібно записати до. Це добре описано в цій примітці додатків AVR .


7

Ще одне потенційне рішення - трохи статичного тарана та акумулятора. Це обмежений термін експлуатації, оскільки акумулятор згодом загине, але це не обмежено в циклах запису. Ви також можете використати щось на зразок конденсатора великого розміру, щоб живити його, якщо ви знаєте, що ваш позаурочний час буде мати деяке невелике значення. Літієва монетка може тривати довгий час у такому додатку, якщо правильно розробити її.

Також є деталі, які містять RTC, nvram та акумулятор (щоб тримати годинник) в одній частині. Вони мають той недолік, що якщо джерело внутрішнього джерела живлення ви втратили всю частину (не лише акумулятор), але залежно від того, як довго повинен тривати ваш виріб, це може не стати проблемою.


2

Я не знаю, який у вас бюджет, але ви можете поглянути на MRAM , який швидкий як DRAM, але енергонезалежний, як Flash. Звичайно, це набагато дорожче, ніж мікросхеми EEPROM.

Я мав купу зразкових ІМ-дисків від Freescale років тому, але ніколи не мав можливості їх використовувати, тому я не можу реально сказати, чи ви отримаєте набагато простішу схему, ніж якщо вам доведеться приєднати SD-карту виїмка.


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

Ви можете заглянути в послідовну ОЗУ. Основним виробником, здається, є Cypress (родина Ramtron). Ось одна частина:

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

Він доступний у великих розмірах (найбільший, який я бачив, - 2 Мбіт), це протокол, сумісний з MRAM або flash, це байт, який можна читати, не можна видаляти, це швидко --- пише не відставати від протоколу SPI --- і затримка смішно висока.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.