USB C dual role port für firmware updates

OP #7878494
Lesenswert?

Ich baue ein Gerät mit USB-C, das als USB-Host fungiert, aber für Firmware-Updates muss es als USB-Gerät an einen PC angeschlossen werden. Das Gerät hat keine Batterie und sollte während der Firmware-Updates von seiner normalen Stromquelle getrennt und über den PC mit Strom versorgt werden. Meiner Meinung nach schließt dies ICs wie den WUSB3801 aus. Es wäre ok, vor dem Einstecken einen Schalter zu drücken, um den Bootloader-Modus zu aktivieren (ähnlich wie beim rp2040).

Mein Problem ist, dass ich nicht weiß, wie ich zwischen den 5,1k-Widerständen zu GND (für das Gerät) und den 22k-Widerständen zu VCC (für den Host) an CC1/CC2 umschalten kann. Die einzige Idee die ich hatte war jeden 5,1k-Widerstand mit einem depletion mode p-channel Mosfet und jeden 22k-Widerstand mit einem enhancement mode n-channel Mosfet zu verbinden. Dann lässt die MCU entweder die 5,1k-Widerstände „angeschlossen“ oder „verbindet“ die 22k-Widerstände, je nachdem, ob der Schalter für den Bootloaders gedrückt wird.

Könnte das funktionieren, oder gibt es Alternativen wie fertige ICs, die unter diesen Umständen funktionieren?

#7878498
Lesenswert?

Suche mal nach STM32 AN5225 "Introduction to USB Type-C® Power Delivery for STM32 MCUs and MPUs" und schau Dir Seite 21 an.

Diese Apllication Note ist generisch genug, um auch für andere Prozessorfamilien nützlich zu sein.

Einige Familien (z.B. STM32U5) haben auch SUpport für das Digitale PD Protokoll über CC1 und CC2.

fchk

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren