Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Answers.doc
Скачиваний:
26
Добавлен:
15.04.2019
Размер:
3.19 Mб
Скачать

39. Организация интерфейса usb.

Возможности USB следуют из ее технических характеристик:

Высокая скорость обмена (full-speed signaling bit rate) - 12 Mb/s

Максимальная длина кабеля для высокой скорости обмена - 5 m

Низкая скорость обмена (low-speed signaling bit rate) - 1.5 Mb/s

Максимальная длина кабеля для низкой скорости обмена - 3 m

Максимальное количество подключенных устройств (включая размножители) - 127

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

Отсутствие необходимости в установке пользователем дополнительных элементов, таких как терминаторы для SCSI

Напряжение питания для периферийных устройств - 5 V

Максимальный ток потребления на одно устройство - 500 mA

Для передачи сигналов шина USB использует четырехпроводной интерфейс. Одна пара проводников ("+5В" и "общий") предназначена для питания периферийных устройств с нагрузкой до 500 мА. Данные передаются по другой паре ("D+" "D"). Для передачи данных используются дифференциальные напряжения до 3 В (с целью снижения влияния шума) и схема кодирования NRZI1) (что избавляет от необходимости выделять дополнительную пару проводников под тактовый сигнал).

Интерфейс USB 1.1 декларирует два режима:

низкоскоростной подканал (пропускная способность - 1,5 Мбит/с), предназначенный для таких устройств, как мыши и клавиатуры;

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

Все концентраторы должны поддерживать на своих исходящих портах устройства обоих типов, не позволяя высокоскоростному трафику достигать низкоскоростных устройств. Высокопроизводительные устройства подключаются с помощью экранированного кабеля, длина которого не должна превышать 3 м. Если же устройство не формулирует особых требований к полосе пропускания, его можно подключить и неэкранированным кабелем (который может быть более тонким и гибким). Максимальная длина кабеля для низкоскоростных устройств - 5 м. Требования устройства к питанию (диаметр проводников, потребляемая мощность) могут обусловить необходимость использования кабеля меньшей длины. Из-за особенностей распространения сигнала по кабелю число последовательно соединенных концентраторов ограничено шестью (и семью пятиметровыми отрезками кабеля).

Хост узнает о подключении или отключении устройства из сообщения от концентратора (эта процедура называется опросом шины - bus enumeration). Затем хост присваивает устройству уникальный адрес USB (1:127). После отключения устройства от шины USB его адрес становится доступным для других устройств.

Для индивидуального обращения к конкретным функциональным возможностям составного устройства применяется 4-битное поле конечной точки. В низкоскоростных устройствах за каждой функцией закрепляется не более двух адресов конечных точек: нулевая конечная точка используется для конфигурации и определения состояния USB, а также управления функциональным компонентом; а другая точка - в соответствии с функциональными возможностями компонента. Устройства с максимальной производительностью могут поддерживать до 16 конечных точек, резервируя нулевую точку для задач конфигурации и управления USB.

Хост опрашивает все устройства и выдает им разрешения на передачу данных (рассылая для этого пакет-маркер - Token Packet). Таким образом, устройства лишены возможности непосредственного обмена данными - все данные проходят через хост. Это условие сильно мешало внедрению интерфейса USB на рынок портативных устройств. В результате в конце 2001 года было принято дополнение к стандарту USB 2.0 - спецификация USB OTG (On-The-Go), предназначенная для соединения периферийных USB-устройств друг с другом без необходимости подключения к хосту (например, цифровая камера и фотопринтер). Устройство, поддерживающее USB OTG, способно частично выполнять функции хоста и распознавать, когда оно подключено к полноценному хосту (на основе ПК), а когда - к другому периферийному устройству. Спецификация описывает также протокол согласования выбора роли хоста при соединении двух USB OTG-устройств.

Данные на шине передаются транзакциями, интервал между которыми составляет 1 мс. Предусмотрено четыре типа транзакций.

Управляющие передачи используются для конфигурации вновь подключенных устройств (например, присвоения им адреса USB) и их компонентов. Устройства с максимальной производительностью могут быть настроены на работу с конфигурационными сообщениями длиной 8, 16, 32 или 64 байта (по умолчанию - 8 байт). Устройства с низкой производительностью в состоянии распознавать управляющие сообщения длиной не более 8 байт.

Групповая передача (bulk) используется для адресной пересылки данных большого объема (до 1023 байт). В качестве примера можно привести передачу данных на принтер или от сканера. Устройства с низкой производительностью не поддерживают этот режим.

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

Изохронные передачи (передачи в реальном масштабе времени). Пропускная способность и задержка доставки оговариваются до начала передачи данных. К изохронным данным алгоритмы коррекции ошибок неприменимы (поскольку время на повторную их ретрансляцию превышает допустимый интервал задержки). За один сеанс в таком режиме может быть передано до 1023 байт. Устройства с низкой производительностью не поддерживают этот режим.

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

Формат пакета запроса представлен на рисунке 4. Он состоит из маркера запроса, определяющего его тип, адреса устройства, адреса конечной точки, контрольной суммы CRC5.

Маркер запроса

{SETUP | IN | OUT | PING}

Адрес устройства

Адрес конечной точки

CRC5

Маркер запроса может иметь одно из 4-х значений:

l  SETUP – означает что хост начинает контрольную передачу для указанной точки устройства;

l  IN – хост ожидает данные от устройства;

l  OUT – хост начинает передачу данных конечной точке устройства;

l  PING – хост на высокоскоростной шине проверяет состояние конечной точки направления OUT.

За пакетом запроса следует пакет полезных данных. Его формат показан на рисунке 5. Пакет содержит в себе маркер данных, непосредственно данные и контрольную сумму CRC16.

Маркер данных

{DATA0 | DATA1 |DATA2| DATA}

Данные

CRC16

Маркеры данных призваны обеспечивать контроль целостности данных на уровне потока. Применяются следующие значения:

l  DATA0 обозначает четный пакет данных;

l  DATA1 – нечетный пакет данных;

l  значения DATA2 и MDATA используются при изохронном обмене на высокоскоростной шине.

Пакеты подтверждения состоят только из соответствующего маркера. Они предназначены для сообщения о результатах передачи данных и текущего статуса конечной точки. В протоколе предусмотрены следующие маркеры подтверждения:

l  ACK – даные получены без ошибок и будут обработаны;

l  NAK: для точки направления OUT означает что данные получены без ошибок, но в данный момент не могут быть обработаны и требуется их повторная передача; для точки направления IN говорит о том, что данные еще не готовы, хост может повторить попытку позднее.

l  STALL – запрос не поддерживается.

l  NYET – данные текущего пакета получены корректно и будут обработаны, но следующий пакет точка принять сразу не сможет.

Кроме перечисленных в протоколе оговорены еще несколько типов пакетов: SOF, PRE, ERR, SPLIT. Они выполняют служебные функции. Например, пакет SOF используется для синхронизации.

На шине USB предусмотрено 4 режима передачи данных:

l  CONTROL,

l  BULK,           

l  INTERRUPT,

l  ISOCHRONOUS.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]