STM32F103 eigene Platine geht nicht

OP #7604021
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

Angehängte Dateien:
#7604027
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.

OP #7604040
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?

#7604043
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.

OP #7604047
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

OP #7604052
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)

#7604520
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

#7604589
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren