|
|
|
|
Универсальная последовательная шина USB - внешний интерфейс ввода/вывода - это несомненное достижение в архитектуре ПК. Последовательные порты типа RS-232 обеспечивают скорость от 9.6Kbps до 115.2Kbps в зависимости от микросхемной логики асинхронного приемопередатчика UART (Universal Asynchronous Recive/Transmitter). Максимальная пропускная способность USB составляет 12Mbps, хотя фактически скорость передачи данных ближе к 8Mbps, включая 1Mbps-подканал для медленных устройств типа мышь и клавиатура. Этого вполне достаточно, чтобы обслужить потребности всех устройств от мыши до видеомагнитофонов, ISDN-адаптеров и сжатого видео MPEG. Использование низкоскоростных устройств позволяет перераспределить полосы частот и выделить больше пропускной способности тем устройствам, которые в этом нуждаются.
Достоинством USB являются как асинхронные, так и изосинхронные порты. Изосинхронные передачи видео и аудио данных имеют приоритет, гарантируя непрерывность потоков данных для приложений реального времени. USB позволяет включать до 127 устройств, связанных в звездообразную технологию: каждое устройство может содержать в себе USB-концентратор, к которому можно подсоединить дополнительные устройства.
Индустриальным стандартом контроллеров USB считается комплект Intel One-Stop-Shopping серий i8X930Ax/i8Х930Hx/i8X931Ax/i8X931Hx монтажа 64pin PQFP (Plastic Quad Flat Package), предназначенные для построения USB-концентраторов, USB-оконечных устройств и для изготовления USB-контроллеров для монитора.
Хотя USB медленнее, имея пропускную способность 12Mbps (1.5MBps), чем SCSI, она предлагает высокоскоростные и Plug-and-Play возможности для такой периферии, в которой традиционно используются последовательный, параллельный или специальный порт, например, клавиатура, мышь или монитор. USB также подходит для небольших периферийных устройств типа сканеров, в которых ранее применялись специализированные адаптеры или SCSI-контроллеры. Для периферии, не использующей SCSI-контроллеры, USB предлагает оборудование примерно в сто раз более быстрое, чем, например, традиционные последовательные порты с максимальной скоростью передачи 115Kbps. Параллельные порты со скоростью обмена 2Mbps работают примерно в шесть раз медленнее, чем USB. Вдобавок, один USB-порт может обслуживать до 126 периферийных устройств без каких-либо дополнительных компьютерных ресурсов, таких как IRQ. Сегодняшние последовательные или параллельные, порты для клавиатуры или монитора обычно могут обслужить только одно устройство. Более того, мало потребляющий USB-контроллер обеспечивает электропитание всех устройств, подключенных к его шине, уменьшив тем самым количество розеток на стене либо распределительных щитков (однако устройства, потребляющие относительно много энергии, такие как сканеры, нуждаются в дополнительных розетках).
USB также предоставляет так называемый режим hot swapping - возможность подсоединять и переключать внешние устройства без выключения компьютера. Такие устройства, как клавиатура или мышь с двухсторонним обменом, не могут сегодня переключаться в режиме hot swapping. USB-контроллер имеет один стандартный кабель для любых периферийных устройств, что обеспечивает легкость подключения и снижение стоимости систем. Если устройства поддерживают PnP, то необходимые драйверы устройств могут автоматически загружаться и выгружаться.
Топология шины USB представляет собой управляющий блок USB, концентраторы, кабели и функциональные устройства. Существует только один управляющий блок в любой системе USB. Интерфейсом для связи с ПК является управляющий контроллер, который может быть реализован в комбинации с аппаратными или аппаратно-программными средствами. Встроенный в управляющий блок корневой концентратор обеспечивает одну или несколько точек подключения.
Схема управления устройством USB | |||||
Внутренний уровень | Внешний уровень | ||||
Клиентский Драйвер | Драйвер USB | Драйвер контроллера | Контроллер USB | Концевой концентратор | Устройство USB |
Драйвер Управления | |||||
Программный уровень | Аппаратный уровень |
Концентраторы - ключевой элемент в архитектуре PnP USB. Они представляют собой устройства, которые обеспечивают многочисленные подключения к USB. Точки подключения именуются портами. Каждый концентратор превращает одну точку подключения в несколько. Данная архитектура поддерживает сочленение нескольких концентраторов.
Входной порт концентратора подсоединяет его к управляющему блоку. Каждый из выходных портов концентратора позволяет подключение к другому концентратору или функциональному блоку. Концентраторы могут определять подсоединение или отключение на каждом выходном порте и позволяют распределить энергию по выходным устройствам, а так же устанавливать оптимальную скорость для устройства, подключенного к выходному порту. Здесь показано как можно объединить функциональные устройства и повысить возможность системы. Устройство, содержащее концентратор и одно или несколько функциональных устройств, именуется комбинированным устройством.
USB передает сигналы и электропитание по 4-х-жильному кабелю, который состоит из сегментов длиною не более 5m. Длина кабельного сегмента USB меняется в зависимости от сопротивления проводника, мощности устройства и гибкости кабеля. Сигналы передаются по двум проводам кабеля D+ и D- (DATA+ и DATA-), которые имеют волновое сопротивление Z=90. Провода Vbas (+5VDC) и GND предназначены для электропитания устройств (питание и земля соответственно). Номинальное напряжение для Vbas составляет +5V. Чтобы гарантировать оптимальную величину сигнала на входе и необходимое сопротивление, на каждом конце кабеля применяются оконечные устройства. Оконечные устройства также позволяют фиксировать подсоединение и отсоединение на каждом порту и различать высоко- и низкоскоростные устройства.
В USB существует 2 режима передачи сигнала. Высокоскоростная передача сигнала составляет 12Mbps. Hизкоскоростной режим обеспечивает скорость 1.5Mbps и более сильную защиту от электромагнитных помех. Оба режима могут поддерживаться одновременно, в одной и той же системе USB в режиме переключения между передачами данных. Высокоскоростной режим необходим для работы с быстрыми устройствами IHVs (Independent Hardware Vendors), DVPDs (Digital Video Peripheral Devices), VCRs (Video Cassette Recorders), ISDN-периферией, принтерами, сканерами и т.д. Режим низкой скорости необходим для поддержки ограниченного числа устройств с узкой полосой пропускания, такими, как joystick, mouse, keyboard.
Все транзакции в шине могут включать в себя до 3 пакетов. Каждая транзакция начинается, когда управляющий контроллер посылает маркерный пакет (Token Packet) USB, описывающий тип и направление транзакции, адрес устройства и номер конечной точки. В данной транзакции данные передаются либо от управляющего блока к устройству, либо наоборот. Источник транзакции затем посылает пакет данных, или сигнализирует об отсутствии данных для передачи. Получатель, в общем случае, отвечает пакетом квинтования (HandShake Packet), который подтверждает передачу данных.
Данные в USB передаются по каналам. Существует 2 типа каналов: поток и сообщение. Потоковые данные не имеют определенной USB-структуры, в то время как у сообщений она есть. Кроме того, каналы связаны с полосой пропускания данных, типом передачи данных и характеристиками конечной точки, такими, как направленность и размер буфера. Каналы начинают свое существование, когда конфигурируется USB-структура. Только канал управления 0 существует всегда, как только устройство включено, для того, чтобы установить доступ к конфигурации устройства, статусу и управляющей информации.
Использование транзакций позволяет управлять потоками в каналах. На аппаратном уровне это предохраняет буферы от ситуации неполного завершения или перезагрузки с помощью NACK-квинтования, которое управляет скоростью данных. Механизм управления потоками позволяет создавать гибкие расписания, которые адаптируют параллельную обработку к смеси потоков данных разных типов. Так, многочисленные каналы с разнотипными данными обслуживаются за разные интервалы времени и с пакетами разных размеров. Сама же архитектура USB поддерживает 4 основные типа передачи данных:
Передачи управления. Они используются программным обеспечением USB для конфигурирования устройств, когда они впервые подсоединены. Отдельный драйвер может выбрать специфическое управление для обеспечения передачи данных без потерь.Типичный пример изохронных данных - аудио- или видеосигналы. Если скорость передачи этих потоков данных не сохраняется, то происходит нарушение синхронизации и получается искаженное восприятие. Даже если данные переданы с соответствующей скоростью, задержки в работе буферов могут вызвать искажения в протоколах типа Т.120 (телефонные аудиоконференции).
Групповая пересылка. Обычно состоит из больших объемов данных, которые используются принтерами, сканерами или цифровыми камерами. Групповые данные - это последовательные данные, надежный обмен которых обеспечивается на уровне аппаратуры путем обнаружения ошибок в технических средствах и дополнительно активизирует перезагрузку ПК. Полоса пропускания, которую занимают групповые данные, должна быть доступна в любой момент времени и не занимается другими типами данных.
Передача прерываний. Небольшая порция данных, переданных в произвольный момент времени от периферийного устройства, называется прерыванием. Такие данные могут быть посланы устройством в любое время и передаются USB со скоростью, не меньшей, чем определено устройством. Прерывания обычно состоят из уведомления о событии, символов и адреса, которые организованы как 1 байт или более. Прерывания используются для поддержки низкоскоростных устройств протокола USB 1.5Mbps.
Изохронные передачи. Изохронные данные (непрерывные данные) создаются, передаются и используются в реальном времени. Согласованная по времени информация подразумевает устойчивую скорость, при которой изохронные данные принимаются и передаются. Изохронные данные должны доставляться с необходимой скоростью, чтобы сохранить согласование по времени, так как изохронные данные могут быть чувствительны к задержкам доставки. Изосинхронная порция представляет собой непрерывный поток и используется для передачи звука или видео. К передаче изосинхронных данных предъявляются очень высокие требования.