Compartir a través de


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

Describe un diseño de hardware típico de un sistema Type-C USB 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.

  • Capacidades de doble función USB mediante USB Type-C
  • Carga más rápida utilizando los niveles de corriente USB Type-C y Power Delivery 2.0
  • Display-Out funcionalidades mediante modos alternativos y experiencias de acoplamiento por cable.

Controladores para soportar componentes USB Type-C

Diagrama de los componentes de software USB Type-C.

En la imagen anterior,

  • Controladores del lado del dispositivo USB

    Los controladores del lado del dispositivo USB prestan servicio a la función, dispositivo o periférico. La extensión de clase del controlador de funciones USB admite MTP (Protocolo de transferencia de medios) y carga mediante cargadores BC 1.2. Microsoft proporciona controladores de cliente integrados para los controladores USB 3.0 de Synopsys y USB 2.0 de ChipIdea. 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 podría proporcionarle el controlador de filtro inferior de la función USB para la detección de cargadores propietarios heredados. Puede implementar su propio controlador de filtro si el controlador de funciones es controladores Synopsys USB 3.0 o ChipIdea USB 2.0

  • Controladores de lado de 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 que cambia de rol enumera el rol de anfitrión. 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 gestiona el rol actual del conector, del anfitrión o de la función, y la carga y descarga de los controladores adecuados del lado del dispositivo o del anfitrión, en función de los eventos de hardware de la plataforma. Microsoft proporciona controladores de cliente integrados para los controladores USB 3.0 de Synopsys y USB 2.0 de ChipIdea. 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 cambio de rol, debe realizar cambios en las tablas ACPI. Para obtener más información, consulte Arquitectura de la pila de controladores de dos roles USB.

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

    En sistemas con conectores usb Type-C, la decisión se toma en función de los pines CC. El controlador cliente del conector realiza la detección de CC y reenvía esa información al controlador de cambio 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 insertado 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 los 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 de la extensión de clase UCM. Juntos administran un conector Type-C USB y el comportamiento esperado de un controlador de conector.

    Si va a escribir un controlador, la extensión de clase de administrador de conectores USB sigue el modelo de controlador cliente de extensión de clase WDF. El controlador cliente se comunica con el hardware y la extensión de clase para manejar tareas como la detección de CC, la mensajería de PD, la multiplexación y el control de VBus/VConn, y seleccionar 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 cambio de rol; La información de energía USB Tipo-C/PD se usa para determinar el nivel al que debe cargarse el sistema. El controlador cliente administra las máquinas de estado Type-C USB 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 Type-C USB.

    Controlador de puerto Type-C USB

    La extensión de clase de Interfaz de 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 un Administrador de Puertos Type-C (TCPM) para un conector que no implemente las máquinas de estado de PD. Un controlador de 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 cliente, consulte Escribir un controlador de puerto USB Type-C.

  • Conductor de arbitraje de carga

    Microsoft para Windows 10 Mobile proporciona este controlador. El conductor actúa como árbitro para varias fuentes de carga. El administrador del conector USB informa de la información sobre la fuente de carga de USB Type-C y PD a CAD, que realiza una selección a partir de esa información y la detección del cargador BC1.2 ejecutada por los controladores del lado del dispositivo USB (en caso de ser aplicable). 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 del 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.