Типы передачи данных

Типы передачи данных. USBподдерживает как однонаправленные, так и двунаправленные режимы связи.

Передачаданных производится между ПО хоста и конечной точкой устройства. Устройство можетиметь несколько конечных точек, связь с каждой из них канал устанавливается независимо. АрхитектураUSB допускает четыре базовых типа передачи данных Управляющие посылки Control Transfers, используемые для конфигурирования во времяподключения и в процессе работы для управления устройствами.

Протокол обеспечиваетгарантированную доставку данных. Длина поля данных управляющей посылки не превышает64 байт на полной скорости и 8 байт на низкой. Сплошные передачи Bulk Data Transfers сравнительно больших пакетов без жесткихтребований ко времени доставки. Передачи занимают всю свободную полосу пропусканияшины. Пакеты имеют поле данных размером 8, 16, 32 или 64 байт. Приоритет этих передачсамый низкий, они могут приостанавливаться при большой загрузке шины. Допускаютсятолько на полной скорости передачи.

Прерывания Interrupt - короткие до 64 байт на полной скорости, до 8 байт на низкой передачи типа вводимых символов или координат. Прерывания имеют спонтанный характери должны обслуживаться не медленнее, чем тоготребует устройство. Предел времени обслуживания устанавливается в диапазоне1-255 мс для полной скорости и 10-255 мс - для низкой. Изохронные передачи Isochronous Transfers - непрерывные передачи в реальном времени, занимающие предварительно согласованную часть пропускной способности шины и имеющиезаданную задержку доставки.

В случае обнаружения ошибки изохронные данные передаютсябез повтора - недействительные пакеты игнорируются. Пример - цифровая передача голоса. Пропускная способность определяется требованиями к качеству передачи, а задержкадоставки может быть критичной, например, при реализации телеконференций. Полосапропускания шины делится между всеми установленными каналами. Выделенная полосазакрепляется за каналом, и если установление нового канала требует такой полосы, которая не вписывается в уже существующее распределение, запрос на выделение каналаотвергается. АрхитектураUSВ предусматривает внутреннюю буферизацию всех устройств, причем чем большей полосыпропускания требует устройство, тем больше должен быть его буфер.

USB должна обеспечиватьобмен с такой скоростью, чтобы задержка данных в устройстве, вызванная буферизацией, не превышала нескольких миллисекунд. Изохронныепередачи классифицируются по способу синхронизации конечных точек - источников илиполучателейданных - с системой различают асинхронный, синхронныйи адаптивный классы устройств, каждому из которых соответствует свой тип каналаUSB. 6.Протокол Всеобмены транзакции по USB состоят из трех пакетов.

Каждая транзакция планируетсяи начинается по инициативе контроллера, который посылает пакет-аркер TokenPacket. Он описывает тип и направление передачи, адрес ус-тройства USB и номерконечной точки. В каждой транзакции возможен обмен только между адресуемым устройством его конечной точкой и хостом.

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

Маркеры отвергнутых транзакций повторно передаютсяв свободное для шины время. Управление потоками позволяет гибко планировать обслуживаниеодновременных разнородных потоков данных. Устойчивостьк ошибкам обеспечивают следующие свойства USB Высокое качество сигналов, достигаемое благодаря дифференциальным приемникам передатчиками экранированным кабелям. Защита полей управления и данных CRC-кодами. Обнаружение подключения и отключения устройств и конфигурирование ресурсов на системномуровне.

Самовосстановление протокола с тайм-аутом при потере пакетов. Управление потоком для обеспечения изохронности и управления аппаратными буферами. Независимость функций от неудачных обменов с другими функциями. Дляобнаружения ошибок передачи каждый пакет имеет контрольные поля CRC-кодов, позволяющиеобнаруживать все одиночные и двойные битовые ошибки. Аппаратные средства обнаруживаютошибки передачи, а контроллер автоматически производит трехкратную попытку передачи. Если повторы безуспешны, сообщение об ошибке передается клиентскому ПО. 7.