Читаем PIC-микроконтроллеры. Все, что вам необходимо знать полностью

Микросхемы EEPROM серии 24ХХХ имеют следующие характеристики:

• I2С-совместимый интерфейс с максимальной частотой 400 кГц (VDD = 5 В) и 100 кГц при(VDD = 2.5 В.

• Возможность защиты содержимого микросхемы от записи (режим ПЗУ), используя вывод WP.

• Типичная длительность цикла записи — 2 мс.

• Долговечность — не менее 1 000 000 циклов записи на ячейку.

• Ток потребления — 3 мА в режиме записи, 1 мА в режиме чтения и 100 мкА в режиме ожидания.

• Встроенный генератор высокого напряжения для программирования.

На примере микросхемы 24LC01B покажем, какие операции необходимо выполнить для инкрементирования содержимого трех ячеек, расположенных в младших адресах, где хранится суммарный путь в милях или километрах (единица измерения меняется в зависимости от рынка, для которого предназначен автомобиль). Предположим, что каждый километр/милю генерируется прерывание для микроконтроллера и что наш код является частью процедуры обработки прерывания. Кроме того, в нашем распоряжении имеются ресурсы, используемые подпрограммами, коды которых приведены в Программах 12.9 и 12.18.

Решение

Прежде чем приступить к написанию собственно кода, необходимо познакомиться с протоколом обмена, поддерживаемым микросхемами серии 24ХХХ. Этот протокол в виде временных диаграмм сигналов на линии данных приведен на Рис. 12.27.

Рис. 12.27.Временные диаграммы операций чтения и записи микросхем EEPROM

Инициирование обмена всегда осуществляется ведущим (микроконтроллером), который формирует на шине состояние СТАРТ, после чего передает управляющий байт. В этом байте содержится адрес ведомого 1010, адрес конкретной микросхемы А2А1А0, а также бит R/W¯: . Однако, хотя в управляющий байт и включены биты адреса (а соответствующие им выводы микросхемы показаны на Рис. 12.26), в последних версиях микросхем EEPROM малого объема возможность изменения адреса микросхемы не реализована. Так сделано потому, что в случае необходимости увеличения объема памяти гораздо проще и эффективнее заменить микросхему на другую, большей емкости, поскольку цоколевка у всех микросхем серии одинакова. Так, заменив микросхему 24LC01B на 24LC08B, мы получим восьмикратное увеличение объема без вмешательства в схему самого устройства. Микросхемы же большей емкости, такие как 24LC256, используют выводы адреса для расширения системы, так как в этом случае придется подключать к шине дополнительные микросхемы. Так, при использовании восьми микросхем 24LC512 мы получим энергонезависимую память объемом 512 Кбайт.

Как правило, после управляющего байта передается значение адреса в памяти, куда будут записываться или откуда будут считываться данные. Если говорить конкретно о микросхеме 24LC01B, то в ней данные организованы в виде 128 однобайтных ячеек, каждая из которых может быть записана или считана независимо от других. То есть в ней используется 7-битный адрес, для передачи которого вполне достаточно одного байта. Эта схема годится также для микросхемы 24LC02B, однако для всех остальных микросхем требуется адрес, разрядность которого больше 8 бит. В микросхемах от 24LC04 до 24LC16 для передачи трех старших битов адреса используются биты А[2:0] управляющего байта, в результате чего разрядность адреса увеличивается до 11 бит. Микросхемы EEPROM, имеющие объем более 16 Кбит (24LC32 и далее), требуют уже двух байтов адреса, которые передаются вслед за управляющим байтом.

Байты адреса посылаются в EEPROM в пакетах записи, как показано на Рис. 12.27, а, т е. со сброшенным битом R/W¯ управляющего байта. Если в данную ячейку необходимо записать байт данных, то он будет передан сразу же после байта адреса, а затем на шине будет сформировано состояние СТОП. Если же до формирования состояния СТОП будет передано более одного байта, то они будут сохранены во внутреннем буфере небольшого объема, а реальное программирование начнется только после появления состояния СТОП. Микросхема 24LC02B может запомнить до восьми байтов (одну страницу) данных, инкрементируя при получении очередного байта три младших бита адреса. При переходе через границу страницы ранее загруженные значения перезаписываются. Размер страницы зависит от модели устройства. Например, в 24LC256 используются 64-байтные страницы. На Рис. 12.27, а показан процесс записи трех байтов в микросхему 24LC01B. Поскольку используемые нами ячейки расположены в младших адресах (h’00’, h’01’ и h’02’), то переполнения не произойдет.

После обнаружения микросхемой состояния СТОП запускается процесс записи буферированных данных в заданные ячейки. Длительность процесса программирования в микросхемах семейства 24LCXXX составляет от 2 до 5 мс. Если в течение этого времени ведущий попытается обратиться к микросхеме, то она при получении первого (управляющего) байта отошлет NACK, что можно использовать в качестве индикатора занятости. В Программе 12.19 этот бит проверяется при посылке управляющего байта.

Перейти на страницу:

Все книги серии Программируемые системы

PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника

Похожие книги

Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки