Содержание

Слайд 2

Первые спецификации для USB 1.0 были представлены в 1994—1995 годах. Разработка

Первые спецификации для USB 1.0 были представлены в 1994—1995 годах. Разработка

USB поддерживалась фирмами Intel, Microsoft, Philips, US Robotics. USB стал «общим знаменателем» под стремлениями разных компаний:
Расширение функциональности компьютера. На тот момент для подключения внешних периферийных устройств к персональному компьютеру использовалось несколько «традиционных» интерфейсов (PS/2, последовательный порт, параллельный порт, порт для подключения джойстика, SCSI), и с появлением новых внешних устройств разрабатывали и новый разъём. Предполагалось, что USB заменит их все и заодно подхлестнёт разработку нетрадиционных устройств.
Простота для пользователя. Старые интерфейсы (например, последовательный (COM) и параллельный (LPT) порты) были крайне просты для разработчика, но не соответствовали требованиям спецификаций «Plug and Play». Требовались новые механизмы взаимодействия компьютера с низко- и среднескоростными внешними устройствами — возможно, более сложные для конструкторов, но надёжные, дружественные и пригодные к «горячему» подключению.
Слайд 3

История стандарта USB С развитием компьютерных технологий и резким ростом количества

История стандарта USB

С развитием компьютерных технологий и резким ростом количества внешних

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

Технические характеристики: два режима работы: режим с низкой пропускной способностью (Low-Speed)

Технические характеристики:
два режима работы:
режим с низкой пропускной способностью (Low-Speed)

— 1,5 Мбит/с
режим с высокой пропускной способностью (Full-Speed) — 12 Мбит/с
максимальная длина кабеля (без экрана) для режима Low-Speed — 3м
максимальная длина кабеля (в экране) для режима Full-Speed — 5м
максимальное количество подключённых устройств (включая размножители) — 127 возможно подключение «разноскоростных» периферийных устройств к одному контроллеру USB
напряжение питания для периферийных устройств — 5 В
максимальный ток, потребляемый периферийным устройством — 500 мА

USB 1.0

Слайд 5

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

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

1.1 введением режима High-speed (пометка на логотипе — «HI-SPEED»).
Для устройств USB 2.0 регламентировано три режима работы:
Low-speed, 10—1500 Кбит/c (клавиатуры, мыши, джойстики)
Full-speed, 0,5—12 Мбит/с (аудио-, видеоустройства)
High-speed, 25—480 Мбит/с (видеоустройства, устройства хранения информации)

USB 2.0

Слайд 6

Анонс в 2008 году. В спецификации USB 3.0 разъёмы и кабели

Анонс в 2008 году.
В спецификации USB 3.0 разъёмы и кабели физически

и функционально совместимы с USB 2.0, для однозначной идентификации разъёмы USB 3.0 принято изготавливать из пластика синего цвета. В USB 3.0 добавляется ещё четыре линии связи (две витые пары), в результате чего кабель стал гораздо толще. Hовые контакты в разъёмах USB 3.0 расположены отдельно от старых в другом контактном ряду.
Скорость передачи информации до 5 Гбит/с. Таким образом, скорость передачи возрастает с 60 Мбайт/с до 600 Мбайт/с .
Версия 3.0 отличается увеличенной силой тока с 500 мА до 900 мА.

USB 3.0

Слайд 7

Обзор USB

Обзор USB

Слайд 8

Архитектура шины USB 1. Последовательная передача данных. 2. Полудуплексный режим передачи.

Архитектура шины USB

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

– сетевой с маркерным доступом.
4. Максимальное количество подключаемых устройств – 127.
5. Скорость передачи: USB1 - 1,5 Мбит/сек, 12 Мбит/сек
USB2 - 480 Мбит/сек
USB3 – 5 Гбит/сек
6. Наличие автоконфигурации.
7. Горячее подключение.
8. Возможно питание от шины (500 ма - 2.0, 900 ма - 3.0).
9. Топология шины – многоуровневая звезда.
Слайд 9

Описание интерфейса Интерфейс USB (Universal Serial Bus - Универсальный Последовательный Интерфейс)

Описание интерфейса

Интерфейс USB (Universal Serial Bus - Универсальный Последовательный Интерфейс) предназначен для подключения

периферийных устройств к персональному компьютеру. Позволяет производить обмен информацией с периферийными устройствами на четырех скоростях:
Low Speed (стандарты версии 1.1 и 2.0).
Пиковая скорость передачи данных — 1.5 Мбит/с . Чаще всего применяется для HID-устройств (клавиатур, мышей, джойстиков).
Full Speed  (стандарты версии 1.1 и 2.0).
Пиковая скорость передачи данных — 12 Мбит/с (1.5 Мбайт/с).
Hi-Speed  (стандарты версии 2.0 и 3.0).
Пиковая скорость передачи данных — 480 Мбит/с (60 Мбайт/с).
Super-Speed  (стандарты версии 3.0).
Пиковая скорость передачи данных — 4.8 Гбит/с (600 Мбайт/с).
Слайд 10

Тип разъемов Конструктивно Тип А представляет собой разъем прямоугольной формы с

Тип разъемов

Конструктивно Тип А представляет собой разъем прямоугольной формы с однорядным

расположением контактов. Контакты «Земли» и «Питания» должны выступать вперед относительно сигнальных контактов, что обеспечивает корректное электрическое подключение.

Разъем Типа В имеет квадратную форму, контакты разъема располагаются по углам конструкции. Назначение контактов соответствует Типу А.

Слайд 11

Разъемы

Разъемы

Слайд 12

Физический интерфейс USB Кабель имеет 4 провода: два для передачи сигналов(Д+

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

Кабель имеет 4 провода: два для передачи сигналов(Д+

и Д -), два для
подачи питания (5в). Дифференциальный способ передачи сигналов.
Передатчик должен иметь 3-е высокоимпедансное состояние, для
реализации полудуплексного режима передачи данных.
Кроме дифференциального сигнала приемник и передатчик могут работать и с линейными сигналами. Это дает возможность иметь более двух состояний линий.
Состояния линий:
- линейный ноль (SEO,Singl-Endet Zero): – Д + и Д – низкий уровень,
- состояние передаваемых бит : Data J State( J ), Data K State( K ),
- пауза на шине: Idle State,
- сигнал «пробуждения» : Resume State,
- начало пакета: Start of Packet – переход из Idle State в состояние К,
- конец пакета: End of Packed,
- устройство отключено от порта: Disconnekt,
- устройство подключено к порту: Connekt,
- сброс устройства: Reset.
Слайд 13

Слайд 14

Кодирование информации Используется NRZI – кодирование. 0 1 1 0 1

Кодирование информации

Используется NRZI – кодирование.
0 1 1 0 1 0

1 0 0 0 1

0 0 0 0 0 0

NRZI

Об. код

Если подряд идет более 6 единиц, то после шестой вставляется 0.

Слайд 15

Слайд 16

Передача данных Механизм передачи данных - асинхронный и блочный. Блок передаваемых

Передача данных

  Механизм передачи данных - асинхронный и блочный. Блок передаваемых

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

Протокол шины USB Протокол шины USB обеспечивает обмен данными между хостом

Протокол шины USB

Протокол шины USB обеспечивает обмен данными между хостом и

устройством. Используется мультиплексирование данных с временным уплотнением. Единицей передаваемой информации является транзакция, состоящая из двух - трех пакетов. Хост-контроллер циклически
с периодом 1мс(USB1) или 125 мкс(USB2) для обмена с устройствами формирует кадры, содержащиe несколько транзакций. Кадры передаются согласно плану распределения ресурсов. Каждый кадр начинается с пакета-маркера начала кадра SOF (Start Of Frame), а заканчиваетcя интервалом времени EOF(End Of Frame). Кадры нумеруются поcледовательно. В маркере SOF передаются 11 младших бит номера кадра

Кадр i - 1

Кадр i

Кадр i +1

EOP SOF

Слайд 18

Формат пакета SOF Поле пакета SOF содержит (полный формат пакета показан

Формат пакета SOF
Поле пакета SOF содержит
(полный формат пакета показан на

рисунке):
[11] номер кадра
[5] циклический контрольный код.
Пакет SOF используется для отметки начала кадра.
Слайд 19

Слайд 20

Каждая транзакция планируется и начинается по инициативе хост-контроллера, который посылает пакет-маркер

Каждая транзакция планируется и начинается по инициативе хост-контроллера, который посылает пакет-маркер

транзакции (token packet).
Маркер транзакции описывает
тип и направление передачи,
адрес выбранного устройства USB и
номер конечной точки.
Адресуемое маркером устройство распознает свой адрес и готовится к обмену. Источник данных, определенный маркером, передает пакет данных.
Слайд 21

Транзакции и пакеты Транзакция содержит последовательность пакетов. Пакет начинается с синхропоследовательности

Транзакции и пакеты

Транзакция содержит последовательность пакетов.
Пакет начинается с синхропоследовательности
один

байт(USB1) – в коде NRZI: 10101011.
Две 1 означают начало информационной части пакета SOP (Start Of Packet).
Пакет заканчивается сигналом конца пакетаEOP (End Of Packet) – переводом обеих линий данных в низкое состояние SEO (Singl-Ended Zero).
В зависимости от назначения пакет имеет 3 формата:
маркер,
пакет данных и
пакет квитирования.
Каждый пакет начинается c их идентификатора PID.
Код PID задает тип пакета, т.е. его назначение и функцию.
Пакет квитирования имеет только поле PID.
Слайд 22

Пакеты Информация по каналу передается в виде пакетов (Packet). Каждый пакет

Пакеты
Информация по каналу передается в виде пакетов (Packet). Каждый пакет начинается

с поля синхронизации SYNC (SYNChronization), за которым следует идентификатор пакета PID (Packet IDentifier). Поле Check представляет побитную инверсию PID.
Слайд 23

Формат пакетов-маркеров IN, OUT, SETUP Поле данных пакетов типа IN, OUT,

Формат пакетов-маркеров IN, OUT, SETUP
Поле данных пакетов типа IN, OUT, SETUP

содержит следующие поля:
[7] адрес функции;
[4] адрес конечной точки;
[5] циклический контрольный код.
Маркер транзакции отмечает начало очередной транзакции на шине USB и позволяет адресовать до 127 функций USB (нулевой адрес используется для конфигурирования) и по 16 конечных точек в каждой функции. Поле CRC вычисляется по полям Func и EndP.
Слайд 24

Слайд 25

Слайд 26

Формат пакета данных В поле данных пакетов типа Data0, Data1, Data2

Формат пакета данных
В поле данных пакетов типа Data0, Data1, Data2 и

MData может содержаться от 0 до 1023 байт данных, за которыми следует 16-разрядный циклический контрольный код, вычисленный по полю Data. Пакет данных всегда должен посылать целое число байт. Для режима LS максимальный размер пакета равен 8 байтам, для FS — 1023 байта, а для HS — 1024 байта.
Слайд 27

Слайд 28

Слайд 29

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

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

(handshake packets). Из этих пакетов хост-контроллер может посылать устройству только пакет ACK, подтверждающий безошибочный прием пакета данных.
Устройство для ответа хосту использует следующие пакеты квитирования:
ACK — подтверждение (положительное) успешного выполнения транзакции вывода или управления; NAK — отрицательное подтверждение, является признаком неготовности устройства к выполнению данной транзакции (нет данных для передачи хосту, отсутствует место в буфере для приема, не завершена операция управления). Это является нормальным ответом, о котором не узнает никто, кроме хост-контроллера, вынужденного повторить данную транзакцию позже; STALL — сообщение о серьезной ошибке, которое означает, что без специального вмешательства работа с данной конечной точкой невозможна. Этот ответ доводится до сведения и драйвера USBD, отменяющего дальнейшие транзакции с этой точкой, и до клиентского драйвера.
Слайд 30

Для транзакции, относящихся к изохронным передачам, подтверждения приема пакетов - нет.

Для транзакции, относящихся к изохронным передачам, подтверждения приема пакетов - нет.


Для остальных типов передач работает механизм подтверждения, обеспечивающий гарантированную доставку данных. Форматы пакетов приведены на рис. 2, типы пакетов — в таблице. Во всех полях пакетов, кроме поля CRC, данные передаются младшим битом вперед (на временных диаграммах младший бит изображается слева).
Пакет начинается с синхропоследовательности Sync и завершается признаком конца — EOP. Тип пакета определяется полем PID.
Слайд 31

Слайд 32

Слайд 33

Формат пакета подтверждения Поле данных пакетов подтверждения пустое.

Формат пакета подтверждения
Поле данных пакетов подтверждения пустое.

Слайд 34

Конечные точки Конечная точка (Endpoint) — это часть USB-устройства, которая имеет

Конечные точки
Конечная точка (Endpoint) — это часть USB-устройства, которая имеет уникальный

идентификатор и является получателем или отправителем информации, передаваемой по шине USB.
Любое USB-устройство имеет конечную точку с нулевым номером (Endpoint Zero). Эта точка позволяет хосту опрашивать устройство с целью определения его типа и параметров, выполнять инициализацию и конфигурирование устройства.
Кроме нулевой точки, устройства, обычно, имеют дополнительные конечные точки. Для низкоскоростных устройств допускается наличие одной или двух дополнительных конечных точек, а для высокоскоростных — до 15 входных и 15 выходных дополнительных точек.
Нулевая точка устройства доступна после того, как устройство подключено к шине, включено и получило сигнал сброса по шине (bus reset).
Слайд 35

Характеристики конечной точки 1.Требуемая частота доступа и задержка обслуживания. 2. Тpебуемая

Характеристики конечной точки

1.Требуемая частота доступа и задержка обслуживания.
2. Тpебуемая частота прoпускания

канала.
3. Номер точки.
4. Требования к обработке ошибок.
5. Максимальный размер пакетов.
6. Тип обмена.
7. Направление обмена.
При конфигурации между драйвером устройства и конечно точкой
устанавливаются коммуникационные каналы(communication pipe).
Передача информации между ними производится в виде транзакций.
Имеется два типа каналов:
Потоковый – однонаправленный, реализует сплошной, с прерываниями и изохронный тип передачи, без определенной структуры.
Сообщений – двунаправленный, реализует управляющий тип передачи, имеет формат определяемый спецификацией USB.
Слайд 36

Типы передачи данных Управляющие посылки (control transfers) используются для конфигурирования устройств

Типы передачи данных

Управляющие посылки (control transfers) используются для конфигурирования устройств во

время их подключения и для управления устройствами в процессе работы. Протокол обеспечивает гарантированную доставку данных.
Передачи массивов данных (bulk data transfers) – это передачи без каких-либо обязательств по задержке доставки и скорости передачи. Доставка гарантированная – при случайной ошибке выполняется повтор.
Прерывания (interrupt) – короткие передачи, которые имеют спонтанный характер и должны обслуживаться не медленнее, чем того требует устройство. При случайных ошибках обмена выполняется повтор.
Изохронные передачи (isochronous transfers) – непрерывные передачи в реальном времени, занимающие предварительно согласованную часть пропускной способности шины с гарантированным временем задержки доставки.
Слайд 37

Обзор USB

Обзор USB

Слайд 38

Обзор USB

Обзор USB

Слайд 39

Обзор USB

Обзор USB

Слайд 40

Обзор USB

Обзор USB

Слайд 41

Устойчивость к ошибкам Все принимаемые пакеты проверяются на ошибки. Дублирование PID.


Устойчивость к ошибкам
Все принимаемые пакеты проверяются на ошибки.
Дублирование PID.
CRC код.
Вставка бит.
Счетчик

тайм-аута
Слайд 42

Проверка наличия ошибок: *пакет начинается с синхронизирующей последовательности, за которой следует

Проверка наличия ошибок:
*пакет начинается с синхронизирующей последовательности, за которой следует его

идентификатор PID (Packet Identificator). За идентификатором следует его инверсная копия — Check. Несовпадение двух копий считается признаком ошибки;
*на физический уровень (в шину) данные пакета передаются с использованием вставки бит (bit stuffing, после шести единичных бит вставляется нолик), что предотвращает потерю битовой синхронизации при монотонном сигнале. Прием более шести единичных бит подряд считается ошибкой (на HS — признаком конца кадра);
*тело пакета (все поля пакета, исключая PID и признак EOP) защищается CRCкодом: 5-битным для пакетов-маркеров, 16-битным — для пакетов данных. Несовпадение CRC с ожидаемым значением считается признаком ошибки;
*пакет завершается специальным сигналом EOP; если в пакете оказывается не целое число байт, он считается ошибочным. Ложный EOP, даже на границе байта, не позволит принять пакет из-за практически неизбежной в данной ситуации ошибки по CRC-контролю;
Слайд 43

Обзор USB

Обзор USB

Слайд 44

Сравнение с другими стандартами

Сравнение с другими стандартами

Слайд 45

Разъемы Данные передаются дифференциально по проводам D- и D+ Состояния «0»

Разъемы

Данные передаются дифференциально по проводам D- и D+ Состояния «0» и

«1» определяются по разности потенциалов между линиями более 0,2 В и при условии, что на одной из линий (D− в случае diff0 и D+ при diff1) потенциал относительно GND выше 2,8 В.
Слайд 46

Спецификация скорости передачи данных USB 1.0 скорость передачи данных от 1,5

Спецификация скорости передачи данных

USB 1.0 скорость передачи данных от 1,5

мбит/c до 12 мбит/c
USB 2.0 скорость передачи данных от 12 мбит/c до 480 мбит/c
USB 3.0 скорость передачи данных от 480 мбит/c до 4800 мбит/c

Сравнение эффективности стандартов при средних показателях скоростей

Слайд 47

Модель передачи данных Данные передаются между хост– контроллером и функцией(ПУ) в

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

Данные передаются между хост– контроллером и функцией(ПУ) в виде
потоков

информации. Управляет всеми передачами хост – контроллер.
Возможны передачи только между хост – контроллером и ПУ.
Функция представляется в виде логического устройства, состоящего из
набора конечных точек (End Point, ЕР) – регистров. Каждое логическое
устройство имеет свой адрес, каждая конечная точка идентифицирует-
ся своим номером. В низкоскоростных устройствах 3, а в высокоскоро-
тных до16 ЕР. Каждое устройство должно иметь ЕР с номером 0, через
которую осуществляется конфигурирование и управление устройством.
Для решения задачи в устройстве имеется набор из несколько ЕР, на-
зываемых интерфейсом задачи. Если выполняется несколько задач,
устройство имеет несколько интерфейсов. Набор одновременно под-
держиваемых интерфейсов составляет конфигурацию устройства.
Каждая конечная точка(ЕР) имеет набор характеристик.
Слайд 48

Обзор USB Канал-модель передачи данных. (потоки и сообщения)‏ При включении происходит

Обзор USB

Канал-модель
передачи данных.
(потоки и сообщения)‏

При включении происходит конфигурирование устройства
по

каналу Control Pipe -0. Каждая конечная точка и имеет свой номер и
описывается следующими параметрами:
-частота и задержки
-полоса пропускания
-требования обработки ошибок
-максимальный размер пакета
-тип передачи
-направление передачи(изохронная передача)‏
Слайд 49

Обзор USB

Обзор USB

Слайд 50

Слайд 51

Слайд 52

Структура модели Драйвер USB EP EP EP EP EP0 Драйверы устройств

Структура модели

Драйвер
USB

EP

EP

EP

EP

EP0

Драйверы устройств

интерфейсы

Устройство USB

Каналы

Каналы

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

Основной канал
сообщений

Слайд 53

Кадры Любой обмен по шине USB инициируется хост-контроллером. Он организует обмены

Кадры
Любой обмен по шине USB инициируется хост-контроллером. Он организует обмены с

устройствами согласно своему плану распределения ресурсов.
Контроллер циклически (с периодом 1,0 ± 0,0005 мс) формирует кадры (frames), в которые укладываются все запланированные передачи.
Каждый кадр начинается с посылки пакета-маркера SOF (Start Of Frame, начало кадра), который является синхронизирующим сигналом для всех устройств, включая хабы. В конце каждого кадра выделяется интервал времени EOF (End Of Frame, конец кадра), на время которого хабы запрещают передачу по направлению к контроллеру. Если хаб обнаружит, что с какого-то порта в это время ведется передача данных, этот порт отключается.
В режиме высокоскоростной передачи пакеты SOF передаются в начале каждого микрокадра (период 125 ± 0,0625 мкс).
Хост планирует загрузку кадров так, чтобы в них всегда находилось место для наиболее приоритетных передач, а свободное место кадров заполняется низкоприоритетными передачами больших объемов данных. Спецификация USB позволяет занимать под периодические транзакции (изохронные и прерывания) до 90% пропускной способности шины.
Каждый кадр имеет свой номер. Хост-контроллер оперирует 32-битным счетчиком, но в маркере SOF передает только младшие 11 бит. Номер кадра циклически увеличивается во время EOF
Слайд 54

Для изохронной передачи важна синхронизация устройств и контроллера. Есть три варианта

Для изохронной передачи важна синхронизация устройств и контроллера. Есть три варианта

синхронизации:
синхронизация внутреннего генератора устройства с маркерами SOF;
подстройка частоты кадров под частоту устройства;
согласование скорости передачи (приема) устройства с частотой кадров.
В каждом кадре может быть выполнено несколько транзакций, их допустимое число зависит от скорости, длины поля данных каждой из них, а также от задержек, вносимых кабелями, хабами и устройствами. Все транзакции кадров должны быть завершены до момента времени EOF. Частота генерации кадров может немного варьироваться с помощью специального регистра хост-контроллера, что позволяет подстраивать частоту для изохронных передач. Подстройка частоты кадров контроллера возможна под частоту внутренней синхронизации только одного устройства.
Слайд 55

Типы пакетов и их идентификаторы PID

Типы пакетов и их идентификаторы PID

Слайд 56