Share via


Arquitectura: diseño usb de tipo C para un sistema Windows

Describe un diseño de hardware típico de un sistema USB type-C y los controladores proporcionados por Microsoft que admiten los componentes de hardware. Este artículo se aplica a los OEM que desarrollan sistemas con conectores USB type-C.

  • Funcionalidades de doble rol USB mediante el tipo USB-C
  • Carga más rápida mediante el uso de los niveles de corriente usb de tipo C y la entrega de energía 2.0
  • Display-Out funcionalidades mediante modos alternativos y experiencias de acoplamiento cableado.

Controladores para admitir componentes usb de tipo C

Diagrama de componentes de software usb de tipo C.

En la imagen anterior,

  • Controladores del lado del dispositivo USB

    Los controladores del lado del dispositivo USB funcionan con la función, el dispositivo o el periférico. La extensión de clase de controlador de función USB admite MTP (Protocolo de transferencia de medios) y carga mediante cargadores BC 1.2. Microsoft proporciona controladores de cliente en caja para controladores USB 3.0 y ChipIdea USB 2.0. Puede escribir un controlador de cliente personalizado para el controlador de funciones mediante interfaces de programación de controladores de cliente del controlador de función USB. Para obtener más información, consulte Desarrollo de controladores de Windows para controladores de funciones USB.

    El proveedor de SoC puede proporcionarle el controlador de filtro inferior de función USB para la detección heredada de cargadores propietarios. Puede implementar su propio controlador de filtro si el controlador de función es controladores Synopsys USB 3.0 o ChipIdea USB 2.0.

  • Controladores del lado host USB

    Los controladores del lado host USB son un conjunto de controladores que funcionan con controladores de host USB compatibles con EHCI o XHCI. Los controladores se cargan si el controlador de conmutador de rol enumera el rol de host. Si el controlador de host no es compatible con la especificación, puede escribir un controlador personalizado mediante la interfaz de programación de la extensión del controlador de host USB (UCX). Para obtener información, consulte Desarrollo de controladores de Windows para controladores de host USB.

    Nota:

    No todas las clases de dispositivos USB se admiten en Windows 10 Mobile.

  • Controladores de conmutador de rol USB (URS)

    Los sistemas se pueden diseñar de forma que el puerto USB de doble rol necesite Windows para configurarlo en modo host o función. Estos diseños deberán usar la pila de controladores del conmutador de roles USB (URS).

    El controlador URS administra el rol actual del conector, el host o la función, y la carga y descarga de los controladores del lado del dispositivo o del lado host adecuados, en función de los eventos de hardware de la plataforma. Microsoft proporciona controladores de cliente en caja para controladores USB 3.0 y ChipIdea USB 2.0. Puede escribir el controlador cliente de conmutador de rol mediante la interfaz de programación del controlador de doble rol USB. Para activar los controladores de conmutador de rol, debe realizar cambios en las tablas ACPI. Para obtener más información, consulte Arquitectura de pila de controladores de rol dual USB.

    En sistemas con conectores micro-AB USB, esta decisión se toma en función del pin de identificador en el conector. El controlador cliente realiza la detección de patillas de identificador mediante recursos de interrupción asignados.

    En sistemas con conectores USB Type-C, la decisión se toma en función de los pines CC. El controlador cliente para el conector realiza la detección de CC y reenvía esa información al controlador de conmutador de rol.

  • Administrador de conectores USB (UCM)

    Este conjunto de controladores administra todos los aspectos del conector USB Type-C. Si el sistema implementa un controlador incrustado compatible con UCSI a través de ACPI, use el controlador UCSI proporcionado por Microsoft. De lo contrario , escriba un controlador de cliente UCSI para transportes que no son ACPI.

    Si el hardware no es compatible con UCSI, se espera que escriba un controlador del conector USB Type-C que sea un cliente en la extensión de clase UCM. Juntos administran un conector USB type-C y el comportamiento esperado de un controlador de conector.

    Si va a escribir un controlador, la extensión de clase del administrador de conectores USB sigue el modelo de controlador de extensión de clase WDF-client. El controlador cliente se comunica con el hardware y la extensión de clase para controlar tareas como la detección de CC, la mensajería pd, el control Muxing y VBus/VConn, y selecciona la directiva para la entrega de energía y el modo alternativo. La extensión de clase comunica la información notificada por el controlador cliente al sistema operativo. Por ejemplo, el resultado de la detección cc se usa para configurar los controladores de conmutador de rol; La información de alimentación USB type-C/PD se usa para determinar el nivel en el que se debe cargar el sistema. El controlador cliente administra las máquinas de estado USB Type-C y PD. El controlador cliente puede delegar algunas tareas a otros controladores, por ejemplo, Mux puede ser controlada por otro controlador. Para escribir el controlador cliente, use las interfaces de programación del controlador del conector USB Type-C.

    Controlador de puerto USB de tipo C

    La extensión de clase de interfaz del controlador de puerto type-C (UcmTcpciCx.sys) es una extensión para el Administrador de conectores USB proporcionado por Microsoft que permite que el sistema operativo se comporte como administrador de puertos type-C (TCPM) para un conector que no implementa las máquinas de estado pd. Un controlador cliente UcmTcpciCx permite al TCPM de software controlar el hardware y obtener su estado en tiempo real.

    Para obtener información sobre cómo escribir el controlador de cliente, consulte Escritura de un controlador de puerto usb de tipo C.

  • Conductor de arbitraje de carga

    Microsoft proporciona este controlador para Windows 10 Mobile. El conductor actúa como árbitro para varias fuentes de carga. El administrador de conectores USB informa de la información de origen de carga usb type-C y PD a CAD, que realiza una selección de esa información y la detección del cargador BC1.2 realizada por los controladores del lado del dispositivo USB (si procede). A continuación, CAD informa del origen de carga más adecuado para usarlo en el subsistema de la batería.

  • Controladores de batería

    El controlador de clase define la funcionalidad general de las baterías en el sistema e interactúa con el administrador de energía. El controlador de miniclase controla funciones específicas del dispositivo, como agregar y quitar una batería, y realizar un seguimiento de su capacidad y carga. El controlador de miniclase exporta rutinas a las que llama el controlador de clase para obtener información sobre los dispositivos que controla.