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