Forum: Mikrocontroller und Digitale Elektronik STM32F1 Grundbeschaltung


von Moritz M. (avrprogger)


Angehängte Dateien:

Lesenswert?

Hallo

ich möchte gerne eine Schaltung bauen mit einem STM32F1 (meine Erste mit 
STM32-µC).

Ich hab mal ein Schaltplan entworfen für die Grundbeschaltung.

Nun meine Frage: Ist das alles richtig so? Genug Kondensatoren (Die 
Spannung ist eigentlich schon sehr stabil)? Ist der BOOT0-Pin richtig 
beschaltet(möchte ihn über SWD-Programmieren)? Was ist mit dem Reset? 
Reicht das so? Externer Quarz richtig?

Vielen Dank!

Moritz

von Heinz (Gast)


Lesenswert?

Super Schaltplan! Habe mir sofort das dazugehörige Programm gekauft und 
installiert. Einfach ganz große Klasse. Weiter so Max ... äh ... Moritz.

von AVerr (Gast)


Lesenswert?

Was Heinz sagen will: Häng doch bitte eine png Datei an, die man sich 
auch ohne Eagle angucken könnte.

von Moritz M. (avrprogger)


Angehängte Dateien:

Lesenswert?

Hallo,

ah okay wie man eagle in png speichert weiß ich nicht daher jetzt in 
PDF.
Ich hoffe ihr könnt das öffnen

Moritz

von Dennis X. (Gast)


Lesenswert?

Datei > Export > Image

;-) So kannst du deine Schaltung als Bild exportieren.
Ansonsten als PDF abspeichern.

Edit.: Und da deine Schaltung leider keine Namen an den Pins des 
Controllers hat wird das sowiso etwas schwer... Ins Datenblatt schau ich 
zumindest nicht.

von Moritz M. (avrprogger)


Angehängte Dateien:

Lesenswert?

Hallo,

so jetzt in png und mit pin-beschriftung.

Moritz

von (prx) A. K. (prx)


Lesenswert?

Pro VCC/GND Paar ein Kerko und zwar dicht dran.
Wozu dienen R2/R3?

von (prx) A. K. (prx)


Lesenswert?

Moritz M. schrieb:

> so jetzt in png und mit pin-beschriftung.

Pin 7?
Werte Cs,Q1,R4?

von (prx) A. K. (prx)


Lesenswert?

Wie wird der Controller programmiert: JTAG/SWD/Seriell? Irgendwie muss 
du ja ran an den Kollegen und Funk hat der keinen eingebaut.

Reset?

Hast du einen STM32 schon mal kontaktiert? Wenn nicht, dann verwende 
zuerst ein Eval-Board, bevor du etliche eigene Platinen verheizt. Dessen 
Schaltung ist dann schon mal ein Ansatz zum abkupfern.

von Peterle (Gast)


Lesenswert?

Ein "richtiges" Symbol für den Mikrocontroller wäre hilfreich. Findest 
Du zum Beisipiel bei Cadsoft:
ftp://ftp.cadsoft.de/eagle/userfiles/libraries/stm32.lbr
Außerdem wird das Schaltbild übersichtlicher, wenn Du für die 
Versorgungsspannung und für GND Symbole benutzt und nicht alles von 
einer Stelle aus verdrahtest.
Zur Minimalbeschaltung siehe auch hier:
STM32: HW-Beschaltung

von vaid (Gast)


Lesenswert?

A. K. schrieb:
> Hast du einen STM32 schon mal kontaktiert? Wenn nicht, dann verwende
> zuerst ein Eval-Board, bevor du etliche eigene Platinen verheizt. Dessen
> Schaltung ist dann schon mal ein Ansatz zum abkupfern.

Unbedingt diesen Rat befolgen!
Eval-Boards gibts für richtig kleines Geld z.B. von Olimex oder bei 
ibäh.
Das Lehrgeld ist beim STM32 außerordentlich hoch (finde ich).

Gibt nichts Schlimmeres als Fehlersuche an Hard- UND Software 
gleichzeitig.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Moritz M. schrieb:
> mit pin-beschriftung.
Sieh dir mal andere Schaltpläne an. Die machen das ins IC-Makro 
rein... :-o

Für die Spannungsversorgung (Vcc/GND) gibt es weltweit bekannte 
Symbole.

Moritz M. schrieb:
> Genug Kondensatoren (Die Spannung ist eigentlich schon sehr stabil)?
Spannungsstabilisierung ist nicht die Aufgabe dieser Kondensatoren!
http://www.lothar-miller.de/s9y/categories/14-Entkopplung

von Moritz M. (avrprogger)


Lesenswert?

Hi,

schuldigung
Pin 7: NRST
Cs: 100nF
R4: 220
Q1: 8MHz

Moritz

von Moritz M. (avrprogger)


Lesenswert?

Hi,

ja ich hab das Eval-Board STM32F4.
Das meiste hab ich aus dem schaltplan des STM32VL-Discovery board 
übernommen.

Moritz

von Moritz M. (avrprogger)


Angehängte Dateien:

Lesenswert?

Hallo,

also ich hab mich noch mal hingesetzt und einen komplett neuen 
Schaltplan gemacht. Kann mir jetzt vielleicht jemand (mögliche) Fehler 
nennen?

Wäre sehr nett, da ich keine lust habe ein Board zu entwickeln und so 
weiter, um dann feststellen zu müssen, dass das gar nicht so geht und 
alles für den Müll ist. Vielen Dank

Moritz

von Dennis X. (Gast)


Lesenswert?

Wie in dieser Schaltung der STM32 programmiert wird bleibt mir weiterhin 
ein Rätsel...

von Noname (Gast)


Lesenswert?

Ich weiss ja nicht was das werden soll.
Aber es ist schon unüblich das ein Controller so überhaupt keine 
Verbindung zur Ausswenwelt hat.
Weder LEDs oder RS232 zur Ausgabe noch ADC, oder Schalter oder Sensoren 
zur Eingabe.
Der wird einfach nur so vor sich hintakten falls Du es denn schaffst 
irgendwie ein Programm hineinzubekommen.

von Moritz M. (avrprogger)


Lesenswert?

Hallo,

ja ist schon klar, aber mir geht erstmal nur um die "Grundbeschaltung" 
mit Spannungsversorgung, Boot0, Reset usw. Hinterher will ich ihn über 
SWD programmieren. Hardware kommt dann auch noch dazu.

Moritz

PS: Weiß jemand ob das so richtig ist?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Moritz M. schrieb:
> PS: Weiß jemand ob das so richtig ist?
Wird wohl schon stimmen, denn Moritz M. schrieb:
> Das meiste hab ich aus dem schaltplan des STM32VL-Discovery board
> übernommen.

Und die dubiosen R1 und R2 kannst du ja später mit den richtigen Werten 
bestücken...

von Moritz M. (avrprogger)


Lesenswert?

Hallo,

okay ich werde es einfach mal ausprobieren. nur verstehe ich den 
spannungsteiler an boot0 nicht. Ich denk entweder Pull-Up oder Pull-Down 
aber doch keinen Spannungsteiler oder?

Moritz

von Dennis X. (Gast)


Lesenswert?

Moritz M. schrieb:
> Ich denk entweder Pull-Up oder Pull-Down
> aber doch keinen Spannungsteiler oder?

ThumbsUp

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Moritz M. schrieb:
> Ich denk entweder Pull-Up oder Pull-Down aber doch keinen Spannungsteiler
Richtig.
Das ist nur auf dem EVAL-Board so gemacht, dass auch bei geschlossenem 
SB2 kein zu hoher Strom auftritt, wenn am Pin B2 ein High ausgegeben 
wird.

von Mike R. (thesealion)


Lesenswert?

Der Reset braucht keinen externen Pull-Up

Wenn du den nicht weiter brauchst, kannst du ihn einfach offen lassen. 
So ein harter Pull-Up ist sogar ungünstig.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mike S. schrieb:
> So ein harter Pull-Up ist sogar ungünstig.
Ich würde mich niemals auf einen internen Pullup am Reset verlassen. 
Der ist so hochohmig, dass du beim ersten EMV Burst-Test rausfliegst. 
Und dann bist du froh, dass du das 2 Pads hast, wo du einen 1kOhm 
Widerstand reinlöten kannst...

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Bei NRST Pin ein C an GND, 100nF

R3 weg lassen. Auch Q1 gehört nicht zur Grundbeschaltung, da der einen 
RC intern hat.

von Mike R. (thesealion)


Lesenswert?

Lothar Miller schrieb:
> Mike S. schrieb:
>> So ein harter Pull-Up ist sogar ungünstig.
> Ich würde mich niemals auf einen internen Pullup am Reset verlassen.
> Der ist so hochohmig, dass du beim ersten EMV Burst-Test rausfliegst.
> Und dann bist du froh, dass du das 2 Pads hast, wo du einen 1kOhm
> Widerstand reinlöten kannst...

Laut ST soll man dort maximal einen 10pF Kondensator nach Masse 
anschließen und das auch nur, wenn eine lange Leitung, die großartig 
Störungen mit einsammelt, dran hängt.

Das Problem ist nämlich, das der Controller den Pin auch selber nach 
Masse ziehen muss, um sauber zu starten.

Musst dir mal das Digramm auf Seite 88 des RefManuals ansehen.

EDIT: Auf keinen Fall 100nF nehmen. Das kann zusammen mit dem 
eingebauten Schmidt-Trigger ganz böse Störungen geben.

von Mike R. (thesealion)


Lesenswert?

Ich hab gerade noch einmal im Datenblatt nachgesehen, dort wird auch ein 
0.1µF empfohlen, allerdings hat der Application-Ingenieur mir gestern 
erzählt 10pF wären genug und mehr sollten es auf keinen Fall sein.

von Simon H. (simi)


Lesenswert?

Noch ein kleiner Tipp: Es ist in aller Regel nicht so günstig, das 
Schemasymbol nach der Pinbelegung zu richten. Das macht die Schaltung 
unübersichtlich.

Bei diesem kleinen käfer mag's noch gehen. Aber ich würde dennoch die 
Pins "thematisch" ordnen. Also alle VDD und GND in eine Ecke, Port Pins 
jeweils zu Ports gruppieren etc.

Üblich ist auch, mehrere Teilsymbole zu machen. Also U1A, U1B, U1C etc, 
wobei dann z.B. U1A Port A beinhaltet, U1B Port B, U1C Quartz etc, U1D 
Speisung...

So kannst Du im Schema zusammenhalten, was zusammengehört.

Einzig bei Steckern kann (muss nicht) es Sinn machen, wenn das 
Schemasymbol den Footprint "imitiert".

von (prx) A. K. (prx)


Lesenswert?

Ob 10pF am Reset irgendwas bringen? Oft hängt da irgendwas dran und dann 
hat man schon allein über die Board-Verdrahtung schnell mehr als 10pF 
dran. Erst recht mit JTAG/SWD Kabel.

von Moritz M. (avrprogger)


Lesenswert?

Hallo, ich hab noch eien Frage:
ist es richtig, dass wenn boot0 und 1 auf low gezogenwerden kein 
bootloader gestartet wird / ihn dann über swd programmieren kann?

Moritz

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.