Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
Глава 1 3. Интерфейс ТWI (12С) и его применение 359 с автоинкрементом адреса можно выжать все, что позволяет интерфейс I 2 c. При «нашей» частоте 1 00 кГц это будет 1 0-1 1 кбайт в секунду. Но вся прелесть EEPROM именно в том, что она позволяет адресовать индивидуальные байты, и процедура чтения займет не менее четырех обращений к памяти : «мастер» посы лает 3 байта (адрес устройства и два байта адреса памяти), и «ведомый» отвечает байтом данных. Получается что-то около 2,5 кбайт/с, т. е . , чтобы прочесть все 32 кбайта микросхемы АТ24С256, потребуется примерно 1 2 секунд. Однако в рас чете на один байт это все равно быстрее, чем аналогичная процедура для flаsh памяти, из которой приходится извлекать целый блок в 256 байтов, менять в нем одну ячейку и записывать обратно. Отсюда и главный способ использования внеш ней EEPROM с I 2 С-интерфейсом - с ней удобно работать, когда необходима по байтные запись и чтение данных. Базовый I 2 С-адрес АТ24 равен $АО ( оыо 1 0 00 0 0) . При необходимости можно увели чить емкость памяти, поставив несколько микросхем параллельно. Современные типы (с буквой «В», «С» или «D» в конце наименования) имеют по три вывода АО А2, комбинацией логических единиц на которых можно задавать последние три бита адреса, - I 2 С-адрес устройства тогда будет равен 1 0 1 ОА2А1АО . Так можно со единять до восьми микросхем параллельно. Старые типы имели две таких линии - соответственно, можно было подсоединять до четырех микросхем. Отметим, что специальное подсоединение выводов АО-А2 к логическому нулю не требуется, и если применяется всего одна микросхема, то эти выводы можно оставить «вися щими в воздухе», - логический ноль формируется внутренней схемой. То же самое относится к выводу запрещения записи WR (который здесь имеет положитель ную логику- при нуле запись разрешена) . Поэтому показанная на рис. 1 3 .4 базовая схема подключения очень простая : достаточно выводы 5 и 6 подключить к линиям, обозначенным на рис. 1 3 .3 как SDA и SDL. +5 8 8 АТ24С256 4 R1 , R2 5,1 к Рис. 1 3.4. Подключение памяти типа АТ24 ЗАМЕТКИ НА ПОЛЯХ Давайте прикинем, на сколько нам может хватить одной микросхемы памяти АТ24С256. Пусть базовый кадр данных состоит из четырех байтов значений давления и темпера туры, полученных с датчиков по одному из способов, описанных ранее. Тогда в наши 32 килобайта мы сможем вместить 8 1 92 измерения. Разумеется , писать их все подряд не нужно: у нас измерения производятся каждые несколько секунд, но за это время в погоде вряд ли что изменится . Стандартный синоптический интервал , на который мы
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==