Универсальная последовательная шина (USB)
Универсальная последовательная шина (USB) предоставляет расширяемый самонастраивающийся последовательный интерфейс, обеспечивающий стандартное низкое значение подключения для периферийных устройств. USB-устройства включают клавиатуры, мыши, джойстики, принтеры, сканеры, устройства хранения, модемы, камеры видеоконференций и многое другое.
USB-IF — это специальные группы интересов (SIG), которые поддерживают официальную спецификацию USB, спецификации и средства тестирования.
Операционные системы Windows включают встроенную поддержку контроллеров, концентраторов и устройств и систем USB, соответствующих официальной спецификации USB. Windows также предоставляет интерфейсы программирования, которые можно использовать для разработки драйверов устройств и приложений , взаимодействующих с USB-устройством.
USB в Windows
Поддержка Windows соединителей USB Type-C: для изготовителей оборудования, которые хотят создать систему Windows с соединителями USB Type-C.
Универсальная последовательная шина 4 (USB4): предоставляет изготовители оборудования, IHV и кремниевые поставщики, поддерживающие системы Windows, поддерживающие USB4™ с информацией о диспетчере подключений USB4, упрощая отладку и процедуры создания.
Вопросы и ответы по USB: часто задаваемые вопросы от разработчиков драйверов о стеке USB и функциях, поддерживаемых в USB.
Дескрипторы ОС Майкрософт для USB-устройств: Windows определяет дескрипторы ОС MS, которые позволяют лучше перечислять при подключении к системе под управлением операционной системы Windows.
Средства разработки
Примеры USB
Создание USB-драйвера или приложения для Windows
В этой статье описывается разработка USB-драйверов. Содержит сведения о выборе наиболее подходящей модели для предоставления USB-драйвера для устройства.
Запись ДРАЙВЕРА USB-клиента (KMDF, UMDF)
В этом разделе содержатся руководства по написанию первых usb-драйверов в режиме пользователя и режима ядра с помощью шаблонов USB, включенных в Microsoft Visual Studio.
Запись драйвера контроллера USB-узла
Если вы разрабатываете контроллер узла xHCI, который не соответствует спецификации или разрабатывает пользовательское оборудование, отличное от xHCI (например, виртуального контроллера узла), можно написать драйвер контроллера узла, который взаимодействует с UCX. Например, рассмотрим беспроводные док-станции, поддерживающие USB-устройства. Компьютер взаимодействует с USB-устройствами через беспроводной док-станции с помощью USB через TCP в качестве транспорта.
Справочник по контроллеру USB-узла (UCX)
Запись драйвера контроллера функции для 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-драйверов
- Справочник по расширению класса диспетчера USB (UcmCx)
- Справочник по контроллеру USB-узла (UCX)
- Справочник по расширению класса функции USB (UFX)
Создание приложения UWP
Обратитесь к USB-устройствам, начните работу: предоставляет пошаговые инструкции по реализации функций USB в приложении UWP. Чтобы написать такое приложение для USB-устройства, вам потребуется Visual Studio и Пакет средств разработки программного обеспечения Microsoft Windows (SDK).
Справочник по программированию пространства имен Windows.Devices.Usb: справочник по пространству имен UWP.
Создание классического приложения Для Windows
Напишите приложение WinUSB: описывает, как приложение может вызывать Функции WinUSB для взаимодействия с USB-устройством.
Функции WinUSB
Распространенные сценарии программирования: список распространенных задач, выполняемых драйвером или приложением для взаимодействия с USB-устройством. Получите краткие сведения об интерфейсах программирования, необходимых для каждой задачи.
Тестирование USB-устройств с помощью Windows
Обзор устройств Microsoft USB Test Tool (MUTT)
Получите сведения о средствах, которые можно использовать для тестирования usb-оборудования или программного обеспечения, отслеживания трассировок операций и других системных событий, а также о том, как стек USB-драйверов реагирует на запрос, отправленный драйвером клиента или приложением.
Ознакомьтесь с обзором тестов в комплекте сертификации оборудования, который позволяет поставщикам оборудования и производителям устройств подготовить свои USB-устройства и контроллеры узлов для отправки сертификации оборудования Windows.
Универсальная последовательная шина 4 (USB4™)
Универсальная последовательная шина 4 (USB4): предоставляет изготовители оборудования, IHV и кремниевые поставщики, поддерживающие системы Windows, поддерживающие USB4™ с информацией о диспетчере подключений USB4, упрощая отладку и процедуры создания.
Общие сведения о диспетчере подключений USB4 в Windows: диспетчер соединений в домене USB4 отвечает за перечисление, настройку и управление доменом USB4.
Сведения о проектировании универсальной последовательной шины 4 (USB4™) и общие требования: высокий уровень дизайна и требования к пользовательскому интерфейсу.
Обязательное тестирование универсальной последовательной шины 4 (USB4™): требования HLK не предназначены для обеспечения полного комплексного покрытия функциональных тестов для набора компонентов 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-устройства.