STM-Mikrocontroller brennt jedes Mal

Ich habe einige Erfahrung 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.gelöteter stm32 auf Breakout-Board

Beim ersten Einschalten macht die MCU einige kleine Geräusche wie Brennen nach ein paar Sekunden und 2 Minuten später zieht sie 100 mA und raucht.

Ich denke, es gibt einige wichtige Details, die ich vermisse. Was kann bei so einem einfachen Setup schief gehen? (nur vdd,vss, Entkopplungskappe und st-link)

Ich habe es über 20 Mal mit stm8 und stm32 versucht.

Ich habe die Entkopplungskappe so nah wie möglich bekommen und sie mit 3,3 V versorgt.

Ein paar Mal konnte ich den Blitz programmieren und überprüfen, aber er zeigte ein seltsames Verhalten * und ging ein paar Minuten später wieder in Rauch auf.

Ich habe es mit Schlepplöten, normalem Löten mit SMD-Spitze und einer Temperatur von nur 260 ° C und einer Abkühlzeit nach jedem Pad versucht. Ich habe auch eine Heißluftpistole bei 270 ° C ausprobiert und bin mir ziemlich sicher, dass das Problem nicht beim Löten liegt.

Ich habe es auch mit NRST-Pullup und BOOT0-Pulldown versucht.

* seltsames Verhalten: "zufällig" wie das Timing bei einem einfachen LED-Blinker oder einem PWM-Signal, das nur auf etwa 2,8 V statt auf 0 V abfällt. Insgesamt funktioniert es "irgendwie", aber nur für 1 Minute.

** Das Problem ist nicht st-link. Es flasht das Dev-Board ganz gut

BEARBEITEN 1: Hier ist der Schaltplan (für stm32) (Verbindungen zu ST-Link mit Etiketten gekennzeichnet):

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

darunter ist nichts. nur ein weiterer (unbestückter) Footprint, der mit Pins verbunden ist.

EDIT 2: Durchgangstest: keine Kurzschlüsse, alle Stiftkontakte sind in Ordnung

BEARBEITEN 3: VDDA und VDD verbunden und weitere 4,7 uF auf VDD hinzugefügt. noch angebraten. VDD direkt am Gerät gemessen: 3,36 V

BEARBEITEN 4: Stromaufnahmeverhalten: 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 er wieder startet.

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ätsmultiplikator und Emitterfolger, um die 3,3 V mit vielen Keramik- und Low-ESR-Kappen und einer auf 15 mA eingestellten Strombegrenzung 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 habe es gelassen. Nach ein oder zwei Minuten begann es plötzlich, die 15-mA-Grenze zu überschreiten und den PDR auszulösen. und jetzt beginnt es sofort damit (selbst wenn der NRST aktiviert ist). dieser scheint auch weg zu sein...

Es gibt keine Spuren auf der Unterseite dieser Breakout-Leiterplatte?
Wenn Sie den Durchgang/Widerstand zwischen den Pins einer blanken Breakout-Leiterplatte messen, gibt es keine versteckten Verbindungen? (Messen Sie Pin 1 gegen 2...20, Pin 2 gegen 3..20 usw.)
Kannst du einen Schaltplan hinzufügen?
Meine beste Vermutung ist, dass Sie die Versorgungsspannung an der falschen Stelle Ihres Mikrocontrollers anlegen.
Was kann bei so einem einfachen Setup schiefgehen? Ich brauche nur 2 Anschlüsse und eine Stromversorgung (sogar einige Batterien reichen aus), um fast JEDEN IC in die Luft zu jagen. Schalten Sie es einfach umgekehrt ein (+ / - vertauscht) und der ESD-Schutz wird den gesamten IC braten. Einfach bedeutet nicht idiotensicher.
Welche Spannung hat der LF33?
VDD direkt am Controller messen.
@Huisman PCB ist in Ordnung. Durchgangstest habe ich gemacht.
@Bimpelrekkie hat es über 20 Mal versucht, es sollte nicht der Fall sein ... ich habe das letzte überprüft und die Leistung ist korrekt
@StainlessSteelRat meines Wissens bedeutet "LF33" 3,3 Volt und hat keine anderen Spannungen, oder? trotzdem habe ich gemessen und es ist 3,36
@ Mike ist 3,36 auf dem Gerät. sowohl VDD als auch VDDA
Zeigen Sie uns Fotos Ihrer Verkabelung.
Was ist also mit PF0-OSC_IN verbunden? Pin 2. Haben Sie Entkopplungskondensatoren?
Ich denke, es ist Zeit, ein anderes Breakout-Board auszuprobieren.
Bei der absurden Anzahl an Chips, die Sie vergeudet haben, stimmt hier etwas grundlegend nicht. Probieren Sie eine völlig andere Energiequelle aus, z. B. das Ausleihen des 3v3 vom Entwicklungsboard.
Wie verkabeln Sie alles bis zu diesen Breakout-Boards? Ein Foto posten wäre hilfreich. Wenn es sich um ein Steckbrett handelt, ist es beschädigt oder defekt? Um zu bestätigen, dass Sie keine defekten oder gefälschten Chips haben, können Sie den Chip auf Ihrem Entwicklungsboard durch einen dieser Chips ersetzen und sehen, ob er dort funktioniert.
@Chris Stratton: Ich stimme voll und ganz zu, insb. auf "absurd". OP hätte nach ungefähr 5 Geräten bemerken müssen, dass etwas völlig falsch sein muss, anstatt weitere 15 oder mehr zu brennen. // Niko: Allerdings: Ich habe schnell im Datenblatt nachgesehen und festgestellt, dass die Versorgungsspannung 2,4V bis 3,6V beträgt. Warum also nicht einfach 2 AA-Batterien verwenden???
Nur um sicherzugehen, dass Sie jedes Mal ein anderes Gerät verwenden, richtig? Als würden Sie denselben Mikrocontroller nicht wiederverwenden, nachdem er bereits gebrannt wurde?
Lieferst du zufällig doppelt Strom? (Einmal vom ST-Link, einmal von Ihrem Akku/was auch immer)?

Antworten (10)

V DDA ist nicht verbunden.

Anwendungshinweis AN4325 Erste Schritte mit der Hardwareentwicklung der Serien STM32F030xx und STM32F070xx sagt:

Die V DDA -Versorgung kann gleich oder höher als V DD sein . Dadurch kann V DD niedrig bleiben und dennoch die volle Leistung für die analogen Blöcke bereitstellen.

Wenn eine einzelne Versorgung verwendet wird, muss V DDA extern mit V DD verbunden werden .

Verbinden Sie also Pin 5 mit Pin 16, bevor Sie es erneut versuchen.

Beachten Sie dies in diesem Anwendungshinweis: "Der VDDA-Spannungspegel muss immer größer oder gleich dem VDD-Spannungspegel sein und muss zuerst bereitgestellt werden."
Einfach verbinden funktioniert einwandfrei.
@berendi diese notwendigkeit war mir nicht bewusst. Vielen Dank. aber ich habe VDDA und VDD zusammengebunden und dasselbe ist passiert. muss VDDA tatsächlich "vor" VDD ankommen? Das Dokument sagt, dass sie zusammengebunden werden können
@Niko. Ich habe gesehen, dass es funktioniert, wenn beide Stromanschlüsse einfach miteinander verbunden sind. Beachten Sie die in anderen Antworten genannten Kapazitätsanforderungen.

Haben Sie sich die Wellenform Ihrer Stromversorgung mit einem Oszilloskop angesehen?

Der lineare Low-Dropout-Spannungsregler LF33, den Sie anscheinend verwenden, erfordert aus Stabilitätsgründen eine zusätzliche Ausgangskapazität von mindestens 2 µF, Ihr Schaltplan zeigt nur 100 nF. Außerdem sehe ich keine Eingangskapazität vor dem Regler.

Wenn der Regler oszilliert, kann er zeitweise die vollen 5 V an Ihre MCU-Stromversorgungsstifte anlegen. Das würde die maximale Nennspannung von 4 V für den STM32 überschreiten.

WENN Sie den CMOS-"Buried SCR Latch-Effekt" mit Durchschuss-Hitzeschadenseffekten der Versorgung von Eingängen, die um 0,3 V höher als die Versorgungsspannung ansteigen, nicht kennen, werden Sie das jetzt nie vergessen.

Dies ist dasselbe wie das Anlegen analoger Signale, bevor VddA angeschlossen wird.

Der Anwendungshinweis p11 gibt klar an, was zu tun ist, aber nicht den Grund.

„• Der POR überwacht nur die VDD-Versorgungsspannung. Während der Startphase muss VDDA zuerst ankommen und größer oder gleich VDD sein. • Der PDR
überwacht sowohl die VDD- als auch die VDDA-Versorgungsspannung.
• Der VDDA-Stromversorgungsüberwacher kann dies jedoch deaktiviert werden (durch Programmieren eines dedizierten Optionsbits VDDA_MONITOR), um den Stromverbrauch zu reduzieren, wenn das Anwendungsdesign sicherstellt, dass VDDA größer oder gleich VDD ist.

Ich war nicht, danke!. aber welche Signale kommen vor VDDA? In meiner Stromsequenz verbinde ich VDD und VDDA (zusammengebunden) mit 3.3 und verbinde dann ST-Link. Der Anwendungshinweis besagt, dass Sie VDD und VDDA zusammenbinden können.
OK, dann ist ESD eine weitere Ursache dafür
siehe Bearbeiten 4. Ist diese Art von Stromaufnahmeverhalten auf einen verriegelten beschädigten Chip zurückzuführen?
Hängt davon ab, wie heiß es > 200 ° C für > 10 Sekunden wird? aber 1W bezweifle ich.. Ursache unbekannt

In meiner beruflichen Erfahrung habe ich beim STM32 extrem empfindliche transiente Spannungen auf den Stromschienen und GPIO festgestellt. Stellen Sie sicher, dass Ihre Netzteile beim Start nicht überschießen. Um dies abzuschwächen, können Sie dem Ausgang Ihres Spannungsreglers zwischen 10 uF und 100 uF hinzufügen. Viel Glück und lass uns wissen, wie es läuft.

Werfen wir einen Blick in das LF33-Datenblatt: https://www.st.com/resource/en/datasheet/cd00000546.pdf

Output bypass capacitance:
ESR = 0.1 to 10 Ω
Io = 0 to 500 mA
Minimum: 2μF, Typical: 10μF

Eine Kapazität von 100 nF, weit entfernt von LDO, reicht nicht aus. Versuchen Sie, die Stromleitung mit dem Oszilloskop zu überprüfen. Und braten Sie die nächste MCU nicht, ohne einen 10-47 uF LOW ESR-Elektrolytkondensator in der Nähe der LF33-Pins hinzuzufügen.

Wo hast du die uC her? Sind sie echt?

Ich habe mit vielen stmf1 gearbeitet und hatte keine Probleme mit ESD oder Löten bei höheren Temperaturen

Haben Sie versucht, das Gerät nicht zu blinken? Lassen Sie es einfach einige Zeit an.

Woher nimmst du Strom auf 5V? Vielleicht ist es ein Leck davon. Versuchen Sie, es über USB von demselben PC mit Strom zu versorgen, auf dem Sie den Flasher verwenden. Versuchen Sie, einen ftdi-Konverter für das serielle Debugging zu bekommen und ihn direkt mit dem 3v3-Ausgang zu versorgen

Von dem, was ich habe, blinkt Ihr einfacher Test. Rechts? Welchen Strom verwendest du? Stift ist oben oder unten angebracht? Versuchen Sie, ein npn oder einen ähnlichen Fet auf der unteren Seite zu verwenden, um diese LED umzuschalten. Vielleicht schadet der Strom. Obwohl ich gesehen habe, dass es IO brennt, kein Gerät wie dieses.

Ihre Schule zeigt vdda nicht an, nicht sicher, ob sie 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

uCs waren echt. Ich habe versucht, das Gerät nicht zu blinken (letzte Post-Bearbeitung), die LEDs waren mit 1K Lowside verbunden

Überprüfen Sie das Datenblatt für den maximalen Strom, den der F030 ziehen wird, und stellen Sie die Stromgrenze für Ihre Laborversorgung so ein, dass sie etwas weniger als diese Menge liefert, um das Mikro zu schützen. Ich habe das Datenblatt für Ihren LDO (LF33) nicht überprüft, aber aus Stabilitätsgründen benötigen Sie einen Bulk-Kondensator auf der Versorgungsseite und einen Kondensator mit kleinerem Wert auf der Mikroseite. Letzteres ist nicht zu verwechseln mit der Entkopplungskappe für VDDD und VDDA am Mikro. Schließlich hat schon jemand anderes erwähnt, den Platinenschaltplan zu liefern. Viele dieser Boards von Drittanbietern übernehmen Strom und Masse an den Eckstiften. 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.

Stabilität des Reglers ist hier der Trick. Leichte Lasten sind ohne zusätzliche Kapazität schwerer stabil zu halten.

Mir ist mal was ähnliches passiert mit einem LM317. Die Spannung in diesem Stromkreis ging in Richtung 12 V. Die Seriensteuerung kann schief gehen.

Ich habe mit NXP Arm7-Prozessoren gearbeitet, die ein Latchup-Problem beim Einschalten an den E / A-Pins hatten. Ich vermute jedoch, dass Ihr Problem die Stabilität ist, nicht der Latchup.

Endlich fand ich heraus, was all das verursachte. Anscheinend hatte ich einige Probleme in meiner Erdungsschaltung und während des Lötens und Einschaltens trat am Gerät eine Hochspannungswechselspannung auf, und es war keine gemeinsame Masse vorhanden. Obwohl der Pfad ziemlich hochohmig war, hat er anscheinend viel Schaden angerichtet ... Ich habe jetzt einen STM8, der eine LED für mehr als 5 Minuten blinkt !!! (Was für eine Leistung :) ) aber ich habe auch kein Flussmittel auf dieser Platine verwendet, da ich vermutete, dass die Flussmittelrückstände auch einige Probleme machen ...

Update: Das Problem ist seit geraumer Zeit behoben und ich kann sagen, dass die Hauptursache Flussmittelrückstände waren. Die Verwendung von qualitativ hochwertigem Flussmittel und die ordnungsgemäße Reinigung der Platine vor dem ersten Einschalten löst das Problem vollständig. ich benutze flüssige reiniger und eine heißluftpistole mit minimaler temperatur (150 'c) und maximalem luftdruck durch die schmale spitze, um die flüssigkeit vom chip weg und zwischen den stiften zu "heißen", nachdem sie die flussmittelrückstände aufgelöst hat. Obwohl die Verwendung von Flüssigkeit auf "gebackenen" Chips nicht die beste Idee ist, scheint das Problem vorerst gelöst zu sein. Wenn Sie in der gleichen Situation sind, hoffe ich, dass dieser Thread Ihnen genug hilft ... danke von allen. Ich weiß die Zeit zu schätzen, die du investiert hast :)

Mikołaj Tutak traf diesen am Kopf. Nur ein paar Anmerkungen.

Der erforderliche ESR wird von nahezu jeder Obergrenze erfüllt. Werfen Sie ein paar billige 10-uF- oder 4,7-uF-Elektrolyte parallel auf den Ausgang, und es wird Ihnen gut gehen. Das Datenblatt fordert nur 2,2 uF, aber mehr schadet nicht.

Ich habe genau diese MCU (und die K6 und CC für diese Angelegenheit) in mindestens 4 verschiedenen Designs verwendet. Noch nie frittiert. Ich habe billige MLCC-Kappen für den Bypass verwendet, aber an meinem Eingang hatte ich feste AL-Kappen von 10 uf bis 22 uF; außer in einem Fall hatte ich 10 uF Tantal anstelle von AL. Alle diese Designs waren einschichtig auf einer Grundebene. Kein Regler an Bord.

Bei all meinen Tests war meine Stromversorgung identisch, 13,8 V (von einem Radio-PS) -> ein 12-V-zu-5-V-Umschalter (Eingeweide eines billigen USB-Power-Dongles, nicht weniger aus einem Dollar-Laden) -> 3,3-V-PS mit einem LM1084 . Etwa 120 uF insgesamt am Ausgang. Günstige 47uF x 2 und 10uF x 2.