Ich entwerfe ein Gerät um den STM32L476 herum. Mein Gerät ist hauptsächlich batteriebetrieben, hat aber einen USB-Anschluss, den ich, wenn er angeschlossen ist, als alternative Stromquelle (über einen 3,3-V-Regler) verwenden möchte, um den Batterieverbrauch zu begrenzen. Es ist auch möglich, dass der Benutzer den USB-Anschluss anschließt, während keine Batterien vorhanden sind.
Ich möchte erkennen können, wann der USB-Port angeschlossen ist, also verwende ich PA9 als OTF_FS_VBUS.
Die gute Nachricht : Das Datenblatt sagt, dass der PA9-Pin 5V-tolerant ist.
Die schlechte Nachricht : 5-V-tolerante Pins scheinen tatsächlich nur dann 5-V-tolerant zu sein, wenn Strom angelegt wird. Datenblatt §6.2 Tabelle 18 sagt:
Maximale Eingangsspannung an FT_xxx-Pins: min (VDD, VDDA, VDDIO2, VDDUSB, VLCD) +4,0 V
Wenn in meinem Fall keine Batterien vorhanden sind und der Benutzer den USB-Anschluss anschließt, gibt es eine Zeit, bevor der Regler startet, während der die Spannung an PA9 5 V beträgt, während an den CPU-Versorgungspins überhaupt kein Strom anliegt.
Die noch schlimmere Nachricht : Stromeinspeisung ist nicht erlaubt: Datenblatt §6.2, Tabelle 19, sagt:
Eingespeister Strom auf FT_xxx: -5/+0 (siehe Anmerkung 4)
Anmerkung 4: Eine positive Injektion wird durch VIN > VDDIOx induziert, während eine negative Injektion durch VIN < VSS induziert wird. IINJ(PIN) darf niemals überschritten werden.
Es scheint also, dass ich keinen einfachen Widerstand verwenden kann, um den Überstrom auf PA9 während des Starts des Reglers zu begrenzen. Jegliche Strommenge, die von VBUS zu PA9 fließen würde, bevor VDD hochfährt, ist offensichtlich verboten.
Was haben die anderen gemacht?
Ich habe mir zahlreiche Designs rund um STM32-Chips angesehen und mir ihre VBUS-Verbindungen angesehen, und es scheint sie nicht zu interessieren. Sie verbinden VBUS direkt mit PA9 oder eventuell über einen Widerstand, aber ich habe nie etwas Komplizierteres gesehen. Aber es sind meistens Entwicklungsplatinen, also denke ich, dass die Robustheit (ist das ein Wort?) nicht sehr wichtig ist. Und sie werden normalerweise nicht über den USB-Anschluss mit Strom versorgt und gehen sicherlich davon aus, dass der Benutzer den USB-Anschluss nicht anschließt, bevor er das Board mit Strom versorgt.
Was ist mein Plan?
Setzen Sie dies zwischen VBUS am USB-Port und dem PA9-Pin der MCU:
Ich habe wirklich versucht, es einfach zu halten. Grundsätzlich stellt es sicher, dass VUSB_CPU (das ist der PA9-Pin) niemals über VCPU + 4 V (Vz + Vbe) liegen kann, ohne Strom zu verbrauchen, wenn es in Ordnung ist.
Meine Hauptfragen sind : Liege ich mit meiner Analyse richtig? Ist diese Schaltung eine gute Lösung? Mache ich mir Sorgen um Dinge, die irrelevant sind? Warum scheint sich sonst niemand um dieses potenzielle Problem zu kümmern?
Zusätzliche Frage : Ich plane, USB OTG zu verwenden. Ist das ein Problem, wenn sich zwischen dem Stecker und dem PA9-Pin ein 4,7-kΩ-Widerstand befindet? Ich denke, es wäre, wenn ich während SRP VBUS-Pulsierung verwenden müsste, aber diese Methode ist anscheinend veraltet. Bin ich also unabhängig von der Rolle (Gerät/Host) meines Geräts gut?
Eine letzte : Was ist der maximale Strom, der vom VDDUSB-Versorgungsstift gezogen wird? Das Datenblatt gibt für das USB-Peripheriegerät an: 16,4 µA/MHz für die AHB-Taktdomäne + 23,2 µA/MHz für die unabhängige Taktdomäne, aber wir wissen nicht, woher es stammt (VDD oder VDDUSB).
Gehen Sie mit dem Widerstandsteiler (430k/620k) auf Vbus - dies hält den Mikrocontroller in der Spezifikation, und die parasitäre Stromaufnahme ist kein Problem, da sie ausschließlich von Vbus und nicht von der Batterie bezogen wird (was was ist Ich nehme an, Sie möchten sparen).
Die wahrscheinlich einfachste Methode: Verwenden Sie einen Widerstand mit hohem Wert (10-100 k), der einen größeren Kondensator (einige uF oder mehr) speist, sodass es einige Zeit dauert, bis die Spannung ansteigt. Ich würde mir keine Sorgen um den Bruchteil eines Volts machen baut sich über dem Kondensator auf, während der Regler hochfährt. Wenn das Mikro ESD-Schutz hat, können die Eingänge 5-10 V für einige zehn US-Dollar verarbeiten
Markieren
b degnan
Markieren
schwach