STM32F4-Host versorgt USB-Gerät über VBUS mit Strom

Ich versuche, einen STM32F411-USB-Host zu entwerfen. Ich werde es an ein USB-MIDI-Gerät anschließen. Das USB-MIDI-Gerät, das ich verwende, ist AKAI Professional MPK Mini MKII, das nur einen USB-Anschluss für Strom und Daten hat, was bedeutet, dass ich das Gerät über USB mit Strom versorgen muss.

Aus dem STM32F411-Datenblatt habe ich einige relevante Schaltpläne gefunden:

Geben Sie hier die Bildbeschreibung ein

Allerdings bin ich mir über den VBUS-Teil nicht sicher. Wie soll ich mein USB-Gerät mit Mikrocontroller mit Strom versorgen? Meine Mikrocontroller-Logik ist +3,3 V und USB benötigt +5 V. Muss ich das USB-Gerät über den VBUS-Pin am Mikrocontroller mit Strom versorgen?

Ich habe irgendwo gelesen, dass VBUS zum Erfassen verwendet wird:

Das USB-Gerät wird über den Bus mit Strom versorgt, VBUS-Erkennung ist nicht erforderlich (USB ist immer verbunden, wenn das Gerät mit Strom versorgt wird)

Für meine Anwendung wird der Mikrocontroller nur Host sein, daher gehe ich davon aus, dass ich nicht einmal den VBUS verwenden muss? Kann ich stattdessen einfach die externe +5-V-Quelle an den USB-VBUS-Pin anschließen?

Antworten (2)

Sie mischen Aussagen, die gelten, wenn STM32 ein USB-Gerät und ein USB-Host ist. Ja, als USB-Host müssen Sie am Anschluss für das USB-Gerät eine 5-V-Versorgung haben. Das Datenblattschema ist korrekt, die VDD beträgt 5 V und es gibt eine Schalterkomponente, damit die MCU die Portleistung steuern und die Überstromsituation sicher bestimmen kann. Die MCU ist jedoch der Host, sodass sie die 5-V-Versorgung am Anschluss mit dem MCU-VBUS-Pin nicht überwachen muss. Die 5V am USB-Anschluss werden zufälligerweise auch als VBUS bezeichnet.

Danke für Ihre Antwort. Was würde passieren, wenn ich eine externe +5-V-Versorgung an den 5-V-Pin am Anschluss anlege? Könnten Sie mir ein Beispiel für das Gerät "Strombegrenzer-Netzschalter" geben, da ich nichts Relevantes finden kann? Außerdem ist ein externer Oszillator für den USB-Host erforderlich, da ich gesehen habe, dass die meisten Schemabeispiele einen externen Oszillator verwenden
Wenn Sie nur 5 V an den USB-Anschluss liefern, kann der STM32 ihn nicht ein- und ausschalten, um das USB-Gerät zurückzusetzen. Die beste Quelle, um einen Netzschalter zu finden, ist ein Blick auf STM32-Evaluierungskit-Boards, OnSemi- und strombegrenzte ST-Leistungsschalter sind dort beliebt. Meinst du externen Quarz oder externen Oszillator? Die Notwendigkeit einer externen Taktquelle hängt ganz davon ab, ob die interne Uhr genau genug ist oder nicht, und dies ist in den Datenblättern zu lesen. Ich würde keine Zeit damit verbringen, darüber nachzudenken, ich würde einfach einen externen Kristall dort platzieren, um das Problem zu vermeiden.
Vielen Dank.
Ich habe ein Beispiel als solches gefunden: farnell.com/datasheets/… Im Beispielschema wird der Vin als 5 V verwendet. Ich gehe davon aus, dass dies für mich nicht ausreicht, da er vom VCC + 3,3 V gespeist werden muss?
Ich glaube, ich habe diesen Chip verwendet. Ja, Sie müssen diesem Netzschalter-Chip wirklich 5 V geben, damit er 5 V an Ihr USB-Gerät abgeben kann. Es funktioniert einfach nicht mit 3,3 V. Wenn Sie einen USB-Host erstellen, benötigen Sie eine 5-V-Stromversorgung. Was ist deine Energiequelle jetzt? Ich meine die 3,3V müssen auch irgendwo herkommen, also warum nicht 5V.
Ich habe eine externe +5-V-Quelle, die ich als VIN für diesen Chip verwenden kann, der FLAG-Pin wird jedoch auf +5 V gezogen und mit einem der GPIO-Pins verbunden. Ich glaube, das wird meinen GPIO-Pin beschädigen?
STM32 verwendet keine 5-V-Logik. Im Allgemeinen haben Sie eine 5-V-Versorgung für USB und 3,3 V für STM32. Es liegt an Ihrer Implementierung, wie Sie sie mit dem, was Ihnen zur Verfügung steht, generieren möchten. Und ich weiß nicht, was du zur Verfügung hast.
Nun, es gibt zwei Dinge. Ziehen Sie das Flag nicht auf 5 V, sondern auf 3,3 V. Oder stellen Sie sicher, dass Sie einen 5-V-toleranten Pin auf STM32 verwenden. Schauen Sie sich nur an, wie ST seine Boards für USB-Hosts entwickelt hat.
Danke schön. Außerdem verwende ich als MIDI-Gerät: AKAI Professional MPK Mini MKII . Ich kann anscheinend keinen Stromverbrauch für dieses Gerät finden, da ich wissen muss, welches Netzteil entworfen werden soll
Das ist das Schöne an USB, wenn Sie es nach den Spezifikationen entwerfen, funktioniert es mit allen Geräten. Außer natürlich die, die nicht nach den Spezifikationen gebaut sind. Erwarten Sie also maximal 500 mA Verbrauch, aber reservieren Sie etwas mehr, vielleicht 700-800 mA. Oder 1A.

Sie benötigen den Spannungswandler, der 3,3 V VDD in 5 V umwandelt, die vom USB benötigt werden. Vbus uC Pin versorgt nichts!!!! Es wird im Gerätemodus verwendet, um das Vorhandensein der USB-Stromversorgung zu erkennen.

Viele USB-Geräte werden über VBUS mit Strom versorgt.
@benvoigt wirklich? Vbus STm32 uC-Pin? Zeig mir eins. Dieser Pin kann 10 mA liefern und ist 3,3 V. Zeigen Sie mir also bitte jedes Gerät, das von diesem Pin mit Strom versorgt wird
Ich spreche vom VBUS-Pin am USB-Anschluss, nicht am Mikrocontroller. Wenn Sie nicht den VBUS-Pin-definiert-durch-den-USB-Standard-Pin gemeint haben, wäre es gut, klar zu sein (in Ihrer Antwort, nicht in einem Kommentar), über welchen Pin Sie sprechen.
@benvoigt bezieht sich auf die orinale Frage und die dort geposteten Schaltpläne. Hast du mich dv gemacht? Haben Sie dafür gestimmt, meine Antwort zu löschen?
Unter Bezugnahme auf das in der Frage gepostete Schema befindet sich das einzige Erscheinungsbild von VBUS auf dem USB-A-Anschluss. Dieser muss mit +5V versorgt werden. OP hat bereits eine 5-V-Quelle und sollte diese verwenden, anstatt einen von VDD gespeisten Aufwärtswandler zu verwenden.
@BenVoigt lies den Satz unter dem Bild ( Do I need to power USB device through VBUS pin on the microcontroller?)
Ja, ich stimme zu, dass es zwei verschiedene VBUS-Pins gibt. Gut, dass Sie Ihre Antwort bearbeitet haben, um zu sagen, über welche Sie sprechen. Wenn Sie nun auch den letzten Satz der Frage "Kann ich stattdessen einfach die externe +5V-Quelle an den USB-VBUS-Pin anschließen?" Sie haben möglicherweise keinen Rat gegeben, einen unnötigen und ineffizienten Aufwärtswandler hinzuzufügen.
@benvoigt, wenn er 5 V zur Verfügung hat ... Aber er war verwirrt von vielen Vbus-Signalen und meine Antwort bezieht sich auf das, das er nicht verwenden kann