Проектирование средств контроля и диагностики с элементами высокой интеграции. Методические указания - 11 стр.

UptoLike

9
Сигнал START говорит всем периферийным устройствам, что сейчас к
кому-то из них будет произведено обращение. Теперь микроконтроллер
передает по I2C байт данный, который мы ниже будем называть запросным.
Этот запросный байт содержит информацию ономере периферийного
устройства, с которым желает связаться микроконтроллер. Этот номер (также
часто называемый адресом slave-устройства) принимается всеми
устройствами,
подключенными к шине I2C. Каждое периферийное устройствознает”, какой
за ним закреплен номер и сверяет этот номер с тем адресом, который
содержится в запросном байте. Если эти адреса совпали, то устройство готово к
дальнейшему обмену данными с контроллером. Если нет, то устройство
отключаетсяот I2C до тех пор, пока там не
появится следующий сигнал
START. Выбранное устройствоотзывается на обращение к нему сигналом
ACK – выдает нулевой бит на SDA во время действия девятого
синхроимпульса. Напомним, что первые 8 синхроимпульсов соответствовали
передаче запросного байта (см. рис. 3).
Рис. 3. Формирование сигнала подтверждения ACК
Сигнал АСК (acknowledge – подтверждение) говорит о нормальном
завершении приема байта данных. Микроконтроллер должен освободить
линию данных перед приемом ACK, чтобы периферия могла выдать нулевой
бит на эту линию. Под освобождением линии понимается перевод выходного
каскада в закрытое состояние, т. е. на линии появляется высокий уровень
напряжения
за счетподтягивающегорезистора. Далее последовательность
сигналов START+запросный байт+ACK и сопровождающие эти сигналы
синхроимпульсы мы будем называть запросным пакетом.
В запросном байте последний (младший) бит содержит информацию о
том, какое действие хочет совершить микроконтроллерпередачу данных в
периферийное устройство или чтение данных из периферийного устройства.
Если последний бит запросного байта
нулевой, то это запрос на запись, в
противном случаена чтение.
Заметим, что в процессе работы микроконтроллера с выбранным
периферийным устройством сигнал START сформироватьсяслучайно не