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

Байт, передаваемый вслед за байтом (или байтами) адреса, обычно интерпретируется адресованным ведомым как команда или управляющий/байт, посредством которого передается конфигурационная информация. Например, для I2C-совместимых микросхем памяти может потребоваться передача внутреннего адреса, начиная с которого будут заноситься данные (см. Пример 12.3). Все последующие байты обычно являются простыми данными или же данными, перемежающимися управляющими байтами.

Для иллюстрации рассмотрим микросхему ЦАП МАХ518 компании Maxim, блок-схема которой приведена на Рис. 12.16. Эта микросхема аналогична SPI-совместимой МАХ459, имеет двухуровневый регистровый конвейер, два канала и режим пониженного потребления.

Микросхема МАХ518 имеет 7-битный адрес вида 01011AD1AD0, где значения битов AD1 и ADO определяются логическими уровнями на соответствующих выводах микросхемы. Если предположить, что оба вывода подключены к общему проводу, то для адресации микросхемы ведущий должен будет послать следующий пакет: . Бит R/W¯ равен 0, поскольку эта микросхема может только принимать данные.

Байт команды имеет формат 000 RST PD XX А0 и содержит три управляющих бита.

∙ А0

Этот бит используется для разрешения входного PIPO-регистра 0-го (А0 = 0) и 1-го (А0 = 1) каналов.

∙ PD

Когда этот бит равен 1, оба канала АЦП переключаются в режим пониженного потребления, при этом суммарный ток потребления микросхемы не превышает 4 мкА. Содержимое внутренних регистров остается неизменным, кроме того, в этом состоянии можно загружать данные и обновлять содержимое регистров. Изменение режима работы происходит только после формирования ведущим состояния СТОП, т. е. учитывается только последнее переданное значение бита.

∙ RST

Если этот бит равен 1, то все внутренние регистры сбрасываются независимо от значения последующего байта данных. После формирования на шине состояния СТОП напряжение на выходах обоих каналов становится равным нулю.

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

Рис. 12.16. Микросхема сдвоенного ЦАП с интерфейсом I2C МАХ518 (Maxim)

Для работы с ЦАП МАХ518 нам потребуется написать подпрограмму, формирующую состояния СТАРТ, СТОП и передающую по шине байты данных. Для написания подобного драйвера устройства необходимо более внимательно рассмотреть временные соотношения между тактовым сигналом и сигналом данных, на которые в большинстве своем накладываются более жесткие ограничения, чем в случае интерфейса SPI.

Микросхема МАХ518 и большинство современных I2С-совместимых устройств поддерживают режим Fast, поэтому диаграммы, приведенные на Рис. 12.17, соответствуют тактовой частоте для этого режима (400 кГц). В частности, для корректного формирования состояния СТАРТ требуется, чтобы ВЫСОКИЙ уровень на линии SCL удерживался в течение не менее 0.6 мкс (tHD;STA) после появления активного фронта  на линии SDA. Аналогично, для корректного формирования состояния СТОП требуется, чтобы ВЫСОКИЙ уровень на линии SCL был выставлен не позже чем за 0.6 мкс (tSU;STO) до появления активного фронта  на линии SDA. А время нахождения шины в незанятом состоянии (tBUF) между формированием состояния СТОП и последующего состояния СТАРТ должно быть не менее 1.3 мкс. Указанные значения позволяют всем ведомым устройствам однозначно обнаруживать эти специальные состояния шины.

Рис. 12.17.Минимальные значения временных параметров для режима Fast

Во время передачи байта данных тактовый сигнал должен удовлетворять следующим условиям: длительность интервала НИЗКОГО уровня (tLOW) — не менее 1.3 мкс, длительность интервала ВЫСОКОГО уровня (tHIGH) — не менее 0.6 мкс и, следовательно, полный период сигнала — не менее 2.5 мкс, что соответствует частоте 400 кГц. Изменение состояния линии данных может происходить только при НИЗКОМ уровне на линии тактового сигнала, причем все изменения должны быть прекращены не позже чем за 100 не (tSU;DAT) до появления нарастающего фронта тактового сигнала.

На Рис. 12.17 не указаны максимальные значения времени нарастания и спада, которые не должны превышать 300 не при наибольшей емкости шины, равной 400 пФ. Чтобы удовлетворить этому требованию, при такой емкости шины сопротивление подтягивающих резисторов, изображенных на Рис. 12.14, не должно превышать 1.8 кОм. При небольшой длине шины и малом количестве подключенных к ней устройств сопротивление подтягивающих резисторов можно увеличить в десятки раз для уменьшения потребления.

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

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

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

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

Сид Катцен

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

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

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

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

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

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