Forum: Mikrocontroller und Digitale Elektronik STM32 Boot0 Spezifikation


von Tim (Gast)



Lesenswert?

Hallo zusammen,

ich würde gerne den Boot0 Pin eines STM32F103C8 extern mit Spannung 
beaufschlagen, bevor ich die Spannung am Mikrocontroller anlege, um in 
den UART Bootloader zu gelangen.
Dazu möchte ich ein 24V Signal anlegen. Kann ich dies machen wenn ich, 
wie im Datenblatt auf Seite 37 beschrieben, den Strom auf unter 5mA 
begrenze? Oder ist dann mit einem Schaden zu rechnen?

Zudem würde mich die high und low Schwelle des Boot0 Pins interessieren, 
hierzu habe ich im Datenblatt auch nichts gefunden. Weiß jemand, in 
welchem Dokument man dies finden kann?

Tim

von R2D2 (Gast)


Lesenswert?

Pack doch einfach eine Schottky-Diode Richtung Vcc hinter den 
Vorwiderstand. Dann hast du eine saubere Lösung.

von A. B. (Gast)


Lesenswert?

Tim schrieb:
> Dazu möchte ich ein 24V Signal anlegen. Kann ich dies machen wenn ich,
> wie im Datenblatt auf Seite 37 beschrieben, den Strom auf unter 5mA

Die vorgeschlagene Schottky-Diode nach VDD schützt zwar den Pin, aber 
generell ist es keine gute Idee, mit einem externen 24V-Signal direkt an 
einen Pin zu gehen: Liegt die Versorgung des uC nicht an, wird er (und 
die restliche Schaltung) bei anliegendem 24V-Signal über Diode versorgt 
(eventuell nicht richtig, aber immerhin). Wird dann die Versorgung 
zugeschaltet, wird u. U. nicht zuverlässig ein Power-On Reset ausgelöst.
Außerdem: 24V-Signal klingt sehr nach "von weit außerhalb", also 
eventuell
mit Störimpulsen rechnen?
Ich würde dem BOOT-Pin lieber einen Optokoppler spendieren - zumal man 
dadurch auch die Wahl hat: 24V ein -> BOOT auf '0' oder halt 24V ein -> 
BOOT auf '1'.

von Tim (Gast)


Lesenswert?

Also die Schottky Diode zu VCC gefällt mir jetzt auch nicht so gut, 
durch die Gefahr einer Unterversorgung des Mikrocontrollers.

Die 24V kommen wirklich von "außen", jedoch ist eine Schutzschaltung 
aller TVS + Verpoldiode + Vorwiderstände und Kondensatoren vorgesehen.

Aber darf der Boot0 Pin "versorgt" werden, und dass mit einer 
Strombegrenzung von unter 5mA, ohne dass am Mikrocontroller VCC anliegt 
und Schaden nimmt?

Tim

von W.S. (Gast)


Lesenswert?

Tim schrieb:
> ich würde gerne den Boot0 Pin eines STM32F103C8 extern mit Spannung
> beaufschlagen, bevor ich die Spannung am Mikrocontroller anlege, um in
> den UART Bootloader zu gelangen.

Das ist falsch und unsinnig. Und wozu 24V?

Mache es richtig: Reset und Boot0 und TxD und RxD an einen 
Steckverbinder legen, so daß du entweder mit den Steuersignalen der 
Seriellen oder mit zwei Tastern Reset und Boot0 bedienen kannst. Beide 
Signale sind im üblichen Pegelbereich zwischen 0 und 3.3V. Ob die 
überhaupt tolerant sind gegen 5V ist nicht sehr wahrscheinlich.

Boot0 wird kurz nach dem Loslassen von Reset abgetastet. Da mußt du also 
nicht dauerhaft auf den Knopf drücken.

W.S.

von A. B. (Gast)


Lesenswert?

Tim schrieb:
> Aber darf der Boot0 Pin "versorgt" werden, und dass mit einer
> Strombegrenzung von unter 5mA, ohne dass am Mikrocontroller VCC anliegt
> und Schaden nimmt?

Darf schon, allerdings garantiert die Einhaltung der "abs. max. rat." 
nur, dass kein permanenter Schaden eintritt. Die korrekte Funktion wird 
dabei aber nicht zugesichert.

Außerdem: Die parasitäre Versorgung würde auch ohne die externe Diode 
erfolgen, nur dann halt über die interne Schutzbeschaltung. Die externe 
"entlastet" also nur die "interne" ...

AN4899 enthält ein wenig Info, ist zwar nicht für den F1, aber der 
"analoge" Teil dürfte sich beim F1 nicht so wesentlich etwa vom F0 
unterscheiden, auch wenn die Registerstruktur anders ist. Und ja, 
BOOT-Pins werden nicht zu den GPIOs gezählt, aber die Eingangsstruktur 
dürfte vergleichbar sein.

von Tim (Gast)


Lesenswert?

W.S. schrieb:
> Das ist falsch und unsinnig. Und wozu 24V?

Mir ist durchaus bewusst, wie der Ablauf regulär läuft. Leider ist in 
diesem Projekt nur ein Pin zur Verfügung, den ich von außen Ansteuern 
muss. Ich komme nicht um die 24V herum. Werde es wohl intern dann mit 
3,3V über Transistoren machen, dann ist die 24V Problematik schon mal 
rum.

A. B. schrieb:
>Tim schrieb:
>> Aber darf der Boot0 Pin "versorgt" werden, und dass mit einer
>> Strombegrenzung von unter 5mA, ohne dass am Mikrocontroller VCC anliegt
>> und Schaden nimmt?

>Darf schon, allerdings garantiert die Einhaltung der "abs. max. rat."
>nur, dass kein permanenter Schaden eintritt. Die korrekte Funktion wird
>dabei aber nicht zugesichert.

>Außerdem: Die parasitäre Versorgung würde auch ohne die externe Diode
>erfolgen, nur dann halt über die interne Schutzbeschaltung. Die externe
>"entlastet" also nur die "interne" ...

>AN4899 enthält ein wenig Info, ist zwar nicht für den F1, aber der
>"analoge" Teil dürfte sich beim F1 nicht so wesentlich etwa vom F0
>unterscheiden, auch wenn die Registerstruktur anders ist. Und ja,
>BOOT-Pins werden nicht zu den GPIOs gezählt, aber die Eingangsstruktur
>dürfte vergleichbar sein.

Danke für den Hinweis, mit den abs. max. rat.! Werde es dann mit den 
Transistoren umgehen und direkt mit 3,3V schalten.

Habe noch ein Schaltbild für eine "one klick" Lösung gefunden, die mir 
aktuell als Idee recht gut gefällt.

https://programmersought.com/article/72412332750/

Tim

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
Noch kein Account? Hier anmelden.