
Avdeev
.pdf
172
|
|
хаб/функ |
|
|
хаб/функ |
|
|
|
|
|
|
|
|
хаб/функ |
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Клавиатура |
|
|
Монитор |
|
|
|
|
|
|
|
|
|
ПК |
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
(USB-хост) |
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Мышь |
Трекбол |
|
Хаб |
Адаптер |
||
|
телефона |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
функ |
|
функ |
|
хаб |
|
функ |
Рис.7.3. Система рабочий стол, содержащая хабы и функционеры
USB-хост (центральная ЭВМ) осуществляет доступ к USB-устройствам с помощью хост-контроллера, который выполняет следующие действия:
-координацию потоков управления и данных между хостом и устройствами;
-обнаружение подключенных (отключенных) устройств;
-сбор информации о состоянии системы;
-управление питанием.
Протокол шины выполняется следующим образом. Хост направляет по шине USB эстафетный пакет, в котором указывается тип пакета, направление транзакции (действия на шине), адрес устройства и номер конечной точки. Конечная точка – это уникальноопределяемаячастьUSB-устройства,содержащегонесколькотакихточек (конечных пунктов связи). Комбинация адреса устройства и номера конечной точки в этом устройстве позволяет выбрать каждую точку в отдельности. Любая конечная точка должна быть сконфигурирована перед употреблением и характеризуется частотой, временем ожидания доступа к шине, шириной полосы частот, максимальным размером пакета, типом и направлением передачи. Устройства с низким быстродействием содержат не более двух конечных точек, а устройства с высоким быстродействием – до 16 выходных точек.
После того как передача данных завершена, USB-устройство (приемник) отвечает пакетом подтверждения, в котором отмечается успешность этой передачи.

173
Сигналы данных D+ и D- и питание (V и G – земля) в шине USB передаются от точки к точке по четырем проводам 90-омного кабеля (рис. 7.4.) с максимальной длиной 5м. Номинальное напряжение питания – 5v.
V |
|
|
|
V |
|
|
|||
D+ |
|
|
|
D+ |
D- |
|
|
|
D- |
G |
|
|
|
G |
|
|
Рис.7.4. Кабель USB
Хост (хаб) обеспечивает питанием устройства USB, которые подключены к нему. Кроме того, устройства USB могут иметь автономное питание. Питание по шине USB имеет ограниченную величину.
Шина USB обеспечивает два диапазона скоростей передачи информации: низкая скорость (1,5 Мбит/с) и высокая скорость (12 Мбит/с). Низкоскоростной режим применяется для взаимодействия с интерактивными устройствами (мышью, трекболом и т.п.), а высокоскоростной режим – с адаптером телефона, аудиоили видеоустройствами. Каждому пакету данных предшествует поле синхронизации, которое позволяет приемникам согласовывать во времени их таймеры (генераторы) для приема данных. Поле синхронизации содержит синхроимпульсы, закодированные по методу NRZI с битовым заполнением.
Связь между хостом и конечной точкой образует канал. Устройство USB может иметь конечную точку, поддерживающую только канал управления, или конечную точку, использующую канал для передачи данных.
USB выполняет следующие типы передач по соответствующим каналам в одном или обоих направлениях:
-управляющую спонтанную (непериодическую) передачу по типу запрос/ответ, используемую для передачи команд/состояния и обычно применяемую с целью конфигурирования устройства в момент его подключения;
-контейнерную передачу, случайно возникающую во времени, состоящую из большого числа данных, выводимых, например, в принтер или сканер;
174
- передачу прерывания (непериодическую передачу данных с низкой частотой из устройства в любой момент времени, состоящую из одного или нескольких байтов, направляемых в главную ЭВМ и требующих обслуживания устройства);
-изохронную (периодическую потоковую) передачу, обеспечивающую не-
прерывнуюсвязьмежду хостомиустройством,вреальномвремениспредварительной установленной скоростью и временем ожидания.
Все устройства USB содержат конечную точку О, к которой имеет доступ по умолчаниюканалуправления.ИнформацияконечнойточкиОописываетустройство USB и состоит из следующих частей: стандарта, использующего дескрипторы устройства, его структуры, интерфейса и конечных точек; класса устройства и сведений о поставщике. Конечная точка О применяется для инициализации и конфигурирования устройства USB.
Через каналы перемещается информация между хостом и конечной точкой с использованием буферной памяти. Различают два режима работы канала: поток – данные, не имеющий определенной структуры, и сообщение – данные, передаваемые в соответствии с заданным порядком. Системное программное обеспечение (ПО) монопольно владеет каналом и представляет его другим ПО. Пользователь ПО запрашивает передачи по каналу, ждет их и затем уведомляется о завершении передач данных. Конечная точка сигналом NAK может сообщить хосту о том, что она занята.
Потоковые каналы передают пакеты данных, не имеющих структуру USB, в одном или другом направлении (однонаправленная передача). Потоковые каналы поддерживают контейнерную, изохронную передачу и передачу прерываний.
Управляющая передача разрешает доступ к какой-либо части устройства и предназначена для обмена информацией, типа конфигурация / команды / состояние, между пользовательским ПО и функционером. Управляющая передача в общем случае содержит информацию запроса (установочный пакет), данные и возвращаемую в хост информацию состояния функционера. Установочный пакет имеет определенную структуру, состоящую из набора команд, необходимых для установления связи между хостом и устройством USB. Описание состояния устройства имеет также

175
определенную структуру, а данные управления, следующие заустановочным пакетом, не имеют какой-либо структуры и содержат информацию о запрошен-
ном доступе. Управляющая передача выполняется как двунаправленный поток информации по каналам сообщений. Стандарт шины USB ограничивает размеры пакета данных для высокоскоростных устройств 8, 16, 32 или 64 байтами, а низкоскоростные устройства могут иметь пакет данных не более 8 байтов. Установочный пакет всегда содержит 8 байтов. Вначале (после сброса) хост использует пакет данных размером в 8 байтов, который является достаточным для стандартных операций, а после определения типа конечной точки по ее конфигурационной информации может быть использован пакет большого размера для выполнения специфических операций. Таким образом, все данные при передаче делятся на равные части (пакеты), кроме последней части, которая содержит оставшиеся данные.
В том случае, если конечная точка занята определенное время, хост будет повторять к ней доступ через некоторое время. При обнаружении ошибки хостом выполняется повторная передача.
На рис.7.5 представлена общая схема взаимодействия компонентов шины
USB.
|
|
Хост |
|
|
|
|
|
Устройство USB |
|||
|
|||||||||||
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Логика устройства |
|
||
|
|
|
|
|
|
||||||
|
|
|
|
|
|
||||||
Системное ПО USB |
|
|
|
|
|
(точка 0 и другие |
|
||||
|
|
|
|
|
|
||||||
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
конечные точки) |
|
||
|
|
|
|
|
|
||||||
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПО пользователя |
Функционер |
Контроллер |
Интерфейс |
|
шины USB |
||
|

176
Рис.7.5. Общая схема взаимодействия компонентов шины USB
Хост (координирующий центр) содержит: системное ПО USB, поддерживающее интерфейс USB в конкретной операционной системе и поставляемое вместе с ней; ПО пользователя, необходимое для управления работой определенного устройства USB, которое входит в состав операционной системы или поставляется вместе
сустройством, и контроллер, позволяющий устройствам подключаться к хосту. Устройство USB также имеет несколько уровней реализации: интерфейс шины, логику устройства (совокупность точек) и функционер (функциональный уровень устройства).
Вшине USB используется метод кодирования NRZI (без возвращения к нулю
синверсией). В этом случае метод кодирования NRZI состоит в том, что если бит передаваемыхданныхравен0,топроисходитизменениеуровнянапряжения,а-если равен 1, то уровень напряжения сохраняется. На рис.7.6 показан пример кодирования данных методом NRZI.
Данные
Код NRZI
Рис.7.6. Пример кодирования методом NRZI
Таким образом, строка нулей вызывает переключение уровней сигналов, а строка единиц образует длительные отрезки уровней без всяких переходов, что может нарушить условие синхронизации при выделении каждого бита. Поэтому при передачи данных через каждые шесть последовательных единиц вставляется нуль, чтобы гарантировать достоверное определение каждого битового интервала при приемевнаиболеехудшемслучае,когдапередаютсяединичныезначениябитовданных. Приемник декодирует код NRZI и отбрасывает вставленные биты нулей. На рис.7.7 представлена временная диаграмма этапов кодирования данных.
На диаграмме вначале показаны необработанные данные, содержащие поле синхрокомбинаций и пакет данных, причем синхрокомбинация имеет 7 нулей и заканчивается единичным битом, после которого начинается пакет данных. Затем на

177
диаграмме изображены заполненные данные, которые дополнительно содержат после шести единиц вставленный бит 0. В число шести единиц входит и по-
следний единичный бит синхрокомбинации. После этого выполняется кодирование заполненных данных методом NRZI с учетом и поля синхрокомбинации. Правило заполнения требует, чтобы бит 0 был вставлен, даже если этот бит будет последним, перед сигналом EOP (конец пакета).
|
Синхрокомбинация |
|
|
|
|
пакет данных |
||||||||||||||||||||
Необработанные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 0 0 0 0 0 0 1 |
|
1 1 1 |
1 1 ...... |
1 |
|
|
|
|
|
|
|||||||||||||||
данные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вставка 0 |
|
|
|
|
|
|
|
|
||||||
Заполненные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
данные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
пакет данных |
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
cинхрокомбинация |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
шесть единиц |
|
|
|
|
|
|
|
|
||||||||
Код NRZI |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cинхрокомбинация |
|
|
пакет данных |
|
|
|||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис.7.7. Временная диаграмма этапов кодирования данных
Рассмотрим некоторые электрические требования шины USB. На рис.7.8 представленасхема симметричного шинногоформирователя(драйвера)USB,содержащего два одинаковых буфера, выполненных по технологии КМОП.
|
|
|
|
|
300м |
||
|
|
|
1 |
|
|||
Строб |
|
|
|
|
D + |
||
|
|
|
|||||
|
E |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
300м |
|
Данные |
1 |
D - |
|
(код NRZI) |
E |
||
|
Рис.7.8. Схема дифференциального формирователя
Симметричный дифференциальный формирователь содержит два разно-по- лярных выхода D+ и D-, имеющих три состояния, чтобы реализовать двунаправлен-

178
ную полудуплексную работу. Один из выходов представляет буферизованный повторитель входа, а другой является его дополнением. Эти выходы соединяютсяпаройскрещенныхпроводовсовходамидифференциальногоприемника.Таким образом, по проводам передаются два сигнала, которые подвергаются в одинаковой мере воздействию синфазных помех, устраняемых дифференциальным приемником.
Так как выходы формирователя имеют разные полярности, то при передаче данных с высокой частотой возникают отраженные разнополярные сигналы, которые не являются синфазными помехами. Поэтому следует устранить возможность возникновения отраженных сигналов на приемной стороне интерфейса.
Применение дифференциального принципа передачи повышает ее помехоустойчивость и, как следствие, позволяет увеличить скорость передачи данных.
На рис.7.9 показана диаграмма сигналов на выходах формирователя для скорости передачи 12 Мбит/с (а) и 1.5 Мбит/с (б).
Такт Задержка кабеля
(a)
(б)
Рис.7.9. Диаграммы сигналов на выходах формирователей для скоростей передачи данных 12 Мбит/с (а) и 1.5 Мбит/с (б)
При скорости передачи данных 12 Мбит/с используется витая пара экранированного кабеля, а для скорости 1.5 Мбит/с – неэкранированный кабель с нескрученной парой проводников. Сопряжение приемопередатчиков (ПП) с помощью кабеля USB в случае высокоскоростной (а) и низкоскоростной (б) передач изображено на рис.7.10.

179
Из схем видно, что высокоскоростные устройства содержат рези-
стор нагрузки (RН) на линии D+, а низкоскоростные – на линии D-, что позволяет определить тип подключенного устройства USB. Когда устройство USB не управляет линиями D+ и D-, то на линии с RН имеется напряжение около 3В, а на другой
– близкое к 0В. Такое состояние шины называется пассивным состоянием.
|
D + |
|
D + |
|
|
|
|
|
|
|
|
ПП |
D - |
|
D - |
ПП |
(а) |
|
R0 |
R1 |
|
Rн |
|
|
D + |
|
D + |
|
|
|
|
|
|
|
|
ПП |
D - |
|
D - |
ПП |
(б) |
|
R0 |
R1 |
|
Rн |
|
Рис.7.10. Схемы сопряжения ПП хоста (хаба) и функционера (хаба) для высокоскоростной (а) и низкоскоростной (б) передач
Если устройство не подключено к нижнему порту хоста (хаба) (или отсутствует питание), то на обоих линиях D+ и D- устанавливается асимметричный низкийуровеньнапряжения(0,6В),которыйиспользуетсядляопределенияусловиярассоединения или сообщения о конце пакета (EOP). Для высокоскоростных передач условием рассоединения является наличие асимметричного нуля в течение 2,5 мс (30 единиц времени передачи бита).
Считается, что связь с устройством установлена, если напряжение на одной из линий D+ (D-) достигает выше асимметричного высокого порога в 1,5В за время 2,5 мс.

180
Определение факта рассоединения и связанности устройства USB показано на рис.7.11.
D+ |
|
D- |
|
|
>2.5 мс |
Устройство |
Обнаружение |
отсоединено |
рассоединения |
|
а |
|
D+ |
0 |
D- |
|
|
>2.5 мс |
|
Устройство |
Связь |
подключено |
обнаружена |
|
б |
Рис.7.11. Установление факта рассоединения (а) и связи устройства USB (б)
Общее время передачи данных оценивается числом битов данных, умноженным на период (Т), определяемый скоростью передачи данных. На рис.7.12 представленавременнаядиаграммапередачиданныхподифференциальнымлиниямдан-
ных D+ и D-.
T
D +
D -
EOP
Рис.7.12. Временная диаграмма передачи данных
В соответствии с кодом NRZI бит 0 вызывает переключение уровней напряжения, а бит 1 сохраняет соответствующие уровни напряжения на линиях D+ и D-. Длительность асимметричного нуля в EOP равна 2Т без учета времени задержки.
Начало пакета (SOF) определяется первым битом поля синхронизации, когда пассивное состояние линий D+ и D- переходит в активное. Устройства USB поддерживают режим приостановки, который вызывается тем, что пассивное состояние линий D+ и D- удерживается более 3 мс.
Командой хоста может быть установлен сигнал сброса, который распространяется через все хабы и приводит подключенные устройства в начальное состояние.
181
Сигналом сброса является асимметричный нуль, удерживаемый на шине
втечение 10 мс.
Взависимости от источника потребления питания различают следующие типы устройств:
- хабы, получающие питание от шины и обеспечивающие питанием внутренние функциональные устройства и низшие порты;
- хабы с автономным питанием, которые позволяют снабдить питаниемпять модулей, каждый из которых потребляет 100 мА, составляющие нагрузку модуля;
- маломощные (с нагрузкой одного модуля) и высокомощные (с нагрузкой пяти модулей) устройства, потребляющие питание из шины;
- функциональные устройства, имеющие внешний источник питания и обладающие нагрузкой одного модуля, питаемого из шины.
Рассмотрим форматы пакетов, определяемых стандартом шины USB. Различают опознавательные, информационные пакеты и пакеты квитирования. Каждому пакету предшествует передача 8-битного поля синхронизации. Формат опознавательного пакета изображен на рис. 7.13.
8 |
7 |
4 |
5 |
|
|
|
|
Идентификатор |
Адрес |
Номер КТ |
КЦК |
|
|
|
|
Примечание: КТ - конечная точка, КЦК - контрольный циклический код
Рис.7.13. Формат опознавательного пакета
Вслед за полем синхронизациидля каждого пакета передается 8-битный идентификатор (ИД) младшим битом вперед. Биты D0-D3 поля ИД задают тип пакета (формат и способ обнаружения ошибок соответствующего пакета), а биты D4-D7 являются инверсными значениями младших четырех битов и служат в качестве поля проверки правильности передачи поля ИД,которые делятся наопознавательные, информационные, квитирования и специальные.