Микроконтроллерные устройства
Главная | Каталог статей | Регистрация | Вход
Суббота
18.05.2024
21:55
Приветствую Вас Гость | RSS
Главная » Статьи » Интерфейсы » USB

Введение в USB

1. ВВЕДЕНИЕ

    Интерфейс USB (Universal serial bus / Универсальная последовательная шина) фактически представляет собой промышленный стандарт для ПК, здесь он практически полностью вытеснил другие ранее широко использовавшиеся интерфейсы, такие как RS232 или параллельный порт. Основная цель данного документа – краткое введение в интерфейс и описание общих принципов его работы.

2. АППАРАТНЫЙ ИНТЕРФЕЙС

2.1. Хост или периферийное устройство

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

2.2. Питание

     USB-устройство может питаться от отдельного источника питания (self powered device) либо получать питание непосредственно от шины (bus powered device, питание обеспечивает хост). Напряжение питания USB составляет 5 В. Для т.н. низкопотребляющих устройств (low power device) установлено ограничение на величину тока, потребляемого по шине питания USB – 100 мА; для устройств с повышенным энергопотреблением (high power device) этот ток ограничивается значением в 500 мА. При этом оговариваются следующие условия. Значение в 100 мА является предельным значением тока, который хост/шина способен обеспечить в любом случае. Если требуемый от хоста внешним устройством ток потребления превышает 100 мА, он обеспечивается только после окончания процедуры перечисления внешнего устройства и определения его состояния как активное. Если устройство не проходит перечисление или переходит в режим приостановки (неактивное состояние), ток потребления ограничивается величиной 100 мА. При питании USB-устройства от внешнего, отдельного источника ток потребления будет ограничен лишь возможностями самого источника (в терминах его максимальных выходного тока или мощности). Также заметим, что USB-концентратор (хаб), питаемый от шины, не может обеспечить на портах токи, превышающие 100 мА.

2.3. Сигналы

     Шина данных USB представляет собой дифференциальный двухпроводный интерфейс с сигналами, обозначаемыми как D+ и D-. Сигнальные линии двунаправленные; диапазон напряжений, действующих на линиях, от 0 до 3,3 В.
 

2.4. Описание разъемов

     Стандартом определяется ряд разъемов, обеспечивающий минимальное количество кабелей и корректное подключение. Стандартизация позволяет упростить взаимодействие и удешевить производство.

     2.4.1. Тип А

     Разъем Типа А является наиболее распространенным типом USB-разъемов. Например, на всех современных ПК установлены гнезда именно такого типа. Для подключения к ПК периферийных USB-устройств часто используется кабель с вилкой разъема Типа А. Конструктивно Тип А представляет собой разъем прямоугольной формы с однорядным расположением контактов. Контакты «Земли»/GND и «Питания»/PWR должны выступать вперед относительно сигнальных контактов, что обеспечивает корректное электрическое подключение. Схематическое изображение гнезда USB-разъема Типа А и назначение его контактов приведено на рис 1.
 

 

Рис. 1

     2.4.2. Тип В

     Разъем Типа В наиболее часто используется на стороне периферийных устройств, размеры которых не позволяют непосредственное подключение их к хосту (ПК). При этом для подключения используется внешний кабель-переходник с Типа А на Тип В. На стороне периферийного устройства устанавливается гнездо разъема типа B; кабель, соответственно, снабжается вилкой Типа В. Разъем Типа В имеет квадратную форму, контакты разъема располагаются по углам конструкции. Нумерация контактов приведена на рис. 1, их назначение соответствует описанию, приведенному для разъема Типа А.

     2.4.3. Мини

     Разъемы этого типа используются в оборудовании с малыми габаритными размерами. Гнездо разъема устанавливается на периферийном устройстве, а вилка – на кабель переходника. Разъем Мини-USB по форме аналогичен разъему Типа А, но существенно меньше в размерах. Назначение контактов разъема показана ниже. Контакт 4 используется в режиме OTG с возможностью определения является ли устройство хостом или периферийным устройством. В приложениях без использования функций OTG этот контакт не используется.

2.5. Скоростные режимы USB

     Для интерфейса определены три различные скорости передачи (на момент написания статьи рассматривалась новая спецификация USB 3.0, в которой вводится новый режим скорости). В спецификации USB 1.0 для интерфейса была определена скорость в 1,5 Мбит/с, в настоящем этот режим определяется как «низкоскоростной»/«low speed». «Низкоскоростные» устройства опознаются USB-хостом по подтягивающему резистору номиналом 1,5 кОм, подключаемому к сигнальной линии D-. В версии USB 1.1 значение скорости передачи было увеличено до 12 Мбит/c. Такой режим носит название «полноскоростного» / «full speed». «Полноскоростные» устройства опознаются USB-хостом по подтягивающему резистору номиналом 1,5 кОм, подключаемому к сигнальной линии D+. В спецификации USB 2.0 для интерфейса определена скорость в 480 Мбит/c. Соответствующий режим определяется как «высокоскоростной» / «high speed». При подключении такие устройства определяются как полноскоростные, их принадлежность к классу высокоскоростных устройств определяется хостом в процессе перечисления. Стандартом USB 2.0 поддерживаются все три скорости. Скорость, заявленная в спецификации USB 3.0, составляет 4,8 Гбит/c (устройства, отвечающие этой спецификации, определяются как «сверхскоростные» / «super speed»).

2.6. Режим приостановки (Suspend mode)

     Хост контролирует потребление мощности периферийным устройством. Если на шине в течении времени, более 3 мс не регистрируется никакой активности, то в целях снижения энергопотребления хост переведет устройство в режим временной остановки. Ток, потребляемый отдельным устройством, ограничивается в этом режиме на уровне 500 мкА.

3.1. Перечисление

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

3.2. Классы устройств

     Все USB-устройства разделяются по классам. Такое деление позволяет хосту различать периферийные устройства при их подключении. Например, поскольку USB-принтер и USB-мышь предназначены для выполнения разных задач и требуют отдельных драйверов, их относят к разным классам. Полный список классов USB-устройств приведен здесь: http://www.usb.org/developers/defined_class.
     Основные классы USB-устройств поддерживаются ОС Windows по умолчанию, поэтому для них, как правило, нет необходимости устанавливать отдельные драйвера.

3.3. VID/PID

     Идентификационный код производителя (VendorID/VID) и продукта (изделия) (ProductID/PID) USB-устройства совместно с адресом порта хоста используются хостом в качестве адреса для определения уникального устройства, выбора и использования соответствующего ему драйвера. Компании-производителю VID присваивается организацией разработчиков USB (USB Implementers Forum, www.usb.org), которая следит за тем, чтобы каждая компания получила свой уникальный код. Вместе с VID производитель получает доступ к PID в диапазоне от 0x0000 до 0xFFFF с правом распоряжаться каждым кодом по своему усмотрению. Например, FTDI присвоен VID 0x0403. Несколько PID-кодов компания зарезервировала для своих внутренних нужд, оставшиеся номера могут быть переданы и использованы при разработке пользовательских USB-устройств и драйверов к ним.

3.4. Режимы передачи данных

     3.4.1. Передача массивов данных

     В режиме передачи массивов данные передаются пакетами фиксированного размера. В полноскоростных устройствах по умолчанию используются пакеты размером 8, 16, 32 или 64 байт. В высокоскоростных устройствах размер пакетов ограничен 512 байтами. Режим предпочтителен для передачи большого объема данных; достоверность принимаемых данных контролируется с помощью CRC-кода.

      3.4.2. Передача по прерываниям

     Данный режим предпочтительно использовать в случае, если необходимые данные передаются нечасто и их требуется передавать в определенный, контролируемый период времени. Режим также предполагает использование механизма обнаружения ошибок с возможностью повторной передачи данных. Максимальный размер пакета данных для полноскоростных устройств здесь также не превышает 64 байт, для высокоскоростных устройств максимальный размер составляет 1024 байт. Для того, чтобы данные могли быть переданы с минимальным временем ожидания, запрос на прерывания ставится в очередь до следующего опроса устройства хостом.

      3.4.3. Изохронная передача

     Изохронный режим предназначен для передачи непрерывного потока данных, представляющих собой, например, аудиосигнал. При этом для обеспечения гарантированной передачи определенного объема данных за определенное время используется принцип равномерного распределения полосы. Такой подход не позволяет использовать повторную отправку данных, и не гарантирует корректный прием.

3.5. Конечные точки

     Конечные точки представляют собой логические абстракции, которые используются хостом для организации связи с устройством. Каждое устройство имеет управляющую конечную точку, обозначаемую обычно как конечная точка 0. Управляющая точка используется для получения дескрипторов и конфигурирования устройства. Для передачи прикладных данных от периферийного устройства к хосту используют точку, определяемую как входная (IN), любое устройство должно иметь как минимум одну входную точку. Для передачи прикладных данных от хоста к периферийному устройству служит выходная конечная тока (OUT), любое устройство должно иметь как минимум одну выходную точку. Входные и выходные точки конфигурируются под определенные режимы передачи данных.
 
Перевод статьи "What is USB?” FTDI Technical Note TN_110 (2009 г.) (http://www.ftdichip.com)
Перевод и адаптация: Ванцев Д.В. /16.08.2011/
Категория: USB | Добавил: Dante (23.03.2011) | Автор: Ванцев Д.В. E W
Просмотров: 18696 | Рейтинг: 2.0/4
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Категории раздела
USB [1]
RS232 [1]
RS485 [0]
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright MyCorp © 2024
Создать бесплатный сайт с uCoz