Usb курсовая работа

Введение

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

В группе устройств,
обеспечивающих высокоскоростное
соединение, произошло прибавление!
Новый стандарт получил название USB.
Благодаря своей универсальности и
способности эффективно передавать
разнородный трафик, шина USB применяется
для подключения к PC самых разнообразных
устройств. Некоторые из наиболее
распространенных и полезных на сегодняшний
день устройств имеют одну общую черту
— они используют преимущества технологии
USB. USB — это тип технологии, долгое время
использовавшийся на компьютерах и
постепенно перешедший на другие
устройства, которые не обязательно
подключались к компьютеру. Технология
USB широко применяется для подключения
внешних устройств к ПК, постепенно
распространяясь и на различные мобильные
устройства, а также бытовую электронику.

Теперь этот
высокоскоростной и эффективный интерфейс
подключения освобождается от проводов,
сохраняя функциональность традиционной
проводной технологии USB. Порты и кабели
USB используются уже длительное время
для подсоединения некоторых устройств
к компьютеру. Например, большинство
принтеров, сканеров, цифровых камер,
компьютерных мышек, внешних и некоторых
других устройств уже довольно давно
используют технологию USB.Многие не
представляют себе жизнь без usb
flash
накопителей и прочих периферийных
устройств.[1]

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

Это позволило бы
подключать к ПК во время работы различные
устройства ввода-вывода, с условием
немедленного автоматического распознавания
типа и модели подключённого устройства.
Также, была поставлена цель, — избавиться
от проблемы нехватки внутренних ресурсов
прерываний системной шины.[2]

Рис. 1. USB 1.1

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

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

2.Архитектура usb

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

1)Легко реализуемое
расширение периферии PC.

2)Дешевое решение,
поддерживающее высокие скорости передачи
данных.

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

4)Гибкость протокола
смешанной передачи изохронных данных
и асинхронных сообщений.

5)Интеграция с
выпускаемыми устройствами.

6)Доступность в PC
всех конфигураций и размеров.

7)Обеспечение
стандартного интерфейса, способного
быстро завоевать рынок.

8)Создание новых
классов устройств, расширяющих PC.

9)Полная совместимость
всех версий

С точки зрения
конечного пользователя, привлекательны
следующие черты USB: Простота кабельной
системы и подключений. Шина USB представляет
собой последовательный интерфейс
передачи данных для среднескоростных
и низкоскоростных периферийных устройств.
Основная цель стандарта, поставленная
перед его разработчиками — обеспечить
пользователям реальную возможность
работы в режиме Plug&Play с периферийными
устройствами. Это означает, что должно
быть предусмотрено подключение устройства
к работающему компьютеру, автоматическое
распознавание его немедленно после
подключения и последующей установки
соответствующих драйверов (если это
необходимо). Кроме того, желательно
обеспечить подачу питания для маломощных
устройств с самой шины. Скорость шины
должна быть достаточной для подавляющего
большинства низкоскоростных периферийных
устройств. При этом контроллер USB занимает
только одно прерывание независимо от
количества подключенных к шине устройств.

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

Устройства (Device)
USB могут являться хабами, функциями или
их комбинацией. Хаб (Hub) обеспечивает
дополнительные точки подключения
устройств к шине. Функции (Function) USB
предоставляют системе дополнительные
возможности, например подключение к
ISDN, цифровой джойстик, акустические
колонки с цифровым интерфейсом и т. п.
Устройство USB должно иметь интерфейс
USB, обеспечивающий полную поддержку
протокола USB, выполнение стандартных
операций (конфигурирование и сброс) и
предоставление информации, описывающей
устройство. Многие устройства, подключаемые
к USB, имеют в своем составе и хаб, и
функции. Работой всей системы USB управляет
хост-контроллер (Host Controller), являющийся
программно-аппаратной подсистемой
хост-компьютера.[3]

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

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

1.»Готовая
платформа» позволяет логично связать
аппаратное и программное обеспечение
для совместной поставки покупателю.

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

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

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

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

Соседние файлы в папке Интерфейс USB

  • #
  • #

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


Содержание

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

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

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

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

Ниже
приводится авторский вариант перевода
терминов из спецификации «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
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 (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) он
определяет скорость подключенного
устройства.

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

По
возможности ПО USB использует существующее
системное

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


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

Интерфейсы
персонального компьютера (электронное

издание).
— Propaganda Art’s, 1999г.-
385с.

Вверх

Спецификация интерфейса универсальной последовательной шины USB 3.0

МИНОБРНАУКИ РОССИИ

Сарапульский политехнический институт
(филиал)

Федерального государственного
бюджетного образовательного учреждения

Высшего профессионального образования

«Ижевский государственный
технический университет им. М.Т. Калашникова»

Кафедра КиПР

КУРСОВОЙ ПРОЕКТ

по дисциплине: «Интерфейсы
периферийных устройств»

на тему: «Спецификация
интерфейса универсальной последовательной шины USB 3.0»

Выполнил студент гр.761 ЗДУ Д.А. Манохин

Проверил: к. т. н., доцент кафедры КиПР Т.Г. Чикуров

г. Сарапул 2013


Оглавление

Введение

1. Сведения по спецификациям USB

1.1 Историческая справка. Общее

1.2 Историческая справка. Кратко

2. Спецификация USB 3.0: коротко о главном

2.1 Архитектура

2.2 Физический интерфейс

2.2.1 Совместимость

2.2.2 Кабель

2.2.3 Разъемы

2.3 Уровень соединений

2.3.1 Кодирование 8/10 бит

2.3.2 Анатомия энергоэффективности

2.3.4 Различия между SuperSpeed USB и USB 2.0

2.3.5 Сходства между USB 3.0 и PCI Express

Заключение

Литература


Введение

(Universal Serial Bus) — универсальная последовательная шина.
Универсальный порт для подключения различных устройств к ПК и организации
обмена между ними. Описание USB состоит из ряда спецификаций, которые
разрабатываются группой компаний в рамках некоммерческой организации USB
Implementers Forum. Основной целью данной разработки было создания
универсального порта ПК для подключения потоковых устройств. Спецификация USB
2.0 является на сегодняшний день основным коммуникационным портом персональных
компьютеров. USB представляет открытый протокол связи (нет лицензионного
сбора), что способствовало его распространению и популярности во всём мире.

Еще недавно USB 2.0 было достаточно. Но сегодня почти любой
обладатель персонального компьютера (ПК) подтвердит, что интерфейс USB 2.0
является основным «узким местом» современных компьютеров и ноутбуков,
поскольку его пиковая «чистая» пропускная способность составляет от
30 до 35 Мбайт/с. И это в то время, как у современных 3,5″жёстких дисков
для настольных ПК скорость передачи уже превысила 100 Мбайт/с. А технологии не
стоят на месте: появляются и 2,5″ модели для ноутбуков, приближающиеся к
данному уровню. Одновременно с этим скоростные твёрдотельные накопители успешно
превзошли порог 200 Мбайт/с.

И вот в конце 2008 года USB Implementers Forum финализировал
спецификации стандарта USB 3.0. Как и ожидалось, новый стандарт увеличил
пропускную способность. Хотя прирост не такой значительный, как 40-кратное
увеличение скорости при переходе от USB 1.1 на USB 2.0. В любом случае,
10-кратное повышение пропускной способности дало ощутимый запас. Теперь USB 3.0
поддерживает максимальную скорость передачи 5 Гбит/с. И эта пропускная
способность почти в два раза превышает современный стандарт Serial ATA (3
Гбит/с с учётом передачи информации избыточности).

Посмотрим: 5 Гбит/с (или 5120 Мбит/с) соответствует 640
Мбайт/с. В итоге запас существенный. Не думается, что в обозримом будущем
жёсткие диски приблизятся к уровню 600 Мбайт/с, но следующие поколения
твёрдотельных накопителей могут превысить это число уже через несколько лет.
Увеличение пропускной способности становится всё более важным, поскольку
количество информации увеличивается, соответственно, растёт и время её
резервирования. Чем быстрее работает хранилище, тем меньше будет время
резервирования, тем проще будет сделать «окна» в расписании
резервирования.

Таким образом, на сегодня интерфейс USB 3.0 один из наиболее
перспективных. Так, например, цифровые видеокамеры сегодня могут записывать и
хранить гигабайты видеоданных. Доля HD-видеокамер увеличивается, а им требуются
более ёмкие и быстрые хранилища для записи большого количества данных. Если
использовать USB 2.0, то на передачу нескольких десятков гигабайт видеоданных
на компьютер для монтажа потребуется значительное время. USB Implementers Forum
считает, что пропускная способность останется принципиально важной, и USB 3.0
будет достаточно для всех потребительских устройств на протяжении ближайших
пяти лет.

Рассмотрим основные отличия этого интерфейса от предыдущих.


1. Сведения
по спецификациям USB

1.1 Историческая
справка. Общее

В 1994 году несколько ведущих компаний в области производства
персональных компьютеров и программного обеспечения решили разработать новый
универсальный порт компьютера. Новая операционная система Windows 95,
разработанная Microsoft, была ориентирована на использования аудио и видео
устройств. Работа таких устройств с СОМ и LPT портом вызывала известные
трудности. Обычно для таких устройств изготовляли персональную ISA или PCI
карту для подключения их к компьютеру. Семь ведущих компаний вошли в
первоначальный состав разработчиков спецификации нового компьютерного порта:
Compaq, Digital Equipment Corporation (DEC), IBM, Intel, Microsoft, NEC,
Northern Telecom.

В январе 1996 года была выпущена спецификация USB v.1.0, и
началась практическая реализация порта USB.

В 1996 году работа велась в трёх направлениях:

. Фирма Intel взялась за разработку хоста (корневого хаба),
который она решила встроить в микросхему i82371FB (акселератор шин PCI, ISA,
IDE). Данная микросхема входила в состав набора микросхем i430FX
«Triton» (CipSet) для создания материнских плат на базе
микропроцессора Pentium и поддерживала шину PCI/ISA. Позже микросхемы этого
типа (шинные акселераторы), входящие в состав набора ChipSet стали называть
микросхемами ICH (Input/Output Chip Hub) или «южным мостом». В мае
1996 года Intel выпустила микросхему i82371SB, которая была аналогом i82371FB и
содержала в своем составе два корневых хаба usb. Данная микросхема могла
поддерживать два порта USB v.1.0. Микросхема i82371SB впервые вошла в набор
i430VX «Triton». Таким образом, у производителей материнских плат
появилась возможность с мая 1996 года выпускать платы с usb портами.

. Microsoft начал дорабатывать свою ОС Windows 95 и в октябре
1996 года выпустил ОС Windows 95b, в которой впервые появилась поддержка USB
портов.

. Фирмы производители микроэлектроники начали разрабатывать
микросхемы для создания устройств USB. Например, фирма Philips начала в 1996
году разработку серии микросхем с наименованием PDIUSB, которая должна была
включать в себя все необходимые компоненты для устройств и хабов USB.

.1999 гг можно назвать «тёмными годами» USB. В это
время уже выпускались ПК с портами USB, к которым нечего было подключать.
Поэтому специалисты по компьютерным технологиям прозвали эту шину: (Useless
serial bus — бесполезная последовательная шина). Выпускавшиеся в эти года USB
манипуляторы типа мышь, клавиатура, джойстик проигрывали по качеству работы
манипуляторам, работавшим по порту PS/2 и Game Port. Кроме того эти
манипуляторы не работали в MS-DOS. Многие специалисты считали, что у этого
порта нет перспектив. Ситуация изменилась в 1999 году в связи с разработкой
первого USB флеш-накопителя. Израильская фирма M-Systems Ltd. в 1999 году
выпустила первую usb-флешку объёмом 8Мб, которая называлась DiskOnKey.
Колоссальная популярность USB-накопителей дала огромный толчок к дальнейшему
развитию шины USB. В первую очередь нужна была скорость обмена информации с
Flash носителями. В 2000 году разрабатывается спецификация USB 2.0 с поддержкой
скорости 480 Mb/s (в 40 раз больше чем в USB 1.0). Спецификация USB 2.0 стала
стандартом последовательной шины (уже 11 лет) компьютеров и различных
устройств. В 2006 году фирму M-Systems купил крупнейший производитель карт
памяти ScanDisk (из силиконовой долины, США). Главное достижение USB шины,
которое наверно останется в истории, это то, что она дала человеку флешку.


1.2
Историческая справка. Кратко

1995 — Организован форум «USB Implementers Forum
(USB-IF)», в состав которого вошли 340 компаний, заинтересованные в
создании нового порта ПК.

— Выпуск спецификации USB 1.0. Корпорация Intel выпустила
первую микросхему USB. Mirosoft выпустила патч к W95, который подерживал USB
порт. Появились первые устройства, поддерживающие USB шину.

— Состав форума «USB-IF» достиг 400 компаний, было
выпущено более 500 продуктов с поддержкой USB.

— Выпуск спецификации USB 1.1 Фирма Apple начала выпускать
свои ПК только с USB портом.

— Выпуск первого USB Flash Drive объёмом 8Mb. Фирмой
M-Systems Ltd.

— Выпуск спецификации USB 2.0. USB приобретает репутацию
основной технологической шины.

— Выпуск спецификации USB OTG 1.0.

— Выпуск спецификации Wireless USB 1.0.

— Выпуск спецификации USB OTG 1.3

— Выпуск спецификации USB 3.0

— Выпуск спецификации Wireless USB 1.1


2.
Спецификация USB 3.0: коротко о главном

Каждая спецификация USB с версии 1.0 до 3.0 содержит большое
количество технической документации. Только сами описания, без дополнительных
документов и извещений содержат:1.0 — 268 стр.1.1 — 311 стр.2.0 — 622 стр.3.0 —
482 стр.!!!

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

В итоге все спецификации USB одинаково структурированы и
содержат 11 глав. Исключение составляет спецификация 3.0, в которой количество
глав осталось прежним, но исключена глава 3 (Предпосылки создания), добавлена
глава 7 (Уровень соединения) и изменены содержания 10 и 11 глав.

Рассмотрим лишь некоторые главы, которые относятся к вашим
потребностям.

2.1
Архитектура

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

Контроллер USB 3.0 eXtensible Host Controller Interface
поддерживает новый, более скоростной режим передачи данных, который называется
SuperSpeed. Он обеспечивает обмен данными по шине до пяти гигабит в секунду.
Для сравнения, контроллер USB 2.0 EHCI в режиме High Speed поддерживает
скорость до 480 мегабит в секунду.

Архитектура xHCI предусматривает построение контроллера в
виде двух раздельных подсистем: USB2 и USB3. Каждая из них использует свою
группу сигналов на разъеме USB3. Это сделано для совместимости со
«старыми» USB устройствами (Low-, Full-, High-Speed) без
использования контроллеров-компаньонов и Rate Matching Hub (RMH), рис 1 [1]

Рис. 1 Архитектура USB 3.0 с двойной
шиной

Впрочем, спецификация дает разработчику право самостоятельно
выбрать топологию шины. Appendix D спецификации [1] устанавливает правила
подключения и декларирования хабов, подразделяя их на Integrated Hubs
(реализованные на кристалле контроллера) и Embedded Hubs (реализованные в виде
дополнительных микросхем на системной плате), рис. 2.

Рис. 2 Иллюстрация правил подключения и декларирования USB-хабов в
составе xHCI-контроллера


2.2
Физический интерфейс

2.2.1
Совместимость

Если говорить о главном преимуществе стандарта USB 3.0 по
сравнению со стандартом USB 2.0, то это, конечно же, скорость передачи данных.
Спецификацией USB 3.0 предусмотрен режим SuperSpeed со скоростью передачи
данных до 5 Гбит/с (640 Мбайт/с), то есть более чем в 10 раз превышающей ту,
что предусмотрена спецификацией USB 2.0. Конечно, реальная скорость передачи
данных будет, скорее всего, ниже, однако даже с учетом этого для большинства
периферийных устройств такой пропускной способности шины USB 3.0 более чем
достаточно.

Естественно, высокая скорость передачи у шины USB 3.0 — это
не единственное ее отличие от шины USB 2.0. Но при всех различиях (коих немало)
сохраняется обратная совместимость USB 3.0 c USB 2.0. То есть в спецификации
USB 3.0, кроме режима SuperSpeed, оставлены и режимы Hi-Speed, Full-Speed и
Low-Speed. Кроме того, разъемы USB 3.0 совместимы с разъемами USB 2.0. Это
означает, что все периферийные устройства с интерфейсом USB 2.0 можно будет подключать
к шине USB 3.0.

2.2.2 Кабель

Следующее важное отличие спецификации USB 3.0 от USB 2.0
заключается в том, что стандартом предусмотрена двунаправленная передача данных
по разным витым парам. Таким образом, контактов в разъемах USB 3.0 стало
больше. Увеличилось и количество проводов в USB-кабеле. Так, в стандарте USB
2.0 одна витая пара использовалась для приема/передачи данных, а другая — для
питания, то есть в разъемах USB 2.0 было четыре контакта, а USB-кабель содержал
четыре провода. В спецификации USB 3.0 первая витая пара применяется для
передачи данных, вторая — для приема данных, третья — для питания, а для
совместимости со стандартом USB 2.0 предусмотрена четвертая витая пара, по
которой осуществляется прием/передача данных в режиме USB 2.0 (Hi-Speed,
Full-Speed и Low-Speed). Кроме того, в обязательном порядке присутствует еще
одна «земля» (GND_DRAIN) в виде оплетки двух витых пар. Таким
образом, в кабеле USB 3.0 не четыре провода (как в кабеле USB 2.0), а восемь
(рис.3), а в разъемах USB 3.0 как минимум девять контактов (оплетки витых пар
подключаются к контакту GND_DRAIN).

Рис. 3 Кабель USB 3.0

Рис. 4 Схема разреза кабеля USB 3.0

С учетом разнообразия разъемов USB 3.0 будут предлагаться
следующие типы USB-кабелей:3.0 типа A (штепсель) — USB 3.0 типа A
(штепсель);3.0 типа A (штепсель) — USB 3.0 типа B (штепсель);3.0 типа A
(штепсель) — USB 3.0 Micro-B (штепсель);3.0 Micro-A (штепсель) — USB 3.0
Micro-B (штепсель);3.0 Micro-A (штепсель) — USB 3.0 типа B (штепсель);

кабель, жестко связанный с устройством с одного конца и
штепсельным разъемом USB 3.0 Micro-A с другого конца;

кабель, жестко связанный с устройством с одного конца и
штепсельным разъемом USB 3.0 Powered-B с другого конца;

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

2.2.3 Разъемы

Количество возможных разъемов USB 3.0 стало больше [3].
Имеются разъемы USB 3.0 следующих типов: типа A, типа B, Powered-B, Micro-B,
Micro-A и Micro-AB. Соответствие между разъемами различных типов отображено в
табл.1. Заметим, что разъем USB 3.0 Micro-A существует только в штепсельном
варианте, а разъем USB 3.0 Micro-AB — только в гнездовом. Особо отметим, что
спецификацией USB 3.0 не предусмотрены разъемы miniUSB типа B, которые широко
распространены в настоящее время.

Соответствие между разъемами различных типов

спецификация интерфейс шина последовательная

Таблица 1

Разъем USB 3.0 типа A (рис.4), как штепсельный, так и гнездовой,
по своей форме и размерам не отличается от разъема USB 2.0 типа A. Он полностью
совместим с разъемом USB 2.0 типа A, то есть в гнездовой разъем USB 3.0 типа A,
кроме штепсельного разъема USB 3.0 типа A, можно вставлять штепсельный разъем
USB 2.0 типа A, и наоборот: в гнездовой разъем USB 2.0 типа A можно вставлять
штепсельный разъем USB 3.0 типа A.

Рис. 5 Разъем USB 3.0 типа A

Разъем USB 3.0 типа B (рис.7), как и разъем USB 2.0 типа B, будет
использоваться для подключения стационарных периферийных устройств, таких как
принтеры, МФУ и внешние диски. В компьютерах гнездовые разъемы USB 3.0 типа B
применяться не будут (как не используются гнездовые разъемы USB 2.0 типа B).
Разъем USB 3.0 типа B частично совместим с разъемом USB 2.0 типа B, то есть в
гнездовой разъем USB 3.0 типа B, кроме штепсельного разъема USB 3.0 типа B,
можно вставлять штепсельный разъем USB 2.0 типа B. А вот вставить в гнездовой
разъем USB 2.0 типа B штепсельный разъем USB 3.0 типа B не удастся.

Рис. 6 Разъем USB 3.0 типа B

Разъем USB 3.0 Powered-B по своему формфактору полностью совместим
с разъемом USB 3.0 типа B, но отличается от него наличием двух дополнительных
контактов питания (DPWR и DGND) и двух дополнительных проводов в USB-кабеле,
что позволяет запитывать USB-адаптеры без необходимости подключения их к сети.

В гнездовой разъем USB 3.0 Powered-B можно вставлять штепсельный
разъем USB 3.0 Powered-B, разъем USB 3.0 типа B и USB 2.0 типа B.

Разъем USB 3.0 Micro-B (рис.10) ориентирован на использование
в портативных устройствах, таких как мобильные телефоны, коммуникаторы и т.д.
Он совместим с разъемом USB 2.0 Micro-B, то есть в гнездовой разъем USB 3.0
Micro-B, кроме штепсельного разъема USB 3.0 Micro-B, можно также вставлять
штепсельный разъем USB 2.0 Micro-B. Однако в гнездовой разъем USB 2.0 Micro-B нельзя
вставить штепсельный разъем USB 3.0 Micro-B. Совместимость гнездового разъема
USB 3.0 Micro-B с штепсельным разъемом USB 2.0 Micro-B достигается за счет
того, что разъем USB 3.0 Micro-B как бы разделен на две конструктивные части:
USB 2.0 и USB 3.0. В часть USB 2.0 можно отдельно вставлять штепсельный разъем
USB 2.0 Micro-B. Штепсельный разъем USB 3.0 Micro-B также конструктивно
разделен на две части и может вставляться только в гнездовой разъем USB 3.0
Micro-B (или USB 3.0 Micro-AB).

Рис. 7 Разъем USB 3.0 Micro-B

Гнездовой разъем USB 3.0 Micro-AB будет использоваться только
в устройствах, поддерживающих стандарт OTG (On-The-Go) (собственно, как и
разъем USB 2.0 Micro-AB). В гнездовой разъем USB 3.0 Micro-AB можно будет
вставлять штепсельные разъемы USB 3.0 Micro-B, USB 3.0 Micro-A, USB 2.0 Micro-B
и USB 2.0 Micro-A. А вот гнездовой разъем USB 2.0 Micro-AB будет совместим
только со штепсельными разъемами USB 2.0 Micro-B и USB 2.0 Micro-A.

2.3 Уровень
соединений

2.3.1
Кодирование 8/10 бит

Чтобы гарантировать надёжную передачу данных интерфейс USB
3.0 использует кодирование 8/10 бит, знакомое, например, по Serial ATA. Один
байт (8 бит) передаётся с помощью 10-битного кодирования, что улучшает
надёжность передачи в ущерб пропускной способности. Поэтому переход с битов на
байты осуществляется с соотношением 10: 1 вместо 8: 1.

Сравнение пропускной способности USB 1. x
— 3.0 и конкурентов

Таблица 1

Но и так интерфейс обеспечивает высокий уровень скорости.
Посмотрим это на примере таблицы 2

Таблица сравнения скоростных характеристик USB 1.0 — 3.0

Таблица 2

Так, например, цифровые видеокамеры сегодня могут записывать и
хранить гигабайты видеоданных. Доля HD-видеокамер увеличивается, а им требуются
более ёмкие и быстрые хранилища для записи большого количества данных. Если
использовать USB 2.0, то на передачу нескольких десятков гигабайт видеоданных
на компьютер для монтажа потребуется значительное время. USB Implementers Forum
считает, что пропускная способность останется принципиально важной, и USB 3.0
будет достаточно для всех потребительских устройств на протяжении ближайших
пяти лет.


2.3.2
Анатомия энергоэффективности

Вспомним, как работает старый EHCI-контроллер USB2.0?
Независимо от наличия запросов на передачу данных, он циклически считывает из
оперативной памяти расписание транзакций (Schedule), инициируя постоянный
трафик на шине памяти, а также генерируя события, требующие обеспечения когерентности
кэш-памяти. Разумеется, это приводит к увеличению мощности, потребляемой не
только самим USB-контроллером, но и связкой «процессор-память».
Данная активность препятствует переходу системы в энергосберегающие состояния.

Для чего нужна такая инициатива со стороны EHCI? Согласно
спецификации, разработчики EHCI стремились свести общение драйвера с
контроллером к передаче информации через оперативную память. Использование
расписания транзакций и минимизация количества обращений драйвера к MMIO-регистрам
контроллера, уменьшает утилизацию CPU за счет экономии тактов процессора.

Разработчики xHCI с целью уменьшения потребляемой мощности
решили отказаться от постоянной загрузки шины. Контроллер xHCI использует
протокол, при котором драйвер подготавливает блоки заданий в оперативной памяти
(в кольцевом буфере, который называется Command Ring), после чего процессор
выполняет запись в один из MMIO-регистров регистрового блока Doorbell
Registers. Запись в этот регистр сообщает контроллеру о том, что в оперативной
памяти подготовлен блок задания. Только после этого xHCI инициирует bus-master
операции.

2.3.4
Различия между SuperSpeed USB и USB 2.0

Как мы уже говорили, единственное, что объединяет USB 2.0 и
3.0 — это тип разъёма и драйверы.

В USB 3.0 обмен осуществляется по двум шинам: одна — для
обмена по протоколам USB 2.0, а вторая — для высокоскоростной передачи в
формате SuperSpeed USB. В кабеле содержится 8 проводов: две линии для USB 2.0,
два общих служебных (земля и питание) и четыре линии, по которым передаются два
симплексных дифференциальных сигнала для USB 3.0. Такая конфигурация линий
позволяет осуществлять одновременную передачу в обоих направлениях, несмотря на
то, что линии симплексные (Симплексный канал — канал передачи данных,
передающий сигналы только в одном направлении). В стандарте USB 2.0 обмен идет
в полудуплексном (Полудуплексный канал — канал передачи данных, передающий
сигналы поочередно в двух направлениях) режиме, поэтому осуществляется
медленнее по сравнению с USB 3.0.

В стандарте USB 3.0, в отличие от USB 2.0, применяется
асинхронный принцип передачи данных. Основные различия между протоколами USB
2.0 и 3.0 приведены в таблице 1.

Более эффективное управление энергопотреблением в стандарте
USB 3.0 достигнуто за счёт следующих изменений на протокольном уровне.

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

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

Основные различия между протоколами USB 2.0 и 3.0

Таблица

2.3.5
Сходства между USB 3.0 и PCI Express

Поскольку USB 2.0 имеет ограниченную полосу пропускания, при
разработке спецификации USB 3.0 была принята за образец архитектура PCI
Express. Эти стандарты основаны на сетевой модели OSI и имеют одинаковую
структуру уровней, на каждом из которых выполняются одни и те же или похожие
функции.

Самым верхним уровнем для USB 3.0 является протокольный
уровень, а для PCI Express — сетевой уровень. Связь между этими уровнями
осуществляется путём обменов пакетами.

Тип и формат отправляемых пакетов в USB 3.0 и PCI Express
разные, однако они имеют одинаковую структуру. Помимо этого в обоих стандартах
применяются одинаковые инструменты и средства для формирования пакетов,
управления каналом, шифрации и восстановления данных. Более детальное сравнение
стандартов дано в [4] и приведено на рисунке 1.

Сравнение стандарта USB 3.0 с USB 2.0 и PCI Express


Заключение

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

Отметили, что интерфейс USB 3.0 имеет низкое
энергопотребление и позволяет пересылать данные со скоростью чуть меньше 5
Гбит/с. В большей степени это обусловлено теми приёмами, которые были
заимствованы из стандарта PCI Express.

Следует сказать, что устройства USB 2.0 имеют повсеместное
распространение, поэтому разработчики USB 3.0 включили поддержку более ранних
версий этого протокола в новый стандарт


Литература

1.      Universal
Serial Bus 3.0 Specification. Revision 1.0. November 12, 2008.

2.      USB
3.0 Connectors and Cable Assemblies Compliance Document

3.      Высокоскоростной
интерфейс USB 3.0/Сергей Пахомов/ КомпьютерПресс 1’2009

4.      USB 3.0 — революция стандарта USB /Санджив Кумар (Sanjiv Kumar),
руководитель отдела IP-компонентов для верификации, DenaliSoftware/ Время
Электроники, www.russianelectronics.ru/ý

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«Ивановский государственный политехнический университет»

КУРСОВАЯ РАБОТА

по дисциплине Микропроцессорная техника

на тему: Реализация интерфейса USB-HID в микропроцессорной системе

Задание

на курсовую работу по дисциплине

«Микропроцессорная техника»

Направление подготовки:   Информационные системы и технологии                                                                                                           

Тема проекта: Реализация интерфейса USB-HID в микропроцессорной системе                                                                                                            

Исходные данные к проекту: организовать обмен данными между персональным компьютером и микропроцессорной системой, используя протокол USBHID  

Содержание пояснительной записки (перечень подлежащих разработке вопросов):

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

Этап 1 – Формирование требований к микропроцессорному устройству (МПУ).

1.1 Перечень и краткая характеристика используемых на данном этапе технических и программных средств.

1.2 Обзор и анализ существующих аналогов.

1.3 Уточнение технического задания.

1.4 Выводы.

Этап 2 – Проектирование МПУ.

2.1 Перечень и краткая характеристика используемых на данном этапе технических и программных средств.

2.2 Выбор микроконтроллера и разработка полной принципиальной схемы устройства с перечнем элементов.

2.3 Выводы по второму этапу.

Этап 3 – Изготовление МПУ

3.1 Перечень и краткая характеристика используемых на данном этапе технических и программных средств.

3.2 Выбор способа монтажа проектируемого устройства

3.3 Разработка и отладка программы для МПУ

3.4 Выводы по третьему этапу

Этап 4 – Целевое использование (пробная эксплуатация) МПУ

4.1 Перечень и краткая характеристика используемых на данном этапе технических и программных средств.

4.2 Описание функционирования (инструкция по использованию) разработанного МПУ

4.3 Выводы по четвертому этапу

Заключение и выводы по работе.

Перечень использованных источников информации.

Приложения (в случае необходимости)*.

*Приведенное здесь содержание пояснительной записки является примерным, и допускает корректировку в зависимости от особенностей предложенной темы курсовой работы.

Содержание

Введение……………………………………………………………………….. 5
1 Формирование требований к микропроцессорному устройству………… 7
1.1 Перечень и краткая характеристика используемых технических и программных средств……7
1.2 Обзор и анализ существующих аналогов………………………… 7
1.3 Уточнение технического задания…………………………………. 11
1.4 Выводы……………………………………………………………… 11
2 Проектирование МПУ……………………………………………………… 12
2.1 Перечень и краткая характеристика используемых на данном этапе технических и программных средств…12
2.2 Выбор микроконтроллера и разработка полной принципиальной схемы устройства……13
2.3 Выводы……………………………………………………………… 15
3 Изготовление МПУ…………………………………………………………. 16
3.1 Перечень и краткая характеристика используемых на данном этапе технических и программных средств…16
3.2 Монтаж проектируемого устройства……………………………… 18
3.3 Разработка и отладка программы для МПУ……………………… 20
3.4 Разработка программного модуля управления МПУ……………. 25
3.5 Выводы……………………………………………………………… 27
4 Пробная эксплуатация МПУ……………………………………………….. 30
4.1 Перечень и краткая характеристика используемых на данном этапе технических и программных средств……30
4.2 Испытания разработанного МПУ………………………………… 30
4.3 Выводы……………………………………………………………… 33
Заключение…………………………………………………………………….. 34
Список использованных источников………………………………………… 35
Приложение А…………………………………………………………………. 36

Введение

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

Среди различных видов USB-устройств в данной курсовой работе (КР) выделяется класс, именуемый как USB-HID. HID (англ. Human Interface Device) – класс USB устройств для взаимодействия с человеком. Этот класс изначально включал в себя такие устройства как клавиатура, мышь, игровой контроллер. Благодаря детальной спецификации HID-интерфейса появились устройства, которые не взаимодействуют с человеком напрямую, но используют HID-интерфейс для передачи данных. Если USB устройство поддерживает HID-интерфейс, то для него не требуется написание специальных драйверов, что способствует упрощению процедуры установки и подключения таких устройств, в том числе и нестандартных, к персональному компьютеру.

Объектом исследования данной курсовой работы является сфера разработки аппаратно-программных решений в области микропроцессорной техники и информационных коммуникаций.

Предмет – аппаратная реализация и программное обеспечение USB-устройств класса HID.

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

Задачи курсовой работы:

  1. Осуществление аналитического обзора аппаратных и программных решений для работы с USB-устройствами.
  2. Изучение и практическое использование спецификации USB-HID.
  3. Разработка, отладка и тестирование элементов аппаратно-программного обеспечения, позволяющих осуществлять обмен данными между персональным компьютером и микропроцессорным USB-HID устройством.
  4. Формулировка предложений и обоснование возможности использования полученных аппаратных и программных решений в практике разработки устройств обмена информацией между современными вычислительными системами, а также в учебном процессе ИВГПУ.

В данной курсовой работе последовательно реализуются основные стадии (этапы) жизненного цикла микропроцессорного устройства (МПУ).

Под жизненным циклом микропроцессорного устройства понимают последовательность процесса его разработки, производства и эксплуатации. Жизненный цикл включает всё время от возникновения идеи создания устройства (системы) до снятия его с эксплуатации. Основные этапы жизненного цикла микропроцессорного устройства:

— этап 1 – формирование требований к МПУ;

— этап 2 – проектирование МПУ;

— этап 3 – изготовление МПУ;

— этап 4 – целевое использование (эксплуатация) МПУ.

Более подробная информация о жизненном цикле МПУ приведена в [1…3].

1 Формирование требований к микропроцессорному устройству

Основным источником требований к разрабатываемому микропроцессорному устройству является задание на курсовую работу. Уточнения можно получить в результате консультации с руководителем работы, после изучения рекомендованных источников информации [4…6] и поиска существующих и близких по своей сути решений в сети Интернет.

1.1 Перечень и краткая характеристика используемых технических и программных средств

Основные характеристики ПК

В процессе выполнения данной курсовой работы был использован персональный компьютер с центральным процессором AMD Phenom™ 9550 Quad Core 2.20 GHz, объем ОЗУ – 2 ГБ.

Перечень и основные характеристики программного обеспечения

Операционная система – Windows 7, 64-разрядная.

Офисное ПО – текстовый редактор MS Word-2007.

Для поиска информации в сети Интернет использовался браузер Comodo Dragon.

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

1.2 Обзор и анализ существующих аналогов

Использование USBHID протокола в различных устройствах

Класс USB-HID описывает устройства, которые используются практически в каждом современном компьютере [7]. В нём существует множество предопределённых функций. Они позволяют производителям аппаратного обеспечения разрабатывать продукты, соответствующие спецификации USB-HID, и ожидать, что они будут работать с любым программным обеспечением, которое так же поддерживает эти спецификации.

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

Примеры USB HID устройств

Клавиатуры – один из наиболее популярных видов USB-HID устройств. USB-HID клавиатуры, как правило, имеют входной поток данных, который передаёт нажатия клавиш в компьютер и выходной поток, который передаёт текущий статус клавиатурных индикаторов от компьютера к клавиатуре. Стандарт PC 97 определяет, что BIOS компьютера должен определять USB-HID клавиатуры и работать с ними. Стандарт разработан для того, чтобы эти клавиатуры возможно было использовать во время загрузки компьютера.

Компьютерная мышь – столь же популярное USB-HID устройство, как и клавиатура. USB-мыши различаются по функциональности от простых однокнопочных до, довольно сложных, многокнопочных устройств. Большинство современных операционных систем поставляется с драйверами для стандартных HID мышей (наиболее распространённые современные мыши имеют две кнопки и колёсико, которое дублирует третью кнопку); мыши с более широкими возможностями требуют драйверов от производителей.

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

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

Этим стали массово пользоваться, и появилось огромное количество устройств, которые, по сути, интерфейсами взаимодействия с человеком не являются. Например, телефонное устройство, термометр [8], устройство управления аудио и медицинское оборудование. Даже ИБП (источники бесперебойного питания) определяют себя, как принадлежащие классу USB-HID, несмотря на то, что они часто не имеют человеческого интерфейса вообще. Любое устройство может принадлежать к USB-HID классу, если оно удовлетворяет логическим спецификациям HID Consumer Control.

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

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

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

Пример простого USBHID устройства на микроконтроллере

Аналогом разрабатываемой HID-системы можно считать устройство, приведенное в [9]. Рассмотренное в указанном источнике устройство демонстрирует передачу данных от компьютера к микроконтроллеру и обратно. Принципиальная схема устройства показана на рис. 1.1.

Рисунок 1.1 – Схема USB-HID устройства на микроконтроллере

Схема USB-HID устройства на микроконтроллере

Как видно из схемы (рис. 1.1), USB устройство выполнено на микроконтроллере ATmega8 и содержит минимум деталей. Реализация всех функций возложена на микроконтроллер, включая и обработку USB посылок.

При поступлении команды от компьютера, микроконтроллер зажигает или гасит светодиод HL1. А при нажатии кнопки SB1 в устройстве, микроконтроллер передаёт данные через шину USB компьютеру.

Программа для контроллера разработана в среде BASCOM-AVR.

Программа управления HID-устройством со стороны персонального компьютера (хост-программа) написана на версии языка Basic – PureBasic.

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

1.3 Уточнение технического задания

В результате проведенного обзора существующих решений USB-HID устройств признано целесообразным в качестве аналога принять конструкцию, описанную в [9].

В качестве уточнений к заданию покажем следующие сведения:

Микроконтроллер                   Atmega8

Разрядность                            8

Тактовая частота, МГц            12

Напряжение питания, В          5±0,25

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

1.4 Выводы

  1. Для своего функционирования HID-устройство не требует специального драйвера и может быть использовано для решения задач низкоскоростного обмена данными с персональным компьютером.
  2. Проведенное исследование существующих разработок USB-HID устройств позволило уточнить некоторые параметры технического задания на курсовую работу.

2 Проектирование МПУ

2.1 Перечень и краткая характеристика используемых на данном этапе технических и программных средств

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

Программные средства по сравнению с п. 1.1 дополнены специализированным графическим редактором sPlan, предназначенным для черчения электрических принципиальных схем.

Краткая характеристика графического редактора sPlan

sPlan – программа для черчения электронных схем. Редактор схем sPlan разрабатывается с начала 2000-х годов немецкой фирмой ABAKOM. sPlan прост и удобен в использовании. Добавляемые в библиотеку программы условные обозначения компонентов электронных схем просто «перетаскиваются» с левой части рабочего окна программы в рабочее графическое поле. В программе имеется также панель инструментов для рисования линий и различных геометрических форм, добавления надписей, вставки растровых изображений и т.д. Нумерация компонентов может происходить как автоматически, так и вручную. Режим можно выбрать правой кнопкой мыши через свойства компонента (Properties). Предусмотрена возможность редактирования дополнительных атрибутов графических объектов, в том числе текстовое поле (в нём можно написать, например, номинал данной детали и т.д.). В комплект программы включено большое количество готовых библиотек условных обозначений электронных компонентов, возможно создание и сохранение собственных шаблонов компонентов. Редактор может работать с несколькими страницами (в виде вкладок), имеются функции экспорта документа в графический файл и печати с предварительным просмотром. В последней версии удобно реализовано масштабирование при помощи мыши, возможна печать больших листов на обычном принтере, рассчитанном на лист формата А4. Внешний вид рабочего окна программы sPlan 7 показан на рис. 2.1.

Рабочее окно программы sPlan

Рисунок 2.1 – Рабочее окно программы sPlan

2.2 Выбор микроконтроллера и разработка полной принципиальной схемы устройства

Выбор микроконтроллера

В п.1.3 данной работы сделано предложение об использовании в конструкции разрабатываемого устройства микроконтроллера типа Atmega8.

Данный микроконтроллер выпускается в двух разных конструктивных исполнениях (сведения из datasheet). Исполнения отличаются типом корпуса, которые называются соответственно DIP28 и TQFP32 (рис. 2.2).

Тип корпуса DIP28 предназначен для объемного монтажа, преимущественно ручного, а TQFP32 –для поверхностного монтажа, чаще осуществляемого с помощью автоматов.

Выбираем микроконтроллер в корпусе типа DIP28.

Типы корпусов микросхем

а)                                  

Типы корпусов микросхем б)

Рисунок 2.2 – Типы корпусов микросхем:

а) DIP28; б) TQFP32

Разработка полной принципиальной схемы устройства

Принципиальная схема устройства класса USB-HID, соответствующая техническому заданию, показана на рис. 2.3.

Рисунок 2.3 – Схема микропроцессорного устройства класса USB HID

Схема микропроцессорного устройства класса USB HID

Устройство построено на микроконтроллере Atmega8. Сигнальные выводы D- и D+ USB разъема подключены к выводам микроконтроллера PD4 и PD6 (порт D) соответственно. К выводам микроконтроллера PC2, PC3 и PC4 подключены светодиоды D3, D4 и D5 зеленого, желтого и красного цветов соответственно. Тактовая частота устройства определяется кварцевым резонатором ZQ1 и равна 12 МГц. Питание устройства осуществляется от цепи VBUS разъема USB (напряжение +5В).

2.3 Выводы

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

3 Изготовление МПУ

3.1 Перечень и краткая характеристика используемых на данном этапе технических и программных средств

Технические средства

На данном этапе работы технические средства дополнены программатором. Программатор – это аппаратно-программное устройство, которое служит для считывания или записи информации в запоминающее устройство (внутреннюю память микроконтроллеров). Использован программатор AVR-USBAsp, описанный в [11].

Кроме того в процессе изготовления HID-устройства использованы такие инструменты, как:

— паяльная станция;

— кусачки бокорезы;

— пинцет;

— канцелярский нож;

— отвертка.

Программные средства

Используемое программное обеспечение (п. 1.1 и п.2.1 ) дополнено:

IDE Atmel Studio — Интегрированная среда разработки программных приложений для микропроцессорной техники;

Khazama AVR Programmer – программа управления работой программатора.

Краткая характеристика среды Atmel Studio

Программный пакет AVR Studio разрабатывается с 2004 года. Начиная с версии 6.0, программа сменила название на Atmel Studio. Программа позволяет работать как на ассемблере, так и на C/C++. Содержит в себе мастер проектов, виртуальный симулятор, редактор исходного кода, модуль внутрисхемной отладки и интерфейс командной строки. Поддерживает компилятор GCC и плагин AVR RTOS (операционной системы реального времени). Пользователи могут выбрать наиболее оптимальные для их проекта способы кодирования. Визуальные инструменты позволяют ускорить написание программы. Благодаря связке программных пакетов Atmel Studio и Proteus от фирмы Labcenter Electronics возможно программирование микроконтроллеров без наличия какой-либо материальной базы. Atmel Studio считается одной из лучших сред создания приложений для контроллеров AVR (рис. 3.1).

Рабочее окно IDE Atmel Studio

Рисунок 3.1 – Рабочее окно IDE Atmel Studio

Последняя версия Atmel Studio поддерживает все существующие на сегодняшний момент 8-битные, 32-битные AVR, SAM3 и SAM4 микроконтроллеры и включает в себя более 1100 проектов с примерами. Также на сайте разработчика доступны старые версии программы.

Интерфейс полностью англоязычный и официального русификатора нет. Atmel Studio работоспособна в операционных системах семейства Windows.

Краткая характеристика Khazama AVR Programmer

Небольшая программа, созданная с целью быстрой прошивки микроконтроллеров Atmel AVR. Приложение Khazama AVR Programmer имеет простой и удобный минималистичный оконный интерфейс (рис. 3.2).

Рабочее окно приложения Khazama AVR Programmer

Рисунок 3.2 – Рабочее окно приложения Khazama AVR Programmer

Данный программатор является графической оболочкой программы Avrdude и отлично подходит для начинающих разработчиков программного обеспечения для микроконтроллеров AVR. В настоящее время Khazama AVR Programmer поддерживает около восьмидесяти моделей микроконтроллеров AVR, относящихся к семействам ATmega, ATxmega, ATtiny и AT90. Программатор имеет минимальное количество функций, однако выгодно отличается скоростью работы и стабильностью. Программное обеспечение позволяет: загружать в буфер сохраненные hex-файлы прошивки для EEPROM и FLASH памяти, записывать hex-файлы в EEPROM и FLASH память микроконтроллера, смотреть содержимое EEPROM и FLASH памяти чипа, очищать память контроллера, менять конфигурацию FUSE и LOCK битов, проводить верификацию EEPROM и FLASH памяти. Все операции можно осуществлять либо с помощью меню, либо с помощью кнопок на панели инструментов.

3.2 Монтаж проектируемого устройства

Устройство изготовлено по технологии макетирования на печатной плате.

Печатные макетные платы изготавливаются на основе фольгированного стеклотекстолита. Такие платы имеют множество отверстий с металлическими площадками вокруг них. Отверстия высверливаются по углам квадрата со стороной 2,5 мм (или 2,54 мм – в случае дюймового шага). Если макетная плата предназначена для двухстороннего монтажа, то стенки отверстий имеют металлизацию, чтобы между площадками с двух сторон платы был электрический контакт. В отверстия макетной платы вставляются выводы монтируемых компонентов схемы. Необходимые связи между выводами образуют луженым медным проводом путем пайки. Внешний вид печатной макетной платы показан на рис. 3.3.

Внешний вид печатной макетной платы

Рисунок 3.3 – Внешний вид печатной макетной платы

Внешний вид МПУ, собранного по технологии макетирования на печатной плате в соответствии со схемой, приведенной на рис. 2.3, показан на рис. 3.4.

Внешний вид МПУ со стороны электронных компонентов;

а)                                           

Внешний вид МПУ со стороны монтажа

б)

Рисунок 3.4 – Внешний вид МПУ:

а) вид со стороны электронных компонентов;

б) вид со стороны монтажа

3.3 Разработка и отладка программы для МПУ

Для поддержки USB интерфейса со стороны МПУ будем использовать библиотеку V-USB [10]. Прежде, чем писать прошивку МПУ, разберемся с основными принципами его работы.

Устройство класса HID может обмениваться с хостом блоками данных фиксированного размера – репортами, их структура описывается в HID дескрипторе, который устройство предоставляет хосту при подключении. Обратим внимание на тот факт, что прием/передачу данных инициализирует хост программа на ПК. Когда хост отправляет данные устройству он дает команду HID_SET_REPORT, при этом V-USB внутри микроконтроллера вызывает функцию usbFunctionWrite(). Аналогично, когда хост читает данные с устройства, он дает команду HID_GET_REPORT, при этом V-USB вызовет функцию usbFunctionRead(). USB линия данных D+ инициирует прерывание INT0 (оно имеет наивысший приоритет). Другими словами, в процессе обмена данными по USB микроконтроллер постоянно будет осуществлять обработку INT0, которому соответствует V-USB. После обработки прерывания INT0 управление передается основной программе. Если же требуется обрабатывать другие прерывания (желательно быстрые и компактные), то необходимо выставить глобальный флаг прерываний I командой sei(), чтобы при запросах от хоста могло сработать INT0 для правильной работы V-USB.

Функция usbPoll(), которую необходимо вызывать не реже чем раз в 50 ms – сообщает хосту, что наше устройство на шине USB готово к работе. Если это не выполняется, то Windows выдаст сообщение «Подключено неизвестное устройство…». 50 ms – это USB timeout for accepting a Setup message (это специальные команды хоста, в нашем случае это команды – HID_SET_REPORT и HID_GET_REPORT). Setup-сообщениями занимается функция usbFunctionSetup(), которая обрабатывает управляющие команды USB и дальше запускается usbFunctionRead() либо usbFunctionWrite(), т.е. процессы чтения и записи данных.

USB HID report descriptor – это массив констант, записанный в память устройства, для описания структуры пакетов данных (Hid репортов). В нем содержится следующая информация:

– сколько пакетов поддерживает устройство;

– какова их длина;

– назначение каждого байта и бита в пакете.

Таким образом, при подключении к компьютеру устройство с помощью такого дескриптора сообщает свои параметры, а ОС компьютера уже будет «знать», как правильно общаться с ним. Мы разрабатываем «HID совместимое устройство» для передачи произвольных данных фиксированного размера. Поэтому, дескриптор в разрабатываемой программе, будет в некотором смысле набором чисел с комментариями.

Для передачи данных создадим структуру. Наш дескриптор имеет только один вид репорта, размер которого 8 бит (REPORT_SIZE), количество равняется размеру передаваемой структуры (REPORT_COUNT). Таким образом, будем передавать данные порциями по 8 бит. Надо только помнить, что по умолчанию V-USB поддерживает прием/передачу до 254 байт данных. Если нужно больше, тогда в файле usbconfig.h выставляем define USB_CFG_LONG_TRANSFERS в 1, при этом возрастет размер самого драйвера.

Все действия по приему/передаче данных внутри МПУ обеспечивают функции usbFunctionRead(uchar *data, uchar len) и usbFunctionWrite(uchar *data, uchar len). Параметр *data – это указатель на буфер V-USB размером len, где хранятся данные для чтения/записи. Максимальный размер этого буфера – 1 байт (uchar) и это значение равно размеру нашего репорта. Структура для передачи данных занимает больше чем 1 байт, именно поэтому ее нужно передавать частями. Переменные currentAddress и bytesRemaining хранят информацию о текущей передаче.

Запись uchar *buffer = (uchar*)&pdata; означает следующее: pdata – наша структура, &pdata – адрес начала нашей структуры в памяти, (uchar*)&pdata – явное приведение типа (uchar* – указатель на данные типа uchar).

Таким способом мы просто объявляем указатель uchar *buffer на место в памяти, где хранится наша структура. Передавать будем частями длиной uchar, как это показано на рис. 3.5.

Прием/передача структуры по частям

Рисунок 3.5 – Прием/передача структуры по частям

Программу для МПУ будем писать на языке C, а точнее на его версии для программирования микроконтроллеров GCC в среде программирования Atmel Studio. Программный код представлен в файле word

После компиляции написанной программы осуществлена «прошивка» микроконтроллера с помощью программы Khazama AVR Programmer.

3.4 Разработка программного модуля управления МПУ

Хост-программу для управления МПУ класса USB-HID будем писать в среде программирования Lazarus.

Главное окно программы в режиме конструктора показано на рис. 3.6.

Конструктор главного окна хост-программы

Рисунок 3.6 – Конструктор главного окна хост-программы

Метка Label1 предназначена для индикации состояния USB устройства и может принимать два значения:

— «Устройство USB_HID – отключено»;

— «Устройство USB_HID – подключено».

Для управления USB устройством на форме размещены четыре кнопки. Первые три кнопки (Button1, Button2 и Button3, подписаны как «Зеленый», «Желтый» и «Красный») помещены на компонент GroupBox1 (с заголовком «Запись»). С их помощью осуществляется управление светодиодами на плате USB-устройства. Четвертая кнопка (Button4 с заголовком «Читать») размещена в поле компонента GroupBox2 (с заголовком «Чтение»). С ее помощью осуществляется чтение состояния светодиодов на плате МПУ. Если в процессе создания формы FORM1 (процедура TForm1.FormCreate) окажется, что устройство не подключено к шине USB, то все кнопки будет переведены в состояние «не активны» и возможности обращения из программы к МПУ не будет. В противном случае все кнопки будут активны, и можно будет управлять устройством.

Для кнопок Button1, Button2 и Button3 написаны процедуры обработки события Click (щелчок). В файле word ниже приведен текст такой процедуры для кнопки Button1.

Светодиоды на плате устройства могут быть в одном из двух состояний – включены (кодируется значением «1») или выключены (кодируется значением «0»). Эти значения отображаются как надписи на кнопках рабочего окна хост-программы и при каждом нажатии происходит их замена на противоположную величину (инвертируются). Свойства кнопок Caption считываются в переменные z1, z2 и z3, при этом осуществляется преобразование текста «0» или «1» в целые числа – 1 или 0. Затем эти числа записываются в буфер данных Raw[1..3] и отправляются в МПУ: myHidDev.SetFeature(@Raw, SizeOf(Raw)).

Разработанная хост-программа обладает возможностью чтения данных из USB МПУ. Для этого служит процедура обработки события Button4Click (щелчок по кнопке 4). Текст процедуры приведен в файле word ниже

Прочитанные из МПУ данные выводятся в рабочее окно программы –label10, label11 и label12.

Полный текст разработанного программного модуля управления простым HID-устройством представлен в прил. А. Программе присвоено имя USB_Host.

3.5 Выводы

  1. 1.Изготовлено МПУ класса USB-HID.
  2. 2.Написана программа для реализации обмена данными между USB-HID устройством и персональным компьютером.
  3. 3.Осуществлена «прошивка» микроконтроллера.
  4. 4.Написана программа управления USB-HID устройством для персонального компьютера.

4 Пробная эксплуатация МПУ

4.1 Перечень и краткая характеристика используемых на данном этапе технических и программных средств

Технические средства

В состав используемых технических средств добавляется разработанное и изготовленное МПУ USB-HID класса. Для его подключения к ПК потребуется кабель с разъёмами типов USB_A и USB_B на концах.

Программные средства

В состав используемого ПО добавляется разработанный программный модуль управления HID-устройством USB_Host.

4.2 Испытания разработанного МПУ

Проверка работоспособности разработанного МПУ средствами операционной системы

Последовательность действий:

  1. 1. На персональном компьютере запускается служебная программа Диспетчер устройств. На рис 4.1-а показан фрагмент списка устройств, обнаруженных в ПК операционной системой.
  2. 2. Разработанное устройство с помощью USB-кабеля подключается к USB разъему ПК. В списке устройств (рис 4.1-б) появляется строка: Устройства HID (Human Interface Devices).

Фрагменты окна Диспетчера устройств до подключения МПУ

а)                                           

Фрагменты окна Диспетчера устройств после подключения МПУ

б)

Рисунок 4.1 – Фрагменты окна Диспетчера устройств

а) до подключения МПУ

б) после подключения МПУ

Реакция операционной системы говорит об исправности разработанного и изготовленного МПУ.

Проверка работоспособности разработанного МПУ с помощью программного модуля USB_Host

МПУ отключено от компьютера.

Последовательность действий:

  1. 1. На персональном компьютере запускается программа USB_Host. На рис 4.2-а показано окно программы до подключения МПУ. В строке состояния: Устройство USB_HID – отключено.
  2. 2. Разработанное устройство с помощью USB-кабеля подключается к USB разъему ПК. В строке состояния: Устройство USB_HID – подключено.

Окно программы USB_Host до подключения МПУ

а)

Окно программы USB_Host после подключения МПУ

б)

Рисунок 4.2 –Окно программы USB_Host

а) до подключения МПУ

б) после подключения МПУ

  1. 3. В окне управляющего программного модуля последовательно нажимаются кнопки с надписями «зелёный», «желтый» и «красный». В результате в МПУ загораются соответствующие светодиоды. При повторном нажатии на эти же кнопки – светодиоды гаснут. На рис 4.3 показано одно из состояний МПУ с горящими желтым и зеленым светодиодами.

МПУ в работе

Рисунок 4.3 – МПУ в работе

  1. 4. В состоянии МПУ, показанном на рис. 4.3, нажимаем кнопку «читать», расположенную в правой части окна программы USB_HID Host. Происходит чтение состояния портов, к которым подключены светодиоды. Полученные данные отображаются на панели «Чтение», и метки, соответствующие зеленому и жёлтому светодиодам переходят в состояние «1», а метка красного светодиода останется в состоянии «0», как это показано на рис. 4.4.

Чтение данных из МПУ

Рисунок 4.4 – Чтение данных из МПУ

4.3 Выводы

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

Заключение

В курсовой работе были получены следующие основные результаты:

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

— изучена и применена на практике спецификация USB-HID;

— разработано и изготовлено микропроцессорное устройство класса USB-HID;

— отлажена и протестирована программная прошивка МПУ класса USB-HID;

— написан, отлажен и протестирован программный модуль (хост-программа) для управления простым МПУ класса USB-HID;

— полученные результаты могут быть использованы в практике разработки устройств обмена информацией между современными вычислительными системами, а также в учебном процессе ИВГПУ.

Список использованных источников

  1. Обобщенная модель проектирования. [Электронный ресурс]. – Режим доступа: http://purebasic.mybb.ru/viewtopic.php?id=46
  2. Жизненный цикл устройства. [Электронный ресурс]. – Режим доступа: https://otherreferats.allbest.ru/radio/00119320_0.html
  3. Основные этапы цикла разработки микропроцессорного контроллера. [Электронный ресурс]. – Режим доступа: https://studopedia.ru/3_203770_osnovnie-etapi-tsikla-razrabotki-mikroprotsessornogo-kontrollera.html
  4. Рюмик С.М. 1000 и одна микроконтроллерная схема. Вып.1/ С.М. Рюмик. – М.:Додэка-XXI, 2010. – 356 c.
  5. Рюмик С.М. 1000 и одна микроконтроллерная схема. Вып.2/ С.М. Рюмик. – М.:Додэка-XXI, 2011. – 400 c.
  6. Кравченко А.В. 10 практических устройств на микроконтроллерах. Книга 1- М.: Издательский дом «Додэка-XXI», К. «МК-Пресс», 2008. – 224 с.
  7. Описание класса устройств, взаимодействующих с человеком (HID). Спецификация — 6/27/01. Версия 1.11. [Электронный ресурс]. – Режим доступа: http://www.microterm.ru/d/20158/d/hid_rus.pdf
  8. USB термометр на ATmega8 и PIC18F4550. [Электронный ресурс]. – Режим доступа: http://purebasic.mybb.ru/viewtopic.php?id=46
  9. Простое USB HID устройство на ATmega8. [Электронный ресурс]. – Режим доступа: http://purebasic.mybb.ru/viewtopic.php?id=211
  10. Download V-USB. [Электронный ресурс]. – Режим доступа: https://www.obdev.at/products/vusb/download.html
  11. USB программатор AVR-USBAsp. [Электронный ресурс]. – Режим доступа: http://easyelectronics.ru/usb-programmator-avr-usbasp.html

Приложение А

Программный модуль для управления простым устройством класса HID В файле word ниже

>> Скачать методические указания

Методические указания размещены для ознакомления, все права принадлежат авторам.
Если вы не согласны с тем, что ваш материал размещён на этом сайте, пожалуйста, напишите нам.

Лекция 14. USB- порт

1.<span Times New Roman»»>    

Последовательные шины

2.<span Times New Roman»»>    

Шина USB

3.<span Times New Roman»»>    

Модель и протокол передачиданных

1.Последовательные шины

Последовательные шины позволяют объединять множествоустройств, исполь­зуя всего 1-2 пары проводов. При этом достигается пропускнаяспособность от 100 Кбит/с для шины ACCESSBus,до 400 Мбит/с для FireWire,480 Мбит/с для USB2.0и 1 Гбит/с для FCAL.

 Функциональные возможности этих шин гораздошире, чем у традиционных интерфейсов локальных сетей — USB и FireWireспо­собны передавать изохронный график аудио- и видеоданных.Последовательные шины по своей организации сильно отличаются от параллельных. Впоследова­тельных шинах нет отдельных линий для данных, адреса и управления —все протокольные функции приходится выполнять, пользуясь одной (в USB и ACCESS.Bus)или двумя (в FireWire)парами сигнальных проводов или парой оптических волокон (FibreChannel).

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

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

Наибольшую популярность имеют шины USBи FireWire, хотя последняя пока что в РС- совместимых компьютерахиспользуется не повсеместно. Технологии последовательных шин FireWireи USB, имея общие черты, существенно разли­чаются. Обе шиныобеспечивают простое; подключение большого числа ПУ (127 для USB и 63 для FireWire), допуская коммутации ивключение/выключе­ние устройств при работающей системе. По структуре топологияобеих шин дос­таточно близка, но FireWire  допускает большую свободу ипространственную протя­женность. Хабы USBвходят в состав многих устройств и для пользователя их присутствие зачастуюнезаметно. Обе шины имеют линии питания устройств, но допустимая мощность для FireWireзначительно выше. Обе шиныподдержи­вают технологию РnР (автоматическоеконфигурирование при включении/вы­ключении) и снимают проблему дефицитаадресов, каналов DMAи прерываний. Различаются пропускная способностьшин и управление ими.

Шина USBориентирована напериферийные устройства, подключаемые к PC. Изохронные передачи USB позволяют передавать цифровыеаудиосигналы, а USB 2.0 способна нести и видеоданные. Все передачи управляютсяцентрали­зованно, и PCявляется необходимым управляющим узлом, находящимсяв кор­не древовидной структуры шины. Адаптер USB пользователи современных ПК получают почти бесплатно, посколькуон входит в состав всех современных чипсетов системных плат. Правда, адаптеры USB 2.0 первое время будут выпускать­сяв виде карт PCI. Непосредственноесоединение нескольких PCшиной USB не предусматривается, хотя выпускаются «активные кабели» длясвязи пары ком­пьютеров и устройства-концентраторы.

Шина FireWireориентирована на устройствабытовой электроники, которые с ее помощью могут быть объединены в единуюдомашнюю сеть. К этой сети может быть подключен компьютер, и даже не один.Принципиальным преиму­ществом шины является отсутствие необходимости в специальном контрол­лере шины(компьютере). Любое передающее устройство может получить поло­су изохронноготрафика и начинать передачу по сигналу автономного или дис­танционногоуправления — приемники «услышат» эту информацию. При нали­чии контроллерасоответствующее ПО может управлять работой устройств, реа­лизуя, например,цифровую студию нелинейного видеомонтажа или снабжая тре­буемымимультимедийными данными всех заинтересованных потребителей ин­формации.

<span Times New Roman»,«serif»»>2. Шина USB

<span Times New Roman»,«serif»»>

USB(UniversalSerialBus— универсальнаяпоследовательная шина) является промышленным стандартом расширения архитектуры PC,ориентированным на интеграцию с телефонией и устройствами бытовой электроники.Шина USB со­всем молодая—версия 1.0была опубликована в начале 1996 года, и скептики  иронично расшифровывали ее название как«неиспользуемая последовательная шина» (UnusedSerialBus).

Однако сейчас устройств с интерфейсом USB ужепредостаточно. Большинство их поддерживает версию 1.1, которая вышла осе­нью1998 года — в ней были устранены обнаруженные проблемы первой редак­ции. Весной2000 года опубликована спецификация USB 2.0, в которой преду­смотрено40-кратное повышение пропускной способности шины. Первоначаль­но (в версиях 1.0и 1.1) шина обеспечивала две скорости передачи информации:

полную скорость FS(fullspeed)— 12 Мбит/с

низкую скорость LS(LowSpeed)— 1,5-Мбит/с.

 В версии 2.0определена еще и высокая скорость US(HighSpeed) —480 Мбит/с, которая позволяет существенно расширить круг устройств, подклю­чаемыхк шине. В одной и той же системе могут присутствовать и одновременно работатьустройства со всеми тремя скоростями. Шина позволяет соединять ус­тройства,удаленные от компьютера на расстояние до 25 м (с использованием промежуточныххабов).

С середины 1996 года выпускаются PCсовстроенным контроллером USB, реализуемым чипсетом системной платы. Подробную иоперативную информа­цию по USB (на английском языке) можно найти по адресуhttp://www.usb.org. Здесь приводятся данные, достаточные для пониманияпринципов работы и воз­можностей этой перспективной и недорогой шиныподключения разнообразной периферии.

USBобеспечивает обмен даннымимежду хост-компьютером и множеством пе­риферийных устройств (ПУ). Согласноспецификации USB, устройства (device) могут являться:

—  хабами;

  — функциями;

  — их комбинацией.

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

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

Шина USBявляется хост-центрической: единственным ведущим устройством, которое управляетобменом, является хост-компьютер, а все присоединенные к ней периферийныеустройства — исключительно ведомые. В этим она отличает­ся от шины FireWire, где все устройстваравноправны. Физическая топология шины USB— многоярусная звезда. Ее вершиной является хост-контроллер, объ­единенный скорневым хабом (roothub), как правило,двухпортовым. Хаб явля­ется устройством-разветвителем. Кроме того, он можетявляться источником питания для подключенных к нему устройств. К каждому портухаба может непосредственно подключаться периферийное устройство илипромежуточный хаб.

Шина допускает до 5 уровней каскадирования хабов (несчитая корневого). По­скольку комбинированные устройства внутри себя содержатхаб, их подключе­ние к хабу 6-го яруса уже недопустимо. Каждый промежуточныйхаб имеет не­сколько нисходящих (downstream)портов для подключения периферийных уст­ройств (или нижележащих хабов) и один восходящий(upstream)порт для под­ключения к корневому хабу или нисходящему порту вышестоящего хаба.

Логи­ческая топология USB— просто звезда: для хост-контроллера хабы создаютил­люзию непосредственного подключения каждого устройства. В отличие от шинрасширения (ISA/EISA, PCI, PCCard),где программавзаимодействует с уст­ройствами путем обращений по физическим адресам ячеекпамяти, портов вво­да-вывода, прерываниям и каналам DMA,взаимодействие приложений суст­ройствами USB выполняется толькочерез программный интерфейс. Этот ин­терфейс, обеспечивающий независимостьобращений к устройствам, предостав­ляется системным ПО контроллера USB.

В отличие от громоздких дорогих шлейфов параллельныхшин АТА и особен­но шины SCSIс ее разнообразием разъемови сложностью правил подключения, кабельное хозяйство USB простое и изящное. Кабель USBсодержит одну экра­нированную витую пару с импедансом 90 Ом для сигнальных цепейи одну не­экранированную для подачи питания (+5 В), допустимая длина сегмента —до -5 м. Для низкой скорости может использоваться невитой неэкранированный ка­бельдлиной до 3 м (он дешевле). Система кабелей и коннекторов USB не дает возможности ошибиться при подключении устройств (рис.1, а и б). Для рас­познавания разъема USBна корпусе устройства ставится стандартное символи­ческое обозначение (рис. 1 ирис. 2, а).

Гнезда типа «А» устанавливаются только на нисходящихпортах хабов,  вилки типа «А» — на шнурахпериферий­ных устройств или восходящих портов хабов. Гнезда и вилки типа «В»исполь­зуются только для шнуров, отсоединяемых от периферийных устройств ивосхо­дящих портов хабов (от «мелких» устройств — мышей, клавиатур и т. п.кабели, как правило, не отсоединяются).

Хабы и устройства обеспечивают возможность«горячего» подключения и отключения. Для этого разъемы обеспечивают болеераннее соединение и позднее отсоединение питающих цепей по отношению ксигнальным и предусмотрен протокол сигнализации подключения и отключе­нияустройств. Назначение выводов разъемов USB иллюстрирует табл. 1, ну­мерацияконтактов показана на рис. 2, а и б.

<img src=»/cache/referats/26245/image002.gif» v:shapes=»_x0000_i1025″>

<span Times New Roman»,«serif»»>

<span Times New Roman»,«serif»»>

<span Times New Roman»,«serif»»>Рис. 1.

<span Times New Roman»,«serif»»> Коннекторы <span Times New Roman»,«serif»; mso-ansi-language:EN-US»>USB<span Times New Roman»,«serif»»>: <span Times New Roman»,«serif»;mso-ansi-language:EN-US»>a<span Times New Roman»,«serif»»> —<span Times New Roman»,«serif»»>вилка типа «А»; б— вилка типа «В»

<img src=»/cache/referats/26245/image004.gif» align=«left» hspace=«12» v:shapes=»_x0000_s1026″> 

<span Times New Roman»,«serif»»>

<span Times New Roman»,«serif»»>а

<span Times New Roman»,«serif»»>

<span Times New Roman»,«serif»»><img src=»/cache/referats/26245/image006.gif» v:shapes=»_x0000_i1026″>

<span Times New Roman»,«serif»»>  б                                           в

<span Times New Roman»,«serif»»>Рис.2.

<span Times New Roman»,«serif»»> Гнезда <span Times New Roman»,«serif»; mso-ansi-language:EN-US»>USB<span Times New Roman»,«serif»»>: а— типа «А»; б— типа «В»;

<span Times New Roman»,«serif»»>в— символическое обозначение

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

Контакт

Цепь

1

Vbus

2

D-

3

D+.

4

GND

В шине используется дифференциальный способ передачисигналов D+ и D — по двум проводам.Скорость, используемая устройством, подключенным к конк­ретному порту,определяется хабом по уровням сигналов на линиях D+ и D-, смещаемыхнагрузочными резисторами приемопередатчиков: устройства с низ­кой скоростью«подтягивают» к высокому уровню линию D-, с полной — D+.

Подключение устройства HSопределяется на этапе обмена конфигурационной информацией — физическина первое время устройство HS должно подключаться как FS. Передача по двум проводамв USB не ограничиваетсядифференциаль­ными сигналами. Кроме дифференциального приемника каждоеустройство имеет линейные приемники сигналов D+ и D-, а передатчики этих линийуправляются индивидуально. Это позволяет различать более двух состояний линии,исполь­зуемых для организации аппаратного интерфейса.

Введение высокой скорости (480 Мбит/с — всего в 2раза медленнее, чем пред­лагает технология GigabitEthernet) требует тщательногосогласования приемо­передатчиков и линии связи. На этой скорости может работатьтолько кабель с экранированной витой парой для сигнальных линий. Для высокойскорости ап­паратура USB должнаиметь дополнительные специальные приемопередатчики. В отличие от формирователейпотенциала для режимов FS и LS передатчики HS являются источниками тока, ориентированными на наличие резисторов-тер­минаторовна обеих сигнальных линиях.

Скорость передачи данных (LS, FSили HS) выбирается разработчиком пери­ферийного устройства всоответствии с потребностями этого устройства. Реали­зация низких скоростей дляустройства обходится несколько дешевле (приемо­передатчики проще, а кабель для LS может быть и неэкранированнойневитой парой). Если в «старой» USBустройства можно было подключать не задумыва­ясь в любой свободный порт любогохаба, то в USB 2.0 появилисьвозможности выбора между оптимальными, неоптимальными и неработоспособнымиконфи­гурациями, если используются устройства и хабы разных версий.

Хабы USB1.1 обязаныподдерживать скорости FS и LS, скорость подключен­ного ктакому хабу устройства определяется автоматически по разности потен­циаловсигнальных линий. Хабы USB 1.1 припередаче пакетов являются просто повторителями, обеспечивающими прозрачнуюсвязь периферийного устройства с контроллером.

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

В спецификации 2.0 скорость 480, Мбит/с должнауживаться с прежними, но при таком соотношении скоростей обмены на FS и LS «съедят» возможную по­лосу пропускания шины без всякого«удовольствия» (для пользователя).

Чтобы этого не происходило, хабы USB 2.0 приобретают черты коммутаторовпакетов. Если к порту такого хаба подключено высокоскоростное устройство (илианало­гичный хаб), то хаб работает в режиме повторителя и транзакция сустройством на HSзанимает весь канал до хост-контроллерана все время своего выполне­ния. Если же к порту хаба USB 2.0 подключается устройство или хаб 1.1, то по части канала отконтроллера пакет проходит на скорости HS,запоминается в буфере хаба, а к старому устройству или хабу идет уже на его «родной»скорос­ти FS или LS. При этом функции контроллера и хаба2.0 (включая и корневой) усложняются, поскольку транзакции на FS и LS расщепляются и между их час­тями вклиниваются высокоскоростноепередачи. От старых (1.1) устройств и хабов все эти тонкости скрываются, что иобеспечивает обратную совместимость.

Вполне понятно, что устройство USB 2.0 сможет реализовать высокую скорость, только если по пути отнего к хост-контроллеру (тоже 2.0) будут встречаться только хаб» 2.0. Если этоправило нарушить и между ним и контроллером 2.0 окажется старый хаб, то связьможет быть установлена только в режиме FS.Если такая скорость, устройство и клиентское ПО устроит (к примеру, дляпринтера и сканера это выльется только в большее время ожидания пользователя),то под­ключенное устройство работать будет, нопоявится сообщение о неоптимальной конфигурации соединений. Повозможности ее следует исправить, благо пере­ключения кабелей USB можно выполнять «на ходу».Устройства и ПО, критич­ные к полосе пропускания шины, в неправильнойконфигурации работать отка­жутся и категорично потребуют переключений. Если жехост-контроллер ста­рый, то все прелести USB2.0 окажутся недоступными пользователю. В этом слу­чае придется менятьхост-контроллер (менять системную плату или приобре­тать PCI-картуконтроллера). Контроллер и хабы USB 2.0позволяют повысить суммарную пропускную способность шины и для старыхустройств. Если уст­ройства FS подключать к разным портам хабов USB 2.0 (включая и корневой), то дляних суммарная пропускная способность шины USB возрастет по сравне­нию с 12Мбит/с во столько раз, сколько используется портов высокоскорост­ных хабов.

На рис. 3 приведен вариант соединения устройств ихабов, где высоко­скоростным устройством USB2.0 является только телекамера, передающая видеопоток без компрессии.Подключение принтера и сканера USB1.1к отдель­ным портам хаба 2.0, да еще и развязка их с аудиоустройствами позволяет имиспользовать полосу шины по 12 Мбит/с каждому.

Таким образом, из общей полосы 480 Мбит/с на «старые»устройства (USB 1.0) выделяется 3 х12 — 36 Мбит/с. Вообще-то можно говорить и о полосе в 48 Мбит/с, по­сколькуклавиатура и мышь подключены к отдельному порту хост-контролле­ра USB 2.0, но эти устройства «освоят»только малую толику из выделенных им 12 Мбит/с. Конечно, можно подключатьклавиатуру и мышь и к порту внеш­него хаба, но с точки зрения повышениянадежности системные устройства вво­да лучше связывать наиболее коротким (поколичеству кабелей, разъемов и промежуточных устройств) путем. Неудачнойконфигурацией было бы подклю­чение принтера (сканера) к хабу USB 1.1 — во время работы саудиоустройствами (если они высокого качества) скорость печати (сканирования)будет падать. Неработоспособной конфигурацией явилось бы подключение телека­мерык порту хаба USB 1.1.

<img src=»/cache/referats/26245/image008.gif» v:shapes=»_x0000_i1027″>

<span Times New Roman»,«serif»»>Рис. 3.

<span Times New Roman»,«serif»»> Примерконфигурации соединений

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

<span Times New Roman»,«serif»»>2. Модель  ипротокол передачи данных

<span Times New Roman»,«serif»»>

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

·<span Times New Roman»»>                   

требуемая частота доступа к шине и допустимые задержки обслуживания;

·<span Times New Roman»»>                   

требуемая полоса пропускания канала;

·<span Times New Roman»»>                   

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

·<span Times New Roman»»>                   

максимальные размеры передаваемых и принимаемых пакетов;

·<span Times New Roman»»>                   

тип передачи;

·<span Times New Roman»»>                   

направление передачи (для передач массивов и изохронного обмена).

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

Кроме нулевой точки устройства-функции могут иметьдополнительные точ­ки, реализующие полезный обмен данными. Низкоскоростныеустройства мо­гут иметь до двух дополнительных точек, полноскоростные — до 15точек вво­да и 15 точек вывода (протокольное ограничение). Дополнительные точки(а именно они и предоставляют полезные для пользователя функции) не могут бытьиспользованы до их конфигурирования (установления согласованного с нимиканала).

Каналом(pipe) в USB называется модель передачи данных между хост-кон­троллером иконечной точкой устройства. Имеются два типа каналов:

  — потоки;

— сообщения.

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

-передача массивов;

— изохронный;

преры­вания.

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

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

<span Times New Roman»,«serif»»> Протокол.

<span Times New Roman»,«serif»;font-weight:normal»>Все обмены (транзакции) сустройствами <span Times New Roman»,«serif»; mso-ansi-language:EN-US»>USB<span Times New Roman»,«serif»; font-weight:normal»> состоят из двух-трех пакетов. Каж­дая транзакцияпланируется и начинается по инициативе контроллера, который посылает <span Times New Roman»,«serif»»>пакет-маркер<span Times New Roman»,«serif»»> (<span Times New Roman»,«serif»;mso-ansi-language:EN-US»>token<span Times New Roman»,«serif»»> <span Times New Roman»,«serif»;mso-ansi-language:EN-US»>packet<span Times New Roman»,«serif»»>).<span Times New Roman»,«serif»;font-weight:normal»> Он описывает тип и направлениепереда­чи, адрес устройства <span Times New Roman»,«serif»»>USB<span Times New Roman»,«serif»;font-weight:normal»> и номерконечной точки. В каждой транзакции возмо­жен обмен только между адресуемымустройством (его конечной точкой) и хос­том.

<span Times New Roman»,«serif»;font-weight:normal»>Адресуемоемаркером устройство распознает свой адрес и готовится к обме­ну. Источникданных (определенный маркером) передает

<span Times New Roman»,«serif»»>пакет данных<span Times New Roman»,«serif»;font-weight:normal»> (или уве­домлениеоб отсутствии данных, предназначенных для передачи). После успешно­го приемапакета приемник данных посылает <span Times New Roman»,«serif»»>пакет квитирования<span Times New Roman»,«serif»»> (<span Times New Roman»,«serif»;mso-ansi-language:EN-US»>handshake<span Times New Roman»,«serif»»> <span Times New Roman»,«serif»;mso-ansi-language:EN-US»>packet<span Times New Roman»,«serif»»>).<span Times New Roman»,«serif»;font-weight:normal»> Последовательность пакетов втранзакциях иллюстрирует рис. 4.

<img src=»/cache/referats/26245/image010.gif» v:shapes=»_x0000_i1028″>

Рис.4. Последовательности пакетов

Хост-контроллер организует обмены с устройствамисогласно своему плану распределения ресурсов. Контроллер циклически (с периодом1,0 ± 0,0005 мс) формирует кадры (frames),в которые укладываются всезапланированные тран­закции (рис. 4). Каждый кадр начинается с посылки маркера SOP(StartOfFrame),который является синхронизирующим сигналом для всех устройств, включая хабы.

 В концекаждого кадра выделяется интервал времениEOF(EndOfFrame), навремя которого хабы запрещают передачу по направлению к контрол­леру. В режиме HSпакеты SOFпередаются в начале каждогомикрокадра(период 125 ± 0,0625 мкс). Хост планирует загрузку кадров так, чтобы в нихвсегда нахо­дилось место для транзакций управления и прерывания. Свободноевремя кад­ров может заполняться передачами массивов (bulktransfers).В каждом (микро­кадре)может быть выполнено несколько транзакций, их допустимое число зави­сит отдлины поля данных каждой из них.

<img src=»/cache/referats/26245/image012.gif» v:shapes=»_x0000_i1029″>

Рис.5 Потоккадров USB

Для обнаружения ошибок передачи каждый пакет имеетконтрольные поля CRC-кодов,позволяющие обнаруживать все одиночные и двойные битовые ошиб­ки. Аппаратныесредства обнаруживают ошибки передачи, а контроллер автоматически производиттрехкратную попытку передачи. Если повторы безуспешны, сообщение об ошибкепередается клиентскому ПО.

Все подробности организации транзакций изолируютсяот клиентского ПО контроллером USB иего системным программным обеспечением.

Лекция 14. USB- порт

<img src=»/cache/referats/26245/image002.gif» v:shapes=»_x0000_i1030″>

<span Times New Roman»,«serif»»>

<span Times New Roman»,«serif»»>

<span Times New Roman»,«serif»»>Рис. 1.

<span Times New Roman»,«serif»»> Коннекторы <span Times New Roman»,«serif»; mso-ansi-language:EN-US»>USB<span Times New Roman»,«serif»»>: <span Times New Roman»,«serif»;mso-ansi-language:EN-US»>a<span Times New Roman»,«serif»»> —<span Times New Roman»,«serif»»>вилка типа «А»; б— вилка типа «В»

<img src=»/cache/referats/26245/image004.gif» align=«left» hspace=«12» v:shapes=»_x0000_s1027″> 

<span Times New Roman»,«serif»»>

<span Times New Roman»,«serif»»>а

<span Times New Roman»,«serif»»>

<span Times New Roman»,«serif»»><img src=»/cache/referats/26245/image006.gif» v:shapes=»_x0000_i1031″>

<span Times New Roman»,«serif»»>  б                                           в

<span Times New Roman»,«serif»»>Рис.2.

<span Times New Roman»,«serif»»> Гнезда <span Times New Roman»,«serif»; mso-ansi-language:EN-US»>USB<span Times New Roman»,«serif»»>: а— типа «А»; б— типа «В»;

<span Times New Roman»,«serif»»>в— символическое обозначение

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

Контакт

Цепь

1

Vbus

2

D-

3

D+.

4

GND

<img src=»/cache/referats/26245/image008.gif» v:shapes=»_x0000_i1032″>

<span Times New Roman»,«serif»»>Рис. 3.

<span Times New Roman»,«serif»»> Примерконфигурации соединений

<img src=»/cache/referats/26245/image010.gif» v:shapes=»_x0000_i1033″>

Рис.4. Последовательностипакетов

<img src=»/cache/referats/26245/image012.gif» v:shapes=»_x0000_i1034″>

Рис.5 Потоккадров USB

Автор:   •  Апрель 27, 2018  •  Курсовая работа  •  3,332 Слов (14 Страниц)  •  552 Просмотры

Страница 1 из 14

Департамент образования, науки и молодёжной политики[pic 1]

Воронежской области

Государственное бюджетное образовательное учреждение

среднего профессионального образования

Воронежской области

«Воронежский техникум строительных технологий»

(ГОБУ СПО ВО «ВТСТ»)

Компьютерные системы и комплексы

КУРСОВАЯ   РАБОТА

по профессиональному модулю 02

«установка и конфигурирование  периферийного оборудования»

На тему:

Анализ возможностей интерфейсов USB

Руководитель                                                                    Преподаватель

                                                     Дата                Подпись                     Инициалы, фамилия

Разработал                                                                           Студент

                                                      Дата                Подпись                    Инициалы, фамилия

Воронеж 2017

СОДЕРЖАНИЕ

ВВЕДЕНИЕ        3

Глава 1. Интерфейсы USB        5

1.1 USB        5

1.2 Основные характеристики USB.        8

1.3 Обзор характеристик интерфейса USB 1.0        10

1.4 Обзор характеристик интерфейса USB 2.0        11

1.5 Обзор характеристик интерфейса USB 3.0        12

1.6 Режимы передачи USB        13

1.7 Проблемы с USB        14

Глава 2. Сравнительный анализ версий USB 2.0 и 3.0        15

2.1 Сравнение на примере быстродействия флеш накопителя        17

2.2 Сравнение на примере быстродействия жесткого диска        21

2.2        0

2.2.1        0

2.3.1        0

ЗАКЛЮЧЕНИЕ        0

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ        0


ВВЕДЕНИЕ

[pic 2]

В настоящее время новые виды USB  развиваются быстрыми темпами.

Развитие интерфейса двигалось в направлении увеличения передачи данных и поддержки все новых устройств поэтому характеристики более ранних версий рассмотрим позже т.к. особых изменений не увидим.         Самый большой скачек в развитии стал интерфейс USB 3.0  и 3.1 который обошел своего предшественника по многим параметрам.

USB 1.0 Спецификация выпущена 15 января 1996 года.

USB 1.1 Спецификация выпущена в сентябре 1998 года. Исправлены проблемы и ошибки, обнаруженные в версии 1.0. Первая версия, получившая массовое распространение.

USB 2.0 Спецификация выпущена в апреле 2000 года.

USB 3.0 Окончательная спецификация USB 3.0 появилась в 2009 году.

Поэтому выбранная тема курсовой работы, «Анализ возможностей интерфейсов USB» актуальна на данный момент.

Цель: Провести сравнительный анализ различных версий USB

Задачи:

  1. Изучить основные версии USB;
  2. Провести анализ характеристик USB

Глава 1.Интерфейсы USB

1.1 USB

На сегодняшний день USB является одним из самых распространенных интерфейсов поэтому рассмотрим какие существуют версии USB и их характеристики.[pic 3]

USB  (Universal Serial Bus — «универсальная последовательная шина») — последовательный интерфейс для подключения периферийных устройств к вычислительной технике. Получил широчайшее распространение и фактически стал основным интерфейсом подключения периферии к бытовой цифровой технике.

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

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

Доступно только на Essays.club

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *