Hi. Ich wende mich mit diesem problem an euch, weiol ich nicht mehr weiter weis. Ich habe einen kleine Display-Controller programmiert. Ich lese Daten über i2C ein (software)und gebe diese über ein spi-soft-interface wieder aus. (ich habe nur die Software geschrieben) Das ganze setup lief über wochen auf meinem Steckbrett und auf einem Lochraster-sample über ca 2 monate fehlerfrei. Dann haben wir das Hardware-layout begonnen, und exact alles übernommen, allerdings SMD. Nun haben wir ständig ausfälle, bei denen die Software stehen bleibt, oder das ganze abstürzt sobald man den M32 über 35°C erwärmt!?!?!?!? Manchmal stürzt das ganze auch nach 5 sekunden ab und ich weiss nicht warum, wenn man den chip wechselt ist alles okay. Ausser dem internen RC oszillator kann ich mir nichts anderes als fehlerquelle vorstellen?? Die software ist nicht timing-kritisch...
Hi Basti, hast Du mal ein Schaltbild? CNVss, Hld, Rdy - alles richtig ? Gruss Udo
Basti wrote: > Nun haben wir ständig ausfälle, bei denen die Software stehen bleibt, > oder das ganze abstürzt sobald man den M32 über 35°C erwärmt!?!?!?!? > > Manchmal stürzt das ganze auch nach 5 sekunden ab und ich weiss nicht > warum, wenn man den chip wechselt ist alles okay. Kalte Lötstelle oder Haarriss in der Platine...
Hallo, welchen M32C meinst du ? Wir benutzen den M32C / 80er Group in extrem groesser Stueckzahl (>1M) und koennen diesen Fehler nicht bestaetigen. Ich vermute auch sehr stark eine Kalteloestelle und ein Haarriss!
Kalte lötstelle schließe ich aus, wenn ich den funktionierenden dann wieder gegen den vorherigen austausche, dann macht er den gleichen fehler, also er läuft ca 5 sekunden, dann bleibt er stehen...
Basti wrote: > Kalte lötstelle schließe ich aus, > > wenn ich den funktionierenden dann wieder gegen den vorherigen > austausche, dann macht er den gleichen fehler, also er läuft ca 5 > sekunden, dann bleibt er stehen... Dann benutz doch einfach den funktionierenden weiter... eventuell ist ja auch der M32 kaputt. Falls der funktionierende auch ausfällt > siehe kalte Lötstelle
Hast du schon angefangen zu messen oder bist du noch am Fehler wegdefinieren ;-) Ist die Stromaufnahme bei Breadboard und SMD Aufbau gleich? Ist der Atmega32 nach dem Ausfall (und abkühlen) wieder OK? Heizt der sich selbst auf (=> daher Strommessung oben), oder machst du das extern?
Basti wrote: > Kalte lötstelle schließe ich aus, > > wenn ich den funktionierenden dann wieder gegen den vorherigen > austausche, dann macht er den gleichen fehler, also er läuft ca 5 > sekunden, dann bleibt er stehen... Frage! Wie wechselst Du einen SMD Typ ständig hin und her????
welchen chip, den atnmega, oder einen enthaltenen spannungsregler, oder ... im betrieb wechseln!? passiert das selbe nochmal mit gewechseltem?? läuft er nach abkühlen wieder, wobei ich 35grad nicht als kritisch, bezeichnen würde!! das kann so viel sein. sind im layout kondensatoren zur blockung enthalten. liegen timing kritische pfade nebeneinander!? benutzt ihr vielleicht ein anderes netzteil!? andere welligkeit - kann zur störung führen!? habt ihr vielleicht lange busleitungen die einstreuen angebracht!? andere steckverbinder? andere umgebung, vielleicht im wohnzimmer direkt neben dem geöffneten pc!? habt ihr vielleicht einen anderen typen verwendet!? naja, ich denke, bis man den intwernen rc oszillator, in verdacht nimmt, sollte man vielleicht mal die restwelligkeit auf der versorgungsspannung messen, wäre doch ein guten anfang.... d.
Die ganze Hardware (Layout) habe ich om prinzip nur noch als fertiges produkt gesehen, nachdem ich das Sample abgeschickt hatte... Es ist ein 220NF am 7805 und je einer am Mega32 und Mega8. Der Mega8 Läuft im übrigen störungsfrei... Wir haben zum Testen einen 100nf extra an jedes VCC/GND paar gelötet, aber das brachte keine veränderung. Als spannungsversorgung verwenden wir ein Labornetzteil. Das Oszi zeigt eine AAL-glatte eingangsspannung... Wie gesagt das timing ist so unkritisch, ich könnte den Mega32 auch mit 4 Mhz intern laufen lassen, nur dann braucht er mir so lange um zu rechnen... :-)) Wir haben hardwaremäßig alles ausgeschlossen, die Eingangswiderstände am i2c bus kleiner gemacht, es läuft immer darauf hinaus, das mit wechseln des IC alles I.O. ist. Aber ich halte 20% ausfallrate für nicht realistisch. Ja wir erwärmen ihn langsam in einer klimakammer. Wie gesagt ich habe keine endgültige hardware bei mir, ich kann auch nur ahnen. Es hätte ja sein können, dass jemand sagt: oh ja interner RC das ist sehr kritisch oder so...
>Es ist ein 220NF am 7805 und je einer am Mega32 und Mega8. Der Mega8 >Läuft im übrigen störungsfrei... Bei Laengsreglern kommt ein 100nf am Eingang UND Ausgang, weil die sonst anfangen zuschwingen.
Basti wrote: > Die ganze Hardware (Layout) habe ich om prinzip nur noch als fertiges > produkt gesehen, nachdem ich das Sample abgeschickt hatte... > Wir haben hardwaremäßig alles ausgeschlossen, die Eingangswiderstände am > i2c bus kleiner gemacht, es läuft immer darauf hinaus, das mit wechseln > des IC alles I.O. ist. Aber ich halte 20% ausfallrate für nicht > realistisch. Wer hat die Platine hergestellt ? Ihr selber ? > Kalte Lötstellen und Haarrisse... Herstellen lassen und selbst bestückt ? > Kalte Lötstellen IC-Pins mit Fettfingern angegrabbelt ? > kein Kontakt! keine Sorge, ist mir selber auch schon alles passiert. Passiert mir sogar jetzt noch als ich mein Telefon auf Dauertest wegen der Batterielänge testen wollte: ab 3.97V wird der Gabelschalter nicht mehr erkannt. Lösung: einfach mal den Fädeldraht etwas besser verzinnen > halbkalte Lötstelle viel Spass beim Suchen
So. Haben jetzt 100nf überall hingelötet, etc Die lösung ist vieieiel simpler: der inerne RC und die unwissenheit des Kunden. Der Kunde hat den I2C bus beschleunigt...(bzw benutzt ein anderes gerät als das mit dem alles getestet wurde...) damit läuft die software bei 8mhz interner rc an der grenze des machbaren, erwärmt man die CPU, verringert sich die PWM frequenz also auch die CPU frequenz. Die software kann die daten nicht mehr vom bus lesen.
Basti wrote: > Die lösung ist vieieiel simpler: > der inerne RC und die unwissenheit des Kunden. Der Kunde hat den I2C bus > beschleunigt...(bzw benutzt ein anderes gerät als das mit dem alles > getestet wurde...) > damit läuft die software bei 8mhz interner rc an der grenze des > machbaren, erwärmt man die CPU, verringert sich die PWM frequenz also > auch die CPU frequenz. Die software kann die daten nicht mehr vom bus > lesen. Derwegen sollst Du auch nie nicht den Internen OSC für timingkritische Sachen nehmen. Bau mal lieber einen Quarz dran... Grüße Björn
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.