Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Универсальная последовательная шина ⇐ ПредыдущаяСтр 8 из 8
Система USB состоит из хоста USB и устройств USB. Категория устройств состоит из концентраторов (hub) и узлов (node). В любой системе существует один хост (host) USB. Этот модуль содержит интерфейс, который предоставляет контроллер хоста USB. Фактически котроллер представляет собой комбинацию аппаратного, программно-аппаратного и программного обеспечения. Концентраторы — это устройства, которые предоставляют дополнительные точки подключения для других устройств USB. Специальный концентратор, называемый корневым концентратором, является неотъемлемой частью хост-системы и предоставляет одну или более точек подключения для устройств USB. Порты соединяются со стандартными соединителями с помощью дополнительного кабеля задней панели, устанавливаемого в свободное отверстие в задней стенке системного блока. Понятно, что некоторые компоненты системы одновременно служат и устройством USB, и концентратором USB (например, клавиатура и монитор). В этих устройствах имеются как компоненты, выполняющие заданную функцию, так и встроенный концентратор, к которому могут подключаться другие устройства. Подобного рода устройства называются комбинированными. По своим возможностям передачи данных устройства USB разделяются на полноскоростные и низкоскоростные устройства. Предельная длина кабеля, обслуживающего полноскоростное устройство составляет 5 м. Предельная длина кабелей, используемых между низкоскоростными устройствами, равна 3 м. Передача данных через USB Интерфейс USB предоставляет разработчику множество возможностей, избавляя его от самостоятельной реализации байтовых протоколов обмена, подсчета контрольных сумм и других забот, необходимых для надежной связи с устройствами. Механизм передачи данных является асинхронным и блочным. Блок передаваемых данных называется USB-фреймом или USB-кадром и передается за фиксированный временной интервал. Оперирование командами и блоками данных реализуется при помощи логической абстракции, называемой каналом. Внешнее устройство также делится на логические абстракции, называемые конечными точками. Таким образом, канал является логической связкой между хост-контроллером и конечной точкой внешнего устройства. Канал можно сравнить с открытым файлом.
Для передачи команд (и данных, входящих в состав команд) используется канал по умолчанию, а для передачи данных открываются либо потоковые каналы, либо каналы сообщений. Информация по каналу передается в виде пакетов (Packet). Каждый пакет начинается с поля синхронизации SYNC (SYNChronization), за которым следует идентификатор пакета PID (Packet IDentifier). Поле Check представляет собой побитовую инверсию PID. Систему USB следует разделить на три логических уровня с определенными правилами взаимодействия. Устройство USB содержит интерфейсную, логическую и функциональную части. Хост тоже делится на три части - интерфейсную, системную и программное обеспечение. Каждая часть отвечает только за определенный круг задач. Логическое и реальное взаимодействие между ними показано на рисунке. Таким образом, операция обмена данными между прикладной программой и шиной USВ выполняется путем передачи буферов памяти через следующие уровни.
Уровень клиентского ПО в хосте: · обычно представляется драйвером устройства USB; · обеспечивает взаимодействие пользователя с операционной системой с одной стороны и системным драйвером с другой. Уровень системного обеспечения USB в хосте (USBD, Universal Serial Bus Driver): · управляет нумерацией устройств на шине; · управляет распределением пропускной способности шины и мощности питания; · обрабатывает запросы пользовательских драйверов. Хост-контроллер интерфейса шины USB (HCD, Host Controller Driver): · преобразует запросы ввода/вывода в структуры данных, по которым хост-контроллер выполняет физические транзакции; · работает с регистрами хост-контроллера. Уровень клиентского программного обеспечения определяет тип передачи данных, необходимый для выполнения затребованной прикладной программой операции. После определения типа передачи данных этот уровень передает системному уровню следующее: · буфер памяти, называемый клиентским буфером; · пакет запроса на в/в (IRP, Input/output Request Packet), указывающий тип необходимой операции. · IRP содержит только сведения о запросе (адрес и длина буфера в оперативной памяти). Непосредственно обработкой запроса занимается системный драйвер USB.
Уровень системного драйвера USB необходим для управления ресурсами USB. Он отвечает за выполнение следующих действий: · распределение полосы пропускания шины USB; · назначение логических адресов устройств каждому физическому USB-устройству; · планирование транзакций. Логически передача данных между конечной точкой и ПО производится с помощью выделения канала и обмена данными по этому каналу, а с точки зрения представленных уровней, передача данных выглядит следующим образом. Клиентское ПО посылает IPR-запросы уровню USBD. Драйвер USBD разбивает запросы на транзакции по следующим правилам: · выполнение запроса считается законченным, когда успешно завершены все транзакции, его составляющие; · все подробности отработки транзакций (такие как ожидание готовности, повтор транзакции при ошибке, неготовность приемника и т. д.) до клиентского ПО не доводятся; · ПО может только запустить запрос и ожидать или выполнения запроса или выхода по тайм-ауту; · устройство может сигнализировать о серьезных ошибках, что приводит к аварийному завершению запроса, о чем уведомляется источник запроса. Драйвер контроллера хоста принимает от системного драйвера шины перечень транзакций и выполняет следующие действия: · планирует исполнение полученных транзакций, добавляя их к списку транзакций; · извлекает из списка очередную транзакцию и передает ее уровню хост-контроллера интерфейса шины USB; · отслеживает состояние каждой транзакции вплоть до ее завершения. Хост-контроллер интерфейса шины USB формирует кадры. Таким образом, можно сформировать следующую упрощенную схему: · каждый кадр состоит из наиболее приоритетных посылок, состав которых формирует драйвер хоста; · каждая передача состоит из одной или нескольких транзакций; · каждая транзакция состоит из пакетов; · каждый пакет состоит из идентификатора пакета, данных (если они есть) и контрольной суммы.
|
||||||
Последнее изменение этой страницы: 2021-03-10; просмотров: 73; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.46.50 (0.01 с.) |