Лекция 15. Протокол работы usb-шины.
Общие сведения об USB-шине
У любого компьютера, выпущенного в последнее время, вы обязательно обнаружите либо на лицевой панели, либо на задней стенке разъем USB. Шина USB (Universal Serial Bus) первоначально была разработана для обеспечения легкого подключения компьютера к телефонным линиям и расширения числа портов. Первая версия стандарта (версия 1.0) была выпущена в январе 1996 года. Сейчас в основном используется версия 1.1. Стандарт USB 1.1 вполне удовлетворяет всем требованиям при работе с низко-скоростными устройствами, вроде мышей и клавиатур, и даже с устройствами, работающими на средних скоростях, вроде Ethernet-адаптеров (10 Mbit/sec) или устройств бытовой электроники (таких, как цифровые камеры и MP3-плейеры), которые пересылают только несколько мегабайт данных. Но если на периферийное устройство или в обратном направлении необходимо пересылать большие объемы информации (примеры - жесткие диски, видеокамеры высокого разрешения, или одновременное использование нескольких сетевых адаптеров стандарта 100BaseT), то скорости, обеспечиваемые USB 1.1, уже недостаточны. Поэтому в 1999 году была разработана версия 2.0 стандарта USB, обеспечивающая более высокие скорости обмена данными.
Современные компьютеры обычно имеют контроллер USB-шины, установленный на материнской плате. Для USB версии 1.1 было разработано два типа таких контроллеров, отличающихся интерфейсом взаимодействия с USB-устройствами: OHCI (Open Host Controller Interface) фирмы Compaq и UHCI (Universal Host Controller Interface) фирмы Intel. Оба типа имеют примерно одинаковые возможности и USB-устройства работают с обоими типами контроллеров. Аппаратная часть UHCI-контроллеров проще, а значит, они дешевле, но зато требуют более сложных драйверов, что увеличивает нагрузку на процессор. Версия 2.0 стандарта USB использует улучшенный вариант интерфейса - EHCI (Enhanced Host Controller Interface).
Стандарт USB предусматривает строгую иерархию устройств, управляемых основным хостом, и использование протокола master/slave для управления подключаемыми устройствами. На один USB-разъем могут быть последовательно подключены до 127 устройств. Но непосредственно подключать одно устройство к другому нельзя, поскольку питание таких устройств осуществляется по той же шине. Поэтому для подключения дополнительных устройств используются специальные хабы, обеспечивающие снабжение этих устройств необходимой энергией. В результате USB-устройства образуют как бы дерево, каждая не конечная вершина которого является хабом. Поскольку любой обмен данными инициируется только хостом, и периферийные устройства не могут начать взаимодействие, исключена возможность коллизий, вследствие чего снижается стоимость устройств. Правда, такое решение приводит к некоторому снижению производительности. В результате USB-устройства версии 1.1 могут работать в двух режимах: так называемом low speed, обеспечивающем скорость передачи данных до 1.5 Mбит/сек, и full speed, в котором скорость передачи данных может составлять 12 Мбит/сек. Это только теоретический предел, а реально производительность шины даже в идеальных условиях не превышает 8,5 Мбит/сек., а в среднем составляет около 2 Мбит/сек.
Интерфейс EHCI, используемый в устройствах версии 2, обеспечивает режим работы high speed, для которого скорость передачи данных может достигать 480 Мбит/сек. Для того чтобы USB-устройства могли обмениваться данными с такой скоростью, и хост-контроллер и само устройство должны соответствовать стандарту USB 2.0 и обеспечивать работу с интерфейсом EHCI. Однако хост-контроллеры 2.0 успешно работают с устройствами версии 1.1. И наоборот, вполне можно подключать устройства USB 2.0 к хосту (и к хабам) версии USB 1.1 и они будут прекрасно работать, но со скоростью не более 12, а не 480 Мбит/сек.
В настоящее время разработан широкий спектр устройств, подключаемых по шине USB. Это клавиатуры, мыши, джойстики, игровые приставки, сканеры, модемы, принтеры, цифровые камеры, устройства хранения информации – дисководы гибких и жестких дисков, дисководы Zip, LS120 и CD-ROM. Очень перспективный и интересный класс таких устройств образуют накопители на основе Flash-памяти [1].
Физическая среда
Шина USB, обладает полосой пропускания 1,5 или 12 Мбит/с.
USB-кабель состоит из 4 проводников:
- два провода формируют витую пару, применяемую в дифференциальных передачах данных;
- остальные два представляют собой линии питания и заземления устройств, не имеющих собственного питания 5 В постоянного напряжения.
USB стандарт предполагает два вида кабеля и два варианта разъемов. High-speed (высокоскоростные) кабели, для связи 12Mb в секунду, лучше экранированы, чем их менее дорогие 1.5 Mb заменители. Каждый кабель имеет "А" разъем на одной стороне и "B" на другой. Рисунок 1 показывает как "А" разъемы подсоединяются к исходящему, а "В" к нисходящему. Таким образом два типа физически различны и невозможно подключить их неправильно.
Рис 1. USB топологоия "подключение звездой"
USB шина позволяет подключать до 127 устройств. Использование такого количества устройств возможно при многоуровневом каскадировании. Наглядно это объясняет следующий рисунок:
Это первая архитектурная особенность шины USB: ее логическая топология - многоуровневая звезда.
Самым верхним уровнем является корневой концентратор, который обычно совмещается с USB контроллером. Если функции контроллера понятны, то концентратор - устройство для периферийных интерфейсов не привычное. В данном случае его функция такая же, что и концентраторов сетей передачи данных - добавление новых портов для подключения большего числа устройств. Ничего большего, чем просто разветвитель.
К корневому концентратору могут быть подключены либо устройства, либо еще концентраторы, для увеличения числа доступных портов. Допускается организация до пяти уровней. Концентратор может быть выполнен в виде отдельного устройства, либо быть встроенным в какое-то другое. С этой точки зрения устройства подключаемые к USB можно подразделить на функциональные устройства, т.е. те которые выполняют какую-то конкретную функцию и не берут на себя никаких дополнительных задач (например, мыши) устройства-концентраторы в чистом виде выполняющие только функцию разветвления, и совмещенные (комбинированные) устройства, т.е. имеющие в своем составе концентратор, расширяющие набор портов и позволяющие подключать другие устройства (в качестве наиболее часто встречающихся примеров можно назвать мониторы, позволяющие по USB осуществлять настройку параметров, и обычно имеющих еще несколько дополнительных портов, для подключения других устройств или клавиатуры, с разъемами для подключения мышей).
Надо обратить внимание, на то, что на пятом уровне комбинированное устройство использоваться не может. Кроме того отдельно стоит упомянуть о хосте, являющемся скорее программно-аппаратным комплексом, нежели просто устройством.
Физическая топология шины - звезда
Это объясняется тем, что каждый концентратор обеспечивает прозрачно для хоста соединение с устройством.
Отношения клиентского программного обеспечения и USB устройств: в отличие от привычных старых интерфейсов, где взаимодействие можно было (и нужно) осуществлять обращаясь к устройству по конкретным физическим адресам памяти и портам ввода вывода, USB предоставляет для взаимодействия программный интерфейс и только его, позволяя клиентскому ПО существовать в отрыве от конкретного подключенного к шине устройства и его конфигурации. Для клиентской программы USB - это лишь набор функций.
Хост, как уже было сказано ранее, программно-аппаратный комплекс.
В обязанности хоста входит:
Слежение за подключением и отключением устройств
Организация управляющих потоков между USB-устройством и хостом.
Организация потоков данных между USB-устройством и хостом
Контроль состояния устроств и ведение статистики активности
Снабжение подключенных устройств электропитанием
Аппаратной частью является хост-контроллер - посредник между хостом и устройствами на шине.
Программные функции (перечисление устройств и их конфигурирование, управление энергопотреблением, процессами передачи, устройствами на шине и самой шиной) возложены на операционную систему. Первой популярной операционной системой, в которой поддержка USB реализована была в полном объеме стала Windows 98 Second Edition. Некоторые устройства могут быть работоспособными и под более ранними версиями (98 без SE, и изредка 95), но далеко не все и не всегда.
Концентратор (хаб). Позволяет множественные подключения к одному порту, создавая дополнительные порты. Каждый хаб имеет один восходящий порт, предназначенный для подключения к имеющемуся в наличии свободному порту, и несколько нисходящих, к которым могут быть подключены или снова концентраторы, или конечные устройства, либо совмещенные устройства.
Хаб должен следить за подключением и отключением устройств, уведомляя хост об изменениях, управлять питанием портов. В концентраторе стандарта USB 2.0 можно выделить 3 функциональных блока: контроллер, повторитель, транслятор транзакций. Контроллер отвечает за соединения с хостом. Понятие повторитель в USB несколько отличается от принятого в сетях передачи данных. Его обязанность - соединять входной и какой-то нужный из выходных портов. Транслятор транзакций появился лишь в USB 2.0 и нужен, как всегда, из соображений совместимости с предыдущими версиями. Вкратце его суть в том, что бы обеспечивать максимальную скорость соединения с хостом. Подключенное к высокоскоростному (USB 2.0) порту старое медленное (USB 1.1) устройство съедало бы значительную часть времени, а следовательно и полезной пропускной способности шины, ведя обмен с хостом на низкой скорости (почему так происходит мы выясним позже при рассмотрении механизма обмена данными хост-устройство). Как метод борьбы транслятор транзакций буферизирует поступающий с медленного порта кадр, а затем на максимальной скорости передает его хосту, или же буферизирует получаемый на максимальной скорости кадр от хоста, передавая его затем устройству на меньшей, приемлемой для него скорости. Помимо разветвления и трансляции транзакций хаб должен осуществлять конфигурирование портов и слежение за корректным функционированием подключенных к ним устройств. Нужно сказать также, что при использовании старых и новых концентраторов вместе возможно создание неоптимальных с точки зрения производительности конфигураций. Для того что бы избежать создания узких мест в своей цепи, подключайте низкоскоростные устройства к низкоскоростным хабам, которые в свою очередь делайте последними уровнями ветвления и не подключайте их в середину высокоскоростной цепочки.
- Курс лекций «Вычислительные машины, системы и сети»
- Часть 1. Вычислительные машины. 3
- Часть 2. Вычислительные системы. 202
- 1.3 Материнская плата
- 1.4 Процессор
- 1.5 Устройства хранения данных
- Лекция 2. Эволюция микрокомпьютеров.
- 1.1.Основные направления эволюции микрокомпьютеров.
- Лекция 3. Машинная организация процессора 80286
- 1.1. Введение.
- 2.2. Структура памяти.
- 2.3. Сегментация памяти.
- 2.4. Структура ввода-вывода.
- 2.5. Регистры.
- Лекция 4. Операнды и режимы адресации операндов.
- Лекция 5. Общая организация памяти.
- Лекция 6. Прерывание микропроцессора в эвм.
- Организация обработки прерываний в эвм
- Цепочечная однотактная система определения приоритета запроса прерывания
- Обработка прерываний в персональной эвм
- Лекция 7. Последовательный интерфейс rs–232c.
- Общие сведения о интерфейсе rs–232c
- Виды сигналов
- Тестовое оборудование для интерфейса rs–232c
- Лекция 8. Последовательный интерфейс сом-порт.
- Использование сом-портов
- Функции bios для сом-портов
- Сом-порт и РпР
- Лекция 9. Программируемый связной интерфейс.
- Лекция 10. Передача данных между эвм с помощью модемов. Типы и характеристики модемов.Набор ат-команд.
- Ат-команды
- Лекция 11. Программируемый периферийный интерфейс.
- Лекция 12. Параллельный интерфейс:lpt-порт. Понюхов е. В.
- Интерфейс Centronics
- Сигналы интерфейса Centronics
- Традиционный lpt-порт
- Функции bios для lpt-порта
- Расширения параллельного порта
- Физический и электрический интерфейс
- Режимы передачи данных
- Полубайтный режим ввода — Nibble Mode
- Конфигурирование lpt-портов
- Использование параллельных портов
- Неисправности и тестирование параллельных портов
- Лекция 13. Программируемые таймеры и счетчики событий.
- Лекция 14. Универсальная последовательная шина usb.
- 2.Шина usb.Общая характеристика.
- Структура usb
- 3.Физический интерфейс
- Протокол
- Устройства usb - функции и хабы
- Хост-контроллер
- Лекция 15. Протокол работы usb-шины.
- Описание протоколов используемых при передаче данных Структура usb пакета
- Поля usb пакета
- Типы usb пакетов
- Приоритеты передач по usb-шине
- Источники информации
- Лекция 16. Интерфейс ieee-1394 (FireWire).
- Технические характеристики
- Топология шины
- Пример топологии ieee-1394
- Совместимость
- Кабели и разъемы
- Список литературы
- Лекция 17. Организация прямого доступа к памяти.
- Лекция 18. Устройства ввода эвм. Клавиатура. Введение
- 1. Основные части клавиатуры
- 1.1. Клавиши пишущей машинки (алфавитно-цифровая клавиатура)
- Режимы ввода символов
- Названия специальных знаков
- 1.2. Служебные клавиши
- Индикаторы режимов
- Клавиши управления курсором
- 1.3. Функциональные клавиши
- 1.4. Малая цифровая клавиатура
- 2. Принципы работы клавиатуры
- Лекция 19. Интерфейс эвм с видеотерминалом. Видеоадаптер. Режимы изображений: текстовый и графический режимы. Видеопамять. Анимация изображений. Интерфейс эвм с видеотерминалом.
- Видеоадаптер.
- Лекция 20. Накопитель магнитных дисков: гибкий и жесткий. Структура дисков: дорожки, сектора, блоки. Обмен информации между эвм и магнитными дисками.
- Лекция 21. Сканер. Считывание изображения. Типы обрабатываемых изображений. Качество изображения.
- Лекция 22. Назначение и функции операционной системы.
- Часть 2. Вычислительные системы. Лекция 23. Классификация систем параллельной обработки данных.
- Сеть с топологией кольцо
- Литература
- Лекция 24. Классификация мультипроцессорных систем по способу организации основной памяти.
- Лекция 25. Обзор архитектур многопроцессорных вычислительных систем.
- Лекция 26. Направление развития в высокопроизводительных вычислительных системах.
- Универсальные системы с фиксированной структурой
- Направления развития микропроцессоров
- Системы с фиксированной структурой из серийных микропроцессоров
- Специализированные системы с фиксированной структурой
- Специализированные системы с программируемой структурой
- Технологическая база развития современных архитектур
- Архитектуры многопотоковых процессоров
- Кластер Green Destiny
- Программируемый микропроцессор
- Однородные вычислительные среды
- Литература
- Однокристальный ассоциативный процессор сам2000
- Литература
- Однокристальный векторно-конвейерный процессор sx-6
- Литература
- Лекция 27. Принципы построения телекоммуникационных вычислительных систем.
- 2.Компоненты телекоммуникационной системы
- 3. Типы телекоммуникационных сетей.
- 4. Топологии вычислительной сети.
- 5. Модем
- Часть 3. Вычислительные сети. Лекция 28. Эталонная модель взаимодействия открытых систем.
- Лекция 29. Локальные вычислительные сети.
- 10Base-2 или тонкий Ethenet
- 10Base-5 или толстый Ethenet
- 2.2.2. Компоненты сети
- 2.2.3. Проводная сеть в умном доме(LexCom Home)
- Лекция 30. Беспроводные сети на основе службы gprs.
- Чем привлекательна эта технология?
- Передача данных: gprs и gsm
- Что дает абоненту технология gprs?
- Принципы построения системы gprs
- Терминальное оборудование gprs
- Скорости передачи в системе gprs
- Перспективы развития услуг на базе gprs
- Перспективы пакетной передачи данных
- Gprs модемы существуют в нескольких исполнениях:
- Лекция 31. Беспроводные сети Radio-Ethernet.
- Заключение
- Лекция 32. Беспроводные локальные сети на основе Wi-Fi - технологии. Введение.
- Архитектура, компоненты сети и стандарты
- Организация сети
- Физический уровень ieee 802.11
- Канальный уровень ieee 802.11
- Типы и разновидности соединений
- 2. Инфраструктурное соединение.
- 4. Клиентская точка.
- 5. Соединение мост.
- Список использованной литературы: