- Последовательная шина usb. Универсальная последовательная шина USB Шина usb описание
- История появления и развития стандартов Universal Serial Bus (USB)
- Общие принципы работы периферийных устройств Universal Serial Bus (USB)
- Концентратор (USB HUB).
- Кабели и разъемы USB
- Контакты разъёма и разводка кабеля USB Type-C
- Технические характеристики
- Топология
- Кабели и разъемы
Последовательная шина usb. Универсальная последовательная шина USB Шина usb описание
История появления и развития стандартов Universal Serial Bus (USB)
   
До появления первой реализации шины USB стандартная комплектация
персонального компьютера включала один параллельный порт, обычно для подключения принтера (порт LPT), два последовательных коммуникационных порта (порты COM), обычно для
подключения мыши и модема, и один порт для джойстика (порт GAME). Такая
конфигурация была вполне приемлемой на заре появления персональных компьютеров, и долгие годы являлась практическим стандартом для производителей оборудования. Однако прогресс не стоял на месте, номенклатура и функциональность внешних устройств постоянно совершенствовались, что в конце концов привело к необходимости пересмотра стандартной конфигурации, ограничивающей возможность подключения дополнительных периферийных устройств, которых, с каждым днем становилось все больше и больше.
   
Попытки увеличения количества стандартных портов ввода-вывода не могли привести к кардинальному решению проблемы, и возникла необходимость разработки нового стандарта, который бы обеспечивал простое, быстрое и удобное подключение большого количества разнообразных по назначению периферийных устройств к любому компьютеру стандартной конфигурации, что, в конце концов, привело к появлению универсальной последовательной шины
Universal Serial Bus (USB)
   
Первая спецификация последовательного интерфейса
USB (Universal Serial Bus)
, получившая название USB 1.0
,
появилась в 1996 г.
, усовершенствованная версия на ее основе, USB 1.1
– в 1998 г.
Пропускная способность шин USB 1.0 и USB 1.1 – до 12 Мбит/с (реально до 1
мегабайта в секунду) была вполне достаточной для низкоскоростных периферийных устройств, вроде аналогового модема или компьютерной мышки, однако недостаточной для устройств с высокой скоростью передачи данных, что являлось главным недостатком данной спецификации. Однако, практика показала, что универсальная последовательная шина – это очень удачное решение, принятое практически всеми производителями компьютерного оборудования в качестве магистрального направления развития компьютерной периферии.
В 2000 г.
появилась новая спецификация – USB 2.0
, обеспечивающая уже скорость передачи данных до 480 Мбит/с (реально до 32 мегабайт в секунду). Спецификация предполагала полную совместимость с предыдущим стандартом USB 1.X и вполне приемлемое быстродействие для большинства периферийных устройств. Начинается бум производства устройств, оснащенных интерфейсом USB. “Классические” интерфейсы ввода – вывода были полностью вытеснены и стали экзотикой. Однако, для части высокоскоростного периферийного оборудования даже удачная спецификация USB 2.0 оставалась узким местом, что требовало дальнейшего развития стандарта.
В 2005 г.
была анонсирована спецификация для беспроводной
реализации USB – Wireless USB – WUSB
, позволяющей выполнять беспроводное
подключение устройств на расстоянии до 3-х метров с максимальной скоростью передачи
данных 480 Мбит/сек, и на расстоянии до 10 метров с максимальной скоростью
110 Мбит/сек. Спецификация не получила бурного развития и не решала задачу повышения реальной скорости передачи данных.
В 2006 г.
была анонсирована спецификация USB-OTG
(USB
O
n-T
he-G
o, благодаря которой стала возможной связь двух USB-устройств друг с другом без отдельного USB-хоста. Роль хоста в данном случае выполняет одно из периферийных устройств. Смартфонам, цифровым фотоаппаратам и прочим мобильным устройствам приходится быть как хостом, так и периферийным устройством. Например, при подключении по USB к компьютеру фотоаппарата, он является периферийным устройством, а при подключении принтеру он является хостом. Поддержка спецификации USB-OTG
постепенно стала стандартом для мобильных устройств.
В 2008 г.
появилась окончательная спецификация нового стандарта универсальной
последовательной шины – USB 3.0
. Как и в предыдущих версиях реализации
шины, предусмотрена электрическая и функциональная совместимость с предыдущими
стандартами. Скорость передачи данных для USB 3.0 увеличилась в 10 раз –
до 5 Гбит/сек. В интерфейсном кабеле добавились 4 дополнительные жилы, и их контакты
были выведены отдельно от 4-х контактов предыдущих стандартов, в дополнительном контактном
ряду. Кроме повышенной скорости передачи данных шина USB характеризуется еще и
увеличившейся, по сравнению с предыдущими стандартами, силой тока в цепи питания. Максимальная скорость передачи данных по шине USB 3.0 стала приемлемой практически для любого, массово производимого периферийного компьютерного оборудования.
В 2013
году была принята спецификация следующего интерфейса – USB 3.1
, скорость передачи данных которого может достигать 10 Гбит/с. Кроме того, появился компактный 24-контактный разъём USB Type-C
, который является симметричным, позволяя вставлять кабель любой стороной.
После выхода стандарта USB 3.1 организация USB Implementers Forum (USB-IF) объявила, что разъёмы USB 3.0 со скоростью до 5 Гбит/с (SuperSpeed) теперь будут классифицироваться как USB 3.1 Gen 1, а новые разъёмы USB 3.1 со скоростью до 10 Гбит/с (SuperSpeed USB 10Gbps) – как USB 3.1 Gen 2. Стандарт USB 3.1 обратно совместим с USB 3.0 и USB 2.0.
В 2017
году организация USB Implementers Forum (USB-IF) опубликовала спецификацию USB 3.2
. Максимальная скорость передачи составляет 10 Гбит/с. Однако в USB 3.2 предусмотрена возможность агрегации двух подключений (Dual-Lane Operation
), позволяющая увеличить теоретическую пропускную способность до 20 Гбит/с. Реализация этой возможности сделана опциональной, то есть ее поддержка на уровне оборудования будет зависеть от конкретного производителя и технической необходимости, которая отличается, например, для принтера и переносного жесткого диска. Возможность реализации данного режима предусмотрена только при использовании USB Type-C
.
www.usb.org
– Документация по спецификациям USB для разработчиков на английском языке.
Нельзя не отметить, что существовала, и пока еще существует, альтернатива шине USB.
Еще до ее появления, компания Apple разработала спецификацию
последовательной шины FireWire
(другое название – iLink
), которая в 1995 г.
была стандартизована Американским Институтом инженеров по электротехнике и
электронике (IEEE) под номером 1394. Шина IEEE 1394
может работать в трех
режимах: со скоростью передачи данных до 100, 200 и 400 Мбит/с. Однако, по
причине высокой стоимости и более сложной реализации, чем USB, эта разновидность высокоскоростной последовательной шины, большого распространения не получила, и постепенно вытесняется USB 2.0 – USB 3.2.
Общие принципы работы периферийных устройств Universal Serial Bus (USB)
   
Интерфейс USB оказался настолько удачным решением, что им оснастили практически все классы периферийных устройств, от мобильного телефона до веб-камеры или переносного жесткого диска. Наибольшее распространение получили (пока) устройства с поддержкой USB 2.0. Однако, USB 3.0 – 3.1 более востребован для высокоскоростных устройств, где он становится основным, постепенно вытесняя USB 2.0.
   
Периферийные устройства, с поддержкой USB при подключении к компьютеру
автоматически распознаются системой (в частности, программное обеспечение
драйвера и пропускную способность шины), и готовы к работе без вмешательства
пользователя. Устройства с небольшим энергопотреблением (до 500мА) могут не иметь своего
блока питания и запитываться непосредственно от шины USB.
Благодаря
использованию USB отпадает необходимость снятия корпуса компьютера для
установки дополнительных периферийных устройств, а также необходимость
выполнения сложных настроек при их установке.
USB устраняет проблему
ограничения числа подключаемых устройств. При использовании USB с компьютером
может одновременно работать до 127 устройств.
USB позволяет выполнять
“горячее” (оперативное) подключение. При этом не требуется предварительное
выключение компьютера, затем подключение устройства, перезагрузка компьютера и
настройка установленных периферийных устройств. Для отключения периферийного
устройства не требуется выполнять процедуру, обратную описанной.
Проще говоря, USB позволяет фактически реализовать все преимущества современной технологии “plug and play” (“включай и работай”). Устройства, разработанные для USB 1.x могут работать с контроллерами USB 2.0. и USB 3.0
При подключении периферийного устройства вырабатывается аппаратное прерывание и управление получает драйвер HCD (Host Controller Driver
) контроллера USB (USB Host Controller – UHC
), который на сегодняшний день интегрирован во все выпускаемые чипсеты материнских плат. Он опрашивает устройство и получает от него идентификационную информацию, исходя из которой управление передается драйверу, обслуживающему данный тип устройств. UHC контроллер имеет корневой (root) концентратор (Hub), обеспечивающий подключение к шине устройств USB.
Концентратор (USB HUB).
Точки подключения называются портами
. К порту, в качестве устройства, может быть подключен другой концентратор. Каждый концентратор имеет исходящий порт (upstream port
), соединяющие его с главным контроллером и нисходящие порты (downstream port
) для подключения периферийных устройств. Концентраторы могут обнаруживать, выполнять соединение и отсоединение в каждом порте нисходящей связи и обеспечивать распределение напряжения питания в устройства нисходящего соединения. Каждый из портов нисходящей связи может быть индивидуально активизирован и сконфигурирован на полной или низкой скорости. Концентратор состоит из двух блоков: контроллера концентратора и ретранслятора концентратора. Ретранслятор – работающий под управлением протокола коммутатор между портом восходящей связи и портами нисходящей связи. Концентратор содержит также аппаратные средства поддержки перевода в исходное состояние и приостановки/возобновления подключения. Контроллер обеспечивает интерфейсные регистры, обеспечивающие передачу данных в главный контроллер и обратно. Определенное состояние и управляющие команды концентратора позволяют главному процессору конфигурировать концентратор, а также контролировать и управлять его портами.
Внешние концентраторы могут иметь собственный блок питания или же запитываться от шины USB.
Кабели и разъемы USB
Разъемы типа А используются для подключения к компьютеру или концентратору. Разъемы типа B используются для подключения к периферийным устройствам.
Все разъёмы USB, имеющие возможность входить в соединение друг с другом, рассчитаны на совместную работу.
Имеется электрическая совместимости всех контактов разъёма USB 2.0 с соответствующими контактами разъёма USB 3.0. При этом разъём USB 3.0 имеет дополнительные контакты,
не имеющие соответствия в разъёме USB 2.0, и, следовательно, при соединении разъёмов разных версий “лишние” контакты не будут задействованы, обеспечивая нормальную работу соединения версии 2.0.
Все гнёзда и штекеры между USB 3.0 Тип A и USB 2.0 Тип A рассчитаны на совместную работу.
Размер гнезда USB 3.0 Тип B несколько больше, чем это могло бы потребоваться для штекера USB 2.0 Тип B и более ранних. При этом предусмотрено подключение в эти гнёзда и такого типа штекеров. Соответственно, для подключения к компьютеру периферийного устройства с разъёмом USB 3.0 Тип B можно использовать кабели обоих типов, но для устройства с разъёмом USB 2.0 Тип B – только кабель USB 2.0.
Гнёзда eSATAp, обозначенные как eSATA/USB Combo, то есть имеющие возможность подключения к ним штекера USB, имеют возможность подключения штекеров USB Тип A: USB 2.0 и USB 3.0, но в скоростном режиме USB 2.0.
Разъёмы USB Type-C служат для подключения как к периферийным устройствам, так и к компьютерам, заменяя различные разъёмы и кабели типов A и B предыдущих стандартов USB,
и предоставляя возможности расширения в будущем. 24-контактный двухсторонний разъём является достаточно компактным, близким по размерам к разъёмам микро-B стандарта USB 2.0.
Размеры разъёма – 8,4 мм на 2,6 мм. Коннектор предоставляет 4 пары контактов для питания и заземления, две дифференциальные пары D+/D- для передачи данных на скоростях
менее SuperSpeed (в кабелях Type-C подключена только одна из пар),
четыре дифференциальные пары для передачи высокоскоростных сигналов SuperSpeed, два вспомогательных контакта (sideband), два контакта конфигурации
для определения ориентации кабеля, выделенный канал конфигурационных данных (кодирование BMC – biphase-mark code) и контакт питания +5 V для активных кабелей.
Контакты разъёма и разводка кабеля USB Type-C
Кон. | Название | Описание | Кон. | Название | Описание | ||
---|---|---|---|---|---|---|---|
A1 | GND | Заземление | B12 | GND | Заземление | ||
A2 | SSTXp1 | Диф. пара № 1 SuperSpeed, передача, положительный | B11 | SSRXp1 | Диф. пара № 2 SuperSpeed, приём, положительный | ||
A3 | SSTXn1 | Диф. пара № 1 SuperSpeed, передача, отрицательный | B10 | SSRXn1 | Диф. пара № 2 SuperSpeed, приём, отрицательный | ||
A4 | V BUS | Питание | B9 | V BUS | Питание | ||
A5 | CC1 | Канал конфигурации | B8 | SBU2 | Sideband № 2 (SBU) | ||
A6 | Dp1 | Диф. пара не-SuperSpeed, положение 1, положительный | B7 | Dn2 | Диф. пара не-SuperSpeed, положение 2, отрицательный | ||
A7 | Dn1 | Диф. пара не-SuperSpeed, положение 1, отрицательный | B6 | Dp2 | Диф. пара не-SuperSpeed, положение 2, положительный | ||
A8 | SBU1 | Sideband № 1 (SBU) | B5 | CC2 | Канал конфигурации | ||
A9 | V BUS | Питание | B4 | V BUS | Питание | ||
A10 | SSRXn2 | Диф. пара № 4 SuperSpeed, передача, отрицательный | B3 | SSTXn2 | Диф. пара № 3 SuperSpeed, приём, отрицательный | ||
A11 | SSRXp2 | Диф. пара № 4 SuperSpeed, передача, положительный | B2 | SSTXp2 | Диф. пара № 3 SuperSpeed, приём, положительный | ||
A12 | GND | Заземление | B1 | GND | Заземление | ||
|
Разъём №1 кабеля Type-C | Кабель Type-C | Разъём №2 кабеля Type-C | |||||
---|---|---|---|---|---|---|---|
Контакт | Название | Цвет оболочки проводника | Название | Описание | Контакт | Название | |
Оплётка | Экран | Оплётка кабеля | Экран | Внешняя оплётка кабеля | Оплётка | Экран | |
A1, B1, A12, B12 | GND | Лужёный | GND_PWRrt1 GND_PWRrt2 | Общая земля> | A1, B1, A12, B12 | GND | |
A4, B4, A9, B9 | V BUS | Красный | PWR_V BUS 1 PWR_V BUS 2 | V BUS питание | A4, B4, A9, B9 | V BUS | |
B5 | V CONN | Жёлтый | PWR_V CONN | V CONN питание | B5 | V CONN | |
A5 | CC | Синий | CC | Канал конфигурирования | A5 | CC | |
A6 | Dp1 | Белый | UTP_Dp | Неэкранированная дифференциальная пара, positive | A6 | Dp1 | |
A7 | Dn1 | Зелёный | UTP_Dn | Неэкранированная дифференциальная пара, negative | A7 | Dn1 | |
A8 | SBU1 | Красный | SBU_A | Полоса передачи данных A | B8 | SBU2 | |
B8 | SBU2 | Чёрный | SBU_B | Полоса передачи данных B | A8 | SBU1 | |
A2 | SSTXp1 | Жёлтый * | SDPp1 | Экранированная дифференциальная пара #1, positive | B11 | SSRXp1 | |
A3 | SSTXn1 | Коричневый * | SDPn1 | Экранированная дифференциальная пара #1, negative | B10 | SSRXn1 | |
B11 | SSRXp1 | Зелёный * | SDPp2 | Экранированная дифференциальная пара #2, positive | A2 | SSTXp1 | |
B10 | SSRXn1 | Оранжевый * | SDPn2 | Экранированная дифференциальная пара #2, negative | A3 | SSTXn1 | |
B2 | SSTXp2 | Белый * | SDPp3 | Экранированная дифференциальная пара #3, positive | A11 | SSRXp2 | |
B3 | SSTXn2 | Чёрный * | SDPn3 | Экранированная дифференциальная пара #3, negative | A10 | SSRXn2 | |
A11 | SSRXp2 | Красный * | SDPp4 | Экранированная дифференциальная пара #4, positive | B2 | SSTXp2 | |
A10 | SSRXn2 | Синий * | SDPn4 | Экранированная дифференциальная пара #4, negative | B3 | SSTXn2 | |
* Цвета для оболочки проводников не установлены стандартом |
Подключение ранее выпущенных устройств к компьютерам, оснащённым разъёмом USB Type-C, потребует кабеля или адаптера, имеющих штекер или разъём
типа A или типа B на одном конце и штекер USB Type-C на другом конце. Стандартом не допускаются адаптеры с разъёмом USB Type-C, поскольку их использование могло бы
создать «множество неправильных и потенциально опасных» комбинаций кабелей.
Кабели USB 3.1 с двумя штекерами Type-C на концах должны полностью соответствовать спецификации – содержать все необходимые проводники,
должны быть активными, включающими в себя чип электронной идентификации, перечисляющий идентификаторы функций в зависимости от конфигурации
канала и сообщения, определяемые вендором (VDM) из спецификации USB Power Delivery 2.0. Устройства с разъёмом USB Type-C могут опционально
поддерживать шины питания с током в 1,5 или 3 ампера при напряжении 5 вольт в дополнение к основному питанию. Источники питания должны уведомлять
о возможности предоставления увеличенных токов через конфигурационный канал либо полностью поддерживать спецификацию USB Power Delivery через
конфигурационный контакт (кодирование BMC) или более старые сигналы, кодируемые как BFSK через контакт VBUS. Кабели USB 2.0, не поддерживающие шину SuperSpeed,
могут не содержать чип электронной идентификации, если только они не могут передавать ток 5 ампер.
Спецификация коннекторов USB Type-C версии 1.0 была опубликована форумом разработчиков USB в августе 2014 года. Она была разработана примерно в то же время, что и спецификация USB 3.1.
Использование коннектора USB Type-C не обязательно означает, что устройство реализует высокоскоростной стандарт USB 3.1 Gen1/Gen2 или протокол USB Power Delivery.
   
Универсальная последовательная шина является самым распространенным, и наверно, самым удачным компьютерным интерфейсом периферийных устройств за всю историю развития компьютерного оборудования, что подтверждается огромным количеством USB – устройств, некоторые из которых могут показаться несколько
16. Шина USB. Общие
харак-тики
Универсальная
последовательная шина имеет следующие
характеристики:
Главный
компьютер выполняет функции хоста.
К
хосту можно подключить до 127 устройств,
либо напрямую, либо с помощью
USB-концентраторов.
Отдельные
USB-кабели могут иметь длину 5 метров, а
при наличии концентраторов по протоколу
USB можно подключить устройства, удаленные
от хост-компьютера на расстояние до 30
метров (длина 6 кабелей).
Стандарт
USB 2. предусматривает максимальную
скорость передачи данных 480 мегабит в
секунду.
Кабель
USB снабжен двумя проводами для подачи
электропитания (5 вольт и земля), а также
витой парой для передачи данных.
По
проводам электропитания компьютер
может обеспечить подачу питающего
напряжения 5 В при токе до 500 мА.
Устройства
с небольшим энергопотреблением могут
питаться непосредственно от шины.
Устройства, отличающиеся большой
потребляемой мощностью (например,
принтеры), имеют собственные блоки
питания и потребляют от шины минимальное
количество энергии. Концентраторы для
питания подключенных к ним устройств
могут снабжаться собственными блоками
питания.
USB-устройства
допускают “горячую” замену, то есть
их можно подключать к шине и отключать
от нее в любое время.
Многие
USB-устройства могут переводиться
хост-компьютером в спящий режим, когда
сам компьютер переводится в энергосберегающий
режим.
Подключенные к порту USB устройства
получают питание и обмениваются данными
по USB-кабелю.
17.Шина USB. Общая
архитектура
USB
(Universal Serial Bus – универсальная последовательная
шина) является промышленным стандартом
расширения архитектуры PC. Возможности
USB определяется следующими тех. хар-ками:
*
Дешевое решение, поддерживающее скорость
передачи до 12 Мбит/с.
*мах длина кабеля
для высокой скорости обмена – 5м
*
низкая скорость обмена – 1,5 Мбит/с.
*мах
длина кабеля для низкой скорости обмена
– 3м
*мах кол-во подключенных устройств
– 127
*Возможно подключение устройств
с различными скоростями обмена
*напряжение
питания для переферийных устройств –
5В
Особенно
удобен этот интерфейс для подключения
часто подключаемыхотключаемых приборов,
таких как цифровые фотокамеры и др.
Возможность использования только двух
скоростей обмена данными ограничивает
применяемость шины. USB поддерживает
динамическое подключение и отключение
устройств и конструкция разъемов
рассчитана на многократное
сочленениерасчленение. Питание
непосредственно от USB возможно только
для устройств с малым потреблением,
таких как клавиатуры, мыши, джойстики
и т.п.
USB обеспечивает одновременный
обмен данными между хост-компьютером
и множеством периферийных
устройств (ПУ).
18.Шина USB. Свойства
устройств
Спецификация
USB достаточно жестко определяет набор
свойств, которые должно поддерживать
любое USB-устройство:
o
адресация – устройство должно отзываться
на назначенный ему уникальный адрес и
только на него;
o
конфигурирование – после включения
или сброса устройство должно предоставлять
нулевой адрес для возможности
конфигурирования его портов;
o
передача данных – устройство имеет
набор конечных точек для обмена данными
с хостом. Для конечных точек, допускающих
разные типы передач, после конфигурирования
доступен только один из них;
o
управление энергопотреблением – любое
устройство при подключении не должно
потреблять от шины ток, превышающий 100
мА. При конфигурировании устройство
заявляет свои потребности тока, но не
более 500 мА. Если хаб не может обеспечить
устройству заявленный ток, устройство
не будет использоваться;
o
приостановка – USB-устройство должно
поддерживать приостановку (suspended mode),
при которой его потребляемый ток не
превышает 500 мкА. USB-устройство должно
автоматически приостанавливаться при
прекращении активности шины;
o
удаленное пробуждение – возможность
удаленного пробуждения (remote wakeup) позволяет
приостановленному USB-устройству подать
сигнал хосту, который тоже может
находиться в приостановленном состоянии.
Возможность удаленного пробуждения
описывается в конфигурации USB-устройства.
При конфигурировании эта функция может
быть запрещена.
19.Шина USB. Принципы
передачи данных
Механизм
передачи данных является асинхронным
и блочным. Блок передаваемых данных
называется USB-фреймом
или
USB-кадром
и передается за фиксированный временной
интервал. Оперирование командами и
блоками данных реализуется при помощи
логической абстракции, называемой
каналом.
Внешнее
устройство также делится на логические
абстракции, называемые конечными
точками.
Таким образом, канал является логической
связкой между хостом и конечной точкой
внешнего устройства. Канал можно сравнить
с открытым файлом.
Для
передачи команд (и данных, входящих в
состав команд) используется канал по
умолчанию, а для передачи данных
открываются либо потоковые
каналы,
либо
каналы
сообщений.
Все
операции по передачи данных по шине USB
инициируются хостом. Периферийные
USB-устройства сами начать обмен данными
не могут. Они могут только реагировать
на команды хоста.
20.
Шина USB.Логические уровни обмена данными
Логические
уровни обмена данными
логических
уровня
с
определенными правилами взаимодействия.
USB-устройство содержит интерфейсную,
логическую и функциональную части. Хост
тоже делится на три части – интерфейсную,
системную и ПО. Каждая часть отвечает
только за определенный круг задач. Таким
образом, операция обмена данными между
прикладной программой и шиной USB
выполняется путем передачи буферов
памяти через следующие уровни:уровень
клиентского ПО в хосте:
·
управляет нумерацией устройств на шине;
·
управляет распределением пропускной
способности шины и мощности питания;
·
обрабатывает запросы пользовательских
драйверов;
o
уровень хост-контроллера интерфейса
шины USB (HCD, Host Controller Driver):
·
преобразует запросы ввода/вывода в
структуры данных, по которым выполняются
физические транзакции;
·
работает с регистрами хоста.
21.
Шина USB.Передача данных по уровням
Пропускная
способность шины USB, соответствующей
спецификации 1.1, составляет 12Мбит/с
(т.е. 1,5 Мбит/с). Спецификация 2.0 определяет
шину с пропускной способностью 400
Мбайт/с. Полоса пропускания делится
между всеми устройствами, подключенными
к шине.
Шина
USB имеет три режима передачи данных:
o
низкоскоростной (LS, Low-speed);
o
полноскоростной (LF, Full-speed);
o
высокоскоростной (HS, High-speed, только для
USB 2.0).
Спецификация
USB определяет три логических
уровня
с
определенными правилами взаимодействия.
USB-устройство содержит интерфейсную,
логическую и функциональную части. Хост
тоже делится на три части – интерфейсную,
системную и ПО. Каждая часть отвечает
только за определенный круг задач.
Таким
образом, операция обмена данными между
прикладной программой и шиной USB
выполняется путем передачи буферов
памяти через следующие уровни:
o
уровень клиентского ПО в хосте:
·
обычно представляется драйвером
USB-устройства;
·
обеспечивает взаимодействие пользователя
с операционной системой с одной стороны
и системным драйвером с другой;
o
уровень системного драйвера USB в
хосте(USB, Universal Serial Bus Driver):
21.
Шина USB.Метод кодирования
Для
передачи данных по шине используется
дифференциальный способ передачи
сигналов 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-контроллеры
производят кодирование и декодирование
автоматически.
Шина 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, Microsoft, 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 Latency). Это и есть латентность (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 (U
niversal S
erial B
us – универсальная последовательная шина) появилась по компьютерным меркам довольно давно – версия первого утвержденного варианта стандарта появилась 15 января 1996 года. Разработка стандарта была инициировна весьма авторитетными фирмами – Intel, DEC, IBM, NEC, Northen Telecom и Compaq.
Основная цель стандарта, поставленная перед его разработчиками – создать реальную возможность пользователям работать в режиме Plug&Play с периферийными устройствами. Это означает, что должно быть предусмотрено подключение устройства к работающему компьютеру, автоматическое распознавание его немедленно после подключения и последующей установки соответствующих драйверов. Кроме этого, желательно питание маломощных устройств подавать с самой шины. Скорость шины должна быть достаточной для подавляющего большинства периферийных устройств. Попутно решается историческая проблема нехватки ресурсов на внутренних шинах IBM PC совместимого компьютера – контроллер USB занимает только одно прерывание независимо от количества подключенных к шине устройств.
Практически все поставленные задачи были решены в стандарте на USB и весной 1997 года стали появляться компьютеры, оборудованные разъемами для подключения USB устройств (см. фото слева), но периферия с подключением к USB до середины 1998 года так практически и не появилась. В чем дело? Почему только к концу 1998 года уже существенно активнее производители оборудования стали предлагать на рынке устройства с USB интерфейсом? Этому есть несколько объяснений:
отсутствие острой необходимости для пользователей настольных компьютеров в устройствах с полной поддержкой Plug&Play. Периферия к настольному компьютеру подключается, как правило, всерьез и надолго и особой нужды в частой смене периферии у подавляющего большинства пользователей нет.
более высокая стоимость устройств с USB по сравнению с аналогичными устройствами, имеющими стандартные интерфейсы
отсутствие поддержки со стороны производителей программного обеспечения и, главным образом, Microsoft, хотя она и была одним из авторов стандарта. Только в Windows 98 появилась полная поддержка USB, а в Windows NT она только должна быть в 1999 году.
Сейчас USB стала активно внедряться производителями компьютерной периферии. Сенсацией стало наличие в компьютере iMAC фирмы Apple Computers только 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 можно запитать устройства с общим током потребления 127 x 500 mA=63.5 A)
Поэтому целесообразно подключать к USB практически любые периферийные устройства, кроме цифровых видеокамер и высокоскоростных жестких дисков. Особенно удобен этот интерфейс для подключения часто подключаемых/отключаемых приборов, таких как цифровые фотокамеры. Конструкция разъемов для USB рассчитана на многократное сочленение/расчленение.
Возможность использования только двух скоростей обмена данными ограничивает применяемость шины, но существенно уменьшает количество линий интерфейса и упрощает аппаратную реализацию.
Питание непосредственно от USB возможно только для устройств с малым потреблением, таких как клавиатуры, мыши, джойстики и т.п.
Топология
Такой иконой официально обозначается шина USB как в Windows 98, так и на задних стенках компьютеров (к сожалению, далеко не всех), а также на всех разъемах USB. Эта икона на самом деле правильно отображает идею топологии USB. Топология USB практически не отличается от топологии обычной локальной сети на витой паре, обычно называемой “звездой”. Даже терминология похожа – размножители шины также называются HUB”ами.
Условно дерево подключения USB устройств к компьютеру можно изобразить так (цифрами обозначены периферийные устройства с USB интерфейсом):
Вместо любого из устройств может также стоять HUB. Основное отличие от топологии обычной локальной сети – компьютер (или host устройство) может быть только один. HUB может быть как отдельным устройством с собственным блоком питания, так и встроенным в периферийное устройство. Наиболее часто HUB”ы встраиваются в мониторы и клавиатуры
На рисунке выше показан пример правильного соединения периферийных устройств в условную USB сеть. Так как обмен данными по USB идет только между компьютером и периферийным устройством (между устройствами обмена нет), то устройства с большими объемами приема и/или передачи данных должны подключаться либо к самому компьютеру, либо к ближайшему свободному узлу. В данном случае наивысший трафик у колонок (~1.3 Mb/s), затем идут модем и сканер, подключенные к HUB”у в мониторе и завершают цепь клавиатура, джойстик и мышь, трафик у которых близок к нулю.
Может возникнуть вопрос – почему колонки имеют такой высокий трафик? Дело в том, что колонки с USB интерфейсом существенно отличаются от обычных. Для использования таких колонок НЕ ТРЕБУЕТСЯ звуковая карта. Драйвер колонок отправляет оцифрованный звук сразу в колонки, где с помощью АЦП (ADC) он преобразуется в аналоговый сигнал и подается на динамики.
Кабели и разъемы
Сигналы USB передаются по 4-х проводному кабелю, схематично показанному на рисунке ниже:
Здесь GND – цепь “корпуса” для питания периферийных устройств, VBus – +5V также для цепей питания. Шина D+ предназначена для передачи данных по шине, а шина D- для приема данных.
Кабель для поддержки полной скорости шины (full-speed) выполняется как витая пара, защищается экраном и может также использоваться для работы в режиме минимальной скорости (low-speed). Кабель для работы только на минимальной скорости (например, для подключения мыши) может быть любым и неэкранированным.
Разъемы, используемые для подключения периферийных устройств, показаны на рисунке ниже.
Разъемы серии “А” | Разъемы серии “В” | ||
предназначены ТОЛЬКО для подключения к источнику, т.е. компьютеру или HUB”у. | предназначены ТОЛЬКО для подключения к периферийному устройству | ||
| Вилка типа “A”. | | Вилка типа “B”. |
| Розетка типа “А” | | Розетка типа “В” |
Как видно из рисунка, невозможно подключить устройство неправильно, так как разъем серии “А” можно подключить только к активному устройству на USB – HUB”у или компьютеру, а серии “В” только к собственно периферийному устройству.
USB разъемы имеют следующую нумерацию контактов:
Номер контакта | Назначение | Цвет провода |
Цоколевка разъемов USB
|
В 1999 году тот же консорциум компьютерных компаний, который инициировал разработку первой версии стандарта на шину USB, начал активно разрабатывать версию 2.0 USB, которая отличается тем, что полоса пропускания шины увеличена в 20 (!) раз, до 250 Mbits/s, что делает возможным передачу видеоданных по USB и делает ее прямым конкурентом IEEE-1394 (FireWire). |