0000 000 1 Start — начало активного обмена
0000 001 X Адрес устройства шины CBUS (для совместимости)
0000 010 X Адрес для устройств иных шин
0000 011 X ,Зарезервировано
0000 1XX X Зарезервировано
0101 000 X Хост шины ACCESS.bus
0110 111 X «Дежурный» адрес ACCESS.bus
1111 0XX Х Признак 10-битной адресации
1111 1XX X Зарезервировано
0001 000 X Хост шины SMBus
0001 100 X Адрес ответа на сигнальные сообщения SMBus
1100 001 X «Дежурный» адрес 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 в конец добавляется контрольный байт.

♦ Read Byte, Read Word, чтение байта/слова, — комбинированные транзакции: сначала посылается адресный байт (RW=0), за которым передается код

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату