Лекция 14. USB- порт
- Последовательные шины
- Шина USB
- Модель и протокол передачи данных
1.Последовательные шины
Последовательные шины позволяют объединять множество устройств, используя всего 1-2 пары проводов. При этом достигается пропускная способность от 100 Кбит/с для шины ACCESS Bus, до 400 Мбит/с для FireWire, 480 Мбит/с для USB 2.0 и 1 Гбит/с для FCAL.
Функциональные возможности этих шин гораздо шире, чем у традиционных интерфейсов локальных сетей USB и FireWire способны передавать изохронный график аудио- и видеоданных. Последовательные шины по своей организации сильно отличаются от параллельных. В последовательных шинах нет отдельных линий для данных, адреса и управления все протокольные функции приходится выполнять, пользуясь одной (в USB и ACCESS.Bus) или двумя (в FireWire) парами сигнальных проводов или парой оптических волокон (Fibre Channel).
Это накладывает отпечаток на построение шинного протокола, который в последовательных шинах строится на пересылках пакетов определенным образом организованных цепочек бит. Заметим, что в терминологии USB пакеты и кадры имеют несколько иную трактовку, нежели в сетях передачи данных.
В параллельных шинах имеются возможности явной синхронизации интерфейсной части ведущих и ведомых устройств; исполнение каждого шага протокола обмена может быть подтверждено, и при необходимости некоторые фазы обмена могут продлеваться по «просьбе» не успевающего устройства. В последовательных шинах такой возможности нет пакет пересылается целиком, а синхронизация возможна только по принимаемому потоку бит. Эти и другие особенности сближают последовательные шины с локальными сетями передачи данных.
Наибольшую популярность имеют шины USB и FireWire, хотя последняя пока что в РС- совместимых компьютерах используется не повсеместно. Технологии последовательных шин FireWire и USB, имея общие черты, существенно различаются. Обе шины обеспечивают простое; подключение большого числа ПУ (127 для USB и 63 для FireWire), допуская коммутации и включение/выключение устройств при работающей системе. По структуре топология обеих шин достаточно близка, но FireWire допускает большую свободу и пространственную протяженность. Хабы USB входят в состав многих устройств и для пользователя их присутствие зачастую незаметно. Обе шины имеют линии питания устройств, но допустимая мощность для FireWire значительно выше. Обе шины поддерживают технологию РnР (автоматическое конфигурирование при включении/выключении) и снимают проблему дефицита адресов, каналов DMA и прерываний. Различаются пропускная способность шин и управление ими.
Шина USB ориентирована на периферийные устройства, подключаемые к PC. Изохронные передачи USB позволяют передавать цифровые аудиосигналы, а USB 2.0 способна нести и видеоданные. Все передачи управляются централизованно, и PC является необходимым управляющим узлом, находящимся в корне древовидной структуры шины. Адаптер USB пользователи современных ПК получают почти бесплатно, поскольку он входит в состав всех современных чипсетов системных плат. Правда, адаптеры USB 2.0 первое время будут выпускаться в виде карт PCI. Непосредственное соединение нескольких PC шиной USB не предусматривается, хотя выпускаются «активные кабели» для связи пары компьютеров и устройства-концентраторы.
Шина FireWire ориентирована на устройства бытовой электроники, которые с ее помощью могут быть объединены в единую домашнюю сеть. К этой сети может быть подключен компьютер, и даже не один. Принципиальным преимуществом шины является отсутствие необходимости в специальном контроллере шины (компьютере). Любое передающее устройство может получить полосу изохронного трафика и начинать передачу по сигналу автономного или дистанционного управления приемники «услышат» эту информацию. При наличии контроллера соответствующее ПО может управлять работой устройств, реализуя, например, цифровую студию нелинейного видеомонтажа или снабжая требуемыми мультимедийными данными всех заинтересованных потребителей информации.
2. Шина USB
USB (Universal Serial Bus универсальная последовательная шина) является промышленным стандартом расширения архитектуры PC, ориентированным на интеграцию с телефонией и устройствами бытовой электроники. Шина USB совсем молодаяверсия 1.0 была опубликована в начале 1996 года, и скептики иронично расшифровывали ее название как «неиспользуемая последовательная шина» (Unused Serial Bus).
Однако сейчас устройств с интерфейсом USB уже предостаточно. Большинство их поддерживает версию 1.1, которая вышла осенью 1998 года в ней были устранены обнаруженные проблемы первой редакции. Весной 2000 года опубликована спецификация USB 2.0, в которой предусмотрено 40-кратное повышение пропускной способности шины. Первоначально (в версиях 1.0 и 1.1) шина обеспечивала две скорости передачи информации:
полную скорость FS (full speed) 12 Мбит/с
низкую скорость LS (Low Speed) 1,5-Мбит/с.
В версии 2.0 определена еще и высокая скорость US (High Speed) 480 Мбит/с, которая позволяет существенно расширить круг устройств, подключаемых к шине. В одной и той же системе могут присутствовать и одновременно работать устройства со всеми тремя скоростями. Шина позволяет соединять устройства, удаленные от компьютера на расстояние до 25 м (с использованием промежуточных хабов).
С середины 1996 года выпускаются PC со встроенным контроллером USB, реализуемым чипсетом системной платы. Подробную и оперативную информацию по USB (на английском языке) можно найти по адресу http://www.usb.org. Здесь приводятся данные, достаточные для понимания принципов работы и возможностей этой перспективной и недорогой шины подключения разнообразной периферии.
USB обеспечивает обмен данными между хост-компьютером и множеством периферийных устройств (ПУ). Согласно спецификации USB, устройства (device) могут являться:
- хабами;
- функциями;
- их комбинацией.
Хаб (hub) только обеспечивает дополнительные точки подключения устройств к шине. Устройство-функция (function) USB предоставляет системе дополнительные функциональные возможности, например подключение к ISDN, цифровой джойстик, акустические колонки с цифровым интерфейсом и т. п. Комбинированное устройство (compound device), реализующее несколько функций, представляется как хаб с подключенными к нему несколькими устройствами. Устройство USB должно иметь интерфейс USB, обеспечивающий полную поддержку протокола USB, выполнение стандартных операций (конфигурирование и сброс) и предоставление информации, описывающей устройство.
Работой всей системы USB управляет хост-контроллер (host controller), являющийся программно-аппаратной подсистемой хост-компьютера. Шина позволяет подключать, конфигурировать, использовать и отключать устройства во время работы хоста и самих устройств.
Шина USB является хост-центрической: единственным ведущим устройством, которое управляет обменом, является хост-компьютер, а все присоединенные к ней периферийные устройства исключительно ведомые. В этим она отличается от шины FireWire, где все устройства равноправны. Физическая топология шины USB многоярусная звезда. Ее вершиной является хост-контроллер, объединенный с корневым хабом (root hub), как правило, двухпортовым. Хаб является устройством-разветвителем. Кроме того, он может являться источником питания для подключенных к нему устройств. К каждому порту хаба может непосредственно подключаться периферийное устройство или промежуточный хаб.
Шина допускает до 5 уровней каскадирования хабов (не считая корневого). Поскольку комбинированные устройства внутри себя содержат хаб, их подключение к хабу 6-го яруса уже недопустимо. Каждый промежуточный хаб имеет несколько нисходящих (downstream) портов для подключения периферийных устройств (или нижележащих хабов) и один восходящий (upstream) порт для подключения к корневому хабу или нисходящему порту вышестоящего хаба.
Логическая топология USB просто звезда: для хост-контроллера хабы создают иллюзию непосредственного подключения каждого устройства. В отличие от шин расширения (ISA/EISA, PCI, PC Card), где программа взаимодействует с устройствами путем обращений по физическим адресам ячеек памяти, портов ввода-вывода, прерываниям и каналам DMA, взаимодействие приложений с устройствами USB выполняется только через программный интерфейс. Этот интерфейс, обеспечивающий независимость обращений к устройствам, предоставляется системным ПО контроллера USB.
В отличие от громоздких дорогих шлейфов параллельных шин АТА и особенно шины SCSI с ее разнообразием разъемов и сложностью правил подключения, кабельное хозяйство USB простое и изящное. Кабель USB содержит одну экранированную витую пару с импедансом 90 Ом для сигнальных цепей и одну неэкранированную для подачи питания (+5 В), допустимая длина сегмента до -5 м. Для низкой скорости может использоваться невитой неэкранированный кабель длиной до 3 м (он дешевле). Система кабелей и коннекторов USB не дает возможности ошибиться при подключении устройств (рис. 1, а и б). Для распознавания разъема USB на корпусе ус