Универсальная последовательная шина (Universal Serial Bus) разработана в качестве средства подключения к компьютеру периферийных устройств различного класса. Первая спецификация шины утверждена в 1996 г., в настоящее время действует спецификация версии 2.0, описывающая расширенные возможности шины. Архитектура интерфейса USВ включает три категории компонентов: • коммуникации; • устройства; • хост-контроллеры. Коммуникации определяют топологию шины (модель соединения хост-контроллера и устройств), уровневую модель выполнения задач, потоковую модель обмена данными, изохронную модель обмена и разделяемых ресурсов шины. В категории устройств различают устройства-хабы (концентраторы), то есть компоненты, способные обеспечить дополнительные точки подключения, и функциональные устройства, которые являются конечным звеном топологии сети USB. Хост-контроллер (корневой концентратор) является ведущим компонентом интерфейса USB, обеспечивая все функции интерфейса. К хост-контроллеру могут быть подключены либо функциональные устройства, либо концентраторы, для увеличения числа доступных портов. Допускается организация до пяти уровней топологии, что в сумме дает до 127 абонентов на шине. Хост-контроллер следит за подключением и отключением устройств, организует управляющих потоков между USВ-устройством и хостом, организует потоки данных между USВ-устройством и хостом, контролирует состояние устройств и ведет статистику функционирования, снабжает подключенные устройства электропитанием. Многие функции контроллера USB возложены на операционную систему: адресация устройств и их конфигурирование, управление энергопотреблением, процессами передачи, устройствами на шине и самой шиной. Концентратор (хаб) служит разветвителем шины, создавая дополнительные порты. Каждый хаб имеет один восходящий канал, предназначенный для подключения к имеющемуся в наличии свободному порту, и несколько нисходящих, к которым могут быть подключены или другие концентраторы, или конечные устройства. Хаб должен следить за подключением и отключением устройств, уведомляя хост об изменениях, управлять питанием портов. Согласно спецификации USB 2.0 в концентраторе может находиться три функциональных блока: контроллер, повторитель, транслятор транзакций. Контроллер отвечает за соединения с хостом. Обязанность повторителя — соединять входной и один из выходных каналов. Транслятор транзакций потребовался для обеспечения совместимости с предыдущими версиями шины. Его суть в том, чтобы обеспечивать максимальную скорость соединения с хостом. Подключенное к высокоскоростному (USB 2.0) порту медленное (USВ 1.1) устройство потребляет значительную часть ресурсов, ведя обмен с хостом на низкой скорости. Транслятор транзакций буферизирует поступающие с медленного порта кадры, а затем на максимальной скорости передает их хосту, и наоборот, буферизирует получаемые на максимальной скорости кадры от хоста, передавая его затем устройству USB 1.1 на меньшей, приемлемой для него скорости. Помимо разветвления и трансляции транзакций хаб должен осуществлять конфигурирование портов и слежение за корректным функционированием подключенных к ним устройств. Функциональное устройство с позиции контроллера USB — это конечная точка в топологии шины, с которой возможен обмен данными. Каждая конечная точка устройства описывается следующими параметрами: • частотой обращения к шине и требованиями к задержкам; • требуемой полосой пропускания; • номером конечной точки; • требованиями к обработке ошибок; • максимальным размером кадра, который может быть обработан; • способом передачи данных; • направлением передачи данных между конечной точкой и хостом. Для низкоскоростных (low-speed) устройств допускается встраивание двух дополнительных точек, для полноскоростных (full-speed) устройств число точек ограничивается лишь возможностями протокола и теоретически достигает 15 для ввода и 15 для вывода.Таким образом, конечная точка — это тупик логического канала данных между хостом и устройством. В свою очередь канал — это логическое соединение между хостом и устройством. Так как конечных точек устройства может быть несколько, то обмен данными между хост-контроллером и устройством на шине проходит в многоканальном режиме. Полоса пропускания шины делиться между всеми установленными каналами. Шина USB предоставляет каналы нескольких типов. Каналы сообщений являются двунаправленными и служат для передачи сообщений, имеющих строго определенный формат, необходимый для обеспечения надежной идентификации. Канал устанавливается при отсылке хостом запроса в устройства, и управляет передачей только хост. Каналы сообщений используется для передач только управляющего типа. Потоковые каналы являются однонаправленными. В отличие от четко определенных сообщений, они не имеют определенного формата, что означает возможность передачи данных любого типа. Эти сообщения могут контролироваться не только хостом, но и устройством. Используется для передачи данных типа: управляющие, прерывание, групповая пересылка, изохронная. Управляющие передачи используются для конфигурирования устройств во время подключения и выполнения других специфических функций, включая организацию новых каналов. Прерывания используются для спонтанных, но гарантированных передач с гарантированными скоростями и задержками (например, для приема данных от клавиатуры или сведений об изменении положения указателя мыши). Групповая пересылка используется для гарантированной передачи данных больших объемов без предъявленных требований к скорости и задержкам. Занимает всю свободную пропускную способность шины. Обычно такие передачи используется между принтерами, сканерами, накопителями. Изохронная передача используется для потоковых передач данных в реальном времени. Резервирует определенную полосу пропускания шины, гарантируя определенные величины задержек доставки, но не гарантирует доставку (в случае обнаружения ошибки повторной передачи не происходит). Передача этого вида используются для аудио и видеоданных. Информация по шине USB передается пакетами четырех видов: маркерные, пакеты данных, подтверждения, специальные. Обмен данными по шине USB осуществляется в трех скоростных режимах: • Low Speed (низкоскоростной режим) с пропускной способностью до 1,5 Мбит/с; • Full Speed (полноскоростной режим) с пропускной способностью до 12 Мбит/с; • High Speed (высокоскоростной режим) с пропускной способностью до 480 Мбит/с. Обмен данными возможен только между хостом и устройством, и не допускается напрямую между устройствами на шине. Транзакции на шине USB состоят из двух-трех актов: посылки пакета маркера, определяющего, что будет следовать дальше (тип транзакции, адрес устройства и его конечную точку), пакета данных (опционально), и пакета статуса транзакции (для подтверждения нормального выполнения операции или сообщения об ошибке). Физические каналы связи организуются концентраторами и кабелями. Кабель представляет собой экранированную витую пару. Всего в USB-кабеле используется 4 провода: два для передачи сигнала и два для подачи напряжения. Для подключения устройств предназначены соединители типа «А» и типа «В». Разъемы типа «А» используются для постоянного подключения к устройствам. Соединители типа «В» используются для частого подключения периферии. Разъем miniUSB типа «В» предназначен для применения на малогабаритных устройствах (мобильные телефоны, фотоаппараты, плееры). Конструктивно разъемы сделаны так, что сначала происходит соединение шины питания, потом шины данных. Электрический интерфейс USB использует дифференциальные сигналы, хотя каждый порт помимо дифференциального приемника имеет еще и линейные приемники. Подключаемые устройства, потребляющие небольшой ток (до 500 мА), могут быть запитаны от шины USB. Для увеличения доступной мощности питания на шине концентраторы могут оснащаться своим собственным блоком питания. [1]