Для предотвращения ошибочных соединений USB использует USB-кабели с различными разъемами. Согласно спецификации, устройства, работающие с шиной USВ, могут использовать три типа разъемов: «А», «В» и «Mini-B». Разъемы «А» обозначают принадлежность к «ведущему» устройству, они используются в хостах и хабах. Их всегда можно встретить, например, на современных материнских платах персональных компьютеров. Разъемы «В» используют «ведомые» устройства. Тип разъемов «mini-В» появился в спецификации в 2000 году с введением стандарта USB 2.0. Этот разъем позиционируется для применения в малогабаритных мобильных устройствах, например, в сотовых телефонах, когда габариты самого устройства соизмеримы с размерами разъема.
Конструктивно разъемы задуманы так, что сначала происходит соединение шины питания, потом шины данных.
Спецификация USB определяет стандартную цветовую гамму для проводников внутри USB-кабеля, что значительно облегчает идентификацию проводов при применении кабелей от разных производителей.
Кабель также имеет линии VBus и GND для передачи питающего напряжения 5 В к устройствам. Сечение проводников выбирается в соответствии с длиной сегмента для обеспечения гарантированного уровня сигнала и питающего напряжения.
5. Принципы передачи данных
Информация, пересылаемая через соединения USВ, организуется в пакеты, каждый из которых включает один или несколько байтов данных. В интерфейсе USB испольуется несколько разновидностей пакетов:
пакет-признак (token paket) описывает тип и направление передачи данных, адрес устройства и порядковый номер конечной точки (КТ - адресуемая часть USB-устройства); пакет-признаки бывают нескольких типов: IN, OUT, SOF, SETUP;
пакет с данными (data packet) содержит передаваемые данные;
пакет согласования (handshake packet) предназначен для сообщения о результатах пересылки данных; пакеты согасования бывают нескольких типов: ACK, NAK, STALL.
Таким образом, каждая транзакция состоит из трех фаз: фаза передачи пакета-признака, фаза передачи данных и фаза согласования.
В интерфейсе USB используются несколько типов пересылок информации:
Управляющая пересылка (control transfer) используется для конфигурации устройства, а также для других специфических для конкретного устройства целей. Управляющие пересылки содержат две стадии: Setup-стадия и статусная стадия. Между ними может располагаться стадия передачи данных. Setup-стадия используется для выполнения SETUP-транзакции, в процессе которой пересылается информация в управляющую КТ функции. SETUP-транзакция содержит SETUP-пакет, пакет с данными и пакет согласования.
Если пакет с данными получен успешно, то она отсылает хосту ACK-пакет. Иначе транзакция завершается.
Потоковая пересылка (bulk transfer) используется для передачи относительно большого объема информации. Потоковые пересылки характеризуются гарантированной безошибочной передачей данных между хостом и функцией посредством обнаружения ошибок при передаче и повторного запроса информации.
Пересылка с прерыванием (iterrupt transfer) используется для передачи небольшого объема информации, для которого важна своевременная пересылка. Имеет ограниченную длительность и повышенный приоритет относительно других типов пересылок. Пересылки с прерыванием могут содержать IN- или OUT-пересылки. Если у функции нет информации, для которой требуется прерывание, то в фазе передачи данных функция возвращает NAK-пакет. Если работа КТ с прерыванием приостановлена, то функция возвращает STALL-пакет. При необходимости прерывания функция возвращает необходимую информацию в фазе передачи данных. Если хост успешно получил данные, то он посылает ACK-пакет. В противном случае согласующий пакет хостом не посылается.
Изохронная пересылка (isochronous transfer) также называется потоковой пересылкой реального времени. Информация, передаваемая в такой пересылке, требует реального масштаба времени при ее создании, пересылке и приеме. Изохронные транзакции содержат фазу передачи признака и фазу передачи данных, но не имеют фазы согласования. Хост отсылает IN- или OUT-признак, после чего в фазе передачи данных КТ (для IN-признака) или хост (для OUT-признака) пересылает данные. Изохронные транзакции не поддерживают фазу согласования и повторные посылки данных в случае возникновения ошибок.
Пересылаемую по шине USB информацию можно разделить на две категории: управляющая информация и данные. Управляющие пакеты используются для адресации устройств при инициировании пересылки данных, а также для подтверждения факта получения правильных данных и сообщений об ошибках. Пакеты данных содержат входные и выходные данные, которыми хост обменивается с устройством, и некоторую другую информацию.
Каждый пакет состоит из одного или нескольких полей, содержащих разные типы информации. Первое поле любого пакета называется идентификатором и обозначается как PID. Оно идентифицирует тип пакета. В этом поле четыре бита информации, которые передаются дважды. В первый раз пересылаются их реальные значения, а во второй - дополненные. Это позволяет устройству-получателю проверить достоверность полученного байта PID.
Механизм передачи данных является асинхронным и блочным. Блок передаваемых данных называется USB-фреймом или USB-кадром (состоит из пакетов) и передается за фиксированный временной интервал. Оперирование командами и блоками данных реализуется при помощи логической абстракции, называемой каналом. Внешнее устройство также делится на логические абстракции, называемые конечными точками. Таким образом, канал является логической связкой между хост-контроллером и конечной точкой внешнего устройства. Канал можно сравнить с открытым файлом.
Для передачи команд (и данных, входящих в состав команд) используется канал по умолчанию, а для передачи данных открываются либо потоковые каналы, либо каналы сообщения.
Для шины USB настоящего механизма прерываний (как, например, для последовательного порта) не существует. Вместо этого хост-контроллер опрашивает подключенные устройства на предмет наличия данных о прерывании. Опрос происходит в фиксированные интервалы времени, обычно каждые 1-32 мс.
С точки зрения драйвера, возможности работы с прерываниями фактически определяются хост-контроллером, который и обеспечивает поддержку физической реализации USB-интерфейса.
6. USB-устройства
Благодаря своей универсальности и способности эффективно передавать разнородный трафик, шина USB применяется для подключения к PC самых разнообразных устройств. Она призвана заменить традиционные порты PC - СОМ и LPT, а также порты игрового адаптера и интерфейса MIDI.
Обычно USB-устройство представляет собой USB-функцию с портом для подключения. Типичными примерами функций являются:
указатели: мышь, планшет, световое перо;
устройства ввода: клавиатура, сканер;
устройства вывода: принтер, звуковые колонки, монитор;
телефонный адаптер ISDN;
флеш-диски.
Часто USB-устройство имеет встроенный хаб, позволяющий подключать к нему другие устройства.
6.1 Мышь и клавиатура
Подключение USB-мыши может быть оправдано при необходимости освободить последовательный порт. Однако для мыши остается еще порт PS/2, поэтому USB-мышь не особенно необходима, за исключением возможности конфигурирования частоты опроса, что оценят любители компьютерных игр, или в отсутствии других портов (в ноутбуках).
Использование USB-клавиатуры интересно только возможностью подключения USB-мыши прямо к клавиатуре, а также экономией системных ресурсов.
6.2 Мониторы
В отличие от USB-колонок, не требующих звуковой карты, USB-монитор все же требует графический адаптер (видеокарту). «USB» в названии означает наличие USB-портов, позволяющих подключать USB-устройства непосредственно к монитору, а также возможность программного конфигурирования настроек монитора по USB-интерфейсу.
6.3 Переходники USB-to-COM и USB-to-LPT
Конвертеры USB-to-COM и USB-to-LPT незаменимы в тех случаях, когда последовательные и параллельные порты в системе уже заняты (или недееспособны). Эти устройства позволяют подключать к USB-порту устройства с последовательным (мышь, модем) и параллельным (принтер, сканер) интерфейсами. Переходник USB-to-COM будет также полезен пользователям ноутбуков, т.к. в них имеется всего один последовательный порт.
6.4 Сканеры
Основной интерес USB-сканера заключается в отсутствии внешнего питания. Скорость работы таких сканеров ничем не отличается от обычных, т.к. основной определяющей является не скорость передачи данных, а скорость движения сканирующей головки.
6.5 Модемы
Такие модемы не требуют внешнего питания и работают полностью от шины. С одной стороны, это позволило значительно уменьшить размеры самих модемов, но с другой, такие модемы имеют все достоинства и недостатки программных модемов (soft modem). На многих USB-модемах производители уменьшили число индикаторов состояния или используют программное отображение, что не очень, удобно.
6.6 Звуковые колонки
колонки не требуют звуковой карты, а преобразование сигнала в аналоговый происходит в самих колонках через встроенный аналого-цифровой преобразователь.
Следует отличать понятия «USB-колонки» от «колонки с питанием от USB». Второй вариант представляет собой обычные колонки, требующие звуковой карты, но без отдельного блока питания. Их можно отличить по дополнительному разъему к звуковой карте. При подключении к шине такие колонки даже не опознаются системой как новое устройство.
Качество звука, получаемое при использовании USB-колонок, значительно выше, чем с применением обычных колонок совместно с большинством звуковых карт. Единственное ограничение - компьютер должен иметь достаточную производительность для обеспечения непрерывного потока данных на колонки, иначе любое движение мыши способно привести к исчезновению звука.
Поток данных, передаваемых на USB-колонки, довольно большой, что создает заметный трафик от компьютера к колонкам. По этой причине рекомендуется подключение колонок непосредственно к компьютеру либо к ближайшему хабу.
6.7 Флеш-диски
Флеш-диски с USB-интерфейсом обладают значительными преимуществами:
флеш-диск можно подключить к любому современному компьютеру без выключения;
диск может быть загрузочным;
скорость записи довольно велика, хотя и меньше, чем у жесткого диска;
отсутствуют сбойные секторы;
ударостойкость около 1000 G (значительно больше любого современного жесткого диска);
время хранения данных - не менее 10 лет;
число циклов записи - не менее миллиона;
объем диска достаточно большой.
С USB-диска можно запускать программы, редактировать файлы, не прибегая к помощи жесткого диска компьютера. Это значительно облегчает синхронизацию файлов между компьютерами, например, домашним и рабочим.
Согласно спецификации USB к одному порту можно подключить 127 устройств с помощью соответствующего хаба. Однако на практике число флеш-дисков ограничено числом свободных букв дисков (26 букв минус А, В и С, т.е. максимум 23 диска).
Флеш-диски легко форматируются средствами Windows. При этом пользователь может сам выбирать тип файловой системы (FAT или FAT32).
6.8 Хабы
Хабы не являются как таковыми USB-устройствами. Их задача - преобразовывать один USB-порт в несколько портов. Модели классифицируются по числу предоставляемых портов, поддерживаемым стандартам и типу питания.
Хабы могут быть внутренние (вставляемые в PIC-шину) и внешние. Питание внешних хабов обычно внешнее, однако бывают и исключения.
6.9 Измерительная техника
Скорость передачи данных USB-канала позволяет использовать USB-шину для подключения измерительных приборов, таких как цифровые осциллографы, логические анализаторы, генераторы сигналов и т.п. В таких устройствах USB используется как для передачи данных в компьютер для их последующей обработки и отображения, так и для задания пара метров приборов.
6.10 Экзотические устройства
В последнее время на рынке компьютерной продукции стали появляться и довольно экзотические USB-устройства. Список устройств, в общем-то, не относящихся к компьютерной периферии, довольно большой. Интересны, например, USB-фонарик, позволяющий осветить клавиатуру или рабочее место, или USB-вентилятор. Среди экзотических устройств можно найти USB-подогреватель для чашки, USB-грелку и даже USB-зубную щетку.
7. Установка и конфигурирование USB-устройств
Спецификация USB была разработана с непосредственной поддержкой спецификации Plug and Play. Каждое устройство при подключении к шине USB сигнализирует о своем существовании и сообщает идентификатор производителя и идентификатор устройства. Эти идентификаторы являются определяющей информацией при выборе загружаемого драйвера, информация о котором ищется в реестре. Если подходящего драйвера в реестре не обнаружено, производится процедура установки нового устройства (драйвера). Спецификация Plug and Play предполагает прозрачное подключение и автоматическое конфигурирование устройств. Вмешательство пользователя требуется в том случае, когда система либо не смогла найти нужный драйвер и запрашивает его местоположение у пользователя, либо системе не удалось корректно распределить системные ресурсы.
Для подключения устройств к шине не требуется дополнительных действий (как, например, установка перемычек при подключении жестких дисков к IDE-интерфейсу), а возможность неправильного подключения исключается разными разъемами. Многие производители предоставляют свои драйверы для устройств.
Так как обмен данными по шине USB идет только между компьютером и устройствами, то при подключении устройств следует учитывать потребляемую ими полосу пропускания. Устройства с большими объемами приема и / или передачи данных должны подключаться либо к самому компьютеру, либо к ближайшему свободному узлу.
С другой стороны, при подключении устройств следует учитывать и поддерживаемые ими стандарты USB. Устройства и ПО, критичные к полосе пропускания шины, в неправильной конфигурации работать откажутся и потребуют переключений. Если же хост-контроллер старый, то все достоинства USB 2.0 окажутся недоступны пользователю. В этом случае придется менять хост-контроллер, т.е. системную плату. Контроллер и хабы USВ 2.0 позволяют повысить суммарную пропускную способность шины и для старых устройств. Если устройства FS подключать к разным портам хабов USB 2.0 (включая и корневой), то для них суммарная пропускная способность возрастет по сравнению с 12 Мбит/с во столько раз, сколько используется портов высокоскоростных хабов.
Заключение
Универсальная последовательная шина USB призвана заменить такие устаревшие интерфейсы, как RS-232 (COM-порт) и параллельный интерфейс IEEE 1284 (LPT-порт), то есть заменить последовательные и параллельные, клавиатурные и мышиные порты - все устройства подключаются к одному разъему, допускающему установку многочисленных устройств с легкостью технологии Plug & Play. Технология Plug & Play позволяет производить «горячую» замену без необходимости выключения и перезагрузки компьютера. После физического подсоединения устройства правильно опознаются и автоматически конфигурируются: USB самостоятельно определяет, что именно подключили к компьютеру, какой драйвер и ресурсы понадобятся устройству, после чего все это выделяет без вмешательства пользователя. Для адекватной работы шины необходима операционная система, которая корректно с ней работает.