Протокол и форматы пакетов

Все передаваемые данные по шине USB включают 3 пакета:

подтверждение квитирования
данные
маркер
Вывод


уст-во ждет хост ждет

Ввод

подтверждение квитирования
данные
маркер


хост ждет уст-во ждет

Передача планируется и реализуется контроллером.

Контроллер посылает маркер. В этом пакете содержится тип и направление передачи, адрес уст-ва, номер конечной точки.

Ус-во, получив маркер, дешифрирует его и готовится к обмену.

После этого происходит передача данных или передается то, что данные отсутствуют.

Если маркер отвергнут, то повторно они передаются в свободное для шины время.

При каждой передаче осущ. контроль на предмет ошибок.

Для этого пакет имеет контрольные поля.

CRC коды позволяют обнаружить одиночные и двойные ошибки. В случае обнаружения производится 3х-кратная передача.

Если ошибка не устраняется, то инфо- передается клиентскому АО для принятия мер.

Передача проводится байтами, начиная с младшего.

Каждый кадр имеет начало SOF (start of frame). Маркер состоит из 7битного адресного поля, затем следует адрес функции, 4х битное значение конечной тчки.

Заканчивается EOF.

Кадры формируются цикличеки. В цикл вкладываются все запланированные транзакции.

Загрузка кадрами планируется так, чтобы между ними было место для передач типа управление или прерывания.

Оставшееся свободное место используется для передачи массивов.