Ich habe einige Erfahrungen mit stm32, aber ich habe sie immer nur auf Entwicklungsboards verwendet.
Ich habe kürzlich versucht, stm32 und stm8 auf ein einfaches Breakout-Board zu löten und sie mit meinem st-linkv2-Klon zu programmieren.
Beim ersten Einschalten macht das mcu ein paar kleine Geräusche wie Brennen nach ein paar Sekunden, und 2 Minuten später zieht es 100 mA und raucht.
Ich denke, es gibt einige wichtige Details, die mir fehlen. Was könnte bei einem einfachen Setup wie diesem schief gehen? (nur vdd, vss, decoupling cap und st-link)
Ich habe es über 20 Mal mit stm8 und stm32 versucht.
Ich habe die Entkopplungskappe so nah wie möglich und versorgte sie mit 3,3V.
Einige Male konnte ich den Blitz programmieren und verifizieren, aber er zeigte ein komisches Verhalten * und ging einige Minuten später wieder in Rauch auf.
Ich habe versucht, durch Ziehen zu löten, regelmäßig mit einer SMD-Spitze zu löten und einer Temperatur von nur 260 ° C und einer Abklingzeit nach jedem Pad. Ich habe auch eine Heißluftpistole auf 270C ausprobiert und bin mir ziemlich sicher, dass das Problem nicht beim Löten liegt.
Ich habe es auch mit NRST Pull-Up und BOOT0 Pull-Down versucht.
* Seltsames Verhalten: "zufälliges" Timing wie bei einem einfachen LED-Blinker oder einem PWM-Signal, das nur auf 2,8 V anstatt auf 0 V abfällt. Insgesamt ist es "irgendwie" funktioniert, aber nur für 1 Minute.
** das problem ist nicht st-link. es blinkt das dev-board ganz gut
EDIT 1: Hier ist der Schaltplan (für stm32) (Anschlüsse an ST-Link mit Bezeichnungen versehen):
da ist nichts darunter. nur ein weiterer (nicht besiedelter) Platzbedarf, der mit Stiften verbunden ist.
EDIT 2: Durchgangsprüfung: keine Kurzschlüsse, alle Kontakte der Pins sind in Ordnung
EDIT 3: VDDA und VDD verbunden und weitere 4,7 uF auf VDD hinzugefügt. immer noch gebraten. VDD direkt am Gerät gemessen: 3,36 V
BEARBEITEN 4: Aktuelles Ziehverhalten: In allen Fällen, wenn der Chip gebraten wird, zieht er ungefähr 20-40 mA und steigt manchmal plötzlich für einige Sekunden auf 100-240 mA und geht dann auf Null (weniger als 10 mA). und bleibt einige Zeit auf Null, bevor sie erneut gestartet wird.
UPDATE: Ich habe einen weiteren STM8S003F3P6,1uF auf VCAP und 2x100nF und 10uF auf VDD gelötet. und verwendete eine Batterie als Quelle und machte einen kleinen Kapazitätsvervielfacher und Emitterfolger, um die 3,3 V mit vielen Keramik- und Niedrig-ESR-Deckeln und einer auf 15 mA eingestellten Stromgrenze herzustellen. Die Spannung hatte weniger als 30 mV Rauschen über 50 MHz. dann habe ich die MCU angeschlossen (frisch gelötet). Die Stromaufnahme betrug weniger als 4 mA und die Spannung war stabil. Ich ließ es sein. Nach ein oder zwei Minuten begann es plötzlich, die Grenze von 15 mA zu überschreiten und den PDR auszulösen. und jetzt fängt es sofort an, das zu tun (auch mit dem NRST behauptet). scheint, dass dieser auch weg ist ...
quelle
Antworten:
V DDA ist nicht angeschlossen.
Application note AN4325 Erste Schritte mit der Hardwareentwicklung der Serien STM32F030xx und STM32F070xx :
Verbinden Sie Pin 5 mit Pin 16, bevor Sie es erneut versuchen.
quelle
Haben Sie die Wellenform Ihres Netzteils mit einem Oszilloskop betrachtet?
Für den linearen Low-Dropout-Spannungsregler LF33, den Sie scheinbar verwenden, sind mindestens 2 µF zusätzliche Ausgangskapazität erforderlich, um die Stabilität zu gewährleisten. In Ihrem Schaltplan werden nur 100 nF angezeigt. Außerdem sehe ich vor dem Regler keine Eingangskapazität.
Wenn der Regler oszilliert, werden möglicherweise zeitweise die vollen 5 V an die MCU-Leistungsstifte angelegt. Dies würde den Maximalwert von 4 V für den STM32 überschreiten.
quelle
WENN Ihnen der CMOS-Effekt "Buried SCR Latch" mit durch Hitze verursachten Einspeiseschäden von Eingängen, die um 0,3 V höher als die Versorgungsspannung sind, nicht bekannt ist, werden Sie ihn jetzt nie vergessen.
Dies entspricht dem Anlegen von Analogsignalen, bevor VddA angeschlossen wird.
In der Application Note S11 ist klar angegeben, was zu tun ist, nicht jedoch der Grund.
quelle
In meiner beruflichen Erfahrung habe ich festgestellt, dass der STM32 extrem empfindliche transiente Spannungen auf den Stromschienen und GPIOs liefert. Stellen Sie sicher, dass Ihre Netzteile beim Start nicht übersteuern. Um dies zu mildern, können Sie am Ausgang Ihres Spannungsreglers 10 bis 100 uF hinzufügen. Viel Glück und lass uns wissen, wie es geht.
quelle
Werfen wir einen Blick in das LF33-Datenblatt: https://www.st.com/resource/en/datasheet/cd00000546.pdf
Eine Kapazität von 100nF, weit weg von LDO, reicht nicht aus. Versuchen Sie, die Stromleitung mit dem Oszilloskop zu überprüfen. Braten Sie die nächste MCU nicht, ohne einen 10-47uF LOW ESR-Elektrolytkondensator in der Nähe der LF33-Stifte hinzuzufügen.
quelle
Woher hast du die uC? Sind sie echt?
Ich habe mit viel stmf1 gearbeitet und hatte keine probleme mit esd noch höhertemperaturlöten
Haben Sie versucht, das Gerät nicht zu blinken? Lass es einfach für einige Zeit an.
Woher nimmst du Strom für 5V? Vielleicht ist es ein Leck. Versuchen Sie, es über USB von demselben PC mit Strom zu versorgen, auf dem Sie den Blinker verwenden. Versuchen Sie, einen ftdi-Konverter für das serielle Debugging zu erhalten und betreiben Sie ihn direkt mit dem 3v3-Ausgang
Nach dem, was ich habe, blinkt Ihr einfacher Test geführt. Recht? Welchen Strom verbrauchen Sie? Pin ist oben oder unten angebracht? Versuchen Sie es mit einem npn oder einem ähnlichen Fet auf der Unterseite, um diese LED umzuschalten. Vielleicht schadet es der Strom. Obwohl ich gesehen habe, dass es IO brennt, nicht so ein Gerät.
Ihre Schule zeigt kein vdda an und ist sich nicht sicher, ob es etwas anderes als ADC mit Strom versorgt, aber es sollte auch kein Gerät brennen.
Meine beste Vermutung ist die Referenz von verschiedenen Geräten wie Netzteil und USB
quelle
Überprüfen Sie das Datenblatt auf den maximalen Strom, den der F030 aufnimmt, und legen Sie die Strombegrenzung für Ihre Tischversorgung fest, um etwas weniger als diese Menge zu liefern, um das Mikro zu schützen. Ich habe das Datenblatt für Ihr LDO (LF33) nicht geprüft, aber für die Stabilität benötigen Sie einen Bulk-Kondensator auf der Versorgungsseite und einen Kondensator mit einem kleineren Wert auf der Mikroseite. Letzteres ist nicht zu verwechseln mit der Entkopplungskappe für VDDD und VDDA am Mikro. Schließlich hat jemand anderes bereits erwähnt, dass er den Schaltplan der Platine liefert. Viele dieser Boards von Drittanbietern übernehmen Strom und Masse über die Eckstifte. Das ist hier nicht der Fall. Sie profitieren auch davon, wenn Sie den kostenlosen STM32CubeMx verwenden, um Ihre Pins festzulegen und den Konfigurationscode zu generieren.
quelle
Stabilität des Reglers ist hier der Trick. Leichte Lasten sind ohne zusätzliche Kapazität schwerer stabil zu halten.
Ich hatte eine ähnliche Sache einmal mit einem LM317 passieren. Die Spannung in diesem Stromkreis ging in Richtung 12V. Die Seriensteuerung kann schief gehen.
Ich habe mit NXP Arm7-Prozessoren gearbeitet, bei denen ein Problem mit dem Hochfahren des Latch-Ups an den E / A-Pins auftrat. Ich vermute, Ihr Problem liegt in der Stabilität, nicht im Latchup.
quelle
Ich habe endlich herausgefunden, was all das verursacht hat. Anscheinend hatte ich einige Probleme mit meiner Erdungsschaltung, und während des Lötens und Hochfahrens trat am Gerät eine hohe Wechselspannung auf, und es war keine gemeinsame Masse vorhanden. Obwohl der Pfad eine ziemlich hohe Impedanz hatte, hat er anscheinend viel Schaden angerichtet ... Ich habe einen STM8, der seit mehr als 5 Minuten eine LED blinkt !!! (Was für eine Leistung :)) aber ich habe auch kein Lötflussmittel auf diesem Board verwendet, da ich vermutete, dass die Flussmittelrückstände auch einige Probleme machten ...
quelle
Mikołaj Tutak traf dies auf den Kopf. Nur ein paar Notizen.
Der erforderliche ESR wird von nahezu jeder Obergrenze erfüllt. Wenn Sie ein paar billige 10uF- oder 4,7uF-Elektrolyte parallel auf den Ausgang geben, wird alles gut. Das Datenblatt fordert nur 2,2 uF, aber zusätzliche werden nicht schaden.
Ich habe genau diese MCU (und die K6 und CC für diese Angelegenheit) in mindestens 4 verschiedenen Designs verwendet. Niemals gebraten. Ich habe billige MLCC-Kappen für den Bypass verwendet, aber bei meiner Eingabe hatte ich 10 & mgr; f bis 22 & mgr; f feste AL-Kappen. Außer in einem Fall hatte ich 10 & mgr; f Tantal anstelle von AL. Alle diese Entwürfe waren einlagig auf einer Grundplatte. Kein Regler an Bord.
Bei all meinen Tests war meine Stromversorgung identisch: 13,8 V (von einem Radio-PS) -> ein 12-V- bis 5-V-Umschalter (nicht weniger als ein billiger USB-Power-Dongle aus einem Dollar-Laden) -> 3,3-V-PS mit einem LM1084 . Insgesamt ca. 120uF am Ausgang. Günstige 47uF x 2 und 10uF x 2.
quelle