Содержание 1. Общаяхарактеристика2. Структура USB3. Физический интерфейс4. Модель передачи данных5. Типы передачи данных 6. Протокол7. Форматы пакетов 8. Системное конфигурирование 9. Устройства USB - функции и хабы 10. Хост-контроллер Список использованной литературыШина USB 1.Общая характеристика
USB Universal Serial Bus универсальная последовательнаяшина является промышленным стандартом расширения архитектуры PC, ориентированнымна интеграцию с телефонией и устройствами бытовой электроники. Версия 1.0 была опубликованав январе 1996 года. Архитектура USB определяется следующими критериями Легко реализуемое расширение периферии PC. Дешевое решение, поддерживающее скорость передачи до 12
Mбит с. Полная поддержка в реальном времени передачи аудио и сжатых видеоданных. Гибкость протокола смешанной передачи изохронных данных иасинхронных сообщений. Интеграция с выпускаемыми устройствами. Доступность в PC всех конфигураций и размеров. Обеспечение стандартного интерфейса, способного быстро завоевать рынок. Создание новых классов устройств, расширяющих PC.Сточки зрения конечного пользователя, привлекательны
следующие черты USB Простота кабельной системы и подключений. Скрытие подробностей электрического подключения от конечного пользователя. СамоидентифицирующиесяПУ, автоматическая связь устройств с драйверами и конфигурирование. Возможность динамического подключения и конфигурирования ПУ. Ссередины 1996 года выпускаются PC со встроенным контроллером
USB, реализуемым чипсетом.Уже появились модемы, клавиатуры, сканеры, динамики и другие устройства ввода выводас поддержкой USB, а также мониторов с USB-адаптерами - они играют роль концентраторовдля подключения других устройств. 2.Структура USB USBобеспечивает одновременный обмен данными между хост-компьютером и множеством периферийныхустройств ПУ . Распределение пропускной способности шины между ПУ планируется хостоми реализуется им с помощью посылки маркеров.
Шина позволяет подключать, конфигурировать,использовать и отключать устройства во время работы хоста и самих устройств. Нижеприводится авторский вариант перевода терминов из спецификации UniversalSerial Bus Specification , опубликованной Compaq, DEC, IBM, Intel, Microsoft, NEC и Northern Telecom. Более подробную и оперативную информацию можно найти по адресу http www.usb.org .
Устройства Device USB могут являться хабами, функциями или их комбинацией. Хаб Hub обеспечиваетдополнительные точки подключения устройств к шине. Функции Function USB предоставляютсистеме дополнительные возможности, например подключение к ISDN, цифровой джойстик,акустические колонки с цифровым интерфейсом и т. п. Устройство USB должно иметьинтерфейс USB, обеспечивающий полную поддержку протокола
USB, выполнение стандартныхопераций конфигурирование и сброс и предоставление информации, описывающей устройство.Многие устройства, подключаемые к USB, имеют в своем составе и хаб, и функции. Работойвсей системы USB управляет хост-контроллер Host Controller , являющийся программно-аппаратнойподсистемой хост-компьютера. Физическоесоединение устройств осуществляется по топологии многоярусной звезды.
Центром каждойзвезды является хаб, каждый кабельный сегмент соединяет две точки - хаб с другимхабом или с функцией. В системе имеется один и только один хост-контроллер, расположенныйв вершине пирамиды устройств и хабов. Хост-контроллер интегрируется с корневым хабом Root Hub , обеспечивающим одну или несколько точек подключения - портов. КонтроллерUSB, входящий в состав чипсетов, обычно имеет встроенный двухпортовыйхаб.
Логически устройство, подключенное к любому хабу USB и сконфигурированное см. ниже , может рассматриваться как непосредственно подключенное к хост-контроллеру.Функциипредставляют собой устройства, способные передавать или принимать данные или управляющуюинформацию по шине. Типично функции представляют собой отдельные ПУ с кабелем, подключаемымк порту хаба. Физически в одном корпусе может быть несколько функций со встроеннымхабом,
обеспечивающим их подключение к одному порту. Эти комбинированные устройствадля хоста являются хабами с постоянно подключенными устройствами-функциями. Каждаяфункция предоставляет конфигурационную информацию, описывающую возможности ПУ итребования к ресурсам. Перед использованием функция должна быть сконфигурированахостом - ей должна быть выделена полоса вканале и выбраны опции конфигурации. Примерамифункций являются
Указатели - мышь, планшет, световое перо. Устройства ввода - клавиатура или сканер. Устройство вывода - принтер, звуковые колонки цифровые . Телефонный адаптер ISDN. Хаб- ключевой элемент системы РпР в архитектуре USB.Хаб является кабельным концентратором. Точки подключения называются портами хаба.Каждый хаб преобразует одну точку подключения в их множество.
Архитектура допускаетсоединение нескольких хабов.Укаждого хаба имеется один восходящий порт Upstream Port , предназначенный для подключенияк хосту или хабу верхнего уровня. Остальные порты являются нисходящими Downstream Ports , предназначенными для подключения функций или хабов нижнего уровня.Хаб может распознать подключение устройств к портам или отключение от них и управлятьподачей питания на их сегменты. Каждый из портов может быть разрешен или запрещени сконфигурирован на полную
или ограниченную скорость обмена. Хаб обеспечивает изоляциюсегментов с низкой скоростью от высокоскоростных. Хабымогут управлять подачей питания на нисходящие порты предусматривается установкаограничения на ток, потребляемый каждым портом. СистемаUSB разделяется на три уровня с определенными правилами взаимодействия. УстройствоUSB содержит интерфейсную часть, часть устройства и функциональную часть. Хост тожеделится на три части - интерфейсную, системную и
ПО устройства. Каждая часть отвечаеттолько за определенный круг задач, логическое и реальное взаимодействие между нимииллюстрирует рис. 7.1. Врассматриваемую структуру входят следующие элементы Физическое устройство USB - устройство на шине, выполняющее функции, интересующиеконечного пользователя. Client SW - ПО, соответствующее конкретному устройству, исполняемое на хост-компьютере.Может являться составной частью ОС или специальным продуктом.
USB System SW - системная поддержка USB, независимая от конкретных устройств и клиентскогоПО. USB Host Controller - аппаратные и программные средства для подключения устройствUSB к хост-компьютеру. 3.Физический интерфейс СтандартUSB определяет электрические и механические спецификации шины. Информационные сигналыи питающее напряжение 5 В передаются по четырехпроводному кабелю. Используется дифференциальныйспособ передачи сигналов
D и D- по двум проводам. Уровни сигналов передатчиковв статическом режиме должны быть ниже 0,3 В низкий уровень или выше 2,8 В высокийуровень . Приемники выдерживают входное напряжение в пределах - 0,5 3,8 В. Передатчикидолжны уметь переходить в высокоимпедансное состояние для двунаправленной полудуплекснойпередачи по одной паре проводов. Передачапо двум проводам в USB не ограничивается дифференциальными сигналами.
Кроме дифференциальногоприемника каждое устройство имеет линейные приемники сигналов D и D а передатчикиэтих линий управляютсяиндивидуально. Это позволяет различать более двух состояний линии, используемыхдля организации аппаратного интерфейса. Состояния Diff0 и Diff1 определяются поразности потенциалов на линиях D и D- более 200 мВ при условии, что на одной изних потенциал выше порога срабатывания
VSE. Состояние, при котором на обоих входахD и D- присутствует низкий уровень, называется линейным нулем SEO -Single-Ended Zero . Интерфейс определяет следующие состояния Data J State и Data К State - состояния передаваемогобита или просто J и К , определяются через состоянияDiff0 и Diff1. Idle State - пауза на шине. Resume State - сигнал пробуждения для вывода устройства из спящего режима.
Start of Packet SOP - начало пакета переход из Idle State в К . End of Packet EOP - конец пакета. Disconnect - устройство отключено от порта. Connect - устройство подключено к порту. Reset - сброс устройства. Состоянияопределяются сочетаниями дифференциальных и линейных сигналов для полной и низкойскоростей состояния DiffO и Diff1 имеют противоположное назначение.
В декодировании состояний Disconnect, Connect и Reset учитывается время нахождениялиний более 2,5 мс в определенных состояниях. Шинаимеет два режима передачи. Полная скорость передачи сигналов USB составляет 12 Мбит с,низкая - 1,5 Мбит с. Для полной скорости используется экранированная витая парас импедансом 90 Ом и длиной сегмента до 5 м, для низкой - невитой неэкранированньгйкабель до 3 м.
Низкоскоростные кабели и устройства дешевле высокоскоростных. Однаи та же система может одновременно использовать оба режима переключение для устройствосуществляется прозрачно.Низкая скорость предназначена для работы с небольшим количеством ПУ, не требующихвысокой скорости. Скорость, используемая устройством, подключенным к конкретномупорту, определяется хабом по уровням сигналовна линиях D и
D смещаемых нагрузочными резисторами R2 приемопередатчиков см.рис. 7.2 и 7.3 . Сигналысинхронизации кодируются вместе с данными по методу NRZI Non Return to ZeroInvert , его работу иллюстрирует рис. 7.4. Каждому пакету предшествует поле синхронизацииSYNC, позволяющее приемнику настроиться на частоту передатчика. Кабель также имеетлинии VBus и GND для передачи питающего напряжения 5
В к устройствам. Сечение проводниковвыбирается в соответствии с длиной сегмента для обеспечения гарантированного уровнясигнала и питающего напряжения. Рис.7.4. Кодирование данных по методу NRZI Стандартопределяет два типа разъемов см. табл. 7.1 и рис. 7.5 . Контакт Цепь Контакт Цепь 1 VBus 3 D 2 D- 4 GND Разъемытипа А применяются для подключения к хабам
Upstream Connector . Вилкиустанавливаются на кабелях, не отсоединяемых от устройств например, клавиатура,мышь и т. п Гнезда устанавливаются на нисходящих портах Downstream Port хабов.Разъемы типа В Downstream Connector устанавливаютсяна устройствах, от которых соединительный кабель может отсоединяться принтеры исканеры . Ответная часть вилка устанавливается на соединительном кабеле, противоположныйконец которого имеет
вилку типа А . Разъемытипов А и В различаются механически рис. 7.5 , что исключаетнедопустимые петлевые соединения портов хабов. Четырехконтактные разъемы имеют ключи,исключающие неправильное присоединение. Конструкция разъемов обеспечивает позднеесоединение и раннее отсоединение сигнальных цепей по сравнению с питающими. Дляраспознавания разъема USB на корпусе устройства ставится стандартное символическоеобозначение.
Рис.7.5. Гнезда USB а - типа А , б - типа В , в - символическое обозначение Питаниеустройств USB возможно от кабеля Bus-Powered Devices или от собственного блокапитания Self-Powered Devices . Хост обеспечивает питанием непосредственно подключенныек нему ПУ. Каждый хаб, в свою очередь, обеспечивает питание устройств, подключенныхк его нисходящим портам.
При некоторых ограничениях топологии допускается применениехабов, питающихся от шины. На рис. 7.6 приведен пример схемы соединения устройствUSB. Здесь клавиатура, перо и мышь могут питаться от шины. 4.Модель передачи данных Каждоеустройство USB представляет собой набор независимых конечных точек Endpoint , скоторыми хост-контроллер обменивается информацией.
Конечные точки описываются следующимипараметрами требуемой частотой доступа к шине и допустимыми задержками обслуживания требуемой полосой пропускания канала номером точки требованиями к обработке ошибок максимальными размерами передаваемых и принимаемыхпакетов типом обмена направлением обмена для сплошного и изохронного обменов . Каждоеустройство обязательно имеет конечную точку с номером 0, используемую для инициализации,общего управления и опроса его состояния. Эта точка всегда сконфигурирована привключении питания и подключении
устройства к шине. Оно поддерживает передачи типа управление см. далее . Кроменулевой точки, устройства-функции могут иметь дополнительные точки, реализующиеполезный обмен данными. Низкоскоростные устройства могут иметь до двух дополнительныхточек, полноскоростные - до 16 точек ввода и 16 точек вывода протокольное ограничение .Точки не могут быть использованы до их конфигурирования установления согласованногос ними канала .
Каналом Pipe в USB называется модель передачи данных между хост-контроллером и конечнойточкой Endpoint устройства. Имеются два типа каналов потоки Stream и сообщения Message . Поток доставляет данные от одного конца канала к другому, он всегда однонаправленный.Один и тот же номер конечной точки может использоваться для двух поточных каналов- ввода и вывода. Поток может реализовывать следующие типы обмена сплошной, изохронныйи прерывания.
Доставка всегда идет в порядке первым вошел - первым вышел FIFO с точки зрения USB, данные потока неструктурированы. Сообщения имеют формат,определенный спецификацией USB. Хост посылает запрос к конечной точке, после которогопередается принимается пакет сообщения, за которым следует пакет с информациейсостояния конечной точки.
Последующее сообщение нормально не может быть посланодо обработки предыдущего, но при отработке ошибок возможен сброс необслуженных сообщений.Двухсторонний обмен сообщениями адресуется к одной и той же конечной точке. Длядоставки сообщений используется только обмен типа управление . Сканалами связаны характеристики, соответствующие конечной точке полоса пропускания,тип сервиса, размер буфера и т. п Каналы организуются при конфигурировании устройствUSB.
Для каждого включенного устройства существует канал сообщений ControlPipe 0 , по которому передается информация конфигурирования, управления и состояния. 5.Типы передачи данных USBподдерживает как однонаправленные, так и двунаправленные режимы связи. Передачаданных производится между ПО хоста и конечной точкой устройства. Устройство можетиметь несколько конечных точек, связь с каждой из них канал устанавливается независимо.
АрхитектураUSB допускает четыре базовых типа передачи данных Управляющие посылки Control Transfers , используемые для конфигурирования во времяподключения и в процессе работы для управления устройствами. Протокол обеспечиваетгарантированную доставку данных. Длина поля данных управляющей посылки не превышает64 байт на полной скорости и 8 байт на низкой. Сплошные передачи Bulk Data Transfers сравнительно больших пакетов без жесткихтребований ко времени
доставки. Передачи занимают всю свободную полосу пропусканияшины. Пакеты имеют поле данных размером 8, 16, 32 или 64 байт. Приоритет этих передачсамый низкий, они могут приостанавливаться при большой загрузке шины. Допускаютсятолько на полной скорости передачи. Прерывания Interrupt - короткие до 64 байт на полной скорости, до 8 байт на низкой передачи типа вводимых символов
или координат. Прерывания имеют спонтанный характери должны обслуживаться не медленнее, чем тоготребует устройство. Предел времени обслуживания устанавливается в диапазоне1-255 мс для полной скорости и 10-255 мс - для низкой. Изохронные передачи Isochronous Transfers - непрерывные передачи в реальном времени,занимающие предварительно согласованную часть пропускной способности шины и имеющиезаданную задержку доставки. В случае обнаружения ошибки изохронные данные передаютсябез повтора - недействительные пакеты
игнорируются. Пример - цифровая передача голоса. Пропускная способность определяется требованиями к качеству передачи, а задержкадоставки может быть критичной, например, при реализации телеконференций. Полосапропускания шины делится между всеми установленными каналами. Выделенная полосазакрепляется за каналом, и если установление нового канала требует такой полосы,которая не вписывается в уже существующее распределение, запрос на выделение каналаотвергается.
АрхитектураUSВ предусматривает внутреннюю буферизацию всех устройств, причем чем большей полосыпропускания требует устройство, тем больше должен быть его буфер. USB должна обеспечиватьобмен с такой скоростью, чтобы задержка данных в устройстве, вызванная буферизацией,не превышала нескольких миллисекунд. Изохронныепередачи классифицируются по способу синхронизации конечных точек - источников илиполучателейданных - с системой различают асинхронный, синхронныйи адаптивный классы
устройств, каждому из которых соответствует свой тип каналаUSB. 6.Протокол Всеобмены транзакции по USB состоят из трех пакетов. Каждая транзакция планируетсяи начинается по инициативе контроллера, который посылает пакет-аркер TokenPacket . Он описывает тип и направление передачи, адрес ус-тройства USB и номерконечной точки. В каждой транзакции возможен обмен только между адресуемым устройством его
конечной точкой и хостом. Адресуемое маркером устройство распознает свой адреси готовится к обмену. Источник данных определенный маркером передает пакет данных или уведомление об отсутствии данных, предназначенных для передачи . После успешногоприема пакета приемник данных посылает пакет подтверждения Handshake Packet . Планированиетранзакций обеспечивает управление поточными каналами. На аппаратном уровне использованиеотказа от транзакции
NAck при недопустимой интенсивности передачи предохраняетбуферы от переполнения сверху и снизу. Маркеры отвергнутых транзакций повторно передаютсяв свободное для шины время. Управление потоками позволяет гибко планировать обслуживаниеодновременных разнородных потоков данных. Устойчивостьк ошибкам обеспечивают следующие свойства USB Высокое качество сигналов, достигаемое благодаря дифференциальным приемникам передатчиками экранированным
кабелям. Защита полей управления и данных CRC-кодами. Обнаружение подключения и отключения устройств и конфигурирование ресурсов на системномуровне. Самовосстановление протокола с тайм-аутом при потере пакетов. Управление потоком для обеспечения изохронности и управления аппаратными буферами. Независимость функций от неудачных обменов с другими функциями.
Дляобнаружения ошибок передачи каждый пакет имеет контрольные поля CRC-кодов, позволяющиеобнаруживать все одиночные и двойные битовые ошибки. Аппаратные средства обнаруживаютошибки передачи, а контроллер автоматически производит трехкратную попытку передачи.Если повторы безуспешны, сообщение об ошибке передается клиентскому ПО. 7.Форматы пакетов Байтыпередаются по шине последовательно, начиная с младшего бита.
Все посылки организованыв пакеты. Каждый пакет начинается с поля синхронизации Sync, которое представляетсяпоследовательностью состояний KJKJKJKK коди-рованную по NRZI , следующую после состояния Idle. Последние два бита КК являютсямаркером начала пакета SOP, используемым для идентификации первого бита идентификаторапакета
PID. Идентификатор пакета является 4-битным полем PID 3 0 , идентифицирующимтип пакета табл. 7.2 , за которым в качестве контрольных следуют те же 4 бита,но инвертированные. Тип PID Имя PID PID 3 0 Содержимое и назначение Token OUT 0001 Адрес функции и номер конечной точки - маркер транзакции функ- ции Token IN 1001 Адрес функции и номер конечной точки - маркер транзакции хоста
Token SOF 0101 Маркер начала кадра Token SETUP 1101 Адрес функции и номер конечной точки - маркер транзакции с управ- ляющей точкой Data DataO Datal 0011 1011 Пакеты данных с четным и нечетным PID чередуются для точной идентификации под- тверждений Handshake Ack 0010 Подтверждение безошибочного приема пакета
Handshake NAK 1010 Приемник не сумел принять или передатчик не сумел передать данные. Может использоваться для управления потоком данных неготовность . В транзакциях пре- рываний является признаком отсутствия необслуженных преры- ваний Handshake STALL 1110 Конечная точка требует вмеша- тельства хоста Special PRE 1100 Преамбула передачи на низкой скорости
Впакетах-маркерах IN, SETUP и OUT следующими являются адресные поля 7-битный адресфункции и 4-битный адрес конечной точки. Они позволяют адресовать до 127 функцийUSB нулевой адрес используется для конфигурирования и по 16 конечных точек в каждойфункции. Впакете SOF имеется 11-битное поле номера кадра Frame Number Field , последовательно циклически увеличиваемое для очередного кадра. Поледанных может иметь размер от 0 до 1023 целых байт.
Размер поля зависит от типа передачии согласуется при установлении канала. ПолеСКС-кола присутствует во всех маркерах и пакетах данных, оно защищает все поля пакета,исключая PID. CRC для маркеров 5 бит и данных 11 бит подсчитываются по разнымформулам. Каждаятранзакция инициируется хост-контроллером посылкой маркера и завершается пакетомквитирования. Последовательность пакетов в транзакциях иллюстрирует рис.
7.7. Хост-контроллерорганизует обмены с устройствами согласно своему плану распределения ресурсов. Контроллерциклически с периодом 1 мс формирует кадры Frames , в которые укладываются всезапланированные транзакции. Каждый кадр начинается с посылки маркера SOF StartOf Frame , который является синхронизирующим сигналом для всех устройств, включаяхабы.
В конце каждого кадра выделяется интервал времени EOF End Of Frame , на времякоторого хабы запрещают передачу по направлению к контроллеру. Каждый кадр имеетсвой номер. Хост-контроллер оперирует 32-битным счетчиком, но в маркере SOF передаеттолько младшие 11 бит. Номер кадра увеличивается циклически во время EOF. Хостпланирует загрузку кадров так, чтобы в них всегда находилось место для транзакцийуправления
и прерывания. Свободное время кадров может заполняться сплошными передачами Bulk Transfers . Рис.7.8. Поток кадров USB Дляизохронной передачи важна синхронизация устройств и контроллера. Есть три варианта синхронизация внутреннего генератора устройства с маркерами SOF подстройка частоты кадров под частоту устройства согласование скорости передачи приема устройства с частотой кадров. Подстройкачастоты кадров контроллера возможна, естественно, под частоту внутренней
синхронизациитолько одного устройства. Подстройка осуществляется через механизм обратной связи,который позволяет изменять период кадра в пределах 1 битового интервала. 8. Системное конфигурирование USBподдерживает динамическое подключение и отключение устройств. Нумерация устройствшины является постоянным процессом, отслеживающим изменения физической топологии.Всеустройства подключаются через порты хабов. Хабы определяют подключение и отключениеустройств к своим
портам и сообщают состояние портов при запросе от контроллера.Хост разрешает работу порта и адресуется к устройству через канал управления, используянулевой адрес - USB Default Address. При начальном подключении или после сбросавсе устройства адресуются именно так. Хостопределяет, является новое подключенное устройство хабом или функцией, и назначаетему уникальный адрес USB. Хост создает канал управления Control Pipe с этим устройством,используя назначенный адрес
и нулевой номер точкиназначения. Еслиновое устройство является хабом, хост определяет подключенные к нему устройства,назначает им адреса и устанавливает каналы. Если новое устройство является функцией,уведомление о подключении передается диспетчеромUSB заинтересованному ПО. Когда устройство отключается, хаб автоматически запрещаетсоответствующий порт и сообщает об отключении контроллеру, который удаляет сведенияо данном устройстве из всех структур данных.
Если отключается хаб, процесс удалениявыполняется для всех подключенных к нему устройств. Если отключается функция, уведомлениепосылается заин-тересованному ПО. Нумерация устройств, подключенных к шине Bus Enumeration , осуществляетсядинамически по мере их подключения или включения их питания без какого-либо вмешательствапользователя или клиентского ПО. Процедуранумерации выполняется следующим образом 1.Хаб, к которому подключилось устройство, информирует
хост о смене состояния своегопорта ответом на опрос состояния. С этого момента устройство переходит в состояниеAttached подключено , а порт, к которому оно подключилось, в состояниеDisabled. 2.Хост уточняет состояние порта. 3.Узнав порт, к которому подключилось новое устройство, хост дает команду сброса иразрешения порта. 4.Хаб формирует сигнал Reset для данного порта 10 мс и переводит его в состояниеEnabled.
Подключенное устройство может потреблять от шины ток питания до 100 мА.Устройство переходит в состояние Powered питание подано , все его регистры переводятсяв исходное состояние, и оно отзывается на обращение по нулевому адресу. 5.Пока устройство не получит уникальный адрес, оно доступно по дежурному каналу, покоторому хост-контроллер определяет максимально допустимый размер поля данных пакета.6.Хост сообщает устройству его уникальный адрес, и оно переводится в состояниеAddressed
адресовано . 7.Хост считывает конфигурацию устройства, включая заявленный потребляемый ток от шины.Считывание может затянуться на несколько кадров. 8.Исходя из полученной информации, хост конфигурирует все имеющиеся конечные точкиданного устройства, которое переводится в состояние Configured сконфигурировано .Теперь хаб позволяет устройству потреблять от шины полный ток, заявленный в конфигурации.Устройство готово. Когдаустройство отключается от шины, хаб уведомляет об этом хост и
работа порта запрещается,а хост обновляет свою текущую топологическую информацию. 9. Устройства USB - функции и хабы Возможностишины USB позволяют использовать ее для подключения разнообразных устройств. Не касаясь полезных свойств ПУ, остановимся на их интерфейсной части, связаннойс шиной USB. Все устройства должны поддержи-вать набор общих операций, перечисленных ниже.
Динамическое подключение и отключение.Эти события отслеживаются хабом, который сообщает о них хост-контроллеру и выполняетсброс подключенного устройства. Устройство после сигнала сброса должно отзыватьсяна нулевой адрес, при этом оно не сконфигурировано и не приостановлено. После назначенияадреса, за которое отвечает хост-контроллер, устройство должно отзываться толькона свой уни-кальный адрес. Конфигурированиеустройств, выполняемое хостом, является
необходимым для их использования. Для конфигурированияобычно используется информация, считанная из самого устройства. Устройство можетиметь множество интерфейсов, каждому из которых соответствует собственная конечнаяточка, представляющая хосту функцию устройства. Интерфейс в конфигурации может иметьальтернативные наборы характеристик смена наборов поддерживается протоколом. Дляподдержки адаптивных драйверов дескрипторы устройств и интерфейсов имеют поля класса,
подкласса и протокола. Передачаданных возможна посредством одного из четырех типов передач см. выше . Для конечныхточек, допускающих разные типы передач, после конфигурирования доступен только одиниз них. Управлениеэнергопотреблением является весьма развитой функцией USB. Для устройств, питающихсяот шины, мощность ограничена. Любое устройство при подключении не должно потреблятьот шины ток, превышающий 100 мА.
Рабочий ток не более 500 мА заявляется в конфигурации, и если хаб не сможет обеспечитьустройству заявленный ток, оно не конфигурируется и, следовательно, не может бытьиспользовано. УстройствоUSB должно поддерживать приостановку Suspended Mode , в котором его потребляемыйток не превышает 500 мкА. Устройство должно автоматически приостанавливаться припрекращении активности шины.
Возможностьудаленного пробуждения Remote Wakeup позволяет приостановленному устройству податьсигнал хосткомпьютеру, который тоже может находиться в приостановленном состоянии.Возможность удаленного пробуждения описывается в конфигурации устройства. При конфигурированииэта функция может быть запрещена. Хабв USB выполняет коммутацию сигналов и выдачу питающего напряжения, а также отслеживаетсостояние
подключенных к нему устройств, уведомляя хост об изменениях. Хаб состоитиз двух частей - контроллера Hub Controller и повторителя Hub Repeater . Повторительпредставляет собой управляемый ключ, соединяющий выходной порт со входным. Он имеетсредства поддержки сброса и приостановки передачи сигналов. Контроллер содержитрегистры для взаимодействия с хостом.
Доступ к регистрам осуществляется по специфическимкомандам обращения к хабу. Команды позволяют конфигурировать хаб, управлять нисходящимипортами и наблюдать их состояние. Нисходящие Downstream порты хабов могут находиться в следующих состояниях Powered питание отключено - на порт не подается питание возможно только дляхабов, коммутирующих питание . Выходные буферы переводятся в высокоимпедансное состояние,входные сигналы игнорируются.
Disconnected отсоединен - порт не передает сигналы ни в одном направлении, носпособен обнаружить подключение устройства по отсутствию состояния SEO в течение2,5 мкс . Тогда порт переходит в состояние Disabled, а по уровням входных сигналов DiffO или Diff1 в состоянии Idle он определяет скорость подключенного устройства.s Disabled запрещен - порт передает только сигнал сброса по команде от контроллера ,сигналы от порта кроме
обнаружения отключения не воспринимаются. По обнаруженииотключения 2,5 мкс состояния SEO порт переходит в состояние Disconnect, а еслиотключение обнаружено спящим хабом, контроллеру будет послан сигналResume. шEnabled разрешен - порт передает сигналы в обоих направлениях. По команде контроллераили по обнаружении ошибки кадра порт переходит в состояние Disabled, а по обнаруженииотключения - в состояние
Disconnect. Suspended приостановлен - порт передает сигнал перевода в состояние останова спящий режим . Если хаб находится в активном состоянии, сигналы черезпорт не пропускаются ни в одном направлении. Однако спящий хаб воспринимаетсигналы смены состояния незапрещенных портов, подавая пробуждающие сигналыот активизировавшегося устройства даже через цепочку спящих хабов. Состояниекаждого порта идентифицируется контроллеромхаба с помощью отдельных регистров.
Имеется общий регистр, биты которого отражаютфакт изменения состояния каждого порта фиксируемый во время EOF . Это позволяетхост-контроллеру быстро узнать состояние хаба, а в случаеобнаружения изменений специальными транзакциями уточнить состояние. 10. Хост-контроллер Хост-компьютеробщается с устройствами через контроллер.Хост имеет следующие обязанности обнаружение подключения и отсоединения устройств
USB манипулирование потоком управления между устройствами и хостом управление потоками данных сбор статистики обеспечение энергосбережения подключенными ПУ. СистемноеПО контроллера управляет взаимодействием между устройствами и их ПО, функционирующимна хост-компьютере, для согласования нумерации и конфигурации устройств изохронных передач данных асинхронных передач данных управления энергопотреблением информации об управлении устройствами и шиной. Повозможности ПО USB использует существующее системноеПОхост-компьютера - например,
Advanced Power Management для управления энергопотреблением.Список использованной литературыИнтерфейсы персонального компьютера электронное издание Propaganda Art s, 1999г 385с. Вверх