Поиск по базе сайта:
1. Общая характеристика 5 Структура usb 6 icon

1. Общая характеристика 5 Структура usb 6




Скачати 273.38 Kb.
Назва1. Общая характеристика 5 Структура usb 6
Дата конвертації26.11.2013
Розмір273.38 Kb.
ТипДокументи
1. /ISP DAS 081201.doc
2. /pci express.doc
3. /ris_int07.doc
4. /stup345.pdf
5. /wopint_08.doc
6. /Методичка по НВЛ08_050602.DOC
7. /Методичка по НВЛ08_081024.DOC
8. /Обзор.doc
9. /Парал_интерф/CompactPCI,PC104/Отчет.doc
10. /Парал_интерф/IEEE 1284_2.doc
11. /Парал_интерф/ISA.doc
12. /Парал_интерф/pci/pci-20/1.DOC
13. /Парал_интерф/pci/pci-20/2.DOC
14. /Парал_интерф/pci/pci-20/3.DOC
15. /Парал_интерф/pci/pci-20/4.DOC
16. /Парал_интерф/pci/pci-20/5.DOC
17. /Парал_интерф/pci/pci-20/6.DOC
18. /Парал_интерф/pci/pci-20/7.DOC
19. /Парал_интерф/pci/pci-20/8.DOC
20. /Парал_интерф/pci/pci-20/9.DOC
21. /Парал_интерф/pci/pci-20/CH1-3.DOC
22. /Парал_интерф/Спецификация PX1.doc
23. /Парал_интерф/Стандарт IEEE 1284.doc
24. /Парал_интерф/реферат по интерфейсам.doc
25. /Парал_интерф/хар_парал.инт.doc
26. /Послед_интерф/PCI_EXpr.doc
27. /Послед_интерф/RS485 для чайников.doc
28. /Послед_интерф/USB.doc
29. /Послед_интерф/Wi Fi.doc
30. /Послед_интерф/ПРЕОБРАЗОВАТЕЛИ ИНТЕРФЕЙСА USB.doc
31. /Послед_интерф/Реферат по ИРДА.doc
32. /Послед_интерф/стандарт CAN/Aldis.doc
33. /лит_инт.doc
34. /рб_пр_интерф_07.doc
С. П. Королева архитектура автоматизированных систем на основе модулей icp das серии i-7000
Курсовой проект «Интерфейс pci express»
Мс –модули сети, а адаптер, устройство согласования, цп
Вопросы по курсу "Интерфейсы асоиу" Общие вопросы организации интерфейсов
Проектирование измерительных систем на основе нвл-08
С. П. Королева проектирование измерительных систем на основе Многофункционального устройства нвл-08
Тема номера
Документация по интерфейсам: Compactpci, MicroPC, pc/104, pc/104+ Пояснительная записка к курсовому проекту по курсу "Интерфейсы асоиу"
Интерфейс ieee-1284
Интерфейс isa методические указания к курсу лекций «Интерфейсы автоматизированных систем обработки информации и управления» Самара 2005 Составитель: Иоффе Владислав Германович удк 681. 3 Интерфейс isa
Спецификация локальной шины pci
Реализация Хронология реализации
Реализация 0
Функционирование шины
Электрическая спецификация
Конструктивная спецификация
Руководство по системному проектированию pci, реализация 6, действует с 1 ноября 1992 года. Объединение запросов по техническим изменениям (ecrs)
Реализация 0
Диапазон сигнала Сопутствующие документы
Введение Содержание спецификации
Введение 2 Цель разработки 2 Терминология 3 Полезные ссылки 3 Обзор архитектуры pxi 3
С. П. Королева Стандарт ieee 1284 Подготовили: Есипов С. Б. Громов А. Е. Преподаватель: Иоффе В. Г
Министерство науки, высшей школы и технической политики российской федерации комитет по высшей школе самарский государственный аэрокосмический университет им. С. П. Королева факультет №6 Кафедра
Основные характеристики параллельных интерфейсов
Курсовой проект «Интерфейс pci express»
Ооо "Маяк": разводка печатных плат, разработка электронных систем управления
1. Общая характеристика 5 Структура usb 6
Пояснительная записка к курсовому проекту по дисциплине «Интерфейсы асоиу» на тему: «Интерфейс Wi Fi»
Преобразователи интерфейса usb на микросхемах ft8U232AM, ft8U245AM
Протокол связи IrDA
Протокол был разработан фирмой Robert Bosch GmbН для использования в автомобильной электронике, отличается повышенной помехоустойчивостью, надежностью и обладает следующими возможностями
Литература Основная литература
Федеральное агентство по образованию государственное образовательное учреждение высшего профессионального образования «самарский государственный аэрокосмический университет имени академика С. П. Королева»

ОГЛАВЛЕНИЕ



Вместо вступления 2

Шина USB 5

1. Общая характеристика 5

2. Структура USB 6

3. Физический интерфейс 8

4. Модель передачи данных 12

5. Типы передачи данных 13

6. Протокол 14

7. Форматы пакетов 14

8. Системное конфигурирование 17

9. Устройства USB – функции и хабы 18

10. Хост-контроллер 19

Список использованной литературы 21



Вместо вступления


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

Примером этому могут служить производители материнских плат, которые уже не ограничиваются только двумя стандартными портами USB, выведенными на заднюю панель ATX-корпусов (например, Apple и Формоза рискнули "выкинуть" из компьютера все "старые" порты, включая LPT, но зато их корпуса удивляют аж четырьмя портами USB). О степени популярности этого интерфейса можно судить уже лишь по тому, что любым современным монитором можно управлять по шине USB, а на некоторых даже можно встретить USB-хабы. Насчет оригинальности девайсов говорить вообще не приходится. Как вам, к примеру, USB-радио или USB-колонки?

Но мы не стоим на месте и уже можем праздновать появление на свет работающих чипсетов, поддерживающих новую версию порта, а также некоторых девайсов, на него ориентированных. Как вы уже тысячу раз догадались, речь идет о USB версии 2.0. В 1999-м году Intel и группа сторонних разработчиков объявили о разработке интерфейса, по скорости в 10-20 раз превосходящего USB 1.1. Однако к осени на форуме разработчиков (Developer Forum Fall '99) Intel неожиданно заявила об увеличении скорости разрабатываемого интерфейса уже в 30-40 раз, по сравнению с все тем же USB 1.1. Речь, конечно же, шла о USB 2.0.

Итак, одним из главных преимуществ USB 2.0 является увеличение скорости передачи данных до 480 Мбит/с (у ныне популярного USB 1.1 предел скорости составляет 12 Мбит/с). Кстати, по этому показателю "отдыхает" даже IEEE 1394 (FireWire), максимальная скорость которого достигает всего лишь 400 Мбит/с. В свое время FireWire разрабатывался как стандарт, нацеленный на использование в системах, обрабатывающих графику или звук. Что же станется с ним, когда на рынок выйдет вторая версия USB? Казалось бы, риторический вопрос.

Но нет. Хотя уже был проведен некий тест, при котором компьютер должен был скопировать 253 Мб MP3-файлов сначала через USB 2.0, а потом посредством IEEE 1394. Как и следовало ожидать, USB 2.0 стал "обгонять" IEEE 1394 по скорости передачи – 10,2 Мб/с и 8,7 Мб/с соответственно. Хотя, по идее, после этого судьба IEEE 1394 должна быть решена, USB 2.0 вряд ли сможет составить конкуренцию IEEE1394 по одной простой причине – они имеют разную систему соединения: USB – ведущий-ведомый, IEEE1394 – Равный-равный. Соответственно, USB 2.0 не подойдет для управления бытовой техникой или графическими станциями, тем более что многие из них уже работают со стандартом IEEE 1394.

Естественно, разработчики USB думали не только о скорости, но и о нас, простых пользователях, сделав новый стандарт совместимым с его предшественником. Для того чтобы он позволял подключать к себе "старое" USB-оборудование, был создан специальный хаб, который способен работать на трех скоростях: 480 Мбит/c, 12 Мбит/с и самой медленной – 1,5 Мбит/с. И все же, дело не только в повышении скорости работы USB-хабов. Дело в том, что USB-хабы спецификации 1.1 при передаче данных являются обыкновенными повторителями, обеспечивающими связь периферии с контроллером. То есть, пока одно устройство, работающее на скорости 1,5 Мбит/с, передает пакет данных, другое, более скоростное устройство, за это время может передать восемь пакетов данных, но ему приходится ждать окончания работы первого.

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

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

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

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

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

Пользователи NT все еще посылают "во все дыры" электронную почту в надежде, что кто-то (неважно, кто) придумает волшебный драйвер, который способен возбудить USB-порты на их системах. Что касается Windows 98, то знаменитый "мастдай" хоть и оборудован поддержкой USB, но тоже не всегда адекватно реагирует на появление чего-то, по мнению системы, лишнего, и добивает доверчивого юзера постоянными перезагрузками. Кстати, Intel уже опубликовала спецификацию EHCI (Enhanced Host Controller Interface), предназначенную для разработчиков операционных систем, поддерживающих контроллеры USB 2.0 (разработчики, внимание!).

Скорее всего, "операционкам" придется несладко – прокачивать по 60 Мб данных за секунду через порт, к которому в любой момент может быть присоединено или отсоединено что угодно, не так-то просто. Зато новые скорости интерфейса "развяжут руки" многим устройствам: например, "на всю катушку" можно будет использовать цифровые видеокамеры с высоким разрешением, профессиональные быстродействующие принтеры и сканеры. USB 2.0 станет великолепным интерфейсом и для "высокоскоростной" периферии, которая до сих пор борется с проблемами в интерфейсах типа SCSI и ATAPI. Кроме того, предполагается внедрение USB 2.0, как основного типа интерфейса, в устройства для хранения информации (в особенности, CD-R).

Ранее стандарт USB 1.1 ограничивал (в частности, в скорости: предельная скорость записи – 4х) возможности внешних приводов CD-R и CD-RW. С появлением же нового моста ATA/ATAPI-To-USB производители подобной периферии будут способны в скором времени представить внешние CD-R, CD-RW и DVD-RAM, работающие на более высоких скоростях; в том числе, возрастет до 16х скорость записи на CD-болванки. Еще один плюс можно приписать USB 2.0 за то, что разработчики не собираются ограничивать использование спецификации USB 2.0 (то же самое было и с USB 1.1), в отличие от обязательного лицензирования IEEE 1394.

Как предполагается, USB 2.0 серьезно расширит долю USB-устройств на рынке. Осталось только надеяться на производителей "железа", которые должны как можно быстрее внедрить новый стандарт, а также увеличить объемы производства для удержания цен на уровне современных "железяк" с интерфейсом USB 1.1. Кстати, такие компании уже появились – это Panasonic, Hitachi и ряд других брэндов, представившие свою модную периферию; в частности, это DVD-ROM, работающий с интерфейсом USB 2.0.

Шина 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 обеспечивает одновременный обмен данными между хост-компьютером и множеством периферийных устройств (ПУ). Распределение пропускной способности шины между ПУ планируется хостом и реализуется им с помощью посылки маркеров. Шина позволяет подключать, конфигурировать, использовать и отключать устройства во время работы хоста и самих устройств.

Ниже приводится авторский вариант перевода терминов из спецификации "Universal Serial 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 Zero Invert), его работу иллюстрирует рис. 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. Для каждого включенного устройства существует канал сообщений (Control Pipe 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 состоят из трех пакетов. Каждая транзакция планируется и начинается по инициативе контроллера, который посылает пакет-аркер (Token Packet). Он описывает тип и направление передачи, адрес устройства 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
DataI

0011
1011

Пакеты данных с четным и нечетным PID чередуются для точной идентификации подтверждений

Handshake

Ack

0100

Подтверждение безошибочного приема пакета

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 (Start Of 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) он определяет скорость подключенного устройства.

* Disabled (запрещен) – порт передает только сигнал сброса (по команде от контроллера), сигналы от порта (кроме обнаружения отключения) не воспринимаются. По обнаружении отключения (2,5 мкс состояния SEO) порт переходит в состояние Disconnect, а если отключение обнаружено "спящим" хабом, контроллеру будет послан сигнал Resume.

* Enabled (разрешен) – порт передает сигналы в обоих направлениях. По команде контроллера или по обнаружении ошибки кадра порт переходит в состояние Disabled, а по обнаружении отключения – в состояние Disconnect.

* Suspended (приостановлен) – порт передает сигнал перевода в состояние останова ("спящий" режим). Если хаб находится в активном состоянии, сигналы через порт не пропускаются ни в одном направлении. Однако "спящий" хаб воспринимает сигналы смены состояния незапрещенных портов, подавая "пробуждающие" сигналы от активизировавшегося устройства даже через цепочку "спящих" хабов. Состояние каждого порта идентифицируется контроллером хаба с помощью отдельных регистров. Имеется общий регистр, биты которого отражают факт изменения состояния каждого порта (фиксируемый во время EOF). Это позволяет хост-контроллеру быстро узнать состояние хаба, а в случае обнаружения изменений специальными транзакциями уточнить состояние.

10. Хост-контроллер


Хост-компьютер общается с устройствами через контроллер.

Хост имеет следующие обязанности:

* обнаружение подключения и отсоединения устройств USB;

* манипулирование потоком управления между устройствами и хостом;

* управление потоками данных;

* сбор статистики;

* обеспечение энергосбережения подключенными ПУ.

Системное ПО контроллера управляет взаимодействием между устройствами и их ПО, функционирующим на хост-компьютере, для согласования:

* нумерации и конфигурации устройств;

* изохронных передач данных;

* асинхронных передач данных;

* управления энергопотреблением;

* информации об управлении устройствами и шиной.

По возможности ПО USB использует существующее системное ПО хост-компьютера – например, Advanced Power Management для управления энергопотреблением.

Список использованной литературы


Интерфейсы персонального компьютера (электронное издание). – Propaganda Art's, 1999г. – 385с.

www.computery.ru/upgrade/index.htm, статья Игоря Терехова «USB 2.0 – самый быстрый, самый удобный и самый дешевый»




Схожі:




База даних захищена авторським правом ©lib.exdat.com
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації