Изохронные передачи

в начало

Все обмены данными (транзакции) по USB состоят из трех пакетов. Каждая транзакция планируется и начинается по инициативе контроллера, который посылает пакет-маркер (Тоken Packet). Он описывает тип и направление передачи, адрес устройства USB и номер конечной точки.

В каждой транзакции возможен обмен только между адресуемым устройством (его конечной точкой) и хостом. Адресуемое маркером устройство распознает свой адрес и готовится к обмену. Источник данных (определенный маркером) передает пакет данных (или уведомление об отсутствии данных, предназначенных для передачи). После успешного приема пакета приемник данных посылает пакет подтверждения (Handshake Packet).

Планирование транзакций обеспечивает управление поточными каналами. На аппаратном уровне использование отказа от транзакции (NAK) при недопустимой интенсивности передачи предохраняет буферы от переполнения сверху и снизу. Маркеры отвергнутых транзакций повторно передаются в свободное для шины время. Управление потоками позволяет гибко планировать обслуживание одновременных разнородных потоков данных.

Устойчивость к ошибкам обеспечивают следующие свойства USB:

§ Высокое качество сигналов, достигаемое благодаря дифференциальным приемникам/передатчикам и экранированным кабелям.

§ Защита полей управления и данных CRC-кодами.

§ Обнаружение подключения и отключения устройств и конфигурирование ресурсов на системном уровне.

§ Самовосстановление протокола с тайм-аутом при потере пакетов.

§ Управление потоком для обеспечения изохронности и управления аппаратными буферами.

§ Независимость функций от неудачных обменов с другими функциями.

Байты передаются по шине последовательно, начиная с младшего бита. На следующих диаграммах биты и поля пакетов представлены в том виде, в каком они передаются по шине (т.е. слева направо, начиная с младшего бита).