Hallo miteinander, ich baue ein Netzteil in meiner Promotionsarbeit, welches von einem MCU digital geregelt wird. Zu Testzwecken betreibe ich den MCU von einer Batterie aus, ohne Selbstversorgung. GND-MCU=GND-PWR und über einen 0 Ohm Widerstand auf gleichem Potential. Legt man nun 230V AC an, gibt es den Inrush. Und dann resetet sich der MCU.D Der MCU ist der MKE14F256 [2]. Das Layout ist 4 lagig, eine Plane GND, die andere 3.3V, die restlichen Signale. PWR und Control sind sauber voneinander getrennt, aber nicht isoliert, wie oben schon geschrieben. Die 3.3V kommen aus einem LDO, dem NCP700B [1]. (Cin=44u, Cout=10u.) Hier wurde extra ein RF-LDO, damit der ja ein sauberes VCC bekommt. Der LDO bekommt 3.6V von einem Weitbereichs-Buck. Jetzt habe ich mit dem Segger-JLink nachgeschaut, der MCU geht in einen HardFault. Der Watchdog beist dann, und reset. Der Hardfault-Tracker sagt, dass es einen BusError (bin ich mir nicht mehr ganz sicher) gibt. Quizfragen: 1. Ideen, woran es liegt? 2. Meine Vermutung geht Richtung supply voltage. Der Hardfault tritt nur beim Inrush auf. [1] https://www.onsemi.com/pub/Collateral/NCP700B-D.PDF [2] http://www.mouser.com/ds/2/302/KE1xFP100M168SF0-1126269.pdf Danke für Eure Hilfe! Michael
Mir ist nicht ganz klar, warum im Moment des Einschaltens der MC schon läuft. Denn eigentlich willst du doch das Netzteil mit dem MCU steuern und gleichzeitig mit dem Netz einschalten, oder? In diesem Fall sorgt eine anständige Resetbeschaltung für einen Power-On Reset. Als nächstes kannst du auch probieren, den Inrush zu bändigen, was man im Falle entsprechender Leistung auch mit einer schlauen PFC Schaltung hinkriegen kann. Da du keinerlei Schaltunterlagen lieferst, tappen wir natürlich im Dunkeln, vor allem, weil alle Glaskugeln schon an den W-Bäumen hängen und derzeit nicht zugänglich sind.
:
Bearbeitet durch User
Michael H. schrieb: > Das Layout ist 4 lagig, eine Plane GND, die andere 3.3V Eine Plane ist ungünstig, wenn man Digital und Leistung auf einer Platine hat. Ich mache dann split Planes (DGND, PGND), d.h. getrennt für Digital und Leistung, die nur an einer Stelle mit einem Net-Tie verbunden sind. Somit können Transienten nicht über den Digitalteil fließen. Eine Plane ist ja kein Supraleiter, sondern hat einen ohmschen Widerstand und eine Induktivität. Und alle IOs zum Leistungsteil haben Serienwiderstände oder Optokoppler.
Matthias S. schrieb: > Mir ist nicht ganz klar, warum im Moment des Einschaltens der MC > schon > läuft. Denn eigentlich willst du doch das Netzteil mit dem MCU steuern > und gleichzeitig mit dem Netz einschalten, oder? In diesem Fall sorgt > eine anständige Resetbeschaltung für einen Power-On Reset. Ja richtig, normalerweise versorgt sich der Konverter selbst, bzw. über eine Startup-Schaltung. Zum Testen nehme ich aber als isolierte Spannungsversorgung 12V aus NiMH Akkus. Normalerweise macht das nix, richtig, aber ich möchte einfach das das Netzteil robust ist, um auch gegen Störungen (Transienten) imun zu sein. > Als nächstes kannst du auch probieren, den Inrush zu bändigen, was man > im Falle entsprechender Leistung auch mit einer schlauen PFC Schaltung > hinkriegen kann. Der Inrush ist schon gut und garnicht so "pervers", da es nur 10uF sind. (Ja, und das reicht!) Zudem sind 1mH Boost-Inductor davor, der das ganze abfedern sollte? Kann ein Boost-Inductor etwa probleme machen? Peter D. schrieb: > Ich mache dann split Planes (DGND, PGND), d.h. getrennt für Digital und > Leistung, die nur an einer Stelle mit einem Net-Tie verbunden sind. Genau, das habe ich auch gemacht. Der Net-Tie ist ein 0 Ohm Widerstand Siehe: Michael H. schrieb: > PWR und Control sind sauber voneinander getrennt, aber nicht > isoliert, wie oben schon geschrieben. Die Frage ist vielmehr: Wieso reseted sich ein MCU, der laut Datenblatt Robust ist? Was bringt einen MCU zu einem Hardfault? Eigentlich dürfte der MCU das Einschalten garnicht sehen, da er von Akkus versorgt wird und nur die GND über ein 0 Ohm Widerstand teilt...
Michael H. schrieb: > Was bringt einen MCU zu einem Hardfault? Läßt sich denn nicht der Grund für den Hardfault ermitteln? Wenn es eine Resetquelle ist, sollte doch das entsprechende Bit gesetzt sein. Ein Watchdogreset klingt sehr nach einem Programmfehler. Ich würde in der Entwicklungsphase den Watchdog immer abgeschaltet lassen.
Peter D. schrieb: > Läßt sich denn nicht der Grund für den Hardfault ermitteln? Für den Cortex-M HardFault haben wir eine App Note. Vielleicht hilft die dem TO weiter: https://www.segger.com/downloads/application-notes/AN00016 https://www.segger.com/downloads/application-notes/HardFaultHandler
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.