загрузка...
 
Универсальный последовательный интерфейс USB
Повернутись до змісту

Универсальный последовательный интерфейс USB

К 1995 году стало ясно, что СОМ - порты устарели, не обеспечивая ни достаточной скорости обмена данными между ПК и подключенным устройством, ни возможность "горячего" подключения этих устройств, да и ограничение количества подключенных к одному порту устройств так же вынуждало искать замену устаревшему интерфейсу. Многие компании, стремясь следовать провозглашенному принципу Plug&Play, стремились создать нечто, позволяющее сделать процедуру добавления новых устройств в систему настолько простой, насколько это вообще возможно, да и к тому же универсальное, пригодное для большого числа разного вида устройств. Эта идея объединила лидеров компьютерной и телекоммуникационной промышленности в лицах Compaq, DEC, IBM, Intel, Microsoft, NEC и Northern Telecom. Такая технология позволила бы забыть о проблеме постоянной нехватки коммуникационных портов, с которой в те годы, благодаря значительно увеличившейся доступности периферии, многим уже довелось столкнуться.

USB (Universal Serial Bus) – это стандарт универсальной последовательной шины, предложенная консорциумом вышеперечисленных компаний. Назначение USB —единая шина для подключения всех внешних по отношению к компьютеру периферийных устройств, а также в некоторых случаях - для обмена данными между компьютерами, заменяющая устаревшие параллельный и последовательный интерфейсы.

 

Официальное обозначение шины USB показано на рисунке, так она обозначается на задних стенках компьютеров, а также на всех разъемах USB.

Версия первого утвержденного варианта стандарта USB 1.0 появилась 15 января 1996 года. Основная цель стандарта, поставленная перед его разработчиками - создать реальную возможность пользователям работать в режиме Plug&Play с периферийными устройствами. Это означает, что должно быть предусмотрено подключение устройства к работающему компьютеру, автоматическое распознавание его немедленно после подключения и последующей установки соответствующих драйверов. USB-устройства просто подключаются к свободному внешнему порту USB, благодаря чему не надо ничего запоминать или заниматься откручиванием шурупов.

Очень быстро порты USB стали популярны, так как производители поняли, что пользователям не нравится снимать корпус компьютера каждый раз, когда они собираются что-то к нему подключить, особенно если необходимо было просто посмотреть, какие разъемы подходят к порту той или иной карты. Пользователи также не хотят разбираться, какие разъемы для подключения каких устройств предназначены и, кроме того, никого не прельщает перспектива объяснять компьютеру, какое именно устройство к нему подключается.

Технология USB решает сразу все три проблемы. Пользователь подключает любое устройство USB к любому свободному порту USB, и практически во всех случаях компьютер стазу же определяет, какой именно компонент был подключен, и начинает снабжать его электроэнергией через подсоединенный кабель. Некоторые энергоемкие устройства USB подключаются также отдельным шнуром к электросети или используют батарейки. Если имеющегося количества свободных портов USB недостаточно, то добавляется концентратор USB - и вопрос со свободными портами будет решен.

Кроме этого, USB-интерфейс решал вопрос о питании маломощных устройств непосредственно с самой шины. Скорость шины достаточна для подавляющего большинства периферийных устройств. Попутно решена историческая проблема нехватки ресурсов на внутренних шинах IBM PC совместимого компьютера - контроллер USB занимает только одно прерывание независимо от количества подключенных к шине устройств.

Практически все поставленные задачи были решены в стандарте на USB и весной 1997 года стали появляться компьютеры, оборудованные разъемами для подключения USB устройств. Поначалу внедрение новой шины шло с очень большими трудностями, но сегодня сотни миллионов компьютеров по всему миру оснащены шиной USB, а периферийных устройств с этим интерфейсов всех не перечесть: от мышек и клавиатур до жестких дисков, приводов для записи CD и DVD и др.

Причиной сложностей внедрения был замкнутый круг: новая шина должна была поддерживаться ОС, а Windows 95 этого не позволяла. Microsoft не особенно стремился использовать USB, т.к. устройств с USB-интерфейсом было весьма незначительное количество, а производители аппаратного обеспечения, в свою очередь, не хотели делать устройства для не поддерживающейся популярной ОС шины.

Переломным моментом в истории USB стал выход Windows 98: появилась поддержка, начался выпуск устройств, и технология начала свое существование не только у разработчиков, но и у пользователей, кстати, многие из которых относят появление именно к этому моменту. Спецификация 1.0 интерфейса USB в 1998 г. была расширена, и появилась версия 1.1, а с конца 1998 года производители оборудования стали предлагать на рынке устройства с USB- интерфейсом.

Главными ориентирами при создании USB служили универсальность и удобство использования, поэтому сегодня USB очень популярная универсальная последовательная шина. Предназначена для легкого подключения различного вида устройств это клавиатуры, мыши, джойстики, колонки, модемы, мобильные телефоны, ленточные, дисковые, оптические и магнитооптические накопители, флэш-диски, сканеры и принтеры, дигитайзеры, словом все, что подключается к ПК.

Также с ожиданием большого роста в области интеграции компьютеров и телефонии шина USB может выступать в качестве интерфейса для подключения устройств цифровой сети с интегрированными услугами (ISDN) и цифровых устройств Private Branch eXchange (PBX). USB-интерфейс активно внедряются производителями компьютерной периферии, массовый переход на этот интерфейс практически совпал по времени с выходом в 2001 г. версии 2.0, вполне соответствующей требованиям современной периферии. После появления версии 2.0 эта шина применяется или может быть эффективно применена практически во всех периферийных устройствах — от клавиатур до винчестеров.

USB шина позволяет подключать до 127 устройств, хотя на задней стенке обычно находится 2 или 4 порта. Это связано с архитектурной особенностью шины USB - дело в том, что шина USB позволяет многоуровневое каскадирование, ее логическая топология - многоуровневая звезда. Наглядно это показано на рисунке.

 

 

Топология многоуровневой звезды (tiered star) USB практически не отличается от топологии обычной локальной сети на витой паре, также называемой "звездой", даже терминология похожа - размножитель шины также называется хаб. Условно дерево подключения USB устройств к компьютеру показано на рисунке (цифрами обозначены периферийные устройства с USB-интерфейсом). Вместо любого из устройств может также стоять хаб. К корневому контроллеру (хосту) USB допускается подключение до 127 устройств (концентраторов и периферии). Однако реально их число ограничивается пропускной способностью интерфейса.

Основное отличие от топологии обычной локальной сети - компьютер (или host-устройство) может быть только один. Хаб может быть как отдельным устройством с собственным блоком питания, так и встроенным в периферийное устройство. Наиболее часто хабы встраиваются в мониторы и клавиатуры.

Самым верхним уровнем является корневой концентратор, который обычно совмещается с USB контроллером. Если функции контроллера понятны, то концентратор - устройство для периферийных интерфейсов не привычное. В данном случае его функция такая же, что и концентраторов сетей передачи данных - добавление новых портов для подключения большего числа устройств, т. е концентратор - это просто разветвитель.

К корневому концентратору могут быть подключены либо устройства, либо еще концентраторы для увеличения числа доступных портов. Допускается организация до пяти уровней. Концентратор может быть выполнен в виде отдельного устройства, либо быть встроенным в какое-то другое. С этой точки зрения устройства, подключаемые к USB, можно подразделить на:

функциональные устройства. Это устройства, которые выполняют какую-то конкретную функцию и не берут на себя никаких дополнительных задач (например, мыши), устройства-концентраторы в чистом виде выполняющие только функцию разветвления;

совмещенные (комбинированные) устройства. Это устройства, имеющие в своем составе концентратор, расширяющие набор портов и позволяющие подключать другие устройства (в качестве наиболее часто встречающихся примеров можно назвать мониторы, позволяющие по USB осуществлять настройку параметров, и обычно имеющих еще несколько дополнительные порты, для подключения других устройств или клавиатуры, с разъемами для подключения мышей).

 

Следует обратить внимание на то, что на пятом уровне комбинированное устройство использоваться не может. Кроме того, отдельно стоит упомянуть о хосте, являющемся скорее программно-аппаратным комплексом, нежели просто устройством.

Длина цепочки от контроллера до последнего периферийного устройства не должна состоять из более чем шести транзитных участков — хопов (hops). Другими словами, допускается по нисходящей соединить шестью кабелями хост-контроллер, пять концентраторов и периферийное устройство. Это позволяет создавать очень разветвленные USB-сети, которые в реальных условиях не встречаются.

В высокоскоростном варианте (full-speed signaling bit rate) скорость составляет 12 Мбит/с, и 1,5 Мбит/с в низкоскоростном (low-speed signaling bit rate), реально же пользователь может рассчитывать только на 700-  900Кбайт/с, поэтому реально будет говорить о не более 3 - 5 одновременно подключенных устройств к одному каналу.

Одним из важнейших потребительских свойств шины, в значительной мере облегчающей работу с ней, является обеспечиваемая ею возможность "горячего" подключения самых разнообразных устройств к ПК без отключения питания. При использовании высокоскоростного варианта максимальная длина кабеля 5 метров, и только 3 метра- при низкоскоростном. Кроме того, USB способно организовать питание периферийных устройств непосредственно с интерфейса, правда, достаточно маломощных. Пока что у USB не хватает скорости для работы с основным жестким диском, но ее вполне хватает для второстепенных (CD-R, сканеров, сети и др.).

Шина USB 1.1 обеспечивает работу 127 внешних устройств с различными скоростями обмена, подключенных последовательно к одному USB-каналу, выполненному по принципу общей шины, а реализации обычно имеют по два канала на контроллер. Стоит отметить, что USB использует контроллер "master" - работает по принципу "ведущий - ведомый", то есть два отдельных устройства могут обмениваться данными друг с другом только через ПК или специальный USB хаб, располагающий управляющим контроллером. Это значительно уменьшает скорость. Поэтому USB 1,1 больше всего подходит для подсоединения к ПК ограниченного числа низкоскоростных устройств. Кроме того, через USB не может быть подключено более одного компьютера, хотя два компьютера могут быть связаны через специальное устройство - USB мост.

USB - высоко подключаемый стандарт, т.е. можно подключать устройства, не выключая компьютер. К сожалению, физическое расположение разъемов USB на задней стенке компьютера при подключении устройства, особенно "на лету", порой доставляет определенные неудобства - поэтому так распространены различного вида хабы (расширители портов), расположенные в более удобных для доступа местах, например в мониторах.

Напряжение питания для периферийных устройств - 5 В. Максимальный ток потребления на одно устройство - 500 mA (это не означает, что через USB можно запитать устройства с общим током потребления 127x500 mA=63,5 A). Поэтому целесообразно подключать к USB практически любые периферийные устройства, кроме цифровых видеокамер и высокоскоростных жестких дисков. Особенно удобен этот интерфейс для подключения часто подключаемых/отключаемых приборов, таких, как цифровые фотокамеры. Конструкция разъемов для USB рассчитана на многократное сочленение/расчленение.

Возможность использования только двух скоростей обмена данными ограничивает применяемость шины, но существенно уменьшает количество линий интерфейса и упрощает аппаратную реализацию.

Резко возросшая популярность технологии USB стала причиной возникновения некоторых проблем. Относительно старые компьютеры имеют лишь по два встроенных порта USB, чего в настоящее время явно не достаточно. Решением может быть установка концентратора USB, представляющего собой своеобразный электроудлинитель.

Показанный на рисунке концентратор USB подключать через один порт USB компьютера сразу несколько внешних устройств. Сам концентратор подключается к одному из имеющихся портов USB, а в распоряжение пользователя предоставляет четыре (или больше) дополнительных портов USB. Многие модели USВ-концентраторов подключаются также отдельно к электросети, чтобы обеспечить достаточным количеством электроэнергии все подсоединенные к ним устройства

.

 

Некоторые USB-устройства отказываются работать через концентраторы и требуют, чтобы их подключили непосредственно к одному из портов USB.

 

На рисунке показан пример правильного соединения периферийных устройств в условную USB- сеть. Так как обмен данными по USB идет только между компьютером и периферийным устройством (между устройствами обмена нет), то устройства с большими объемами приема и/или передачи данных должны подключаться либо к самому компьютеру, либо к ближайшему свободному узлу. В данном случае наивысший трафик у колонок (~1,3 Mb/s), затем идут модем и сканер, подключенные к HUB в мониторе и завершают цепь клавиатура, джойстик и мышь, трафик у которых близок к нулю. Колонки имеют такой высокий трафик в связи с тем, что колонки с USB- интерфейсом отличаются от обычных отсутствием звуковая карта. Драйвер колонок отправляет оцифрованный звук сразу в колонки, где он преобразуется в аналоговый сигнал и подается на динамики.

Сигналы USB передаются по 4- проводному кабелю, схематично показанному на рисунке . Здесь GND - цепь "корпуса" для питания периферийных устройств, VBus - +5V также для цепей питания. Шина D+ предназначена для передачи данных по шине, а шина D- для приема данных.

 

Кабель для поддержки полной скорости шины (full-speed) выполняется как витая пара, защищается экраном и может также использоваться для работы в режиме минимальной скорости (low-speed). Кабель для работы только на минимальной скорости (например, для подключения мыши) может быть любым и неэкранированным.

Разъем кабеля USB

Номер

Сигнал

Номер

Сигнал

A1

Vcc

B1

Vcc

A2

Port0 data+

B2

Port1 data+

A3

Port0 data-

B3

Port1 data-

A4

GND

B4

GND

 

В режиме низкой скорости USB могут использоваться для подключения: клавиатуры, мыши, джойстика, матричного принтера, дигитайзера, цифровой фотокамеры, модема обычной телефонной линии, цепи управления монитором компьютера. В режиме высокой скорости: колонки, ISDN- модемы, внешних накопителей класса Iomega Zip, офисных АТС, лазерного и струйного принтера.

Шина USB 2.0. Хотя шина USB 1.1 сегодня стала практически стандартом де-факто для подключения низкоскоростных периферийных устройств, век ее оказался недолог. Необходимость в модернизации возникла из-за стремительно растущей мощности современных компьютеров, позволяющая выполнять на них задачи, ранее недоступные, например, ввод и обработка видеоизображений в реальном масштабе времени.

Для решения таких задач требуется пропускная способность линий передачи данных существенно большая, чем способны обеспечить существующие интерфейсы, включая USB 1.1. Его версия USB 2.0 активно продвигается на рынок, чему способствует интеграция контроллера USB 2.0 во все без исключения новейшие чипсеты, выпускаемые ведущими производителями.

Периферийные устройства, с точки зрения спецификации USB 2.0, разделяются на:

высокоскоростные, использующие наибольшую предоставляемую им шиной скорость передачи данных (480 Мбит/с в версии 2.0 и 12 Мбит/с в версии 1.1) , что сопоставимо со скоростью интерфейса UltraATA66 и на 20% превосходит своего основного конкурента - IEEE 1394. Такой скорости обмена информацией этого вполне достаточно для подключения, как основного жесткого диска, так и второстепенного;

медленные, которым достаточно скорости 1,5 Мбит/с.

 

Добавление устройств больше не сопряжено с установкой дополнительных адаптеров, выполнением сложного конфигурирования, ручным инсталлированием дополнительного программного обеспечения: система автоматически определяет, какой ресурс, включая программный драйвер и пропускную способность, нужен каждому периферийному устройству и делает этот ресурс доступным без вмешательства пользователя. Популярная периферия сегодня доступна в вариантах с USB гораздо чаще, чем с другими. С целью максимальной совместимости с большим количеством периферийного оборудования, выполненного по спецификации USB 1.1, устройства стандарта USB 2.0 могут использоваться с контроллерами/хабами стандарта 1.1, естественно, при этом скорость будет ограничена все теми же 12 Мбит/с,

более того, уже давно USB-контроллеры интегрируются в чипсеты материнских плат, и пользователь получает их в свое распоряжение практически задаром. Выделение отдельных функциональных блоков удачный и удобный подход - нет никакой необходимости изобретать что-то новое.

Что немаловажно для пользователей и производителей — кабель USB и разъемы не поменялись при переходе к версии 2.0. Независимо от типа (А или В) разъемы содержат по четыре контакта, а в гибком круглом кабеле имеются четыре проводника. По красному проводу подается напряжение питания +5 В, коричневый служит корпусным («землей»), желтый и синий образуют витую пару для передачи данных. Для уменьшения наводок кабель экранирован.

Так как основополагающий принцип функционирования шины USB, а именно принцип "ведущий - ведомый", остался в USB 2.0 неизменным, то новый интерфейс вряд ли составит конкуренцию IEEE1394 на рынке бытовой электроники, поскольку невозможно организовать, к примеру, передачу данных с видеокамеры на цифровой магнитофон, минуя компьютер. Тем не менее у нового стандарта есть и большой плюс: отсутствие лицензирования и необходимости выплаты лицензионных отчислений, что имеет место в случае с FireWire.

Интерфейс USB 2.0 также обеспечивает «горячий» режим подключения устройств, то есть их можно подсоединять и отсоединять в любое время (разумеется, дождавшись конца передачи или записи данных), не выключая их питание и компьютер. Кроме того, при переходе компьютера в режим с пониженным энергопотреблением многие USB-устройства автоматически переключаются в ждущий режим вместе с ним.

При подключении устройства к сети USB выполняется инициализация, при которой выясняются его требования к скорости и питанию. Корневые контроллеры и концентраторы служат для удовлетворения этих требований и поддерживают все определенные стандартом скорости и режимы на каждом из своих портов.

Перед установкой устройства USB 2.0 следует уточнить, поддерживает ли компьютер этот стандарт. Версии Windows  , старшие Windows   95, не могут управлять портами USB 1.1. Кроме того, Windows   98 не так хорошо работает с технологией USB1.1, как Windows   Me или Windows   XP. Пользователям, использующим Windows   XP и Windows   2000, обычно приходится загружать соответствующее обновление, позволяющие подключать к компьютеру карты и устройства, работающие в стандарте USB 2.0. (Система Windows   Update должна инсталлировать это обновление автоматически.) Определить, какую версию USB поддерживает компьютер, поможет встроенный в Windows   XP диспетчер устройств.

Одно из достоинств USB — изохронный режим. Он применяется для устройств, которым требуется предоставление гарантированной полосы пропускания для передачи потоковых данных, например, для видеокамер, цифровых аудиоусилителей, колонок. В этом случае интерфейс обеспечивает устройству возможность передать или получить в каждую единицу времени определенный объем данных. Данные передаются в сети USB 1.1 фреймами, состоящими из 1500 байт и занимающими 1 мс времени. В версии 2.0 введены микрофреймы продолжительностью 1/8 мс.

Интерфейс USB предусматривает электропитание устройств, не имеющих своего источника питания и потребляющих ток не более 500 мА при напряжении 5 В (т.е. мощностью до 2,5 Вт). При инициализации каждому устройству обеспечивается питание 0,5 Вт. Благодаря этому, потребляющие мало энергии устройства, такие, как мыши, клавиатуры, флэш-накопители, не нуждаются в адаптерах питания.

 

Отношение клиентского программного обеспечения и USB- устройств совершенно иное. В отличие от старых интерфейсов, где взаимодействие можно было (и нужно) осуществлять, обращаясь к устройству по конкретным физическим адресам памяти и портам ввода- вывода, USB предоставляет для взаимодействия программный интерфейс и только его, позволяя клиентскому ПО существовать в отрыве от конкретного подключенного к шине устройства и его конфигурации. Для клиентской программы USB - это лишь набор функций.

 

Хост - это программно-аппаратный комплекс, в обязанности которого входит:

слежение за подключением и отключением устройств;

организация управляющих потоков между USB-устройством и хостом;

организация потоков данных между USB-устройством и хостом;

контроль состояния устройств и ведение статистики активности;

снабжение подключенных устройств электропитанием.

Аппаратной частью является хостконтроллер - посредник между хостом и устройствами на шине.

Программные функции (перечисление устройств и их конфигурирование, управление энергопотреблением, процессами передачи, устройствами на шине и самой шиной) возложены на операционную систему. Первой популярной операционной системой, в которой поддержка USB реализована была в полном объеме, стала Windows 98 Second Edition. Некоторые устройства могут быть работоспособными и под более ранними версиями (98 без SE, и изредка 95), но далеко не все и не всегда.

Концентратор (хаб). Позволяет множественные подключения к одному порту, создавая дополнительные порты. Каждый хаб имеет один восходящий порт, предназначенный для подключения к имеющемуся в наличии свободному порту, и несколько нисходящих, к которым могут быть подключены или снова концентраторы, или конечные устройства, либо совмещенные устройства

 

Хаб должен следить за подключением и отключением устройств, уведомляя хост об изменениях, управлять питанием портов. В концентраторе стандарта USB 2.0 можно выделить 3 функциональных блока: контроллер, повторитель, транслятор транзакций. Контроллер отвечает за соединения с хостом. Понятие повторитель в USB несколько отличается от принятого в сетях передачи данных. Его обязанность - соединять входной и какой-то нужный из выходных портов. Транслятор транзакций появился лишь в USB 2.0 и нужен, как всегда, из соображений совместимости с предыдущими версиями. Вкратце его суть в том, чтобы обеспечивать максимальную скорость соединения с хостом. Подключенное к высокоскоростному (USB 2.0) порту старое медленное (USB 1.1) устройство съедало бы значительную часть времени, а, следовательно, и полезной пропускной способности шины, ведя обмен с хостом на низкой скорости (почему так происходит, мы выясним позже при рассмотрении механизма обмена данными хост-устройство). Как метод борьбы транслятор транзакций буферизирует поступающий с медленного порта кадр, а затем на максимальной скорости передает его хосту, или же буферизирует получаемый на максимальной скорости кадр от хоста, передавая его затем устройству на меньшей, приемлемой для него скорости. Помимо разветвления и трансляции транзакций хаб должен осуществлять конфигурирование портов и слежение за корректным функционированием подключенных к ним устройств. Нужно сказать также, что при использовании старых и новых концентраторов вместе возможно создание неоптимальных с точки зрения производительности конфигураций. Для того чтобы избежать создания узких мест в своей цепи, подключайте низкоскоростные устройства к низкоскоростным хабам, которые, в свою очередь, делайте последними уровнями ветвления и не подключайте их в середину высокоскоростной цепочки.

Функциональное устройство. С точки зрения USB, устройство - это набор конечных точек с которыми возможен обмен данными. Число и функции точек зависят от устройства и выполняемых им функций, и определяются при производстве. В обязательном порядке присутствует точка с номером 0 - для контроля состояния устройства и управления им. До осуществления конфигурирования устройства через точку 0 остальные каналы не доступны. Каждая конечная точка устройства описывается следующими параметрами:

частотой обращения к шине и требованиями к задержкам;

необходимой полосой пропускания;

требованиями к обработке ошибок;

максимальным размером кадра, который может быть принят или послан;

типом поддерживаемой передачи данных;

направлением осуществления передачи между конечной точной и хостом.

Для низкоскоростных (low-speed) устройств возможно существование до двух дополнительных точек; для full-speed устройств их число ограничивается лишь возможностями протокола и может достигать 15 для ввода и 15 для вывода.

Вообще, конечная точка - это конец логического канала данных между хостом и устройством. В свою очередь, канал - это логическое соединение между хостом и устройством. Так как конечных точек у устройства предусматривается несколько, то это означает, что обмен данными между хост-контроллером и устройством на шине может происходить по нескольким каналам, так называемый многоканальный режим. Полоса пропускания шины делиться между всеми установленными каналами. В распоряжение шина USB может предоставить каналы следующих типов:

каналы сообщений. Являются двунаправленными каналами и служат, не трудно сообразить, для передачи сообщений, имеющих строго определенный в спецификации формат, необходимый для обеспечения надежной идентификации и передачи команд. Возникает канал при отсылке хостом запроса в устройства и управляет передачей только хост. Каналы сообщений используется для передач только управляющего типа (что такое смотрим ниже);

потоковые каналы. Являются однонаправленными. В отличие от четко определенных сообщений не имеют определенного закрепленного в стандарте формата, что означает возможность передачи данных любого вида. Эти передачи могут контролироваться не только хостом, но и устройством. Используется для передач данных типа прерывание, групповая пересылка, изохронная (смотрим ниже). В спецификации в зависимости от типа передаваемых данных, предъявляемых требований к скорости обработки, задержки доставки и т.п. определены следующие типы передач.

управляющие передачи. Используются для конфигурирования устройств во время подключения и выполнения других специфических функций над устройством, включая организацию новых каналов;

прерывания. Используются для спонтанных, но гарантированных передач с гарантированными скоростями и задержками. Используются обычно для передачи введенных данных от клавиатуры или сведений об изменении положения указателя мыши, в устройствах обратной связи и т.д.;

групповая пересылка. Используется для гарантированной передачи данных больших объемов без предъявленных требований к скоростям и задержкам. Занимает под себя всю свободную пропускную способность шины. В любой момент доступная полоса может быть урезана при необходимости осуществления передач других видов с более высоким приоритетом, или добавлена, при освобождении другими устройствами. Обычно такие передачи используются между принтерами, сканерами, накопителями и др.;

изохронная передачи. Используются для потоковых передач данных в реальном времени. Резервируют определенную полосу пропускания шины, гарантируют определенные величины задержек доставки, но не гарантируют доставку (в случае обнаружения ошибки повторной передачи не происходит. Передачи этого вида используются для передачи аудио- и видео- трафика.

Обмен данными может осуществляться в трех скоростных режимах:

Low speed - низкоскоростной режим. Скорость передачи составляет 1,5Мбит/с;

Full speed - скоростной режим. Скорость передачи 12 Мбит/с;

High speed - высокоскоростной режим. Появился лишь в спецификации 2.0. Скорость передачи 480 Мбит/с.

Информация по шине передается пакетами. Всего их определено 4 вида:

маркерные пакеты:

In - информируют USB-устройство, что хост хочет читать данные из устройства;

Out - информирует USB-устройство, что хост хочет передавать данные в устройство;

Setup - используются для обозначения начала управляющего типа передачи данных;

SOF - пакеты начала кадра (Start of Frame Packets);

пакеты данных. Существуют два типа пакетов данных - DATA0, DATA1 , каждый из которых способен содержать до 1024 байтов данных. У высокоскоростных устройств для пакетов данных определены два других PID: DATA2 и MDATA;

пакеты подтверждения:

ACK - подтверждение того, что пакет был успешно принят;

NAK - информирует, что устройство в данный момент не может принимать либо отправлять данные. А в Interrupt транзакциях сообщает хосту, что устройство не имеет новых данных для передачи;

STALL - указывает, что устройство неспособно передавать или получать данные и требуется вмешательство хоста;

специальные PRE - предшествует низкоскоростной передаче данных.

Устройства на шине USB делятся на ведущие и ведомые. Фактически, ведущих устройств на шине может быть только одно, и таковым является хост. Все передачи данных инициируются хостом в соответствии определенной временной программой. Функциональные устройства сами не могут инициировать передачу, а лишь отвечают на запросы хоста. Обмен данными возможен только между хостом и устройством, и не возможен на прямую между устройствами, подключенными к шине (это означает, что, в принципе, в первую очередь USB - это шина вывода).

Транзакции на USB шине состоят из двух-трех актов: посылки пакета маркера, определяющего, что будет следовать дальше (тип транзакции, адрес устройства и его конечную точку), пакета данных (опционально) и пакета статуса транзакции (для подтверждения нормального выполнения операции или сообщения об ошибке).

Физические каналы связи организуются концентраторами и соединительными проводами. С концентраторы были рассмотрены ранее. Провод, использующийся для подключения USB-устройств, представляет собой экранированную витую пару. Всего в USB-кабеле используется 4 проводов: два для передачи сигнала и два

 

для подачи напряжения. Для высокоскоростных устройств, предъявляются высокие требования к ее качеству. Низкоскоростные к этому элементу физического интерфейса относятся не критично, и безпроблемно могут функционировать на неэкранированном не витом проводе.

По подписям D+ и D- на схеме кабеля можно догадаться, что USB использует дифференциальную передачу (впрочем, каждый порт помимо дифференциального приемника имеет еще и линейные для каждого сигнала), добавим еще, что применяется потенциальное кодирование по методу NRZI (Non Return to Zero Invert to ones, без возвращения к нулю с инверсией для единиц) и битстаффинг для улучшения самосинхронизирующихся свойств потока.

Подключаемые устройства, потребляющие небольшой ток, могут быть запитаны от шины USB. Максимальный ток, который может обеспечить шина, равен 500 мА. Это ток, доступный всем устройствам на шине, а не, как приходит некоторым в голову, на каждое из 127 возможных устройств (при этом на стадии подключения и конфигурирования потребляемый ток не должен превышать 100 мА, в противном случае устройство просто не будет инициировано). Для увеличения доступной мощности питания на шине, концентраторы могут оснащаться своим собственным блоком питания, однако такое решение не популярно.

Приведенный выше необходимый минимум сведений о шине USB позволяет в общих чертах понять принцип работы USB-интерфейса.

После подключения к шине нового устройства его обнаружение и его скоростной режим определяется по скачку напряжения, который имеет место быть при включении на шине данных. Этот скачок создается подключением резистора к напряжению 3.3В. Для низкоскоростных устройств этот резистор подключается к шине D-, для полно- и высокоскоростных - к шине D+. Обычно тот резистор делается программно управляемым для того, чтобы после обнаружения устройства его можно было отключить и сбалансировать линию.

После того как новое устройство подключено и обнаружено, конфигурирование осуществляется через конечную точку с номером 0 (обмен информацией в этот момент происходит в полноскоростном режиме). Загружаются необходимые драйверы и устройство готово к работе.

Обмен данными:

передача от хоста к устройству осуществляется без особых трудностей - как только такая необходимость возникла, хост может инициировать передачу. Для этого он посылает устройству пакет out (в знак того, что данные будет передавать он), затем посылает сами данные, а затем принимает пакет ACK, подтверждающий, что данные устройством получены без ошибок (если это не изохронный тип передачи, для которого подтверждение не передается);

от устройства к хосту. Если в устройства возникла необходимость передать данные, но оно не может никаким образом дать знать об этом хосту (таких средств в USB не предусмотрено). Для того чтобы выполнить такую передачу, хост должен обратиться к устройству с вопросом, не имеет ли оно желание чего-либо ему сказать (послав пакет in). В ответ на такой запрос устройство вышлет ему имеющиеся данные и дождется получения подтверждения (снова же, если ведется не изохронная передача). Соответственно, если хост не обратиться с таким вопросом, то данные никогда не будут переданы.

Обмен управляющей информацией, в принципе, имеет ту же логику, но используется передача типа управление и канал сообщений и специальные пакеты.

Во время простоев в энергосберегающих целях устройства переводятся в состояние suspend (и выход из этого состояния, передача информации о пробуждении - единственный случай, когда устройство может стать инициатором транзакции). Вообще состояний, в которых может пребывать устройство гораздо больше, но это основное из того, что необходимо знать для формирования общего представления о принципах работы.

Стандарт предусматривает два типа портов, и для уменьшения путаницы введены соответствующие им виды разъемов:

восходящие (upstream) порты. Имеются у контроллера и концентраторов, к ним подключается разъем типа А - большие прямоугольные порты (шестиконтактные). Используются для подключения к компьютеру, обеспечивают жесткое и надежное крепление и не предназначены для частого подключения/отсоединения;

нисходящие (downstream) порты. Применяются в периферийных устройствах и концентраторах и используют разъемы типа В - меньшие (четырехконтактные), имеющие форму, близкую к квадратной. Эти разъемы не имеют двух контактов, предназначенных для подачи электропитания, поэтому устройства, подключаемые через такие порты, обычно работают на батарейках. Применяются в тех местах, где существует необходимость частого подключения/отключения, и применяются они со стороны периферии. Кроме того, в новой версии USB определен mini- USB-коннектор типа "B", который предназначен для применения на малогабаритных устройствах типа мобильных телефонов, фотоаппаратов, плееров, где нет возможности разместить стандартный полноразмерный разъем.

 

Из рисунка видно, что невозможно подключить устройство неправильно, так как разъем серии "А" можно подключить только к активному устройству на USB-хабу или компьютеру, а серии "В" только к собственно периферийному устройству. Пользователь может использовать соединительные провода с большим шестиконтактным разъемом на одном конце - для подключения к порту компьютера, и с маленьким четырехконтактным разъемом на другом - для подключения к небольшим внешним устройствам (цифровая видеокамера). От мелкой периферии, типа клавиатур, мышек, где размещение соединительных разъемов неудобно, кабель может вообще не отсоединятся. Конструктивно разъемы задуманы так, что сначала происходит соединение шины питания, потом шины данных.

Обычные, старые порты и разъемы USB, рассмотренные ранее, были разработаны для того, чтобы заменить собой существующие порты, предназначенные для подключения джойстиков, принтеров, мышей, клавиатур и других устройств. Однако эта технология плохо подходит для тех случаев, когда требуется быстрая передача больших объемов информации.

Поэтому второе поколение портов USB работает в 30-40 раз быстрее, чем порты USВ первого поколения. Технология USB 2.0 отлично подходит для периферийных устройств, передающих и принимающих огромные объемы информации. USB 2.0 отлично работает со всеми устройствами USB, даже если они были разработаны с учетом более старых стандартов USB 1.0 или USB 1.1. Если компьютер не имеет портов USB, то следует установить карту USB версии 2.0 или выше, но сами устройства должны быть разработаны в соответствии с версией USB 2.0, чтобы иметь возможность использовать преимущества более быстрой передачи данных.

Порты и разъемы, выполненные по технологи USB 2.0, отличаются от технологии USB 1.1, хотя внешне совершенно идентичны. Устройства USB 1.1 могут быть подключены к портам USB 2.0, однако устройства USB 2.0 можно подключить только через аналогичные порты USB 2.0.

 

В связи с вышесказанным использование:

устройств, не требующих высоких скоростей передачи данных (мышь, джойстик, принтер, система Webcam или иных аксессуаров), желательно таких, которые подключаются через порт USB, а не через старые порты PS/2, последовательный или параллельный порт;

устройств, предусматривающих передачу большого количества информации за короткие промежутки времени (переносные жесткие диски, устройства захвата видеоданных, внешние дисководы компакт-дисков и дисков DVD и т.п.), желательно таких, которые подключаются через порты USB 2.0 или FireWire.

Безусловно, в настоящее время при замене устройств желательно устанавливать карты, которые работают в стандарте USB 2.0. По сравнению со старыми моделями USB стоят они не дорого и в то же время являются приспособленными для передачи видеоданных и подключения внешних жестких дисков. А еще лучше, установить карту, на которой имеются как порт USB 2.0, так и порт FireWire.

В настоящее время ввиду огромной популярности интерфейса у всевозможной периферии к стандарту в качестве расширения стандарта продвигается технология USB On-The-Go (OTG), основное отличие которой от «классического» интерфейса USB в том, что каждое устройство сможет одновременно выполнять роль и периферии, и контроллера. Дополнение USB 2.0 OTG, которое призвано дать возможность устройствам обмениваться информацией между собой без участия компьютера, в этом случае становится возможным прямое равноправное (одноранговое) двунаправленное соединение периферийных устройств без участия компьютера по схеме «точка к точке» (point to point). Внедрение технологии OTG существенно повысит универсальность и удобство USB.

Однако даже возросшая в 40 раз по сравнению с версией 1.1 производительность USB 2.0 сегодня уже не выглядит достаточным заделом на будущее.



загрузка...