Moin Moin, ich habe hier eine Platine (VoIP-Telefon), die macht Probleme bei der ESD-Prüfung nach IEC 61000-4-2, und zwar bei der indirekten Entladung. Das Telefon wird auf die horizontale Koppelplatte gestellt, 10cm vom Rand der Platte. Dann wird mit der ESD-Pistole am Rand der Koppelplatte mit 4KV entladen. Leider besteht der Prüfling nur bis 3KV. Bei 4KV geht die CPU (i.MX6ULL) durch den Reset. (Und nein, die Reset-Leitung ist es nicht). Das Problem besteht an 2 Seiten, nämlich den beiden, wo die CPU dem Rand der Platine am nächsten ist. Es ist ein 4-Lagen-Design. Da ich noch nie ein Problem mit indirekter Entladung bearbeiten musste: wie komme ich der Ursache auf die Spur? Irgend ein Erfolg versprechendes Vorgehen? Als erstes habe ich die Platine ausgebaut und flach (isoliert) auf die Koppelplatte gelegt, mit 2 cm Abstand zum Rand. Dann habe ich mit der ESD-Pistole auf den Rand der Koppelplatte geschossen und die Spannung jeweils bis zum Ausstieg erhöht. Das Ganze am Rand entlang, alle 2cm. Ergebnis: am empfindlichsten war es rund um CPU und RAM. Entspricht also im Wesentlichen den Ergebnissen aus 10cm Entfernung. Dann habe ich die Koppelplatte durch ein Stück Draht ersetzt und bin einmal horizontal und einmal vertikal über die Platine gegangen. Die Ergebnisse waren ein bisschen uneinheitlich. Dann habe ich aus dem Draht eine Schleife mit 15mm Länge gemacht und bin jetzt dabei, über die ganze Platine zu gehen. Jetzt hat sich das Bild umgedreht: die CPU ist recht resistent, weiter entfernt liegende Leiterbahnen werden als empfindlich markiert. Das weckt in mir Zweifel, ob die Ergebnisse Wert haben. Ich habe auch schon mal ein Blech, was mit der Platinenmasse verbunden war, unter die Platine gelegt (also zwischen Koppelplatte und Platine), aber das war fast wirkungslos. Wie kann ich weiter vorgehen, um den Einkoppelmechanismus zu untersuchen bzw die schwachen Punkte zu finden? Oder ist dies aussichtslos? Bei einem 4-Lagen-Design (TOP, GND, VCC, BOTTOM): kann ich davon ausgehen, dass es vor allem die Leiterbahnen auf BOTTOM sind, die Probleme machen? Viele Fragen und viel zuwenig Antworten...
Hallo Wolfgang. Wolfgang M. schrieb: > Leider besteht der Prüfling nur bis 3KV. Bei 4KV geht die CPU (i.MX6ULL) > durch den Reset. (Und nein, die Reset-Leitung ist es nicht). Es gibt ja auch noch einen Power-On-Reset, und Du hast ja bestimmt irgendwo auch eine Stromversorgung. Beides müsstest Du Dir mal ansehen. Der Power-On-Reset könnte ausgelöst werden, oder Deine Stromversorgung könnte ins stolpern kommen und dann den Reset auslösen. > Das Telefon wird auf die horizontale Koppelplatte gestellt, 10cm vom > Rand der Platte. Dann wird mit der ESD-Pistole am Rand der Koppelplatte > mit 4KV entladen. Bei steilen Flanken kann irgendwas zum Schwingen angeregt werden, und Teilendladungen sind Knallfunkensender im Miniaturformat. Hier geht dann das ESD-Problem in ein EMV-Problem über. > Ich habe auch schon mal ein Blech, was mit der Platinenmasse verbunden > war, unter die Platine gelegt (also zwischen Koppelplatte und Platine), > aber das war fast wirkungslos. Auch dass könnte ein Indiz dafür sein, dass Du eher ein EMV als ein ESD-Problem hast. Mit freundlichem Gruß: Bernd Wiebus alias dl1eic http://www.l02.de
:
Bearbeitet durch User
Hat Deine CPU ein Register, in dem der Grund für den letzten Reset abrufbar ist? Das könnte einen groben Hinweis in die Richtung der Ursache geben (z.B. Hardfault wg. RAM-Fehler, Brownout, Watchdog, etc.).
Bernd, Gerd,
danke für Eure Beiträge!
Was den Reset angeht: die CPU hat einen Reset-Eingang, der über einen
internen PullUp verfügt, und den ich draußen am Pin durch 100nF nach
VCC-Fläche abgeblockt habe. Die Reset-Leitung ist recht kurz und geht an
einen Stift, wo normalerweise nichts dran ist. Die CPU hat einen
internen Power-On-Reset, den ich auch verwende.
Ich habe die 100nF mal durch einen Draht überbrückt, und es gab keine
Veränderung. Deswegen glaube ich nicht, dass es direkt in den
Reset-Eingang einkoppelt.
Nach einem Schuss gibt es folgende Reaktionen:
selten: die CPU bleibt stehen, nichts geht mehr.
selten: die CPU bleibt stehen, nach 20s kommt der Watchdog und resettet.
>90%: die CPU macht einen Reset. Danach steht im Reset-Register als Ursache "POR"
= Power-On-Reset. Das werde ich noch mal genauer untersuchen.
Die Stromversorgung ist 2fach: 3,3Volt gehen über die VCC-Fläche rein,
abgeblockt durch diverse 0201er 100nF Kos, und über 10uF. Die
Core-Spannung von 1,35Volt wird mit div. 100nF 0201 und 22uF gegen Masse
geklockt. Die Corespannung wird auf der CPU durch einen Linearregler
geschickt. Da hängen nochmal div 100nF 0201 und 22uF dran.
Hm. Könnte natürlich sein, dass die Linearregler in der CPU Mist bauen.
Werde ich nochmal untersuchen...
Ich denke auch, dass ich eher ein EMV- als ein ESD-Problem habe.
So, jetzt habe ich ihn... es war doch der Reset. Ich hatte die RESET-Leitung mit 100nF nach VCC abgeblockt, und die Störung kam über VCC rein, und über den Kondensator auf die RESET-Leitung. Jetzt habe ich den Kondensator nach Masse, und es ist Ruhe. Ich habe die indirekten Entladungen auf die Koppelplatten mit 8KV getestet (Anforderung ist 4KV), und alles ist OK.
Wolfgang M. schrieb: > So, > > jetzt habe ich ihn... es war doch der Reset. was das Resetten angeht ist die Ursache dann geklärt. Was mich aber wundert sind die Fälle: > selten: die CPU bleibt stehen, nichts geht mehr. > selten: die CPU bleibt stehen, nach 20s kommt der Watchdog und resettet. Wie kommt es dazu? Ist das jetzt wirklich schon gelöst? Denn ein egal wie kurzer Impuls auf der Reset-Leitung sollte eigentlich nie die CPU zum Stehenbleiben bringen. Kann es nicht vielleicht doch sein daß in diesen Fällen es zu einer kurzen Lücke in der Stromversorgung kam (negativer Impuls)? Das wäre einer der Klassiker wie man ne CPU zum Stehenbleiben bekommt. Der andere wären mehrere zu kurze Takte auf dem Takteingang. Letzteres fängt aber heute oft die integrierte PLL ab. Was ich schon erfolgreich bei empfindlichen ICs an der Spannungsversorgung gemacht habe, ist eine Ferritperle in Reihe zur Spannungsversorgung, die Abblock-Cs dahinter und dann an den Eingang des ICs. Die Ferritperle dämpft dann die allzu steilen Spannungsveränderungen. Die ganze Kombination aus Ferritperle und Cs natürlich möglichst nah um den IC gruppieren.
Gerd, Du hast natürlich recht, das Stehenbleiben der CPU ist damit nicht einfach so erklärlich. Allerdings muss ich sagen, dass ich mit dem Kondensator an der Reset-Leitung nach Masse keinen dieser Fälle mehr beobachtet habe. Also vermute ich doch, dass der Impuls in so einem Fall über Reset reinkommt, aber dann intern in der CPU andere Wege geht.
Wolfgang M. schrieb: ... > Ich hatte die RESET-Leitung mit 100nF nach VCC abgeblockt, und die > Störung kam über VCC rein, und über den Kondensator auf die > RESET-Leitung. > > Jetzt habe ich den Kondensator nach Masse, und es ist Ruhe. Ich habe die > indirekten Entladungen auf die Koppelplatten mit 8KV getestet > (Anforderung ist 4KV), und alles ist OK. Ohne die Schaltung und das Layout gesehen zu haben ist eine echte Diagnose nicht möglich, aber: Falls wirklich ein Impuls von der VCC über den Kappa den RESET auslöst, dann hast Du ein Problem auf der VCC. In dem Fall wohl einen Spannungseinbruch. POR-Flag ist ein weiterer Hinweis in diese Richtung. Das untermauert IMHO zusätzlich auch Dein letzter Post. Wir hatten mal einen solchen Problembären, bei dem nur eine Verbesserung des Lagenaufbaus, sprich mehr Versorgungslagen, genug Power in die CPU gebracht haben. Das war damals ein automotive Thema. Angefangen hatten wir mit 6 Lagen, am Ende waren es 12.
Wolfgang M. schrieb: > Leider besteht der Prüfling nur bis 3KV. Bei 4KV geht die CPU (i.MX6ULL) > durch den Reset. (Und nein, die Reset-Leitung ist es nicht). > Bei einem 4-Lagen-Design (TOP, GND, VCC, BOTTOM): kann ich davon > ausgehen, dass es vor allem die Leiterbahnen auf BOTTOM sind, die > Probleme machen? > > Viele Fragen und viel zuwenig Antworten... Ähem... Du hast einen imx6ull auf 4 Lagen geroutet? Speicerinterface ist korrekt, keine auch nur noch so geringen Impedanzprobeleme und das Timing ins RAM ist über alle Zweifel erhaben? Wenn das so ist - Respekt, Respekt.... MiWi
Gerd E. schrieb: > Was ich schon erfolgreich bei empfindlichen ICs an der > Spannungsversorgung gemacht habe, ist eine Ferritperle in Reihe zur > Spannungsversorgung, die Abblock-Cs dahinter und dann an den Eingang des > ICs. Die Ferritperle dämpft dann die allzu steilen > Spannungsveränderungen. Die ganze Kombination aus Ferritperle und Cs > natürlich möglichst nah um den IC gruppieren. Uh, da wäre ich vorsichtig. Je nachdem, welche Ferritperle du hast, kann das ein Schwingkreis werden. Bei Multilayer-Ferriten und Kerkos im 100nF-Bereich hast du dann bei gern um 1MHz (=ger die Schaltfrequenz des Schaltreglers) eine Güte von 10. Und bei 1MHz ist die Ferritperle noch schön induktiv. Plötzlich hast du 300mV Rippel auf VCC und wunderst dich. Ich empfehle dazu folgende Lektüre: http://www.analog.com/en/analog-dialogue/articles/ferrite-beads-demystified.html Nachdem es Simulationsmodelle für die Beads gibt, ist es auch nicht schwierig, das gleich richtig zu machen.
Was ich noch anfügen wollte: So wie das von Anfang an mitlese, taugt Dein Projekt nicht für ein bisserl Ferndiagnose im Forum. Bevor wir Dir jetzt aber lauter Tipps geben, die Du sowieso schon alle kennst - lass den Schaltplan und das Layout von einem bisher Unbeteiligten reviewen. Das kostet weniger als ein Labortag und bringt im Feld zufriedenere Kunden.
MiWi schrieb: > Ähem... Du hast einen imx6ull auf 4 Lagen geroutet? Ja. Das geht recht gut. Es ist ja nur EIN Speicherchip. Lagenaufbau mit 1,2mm Kern (das ist schlecht), 1 x Prepreg 2116 auf den Außenlagen, 0,1mm Leiterbahnen, 0,1mm Abstand. Den Lagenaufbau habe ich so gewählt, um impedanzkontrolliert routen zu können. Nachteil: die Prepregs reichen nicht für die 2KV Isolation für Ethernet, so dass ich in diesem Bereich der Platine eine andere Lagenzuordnung wählen musste. Ist natürlich viel Arbeit im Bereich Spannungsversorgung und DRAM-Layout, aber es geht. Die Fläche für VCC ist wohl etwas unglücklich verlaufen, das hat aber eher nichts mit dem Layout von DRAM und CPU zu tun.
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.