Forum: Projekte & Code STM32 Breakout Board


von Johannes H. (joherold)


Lesenswert?

Hallo zusammen,

ich darf auf meinen Artikel über mein kürzlich fertig gestelltes 
Breakout Board für einen STM32F105 hinweisen:
http://www.mikrocontroller.net/articles/STM32_Breakout_Board

Fragen und Anregungen bitte hier posten.

Wie im Artikel erwähnt werde ich die Platine bald bestellen. Drei 
Versionen werde ich sowieso bestellen, aber wer gerne eine hätte kann es 
bitte kurz hier vermerken.
(Dabei sei angemerkt, dass das Projekt für mich selbst eher Spielplatz 
war. Ich bin mir zwar recht sicher dass alles funktionieren wird, aber 
kann natürlich nichts garantieren ;) )


Cheers :)

: Verschoben durch Admin
von Jan B. (berge)


Lesenswert?

Hey Johannes,

gibt es denn Debug Möglichkeiten ohne den ST-Link? Wenn nein, wäre es 
knorke, wenn du auf Stiftleiste die Pins fürs ST-Link noch rausführen 
könntest.

LG Jan

von 123 (Gast)


Lesenswert?

1. Das Decoupling soll nicht schön aussehen sondern funktional sein. So 
in die Ecken 45° gesetzt sieht zwar schon aus ist aber nichts. Das 
gehört hier auf die Unterseite. Mach die BOM auf ein Blatt Papier und 
nutze den Platz lieber für ein vernünftiges Decoupling. Hast du für 
jeden Vcc-Pin einen Kondensator vorgesehen?

2. Wo sind die größeren Decouplingkondensatoren? Wo sind die Ferrite? 
Wieso schaust du nicht ins Datenblatt oder baust das STM32F4DISCOVERY 
nach? Wieso dars Rad neu erfinden und dann auch noch schlechter ?

3. Wieso baust du nicht die Applications-Schaltung aus dem Datenblatt 
des FT231x nach? Ich sehe schon den nächsten Thread: "FT231x wird nicht 
erkannt". Blah blah.

4. Schau dir mal den Oszillator-GND-Pfad an und versuch den zu verkürzen 
(OSC1-Pin -> CRYSTAL -> Ccrystal -> GND-Pin des STM32 und das selbe für 
den anderen OSC-Pin). Denn so geht es wieder zurück in den STM. Sollte 
nicht so lange sein ...

Sorry aber das ist so nix ...

von ich (Gast)


Lesenswert?


von Johannes H. (joherold)


Lesenswert?

@123 (Gast)
Leider bin ich noch nicht dazu gekommen, auch den Schaltplan 
hochzuladen, denn dadurch würden bestimmt einige Missverständnisse 
beseitigt.

>Das gehört hier auf die Unterseite.
Soweit ich weiß sind Decoupling Kondensatoren auf der anderen Seite des 
Chips aufgrund der Vias nicht zu empfehlen.
Viel mehr sollten sie so nah wie möglich an den Versorgungs-Pins des µC 
liegen, was in meinem Layout denke ich der Fall ist. Schau mal ins 
Datenblatt des STM, wo da die Versorgungspins liegen (oder verfolge die 
leiterbahnen von C1..4).

>Wo sind die größeren Decouplingkondensatoren?
Das Datenblatt des FT231X empfiehlt einen großen Kondensator, deswegen 
habe ich geplant, einen solchen parallel zu C9 unten links einzulöten. 
Das ist eine sehr hässliche Lösung, aber mir hat einfach der Platz auf 
der Platine gefehlt (jaa, größere Platine nehmen, aber so gehts doch 
auch). Für den STM habe ich tatsächlich bloß die vier 100n Kondensatoren 
vorgesehen.

>Wo sind die Ferrite?
Gibts nicht. Ich muss sagen, für ein Amateur Projekt fehlt mir zum einen 
das Wissen und zum anderen die Muße EMV-Berechnungen durchzuführen. 
Boards wie z.B. von Olimex haben auch keine Ferrite. (Okay, Olimex hat 
eine Spule an der Spannungsversorgung vom USB, aber mein Board bezieht 
keinen Strom vom USB)

>Wieso dars Rad neu erfinden
Als Übung. Weils Spaß macht. Weil mir das Rad, das es schon gibt, nicht 
gefällt (zu groß, nicht Steckbrett fähig), und um den FTDI zu testen. 
Wie im Artikel geschrieben, war das ganze einfach ein Übungsprojekt für 
mich, ich war aber eigentlich so zufrieden damit dass ich es hier teilen 
wollte.

>Wieso baust du nicht die Applications-Schaltung aus dem Datenblatt
>des FT231x nach?
Hier kommt die Sache mit dem Schaltplan ins Spiel. Aus dem wäre 
erkennbar, dass ich eins zu eins die Schaltung aus dem Datenblatt 
übernommen habe. (Abschnitt 6.2: Self Powered Application)

Mit Punkt 4 weiß ich nicht so genau was du meinst.

Naja, wie gesagt, ist das ganze einfach nur ein kleines Bastel Projekt 
gewesen. Ich nehme den Artikel gerne wieder aus dem Wiki heraus, wenn 
ihr der Meinung seid, dass ich da zu viel Amateur-Mist in die Welt 
setze.

Viele grüße

: Bearbeitet durch User
von Johannes H. (joherold)


Lesenswert?

@Jan Berge

Ich hatte eigentlich ein Debugging über USB geplant. Der JTAG Verbinder 
für den ST-Link ist ziemlich fett, den kriege ich da nicht mehr drauf. 
Allerdings gibt es noch die Möglichkeit, das mit Single Wire Debug zu 
lösen. Die Pins hierfür liegen auf der Stiftleiste (Pins PA13: SWDIO und 
PA14: SWCLK).
Damit habe ich selbst keine Erfahrung aber ich habe gelesen, dass der 
ST-Link das auch unterstützt. Kannst mal googlen, wie es mit "ST-Link 
und SWD" ausschaut, vielleicht klappt das.

EDIT: Ansonsten wäre wahrscheinlich die Variante, die ich(Gast) auf eBay 
gefunden hat eine gute Alternative für dich!

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


Lesenswert?

@Johannes Herold

Schönes Board, jedoch habe ich dazu noch 3 Anmerkungen, die Du unbedingt 
berücksichtigen solltest:

1. Tauglich für STM32F4xx machen:
Schaue mal in das Datasheet vom STM32F407, dort gibt es
"Figure 1. Compatible board design between STM32F10xx/STM32F4xx for 
LQFP64"
Mache diese beiden 0-Ohm Widerstände mit rein und Dein Board 
funktioniert mit allen STM32 Prozessoren die 64 Pins haben.

2. Debug Möglichkeit:
Der Standard-JTAG Stecker ist schon sehr groß, als Alternative gibt es 
den:
http://www.mikrocontroller.net/articles/JTAG
Siehe hier: "Der 10-polige JTAG Stecker von mmvisual"
Der ist viel kleiner und passt sicher noch drauf. Lese den Abschnitt im 
Artikel und Du kannst auch selbst entscheiden ob Du nur SWD rein machst.

3. Boot-Jumper
Mache eine Jumper zum BOOT0 Pin und Pull-Down Widerstand.

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


Lesenswert?

Um das Board vor Überspannung zu schützen sollte das eingebaut werden:

Schutzdiode in Spannungsversorgung:
MSP5.0A

Schutzdiode in den beiden USB-Leitungen (Doppel-Diode):
PESD5V0U2BT

Damit wird das Board auch bei "rauheren" Umgebungen sich nicht gleich 
aufhängen.

von Johannes H. (joherold)


Lesenswert?

Hi Markus,

der Tipp mit der erweiterten Kompatibilität ist super!

Ich schau mal, ob ich den 10 poligen Stecker noch mit drauf bekomme. 
Wäre ne gute Alternative. Dafür lohnt es sich eventuell das Board noch 
nen halben Zentimeter länger zu machen, dann sollte er drauf passen.
Oder eher werde ich eine zweite Version erstellen, die statt USB und 
FT231X den 10-poligen Stecker hat. Beide Varianten braucht man ja 
eigentlich nicht.

BOOT0 hat schon einen Pulldown und ist außerdem auf die Stiftleiste 
geführt. Hatte ursprünglich vor, noch einen extra Druckknopf dafür 
einzubauen, aber jetzt kann man den Boot-Modus per Umstecken auf dem 
Steckbrett auswählen.

EDIT: Auch danke für den Tipp mit den Schutzdioden.

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


Lesenswert?

Der STM32F4xx hat schon einen USB Bootloader drin, wenn man den mit der 
eigenen Firmware bootet kann der Chip per USB geflasht werden. Da 
braucht es keinen FT232 mehr.

von Johannes H. (joherold)


Lesenswert?

Genau, das hat der STM32F10x glaube ich auch schon, zumindest unterstütz 
der USB und laut Datenblatt des Bootloaders kann man ihn auch darüber 
flashen.

Ich wollte aber vor allem auch den FT231 ausprobieren.

Habe aber trotzdem die Möglichkeit eingebaut, die USB Buchse per Jumper 
direkt mit den USB-Pins des STM zu verbinden.

von Harald N. (haraldn)


Lesenswert?

Hallo!

Gibt es Neuigkeiten von der Platine? Oder ist dein Projekt tot?

LG Harald

von joherold (Gast)


Lesenswert?

Hi, sorry, ich wollte mich eigentlich mal melden.
Leider musste ich da Projekt momentan nach hinten schieben, weil von der 
Uni gerade zeimlich viel Arbeit ansteht. Habe aber trotzdem vor, es noch 
zu beenden. Das dauert wohl noch bis nächstes Jahr. Ich denke statt bis 
dahin zu warten ist das Breakout Board von eBay, das weiter oben 
gepostet wurde eine gute Alternative.

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.