Forum: Mikrocontroller und Digitale Elektronik Atmega32 zerstört


von Holger (Gast)


Lesenswert?

Hallo,

ich habe hier einen Atmega32L. Davon habe ich diverse Eingänge heraus 
geführt und über eine Flachstecker auf eine zweite Platine mit 
Klemmleiste gebracht. Dort habe ich auf jeden Port neben einem 
10k-Pull-UP noch einen 100nF Kondensator nach GND gelegt.

Jetzt habe ich nachvollziehbar schon drei Atmega zerstört, wenn ich den 
ersten PIN (PA.0) nach GND ziehe. Dabei ist es offensichtlich egal, ob 
der uC bereits geflasht und initialisiert wurde oder total 
unprogrammiert ist. Von daher gehe ich mal von irgendeinem 
Hardwareeffekt aus. Komischer Weise trat dies bisher nur an genau dem 
Port auf: PA.1 - PA.5 und PC0. und PC.1 reagieren nicht so. Zufall?

Wenn der uC zerstöt ist, zieht er den maximalen Strom aus der Versorgung 
und agiert als 1a-Heizelement.

Ich weiß, ich hätte besser noch eine kleinen Widerstand in die 
Eingangleitung legen sollen, aber darauf hatte ich aus Platzgründen 
verzichtet.

Kann mir mal jemand sagen was hier passiert? Welcher Effekt passiert 
hier? Der C ist auf 5V geladen, durch die Masse die ich am Port anlege 
schließe ich den C doch nur kurz, dass dürfte den Port ja nicht 
beinflussen. Ich verschiebe kein Potenial. Die Entladung erfolgt über 
meinen Schalter. Löte ich den Kondensator aus, ist das Problem behoben.

Ich kann mir das momentan nicht erklären... Bitte nicht nur Ratschläge 
wie ich es hätte besser machen sollen, dass weiß ich (nun) selber (RC 
oder Zehner oder Supresser-Diode). Ich probiere zu verstehen WARUM der 
Atmega stirbt und wieso offenbar nur Port PA.0 betroffen ist....!?!?

Danke und Gruß
  Holger

von gordon51freeman (Gast)


Lesenswert?

Der von dir geschilderte Fehler kann nicht durch das von dir 
geschilderte Vorgehen hervorgerufen werden. Ein Schaltplan wäre ganz 
gut.

Gruss
Gordon

von Sauger (Gast)


Lesenswert?

Schaltplan, Bitte Bitte Bitte.

MfG

von Peter D. (peda)


Lesenswert?

Holger schrieb:
> Wenn der uC zerstöt ist, zieht er den maximalen Strom aus der Versorgung
> und agiert als 1a-Heizelement.

Man nimmt ja auch kein PC-Netzteil mit 100A zum Basteln.
Ein Labornetzteil auf 300mA Strombegrenzung gestellt und Dein MC 
überlebt selbst die gröbsten Fehler.

Und wenn das PC-Netzteil nicht richtig geerdet ist, fließen giftige 
Blindströme über dessen Entstörkondensatoren. Sowas mag ein MC auch 
nicht.

Eine andere Frage ist, ob GND auf der 2. Platine auch wirklich mit GND 
des MC verbunden ist.

Und daß alle (A)VCC, GND des MC angeschlossen sein müssen, ist ja auch 
klar.


Peter

von Holger (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Man nimmt ja auch kein PC-Netzteil mit 100A zum Basteln.
> Ein Labornetzteil auf 300mA Strombegrenzung gestellt und Dein MC
> überlebt selbst die gröbsten Fehler.

Wo habe ich was von einem PC-Netzteil mit 100A geschieben?

von Holger (Gast)


Angehängte Dateien:

Lesenswert?

Hier der Schaltplan... wenns hilft.
Sollte aber aus dem Text hervor gehen.

von Sauger (Gast)


Lesenswert?

Nabend,

was soll der Elko an Arev bezwecken ?

MfG

von Cyblord -. (cyblord)


Lesenswert?

Holger schrieb:
> Peter Dannegger schrieb:
>> Man nimmt ja auch kein PC-Netzteil mit 100A zum Basteln.
>> Ein Labornetzteil auf 300mA Strombegrenzung gestellt und Dein MC
>> überlebt selbst die gröbsten Fehler.
>
> Wo habe ich was von einem PC-Netzteil mit 100A geschieben?

Nirgends, aber du hast wohl ein Netzteil ohne Strombegrenzung benutzt. 
Und das macht man halt beim experimentieren mit einem Controller nicht. 
Moderne AVRs sterben nur noch sehr selten. Auch beim grober 
Fehlbehandlung. Wenn man eben den Strom begrenzt.

Meist ist das von dir beschriebene Verhalten eine Folge von Verpolung. 
Durch einfaches Pins hin und herziehen passier sowas nicht.

gruß cyblord

von Peter D. (peda)


Lesenswert?

Holger schrieb:
> Ich weiß, ich hätte besser noch eine kleinen Widerstand in die
> Eingangleitung legen sollen, aber darauf hatte ich aus Platzgründen
> verzichtet.

Ich nehme 10k Pullup und 10k in Reihe zum Pin.
Dafür spare ich mir den Kondi, da SW-Entprellung.

Und ne SMBJ5,0A an VCC als Schutz vor Überspannung.


Holger schrieb:
> Wo habe ich was von einem PC-Netzteil mit 100A geschieben?

Vieleicht nicht 100A, aber deutlich über 300mA werdens schon sein.


Peter

von Paul Baumann (Gast)


Lesenswert?

Läßt sich die Steckverbindung zwischen den Platinen vielleicht verkehrt
herum draufstecken? Ist ein Fehler im Programm, der die Anschlußpins als
Ausgang definiert?

MfG Paul

von Holger (Gast)


Lesenswert?

cyblord ---- schrieb:
> Nirgends, aber du hast wohl ein Netzteil ohne Strombegrenzung benutzt.
> Und das macht man halt beim experimentieren mit einem Controller nicht.

Das ganze soll ein Hausbus werden. Die Experimentierphase habe ich 
verlassen. Das Board ist fertig geroutet und die Platine ist bestückt. 
Ich hatte die letzten 6 Mnate immer um die 10 baugleichen Platinen im 
Testszenario halt mit Tastern an den Eingängen (zwar mit Pull-ups aber 
ohne C). Da gab es nie Probleme.
Die Klemmplatine soll eben nur die Installationsleitungen aufs Board 
bringen.

Die Spannungsversorgung ist auf dem Board. LM2574N-5 macht aus 24V 5 
Volt. Der begrenzt automatisch auf seine 500mA im Kurzschlussfall.

Trotzdem kann ich mit das Verhalten nicht erklären. Das dürfte 
eigentlich nicht sein!

von Holger (Gast)


Lesenswert?

Paul Baumann schrieb:
> Läßt sich die Steckverbindung zwischen den Platinen vielleicht verkehrt
> herum draufstecken?

Nein, ist ein 10-pol Wannenstecker. Werde die Kabel gleich nochmal 
messen/genau prüfen....

> Ist ein Fehler im Programm, der die Anschlußpins als
> Ausgang definiert?

Auch dann dürfte ich den nicht zerschießen können, wenn ich ich den als 
Ausgang geschalteten Portpin der auf High liegt mit Gewalt auf GND 
ziehe, oder?

von Bla (Gast)


Lesenswert?

Naja, wenn ein Kerko an einem Ausgang hängt, fließen halt ganz kurz mal 
ziemlich hohe Ströme beim Umschalten. Aber dass das den ganzen Käfer 
killt, kann ich mir nicht vorstellen.

von Holger (Gast)


Lesenswert?

Bla schrieb:
> Naja, wenn ein Kerko an einem Ausgang hängt, fließen halt ganz kurz mal
> ziemlich hohe Ströme beim Umschalten.

Irgendsowas habe ich mir auch gedacht, kann es mir aber nicht erklären. 
Ziehe ich den Eingang auf GND schließe ich den Kondensator faktisch 
kurz, der Strom müsste über meine Brücke fließen!?

Ich habe mittlerweile mal den LM2574 ausgelötet und speise jetzt die 
5Volt wieder mit einem Labornetzteil. Im Normalfall zieht das ganze 
Board 20-22 mA.

Reproduzierbar löst der 100nF an PA.0, wenn ich diesen auf GND ziehe 
irgendeinen Effket aus, dass der uC plötzlich intern (nicht über den 
Port A.0) hohen Strom zieht. Die anderen Ports sind nicht betroffen.

Das Labornetzteil habe ich auf 50mA begrenzt. Es wird der maximale Strom 
gezogen, der uC läuft aber weiter. Das Verhalten ist identisch, ob 
programmiert oder nicht. Erst wenn ich die Stromversorgung unterbreche 
normalisiert sich der Stromverbrauch.

Ohne den Kondensator ist das alles kein Problem.

von Bla (Gast)


Lesenswert?

Mein Gedankengang wäre jetzt: Halte mal Ausschau, ob sich irgendwo eine 
Induktivität "gebildet" hat (Leiterbahnen, Kabel). Vielleicht hast du ja 
ungewollt eine Art Trafo gebaut, der einen Teil der Energie des hohen 
Stroms, der beim Entladen entsteht, in den Chip reinschickt...

von Peter D. (peda)


Lesenswert?

Holger schrieb:
> Reproduzierbar löst der 100nF an PA.0, wenn ich diesen auf GND ziehe
> irgendeinen Effket aus, dass der uC plötzlich intern (nicht über den
> Port A.0) hohen Strom zieht.

Das muß irgendwie am Layout liegen.
Durch den Kurzschluß des Kondensators wird irgendein Pin des MC über VCC 
oder unter GND gezogen und der parasitäre Thyristor zündet.

Schalte mal 100R mit dem Taster in Reihe, dann sollte der hohe 
Impulsstrom nicht mehr fließen.

Kondensatoren an Tastern sind teuflisch.

In der alten Relaistechnik hatten die Entstörkondensatoren noch einen 
Widerstand in Reihe im Gehäuse. Die Leute waren eben nicht doof, die 
hatten sich schon was dabei gedacht. Nur heute denken viele, die alten 
Erfahrungen seien nicht mehr gültig.


Peter

von Peter D. (peda)


Lesenswert?

Holger schrieb:
> Die Spannungsversorgung ist auf dem Board. LM2574N-5 macht aus 24V 5
> Volt. Der begrenzt automatisch auf seine 500mA im Kurzschlussfall.

Das sollte der MC eigentlich noch abkönnen.
Ich hab mal nen MC verpolt mit nem 7805 versorgt, der kann ja kurzzeitig 
bis 1,6A, der hat es aber überlebt.

Allerdings sind Schaltregler etwas zickiger, es dauert länger, bis die 
Strombegrenzung einsetzt. Auch kann es Überschwinger geben.
Bei nem Schaltregler würde ich in jedem Fall ne Suppressordiode 
vorsehen, die 30 Cent sind gut investiert.


Peter

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

Hallo,
kann es sein, dass beim Hausbus noch externe Spannungen eine Rolle 
spielen?
Evtl. ja auch eine 2te Masse vom Bus oder passiert das unter 
Laborbedingungen sepparat?

von Holger (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Das muß irgendwie am Layout liegen.
> Durch den Kurzschluß des Kondensators wird irgendein Pin des MC über VCC
> oder unter GND gezogen und der parasitäre Thyristor zündet.

So was vermute ich auch. Aber am chip-Layout des atmegas. Ich hatte hier 
noch zwei verschiedene Typen. atmega32 und atmega32a. Beide zeigen das 
gleiche Verhalten, beim atmega32a ist der Strom aber niedriger. Auch 
hier nur wieder Port A.0 betroffen.
Einziger Unterschied zu den anderen Ports schein die Verwendung des Pins 
A.0 bei der Parallelprogrammierung zu sein. Vielleicht ht es damit was 
zu tun...

> Schalte mal 100R mit dem Taster in Reihe, dann sollte der hohe
> Impulsstrom nicht mehr fließen.

Das habe ich getestet. Geht! Auch habe ich mal anstatt der 100n einen 
10n eingelötet. Auch das schafft Abhilfe.

Trotzdem ist es irgendwie unbefriedigend... nun ja, ich werde wohl jetzt 
auf der Klemmplatine die 100nF gegen einen kleineren Wert tauschen. Wenn 
es dann weiterhin Probleme gibt, werde ich noch in die Massezuleitung 
bei den Einbautastern einen 100 Ohm Widerstand einbauen. Oder sollte ich 
den Kondensator gleich ganz weg lassen? Schließlich kommen nochmal je 
nach Einbauort 5-10m 2x 0,6mm hinzu, was ja auch noch eine gewisse 
Kapazität mitbringt.
Ärgerlich, aber ich habe schon über 30 von den Klemmplatinen fertigen 
lassen und 15 gelötet... wieder am falschen Ende gespart... man hat ja 
sonst nichts zu tun... :-(

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Holger schrieb:
> Aber am chip-Layout des atmegas.

Du kannst davon ausgehen, dass die Portpins eines Ports intern alle
das gleiche Layout haben, insbesondere die sogenannte Pad-Zelle ist
bei diesen gleich.  Allerdings könnte sich diese von den Pad-Zellen
anderer Ports unterscheiden, da Port A beim ATmega16/32 der ADC-
Port ist; dessen Zellen werden ja von AVCC versorgt.

Ich vermute, dass deine Verkabelung von AGND und AVCC das Problem
ist.  Möglicherweise erzeugst du irgendwo auf der Masseleitung
einen Spike, der zum Latch-Up führt.  Vielleicht solltest du uns
ja doch noch das Layout zeigen.

Der Außenbeschaltung nach hast du ohnehin nicht vor, den ADC zu
benutzen.  Dann schmeiß mal den blöden 10-Ω-Widerstand in AVCC raus
(da sollte eigentlich höchstens eine Drossel drin sein) und ersetz'
ihn durch eine Drahtbrücke.  Auch den 47-µF-Kondensator an AVCC finde
ich (insbesondere zusammen mit dem 10-Ω-Widerstand) deutlich zu viel
des Guten: er führt dazu, dass die Spannung an AVCC viel langsamer
ansteigt als an VCC und damit das Gebot, dass sich beide nicht
nennenswert unterscheiden dürfen, für einige 100 µs verletzt wird.

von Holger (Gast)


Angehängte Dateien:

Lesenswert?

Jörg Wunsch schrieb:
> Ich vermute, dass deine Verkabelung von AGND und AVCC das Problem
> ist.  Möglicherweise erzeugst du irgendwo auf der Masseleitung
> einen Spike, der zum Latch-Up führt.  Vielleicht solltest du uns
> ja doch noch das Layout zeigen.

Hm, ich habe AGND nicht extra geführt, ich habe nur eine Masse, weil 
wohl zu geizig für ein Multilayer-Board war und 2 Lagen für mich schon 
eng waren.

> Der Außenbeschaltung nach hast du ohnehin nicht vor, den ADC zu
> benutzen.  Dann schmeiß mal den blöden 10-Ω-Widerstand in AVCC raus
> (da sollte eigentlich höchstens eine Drossel drin sein) und ersetz'
> ihn durch eine Drahtbrücke.

Ich wollte eigentlich schon die A/Ds in PA.6 und PA.7 nutzen. Über den 
Spannungsteiler an PA.7 wollte ich die Hardwarerevision des Boards 
ermitteln können und PA.6 soll die Busspannung überwachen.

> Auch den 47-µF-Kondensator an AVCC finde
> ich (insbesondere zusammen mit dem 10-Ω-Widerstand) deutlich zu viel
> des Guten: er führt dazu, dass die Spannung an AVCC viel langsamer
> ansteigt als an VCC und damit das Gebot, dass sich beide nicht
> nennenswert unterscheiden dürfen, für einige 100 µs verletzt wird.

Hm, ich weiß gar nicht mehr woher ich mir das "geklaut" hatte. Ich 
glaube das stammt aus dem Elektor-Projekt "Hier kommt der Bus". Der 
Kondensator ist ein 4,7u, das Komma ist schlecht zu sehen... Im Anhang 
mal das Layout...

Grundsätzliche Änderungsvorschläge sind gut für mein Verständnis, bloß 
leider habe ich schon fast 30 Platinen für das ganze Haus hier liegen 
und fast alle fertig besütckt. So ein Tipp mit der Induktivität gegen 
Widerstand lässt sich aber ja leicht realisieren... Was schlägst Du denn 
da vor?

von Ben _. (burning_silicon)


Lesenswert?

Nimm doch mal den µC aus der Fassung, schalte das ganze Ding ein und leg 
dann PA0 mit einem Draht auf Masse. Wenn das einen Kurzschluß erzeugt 
(Strombegrenzung nutzen, sonst verdampft die Leiterbahn) mußt Du suchen 
wie dieser zustande kommt.

von Holger (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Dann schmeiß mal den blöden 10-Ω-Widerstand in AVCC raus
> (da sollte eigentlich höchstens eine Drossel drin sein) und ersetz'
> ihn durch eine Drahtbrücke.

Habe ich gerade getan, ohne Erfolg: Ich hatte noch ein 10uH Spule hier 
liegen, die habe ich zuerst getestet. Danach habe ich mal 0 Ohm 
probiert, der Effekt ist immer der selbe.

Holger

von Peter D. (peda)


Lesenswert?

Holger schrieb:
> Habe ich gerade getan, ohne Erfolg: Ich hatte noch ein 10uH Spule hier
> liegen, die habe ich zuerst getestet. Danach habe ich mal 0 Ohm
> probiert, der Effekt ist immer der selbe.

Das hat auch mit Deinem Problem garnichts zu tun.
Du hast irgendwie ne komische Masseführung und darüber kommen die 
Latchups.

Wenn Du z.B. den Taster direkt über die beiden Pins des 100nF legst, 
wird es auch funktionieren.

Nur mal zur Verdeutlichung, das Drücken ist ein echter Kurzschluß, d.h. 
da können schon einige µs lang 10..100A fließen!
Der Pfad, wo die lang fließen, ist daher das Problem.


Peter

von Uwe (Gast)


Lesenswert?

Vileicht hat ja Jemand demnächst mal erbarmen und testet es bei sich am 
Labornetzteil. Wenn dort der fehler auch auftritt braucht man nicht mehr 
weiter zu suchen sondern hat ein Problem im Silizium gefunden (z.B. 
zündender parasitärer Thyristor), das unter umständen auftreten kann. 
Alleine diese info wäre ja Gold wert für stabile Designs die den Pin PA0 
nutzen und dort eine kapazitive Last (wie auch immer geartet) treiben 
wollen.

von Peter D. (peda)


Lesenswert?

Stell Dir den 100nF mal als 100Ah Autobatterie vor und dann verfolge 
mal, welche Leiterzüge aufglühen würden, wenn Du den Taster drückst.


Peter

von Uwe (Gast)


Lesenswert?

Das mit dem Latchup klingt logisch, dann wäre die Erkenntnis, daß Pin 
PA0 empfindlicher gegen Latchups ist als andere Pins aber auch schön.

von oszi40 (Gast)


Lesenswert?

Meine Kristallkugel meint, daß eine Masseverbindung zu spääät 
angeschlossen wird und Deine anderen Pins vorher diese Masse 
"simulieren" müssen. Dabei entsteht dann meist Rauch.

von spess53 (Gast)


Lesenswert?

Hi

>Das mit dem Latchup klingt logisch, dann wäre die Erkenntnis, daß Pin
>PA0 empfindlicher gegen Latchups ist als andere Pins aber auch schön.

Versteife dich nicht auf einen Controllerfehler. Den ATMega32 gibt es 
seit 10 Jahren. Wenn dem so wäre hätten das andere schon lange vor dir 
bemerkt.

MfG Spess

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Holger schrieb:

> Grundsätzliche Änderungsvorschläge sind gut für mein Verständnis, bloß
> leider habe ich schon fast 30 Platinen für das ganze Haus hier liegen
> und fast alle fertig besütckt.

Deine Masseführung ist, ähem, sehr suboptimal.  Insbesondere der
AGND-Anschluss "rennt halb um den Block", bevor er endlich mal auf
Gleichgesinnte trifft.  Auf dem Weg zu diesen trifft er zuvor noch
den Masseanschluss des Steckers von Port A.  Auch der Abblockkonden-
sator von AVCC ist meilenweit vom Portpin entfernt.  Dann ist auch
noch der 4,7-µF-Elko vor dem 100-nF-Kerko gelegen, den Kerko hättest
du dir fast schenken können.  Solche Abblockkondensatoren gehören so
dicht wie möglich dran an die Pins.  Hier nochmal Lothar Miller als
Referenz:

http://www.lothar-miller.de/s9y/categories/14-Entkopplung

Du hättest dein Layout ruhig mal zur Kritik stellen dürfen (in der
Rubrik "Platinen" ist sowas durchaus üblich), bevor du davon 30
Stück fertigen lässt.  Jetzt ist das Kind schon mächtig weit ins
Wasser gefallen ... Ich würde es als erstes mal mit einer "strate-
gischen Brücke" probieren, die AGND quer über den Controller auf
die Masseflächen der anderen Seite legt, siehe türkisfarbener
Strich im Bild.  Für einen Keramikkondensator direkt zwischen den
Pins AVCC/AGND wird dir ja vermutlich der passende Lötkolben fehlen,
oder?  Ein 0603er Kondensator passt ja direkt auf die Pins drauf.

von Peter D. (peda)


Lesenswert?

Uwe schrieb:
> Vileicht hat ja Jemand demnächst mal erbarmen und testet es bei sich am
> Labornetzteil.

Wie soll man Deine Masseführung testen, die kennt keiner außer Dir.
Und wie gesagt, ich benutze SW, daher sind keine Kondis an meinen 
Tasten.


Uwe schrieb:
> Wenn dort der fehler auch auftritt braucht man nicht mehr
> weiter zu suchen sondern hat ein Problem im Silizium gefunden

Laut Datenblatt sind 40mA erlaubt.
Wenn der 100nF Kondensator sich mit 10..100A entlädt, ist das etwas 
darüber, auch wenn der Stromstoß nicht komplett in den MC fließt.

Atmel wird Dich auslachen, wenn Du behauptest, das wäre innerhalb der 
Spezifikation.


Peter

von Holger (Gast)


Angehängte Dateien:

Lesenswert?

Peter Dannegger schrieb:
> Wenn Du z.B. den Taster direkt über die beiden Pins des 100nF legst,
> wird es auch funktionieren.
>
> Nur mal zur Verdeutlichung, das Drücken ist ein echter Kurzschluß, d.h.
> da können schon einige µs lang 10..100A fließen!
> Der Pfad, wo die lang fließen, ist daher das Problem.

Das war wohl der entscheidene Hinweis. Das Problem liegt wohl auf der 
Klemmplatine. Die Anordnung der der oberen drei Kondensatoren scheint 
das Problem:
Ich habe testweise die Kondensatoren von PA.1 und PA.2 entfernt und es 
läuft.
Alternativ habe ich eine zusätzliche Masse direkt vom Stecker K2 (dort 
kommt die GND aufs Board) per Silberdraht zu den Kondensatoren gelegt 
und es läuft.
Es liegt wohl tatsächlich an dem hohen Entladungsstrom von C1 der der ja 
die Widerstände und Elkos der Ports PA.1 bis PA.3 umfließt, irgendwas 
induziert und damit den Latchup des uC auf der anderen Paltine auslöst.
Dafür spricht auch das ich den Latchup nicht mit einer losen 
R/C-Kombination auslösen konnte. Die Ehre von ATMEL scheint also 
gerettet... ;-)

Somit sollte ohne dass ich alle Klemmplatinen entsorgen muss die sichere 
(Behelfs-)Lösung lauten:
Entstörkondensator verkleinern (10 statt 100nF) und den Entladungsstrom 
zu reduzieren, Masse per Schatdraht nachverdrahten um den 
Entladungsstrom über eine ordenliche Massefläche zu führen und ggf. noch 
einen 100 Ohm in Leitung beim Taster um den Entladestrom nochmals zu 
reduzieren.

Bei einem Redesign der Klemmplatine werde ich dann wohl die 
Kondensatoren anders anordnen und ordenlich durchkontaktierungen der 
MAssefläche schaffen.

Ihr habt mir sehr geholfen, danke!

   Holger

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter Dannegger schrieb:

> Wie soll man Deine Masseführung testen, die kennt keiner außer Dir.

Hat er oben ja gepostet.  Aber die willst du nicht nachbauen, Peter.
;-)

Uwe schrieb:
> Das mit dem Latchup klingt logisch, dann wäre die Erkenntnis, daß Pin
> PA0 empfindlicher gegen Latchups ist als andere Pins aber auch schön.

Das kannst du als Idee vergessen.  Wie ich schon oben schrieb: keiner
wird die Pad-Zelle von PA0 anders bauen als die von PA1 ... PA7.
(Die Pad-Zellen von SCL und SDA könnten sich noch von den übrigen
unterscheiden, wegen der OC-Funktion am I²C, aber die kann man auch
komplett in vorgelagerter Logik abbilden, wie man das letztlich beim
Software-I²C auch macht.)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Holger schrieb:
> Ihr habt mir sehr geholfen, danke!

Lass das nächste Mal einen Design-Review hier machen. ;-)

Fertigst du die Platinen selbst, oder warum bist du so geizig mit
GND-Vias?

Ich gebe ja zu, dass ich den Autorouter auch schon vergleichbare
Designs verbrechen lassen habe, wenn's mal schnell gehen muss und
nicht drauf ankam.  Aber für 30 Stück würde ich die Führung von Masse
und Versorgung sowie deren Abblockung sorgfältig mit der Hand routen,
bevor ich dann den Autorouter anschmeiße, um die Datenleitungen
routen zu lassen.

von Holger (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Du hättest dein Layout ruhig mal zur Kritik stellen dürfen (in der
> Rubrik "Platinen" ist sowas durchaus üblich), bevor du davon 30
> Stück fertigen lässt.  Jetzt ist das Kind schon mächtig weit ins
> Wasser gefallen ...

Und hinterher ist man immer schlauer. JA du hast recht, man muss sich 
erstmal eine blutige Nase holen. In Zukuft werde ich das sicherlich tun.

> Ich würde es als erstes mal mit einer "strate-
> gischen Brücke" probieren, die AGND quer über den Controller auf
> die Masseflächen der anderen Seite legt, siehe türkisfarbener
> Strich im Bild.

Danke für deine Bemühungen. Auch dieser Hinweis alleine behebt schon da 
Problem. Ich sehe schon es ist eine Verkettung von Designfehlern, die 
den Kollaps ausgelöst haben.

> Für einen Keramikkondensator direkt zwischen den
> Pins AVCC/AGND wird dir ja vermutlich der passende Lötkolben fehlen,
> oder?  Ein 0603er Kondensator passt ja direkt auf die Pins drauf.

Nö, habe eine billige Rework-Station, das bekäme ich noch hin. Bißchen 
SMD-Paste und pusten... ;-)

Nochmals Danke...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Holger schrieb:
>> Ich würde es als erstes mal mit einer "strate-
>> gischen Brücke" probieren, die AGND quer über den Controller auf
>> die Masseflächen der anderen Seite legt, siehe türkisfarbener
>> Strich im Bild.
>
> Danke für deine Bemühungen. Auch dieser Hinweis alleine behebt schon da
> Problem.

Gut zu wissen, dass ich zumindest "den richtigen Riecher" hatte. ;-)

> Nö, habe eine billige Rework-Station, das bekäme ich noch hin. Bißchen
> SMD-Paste und pusten... ;-)

Dann würde ich an deiner Stelle jedem GND/VCC-Paar einen solchen
Kondensator spendieren (die anderen kann man stattdessen weglassen).
Es ist nicht ausgeschlossen, dass du sonst noch "anderweitige
Überraschungen" erlebst, und sei's beim nächsten Gewitter.

von Hubert G. (hubertg)


Lesenswert?

>> Das mit dem Latchup klingt logisch, dann wäre die Erkenntnis, daß Pin
>> PA0 empfindlicher gegen Latchups ist als andere Pins aber auch schön.
Das mit dem Latchup würde ich nicht so beiseite schieben.
Das Problem mit der Taste am Reset eines Mega8A hatte ich auch schon.
Reset-Pin 10k nach VCC und 100n nach GND, Resettaste nach GND.
Nach drücken des Resettaster zog der µC ca.200mA, der µC lief weiter. 
Nach abschalten der Spannung war wieder alles Normal.
Mit dem weglassen der 100n oder mit 100 Ohm in der Tastenleitung war der 
Fehler nicht mehr reproduzierbar.
Also im Prinzip kein Problem, wenn man Atmel zu einer Applicationnote in 
dieser Sache veranlassen könnte. Meine Bemühungen diesbezüglich waren 
vergebens.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Hubert G. schrieb:
> Das mit dem Latchup würde ich nicht so beiseite schieben.

Natürlich ist es ein Latchup, aber der wird nicht durch den IC
selbst verursacht, sondern durch die suboptimale Masseführung im
Zusammenhang mit den Stromspitzen, die beim Entladen des externen
Cs entstehen.

Dafür braucht man keine Applicationnote.  Dass eine saubere
(niederimpedante) Masseführung sowie niederimpedante Abblockung
der Betriebsspannung bei CMOS-ICs elementar sind, gehört zum
Grundwissen eines Schaltungstechnikers.  Dass CMOS-Pins prinzipiell
in einen Latchup geraten können, wenn man an dieser Stelle nicht
sauber arbeitet, ist prinzipbedingt.  Der von Peter genannte
parasitäre Thyristor ist eine bauartbedingte Erscheinung eines
jeden CMOS-Eingangs.

von Hubert G. (hubertg)


Lesenswert?

Die Sache ist halt nur, ich kann hier nur vom Mega8 sprechen, das dieser 
Effekt erst beim Mega8A und bei den Mega8 der letzten Serie auftritt.
Wenn man einen Kontroller tauscht, kann es da zu bösen Überraschungen 
führen.

von Peter D. (peda)


Lesenswert?

Hubert G. schrieb:
> Nach drücken des Resettaster zog der µC ca.200mA, der µC lief weiter.

Das liegt daran, daß der Taster nicht direkt parallel an den Anschlüssen 
des Kondensators lag, sondern irgendwo weiter entfernt seinen GND hatte.

Wenn man mit hohen Strömen arbeitet, sollte man mit dem Auge verfolgen, 
wo dieser Strom entlang fließt, ob da nicht andere Bauteile was davon 
abbekommen.
Jeder Leiterzug hat einen Widerstand und eine Induktivität.

Die 100R sind eine saubere Lösung.
Den 100nF weglassen würde ich auf keinen Fall, der Resetanschluß 
reagiert auf sehr kurze Flanken.


Peter

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter Dannegger schrieb:
> Den 100nF weglassen würde ich auf keinen Fall, der Resetanschluß
> reagiert auf sehr kurze Flanken.

Naja, die alte Appnote empfiehlt 10 nF, die genügen auch.  Wer am
/RESET Antennen anschließt, hat sowieso verloren. ;-)

von Hubert G. (hubertg)


Lesenswert?

Ich habe gerade gesehen das Atmel doch reagiert hat.
In der neueren Atmel AVR042: AVR Hardware Design Considerations  von 
03/11 sind in Figure 3-2 330 Ohm in Serie zur Resettaste vorgesehen.
In der Note von 06/10 ist dieser Widerstand noch nicht vorhanden.

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
Noch kein Account? Hier anmelden.