Универсальная последовательная шина (USB)

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

USB-IF — это специальные группы интересов (SIG), которые поддерживают официальную спецификацию USB, спецификации и средства тестирования.

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

Значок USB для построителей устройствЗначок USB для разработчиков драйверовЗначок USB для разработчиков приложенийЗначок сертификации USB HCK

USB в Windows

Средства разработки

Примеры USB

Создание USB-драйвера или приложения для Windows

В этой статье описывается разработка USB-драйверов. Содержит сведения о выборе наиболее подходящей модели для предоставления USB-драйвера для устройства.

Запись ДРАЙВЕРА USB-клиента (KMDF, UMDF)

В этом разделе содержатся руководства по написанию первых usb-драйверов в режиме пользователя и режима ядра с помощью шаблонов USB, включенных в Microsoft Visual Studio.

Запись драйвера контроллера USB-узла

Если вы разрабатываете контроллер узла xHCI, который не соответствует спецификации или разрабатывает пользовательское оборудование, отличное от xHCI (например, виртуального контроллера узла), можно написать драйвер контроллера узла, который взаимодействует с UCX. Например, рассмотрим беспроводные док-станции, поддерживающие USB-устройства. Компьютер взаимодействует с USB-устройствами через беспроводной док-станции с помощью USB через TCP в качестве транспорта.

Запись драйвера контроллера функции для USB-устройства

Вы можете разработать драйвер контроллера, который обрабатывает все передачи данных USB и команды, отправленные узлом на устройство. Этот драйвер взаимодействует с расширением usb-функции (UFX) корпорации Майкрософт.

Разработка драйверов Windows для контроллеров функций USB

Справочник по расширению класса функции USB (UFX)

Запись драйвера соединителя USB Type-C

Windows 10 предоставляет поддержку нового USB-соединителя: USB Type-C. Вы можете написать драйвер для соединителя, который взаимодействует с модулем расширения класса майкрософт: UcmCx для обработки сценариев, связанных с соединителями Type-C, такими как порты, поддерживающие Type-C, которые поддерживают доставку питания.

Разработка драйверов Windows для соединителей USB Type-C

Справочник по расширению класса диспетчера USB (UcmCx)

Запись драйвера контроллера двойной роли USB

Теперь контроллеры двойной роли USB поддерживаются в Windows 10. Windows включает встроенные клиентские драйверы для контроллеров ChipIdea и Synopsis. Для других контроллеров корпорация Майкрософт предоставляет набор интерфейсов программирования, которые позволяют расширению класса двойной роли (UrsCx) и его драйверу клиента взаимодействовать друг с другом для обработки возможностей переключения ролей контроллера двойной роли.

Дополнительные сведения об этой функции см.:

Архитектура стека драйвера двойной роли USB

Справочник по программированию драйвера контроллера двойной роли USB

Запись USB-драйвера для эмулированных устройств

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

Разработка драйверов Windows для эмулированных USB-устройств (UDE)

Справочник по программированию драйвера контроллера контроллера USB

Расширение WDF для разработки USB-драйверов

Создание приложения UWP

Создание классического приложения Для Windows

Тестирование USB-устройств с помощью Windows

Обзор устройств Microsoft USB Test Tool (MUTT)

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

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

Универсальная последовательная шина 4 (USB4™)

Другие ресурсы для USB

  • Официальная спецификация USB: предоставляет полные технические сведения о протоколе USB.

  • Блог группы microsoft Windows USB Core: ознакомьтесь с записями, написанными командой Майкрософт ПО USB. Блог посвящен стеку USB-драйверов Windows, который работает с различными контроллерами USB-узла и USB-концентраторами, найденными на компьютере с Windows. Полезный ресурс для разработчиков драйверов USB и usb-разработчиков оборудования, чтобы понять реализацию стека драйверов, устранить распространенные проблемы и объяснить, как использовать средства для сбора трассировок и файлов журналов.

  • Списки OSR Online — ntdev: список обсуждений, управляемый OSR Online для разработчиков драйверов в режиме ядра.

  • Windows Центр разработки оборудования. Другие ресурсы на основе часто задаваемых вопросов от разработчиков, которые не знакомы с разработкой USB-устройств и драйверов, работающих с операционными системами Windows.

USB-оборудование для обучения

  • Устройства MUTT: устройства MUTT и SuperMUTT и сопутствующий пакет программного обеспечения интегрируются в набор USB-тестов HCK. Они обеспечивают автоматизированное тестирование, которое можно использовать во время цикла разработки USB-контроллеров, устройств и систем, особенно стресс-тестирования.

  • Пакет обучения OSR USB FX2: если вы не знакомы с разработкой USB-драйверов. Набор наиболее подходит для изучения примеров USB, включенных в этот набор документации. Вы можете получить комплект обучения из Интернет-магазина OSR.

Сведения о usb-драйверах, предоставляемых Корпорацией Майкрософт

  • Драйверы usb-устройства в Windows: описывает архитектуру стека функций USB.

  • Драйверы на стороне USB в Windows. Общие сведения об архитектуре стека драйверов универсальной последовательной шины (USB). Корпорация Майкрософт предоставляет основной стек драйверов, взаимодействующих с устройствами, подключенными к контроллерам EHCI и xHCI.

  • Драйверы классов устройств USB-IF: перечислены драйверы, предоставляемые Корпорацией Майкрософт, для поддерживаемых классов USB-устройств. Windows предоставляет встроенные драйверы классов устройств для многих утвержденных классов устройств USB-IF, аудио, массовое хранилище и т. д.

  • Драйвер универсальной функции USB —WinUSB: WinUSB — это универсальный драйвер для USB-устройств, включенных во все версии Windows с Windows Vista. Windows предоставляет Winusb.sys, которые можно загрузить в качестве драйвера функций для пользовательского устройства и функции составного устройства.

  • Универсальный родительский драйвер USB для составных устройств —Usbccgp: родительский драйвер для USB-устройств с несколькими функциями. Usbccgp создает объекты физического устройства (PDOS) для каждой из этих функций. Эти отдельные PDOs управляют соответствующими драйверами функций USB, которые могут быть драйвером Winusb.sys или драйвером класса USB-устройства.