|
|
Содержание. .
Направление передачи от Master к Slave.
Блок данных состоит из байта Адрес, одного или нескольких байт Данные и байта CHK (Контрольная сумма). Максимальный размер
блока данных - 36 байт.
Старшие 5 бит байта Адрес используются для указания адреса, младшие биты 2, 1. 0 используются для передачи вложенных команд.
Это позволяет передавать одним байтом до 8 адресных инструкций периферийным устройствам.
VMC в ответ на каждый блок данных от Slave отвечает байтом ACK (Подтверждение данных), байтом NAK (Уведомление о неверно принятых данных)
или байтом RET (Требование повторить предачу данных). Отсутствие ответа от VMC в течение интервала времени, большего чем 5 мсек,
эквивалентно передаче байта NAK. Если адресуемое Slave не отвечает больше 5 мсек (интервал времени t-Response), Master может посылать одинаковые команды или посылать
разные команды, пока не получит ответ от Slave, или пока не закончится интервал времени Non-Response. По истечению времени Non-Response
Master должен послать команду RESET периферийному устройству, после чего VMC может посылать команды другим Slave.
Направление передачи от Slave то Master.
Совокупность передавамых данных для этого случая содержит или блок данных с байтом CHK в конце или байт ACK или байт NAK..
Отсутствие какого либо ответа от Slave в течение 5 мсек (t-Response) эквивалентно передаче им команды NAK. Стандарт рекомендует использовать
такой способ предачи байта NAK в случае обнаружения ошибки при приеме байта Адрес. Это предотвращает передачу ответа NAK несколькими Slave.
Блок данных всегда содержит один или больше байтов данных с байтом CHK в конце. Максимальный размер блока - 36 байт.
Ответы ACK и NAK не содержат байт CHK в конце. Slave устройство должно устанавливать бит режима в 1 в последнем байте блока.
Это будет или байт CHK или байт NAK или байт ACK. В остальных байтах блока бит режима должен быть установлен в логический 0.
Ответ ACK или NAK Slave передает для обозначения конца процедуры приема инструкции от Slave. Когда Slave пердает блок данных в Master,
последний должен должен ответить либо ACK либо NAK либо RETR. Если Master не отвечает на протяжении 5 мсек (превышен t-Response) Slave
должен повторить блок данных или присоединить его в конец передачи в другом возможном случае, например при получении команды POLL.
Формат байта CHK. Например, в ответ на команду STATUS Slave передает блок данных 02H 00H 01H 05H 02H 00H 07H 01H 02H 05H 14H FFH. Сумма
байтов дает результат 12СH. Поэтому байт CHK равен 2CH. Контрольная сумма подсчитывается для всех случаев передачи, за исключением передачи
ответов ACK, NAK и RET.
Коды байтов ответов. ACK 00H, RET AAH, NAK FFH. VMC и Slave устройства должны интерпретировать задержку ответа,
превышающую 5 мсек (T-Response) как ответ NAK Команду RET может передавать только VMC. Стандарт рекомендует распознавать эти ответы путем
подсчета в принятом байте числа установленных в 1 бит.
Сброс шины.
VMC может сбросить все Slave устройства через установку линии передачи в состояние "active" в течение интервала времени, большего, чем 100 мсек.
Все Slave устройства должны прекратить любые дейтсвия и перейти в состояние, которое возникает при включении питания. Стандарт рекомендует, чтобы
Master после этого вновь произвел инициализацию всех Slave устройств.
|