Протокол и форматы пакетов
Все передаваемые данные по шине USB включают 3 пакета:
|
|
|
уст-во ждет хост ждет
Ввод
|

|
|
хост ждет уст-во ждет
Передача планируется и реализуется контроллером.
Контроллер посылает маркер. В этом пакете содержится тип и направление передачи, адрес уст-ва, номер конечной точки.
Ус-во, получив маркер, дешифрирует его и готовится к обмену.
После этого происходит передача данных или передается то, что данные отсутствуют.
Если маркер отвергнут, то повторно они передаются в свободное для шины время.
При каждой передаче осущ. контроль на предмет ошибок.
Для этого пакет имеет контрольные поля.
CRC коды позволяют обнаружить одиночные и двойные ошибки. В случае обнаружения производится 3х-кратная передача.
Если ошибка не устраняется, то инфо- передается клиентскому АО для принятия мер.
Передача проводится байтами, начиная с младшего.
Каждый кадр имеет начало SOF (start of frame). Маркер состоит из 7битного адресного поля, затем следует адрес функции, 4х битное значение конечной тчки.
Заканчивается EOF.
Кадры формируются цикличеки. В цикл вкладываются все запланированные транзакции.
Загрузка кадрами планируется так, чтобы между ними было место для передач типа управление или прерывания.
Оставшееся свободное место используется для передачи массивов.