Последовательные шины usb. Последовательная универсальная шина USB (Universal Serial Bus)

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

Основные свойства шины USB:

Возможность подключения до 127 физических устройств;

Автоматическое распознавание периферии;

Образование различных конфигураций;

Реализация как изохронных, так и синхронных типов передач с широким диапазоном скоростей;

Наличие механизма обработки ошибок;

Управление питанием и т.д.

Технология шины USB представлена на рис.7.1 и имеет многоуровневую звездообразную структуру (древовидную конфигурацию).

Рис.7.1. Топология шины USB

Каждую звезду образует хаб (пункт присоединения), обеспечивающий подключение одного или несколько функционеров (функ), периферийных устройств. Шина USB содержит один хост (контроллер), образующий корневой уровень и управляющий работой функционеров. Хаб является основным элементом в архитектуре USB, поддерживающей соединение нескольких хабов. В состав хаба входит один верхний потоковый порт ВПП, необходимый для подключения хаба к «хвосту», и несколько нижних потоковых портов (НПП), соединяющих его с другими хабами и (или) функционерами (рис.7.2).

Рис.7.2. Общий вид хаба

Хаб выполняет следующие функции: обнаружение присоединения (отсоединения) другого хаба или функционера; управление питанием и конфигурированием устройств, подключенных к соответствующим НПП. Хаб содержит контроллер и репитер (управляемый протоколом переключатель портов между ВПП и НПП1-НПП7). Контроллер использует интерфейсные регистры для выполнения связи с хостом, который с помощью управляющих команд конфигурирует хаб и следит за его партнерами. На рис.7.3 показана система типа «рабочий стол», содержащая хабы и функционеры.

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

Рис.7.3. Система рабочий стол, содержащая хабы и функционеры

USB-хост (центральная ЭВМ) осуществляет доступ к USB-устройствам с помощью хост-контроллера, который выполняет следующие действия:

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

Обнаружение подключенных (отключенных) устройств;

Сбор информации о состоянии системы;

Управление питанием.

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

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

Сигналы данных D+ и D- и питание (V и G – земля) в шине USB передаются от точки к точке по четырем проводам 90-омного кабеля (рис. 7.4.) с максимальной длиной 5м. Номинальное напряжение питания – 5v.

Рис.7.4. Кабель USB

Хост (хаб) обеспечивает питанием устройства USB, которые подключены к нему. Кроме того, устройства USB могут иметь автономное питание. Питание по шине USB имеет ограниченную величину.

Шина USB обеспечивает два диапазона скоростей передачи информации: низкая скорость (1,5 Мбит/с) и высокая скорость (12 Мбит/с). Низкоскоростной режим применяется для взаимодействия с интерактивными устройствами (мышью, трекболом и т.п.), а высокоскоростной режим – с адаптером телефона, аудио- или видеоустройствами. Каждому пакету данных предшествует поле синхронизации, которое позволяет приемникам согласовывать во времени их таймеры (генераторы) для приема данных. Поле синхронизации содержит синхроимпульсы, закодированные по методу NRZI с битовым заполнением.

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

USB выполняет следующие типы передач по соответствующим каналам в одном или обоих направлениях:

Управляющую спонтанную (непериодическую) передачу по типу запрос/ответ, используемую для передачи команд/состояния и обычно применяемую с целью конфигурирования устройства в момент его подключения;

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

Передачу прерывания (непериодическую передачу данных с низкой частотой из устройства в любой момент времени, состоящую из одного или нескольких байтов, направляемых в главную ЭВМ и требующих обслуживания устройства);

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

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

Через каналы перемещается информация между хостом и конечной точкой с использованием буферной памяти. Различают два режима работы канала: поток – данные, не имеющий определенной структуры, и сообщение – данные, передаваемые в соответствии с заданным порядком. Системное программное обеспечение (ПО) монопольно владеет каналом и представляет его другим ПО. Пользователь ПО запрашивает передачи по каналу, ждет их и затем уведомляется о завершении передач данных. Конечная точка сигналом NAK может сообщить хосту о том, что она занята.

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

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

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

На рис.7.5 представлена общая схема взаимодействия компонентов шины USB.

Рис.7.5. Общая схема взаимодействия компонентов шины USB

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

В шине USB используется метод кодирования NRZI (без возвращения к нулю с инверсией). В этом случае метод кодирования NRZI состоит в том, что если бит передаваемых данных равен 0, то происходит изменение уровня напряжения, а - если равен 1, то уровень напряжения сохраняется. На рис.7.6 показан пример кодирования данных методом NRZI.

Рис.7.6. Пример кодирования методом NRZI

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

На диаграмме вначале показаны необработанные данные, содержащие поле синхрокомбинаций и пакет данных, причем синхрокомбинация имеет 7 нулей и заканчивается единичным битом, после которого начинается пакет данных. Затем на диаграмме изображены заполненные данные, которые дополнительно содержат после шести единиц вставленный бит 0. В число шести единиц входит и последний единичный бит синхрокомбинации. После этого выполняется кодирование заполненных данных методом NRZI с учетом и поля синхрокомбинации. Правило заполнения требует, чтобы бит 0 был вставлен, даже если этот бит будет последним, перед сигналом EOP (конец пакета).

Рис.7.7. Временная диаграмма этапов кодирования данных

Рассмотрим некоторые электрические требования шины USB. На рис.7.8 представлена схема симметричного шинного формирователя (драйвера) USB, содержащего два одинаковых буфера, выполненных по технологии КМОП.

Рис.7.8. Схема дифференциального формирователя

Симметричный дифференциальный формирователь содержит два разно-полярных выхода D+ и D-, имеющих три состояния, чтобы реализовать двунаправленную полудуплексную работу. Один из выходов представляет буферизованный повторитель входа, а другой является его дополнением. Эти выходы соединяются парой скрещенных проводов со входами дифференциального приемника. Таким образом, по проводам передаются два сигнала, которые подвергаются в одинаковой мере воздействию синфазных помех, устраняемых дифференциальным приемником.

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

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

На рис.7.9 показана диаграмма сигналов на выходах формирователя для скорости передачи 12 Мбит/с (а) и 1.5 Мбит/с (б).

Рис.7.9. Диаграммы сигналов на выходах формирователей для скоростей передачи данных 12 Мбит/с (а) и 1.5 Мбит/с (б)

При скорости передачи данных 12 Мбит/с используется витая пара экранированного кабеля, а для скорости 1.5 Мбит/с – неэкранированный кабель с нескрученной парой проводников. Сопряжение приемопередатчиков (ПП) с помощью кабеля USB в случае высокоскоростной (а) и низкоскоростной (б) передач изображено на рис.7.10.

Из схем видно, что высокоскоростные устройства содержат резистор нагрузки (R Н) на линии D+, а низкоскоростные – на линии D-, что позволяет определить тип подключенного устройства USB. Когда устройство USB не управляет линиями D+ и D-, то на линии с R Н имеется напряжение около 3В, а на другой – близкое к 0В. Такое состояние шины называется пассивным состоянием.

Рис.7.10. Схемы сопряжения ПП хоста (хаба) и функционера (хаба) для высокоскоростной (а) и низкоскоростной (б) передач

Если устройство не подключено к нижнему порту хоста (хаба) (или отсутствует питание), то на обоих линиях D+ и D- устанавливается асимметричный низкий уровень напряжения (0,6В), который используется для определения условия рассоединения или сообщения о конце пакета (EOP). Для высокоскоростных передач условием рассоединения является наличие асимметричного нуля в течение 2,5 мс (30 единиц времени передачи бита).

Считается, что связь с устройством установлена, если напряжение на одной из линий D+ (D-) достигает выше асимметричного высокого порога в 1,5В за время 2,5 мс.

Определение факта рассоединения и связанности устройства USB показано на рис.7.11.

Рис.7.11. Установление факта рассоединения (а) и связи устройства USB (б)

Общее время передачи данных оценивается числом битов данных, умноженным на период (Т), определяемый скоростью передачи данных. На рис.7.12 представлена временная диаграмма передачи данных по дифференциальным линиям данных D+ и D-.

Рис.7.12. Временная диаграмма передачи данных

В соответствии с кодом NRZI бит 0 вызывает переключение уровней напряжения, а бит 1 сохраняет соответствующие уровни напряжения на линиях D+ и D-. Длительность асимметричного нуля в EOP равна 2Т без учета времени задержки.

Начало пакета (SOF) определяется первым битом поля синхронизации, когда пассивное состояние линий D+ и D- переходит в активное. Устройства USB поддерживают режим приостановки, который вызывается тем, что пассивное состояние линий D+ и D- удерживается более 3 мс.

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

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

Хабы, получающие питание от шины и обеспечивающие питанием внутренние функциональные устройства и низшие порты;

Хабы с автономным питанием, которые позволяют снабдить питанием пять модулей, каждый из которых потребляет 100 мА, составляющие нагрузку модуля;

Маломощные (с нагрузкой одного модуля) и высокомощные (с нагрузкой пяти модулей) устройства, потребляющие питание из шины;

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

Рассмотрим форматы пакетов, определяемых стандартом шины USB. Различают опознавательные, информационные пакеты и пакеты квитирования. Каждому пакету предшествует передача 8-битного поля синхронизации. Формат опознавательного пакета изображен на рис. 7.13.

Рис.7.13. Формат опознавательного пакета

Вслед за полем синхронизации для каждого пакета передается 8-битный идентификатор (ИД) младшим битом вперед. Биты D0-D3 поля ИД задают тип пакета (формат и способ обнаружения ошибок соответствующего пакета), а биты D4-D7 являются инверсными значениями младших четырех битов и служат в качестве поля проверки правильности передачи поля ИД, которые делятся на опознавательные, информационные, квитирования и специальные.

Для выбора устройства и конечной точки (КТ) в нем используется 7-битный адрес устройства и 4-битный номер КТ. Поле адреса предназначено для ввода (вывода) данных и установочных опознавателей. При сбросе или отключении питания адрес устройства принимает значение 0 и затем программируется хостом. Низкоскоростные устройства содержат до двух точек, а высокоскоростные – до 16 конечных точек. Поле адреса и номера КТ защищены 5-битовым контрольным циклическим кодом (КЦК). Циклический избыточный контроль состоит в том, что биты поля КЦК представляют собой коэффициенты двоичного полинома (5-битовый эквивалент), а байты контроля ошибок получаются путем деления этого полинома на заданный 16-битный полином. По двоичному коду остатка определяют наличие или отсутствие ошибки.

Пакет поля данных состоит из 8-битного поля ИД, поля данных (0-1023 байтов) и 16-битного поля КЦК (рис.7.14).

Рис.7.14. Формат пакета данных

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

Пакет квитирования содержит только поле ИД и предназначен для проверки успешности передачи данных. Различают три типа этого пакета: ACK (подтверждение) – пакет данных получен без ошибок и пакет ИД верен (пакет применяется при передаче данных); NAK (неподтверждение) – пакет, показывающий на невозможность устройством принять данные от хоста (временный отказ) или устройство не имеет данных для передачи хосту (кроме того, пакет используется для сообщения о временной паузе в передаче или приеме данных устройством); STALL – ответный пакет, говорящий о постоянном отказе и необходимости вмешательства программы хоста.

Опознавательный пакет SOF (начало фрейма) позволяет хабам или устройствам идентифицировать начало фрейма и синхронизировать их внутренние таймеры с таймером главной ЭВМ. Формат опознавательного пакета показан на рис.7.15.

Рис.7.15. Формат опознавательного пакета

Фрейм состоит из ряда транзакций (действий на шине), имеющих начало от одного SOF-маркера, и продолжается до начала следующего SOF-маркера. Устройство или хаб определяют начало фрейма по 8-битному ИД SOF-пакета.

Существуют следующие транзакции: массива данных, управления, прерывания и изохронного типа.

Транзакция массива данных при вводе данных в хост состоит из опознавательного пакета с запросом ввода, пакета данных (Данные (0/1)) из устройства и пакета квитирования (NAK или STALL), посылаемого устройством вслед за данными. Если пакет данных принят верным, то хост отвечает устройству пакетом ACK.

При вводе данных из хоста в устройство хост направляет опознавательный пакет с запросом вывода, а затем пакет данных. Устройство отвечает хосту одним из трех пакетов квитирования (ACK, NAK или STALL).

Последовательность действий хоста и устройства при передачи массивов данных показана на рис.7.16.

Рис.7.16. Последовательность действий хоста и устройства

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

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

С целью синхронизации компонентов шины USB выполняется чередование пакетов с идентификатором Данные(0) и пакетов с идентификатором Данные(1). Переключение пакетов данных в передатчике выполняется после получения пакета квитирования ACK, а в приемнике – после получения очередного пакета.

Переходы управления содержат две стадии: Установка и Состояние, между которыми может присутствовать информационная стадия. Во время стадии Установки выполняется передача данных только с форматом поля ИД Данные(0) к конечной точке управления устройства.

Транзакция Установки изображена на рис.7.18.

Рис.7.18. Транзакция Установки

Сигнал квитирования ACK не выдается, если данные являются неверными. При наличии стадии данных выполняется их передача в одном направлении в соответствии с требованиями протокола. Эта стадия может состоять из нескольких транзакций ввода и вывода и размер массива данных задается в пакете Установка.

Стадия Состояния является последней в рассматриваемой последовательности и использует идентификатор Данные 0.

На рис.7.19 показана очередность транзакций и идентификаторов данных для управления чтением или записью.

Рис.7.19. Очередность транзакций и ИД данных

В стадии Состояние от устройства к хосту передается следующая информация: устройство выполнило задачу (ACK), устройство не содержит ошибок (STALL) и устройство занято (NACK).

Транзакции прерываний содержат опознаватели ввода. На рис.7.20 изображены последовательности транзакций прерываний.

Рис.7.20. Последовательности транзакций прерываний

Если устройство получает опознаватель ввода, то оно выдает данные по прерыванию в виде пакета и получает ACK или передает NACK/STALL. Пакет квитирования NAK направляется устройством, когда оно не содержит информации для нового прерывания, а пакет квитирования STALL – устройством, если оно временно приостановило работу.

Изохронные транзакции не имеют стадии квитирования. На рис.7.21 представлены стадии изохронных транзакций.

Рис.7.21. Стадии изохронных транзакций

При выполнении изохронного режима меняется поочередно пакеты данных с соответствующими идентификаторами, т.е. сначала следует пакет данных Данные(0), а за ним – пакет Данные(1) и т.д.

Предыдущая

Шины PCI и PCI Express подходят для соединения высокоскоро­стных периферийных устройств, но использовать интерфейс PCI для низкоско­ростных устройств ввода-вывода (например, мыши и клавиатуры) неэффективно.

Кроме того, для добавления новых уст­ройств использовались свободные ISA- и PCI-слоты, в которые вставлялись платы контроллеров УВВ.

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

Для многих этот процесс очень сложен и часто приводит к ошибкам. Кроме того, количество ISA- и PCI-слотов очень мало (обычно два или три).

В 1993 году представители семи компаний (Compaq, DEC, IBM, Intel, Micro­soft, NEC и Nothern Telecom) разработали шину, опти­мально подходящую для подсоединения низкоскоростных устройств.

Результатом их работы стала шина USB (Universal Serial Bus - универсальная последовательная шина), удовлетворяющую следующим требованиям:

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

Общая пропускная способность первой версии шины (USB 1.0) составляет 12 Мбит/с.

Версия 2.0 работает на скорости 480 Мбит/с что вполне достаточно для принтеров, цифровых камер и многих других устройств. Предел был выбран для того, чтобы снизить стоимость шипы.

Версия USB 3.0 повышает максимальную скорость передачи информации до 5 Гбит/с - что на порядок больше USB 2.0 (480 Мбит/с). Таким образ, скорость передачи возрастает с 60 Мбайт/с до 600 Мбайт/с

Шина USB состоит из корневого хаба (root hub), который вставляется в разъем главной шины (см, рис. 3.49). Этот корневой хаб (часто называемый корневым концентратором) содержит разъемы для кабелей, которые могут подсоединяться к устройствам ввода-вывода или к дополнительным хабам, чтобы увеличить ко­личество разъемов.

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



Кон­некторы (разъемы) кабеля со стороны устройства отличаются от коннекторов со стороны хаба, чтобы пользователь случайно не подсоединил кабель другой стороной.

Кабель состоит из четырех проводов: два из них предназначены для переда­чи данных, один - для питания (+5 В) и один - для земли. Система передает 0 изменением напряжения, а 1 - отсутствием изменения напряжения» поэтому длинная последовательность нулевых битов порождает поток регулярных им­пульсов.

Когда соединяется новое устройство ввода-вывода, корневой хаб обнаружи­вает этот факт и прерывает работу операционной системы.

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

Если операционная система решает, что для этого устройства пропускной способности достаточно, она приписывает ему уникальный адрес (1-127) и загружает этот адрес и другую информацию в конфигурационные регистры внутри устройства.

Таким образом, новые устройства могут подсоединяться *ша лету», при этом пользователю не нужно устанавливать новые платы ISA или PCI.

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

Шипа USB представляет собой ряд каналов между корневым хабом и устрой­ствами ввода-вывода. Каждое устройство может разбить свой канал максимум на 16 подканалов для различных типов данных (например, аудио и видео).

В ка­ждом канале или подканале данные перемещаются от корневого хаба к устройст­ву и обратно- Между двумя устройствами ввода-вывода обмена информацией не происходит.

Ровно через каждую миллисекунду (±0,05 мс) корневой хаб передает новый кадр, чтобы синхронизировать все устройства во времени. Кадр состоит из пакетов, первый из которых передается от хаба к устройству. Следующие пакеты кадра могут передаваться в том же направлении, а могут и в противоположном (от уст­ройства к хабу). На рис. 3,55 показаны четыре последовательных кадра.

В 1998 году была создана высокоскоростная версии USB, названной USB 2.0. Этот стандарт во многом аналогичен USB 1A и совместим с ним, однако к двум прежним скоростям в нем добавляется новая - 480 Мбайт/с.

3 Организации памяти в ЭВМ

3.1 Иерархическая организация памяти и принцип локальности ссылок

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

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

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

Иерархическая организация памяти имеет вид, представленный на рис. 3.1, где показаны диапазоны значений емкости и производи­тельности устройств памяти для современных компьютеров.


Р и с. 3.1. Иерархическая организация памяти

ОЗУ - оперативное запоминающее устройство;

ПЗУ - постоянное запоминаю­щее устройство;

CD/DVD - накопитель на оптических дисках;

HDD (Hard Disk Drive) - накопитель на жестком магнитном диске;

SSD (Solid State Drive) - накопитель на«твердом» диске

На рис. 3.1 видно, что на более высоких уровнях иерархии расположены устройства с меньшей емкостью памяти, но с большим быстродей­ствием.

Регистровая память или регистровый файл изготавливается в кри­сталле процессора по такой же технологии и имеет такое же быстро­действие, как и операционные элементы процессора.

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

Во многих моделях процессоров кэш- память второго уровня интегрирована в ядро процессора.

Кэш-память третьего уровня выполняется в виде отдельной ми­кросхемы с высоким быстродействием, либо в процессоре, как в ар­хитектуре Nehalem.

Эффективность иерархической организации связана с важней­шим принципом локальности ссылок или принципом локальности по обращению.

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

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

Кроме того, программы содержат множество не­больших циклов и подпрограмм, которые многократно повторяются в течение интервала времени.


На рис. 3.2 показаны размещенные в па­мяти два участка программы и соответствующие им области данных.

Р и с. 3.2. Расположение программы и данных в памяти и локальность ссылок

Это явление называется локальность ссылок или локальность по обращению. Известно правило «90/10» - то есть 90% времени работы программы связано с обращением к 10% адресного пространства этой программы.

3.2 Взаимодействие процессора и различных уровней памяти

Уровни иерархии памяти взаимосвязаны: все данные на одном уровне могут быть также найдены на более низком уровне, и все дан­ные на этом более низком уровне могут быть найдены на следующем нижележащем уровне и так далее.

В каждый момент времени идет об­мен с двумя близлежащими уровнями. Минимальная единица инфор­мации, которая может либо присутствовать, либо отсутствовать в двухуровневой иерархии, называется блоком.

Размер блока может быть либо фиксированным, либо переменным. Если этот размер за­фиксирован, то объем памяти является кратным размеру блока.

Успешное или неуспешное обращение к более высокому уровню называются соответственно попаданием (hit) или промахом (miss).

Попадание - обращение к объекту в памяти, который найден на более высоком уровне, в то время как промах означает, что он не найден на этом уровне.

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

Доля промахов есть доля обращений, которые не найдены на более высоком уровне.

Потери на промах - время для замещения блока в более высоком уровне на блок из более низкого уровня плюс время для пересылки этого блока в требуемое устройство (обычно в процессор).

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

Время доступа связано с задержкой памяти более низкого уровня, в то время как время пересылки связано с полосой пропускания канала между устройствами памяти двух смежных уровней.

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

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

При этом процессор «не знает», на каком уровне памяти находится этот исполнительный адрес, поэтому сразу формируется обращение к ОП.

Будем рассматривать блочную организацию данных.

· В регистровой памяти данные записы­ваются блоками в виде слов длиной 16, 32, 64 и 128 бит .

· В кэш-памя­ти блоком является строка длиной 16, 32 или 64 байта . В ОП чаще всего используются страницы по 4 - 8 Кб .

· На жестких дисках блоки - это сектора по 512 байт . Как правило, размер страницы ОП кратен длине сектора винчестера.

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

Если в кэш-памяти нет данных с адресом А исп, то нужный блок ищется в оперативной памя­ти, затем загружается в кэш-память и одновременно передается в про­цессор.

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

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

3.3 Адресная память

В адресном запоминающем устройстве (ЗУ) каждый запоминаю­щий элемент памяти - ячейка, имеет адрес, который показывает его расположение в адресном пространстве.

Поиск информации произво­дится по номеру (адресу) запоминающей ячейки, хранящей данные.

Совокупность N запоминающих ячеек образует запоминающую матрицу ЗМ.

Для компактного расположения запоминающих ячеек и упроще­ния доступа к ним ЗМ организуется как трехмерный куб.

В нем име­ются две адресные координаты A 1 и A 2 , а по третьей координате рас­полагаются

n-разрядные слова.

Если адрес, поступающий с ША, име­ет разрядность к, то он разделяется на две компоненты по k/2 адрес­ных бита:

M= 2 k /2 х 2 k /2 = 2 k .

В этом случае вместо одного ДША с M выходами используются два дешифратора с 2 k /2 выходами, что значи­тельно упрощает схемную реализацию.

На рис. 3.3. показана структурная схема адресного запоминающе­го устройства.

Запоминающая матрица ЗМ имеет две координаты: строки и столбцы. Блок управления (БУ) управляет устройствами ЗУ, получая извне сигналы: RAS, CAS, СЕ, WE и OE.

Сигнал выбора микросхемы СЕ разрешает работу именно этой микросхемы памяти.

Режим чтения или записи определяется сигна­лом WE. На все время, пока микросхема не использует шину данных ШД, информационные выходы регистров переводятся сигналом OE в третье состояние с высоким выходным сопротивлением.

Адрес строки на шине ША сопровождается сигналом RAS, разре­шающим прием адреса и его дешифрацию. После этого сигнал CAS разрешает прием и дешифрацию адреса столбца.

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

Управление операциями с памятью осуществляется контролле­ром памяти. На каждую операцию требуется, как минимум, пять тактов.

Указание типа операции (чтение или запись) и установка ад­реса строки.


Формирование сигнала RAS.

Установка адреса столбца.

Формирование сигнала CAS.

Запись или выдача данных и возврат сигналов RAS и CAS в неактивное состояние.

Р и с. 3.3. Адресное запоминающее устройство

ЗМ - запоминающая матрица;

RAS - сигнал строба строки (Row Address Strobe);

CAS - сигнал строба столбца(Column Address Strobe);

WE - разрешение записи (Write Enable);

OE - разрешение выдачи выходных сигналов (Output Enable);

CS - выбор микросхемы (Chip Select)

Латентность памяти и тайминги

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

Например, после выполнения команды чте­ния должна следовать задержка CAS (CAS La­tency). Это и есть ла­тентность (CL) - наиболее важная характеристика памяти.

Очевидно, чем меньше латентность, тем быстрее работает память.

Латентность памяти определяется ее таймингами, то есть задерж­ками, измеряемыми в количестве тактов между отдельными команда­ми.

Существует несколько видов таймингов памяти.

CL: CAS Latency - время, проходящее от момента подачи команды в память до начала ответа на этот запрос. Это вре­мя, которое проходит между запросом процессора на полу­чение некоторых данных из памяти и моментом выдачи этих данных памятью.

RAS-to-CAS (tRCD): задержка от RAS до CAS - время, ко­торое должно пройти с момента обращения к строке матри­цы (RAS), до момента обращения к ее столбцу матрицы (CAS), с целью выборки данных в которых хранятся нужные данные.

RAS Precharge(tRP) - интервал времени между моментом за­крытия доступа к одной строке и началом доступа к другой строке данных.

Active to Precharge или Cycle Time (tRAS) - пауза, которая нужна памяти, чтобы вернуться в состояние ожидания сле­дующего запроса.

CMD: Скорость поступления команды (Command Rate) - время с момента активации чипа памяти до момента, когда первая команда может обратиться к ней. Обычно это T1 (один тактовый цикл) или T2 (два тактовых цикла).

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

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

В течение последних 25-ти лет латентность оперативной памяти уменьшилась всего в три раза. При этом тактовая частота процессо­ров возросла в сотни раз.

3.4 Ассоциативная память

Понятие «ассоциация» относится, прежде всего, к памяти, в кото­рой выборка осуществляется не по адресному принципу, а по содер­жанию.

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


Поиск ведется с использованием ассоци­ативных признаков. Структура такой памяти представлена на рис. 3.4 .

Р и с. 3.4. Ассоциативная память

ЗМ - запоминающая матрица;

ШП - шина признака;

ШД - шина данных

Память хранит M ячеек для m+1 -разрядных слов, имеющих зна­чения признаков.

Служебный m +1-й разряд показывает: «0» - ячейка свободна для записи, «1» - ячейка занята. Значения ассоциативного признака формируются регистром маски из полей признаков, посту­пающих из шины признаков ШП в регистр ассоциативного признака.

Поиск в запоминающей матрице выполняется за один такт одновре­менно по полям ассоциативных признаков всех хранящихся слов.

Это является отличительной чертой ассоциативных устройств памяти.

Ре­ализация такого поиска осуществляется комбинационными схемами совпадения на базе элементов «сложение по модулю 2».

Шина USB (Universal Serial Bus – универсальная последовательная шина) появилась по компьютерным меркам довольно давно – версия первого утвержденного варианта стандарта появилась 15 января 1996 года. Разработка стандарта была инициировна весьма авторитетными фирмами – Intel, DEC, IBM, NEC, Northen Telecom и Compaq.

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

Возможности USB следуют из ее технических характеристик: высокая скорость обмена (full-speed signaling bit rate) – 12 Mбит/с; максимальная длина кабеля для высокой скорости обмена – 5 м; низкая скорость обмена (low-speed signaling bit rate) – 1,5 Mбит/с; максимальная длина кабеля для низкой скорости обмена – 3 м; максимальное количество подключенных устройств (включая размножители) – 127; возможно подключение устройств с различными скоростями обмена; напряжение питания для периферийных устройств – 5 В; максимальный ток потребления на одно устройство – 500 мA (это не означает, что через USB можно запитать устройства с общим током потребления 127 ´ 500 мA = 63,5 A)

Топология USB практически не отличается от топологии обычной локальной сети на витой паре, обычно называемой «звездой». Даже терминология похожа – размножители шины также называются HUB.

Условно дерево подключения USB устройств к компьютеру можно изобразить так (см. рис. 5.22) (цифрами обозначены периферийные устройства с USB интерфейсом):

Вместо любого из устройств может также стоять HUB. Основное отличие от топологии обычной локальной сети – компьютер (или host устройство) может быть только один. HUB может быть как отдельным устройством с собственным блоком питания, так и встроенным в периферийное устройство. Наиболее часто HUB"ы встраиваются в мониторы и клавиатуры.

Сигналы USB передаются по 4-х проводному кабелю, схематично показанному на рис. 5.22:

Рис. 5.22. Передача сигнала по USB-кабелю

Здесь GND – цепь «корпуса» для питания периферийных устройств, VBus – +5 V также для цепей питания. Шина D+ предназначена для передачи данных по шине, а шина D – для приема данных. Кабель для поддержки полной скорости шины (full-speed) выполняется как витая пара, защищается экраном и может также использоваться для работы в режиме минимальной скорости (low-speed). Кабель для работы только на минимальной скорости (например, для подключения мыши) может быть любым и неэкранированным.

В 1999 году тот же консорциум компьютерных компаний, который инициировал разработку первой версии стандарта на шину USB, начал активно разрабатывать версию 2.0 USB, которая отличается тем, что полоса пропускания шины увеличена в 20 раз, до 250 Mбит/с, что делает возможным передачу видеоданных по USB и делает ее прямым конкурентом IEEE-1394 (FireWire). Совместимость всей ранее выпущенной периферии и высокоскоростных кабелей полностью сохраняется и сохраняется одно из самых главных достоинств USB – низкая стоимость контроллера.

– Что такое USB?

Спецификация периферийной шины USB разработана лидерами компьютерной и телекоммуникационной промышленности -- Compaq, DEC, IBM, Intel, Microsoft, NEC и Northern Telecom -- для подключения компьютерной периферии вне корпуса машины по стандарту plug"n"play, в результате отпадает необходимость в установке дополнительных плат в слоты расширения и переконфигурировании системы. Персональные компьютеры, имеющие шину USB, позволяют подключать периферийные устройства и осуществляют их автоматическое конфигурирование, как только устройство физически будет присоединено к машине, и при этом нет необходимость перезагружать или выключать компьютер, а так же запускать программы установки и конфигурирования. Шина USB позволяет одновременно подключать последовательно до 127 устройств, таких, как мониторы или клавиатуры, выполняющие роль дополнительно подключенных компонентов, или хабов (т.е. устройство, через которое подключается еще несколько).

– Кто создал USB?

USB была разработана группой из семи компаний, которые видели необходимость во взаимодействии для обеспечения дальнейшего роста и развития расцветающей индустрии интегрированных компьютеров и телефонии. Эти семь компаний, продвигающие USB, следующие: Compaq, Digital Equipment Corp, IBM PC Co., Intel, Microsoft, NEC и Northern Telecom.

– Как это работает?

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

– Какие виды периферийного оборудования поддерживает USB для подключения к моему PC?

Вы знаете эти устройства: телефоны, модемы, клавиатуры, мыши, устройства чтения CD ROM, джойстики, ленточные и дисковые накопители, сканеры и принтеры. Скорость прокачки в 12 мегабит/секунду позволяет подключать через USB все современное поколение периферийных устройств, включая аппаратуру для обработки видео данных формата MPEG-2, перчатки для управления виртуальными объектами и дигитайзеры. Также, с ожиданием большого роста в области интеграции компьютеров и телефонии, шина USB может выступать в качестве интерфейса для подключения устройств Цифровой сети с интегрированными услугами (ISDN) и цифровых устройств Private Branch eXchange (PBX), позволяющих подключать большое количество телефонов к небольшому количеству линий связи.

– Нужно ли мне покупать специальное программное обеспечение, что бы работала USB-совместимая периферия?

Операционная система Windows 95 (начиная с версии OSR 2.1, выпущенной 29 октября 1996г.) поставляется уже со встроенными драйверами, которые позволяет Вашему персональному компьютеру распознавать USB периферию. В результате, Вам не нужно покупать или инсталлировать дополнительное программное обеспеченте для каждого нового периферийного устройства. Тем не менее, вместе с новой USB периферией вы получите дискету с новыми драйверами. Однако, не все так радужно - например, корректную работу принтера с интерфейсом USB способна обеспечить только OC Windows 98 и выше.

– Что означает существование USB для поставщиков систем и периферии?

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

  • "Готовая платформа" позволяет логично связать аппаратное и программное обеспечение для совместной поставки покупателю.
  • USB может снизить риск возможной несовместимости периферийного и программного обеспечения, поставляемого с компьютерами, за счет поставки готовых систем по ключ, которые удовлетворяют требованиям специализированных рыночных ниш.
  • USB-совместимая периферия может предложить частным и корпоративным покупателям больший выбор оборудования, без страха снижения функциональных возможностей аппаратных средств.
  • Реселлеры получают большую гибкость в подборе аппаратуры и готовых систем, для стимуляции покупательского спроса, за счет возможности комбинирования комплектов поставляемой периферии, без опасений, что что-то с чем-то не будет работать в паре.
  • USB может обеспечить поставщикам периферии дополнительную выгоду, за счет поставки нового оборудования для систем, использующих технологию MMX™.
  • USB может помочь поставщикам снизить их затраты на разработки, что в свою очередь позволит им устанавливать новые, более конкурентноспособные, цены.

– Где я могу найти текущую версию спецификации USB?

Текущая версия спецификации доступна для загрузки со страницы сообщества по внедрению USB - .

– Как много USB-совместимых компьютеров можно ожидать на рынке?

Компания Dataquest считает, что до 30 миллионов USB-совместимых персональных компьютеров будет продано в течении 1997, а в 1998 году, все персональные компьютеры будут оснащены шиной USB.

– Есть ли уже устройства для USB шины?

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

Так же доступны технологии, используемые для разработки и создания USB систем, таких как коннекторов, чипсетов и материнских плат.

– Как может применяться USB при наличие двух систем, например ноутбука и настольного компьютера?

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

– Что такое сообщество по внедрению USB (USB-IF)?

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

– Могу ли я присоединиться к сообществу USB-IF?

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

– Как можно сравнить USB со стандартом Sony FireWire/IEEE 1394?

Основные отличия состоят в области применения, доступности и цене. Использование USB доступно уже сейчас для традиционных устройств, подключаемых к PC, таких, как клавиатуры, мыши, джойстики и ручные сканнеры. Тем не менее, пропускная возможность USB в 12 Mb/сек более чем достаточна для большинства применений ее пользователями, включая более продвинутые игровые устройства, высококачественный звук и сжатое видео стандартов MPEG-1 и MPEG-2. Но, что более важно, применение USB не увеличивает стоимость готовой системы в силу интегрирования контроллера в чипсет.

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

– Заменит ли FireWire шину USB после своего появления?

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

– Что такое интеллектуальные вопросы собственности (Intellectual Property - IP) в отношении USB, лицензия ли это, сколько она стоит, что такое "Обратный Договор"(Reciprocal Covenent Agreement) о котором я слышал?

Использование USB свободно от авторского гонорара, т.е. создатели спецификации разрешают любому разрабатывать на ее основании продукцию без какой либо платы за это. Разработчики спецификации шины подписали IP соглашение, в котором обещается, что не будет никакого судебного преследования по любому включенному пункту в IP в пределах спецификации. Обратный Договор является копией этого соглашения с возможностью для любого, кто внедряет шину USB, подписать этот договор и вернуть его в администрацию USB-IF, для внесения записи о том, что соглашение прочитано и понято. Обратный Договор доступен каждому (членам USB-IF или нет) для разъяснения лицензионного соглашения на USB.

– Что такое сцпецификации OHCI и UHCI?

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

– Существует ли группа новостей про USB?

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

– Как я могу получить идентификационный индекс (ID) производителя USB?

Члены USB-IF получают ID производителя бесплатно, как только присоединяются к сообществу. Не члены сообщества могут получить ID производителя связавшись с администрацией USB-IF. С не членов сообщества взимается регистрационная пошлина в размере $200.

– Есть ли возможность увеличить длину соединения устройств через шину USB до 50-200 метров (например, используя оптоволокно), если это понадобится пользователям?

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

– Когда устройство отключено, его драйвер выгружается из памяти, если опять подключить это же устройство, будет ли его драйвер снова загружен?

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

– Существуют ли планы по увеличению пропускной способности шины USB вдвое, втрое?

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

– Может ли кто нибудь разъяснить разницу между соединителями серии "A" и "B"?

Коннекторы серии "A" разработаны для всех устройств USB, и являются разъемом для периферии и гнездом для персонального компьютера. В большинстве случаев, кабель USB должен быть встроен в периферийное устройство. Это снижает стоимость соединителей, избавляет от несовместимости, возможной в случае разного сопротивления кабелей, и упрощает действия пользователей по подключению. Однако в некоторых случаях встроенный кабель нельзя использовать. Хорошим примером могут служить очень большие и тяжелые устройства, плохо сочетатающиеся с тонким кабелем, который нельзя удалить, а так же устройства, подключаемые только изредка, которые интенсивно используются, когда не являются подключенными. Для таких случаев и были созданы коннекторы серии "B". Две серии коннекторов различаются внешне, это сделано для предотвращения соединений, которые бы могли нарушить топологию архитектуры USB.

– В чем разница между основным хабом и обычным с точки зрения аппаратной реализации и программного обеспечения?

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

– Возможно ли использование шины USB для подключения таких периферийных устройств, как CD-R, ленточных накопителей или жестких дисков?

Возможность применения основана на приемлемости уровня производительности. Если какое-то из этих устройств предполагается часто использовать, то, обычно предъявляются требования, что бы оно было механически интегрированно в систему и имело высокую производительность, опять же соответствующую уровню системы в целом. Шина USB не разрабатывалась для обеспечения постоянного соединения высокоскоростных периферийных устройств внутри корпуса компьютера. Если устройство используется время от времени или подключается к разным компьютерам, тогда, производительность, обеспечиваемая шиной USB будет более чем достаточной. Удобства использования и подключения устройств, обеспечиваемые USB с лихвой перевешивают параметры скорости предачи данных. Но все таки, USB обеспечивает скорость передачи на уровне 4x или 6x скоростных приводов CD (чего недостаточно для перезаписывающих устройств), но при этом лучшую, чем обеспечивают обычные ленточные накопители, подключенные через параллельный порт, дисководы для гибких магнитных дисков или съемные жесткие диски типа SyQuest.

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

Приеимущества шины:

  • USB устройство может быть подсоединено к компьютеру в любой момент времени, даже когда включен;
  • когда компьютер обнаруживает подключенное USB устройство, он автоматически опрашивает его, чтобы узнать его возможности и требования;
  • производит загрузку драйвера, а при отключении устройства драйвер автоматически выгружается;
  • USB устройство не использует джемперов, DIP переключателей, никогда не вызывает конфликтов прерываний, DMA, памяти;
  • расширяющие USB хабы позволяют подключать к одной шине большое количество устройств (до 127 устройств);
  • низкая стоимость USB устройств.

Возникновение USB сделало возможным создание USB Flash Drive (USB-накопитель).

История создания и развития интерфейса USB

Первая версия компьютерного интерфейс USB появилась 15 января 1996 года. Инициаторами проекта был альянс 7 крупных компаний производителей Intel, DEC, IBM, Northen Telecom, Compaq.

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

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

Все эти задачи успешно были решены к концу 1996 года, а к весне 1997 года, стали появляться первые ПК, оборудованные разъёмами USB. Полная поддержка USB устройств была осуществлена только к концу 1998 года, в операционной системе Windows98, и только с этого этапа, началось особенно бурное развитие и выпуск периферийного оборудования, оснащённого этим интерфейсом.

По-настоящему массовое внедрение USB началось с широким распространением корпусов и системных плат форм-фактора ATX примерно в 1997-1998 годах. Не упустила шанс воспользоваться достижениями прогресса и компания Apple, представившая 6 мая 1998 года свой первый iMac, также оснащенный поддержкой USB.

Этот стандарт был рождён, в то время, когда уже существовал аналогичный последовательный интерфейс передачи данных, разработанный Apple Computer и имел название FireWare или IEE1394. USB - интерфейс был создан, как альтернатива IEE1394, и был призван не заменить его, а существовать параллельно уже существующему типу соединений.

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

Спецификация USB 2.0 была представлена в апреле 2000 года. Но до принятия ее в качестве стандарта прошло больше года. После этого началось массовое внедрение второй версии универсальной последовательной шины. Главным ее достоинством было 40-кратное увеличение скорости передачи данных. Но кроме этого были и другие нововведения. Так появились новые типы разъемов Mini-B и Micro-USB, добавилась поддержка технологии USB On-The-Go (позволяет USB-устройствам вести обмен данными между собой без участия USB-хоста), появилась возможность использования напряжения, подаваемого через USB, для зарядки подключенных устройств.

Принцип работы шины USB

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

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

Шина USB является хост-центрической: единственным ведущим устройством, которое управляет обменом, является хост-компьютер, а все присоединенные к ней периферийные устройства - исключительно ведомые. Физическая топология шины USB - многоярусная звезда. Ее вершиной является хост-контроллер, объединенный с корневым хабом (root hub). Хаб является устройством-разветвителем, кроме того, он может являться источником питания для подключенных к нему устройств. К каждому порту хаба может непосредственно подключаться периферийное устройство или промежуточный хаб; шина допускает до 5 уровней каскадирования хабов (не считая корневого). Каждый промежуточный хаб имеет несколько нисходящих (downstream) портов для подключения периферийных устройств (или нижележащих хабов) и один восходящий (upstream) порт для подключения к корневому хабу или нисходящему порту вышестоящего хаба.

К USB-хосту сходятся данные от подключенных устройств и он же обеспечивает взаимодействие с компьютером. Все устройства подключаются по топологии "звезда". Чтобы увеличить число активных разъемов USB можно воспользоваться USB-хабами. Таким образом получится аналог логической структуры "дерево". "Ветвей" у такого дерева может быть до 127 штук на один хост-контроллер, а уровень вложенности USB-хабов не должен превышать пяти. Кроме того, в одном USB-хосте может быть несколько хост-контроллеров, что пропорционально увеличивает максимальное число подключенных устройств.

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

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

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

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

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

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

Кодирование данных

Для передачи данных по шине используется дифференциальный способ передачи сигналов D+ и D- по двум проводам. Все данные кодируются с помощью метода, называемого NRZI with bit stuffing (NRZI - Non Return to Zero Invert, метод возврата к нулю с инвертированием единиц).

Вместо кодирования логических уровней как уровней напряжения USB определяет логический 0 как изменение напряжения, а логическую 1 как неизменение напряжения. Этот метод представляет собой модификацию обычного потенциального метода кодирования NRZ (Non Return to Zero, невозврат к нулю), когда для представления 1 и 0 используются потенциалы двух уровней, но в методе NRZI потенциал, используемый для кодирования текущего бита, зависит от потенциала, который использовался для кодирования предыдущего бита. Если текущий бит имеет значение 0, то текущий потенциал представляет собой инверсию потенциала предыдущего бита, независимо от его значения. Если же текущий бит имеет значение 1, то текущий потенциал повторяет предыдущий. Очевидно, что если данные содержат нули, то приемнику и передатчику достаточно легко поддерживать синхронизацию - уровень сигнала будет постоянно меняться. А вот если данные содержат длинную последовательность единиц, то уровень сигнала меняться те будет, и возможна рассинхронизация. Следовательно, для надежной передачи данных нужно исключить из кодов слишком длинные последовательности единиц. Это действие называется стаффинг (Bit stuffing): после каждых шести единиц автоматически добавляется 0.

Существует только три возможных байта с шестью последовательными единицами: 00111111, 01111110, 111111100.

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

Режимы работы шины

  • Low Speed поддерживается стандартами версии 1.1 и 2.0. Пиковая скорость передачи данных - 1.5 Мбит/с (187.5 Кбайт/с). Чаще всего применяется для HID-устройств (клавиатур, мышей, джойстиков).
  • Full Speed поддерживается стандартами версии 1.1 и 2.0. Пиковая скорость передачи данных - 12 Мбит/с (1.5 Мбайт/с). До выхода USB 2.0 был наиболее быстрым режимом работы.
  • Hi-Speed поддерживается стандартом версии 2.0 и 3.0. Пиковая скорость передачи данных - 480 Мбит/с (60 Мбайт/с).
  • Super-Speed поддерживается стандартом версии 3.0. Пиковая скорость передачи данных - 4.8 Гбит/с (600 Мбайт/с).

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

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

Для передачи команд (и данных, входящих в состав команд) используется канал по умолчанию, а для передачи данных открываются либо потоковые каналы, либо каналы сообщений.

Информация по каналу передается в виде пакетов (Packet). Каждый пакет начинается с поля синхронизации SYNC (SYNChronization), за которым следует идентификатор пакета PID (Packet IDentifier).

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

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

  • обычно представляется драйвером устройства USB;
  • обеспечивает взаимодействие пользователя с операционной системой с одной стороны и системным драйвером с другой.

Уровень системного обеспечения USB в хосте (USBD, Universal Serial Bus Driver):

  • управляет нумерацией устройств на шине;
  • управляет распределением пропускной способности шины и мощности питания;
  • обрабатывает запросы пользовательских драйверов.

Хост-контроллер интерфейса шины USB (HCD, Host Controller Driver):

  • преобразует запросы ввода/вывода в структуры данных, по которым хост-контроллер выполняет физические транзакции;
  • работает с регистрами хост-контроллера.

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

  • буфер памяти, называемый клиентским буфером;
  • пакет запроса на в/в (IRP, Input/output Request Packet), указывающий тип необходимой операции.
  • IRP содержит только сведения о запросе (адрес и длина буфера в оперативной памяти). Непосредственно обработкой запроса занимается системный драйвер USB.

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

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

Логически передача данных между конечной точкой и ПО производится с помощью выделения канала и обмена данными по этому каналу.Клиентское ПО посылает IPR-запросы уровню USBD. Драйвер USBD разбивает запросы на транзакции по следующим правилам:

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

Драйвер контроллера хоста принимает от системного драйвера шины перечень транзакций и выполняет следующие действия:

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

Хост-контроллер интерфейса шины USB формирует кадры. Кадры передаются последовательной передачей бит по методу NRZI.

Таким образом:

  • каждый кадр состоит из наиболее приоритетных посылок, состав которых формирует драйвер хоста;
  • каждая передача состоит из одной или нескольких транзакций;
  • каждая транзакция состоит из пакетов;
  • каждый пакет состоит из идентификатора пакета, данных (если они есть) и контрольной суммы.


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

Спецификация шины определяет четыре различных типа передачи (transfer type) данных для конечных точек.

Управляющие передачи (Control Transfers) - используются хостом для конфигурирования устройства во время подключения, для управления устройством и получения статусной информации в процессе работы. Протокол обеспечивает гарантированную доставку таких посылок. Длина поля данных управляющей посылки не может превышать 64 байт на полной скорости и 8 байт на низкой. Для таких посылок хост гарантированно выделяет 10% полосы пропускания.

Передачи массивов данных (Bulk Data Transfers) - применяются при необходимости обеспечения гарантированной доставки данных от хоста к функции или от функции к хосту, но время доставки не ограничено. Taкая передача занимает всю доступную полосу пропускания шины. Пакеты имеют поле данных размером 8, 16, 32 или 64 байт. Приоритет у таких передач самый низкий, они могут приостанавливаться при большой загрузке шины. Допускаются только на полной скорости передачи. Такие посылки используются, например, принтерами или сканерами.

Передачи по прерываниям (Interrupt Transfers) - используются в том случае, когда требуется передавать одиночные пакеты данных небольшого размера. Каждый пакет требуется передать за ограниченное время. Операции передачи носят спонтанный характер и должны обслуживаться не медленнее, чем того требует устройство. Поле данных может содержать до 64 байт на полной скорости и до 8 байт на низкой. Предел времени обслуживания устанавливается в диапазоне 1-255 мс для полной скорости и 10-255 мс - для низкой. Такие передачи используются в устройствах ввода, таких как мышь и клавиатура.

Изохронные передачи (Isochronous Transfers) - применяются для обмена данными в "реальном времени", когда на каждом временном интервале требуется передавать строго определенное количество данных, но доставка информации не гарантирована (передача данных ведется без повторения при сбоях, допускается потеря пакетов). Такие передачи занимают предварительно согласованную часть пропускной способности шины и имеют заданную задержку доставки. Изохронные передачи обычно используются в мультимедийных устройствах для передачи аудио- и видеоданных, например, цифровая передача голоса. Изохронные передачи разделяются по способу синхронизации конечных точек - источников или получателей данных - с системой. Различают асинхронный, синхронный и адаптивный классы устройств, каждому из которых соответствует свой тип канала USB.

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

  • наивысший приоритет имеют изохронные передачи;
  • после отработки всех изохронных передач система переходит к обслуживанию передач прерываний;
  • в последнюю очередь обслуживаются запросы на передачу массивов данных;
  • по истечении 90% указанного интервала хост автоматически переходит к обслуживанию запросов на передачу управляющих команд независимо от того, успел ли он полностью обслужить другие три списка или нет.

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

Версии спецификации

Разработка спецификаций на шину USB производится в рамках международной некоммерческой организации USB Implementers Forum (USB-IF), объединяющей разработчиков и производителей оборудования с шиной USB.

С середины 1996 года выпускаются PC со встроенным контроллером USB, реализуемым чипсетом системной платы.

Первая версия спецификации USB 1.0 поддерживает два режима скорости передачи данных между устройством и компьютером:

  • Low Speed (1.5 Mbits/sec) , для таких устройств как мыши, клавиатуры и джойстики;
  • Full Speed (12 Mbits/ sec) , для модемов и сканеров.

Осенью 1998 года вышла версия 1.1 - в ней были устранены обнаруженные проблемы первой редакции.

Основные технические характеристики USB 1.1:

  • Достаточно высокая максимальная скорость обмена - до 12 Мбит/с.
  • Максимальная длина кабеля для высокой скорости обмена - 4,5 м.
  • Максимальное количество подключенных устройств (включая размножители) - до 127.
  • Возможно подключение устройств с различными скоростями обмена.
  • Не требуется использование дополнительных устройств и терминаторов.
  • Подается напряжение питания для периферийных устройств - 5 В.
  • Максимальный ток потребления на одно устройство - 500 mA.

Весной 2000 года опубликована спецификация USB 2.0, в которой предусмотрено 40-кратное повышение пропускной способности шины(до 480 Мбит/с в высокоскоростном режиме). Однако устройства USB 2.0 вышли на массовый рынок в 2002 года, когда новый интерфейс, наконец, смог утвердиться.

Вторая версия спецификации USB 2.0 позволяет использовать еще один режим High Speed (480 Mbit/sec) для таких устройств, как жесткие диски, CD-ROM, цифровые камеры. Пропускная способность 480 Мбит/с достаточная и для внешних накопителей, MP3-плееров, смартфонов и цифровых камер, которым требовалась передавать большое количество данных. Также спецификация USB 2.0 полностью поддерживает устройства, разработанные для первой версии. Контроллеры и хабы автоматически определяют версию спецификации, поддерживаемую устройством. Шина позволяет соединять до 127 устройств, удаленныех от компьютера на расстоянии до 25 м (с использованием промежуточных хабов).

После своего широкого внедрения USB 2.0 удалось полностью заменить последовательный и параллельный интерфейсы.

В настоящее время широко используются устройства, выполненные в соответствии со спецификацией USB 2.0.

USB 3.0

USB 3.0 поддерживает максимальную скорость передачи 5 Гбит/с.

Коннектор USB 3.0 типа А

Основной целью интерфейса USB 3.0 является повышение доступной пропускной способности, однако новый стандарт эффективно оптимизирует энергопотребление. У USB 3.0 есть четыре состояния подключения, названные U0-U3. Состояние подключения U0 соответствует активной передаче данных, а U3 погружает устройство в "сон". Если подключение бездействует, то в состоянии U1 будут отключены возможности приёма и передачи данных. Состояние U2 идёт ещё на шаг дальше, отключая внутренние тактовые импульсы.

Коннектор USB 3.0 типа В

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

Кроме разных состояний энергопотребления стандарт USB 3.0 отличается от USB 2.0 и более высоким поддерживаемым током. Если версия USB 2.0 предусматривала порог тока 500 мА, то в случае нового стандарта ограничение было сдвинуто до планки 900 мА. Ток при инициации соединения был увеличен с уровня 100 мА у USB 2.0 до 150 мА у USB 3.0. Оба параметра весьма важны для портативных жёстких дисков, которые обычно требуют чуть большие токи. Раньше проблему удавалось решить с помощью дополнительной вилки USB, получая питание от двух портов, но используя только один для передачи данных.

Кабели и разъемы USB

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

Существует пять видов USB-разъемов :

Слева направо: micro USB, mini USB, B-type, A-type разъем, A-type коннектор

  • micro USB - используется в самых миниатюрных устройствах вроде плееров и мобильных телефонов;
  • mini USB - также часто обнаруживается на плеерах, мобильных телефонах, а заодно и на цифровых фотоаппаратах, КПК и тому подобных устройствах;
  • B-type - полноразмерный разъем, устанавливаемый в принтерах, сканерах и других устройствах, где размер не имеет очень принципиального значения;
  • A-type (приемник) - разъем, устанавливаемый в компьютерах (либо на удлинителях USB), куда подключается коннектор типа A-type;
  • A-type (вилка) - коннектор, подключаемый непосредственно к компьютеру в соответствующий разъем.

Cистема кабелей и коннекторов USB не дает возможности ошибиться при подключении устройств. Гнезда типа «А» устанавливаются только на нисходящих портах хабов, вилки типа «А» - на шнурах периферийных устройств или восходящих портов хабов. Гнезда и вилки типа «В» используются только для шнуров, отсоединяемых от периферийных устройств и восходящих портов хабов (от «мелких» устройств - мышей, клавиатур и т. п. кабели, как правило, не отсоединяются). Хабы и устройства обеспечивают возможносгь «горячего» подключения и отключения.

Максимальная длина USB-кабеля может составлять 5 метров. Данное ограничение введено для снижения времени отклика устройства. Хост-контроллер ожидает поступление данных ограниченное время, и если они задерживаются, то соединение может быть потеряно.

Кабель для поддержки полной скорости шины (full-speed) выполняется как витая пара, защищается экраном и может также использоваться для работы в режиме минимальной скорости (low-speed). Кабель для работы только на минимальной скорости (например, для подключения мыши) может быть любым и неэкранированным.

Литература

  1. Косцов А.,Косцов В.Железо ПК. Настольная книга пользователя. - М.: Мартин, 2006. - 480 с.