NXP LPC 4330 Mikrocontroller startet sehr heiß und startet manchmal nicht

BEARBEITEN 3 Die richtige Lösung wird unten gezeigt, in der Antwort von TurboJ wurde genau dieses Problem in der LPC4300-Errata ES_LPC43x0 erwähnt:

Geben Sie hier die Bildbeschreibung ein

EDIT: Nein, sorry Fehlalarm. Das neue Board fing an, dasselbe zu tun :(

EDIT 2: Ich fange an, mich zu fragen, ob schlechtes Layout schuld ist. Die +3V3-Schiene wird angezeigt. Da das Board zweilagig ist, musste ich auf die traditionelle Stromversorgungsebene verzichten und die Stromversorgung erfolgt über eine einzelne 6-mil-Leiterbahn. Mir ist aufgefallen, dass das Problem auf einer Platine ohne bestückte Entkopplungskondensatoren nie auftrat, sondern auftrat, als ich die 0,1-uF-Kondensatoren hinzufügte.

Ich habe ein Board mit einem LPC NXP 4330 (ARM Cortex M4 / M0 Dual Core) Mikrocontroller im TBGA-100-Formfaktor. Die Stromversorgungssituation ist kompliziert, da ich Sensoren habe, die eine präzise 4-V-Stromversorgung erfordern. Daher muss die Hauptversorgung ein LDO-Abfall über 4 V sein, sodass sie auf folgende Weise mit Strom versorgt wird:

3,7 V Lipoly oder USB (gesteuert über MAX1555 Batterieladegerät) -> 4,5 V Step Up/Down Switcher (TPS63061 integrierter Switcher) -> 3,3 V Low-Drop-Out linear (LP38691) -> LPC 4330

Mir ist aufgefallen, dass das Mikro beim Start eine Sekunde lang sehr heiß (zu heiß zum Anfassen) wird, bevor es sich auf eine vernünftigere Temperatur einpendelt. Wenn dies der Fall ist, kann ich problemlos über JTAG kommunizieren und meine Anwendung ausführen. Es startet immer so, wenn es an ein 4,5-V-Banknetzteil angeschlossen ist (unter vollständiger Umgehung des Schaltreglers). Der Stoßstrom ist sehr hoch, bis zu ein paar hundert mA, wie die Temperaturspitze bestätigt.

Beim Anschluss an den Switcher (zum Glück auf einer anderen Platine, also einfach zu umgehen) startet er manchmal nicht. Ich nehme an, dass dies daran liegt, dass der Umschalter durch den Stoßstrom abgeschaltet wird, weil er in einen Überstrommodus wechselt. Wenn ich den Umschalter von der Last trenne, zuerst den Akku einstecke und ihn dann wieder an die Last anschließe, wird das Mikro (wie üblich) heiß und funktioniert dann.

Ist dies normales Verhalten für den LPC 4330? Es scheint ziemlich ungewöhnlich zu sein, dass ein Mikrocontroller mehrere hundert mA zum Starten benötigt (wohin fließt dieser ganze Strom?). Gibt es eine Möglichkeit, diesen anfänglichen Stromeinbruch zu verhindern, wenn der gesamte Stromkreis angeschlossen ist?

Ich habe einen Schaltplan beigefügt, ich muss am Montag Tests zum Hochfahren der Lieferungen durchführen.

Schaltplan (Hauptmikroplatine)Hauptplatine des Mikrocontrollers

Schaltplan (Leistungsplatine)Strom- und USB-Anschlussplatine

Layout mit +3V3-SchieneLayout mit +3V3-Schiene

Ein Schaltplan und ein Scope-Trace der 3,3-V-Leitung beim Start wären hilfreich.
Ich hasse diese Art von Schaltplänen. Sie müssen das gesamte Diagramm durchsuchen, um herauszufinden, womit ein Netz verbunden ist.
Es ist schwer zu lesen, es sei denn, Sie haben die Software, da Sie dann einfach show <NET> in die Eingabeaufforderung eingeben können. Es dient hauptsächlich dazu, innerhalb der Freeware Eagle-Beschränkungen zu bleiben (1 schematische Seite)
Was passiert, wenn Sie den Prozessor zurückgesetzt halten, während Sie ihn einschalten?
Wenn ich anstelle des Widerstands bei !RESET einen Draht auf Masse löte, passiert nichts. Er wird nicht heiß, aber der Prozessor kommt auch nicht aus dem Reset. Ich habe keinen Reset-Schalter, daher gibt es keine Möglichkeit, !RESET nach dem Einschalten physisch zu bestätigen.
Gut, dass du es geklärt hast. Anstatt die Frage zu bearbeiten, ist es am besten, die Lösung als Antwort zu posten, und Sie können sie als akzeptiert markieren, damit es nicht so aussieht, als würde sie noch auf eine Lösung warten.
Leider war es nicht die Lösung, passiert immer noch auf dem neuen Board. Startprobleme sind wirklich schwer zu diagnostizieren...
Wenn das Zurücksetzen der CPU die Stromspitze verhindert, wäre ich weniger misstrauisch gegenüber Latchups und misstrauischer gegenüber IO-Treiberkriegen. Oder falsche Support-Komponenten installiert; Ich habe so etwas einmal gesehen, als in der Nähe eines Ethernet-Transformators um Größenordnungen falsche Bias-Widerstände installiert wurden. Können Sie beispielsweise versuchen, die Firmware so zu ändern, dass sie sofort anhält, und dann den Halt nach jeder Peripheriekonfiguration verschieben, bis Sie herausfinden, wo die Stromspitze herkommt?
Ich habe das versucht, aber es scheint, als würde es passieren, wenn die !RESET-Leitung überhaupt hochgezogen wird. Außerdem bleibt das Problem nicht bestehen, wenn der Code ausgeführt wird, er wird heiß und kühlt dann auf eine angemessene Temperatur ab.

Antworten (2)

Eine mögliche Latch-up-Quelle ist USB_VBUS. Das Datenblatt des LPC43xx lässt zu, dass VBUS nur 5 V beträgt, wenn VCC vorhanden ist - in Ihrem Fall dauert dies jedoch etwas Zeit, bis die Regler gestartet werden. Erwägen Sie, einen Widerstand in diesem Pfad hinzuzufügen.

Ein weiteres Problem ist der ON-Schalter des FPGAs 3V3 LDO. Es wird standardmäßig aktiviert , da die GPIO-Pins "schwach hoch" sind, wenn sie nicht konfiguriert sind. Der resultierende Spannungspegel ist hoch genug, um den Regler einzuschalten. Der SNSPin muss VOUT, falls vorhanden, mit verbunden werden. Sie sollten die Zeichnung ändern, falls dies nicht der Fall ist.

Ich habe versucht, es nur mit dem Akku zu testen (überhaupt kein USB angeschlossen) und es wird immer noch einrasten / heiß werden, aber es hört sich so an, als wäre dies ein potenzielles Problem. Mir ist aufgefallen, dass viele Designs einen LM3526-H (USB-Netzschalter) verwenden, aber es scheint unnötig kompliziert zu sein, da ich nichts Besonderes mit dem USB machen muss (z. B. kein OTG). Würde das Hinzufügen eines Widerstands zu VBUS einfach den Strom begrenzen oder die Anstiegszeit erhöhen?
Außerdem gibt es keinen SNS-Pin auf dem Paket des LDO, den ich verwende, seltsamerweise gibt es einen N / C-Pin, an dem der SNS auf anderen Paketen vorhanden ist. Ich habe das SNS im schematischen Symbol gelassen, weil die alternativen Pakete es haben, aber ich denke, ich könnte es in SNS/NC umbenennen. Es sollte in Ordnung sein, dass der FPGA-LDO gestartet wird, der nur vorhanden ist, um dem Mikro die Flexibilität zu geben, das FPGA bei Bedarf herunterzufahren, um Strom zu sparen.
Entschuldigung, dass ich einen alten Thread wieder zum Leben erwecke, aber das war es wirklich! Ich habe dies in die akzeptierte Antwort geändert.

NXP 4330 gemäß IEC 60134 darf der absolute Maximalstrom 100 mA nicht überschreiten. Das Gerät ist für 80 mA bei 200 MHz bei 3,3 V ausgelegt. Es hört sich so an, als würde es viel mehr als das zerstreuen, also würde ich vermuten

Wenn die Stromversorgung eine langsame Startrampe hat, kann die interne Instabilität Schwankungen der maximalen Frequenz verursachen, sodass ein Zurücksetzen beim Einschalten hilfreich sein kann. Wenn der Chip beginnt, zwischen 2 und 3 V zu schwingen, und Schnittstellenspannungen diesen Wert überschreiten, können Latchup-Fehler auftreten, bei denen die Kurzschlussströme 150 mA pro Port überschreiten können. Überprüfen Sie daher Ihre Einschaltsequenz-Rampen auf einem Oszilloskop mit Strom-Shunt. Überprüfen Sie, ob der Widerstand Ihres Schnittstellenschalters niedrig genug ist, um schnell zu schalten.

Ich frage mich, ob das Layout etwas damit zu tun hat, da ich ein 2-Lagen-Design verwenden musste (obwohl die Masseebene größtenteils intakt ist, gibt es keine Stromversorgungsebene, nur Leiterbahnen, die Strom liefern). Wenn jedoch ein langsames Hochfahren ein Problem darstellt, verschlimmert mehr Kapazität (in Form einer Leistungsebene) das Problem nicht tatsächlich? Würde das Hinzufügen eines Kondensators zum !RESET-Signal (wodurch der Start der Programmausführung verzögert wird) hilfreich sein?
Wenn Ihr Strom in ein paar US umschaltet, kein Problem. Wenn es in 100 ms schaltet, großes Problem. Selbst mit 100 uF an Bord schaltet sich ein 0,05-Ohm-Schalter in 5 us ein. Überprüfen Sie Ihre Anstiegszeit und Spannung und verdächtigen Sie Ihren Schalter. !RESET ist konstruktionsbedingt immer größer als die Rampenspannung im ungünstigsten Fall. Also ja.