Forum: Mikrocontroller und Digitale Elektronik STM32F103 eigene Platine geht nicht


von Andreas L. (drewle)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe mir auf dem Blue-Pill eine Software geschrieben und wollte die 
Hardware dann auf einer eigenen Platine umsetzen.
(Das Ergebnis seht ihr im Anhang "schematic.pdf")

Leider funktioniert das über haubt nicht wie erwartet. Ich komme 
einfauch nicht mit meinem J-Link V2 (CN) und openOCD auf den Controler.
Die Ausganbe von openOCD: im Anhang "Ausgabe.png"

Der J-Link funktioniert, da ich auch dem Blue-Pill gut damit arbeiten 
kann.

Natürlich könnte es auch an Lötfehlern liegen, allerdings habe ich 
(hoffentlich) recht sauber gearbeitet und habe bereits 3 Versuche hinter 
mir...

Seht Ihr irgentwelche Fehler, die ich im Schaltplan gemacht habe?
Sonstige Tipps sind gerne auch willkommen.

Danke für Eure Hilfe,

Drewle

von C. W. (cwi)


Lesenswert?

Hi Drewle,
was mir so auf die schnelle auffällt,
ist das du NRST Pin7 sollte auf high sein
LG Christian

von Marcel B. (mabu1)


Lesenswert?

Sind Boot0 und Boot 1 und NRST floating oder hast du die mal extern 
definiert? Ich könnte mir mit floatendem NRST schon Probleme vorstellen. 
BOOT Pins nachgelagert.

PS: habe nur grob drübergeschaut, aus meinem Gedächtnis passen die SWD 
Pins, habe ich aber nicht nachgelesen.

: Bearbeitet durch User
von Markus M. (adrock)


Lesenswert?

Ist VDDA (+3.3VA) mit VDD (+3.3V) verbunden per Brücke / 0 Ohm 
Widerstand so wie im Schaltplan?

von Ben S. (bensch123)


Lesenswert?

Es scheint ja in en letzten Jahren Mode geworden zu sein in Schaltplänen 
nur noch frei fliegende Blöcke zu platzieren und daraus ein SUchbild zu 
machen.

1. Boot0 scheint zu floaten
2. Nutze NRST
3. Hast du R2 und R3 bestückt?

von Andreas L. (drewle)


Lesenswert?

Danke für die schnellen Antworten,

NRST sollte eigentlich intern mit einem Pullup versehen sein. Ich werde 
aber noch versuchen mit einem externen Pullup (10k) nach 3.3V zu gehen.
Oder wäre ein 100nF nach GND besser?

Boot0 habe ich mit einem 100k auf GND gelegt. Boot1 ist floatend. Bei 
Boot0 auf GND sollte Boot1 keine Rolle mehr spielen, oder?
Im Schaltplan vom Blue Pill wurden 100k verwendet: 
https://stm32-base.org/assets/pdf/boards/original-schematic-STM32F103C8T6-Blue_Pill.pdf

Die Brücke zwischen VDD und VDDA habe ich im Moment noch nicht drin. Ich 
wollte das nach und nach aufbauen. Kann das eine Rolle spielen? Ich 
mache ja noch nichts mit ADC. Ich scheitere ja schon eine Meile befor 
ich überhaubt etwas aufspielen kann.

Anmerkung:
Ich habe gerade noch gesehen, dass ich (unabsichtlich) VBAT auch auf die 
3.3V gelegt habe. Ich habe noch nicht darüber nach gedacht: Kann das was 
ausmachen?

von Ben S. (bensch123)


Lesenswert?

Andreas L. schrieb:
> NRST sollte eigentlich intern mit einem Pullup versehen sein. Ich werde
> aber noch versuchen mit einem externen Pullup (10k) nach 3.3V zu gehen.
> Oder wäre ein 100nF nach GND besser?

Absolut unnötig und kontraproduktiv, denn NRST hat bereits intern einen 
Pullup. Klatsche einen 100nF dran und führe den NRST dann auf deine 
Stiftleiste.

Andreas L. schrieb:
> Boot0 habe ich mit einem 100k auf GND gelegt. Boot1 ist floatend. Bei
> Boot0 auf GND sollte Boot1 keine Rolle mehr spielen, oder?

Das sieht man aber nicht im Schaltplan.

Andreas L. schrieb:
> Ich habe gerade noch gesehen, dass ich (unabsichtlich) VBAT auch auf die
> 3.3V gelegt habe. Ich habe noch nicht darüber nach gedacht: Kann das was
> ausmachen?

Meiner Erfahrung nach nein. Zur Not kratze die Leitung auf.

Andreas L. schrieb:
> Die Brücke zwischen VDD und VDDA habe ich im Moment noch nicht drin. Ich
> wollte das nach und nach aufbauen. Kann das eine Rolle spielen?

Ja, denn VDDA versorgt auch GPIOA und somit die SWD Einheit. Ohne 
Spannung an VDDA kein programmieren.

: Bearbeitet durch User
von Andreas L. (drewle)


Lesenswert?

Hallo,
danke, mit den 0 Ohm funktioniert das schon mal besser!

Jetzt habe ich aber immer noch gelegentliche Aussetzer. Da muss ich wohl 
noch an dien NRST ran. Das ist leider etwas frikelig, da ich direkt an 
den Pin was anlöten muss. (Das geht erst wieder am Montag in der 
Arbeit.)

Danke für Eure Hilfe!

Drewle

von Ben S. (bensch123)


Lesenswert?

Andreas L. schrieb:
> Jetzt habe ich aber immer noch gelegentliche Aussetzer.

Was für Aussetzer?

von Andreas L. (drewle)


Lesenswert?

>> Was für Aussetzer?
Ich komme mit dem Debugger auf den Controller und kann auch etwas 
rumsteppen. Manchmal ist er dann aber einfach weg.
Wenn ich ihn auf einen Breakpoint am Anfanf von main laufen lasse will 
kommt er da nie an.
Das würde ich mal auf den NRST schieben.

(Die selbe Software funktioniert auf dem Blue Pill ohne Probleme)

von Paul B. (paule201)


Lesenswert?

Andreas L. schrieb:
> Die Brücke zwischen VDD und VDDA habe ich im Moment noch nicht drin.

Andreas L. schrieb:
> Das würde ich mal auf den NRST schieben.

Es gibt von ST App Notes wie die Beschaltung aussehen sollte.
Man kann sich auch an den Schaltplänen der Discovery oder Nucleo Boards 
orientieren, eventuell für V2 der Platine.
https://www.st.com/resource/en/application_note/an2586-getting-started-with-stm32f10xxx-hardware-development-stmicroelectronics.pdf

Welchen Quarz hast du? Nutzt du den oder einen der internen Quarze?
Wenn die Kondensatoren am Quarz nicht stimmen kann es zu Problemen 
kommen.

Es gibt auch die Empfehlung nach Serienwiderständen in den Quarz 
Leitungen. Ich habe immer 220Ohm drin.

Viel Erfolg

von Wastl (hartundweichware)


Lesenswert?

Paul B. schrieb:
> Welchen Quarz hast du? Nutzt du den oder einen der internen Quarze?

Aaahhh, wieder ein Spezialist, er kennt die internen Quarze bei
dem STM32 Controllern. Das wissen nur wenige ....

von Paul B. (paule201)


Lesenswert?

Wastl schrieb:
> Aaahhh, wieder ein Spezialist, er kennt die internen Quarze bei
> dem STM32 Controllern. Das wissen nur wenige ....

Kommt jetzt hier noch was brauchbares? Irgendwie lese ich in dem ganzen 
Thread keinen Beitrag von dir, der zur Lösung des Problems beiträgt.

von Wastl (hartundweichware)


Lesenswert?

Paul B. schrieb:
> Irgendwie lese ich in dem ganzen
> Thread keinen Beitrag von dir, der zur Lösung des Problems beiträgt.

Doch es ist hilfreich zu wissen dass du die internen Quarze bei
den STM32 Controllern kennst. Ich wusste das bis dahin auch noch
nicht.

von Ben S. (bensch123)


Lesenswert?

Wastl schrieb:
> Paul B. schrieb:
>> Irgendwie lese ich in dem ganzen
>> Thread keinen Beitrag von dir, der zur Lösung des Problems beiträgt.
>
> Doch es ist hilfreich zu wissen dass du die internen Quarze bei
> den STM32 Controllern kennst. Ich wusste das bis dahin auch noch
> nicht.

Meine Güte, absolut jeder weiß was gemeint ist. Absolut jeder.
Helf lieber dem Anfänger als mit typisch deutscher Klugscheisserei 
aufzutreten.

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