|
EN |
Поиск по сайту
Авторизация
Подписка на новости
|
USB (Universal Serial Bus, универсальная последовательная шина)ИсторияUSB шина появилась в 1996 году как попытка решения проблемы множественности интерфейсов. К тому времени персональные компьютеры (ПК) были оснащены большим количеством разнообразных внешних полезных и необходимых интерфейсов, но все они требовали своего специального разъема и, чаще всего, выделенного аппаратного прерывания (IRQ, Interrupt ReQuest). USB была разработана группой из семи компаний(Compaq, Digital Equipment Corp, IBM PC Co., Intel, Microsoft, NEC и Northern Telecom). Первая спецификация (версия 1.0) USB была опубликована в начале 1996 года, а осенью 1998 года появилась спецификация 1.1, исправляющая проблемы, обнаруженные в первой редакции. Весной 2000 года была опубликована версия 2.0, в которой предусматривалось 40-кратное повышение пропускной способности шины. Так, спецификация 1.0 и 1.1 обеспечивает работу на скоростях 12 Мбит/с и 1,5 Мбит/с, а спецификация 2.0 – на скорости 480 Мбит/с. При этом предусматривается обратная совместимость USB 2.0 с USB 1.х. Окончательная спецификация USB 3.0 появилась в 2008 году. Созданием USB 3.0 занимались компании Intel, Microsoft, Hewlett-Packard, Texas Instruments, NEC и . NXP Semiconductors В спецификации USB 3.0 разъёмы и кабели обновлённого стандарта физически и функционально совместимы с USB 2.0. В дополнение к четырем линиям USB 2.0 в USB 3.0 добавляется еще четыре линии связи (две витых пары). Новые контакты в разъемах USB 3.0 расположены отдельно от старых на другом контактном ряду. Спецификация USB 3.0 повышает максимальную скорость передачи информации до 4,8 Гбит/с, таким образом, скорость передачи возрастает с 60 Мбайт/с до 600 Мбайт/с и позволяет передать 1 Тб не за 8-10 часов, а за 40 минут-1 час. Версия 3.0 так же может похвастаться увеличенной силой тока с 500 мА до 900 мА, поэтому пользователь может не только подпитывать от одного хаба большее количество устройств, но и сами устройства во многих случаях смогут избавиться от отдельных блоков питания.
Общая архитектура USBФизическая архитектура USB определяется следующими правилами:
Самым верхним уровнем является корневой концентратор, который обычно совмещается с USB контроллером. К корневому концентратору могут быть подключены либо устройства, либо еще концентраторы, для увеличения числа доступных портов. Концентратор может быть выполнен в виде отдельного устройства, либо быть встроенным в какое-то другое, т.е. устройства, подключаемые к USB, можно подразделить на функциональные устройства, т.е. те, которые выполняют какую-то конкретную функцию (например, мыши), устройства-концентратор, выполняющие только функцию только разветвления, и совмещенные устройства, имеющие в своем составе концентратор, расширяющие набор портов (например, мониторы, с портами для подключения других).
На пятом уровне комбинированное устройство использоваться не может. Кроме того отдельно стоит упомянуть о хосте, являющемся скорее программно-аппаратным комплексом, нежели просто устройством.
Детали физической архитектуры скрыты от прикладных программ в системном программном обеспечении (ПО), поэтому логическая архитектура выглядит как обычная звезда, центром которой является прикладное ПО, а вершинами – набор конечных точек. Прикладная программа ведет обмен информацией с каждой конечной точкой. Составляющие USBШина USB состоит из следующих элементов:
Свойства USB-устройств
Логические уровни обмена даннымиСпецификация USB определяет три логических уровня с определенными правилами взаимодействия. USB-устройство содержит интерфейсную, логическую и функциональную части. Хост тоже делится на три части – интерфейсную, системную и ПО. Каждая часть отвечает только за определенный круг задач. Таким образом, операция обмена данными между прикладной программой и шиной USB выполняется путем передачи буферов памяти через следующие уровни:
Отношения клиентского программного обеспечения и USB устройств: USB предоставляет для взаимодействия программный интерфейс и только его, позволяя клиентскому ПО существовать в отрыве от конкретного подключенного к шине устройства и его конфигурации. Для клиентской программы USB - это лишь набор функций. Взаимодействие компонентов USB представлено на схеме ниже:
В рассматриваемую структуру входят следующие элементы: Физическое устройство USB — устройство на шине, выполняющее функции, интересующие конечного пользователя. Client SW — ПО, соответствующее конкретному устройству, исполняемое на хост-компьютере. Может являться составной частью ОС или специальным продуктом. USB System SW — системная поддержка USB, независимая от конкретных устройств и клиентского ПО. USB Host Controller — аппаратные и программные средства для подключения устройств USB к хост-компьютеру. Принципы передачи данныхМеханизм передачи данных является асинхронным и блочным. Блок передаваемых данных называется USB-фреймом или USB-кадром и передается за фиксированный временной интервал. Оперирование командами и блоками данных реализуется при помощи логической абстракции, называемой каналом. Канал является логической связкой между хостом и конечной точкой внешнего устройства. Для передачи команд (и данных, входящих в состав команд) используется канал по умолчанию, а для передачи данных открываются либо потоковые каналы, либо каналы сообщений. Поток доставляет данные от одного конца канала к другому, он всегда однонаправленный. Один и тот же номер конечной точки может использоваться для двух поточных каналов — ввода и вывода. Поток может реализовывать следующие типы обмена: сплошной, изохронный и прерывания. Доставка всегда идет в порядке «первым вошел — первым вышел» (FIFO); с точки зрения USB, данные потока неструктурированны. Сообщения имеют формат, определенный спецификацией USB. Хост посылает запрос к конечной точке, после которого передается (принимается) пакет сообщения, за которым следует пакет с информацией состояния конечной точки. Последующее сообщение нормально не может быть послано до обработки предыдущего, но при отработке ошибок возможен сброс необслуженных сообщений. Двухсторонний обмен сообщениями адресуется к одной и той же конечной точке. Для доставки сообщений используется только обмен типа «управление». С каналами связаны характеристики, соответствующие конечной точке. Каналы организуются при конфигурировании устройств USB. Для каждого включенного устройства существует канал сообщений (Control Pipe 0), по которому передается информация конфигурирования, управления и состояния.
Любой обмен по шине USB инициируется хост-контроллером. Он организует обмены с устройствами согласно своему плану распределения ресурсов. Контроллер циклически (с периодом 1,0 ± 0,0005 мс) формирует кадры (frames), в которые укладываются все запланированные передачи.
Каждый кадр начинается с посылки пакета-маркера SOF (Start Of Frame, начало кадра), который является синхронизирующим сигналом для всех устройств, включая хабы. В конце каждого кадра выделяется интервал времени EOF (End Of Frame, конец кадра), на время которого хабы запрещают передачу по направлению к контроллеру. Если хаб обнаружит, что с какого-то порта в это время ведется передача данных, этот порт отключается. В режиме высокоскоростной передачи пакеты SOF передаются в начале каждого микрокадра (период 125 ± 0,0625 мкс). Хост планирует загрузку кадров так, чтобы в них всегда находилось место для наиболее приоритетных передач, а свободное место кадров заполняется низкоприоритетными передачами больших объемов данных. Спецификация USB позволяет занимать под периодические транзакции (изохронные и прерывания) до 90% пропускной способности шины. Каждый кадр имеет свой номер. Хост-контроллер оперирует 32-битным счетчиком, но в маркере SOF передает только младшие 11 бит. Номер кадра циклически увеличивается во время EOF. Для изохронной передачи важна синхронизация устройств и контроллера. Есть три варианта синхронизации:
В каждом кадре может быть выполнено несколько транзакций, их допустимое число зависит от скорости, длины поля данных каждой из них, а также от задержек, вносимых кабелями, хабами и устройствами. Все транзакции кадров должны быть завершены до момента времени EOF. Частота генерации кадров может немного варьироваться с помощью специального регистра хост-контроллера, что позволяет подстраивать частоту для изохронных передач. Подстройка частоты кадров контроллера возможна под частоту внутренней синхронизации только одного устройства. Информация по каналу передается в виде пакетов (Packet). Каждый пакет начинается с поля синхронизации SYNC (SYNChronization), за которым следует идентификатор пакета PID (Packet IDentifier). Поле Check представляет собой побитовую инверсию PID.
Структура данных пакета зависит от группы, к которой он относится.
1. Клиентское ПО посылает IPR-запросы уровню USBD. 2. Драйвер USBD разбивает запросы на транзакции по следующим правилам:
3. Драйвер контроллера хоста принимает от системного драйвера шины перечень транзакций и выполняет следующие действия:
4. Хост-контроллер интерфейса шины USB формирует кадры; 5. Кадры передаются последовательной передачей бит по методу NRZI Таким образом, можно сформировать следующую упрощенную схему:
1. каждый кадр состоит из наиболее приоритетных посылок, состав которых формирует драйвер хоста; 2. каждая передача состоит из одной или нескольких транзакций; 3. каждая транзакция состоит из пакетов; 4. каждый пакет состоит из идентификатора пакета, данных (если они есть) и контрольной суммы. Типы сообщений в USBСпецификация шины определяет четыре различных типа передачи (transfer type) данных для конечных точек:
Механизм прерыванийДля шины USB настоящего механизма прерываний не существует. Вместо этого хост опрашивает подключенные устройства на предмет наличия данных о прерывании. Опрос происходит в фиксированные интервалы времени, обычно каждые 1 – 32 мс. Устройству разрешается посылать до 64 байт данных. С точки зрения драйвера, возможности работы с прерываниями фактически определяются хостом, который и обеспечивает поддержку физической реализации USB-интерфейса. Режимы передачи данныхШина USB имеет три режима передачи данных:
Подключение периферийных устройств к шине USBДля подключения периферийных устройств к шине USB используется четырёхпроводный кабель, при этом два провода (витая пара) в дифференциальном включении используются для приёма и передачи данных, а два провода — для питания периферийного устройства. Спецификация 1.0 регламентировала два типа разъёмов:
Впоследствии были разработаны миниатюрные разъёмы для применения USB в переносных и мобильных устройствах, получившие название Mini-USB.
Существуют также разъёмы типа Mini AB и Micro AB, с которыми соединяются соответствующие коннекторы как типа A, так и типа B.
Так же существуют миниатюрные разъёмы - Micro USB.
Подключение полноскоростного устройства
Подключение низкоскоростного устройства
Сигналы синхронизации кодируются вместе с данными по методу NRZI (Non Return to Zero Invert). Каждому пакету предшествует поле синхронизации SYNC, позволяющее приемнику настроиться на частоту передатчика.
Кабель также имеет линии VBus и GND для передачи питающего напряжения 5 В к устройствам. Сечение проводников выбирается в соответствии с длиной сегмента для обеспечения гарантированного уровня сигнала и питающего напряжения. Материалы по теме:
Новости компаний
Энциклопедия измерений
|
Читайте бесплатно
События из истории измерений
|