2.2.4.7 Операция чтения
Операция чтения инициируется точно так же, как и операция записи, за
тем исключением, что бит чтения/записи в слове адреса устройства
устанавливается равным 1. Существует три операции чтения: чтение с текущего
адреса, чтение в режиме произвольного доступа и последовательное чтение.
65
Чтение с текущего адреса
Внутренний счетчик адреса содержит последний адрес, к которому
производилось обращение во время операции чтения или записи, увеличенный
на единицу. Этот адрес остается корректным в промежутке между операциями
до тех пор, пока микросхема работает (питание включено). Во время чтения
счетчик адреса «перепрыгивает» с последнего байта последней страницы
памяти на первый байт первой страницы.
После передачи микроконтроллером байта адреса устройства с битом
чтения/записи, установленным в «1», и подтверждения его модулем E
2
PROM,
следующим микроконтроллеру передается байт данных по текущему адресу
памяти. Микроконтроллер в ответ сигнализирует об окончании чтения:
посылает NO ACK и стоп-сигнал (см. рисунок).
Рисунок 16. Чтение с текущего адреса
Список обозначений:
• READ – чтение;
• ACK – сигнал подтверждения;
• NO ACK – отсутствие подтверждения;
• SDA LINE – линия передачи данных SDA;
• DATA – данные;
• DEVICE ADDRESS – адрес устройства.
Чтение в режиме произвольного доступа
Рисунок 17. Чтение в режиме произвольного доступа
*Эти биты для памяти EEPROM емкостью 1 К могут быть любыми.
66
Список обозначений:
• READ – чтение;
• WRITE – запись;
• ACK – сигнал подтверждения;
• SDA LINE – линия передачи данных SDA;
• DATA – данные;
• DEVICE ADDRESS – адрес устройства;
• WORD ADDRESS – адрес ячейки памяти;
• DUMMY WRITE – холостая запись (установка счетчика адреса).
Как только слово адреса устройства и адрес слова данных будут приняты
E
2
PROM, микроконтроллер должен сгенерировать еще один старт-сигнал.
После чего начинается чтение с текущего адреса, только что установленного
(см. предыдущий раздел).
Чтение в режиме последовательного доступа
Последовательное чтение данных инициируется в процессе либо чтения с
текущего адреса, либо чтения в режиме произвольного доступа – чтением
последовательности байтов данных из EEPROM. Когда счетчик адреса
достигнет последнего байта последней страницы памяти, он «перепрыгнет» на
первый байт первой страницы. Операция последовательного чтения будет
остановлена в том случае, если микроконтроллер сигнализирует об окончании
чтения: посылает NO ACK и стоп-сигнал (см. рисунок).
Рисунок 18. Последовательное чтение
Список обозначений:
• READ – чтение;
• ACK – сигнал подтверждения;
• NO ACK – отсутствие подтверждения;
• SDA LINE – линия передачи данных SDA;
• DATA – данные;
• DEVICE ADDRESS – адрес устройства.
|