Внешняя I2C EEPROM память

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

Или записать небольшой файл в память устройства, или просто устройству не хватает например памяти для хранения текста, выводимого потом на экран. Как пример анимация в виде серии картинок (кадров) для вывода на дисплей NOKIA 3310, картинки занимают очень много памяти, они просто не влезут в память микроконтроллера.

Решить задачу поможет микросхема внешней памяти EEPROM. EEPROM — (Electrically Erasable Programmable Read-Only Memory) что значит Программируемая Память с Электрическим Стиранием.

То есть такие микросхемы предназначены для хранения данных без внешних источников питания. Им не страшно отключение питания. Их легко можно стереть, выполнив определенную команду. Данные микросхемы работают по протоколу I2C что подразумевает высокую скорость работы.

Организация памяти Микросхемы EEPROM представляют из себя таблицу с двумя столбиками, 1-й — адрес, 2-й — значение.

Адрес Значение
00000 001
00001 056
00002 000
00003 255
00004 013

Адрес ограничивается только номиналом микросхемы EEPROM. Номиналы микросхем бывают:
24c02, 24c08, 24c16, 24c32, 24c64, 24c128, 24c256, 24c512 изредка но можно найти.
Все микросхемы серии абсолютный аналог друг-друга.

Значение поля «Данные» ограничивается пределами типа данных int, то есть от -32767 до 32767. Данные лучше всего записывать в шестнадцатиричной системе, то есть:
в десятичной системе число «35» будет соответствовать значению «0x23» в шестнадцатиричной.

Если требуется хранение дробных чисел, к примеру, температуры, то можно использовать первую цифру для хранения знака (23606 — «36,6», 13606  — «-36,6») или использовать несколько ячеек памяти.

Микросхемы EEPROM выпускаются как в корпусах типа DIP так и корпусах для поверхностного монтажа SOIC. Если к устройству нет определенных жестких требований по части корпуса, то можно использовать и DIP корпус, разницы нет.

Обычно микросхемы серии 24cХХ отличаются лишь объемом внутренней памяти.
Рассмотрим пример программы для работы с одной из этих микросхем.

images

 

Метки: , , , , . Закладка Постоянная ссылка.

Комментарии запрещены.