· Снабжениеподключенных устройств электропитанием
Аппаратнойчастью является хост контроллер - посредник между хостом и устройствами нашине.
Программныефункции (перечисление устройств и их кон
Концентратор(хаб). Позволяетмножественные подключения к одному порту, создавая дополнительные порты. Каждыйхаб имеет один восходящий порт, предназначенный для подключения к имеющемуся вналичии свободному порту, и несколько нисходящих, к которым могут бытьподключены или снова концентраторы, или конечные устройства, либо совмещенныеустройства.
Хабдолжен следить за подключением и отключением устройств, уведомляя хост обизменениях, управлять питанием портов. В концентраторе стандарта USB 2.0 можновыделить 3 функциональных блока: контроллер, повторитель, транслятортранзакций. Контроллер отвечает за соединения с хостом. Понятие повторитель вUSB несколько отличается от принятого в сетях передачи данных. Его обязанность- соединять входной и какой-то нужный из выходных портов. Транслятор транзакцийпоявился лишь в USB 2.0 и нужен, как всегда, из соображений совместимости спредыдущими версиями. Вкратце его суть в том, что бы обеспечивать максимальнуюскорость соед
Функциональноеустройство. С точкизрения USB, устройство - это набор конечных точек с которыми возможен обменданными. Число и функции точек зависят от устройства и выполняемых им функций,и определяются при производстве. В обязательном порядке присутствует точка сномером 0 - для контроля состояния устройства и управления им. До осуществленияконфигурирования устройства через точку 0 остальные каналы не доступны. Каждаяконечная точка устройства описывается следующими параметрами:
· Частотойобращения к шине и требованиями к задержкам
· Необходимойполосой пропускания
· Номером конечно
· Требованиями кобработке ошибок
· Максимальнымразмером кадра который может быть принят или послан.
· Типомподдерживаемой передачи данных
· Направлениемосуществления передачи между конечной точной и хостом.
Длянизкоскоростных (low-speed) устройств возможно существование до двухдополнительных точек; для full-speed устройств их число ограничивается лишьвозможностями протокола и может достигать 15-ти для ввода и 15-ти для вывода.
Вообщеконечная точка - это конец логического канала данных между хостом иустройством. В свою очередь канал - это логическое соединение между хостом иустройством. Так как конечных точек у устройства предусматривается несколько,то это означает, что обмен данными между хост-контроллером и устройством нашине может проихсодить по нескольким каналам, так называемый многоканальныйрежим. Полоса пропускания шины делиться между всеми установленными каналами. Враспоряжение шина USB может предоставить каналы следующих типов:
· Каналысообщений. Являютсядвунаправленными каналами и служат, не трудно сообразить, для передачисообщений, имеющих строго определенный в спецификации формат, необходимый дляобеспечения надежной идентификации и передачи команд. Возникает канал приотсылке хостом запроса в устройства, и управляет передачей только хост. Каналысообщений используется для передач только управляющего типа (что такое смотримниже).
· Потоковыеканалы. Являютсяоднонаправленными. В отличие от четко определенных сообщений не имеютопределенного закрепленного в стандарте формата, что означает возможностьпередачи данных любого вида. Эти
· Управляющиепередачи.Используются для конфигурирования устройств во время подключения и выполнениядругих специфических функций над устройством, включая организацию новыхканалов.
· Прерывания. Используются для спонтанных, ногарантированных передач с гарантированными скоростями и задержками.Используются обычно для передачи введенных данных от клавиатуры или сведений обизменении положения указателя мыши, в устройствах обратной связи, и.т.д
· Групповаяпересылка.Используется для гарантированной передачи данных больших объемов безпредьявленных требований к скоростям и задержкам. Занимает под себя всюсвободную пропускную способность шины. В любой момент доступная полоса можетбыть урезана при необходимости осуществления передач других видов с болеевысоким приоритетом, или добавлена, при освобождении другими устройствами.Обычно такие передачи используется между принтерами, сканерами, накопителями идр.
· Изохроннаяпередачи.Используются для потоковых передач данных в реальном времени. Резервируютопределенную полосу пропускания шины, гарантируют определенные величинызадержек доставки, но не гарантируют доставку (в случае обнаружения ошибкиповторной передачи не происходит. Передачи этого вида используются для передачиаудио и видео трафика.
Обменданными может осуществляться в трех скоростных режимах:
· Low Speed.Низкоскоростной режим. Ско
· Full Speed.Полноскоростной режим. Скорость передачи 12 Мбит/с.
· High Speed.Высокоскоростной режим. Появился лишь в спецификации 2.0. Скорость передачи 480Мбит/с.
Информацияпо шине передается пакетами. Всего их определено 4 вида:
· Маркерныепакеты.
o In - информируютUSB устройство, что хост хочет читать данные из устройства
o Out -информирует USB устройство, что хост хочет передавать данные в устройство
o Setup -используются для обозначения начала управляющего типа передачи данных
o SOF -пакеты началакадра (Start of Frame Packets)
· Пакеты данных.
o Существуют дватипа пакетов данных - DATA0, DATA1 , каждый из которых способен содержать до1024 байтов данных. У высокоскоростных устройств для пакетов данных определеныдва других PID-a: DATA2 и MDATA.
· Пакетыподтверждения.
o ACK -подтверждение того, что пакет был успешно принят
o NAK -информирует, что устройство в данный момент не может принимать либо отправлятьданные. А в Interrupt транзакциях сообщает хосту, что устройство не имеет новыхданных для передачи.
o STALL -указывает, что устройство неспособно передавать или получать данные и требуетсявмешательство хоста.