Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Schreiben Sie einen Filtertreiber, der die Erkennung von Ladegeräten unterstützt, wenn der Funktionscontroller die integrierten Synopsys- und ChipIdea-Treiber verwendet. Wenn Sie einen Clienttreiber für einen proprietären Funktionscontroller schreiben, ist die Ladegerät-/Ansteckerkennung in den Clienttreiber integriert, indem sie EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY, EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET und EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER implementieren.
Der USB-Funktionsstapel ermöglicht es dem Gerät, wie z. B. ein Smartphone oder Tablet, aufzuladen, wenn es mit einem Host- und USB-Ladegerät verbunden ist, wie in der BC-Spezifikation (USB Battery Charging) 1.2 definiert.
Es gibt zwei Arten von Ports, die das Gerät zum Laden verwenden kann. Das Gerät kann von einem dedizierten Ladeanschluss (DCP) auf einem Ladegerät aufladen, das mit dem Gerät ausgeliefert wurde. Alternativ kann das Gerät von Standard-Downstream-Anschlüssen oder Lade-Downstream-Anschlüssen geladen werden, wenn das Gerät an einen PC angeschlossen ist. Beide Fälle entsprechen der USB BC 1.2-Spezifikation.
Bestimmte Ladegeräte folgen nicht der Spezifikation. Der USB-Funktionsstapel ermöglicht es dem Gerät, von diesen proprietären USB-Ladegeräten aufzuladen.
Um spezifikationskonforme und proprietäre Ladegeräte zu unterstützen, sind diese Vorgänge erforderlich.
- Das Gerät kann erkennen, wann ein USB-Host oder Ladegerät angeschlossen oder getrennt ist.
- Das Gerät kann die verschiedenen USB-Ladeanschlüsse gemäß der BC 1.2-Spezifikation erkennen.
- Für USB-Ladegeräte, die durch die BC 1.2-Spezifikation definiert sind, wird das Gerät mit der maximalen Strommenge geladen, die von der BC 1.2-Spezifikation zulässig ist.
- Das Gerät kann proprietäre USB-Ladegeräte erkennen.
- Bestimmen Sie bei proprietären USB-Ladegeräten den maximalen Strom, den das Gerät ziehen kann.
- Benachrichtigen Sie das Betriebssystem über den angeschlossenen USB-Anschlusstyp.
- Verhindern Sie, dass das Gerät strom über USB im Betriebssystem zieht, auch wenn ein USB-Host angeschlossen ist und das Gerät sich selbst mit dem Host konfiguriert hat.
Diese Vorgänge werden von der USB-Funktionsklassenerweiterung (UFX)/Clienttreiberpaar und einem Filtertreiber behandelt, der als unterer Filter im USB-Funktionsgerätestapel geladen wird. Der Treiber verwaltet die USB-Ladefunktion vom Erkennen des USB-Anschlusses bis zum Benachrichtigen der Batterieeinheit, wenn sie mit dem Laden beginnen kann und welche Stromstärke das Gerät maximal ziehen kann.
Hier ist eine Architekturdarstellung der Gerätestapel.
Wenn ein USB-Anschluss mit dem Gerät verbunden ist, wird der Clienttreiber entweder durch den unteren Filtertreiber oder einen Interrupt benachrichtigt. Zurzeit führt der Clienttreiber die Porterkennung durch Kommunikation mit der USB-Hardware durch und meldet den Porttyp an UFX. Alternativ kann er den Filtertreiber anfordern. In diesem Fall koordiniert sich der Filtertreiber mit der USB-Hardware, um die USB-Porterkennung durchzuführen, und gibt den erkannten Porttyp an den Clienttreiber zurück, und der Clienttreiber übergibt ihn an UFX.
Anhand des Porttyps bestimmt UFX die maximale Strommenge, die das Gerät entnehmen kann, und sendet diese Informationen an den Lade-Aggregationstreiber (CAD). CAD überprüft die Informationen. Wenn der Strom gültig ist, sendet CAD eine Anforderung an den Akkuklassentreiber, um den Ladevorgang bis zum angegebenen maximalen Strom zu starten. Der Akkuklassentreiber leitet die Ladeanforderung zur Verarbeitung an den Akku-Miniklassentreiber weiter. Wenn in der Ladeanforderung angegeben wurde, dass ein proprietäres Ladegerät angeschlossen ist und die Batterie-Miniklasse proprietäre Ladegeräte verarbeiten kann, kann der Miniklassentreiber versuchen, mit einem maximalen Strom aufzuladen, den er für angemessen hält. Andernfalls kann die Akku-Miniklasse nur bis zum maximalen Strom aufladen, der von CAD angegeben wird.