Смекни!
smekni.com

ВВЕДЕНИЕ

USB (Universal Serial Bus - универсальная последовательная шина) является промышленным стандартом расширения архитектуры РС, ориентированным на интеграцию с телефонией и устройствами бытовой электроники. Спецификация USB 1.0 была опубликована в январе 1996.

Архитектура USB определялась следующими критериями:

° Легко реализуемое расширение периферии РС

° Дешевое решение, поддерживающее скорость передачи до 12 Мбит/с.

° Полна поддержка в реальном времени передачи аудио и сжатых видео данных.

° Гибкость протокола для смешанной передачи изоморфных данных и асинхронных сообщений

° Интеграция в технологию выпускаемых устройств.

° Доступность в РС всех конфигураций и размеров.

° Открытие новых классов устройств, расширяющих РС.

С точки зрения пользователя привлекательны такие черты USB:

° Простота кабельной системы подключений.

° Изоляция подробностей электрических подключений от пользователя.

° Самоидентифицирующаяся периферия, автоматическая связь устройств с драйверами и конфигурирование.

° Возможность динамического подключения и реконфигурирования периферии.


СТРУКТУРА И ВЗАИМОДЕЙСТВИЕ СИСТЕМЫ USB

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

° Устройства (Device) USB могут являться хабами, "функциями" или их комбинацией.

° Хаб (Hub) обеспечивает дополнительные точки подключения устройств к шине.

° "Функции" (Function) USB предоставляют системе дополнительные возможности - например подключение к ISDN, цифровой джойстик. акустические колонки с цифровым интерфейсом и т.д.

Устройство USB должно иметь интерфейс USB, обеспечивающий поддержку протокола USB, выполнение стандартных операций(конфигурирование и сброс) и стандартное представление информации, описывающей устройство. Многие устройства, подключаемые к USB, имеют в своем составе и "функции" и хабы.

Работой всей системы USB управляет хост-контроллер. являющийся программно-аппаратной подсистемой хост-компьютера.

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

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

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

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

Хаб - ключевой элемент системы Plug-and-Play в архитектуре USB. Хаб является кабельным концентратором, точки подключения называются портами хаба. Каждый хаб преобразует одну точку подключения в их множество. Архитектура подразумевает возможность соединения нескольких хабов.

У каждого хаба имеется один восходящий порт( upstream port), предназначенный для подключению к хосту и ли к хабу верхнего уровня. Остальные порты являются являются нисходящими(downstream) и предназначены для подключения функций и хабов нижнего уровня. Хаб может распознать подключение или отключение устройств к этим портам и управлять подачей питания на их сегменты. Каждый из этих портов индивидуально может быть разрешен или запрещен и сконфигурирован на полную или ограниченную скорость обмена. Хаб обеспечивает изоляцию сегментов с низкой скоростью от высокоскоростных.

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

Система USB разделяется на три уровня с определенными правилами взаимодействия. Устройство USB делится на интерфейсную часть, часть устройства и функциональную часть. Хост тоже делится на три части - интерфейсную, системную и ПО устройства. Каждая часть отвечает только за определенный круг задач, взаимодействие между ними показано на рисунке 1.1.

Рис 1.1. - Взаимодействие компонентов USB

1. Физическое устройство USB - устройство на шине, выполняющее функции, интересующие пользователя.

2. Client SW - программное обеспечение, соответствующее конкретному устройству , исполняемое на хост-компьютере. Может являться составной частью ОС или специальным продуктом.

3. USB System SW - системная поддержка USB операционной системой, независимая от конкретных устройств и клиентского ПО.

USB Host Controller - аппаратные и программные средства, обеспечивающие подключение устройств USB к хост-компьютеру.

ФИЗИЧЕСКИЙ ИНТЕРФЕЙС

Информационные сигналы и питающее напряжение 5В передаются по четырехпроводному кабелю. Для сигнала используется дифференциальный способ передачи по двум проводам D+ и D-. Уровни сигналов передатчиков в статическом режиме должны быть ниже 0.3 В( низкий уровень) или выше 2.8 В (высокий уровень). Приемники должны выдерживать входное напряжение в пределах -0.5...+3.8 В. Передатчики должны иметь возможность перехода в высокоимпедансное состояние для обеспечения двунаправленной полудуплексной передачи данных по одной паре проводов.Передача по двум проводам не ограничивается лишь дифференциальными сигналами. Кроме дифференциального приемника, каждое устройство имеет и линейные приемники сигналов D+ и D- , а передатчики этих линий управляются индивидуально. Это позволяет различать множество состояний линии, используемых для организации аппаратного интерфейса. Состояния Diff0 и Diff1 определяются по разности потенциалов на линиях D+ и D- более 200 мВ при условии, что на одной из них потенциал выше порога срабатывания VSE. Состояние, при котором на обоих входах D+ и D- присутствует низкий уровень называется линейным нулем (SE0 - single-ended zero). Интерфейс определяет следующие состояния:

° Data J State и Data K State - состояния передаваемого бита ( определяются через состояния Diff0 и Diff1).

° Idle State - пауза на шине.

° Resume State - сигнал "пробуждения" для вывода устройства из спящего режима.

° Start of Packet (SOP) - начало пакета( переход из "Idle" в "K").

° End of Packet (EOP) - конецпакета.

° Disconnect - устройство отключено от порта.

° Connect - устройство подключено к порту.

° Reset - сброс устройства.

Состояния определяются сочетаниями дифференциальных и линейных сигналов, для полной и низкой скоростей состояния Diff0 и Diff1 имеют противоположное назначение. В декодировании состояние Disconnect, Connect и Reset принимается во внимание и время нахождения линий (более 2.5 мс) в определенных состояниях.

Шина имеет два режима передачи. Полная скорость передачи сигналов USB составляет 12 Мбит/с, низкая - 1.5 Мбит/с. Для полной скорости используется экранированная витая пара с импедансом 90 Ом и длиной сегмента до 5 м, для низкой - невитой и неэкранированный кабель при длине сегмента до 3 м. Одна и та же система может использовать оба режима, переключение для устройств осуществляется прозрачно. Низкая скорость предназначена для работы с небольшим количеством устройств, не требующих высокой пропускной способности канала.

Скорость, используемая устройством, подключенным к конкретному порту определяется хабом по уровням сигналов на линиях D+ и D-, смещаемых нагрузочными резисторами R2 приемопередатчиков( рис 2.1, 2.2 ). Сигналы кодируются по методу NRZI ( Non Retur n To Zero Invert ) - при переходе сигнала из 0 в 1 сигнал NRZI не изменяется, а при переходе из 1 в 0 - изменяется на противоположный. Каждому пакету предшествует поле SYNC, позволяющее приемнику настроиться на частоту передатчика.Кроме сигнальной пары кабель имеет линии VBus и GND для передачи питающего напряжения 5В к устройствам.


Рис 2.1 - Подключение полноскоростного устройства

Рис 2.2 - Подключение низкоскоростного устройства

Таблица 2.1. - Назначение выводов разъема USB

Контакт Цепь
1 VCC
2 -Data
3 +Data
4 Ground

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


Рис 2.3. - Обозначение разъема USB

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