Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Описывает типичный аппаратный дизайн системы USB-Type-C и драйверы, предоставляемые Корпорацией Майкрософт, поддерживающие аппаратные компоненты. Эта статья относится к производителям оригинального оборудования, разрабатывающим системы с коннекторами USB Type-C.
- Возможности двойной роли USB при использовании режима USB Type-C
- Быстрая зарядка с помощью уровня тока USB Type-C и технологии Power Delivery 2.0
- Display-Out возможности с помощью альтернативных режимов и проводной привязки.
Драйверы для поддержки компонентов USB-Type-C
На предыдущем изображении
драйверы USB на стороне устройства
Драйверы на стороне устройства USB обслуживают функцию, устройство или периферийное устройство. Расширение класса контроллера функции USB поддерживает MTP (протокол передачи мультимедиа) и зарядку с помощью зарядных устройств BC 1.2. Корпорация Майкрософт предоставляет встроенные клиентские драйверы для контроллеров Synopsys USB 3.0 и ChipIdea USB 2.0. Вы можете написать пользовательский драйвер клиента для контроллера функции с помощью интерфейсов программирования драйвера драйвера usb-функций. Дополнительные сведения см. в статье Разработка драйверов Windows для контроллеров функций USB.
Поставщик SoC может предоставить вам usb-функцию нижнего фильтра для обнаружения устаревших собственных зарядных устройств. Вы можете реализовать собственный драйвер фильтра, если контроллер функции — это контроллеры Synopsys USB 3.0 или ChipIdea USB 2.0.
драйверы хост-системы USB
Драйверы на стороне USB — это набор драйверов, работающих с контроллерами USB-узла, совместимыми с EHCI или XHCI. Драйверы загружаются, если драйвер переключения ролей перечисляет роль хоста. Если контроллер узла не соответствует спецификации, можно написать пользовательский драйвер с помощью интерфейса программирования расширения контроллера USB-узла (UCX). Дополнительные сведения см. в статье Разработка драйверов Windows для контроллеров USB-узлов.
Замечание
Не все классы USB-устройств поддерживаются на Windows 10 Mobile.
Драйверы переключения ролей USB (URS)
Системы могут быть спроектированы таким образом, что для настройки USB-порта двойного режима в режим хоста или функции требуется Windows. Эти проекты должны использовать стек драйверов коммутатора ролей USB (URS).
Драйвер URS управляет текущей ролью соединителя, узла или функции, а также загрузку и выгрузку соответствующих драйверов на стороне устройства или узла на основе событий оборудования с платформы. Корпорация Майкрософт предоставляет встроенные клиентские драйверы для контроллеров Synopsys USB 3.0 и ChipIdea USB 2.0. Клиентский драйвер для переключения ролей можно написать с помощью интерфейса программирования драйвера контроллера двойного режима USB. Чтобы активировать драйверы переключателя ролей, необходимо внести изменения в таблицы ACPI. Дополнительные сведения см. в статье "Архитектура стека драйверов двойной роли USB".
В системах с соединителями USB micro-AB это решение принимается на основе пин-кода в соединителе. Обнаружение пин-кода выполняется драйвером клиента с помощью ресурсов прерываний, назначенных ему.
В системах с коннекторами USB-Type-C решение основано на контактах CC. Клиентский драйвер для соединителя выполняет обнаружение CC и пересылает эту информацию драйверу смены ролей.
Диспетчер соединителей USB (UCM)
Этот набор драйверов управляет всеми аспектами соединителя USB-Type-C. Если система реализует встроенный контроллер, совместимый с UCSI, через ACPI, используйте драйвер UCSI, предоставленный корпорацией Майкрософт. В противном случае напишите драйвер клиента UCSI для транспорта, отличного от ACPI.
Если ваше оборудование не соответствует UCSI, то предполагается, что вы напишете драйвер соединителя USB-Type-C, который является клиентом расширения класса UCM. Вместе они управляют соединителем USB-Type-C и ожидаемым поведением драйвера соединителя.
Если вы пишете драйвер, расширение класса диспетчера USB-коннектора следует модели клиентского драйвера-расширения класса WDF. Драйвер клиента взаимодействует с оборудованием и расширением класса для выполнения таких задач, как обнаружение CC, обмен сообщениями PD, мультиплексирование и управление VBus/VConn, а также для выбора политики подачи питания и альтернативного режима. Расширение класса передает сведения, сообщаемые драйвером клиента операционной системе. Например, результат обнаружения CC используется для настройки драйверов переключения режимов; информация о питании USB Type-C/PD используется для определения уровня, на котором должна заряжаться система. Драйвер клиента управляет usb-Type-C и компьютерами с состоянием PD. Драйвер клиента может делегировать некоторые задачи другим драйверам, например, Мукс может управляться другим драйвером. Чтобы написать драйвер клиента, используйте интерфейсы программирования драйвера USB Type-C соединителя.
Контроллер порта USB Type-C
Расширение класса интерфейса контроллера портов Type-C (UcmTcpciCx.sys) — это расширение диспетчера USB-соединителей, предоставляемого корпорацией Майкрософт, которое позволяет ОС вести себя как Type-C диспетчер портов (TCPM) для соединителя, который не реализует компьютеры с состоянием PD. Драйвер клиента UcmTcpciCx позволяет программному обеспечению TCPM управлять оборудованием и получать его состояние в режиме реального времени.
Сведения о написании драйвера клиента см. в статье Написание драйвера контроллера порта USB Type-C.
Драйвер арбитража для зарядки
Этот драйвер предоставляется корпорацией Майкрософт для Windows 10 Mobile. Драйвер выступает в роли арбитра для нескольких источников зарядки. Диспетчер разъемов USB передает информацию о USB Type-C и источнике зарядки PD в CAD, который делает выбор из этой информации и результатов обнаружения зарядного устройства BC1.2, выполненного драйверами на стороне USB-устройства (если применимо). Затем CAD сообщает наиболее подходящий источник зарядки для использования в подсистеме батареи.
Драйверы батареи
Драйвер класса определяет общую функциональность батарей в системе и взаимодействует с диспетчером питания. Миникласс-драйвер обрабатывает функции, специфичные для устройства, такие как добавление и удаление батареи, а также отслеживание ее емкости и заряда. Драйвер miniclass экспортирует подпрограммы, которые вызывает драйвер класса для получения сведений об устройствах, которые он контролирует.