Ich habe einen Prototyp mit dem STM NUCLEO (NUCLEO-F411RE) Board entwickelt und bin jetzt, da ich mit dem Design zufrieden bin, dabei, alles zusammen auf meiner eigenen PCB zu testen. Alle anderen Komponenten, die auf meiner Platine entwickelt wurden, funktionieren hervorragend, mit Ausnahme des neuen nackten STM32F411RE (LQFP4-Paket), das ich auf der Platine integriert habe. Ich kann mich über die SWD-Schnittstelle nicht mit dem Board verbinden, um ein Programm hochzuladen, und bin jetzt nach vielen Debug-Versuchen völlig ratlos! Ich habe alle Empfehlungen zum Hardwaredesign befolgt, die in den STM32-Anwendungshinweisen ( https://www.st.com/content/ccc/resource/technical/document/application_note/76/f9/c8/10/8a/33/4b /f0/DM00115714.pdf/files/DM00115714.pdf/jcr:content/translations/de.DM00115714.pdf ).
Ich habe versucht, zwei verschiedene Programmierer zu verwenden, um mit dem Board zu kommunizieren; 1) ST-Link/V2-ISOL 2) Der ST-Link, der von der NUCLEO-Karte unterbrochen werden kann
Ich habe überprüft, ob beide Programmierer funktionieren, wenn sie an die richtigen Pins auf der Breakout-Platine NUCLEO-F4llRE angeschlossen werden, die VDD/SWCLK(PA14)/GND/SWDIO(PA13)/NRST/SWO(PB3) ist. Die Verbindungsüberprüfung erfolgt mit der STM32 ST-Link Utility Software. Die Einstellungen für das ST-Link-Dienstprogramm sind: Verbindungseinstellungen = SWD, Frequenz = 480 kHz (ich habe andere Frequenzen ausprobiert), Modus = Verbinden unter Reset und Reset-Modus ist Hardware-Reset.
Beim Versuch, eine Verbindung herzustellen, erhalte ich die Meldung "Kann keine Verbindung zum Ziel herstellen!" Fehler des ST-Link-Dienstprogramms sowie eine FAIL.txt-Datei von ST-Link V2, die „the interface firmware FAILED to reset/halt the target MCU“ enthält. Ich habe mein Oszilloskop angeschlossen, um den NRST-Pin zu analysieren, den ich mit einem 10-kOhm-Widerstand hochgezogen habe, zusammen mit einer Kappe auf Masse in der Nähe des STM32F4-Reset-Pins. Ich sehe, dass der ST-Link einen Reset-Impuls sendet, aber die MCU, aber keine Verbindung, denke ich. Ich habe dann versucht, eine Verbindung zur Platine herzustellen, indem ich NRST mit einem 10k-Pulldown-Widerstand auf niedrig gezogen habe, und immer noch keine Verbindung ... Ich habe den Durchgang zwischen den STM32f4-Pins auf der Platine und den Anschlusspins überprüft und alles ist in Bezug auf das Löten in Ordnung I erraten? Ich glaube, dass das Layout und die Platzierung des Controllers korrekt sind, da ich sowohl dem ST-Datenblatt als auch dem NUCLEO-Board-Layout gefolgt bin. Vielleicht wäre es toll, wenn das jemand bestätigen könnte! Außerdem bin ich neu in der PCB-Entwicklung mit MCUs, also könnte dies sehr gut ein dummer Fehler sein, den ich nicht sehe :)
Außerdem lasse ich mein Board von einem separaten Netzteil mit Strom versorgen, bevor ich den ST-LINK V2-Programmierer anschließe. Jede Hilfe/Empfehlung wäre sehr willkommen, da ich feststecke! Hier sind einige Fotos von meinem Setup
Also habe ich herausgefunden, was das Problem war, ich habe einen dummen Fehler zwischen dem Schaltplan und der Leiterplatte gemacht, also stellen Sie sicher, dass Sie immer alles dreifach überprüfen, bevor Sie die Platine zur Fertigung schicken. Ich habe VDDA mit GND und VSSA mit VDD im Schaltplan falsch verbunden und es erst bemerkt, nachdem ich die Platine entworfen hatte, und ich war dumm, ich wurde abgelenkt oder was auch immer und habe die Platine nach dem Reparieren des Schaltplans nie aktualisiert ... Die VDDA- und VSSA-Verbindungen sind kritisch da es die Stromversorgung für die internen analogen Schaltungen ist, die aus der internen PLL bestehen, die den Takt für den Controller liefert (vorausgesetzt, dass keine externen Oszillatoren verwendet werden, was ich zuerst getan habe). Keine Uhr bedeutet keine Kommunikation mit der Steuerung!
Chris Stratton
Tom L.
Chris Stratton
Robert Pollack
Robert Pollack
Robert Pollack
Robert Pollack
Chris Stratton