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

Универсальная последовательная шина (USB) предоставляет расширяемый Plug and Play последовательный интерфейс, обеспечивающий стандартное и недорогое подключение для периферийных устройств. 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

  • Поговорите с USB-устройствами, от начала до конца. Предоставляет пошаговые инструкции по реализации функций USB в приложении UWP. Чтобы написать такое приложение для USB-устройства, вам потребуется Visual Studio и пакет sdk для Microsoft Windows.

  • Windows.Devices.Usb: справочник по программированию пространства имен UWP.

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

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

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

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

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

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

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

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

  • Блог группы разработчиков Microsoft Windows USB Core: ознакомьтесь с записями, написанными командой microsoft 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 создает физические объекты устройств (PPO) для каждой из этих функций. Эти отдельные PDO управляют соответствующими драйверами функций USB, которые могут быть драйвером Winusb.sys или драйвером класса USB-устройства.