Hallo zusammen, das Thema 5V - tolerante Pins am STM32 wurde in diesem schönen Forum ja schon häufiger besprochen. Zu meiner konkreten Frage habe ich allerdings noch nichts gefunden. Laut Datenblatt des Stm32F405xx ist für die 5V toleranten Pins ein maximum Rating von "V_DD+4V" angegeben [Kap. 5.2, Seite 78]. Kritisch sollte daher die Situation sein, wenn an einem 5V-toleranten Pin bereits 5V anliegen, während V_dd vorübergehend noch bei 0V liegt. Dies könnte ja beispielsweise beim Einschalten auftreten. Diese Thematik wird auch in der AN4899 "GPIO electrical characteristics and definitions" von ST beschrieben [Seite 17ff]. Als Abhilfe wird empfohlen parallel zum LDO (der aus der 5V Versorgung die 3,3V Versorgung erzeugt) eine Zenerdiode mit Begrenzungswiderstand zu schalten (siehe 5V_Tolerant_LDO_Solution.png). In meiner konkreten Situation soll die 5V Spannung durch ein Buck-Converter (LM2575) und daraus wiederum durch einen LDO (LDL1117) die 3,3V für den STM32 erzeugt (siehe Supply_Circuit.png). Die 5V werden unmittelbar über einen Pull-up Widerstand an einem 5V toleranten Pin des STM32 anliegen. Kritisch ist also der Zeitraum, an dem die 5V bereits anliegen, der LDO jedoch noch nicht die 3,3 erzeugt hat. Aus dem Datenblatt des LDOs (siehe LDO.pdf) gibt es zwar eine Figure 22 zur Turn-On Time, diese ist aber so verschwommen, dass ich leider nichts erkennen kann. Ist meine Sorge überhaupt begründet? Steigt die 5V Spannung nicht ohnehin vermutlich wesentlich langsamer als die 3.3V wegen der wesentlich größeren Tiefpassverhaltens am Ausgang des Buck Converters? Ich bin für jede Antwort dankbar und wünsche allen einen schönen Sonntag! Viele Grüße, Heiko
Heiko F. schrieb: > Die 5V werden > unmittelbar über einen Pull-up Widerstand an einem 5V toleranten Pin des > STM32 anliegen. Ist das ein Eingang am STM32? Dann könntest Du einfach einen Spannungsteiler verwenden, der dafür sorgt, daß da bei 5V in nie mehr als 3.3V out rauskommen. Wenn es am STM32 ein Ausgang mit Open-Drain ist, könntest Du einfach einen kleinen N-FET verwenden, z.B. BSS138. > Ist meine Sorge überhaupt begründet? Ich würde sagen ja. Die Pins an den STM32 sind merklich empfindlicher als man es z.B. von früher von den Atmegas kennt. Ich würde darauf achten, die Abs. Max. Ratings jederzeit einzuhalten, auch schon kurze Überschreitungen können die Pins töten. > Steigt die 5V Spannung nicht > ohnehin vermutlich wesentlich langsamer als die 3.3V wegen der > wesentlich größeren Tiefpassverhaltens am Ausgang des Buck Converters? Und was passiert wenn der LDO z.B. wegen einem Kurzschluss woanders in Strombegrenzung geht?
Heiko F. schrieb: > Ist meine Sorge überhaupt begründet? Ja > Steigt die 5V Spannung nicht > ohnehin vermutlich wesentlich langsamer als die 3.3V wegen der > wesentlich größeren Tiefpassverhaltens am Ausgang des Buck Converters? Deine Skizze verstehe ich so, dass die 3,3V aus den 5V gewonnen werden. Wenn dieser 4V erreicht hat, kann dein LDO auch schon ein paar Volt liefern, dann bist du im grünen Bereich. Allerdings: Wenn an deinem LDO eine große Kapazitive Last hängt, könnte es zu lange dauern. Das ist eng verwandt mit Gerds Frage: Gerd E. schrieb: > Und was passiert wenn der LDO z.B. wegen einem Kurzschluss woanders in > Strombegrenzung geht? Da ich mich nicht imstande fühle, so etwas durch zu rechnen, würde ich die entsprechenden Eingänge des Mikrocontrollers mit Widerständen schützen und dann in der startenden Schaltung nachmessen. Soweit mir bekannt ist, kann bei zu hoher Eingangsspannung (relativ zur Versorgungsspannung) ein ungewollter Strom durch eine parasitäre Diode im ADC fließen. Was mit Strombegrenzungs-Widerstand nicht weiter tragisch ist. Dann gibt es da noch eine ESD Schutzschaltung die bei mehr als 5,5V auslösen kann und sie wie ein Thyristor verhält. Sie zieht den Eingang dann herunter und bleibt in diesem Zustand hängen, bis man den Chip Stromlos macht. Auch das ist mit Strombegrenzungs-Widerstand nicht weiter tragisch. Die Application Note AN4899 enthält dazu weitere Infos: https://www.st.com/content/ccc/resource/technical/document/application_note/group0/13/c0/f6/6c/29/3b/47/b3/DM00315319/files/DM00315319.pdf/jcr:content/translations/en.DM00315319.pdf
Gerd E. schrieb: > Ist das ein Eingang am STM32? Dann könntest Du einfach einen > Spannungsteiler verwenden, der dafür sorgt, daß da bei 5V in nie mehr > als 3.3V out rauskommen. > > Wenn es am STM32 ein Ausgang mit Open-Drain ist, könntest Du einfach > einen kleinen N-FET verwenden, z.B. BSS138. Hallo Gerd, vielen Dank für die ausführliche Antwort! Es handelt sich in einem Fall um einen einfachen Eingang. Hier werde ich vorsichtshalber den Spannungsteiler einbauen. Bei dem anderen Anschluss handelt es sich um einen I2C-Bus (SCL und SDA). Bei SDA wäre es daher bidirektional, daher ist es hier leider etwas komplizierter. Gerd E. schrieb: > Und was passiert wenn der LDO z.B. wegen einem Kurzschluss woanders in > Strombegrenzung geht? Das ist ein sehr guter Punkt. Prinzipiell ist die Schaltung aber so ausgelegt, dass "eigenltich" kein Kurzschluss auftreten sollte. Der LDO kann aber natürlich trotzdem bspw. in die Temperaturbegrenzung laufen oder einfach kaputt gehen. Da werde ich nochmal drüber nachdenken müssen. Vielen Dank für die Antwort nochmals!
Hallo Stefan, auch dir vielen Dank für die Antwort! Stefan ⛄ F. schrieb: > Deine Skizze verstehe ich so, dass die 3,3V aus den 5V gewonnen werden. > Wenn dieser 4V erreicht hat, kann dein LDO auch schon ein paar Volt > liefern, dann bist du im grünen Bereich. > > Allerdings: Wenn an deinem LDO eine große Kapazitive Last hängt, könnte > es zu lange dauern. Das verstehst du soweit richtig. An dem LDO hängt prinzipiell nur die Ausgangskapazität von 4,7uF und dann ausschließlich der Mikrocontroller mit seinen Entkopplungskondensatoren. Eine große kapazitive Last erwarte ich daher nicht. Stefan ⛄ F. schrieb: > Da ich mich nicht imstande fühle, so etwas durch zu rechnen, würde ich > die entsprechenden Eingänge des Mikrocontrollers mit Widerständen > schützen und dann in der startenden Schaltung nachmessen. Begrenzungswiderstände an den Eingängen existieren soweit, diese können jedoch nicht beliebig hoch gewählt werden. Ich habe leider weder im Datenblatt noch in der Application Note genauere Angaben gefunden, wie groß der Strom über die Schutz-Dioden werden darf und ab welcher Spannung sie einschreiten. Hast du da Werte gefunden? In meiner I2C Verbindung kann ich mir leider keine Serienwiderstände im KiloOhmbereich erlauben. @Stefan & Gerd Habt ihr allgemein eine Meinung zu der Möglichkeit mit der parallelgeschalteten Zenerdiode zum LDO aus der Application Note von ST, die ich im Eingangspost erwähnt habe? Gegen einen Kurzschlüss würde diese auch nicht helfen, aber ggf. beim Einschalten und falls der LDO in die Temperaturbegrenzung geht? Viele Grüße und vielen Dank nochmals!
Heiko F. schrieb: > Ich habe leider weder im > Datenblatt noch in der Application Note genauere Angaben gefunden, wie > groß der Strom über die Schutz-Dioden werden darf und ab welcher > Spannung sie einschreiten. Hast du da Werte gefunden? Iinj -5 / +0 mA Positive injection is not possible on these I/Os. A negative injection is induced by V IN <V SS . I INJ(PIN) must never be exceeded. Refer to Table 11 for the values of the maximum allowed input voltage. Mifft.
Stefan ⛄ F. schrieb: > Iinj -5 / +0 mA > > Positive injection is not possible on these I/Os. A negative injection > is induced by V IN <V SS . I INJ(PIN) must never be exceeded. Refer to > Table 11 for the values of the maximum allowed input voltage. Hm, also darf überhaupt kein positiver Strom fließen im Falle eines zu hohen V_in. Das ist natürlich eine recht strenge Anforderung an den Eingangswiderstand ... Misst trifft es ganz gut. EDIT Bleibt noch die Aussage aus der Application Note, dass sie eine Zenerdiode zwischen der 5V und 3,3V-Domäne empfehlen. "If it occurs that VDD=0V while VDDX=5V (even transient), it is recommended to place a Zenner diode (for instance 3.3V) between VDD and VDDX.In the example shown in Figure9, VDD is the output of the LDO supplied by VDDX." Seite 19 https://www.st.com/content/ccc/resource/technical/document/application_note/group0/13/c0/f6/6c/29/3b/47/b3/DM00315319/files/DM00315319.pdf/jcr:content/translations/en.DM00315319.pdf Ich würde das vielleicht mal ausprobieren mit einer Zener-Diode und einem kleinen Begrenzungswiderstand parallel zu dem LDO, der den Kondensator auf der 3,3V Seite in 100us auf die erforderlichen 1V auflädt.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.