Übersicht über die Entwicklung von Windows-Treibern für USB-Typ-C-Connectors

Sie müssen einen Treiber für den Connector schreiben, wenn Ihr USB-Typ-C-System keinen PD-Zustandscomputer implementiert oder den Zustandscomputer implementiert, aber UCSI nicht über einen Nicht-ACPI-Transport unterstützt. Wenn dies der Fall ist, können Sie den von Microsoft bereitgestellten UCSI-Treiber laden.

Flussdiagramm, das den Entscheidungsprozess für die Implementierung eines UcmTcpciCx-Clienttreibers zeigt.

Lösungsvorschläge

In der folgenden Tabelle werden Lösungen empfohlen, die auf Hardware- oder Firmwarefunktionen basieren:

Hardware-/Firmwarefunktionen Nicht abtrennbar Add-On-Karte
Der USB-Typ-C-Stecker verfügt nicht über einen PD-Zustandsautomaten. Schreiben Sie einen Clienttreiber in UcmTcpciCx.

Starten mit dem UcmTcpciCx-Portcontrollerclienttreiber
Schreiben Sie einen Clienttreiber in UcmCx.

Beginnen Sie mit dem UcmCx-Beispiel.
Der Connector ist UCSI-kompatibel mit ACPI. Laden Sie den im Lieferumfang enthaltenen Treiber, UcmUcsiCx.sys und UcmUcsiAcpiClient. Weitere Informationen finden Sie unter UCSI-Treiber (USB Type-C Connector System Software Interface).
Der Connector ist OHNE ACPI UCSI-kompatibel. Schreiben Sie einen Clienttreiber in UcmUcsiCx. Weitere Informationen finden Sie unter Schreiben eines UCSI-Clienttreibers.

Beginnen Sie mit dem UcmCx-Beispiel , und ersetzen Sie die ACPI-Teile durch Ihre Implementierung für den erforderlichen Bus.
Schreiben Sie einen Clienttreiber in UcmCx.
Verfügt über PD-Zustandscomputer, ist aber nicht UCSI-kompatibel. Schreiben Sie einen Clienttreiber in UcmCx.

Beginnen Sie mit dem UcmCx-Beispiel.
Schreiben eines Clienttreibers in UcmCx

Beginnen Sie mit dem UcmCx-Beispiel.

In diesem Abschnitt

Lesen Sie die folgenden Themen, um die in der vorherigen Tabelle vorgeschlagenen Lösungen zu implementieren:

Thema BESCHREIBUNG
Architektur: USB-Typ-C-Design für ein Windows-System Beschreibt ein typisches Hardwaredesign eines USB-Typ-C-Systems und die von Microsoft bereitgestellten Treiber, die die Hardwarekomponenten unterstützen.
Aufrufen des Funktionscontrollers auf einem USB Typ-C-Windows-System Der Treiber für den Funktionscontroller informiert das Betriebssystem über die Ladeebenen, die der USB-Typ-C-Anschluss unterstützt, und benachrichtigt das Batteriesubsystem, wann es mit dem Laden beginnen kann und wie viel Strom das Gerät maximal ziehen kann.
Aufrufen des Dual-Role-Controllers für ein USB Typ-C-Windows-System Die USB-Rollenschaltertreiber (URS) sind eine Reihe von WDF-Klassenerweiterungen und deren Clienttreiber, die die Rollenwechselfunktion eines Controllers mit zwei Rollen behandeln. Wenn Ihr System über einen Controller mit zwei Rollen verfügt, können Sie die Rolle des Systems je nach Gerät wechseln, das an den Partnerport des USB-Typ-C-Anschlusses des Systems angeschlossen ist. Dies ermöglicht interessante Szenarien wie kabelgebundenes Andocken.
Schreiben eines USB-Typ-C-Connectortreibers Beschreibt den USB-Connector-Manager (UCM), der einen USB-Typ-C-Anschluss verwaltet, und das erwartete Verhalten eines Connectortreibers.
Schreiben eines USB-Typ-C-Portcontrollertreibers Beschreibt, wie ein USB-Typ-C-Portcontrollertreiber geschrieben wird, der mit einem USB-Typ-C-Anschluss ohne PD-Zustandscomputer kommuniziert.
Schreiben eines UCSI-Clienttreibers Beschreibt, wie ein Treiber für einen UCSI-kompatiblen Controller geschrieben wird, der den Nicht-ACPI-Transport verwendet.
Schreiben eines USB-Typ-C-Richtlinien-Manager-Clienttreibers Der von Microsoft bereitgestellte USB-Typ-C-Richtlinien-Manager überwacht die Aktivitäten von USB-Typ-C-Anschlüssen. Windows, Version 1809, führt eine Reihe von Programmierschnittstellen ein, mit denen Sie einen Clienttreiber in Policy Manager schreiben können. Der Clienttreiber kann an den Richtlinienentscheidungen für USB-Typ-C-Connectors teilnehmen. Mit diesem Satz können Sie einen Kernelmodus-Exporttreiber oder einen Benutzermodustreiber schreiben.

Weitere Informationen