Auf einer Platine (100 mm x 60 mm) sind zwei Controller verbaut. Einer von ihnen - ein ATTiny - stürzte regelmäßig ab, wenn der 2. Controller einen bestimmten Ausgang von High auf Low setzte. Dieser Ausgang geht über eine ziemlich lange Leiterbahn (ca. 1/2 um Leiterplatte) an den Eingang eines nicht mehr bestückten Bausteins. Sie hängt also in der Luft. Das Problem wurde einfach dadurch gelöst, dass die entsprechende Programmzeile, die den Ausgang schaltet, herausgenommen wurde. Was mich jetzt interessiert: warum stürzt der ATTiny ab, wenn die Leiterbahn doch nur in der" Luft" hängt?
Hallo Hans, wenn wir Dir helfen sollen musst Du schon ein bisschen von Deinem Programm posten. Z.B. auch die auskommentierte Zeile. Gruß Florian
Wie sieht denn der Schaltplan aus - insbesondere die Reset Beschaltung?
Hans schrieb: > Einer von ihnen - ein ATTiny - stürzte regelmäßig ab Wie äußert sich das? Macht er einen Reset, macht er falsche Dinge? Was passiert beim kritischen Programmschritt auf der Versorgungsspannung? Hast du in deiner Schaltung Abblockkondensatoren an den Prozessoren?
Hans schrieb: > Das Problem ... Warum sollte ein nicht angeschlossener Ausgeng ein Problem darstellen? > ... wurde einfach dadurch gelöst, dass die entsprechende > Programmzeile, die den Ausgang schaltet, herausgenommen wurde. Warum? Wenn ein Ausgang nichts schaltet, darf er doch ruhig angesteuert werden.
Vielen Dank für eure Antworten. Das Problem ist im Prinzip gelöst. Mich erstaunt nur, dass eine offene Leitung diesen Effekt verursachen kann. Meine Frage ist also eher allgemeiner Natur. Hier ein paar Fakten: - Der ATTiny" steht" unmittelbar nach dem Schalten des Ausgangs. - Alle Ausgänge sind zurückgesetzt (mit dem Oszi gemessen). - Eine Debugfunktion, die regelmäßig Infos (Position, wo das Programm sich gerade befindet) über einen Pin schickt, meldet sich nicht mehr. - Der BOD des Controllers ist eingeschaltet. - VCC am Controller sieht auf dem Oszilloskope "normal" aus. - Ein Kondensator ist vorhanden (kurzer Weg, der ATTiny hat VCC, GND an einer Seite).
Hans schrieb: > Einer > von ihnen - ein ATTiny - stürzte regelmäßig ab, wenn der 2. Controller > einen bestimmten Ausgang von High auf Low setzte. Dann sollte man als erstes den Resetgrund ermitteln (MCUSR – MCU Status Register). Und dann schauen, ob man Eingänge floaten läßt. Und drauf achten, daß unbenutzte Pins nicht ausgewertet werden (kein Einlesen oder Interrupt). Peter
Hans schrieb: > - Alle Ausgänge sind zurückgesetzt (mit dem Oszi gemessen). D.h. sie sind hochohmige Eingänge (= Resetzustand). Oder ist das Init schon durchgelaufen? Dann hängt Dein Programmm irgendwo (= Softwarefehler). Peter
> Dann sollte man als erstes den Resetgrund ermitteln (MCUSR – MCU Status > Register). Werde ich auf jeden Fall heute noch machen. > Und dann schauen, ob man Eingänge floaten läßt. Die Eingänge floaten nicht, das habe ich geprüft. > Und drauf achten, daß unbenutzte Pins nicht ausgewertet werden (kein > Einlesen oder Interrupt). Kannst du dies näher erläutern?
Hans schrieb: > Hier ein paar Fakten: > > - Der ATTiny" steht" unmittelbar nach dem Schalten des Ausgangs. > - Alle Ausgänge sind zurückgesetzt (mit dem Oszi gemessen). > ... Höhrt sich eher so an, als ob der Ausgang nicht in der Luft hängt, sondern tatsächlich mit dem Reseteingang des ATtiny verbunden ist.
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.