Universal serial bus controllers что это
Данный формат является на сегодняшний день самым популярным в области компьютеров.
Шина или интерфейс USB ( Universal Serial Bus ) — это универсальная последовательная шина, предназначенная для подключения периферийных устройств. В свое время шина USB пришла на смену уже морально устаревшим интерфейсам COM, LPT, PS/2 и GamePort (для подключения джойстика).
Интерфейс USB был создан с целью объединить форматы для подключения периферийных устройств. Сегодня почти всё можно подключить через USB. Когда дело касается подключения различных устройств от клавиатур до колонок, интерфейс USB доминирует. Есть также маленькие форматы, такие как Mini-USB и Micro-USB, предназначенные для мобильных устройств.
Как и в случае спецификаций USB 1.0 и USB 1.1, в спецификации USB 2.0 для подключения периферийных устройств используется кабель, состоящий из двух пар проводов: одна витая пара проводов для приема и передачи данных, а другая — для питания периферийного устройства. При этом напряжение питания опять-таки составляет 5 В, а максимальная сила тока не должна превышать 0,5 А. К одному контроллеру шины USB 2.0 можно подсоединять до 127 устройств через цепочку концентраторов.
В стандарте USB 2.0 предусмотрено три типа разъемов: разъем типа A, разъем типа B и разъем miniUSB типа B. Впоследствии, в январе 2007 года, были представлены разъемы microUSB, которые предназначены для мобильных телефонов и коммуникаторов.
Разъёмы USB предназначены для подключения к компьютеру различных внешних периферийных устройств (мышь, клавиатура, портативный жёсткий диск, цифровая камера, принтер и т.д.). Теоретически, к одному host-контроллеру USB можно подключить до 127 устройств. Максимальная скорость передачи составляет 12 Мбит/с для стандарта USB 1.1 и 480 Мбит/с для Hi-Speed USB 2.0. Разъёмы стандартов USB 1.1 и Hi-Speed 2.0 одинаковы. Различия кроются в скорости передачи и наборе функций host-контроллера USB компьютера, да и самих USB-устройств. USB обеспечивает устройства питанием, поэтому они могут работать от интерфейса без дополнительного питания (если USB-интерфейс даёт необходимое питание, не больше 500 мА на 5 В).
Основная проблема шины USB 2.0 заключается в том, что она является однонаправленной. То есть данные передаются в обе стороны (либо в одну, либо в другую, но не одновременно) по одной и той же витой паре. Несмотря на декларируемую максимальную скорость передачи данных до 480 Мбит/с, шина USB 2.0 имеет достаточно большие задержки между запросом на передачу данных и собственно началом передачи. Поэтому в реальности интерфейс USB 2.0 не позволяет передавать данные со скоростью более 35 Мбайт/с (280 Мбит/с).
Конечно, такая скорость передачи данных сегодня уже явно недостаточна. Подключение по интерфейсу USB 2.0 внешних жестких дисков и флэш-памяти не позволяет реализовать весь их скоростной потенциал. К примеру, при подключении внешнего жесткого диска по интерфейсу eSATA скорость передачи данных ограничивается скоростными характеристиками самого диска и для современных дисков составляет порядка 90 Мбайт/с (при последовательных операциях чтения и записи), а при подключении того же внешнего диска по интерфейсу USB 2.0 скорость передачи данных снижается до 33 Мбайт/с.
Не только внешние накопители, но и многие другие периферийные устройства нуждаются в существенно большей пропускной способности интерфейса, нежели может предоставить интерфейс USB 2.0. Поэтому новый высокоскоростной стандарт USB 3.0, разработка которого велась в течение нескольких лет, появился как нельзя кстати.
Схема цоколевки
Названия и функциональные назначения выводов
Не удлиняйте кабель
В комплекте с некоторыми материнскими платами идет USB-кабель, соединяющий контроллер с портом. Его нормальная длина не должна превышать 30 см, а максимальная длина по спецификации не должна быть больше 60 см. Некоторые пользователи самостоятельно удлиняют кабель, что приводит к потери связи с устройством или полному отказу работать.
Mini-USB
Micro-USB
Недавно USB Implementers Forum (USB-IF) утвердил новый тип разъема Micro-USB. Появление нового типа вызвано уменьшением размеров мобильных устройств, что требует более миниатюрных USB-разъемов для подключения к ПК и другим устройствам.
В конструкции Micro-USB используется оболочку из нержавеющей стали и пассивный фиксирующий механизм, что гарантирует до 10 тыс. циклов подключения-отключения без сбоев. А номенклатура разъемов включает в себя Micro-A для обычных устройств, Micro-AB для устройств с поддержкой стандарта USB On-The-Go (USB-host), а также штекеры Micro-A и Micro-B на соединительных кабелях.
Y-образный USB-кабель
Адаптер USB/PS2
Существует способ запретить использование USB-накопителей в Windows XP без установки дополнительных программ. Если USB-накопители еще не подключались к компьютеру, то для пользователя или группы пользователей, которым вы хотите ограничить доступ ко внешним USB-носителям, просто запретите доступ к файлам %SystemRoot%\Inf\Usbstor.pnf и %SystemRoot%\Inf\Usbstor.inf. Если же USB-диск уже подключался, то откройте раздел реестра HKLM\SYSTEM\CurrentControlSet\Services\UsbStor и установите значение параметра Start равным 4. USB-диски после этого работать перестанут
Как определить, какие устройства были подключены к USB-порту за последнюю неделю
Universal Serial Bus
USB (англ. Universal Serial Bus — универсальная последовательная шина) — последовательный интерфейс передачи данных для среднескоростных и низкоскоростных периферийных устройств.
Разработка спецификаций на шину USB производится в рамках международной некоммерческой организации USB Implementers Forum (USB-IF), объединяющей разработчиков и производителей оборудования с шиной USB.
Для подключения периферийных устройств к шине USB используется четырёхпроводный кабель, при этом два провода (витая пара) в дифференциальном включении используются для приёма и передачи данных, а два провода — для питания периферийного устройства. Благодаря встроенным линиям питания, USB позволяет подключать периферийные устройства без собственного источника питания (максимальная сила тока, потребляемого устройством по линиям питания шины USB, не должна превышать 500 мА).
К одному контроллеру шины USB можно подсоединить до 127 устройств по топологии «звезда», в том числе и концентраторы, к которым можно еще присоединить 127 устройств.
В настоящее время широко используются устройства, выполненные в соответствии со спецификацией USB 2.0. Ведётся внедрение в производство устройств спецификации USB 3.0.
Содержание
История
Спецификации для USB 1.0 были представлены в ноябре 1995 года. Разработка USB поддерживалась Microsoft, US Robotics. На тот момент для подключения внешних периферийных устройств к персональному компьютеру использовалось несколько «традиционных» (англ. legacy ) интерфейсов:
Компьютер «Bondi blue» iMac G3 от англ. legacy ) портов. Спецификация USB 1.1 вышла в сентябре 1998 года, в ней были исправлены ошибки версии 1.0.
Основные сведения
Кабели USB ориентированы, т.е. имеют физически разные наконечники «к устройству» и «к хосту». Возможна реализация USB устройства без кабеля, со встроенным в корпус наконечником «к хосту». Возможно и неразъемное встраивание кабеля в устройство, как в мышь (стандарт запрещает это для устройств full и high speed, но производители его нарушают). Существуют (хотя и запрещены стандартом) и пассивные USB удлинители, имеющие разъемы «от хоста» и «к хосту».
Шина строго ориентирована, имеет понятие «главное устройство» (хост, он же USB контроллер, обычно встроен в микросхему южного моста на материнской плате) и «периферийные устройства». Шина имеет древовидную топологию, посколько периферийным устройством может быть разветвитель (hub), в свою очередь имеющий несколько нисходящих разъемов «от хоста». Разветвитель есть сложное электронное устройство, пассивных разветвителей не бывает.
Устройства могут быть запитаны от шины, но могут и требовать внешний источник питания. Поддерживается и «спячка» устройств и разветвителей по команде с шины со снятием основного питания при сохранении дежурного питания и пробуждением по команде с шины.
USB поддерживает «горячее» подключение и отключение устройств.
На логическом уровне устройство USB поддерживает транзакции приема и передачи данных. Каждый пакет каждой транзакции содержит в себе номер оконечной точки (endpoint) на устройстве. При подключении устройства драйверы в ядре ОС читают с устройства список оконечных точек и создают управляющие структуры данных для общения с каждой оконечной точкой устройства. Совокупность оконечной точки и структур данных в ядре ОС называется каналом (pipe).
Управляющий канал предназначен для обмена с устройством короткими пакетами «вопрос-ответ». Любое устройство имеет управляющий канал 0, который позволяет программному обеспечению ОС прочитать краткую информацию об устройстве, в т.ч. коды производителя и модели, используемые для выбора драйвера, и список других оконечных точек.
Изохронный канал позволяет доставлять пакеты без гарантии доставки и без ответов/подтверждений, но с гарантированной скоростью доставки в N пакетов на один период шины (1 КГц у low и full speed, 8 КГц у high speed). Используется для передачи аудио и видео информации.
Поточный канал дает гарантию доставки каждого пакета, поддерживает автоматический временный приостанов передачи данных по нежеланию устройства (переполнение или опустошение буфера), но не дает гарантий скорости и задержки доставки. Используется, например, в принтерах и сканерах.
Время шины делится на периоды, в начале периода контроллер передает всей шине пакет «начало периода». Далее в течение периода передаются пакеты прерываний, потом изохронные в требуемом количестве, в оставшееся время в периоде передаются управляющие пакеты и в последнюю очередь поточные.
Активной стороной шины всегда является контроллер, передача пакета данных от устройства к контроллеру реализована как короткий вопрос контроллера и длинный, содержащий данные, ответ устройства. Расписание движения пакетов для каждого периода шины создается совместным усилием аппаратурые контроллера и ПО драйвера, для этого многие контроллеры используют крайне сложный DMA со сложной DMA-программой, формируемой драйвером.
Размер пакета для оконечной точки есть вшитая в таблицу оконечных точек устройства константа, изменению не подлежит. Он выбирается разрабочиком устройства из числа тех, что поддерживаются стандартом USB (степени двойки).
Версии спецификации
Предварительные версии
USB 1.0
Спецификация выпущена в ноябре 1995 года.
USB 1.1
Спецификация выпущена в сентябре 1998 года. Исправлены проблемы и ошибки, обнаруженные в версии 1.0. Первая версия, получившая массовое распространение.
USB 2.0
Спецификация выпущена в апреле 2000 года.
USB 2.0 отличается от USB 1.1 введением режима Hi-speed.
Для устройств USB 2.0 регламентировано три режима работы:
Последующие модификации
USB OTG
USB OTG (аббр. от On-The-Go) — дальнейшее расширение спецификации USB 2.0, предназначенное для лёгкого соединения периферийных USB-устройств друг с другом без необходимости подключения к ПК. Например, цифровой фотоаппарат можно подключать к фотопринтеру напрямую, если они оба поддерживают стандарт USB OTG. К моделям КПК и коммуникаторов, поддерживающих USB OTG, можно подключать некоторые USB-устройства. Обычно это флэш-накопители, цифровые фотоаппараты, клавиатуры, мыши и другие устройства, не требующие дополнительных драйверов. Этот стандарт возник из-за резко возросшей в последнее время необходимости надёжного соединения различных USB-устройств без использования ПК. В данной спецификации устройства обходятся без персонального компьютера, то есть выступают как одноранговые приёмопередатчики (на самом деле только создаётся такое ощущение). В действительности же устройства определяют, какое из них будет мастер-устройством, а какое — подчиняемым. Одноранговый интерфейс USB существовать не может.
USB Wireless
USB wireless — технология USB (официальная спецификация доступна с мая 2005 года). Позволяет организовать беспроводную связь с высокой скоростью передачи информации (до 480 Мбит/с на расстоянии 3 метра и до 110 Мбит/с на расстоянии 10 метров).
23 июля 2007 года USB Implementers Forum (USB-IF) объявила о сертификации шести первых потребительских продуктов с поддержкой Wireless USB. [2]
USB 3.0
USB 3.0 находится на финальных стадиях разработки. Созданием USB 3.0 занимаются компании: Microsoft, Texas Instruments, NXP Semiconductors. В спецификации USB 3.0 разъёмы и кабели обновлённого стандарта будут физически и функционально совместимы с USB 2.0. Кабель USB 2.0 содержит в себе четыре линии — пару для приёма/передачи данных, одну — для питания и ещё одну — для заземления. В дополнение к ним USB 3.0 добавляет пять новых линий (в результате чего кабель стал гораздо толще), однако новые контакты расположены параллельно по отношению к старым на другом контактном ряду. Теперь можно будет с лёгкостью определить принадлежность кабеля к той или иной версии стандарта, просто взглянув на его разъём. Спецификация USB 3.0 повышает максимальную скорость передачи информации до 4,8 Гбит/с — что на порядок больше 480 Мбит/с, которые может обеспечить USB 2.0. USB 3.0 может похвастаться не только более высокой скоростью передачи информации, но и увеличенной силой тока с 500 мА до 900 мА. Отныне пользователь сможет не только подпитывать от одного хаба гораздо большее количество устройств, но и само аппаратное обеспечение, ранее поставлявшееся с отдельными блоками питания, избавится от них.
Финальная спецификация USB 3.0 появилась в 2008 году, а оборудование, поддерживающее новую спецификацию, появится в 2009—2010 годах.
Фирмой анонсирована предварительная версия программной модели контроллера USB 3.0.
Universal Serial Bus (USB)
Universal Serial Bus (USB) provides an expandable, hot-pluggable Plug and Play serial interface that ensures a standard, low-cost connection for peripheral devices such as keyboards, mice, joysticks, printers, scanners, storage devices, modems, and video conferencing cameras. Migration to USB is recommended for all peripheral devices that use legacy ports such as PS/2, serial, and parallel ports.
The USB-IF is a Special Interest Groups (SIGs) that maintains the Official USB Specification, test specifications and tools.
Windows operating systems include native support for USB host controllers, hubs, and devices and systems that comply with the official USB specification. Windows also provides programming interfaces that you can use to develop device drivers and applications that communicate with a USB device.
USB in Windows Overview of new features and improvements in USB in Windows 10. Frequently asked questions from driver developers about the USB stack and features that are supported in USB. Windows defines MS OS descriptors that allows better enumeration when connected to system running Windows operating system Microsoft-provided USB drivers A set of drivers for handling common function logic for USB devices. Microsoft provides a core stack of drivers that interoperate with devices that are connected to EHCI and xHCI controllers. Windows provides in-box device class drivers for many USB-IF approved device classes, audio, mass storage, and so on. Windows provides Winusb.sys that can be loaded as a function driver for a custom device and a function of a composite device. Parent driver for USB devices with multiple functions. Usbccgp creates physical device objects (PDOs) for each of those functions. Those individual PDOs are managed by their respective USB function drivers, which could be the Winusb.sys driver or a USB device class driver. Get information about the tools that you can use to test your USB hardware or software, capture traces of operations and other system events, and observe how the USB driver stack responds to a request sent by a client driver or an application. Read an overview of tests in the Hardware Certification Kit that enable hardware vendors and device manufacturers to prepare their USB devices and host controllers for Windows Hardware Certification submission. Other Resources for USB Provides complete technical details for the USB protocol. Check out posts written by the Microsoft USB Team. The blog focuses on the Windows USB driver stack that works with various USB Host controllers and USB hubs found in Windows PC. A useful resource for USB client driver developers and USB hardware designers understand the driver stack implementation, resolve common issues, and explain how to use tools for gathering traces and log files. Discussion list managed by OSR Online for kernel-mode driver developers. Miscellaneous resources based on frequently asked questions from developers who are new to developing USB devices and drivers that work with Windows operating systems. USB-related videos USB hardware for learning MUTT and SuperMUTT devices and the accompanying software package are integrated into the HCK suite of USB tests. They provide automated testing that can be used during the development cycle of USB controllers, devices and systems, especially stress testing. If you are new to USB driver development. The kit is the most suitable to study USB samples included in this documentation set. You can get the learning kit from OSR Online Store. | Write a USB client driver (KMDF, UMDF) Introduces you to USB driver development. Provides information about choosing the most appropriate model for providing a USB driver for your device. This section also includes tutorials about writing your first user-mode and kernel-mode USB drivers by using the USB templates included with Microsoft Visual Studio. Write a USB host controller driver If you are developing an xHCI host controller that is not compliant with the specification or developing a custom non-xHCI hardware (such as a virtual host controller), you can write a host controller driver that communicates with UCX. For example, consider a wireless dock that supports USB devices. The PC communicates with USB devices through the wireless dock by using USB over TCP as a transport. Write a function controller driver for a USB device You can develop a controller driver that handles all USB data transfers and commands sent by the host to the device. This driver communicates with the Microsoft-provided USB function controller extension (UFX). Write a USB Type-C connector driver Windows 10 introduces support for the new USB connector: USB Type-C. You can write a driver for the connector that communicates with the Microsoft-provided class extension module: UcmCx to handle scenarios related to Type-C connectors such as, which ports support Type-C, which ports support power delivery. Write a USB dual-role controller driver USB Dual Role controllers are now supported in Windows 10. Windows includes in-box client drivers for ChipIdea and Synopsys controllers. For other controllers, Microsoft provides a set of programming interfaces that allow the dual-role class extension (UrsCx) and its client driver to communicate with each other to handle the role-switching capability of a dual-role controller. For more information about this feature, see: Write a USB driver for emulated devices Windows 10 introduces support for emulated devices. Now you can develop an emulated Universal Serial Bus (USB) host controller driver and a connected virtual USB device. Both components are combined into a single KMDF driver that communicates with the Microsoft-provided USB device emulation class extension (UdeCx). Write a UWP app Write a Windows desktop app Describes how an application can call WinUSB Functions to communicate with a USB device. List of common tasks that a driver or an app performs in order to communicate with a USB device. Get quick info about the programming interfaces you need for each task. 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Физическая архитектура 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.
|