Каждое ведомое устройство имеет свой уникальный адрес; в диапазоне 7-битных значений адреса выделяются специальные значения (табл. 11.4), которых несколько больше, чем в I²C. 10-битная адресация в текущей версии не рассматривается. Адреса устройств разделяются по типам. Для устройств однозначно понятного назначения SMBus WG выделяет специальные адреса (Purpose-assigned addresses). Например, батареи Smart Battery имеют адрес 0001 011, их зарядные устройства — 0001 001. Устройства с этими адресами обязаны соответствовать требованиям SMBus, предъявляемым к устройствам данного класса. Ряд систем с SMBus определяют и используют эти устройства, основываясь на их адресе. Другие системы могут и не доверять одному только адресу, а определять типы присутствующих устройств иным образом. Для устройств разнообразного назначения, а также устройств, не полностью отвечающих спецификациям SMBus для своего класса, производители назначают иные адреса, с которыми можно ознакомиться на сайте www.smbus.org. Адреса устройств-прототипов задействуются исключительно в экспериментально-отладочных целях и в коммерческих изделиях использоваться не должны. В спецификации SMBus 2.0 появилась возможность автоматического динамического назначения адресов устройств, которая будет рассмотрена ниже.

Таблица 11.4. Специальные адреса SMBus

Биты[7:1]Бит 0 (RW)Назначение
0000 0000General call address — адрес общего вызова
0000 0001Start — начало активного обмена
0000 001XАдрес устройства шины CBUS (для совместимости)
0000 010XАдрес для устройств иных шин
0000 011X,Зарезервировано
0000 1XXXЗарезервировано
0101 000XХост шины ACCESS.bus
0110 111X«Дежурный» адрес ACCESS.bus
1111 0XXХПризнак 10-битной адресации
1111 1XXXЗарезервировано
0001 000XХост шины SMBus
0001 100XАдрес ответа на сигнальные сообщения SMBus
1100 001X«Дежурный» адрес SMBus
1001 0XXХАдрес устройств-прототипов

Типичное устройство SMBus поддерживает определенный набор команд, с помощью которых выполняется обмен данными. Команда кодируется одним байтом, передаваемым в транзакции вслед за адресным байтом. Команды могут использовать один из 11 протоколов, определенных в SMBus.

В версии 1.1 спецификации SMBus введена возможность контроля ошибок пакета PEC (Packet error checking). Механизм PEC основан на добавлении в конец каждого передаваемого пакета байта CRC-кода, вычисляемого по всем предыдущим байтам пакета, начиная с адресного. Почти все протоколы могут иметь два варианта — без PEC и с PEC; на одной шине могут присутствовать устройства и с поддержкой PEC, и без. На байт PEC приемник отвечает подтверждением, но трактовка ответа неоднозначна. Если передатчик в ответ на PEC получил ответ NACK, это означает, что приемник не подтвердил корректный прием пакета. Однако ответ ACK не является подтверждением достоверности приема: приемник может «не понимать» PEC и отвечать на него как на обычный байт данных; приемник может и не выполнять контроль в реальном времени приема потока данных. Более «достоверный контроль достоверности» могут обеспечить лишь протоколы высших уровней. Так, например, для контроля достоверности записи в устройство можно использовать последующее чтение тех же данных с PEC, и по анализу всего принятого пакета ведущее устройство сделает вывод об успешности или ошибке операции записи.

Шинные протоколы SMBus основаны на транзакциях I²C с 7-битной адресацией.

♦ Quick Command, короткая команда, — посылка адресного байта; действие команды определяется битом RW адресного байта.

♦ Send Byte, посылка байта, — передача ведущим устройством вслед за адресным байтом (RW=0) одного байта данных. В варианте с PEC передаются два байта, последний — PEC.

♦ Receive Byte, прием байта, — прием ведущим устройством вслед за адресным байтом (RW=1) одного байта данных. В варианте с PEC принимаются два байта, последний — PEC.

♦ Write Byte, Write Word, запись байта/слова, — передача ведущим устройством вслед за адресным байтом (RW=0) одного байта команды, за которым следует 1 или 2 байта (младший, а затем старший) данных. В варианте с PEC в конец добавляется контрольный байт.

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

Все книги серии Наиболее полное и подробное руководство

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