Что такое EEPROM?
Каждый микроконтроллер имеет в своем составе несколько типов запоминающих устройств (ЗУ), которые имеют свои особенности и свое предназначение. Как правило, при программировании микроконтроллера мы имеем дело только с двумя типами ЗУ:
- ПЗУ-флэш (Flash) — здесь хранится программа и загрузчик;
- ОЗУ (SRAM) — сюда программа и её данные загружаются при непосредственном выполнении.
Но есть ещё один очень полезный вид памяти — это ЭСППЗУ (EEPROM) — электрически стираемое перепрограммируемое ПЗУ. Как понятно из названия, стирание данных в этой памяти происходит при помощи электрических сигналов, в отличие, например, от УФРПЗУ (UV EPROM), в которых данные стираются под действием ультрафиолетового излучения.
Блок EEPROM может быть встроен в сам микроконтроллер, как в Atmega328, но чаще в системе он представлен отдельной микросхемой. Память представлена во всех возможных корпусах: DIP, SOIC, DFN, BGA. На фото корпус SOIC-8.
Сколько данных можно хранить в EEPROM? Например, в Atmega328 (Arduino Uno) есть всего 1 килобайт (8 килобит) такой памяти. А в Atmega2560 (Arduino Mega) — уже 4 килобайта. Но существуют микросхемы EEPROM с объёмом памяти 4 мегабайта!
А что с надёжностью? Не секрет, что все виды памяти обладают конечным количеством циклов записи. Это означает, что со временем ячейки памяти начинают выходить из строя, нарушая целостность хранящихся в них данных.
Большинство современных микросхемы EEPROM могут выдерживать от 100 тысяч до миллиона циклов записи. Данные в EEPROM могут храниться до 200 лет! Для сравнения, износостойкость Флэш-памяти всего несколько десятков тысяч циклов.
На этом уроке мы научимся записывать и читать данные из EEPROM, которая находится на борту Arduino Uno, а также поработаем с внешней EEPROM памятью с I2C интерфейсом.
Список необходимых компонентов
Для проведения экспериментов используем внешний модуль EEPROM от RobotClass с объёмом памяти 512кб. Будем подключать к отладочной плате Графит-S3. Для подключения понадобится кабель QIIC.
Для выполнения экспериментов с Arduino Uno понадобится сама отладочная плата с USB кабелем, макетная плата, кнопка, резистор, потенциометр и немного проводов вилка-вилка и вилка-розетка. Необходимые компоненты можно добавить в корзину прямо здесь, и затем оформить заказ в нашем интернет-магазине.