Главная>транзакции

транзакции

Транзакции.

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

Обмен данными

Передача данных.

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

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

Каналы USB