Hi guys & girls, ich hab in meinem kleinen Board einen Taster zw. SCL und GND hängen (s. schematic im Anhang). Nun ist's mir passiert, dass ich beim ISP-Programmieren den Taster geschlossen hatte. Dabei ist irgendwas mit dem Chip passiert. Um auszuschließen, dass was anderes in der Schaltung broken ist, hab ich einen frischen ATTiny eingesetzt und der lies sich a) sauber programmieren und hat b) gut funktioniert. Bis ich versucht habe den bei geschlossenem Taster zu programmieren. Er erfüllt noch immer seinen Dienst, lässt sich aber nicht mehr via ISP ansprechen. Mir geht's nicht um den Chip, der kostet ja nicht die Welt. Ich würd aber sehr gern verstehen was da los ist. Ich vermute, dass der Chip sich in einem Modus befindet, in dem er nach dem Startup keine ISP-Kommunikation mehr zulässt. Ich habe daher die SCL-Line mit dem Scope getestet (BAD.png). Man sieht eine Waveform, die ganz klar keine saubere SCL-Clock ist. die müsste wie in GOOD.png aussehen (auf einem anderen Board gemessen). Ohne den Chip im Sockel sieht das aus wie in NOIC.png. Ich kann mir wirklich nicht vorstellen, was ein short von SCK gegen GND sowas bewirken kann. Nach meinem Verständnis sollte in diesem Fall einfach nix oder zumindest nix sinnvolles passieren. Hat jemand ne Idee, was hier passiert sein könnte? Lg, Peter
>Mir geht's nicht um den Chip, der kostet ja nicht die Welt. Ich würd >aber sehr gern verstehen was da los ist. Wozu? Ich glaube nicht das sich hier jemand die Mühe macht zu ergründen wieso ISP nicht mehr funktioniert weil irgendein Depp während der Programmierung die SCL Leitung kurzschliesst. Ist eigentlich auch völlig uninteressant. Man tut es halt nicht. Schiess deinem Auto mal ne Kugel durch den Motorblock. Und dann versuche zu ergründen weshalb der nicht mehr fährt.
Hi Holger und danke für deinen freundlichen Beitrag. Wenn ich dich korrekt verstehe bist du der Meinung, dass das Low-Ziehen von SCL gegen GND die Programmier-Logik des AVR gegrillt hat. Ich hätte vermutet, dass sich der SCL-Pin während der Programmierphase wie ein Input verhält (Hochohmig ist). In diesem Fall hätte ich vielleicht meinen Programmier-Adapter grillen können, aber den Chip... Ist jedoch ein guter Gedanke, dass hier zu evtl. zu viel Current durch den SCL-Pin des Chips geflossen ist und ihn dabei mit hinüber genommen hat. Lg
Durch Deinen geshorteten Key kann eigentlich gar nicht zu viel current durch SCK vom Tiny geflowt sein, da SCL aus der direction vom Programmer kommt ... :-| Gruß Jobst
Wahrscheinlich wird der Taster geprellt haben und der Attiny zufällig einen "selbstmörderischen" ISP-Befehl ausgeführt haben. Ich würde versuchen den tiny in einen HV-Progger zu stecken und mal die fuses zu betrachten.
Durch den Taster könnte zufällig der Befehl "Disable Reset" oder "Enable Debugwire" gesendet worden sein. Dann geht ISP nicht mehr, sondern nur noch HV-Programmierung.
Hallo, Jobst M. schrieb: > H.Joachim Seifert schrieb: >> Das ist ja grauenhaftes denglisch :-) > > Eben drum ... Okay, okay; erwischt :) Das anschauen von zu vielen englischsprachigen Elektronik-Videoblogs hat meine Sprache etwas versaut und wenn ich elektronik denke, denke ich automatisch in englischen Begriffen. Ich gelobe Besserung. > Durch den Taster könnte zufällig der Befehl "Disable Reset" oder "Enable Debugwire" gesendet worden sein. > Wahrscheinlich wird der Taster geprellt haben und der Attiny zufällig einen "selbstmörderischen" ISP-Befehl ausgeführt haben. Das oder es gab einen fatalen Fehler durch das Überlasten des Treiberchips im Programmierer (der auch die Schaltung versorgt). Mit dem HV-Programmierer schaut's so aus, dass ich keinen haben und für den Preis eines AVRDragon bekomme ich fast 50 Ersatz-ATTiny, so dass es mir ökonomischer erscheint, das Problem als solches hinzunehmen und die Steine zunächst abzuschreiben. Danke euch für die möglichen Erklärungen. Lg, Peter
Ich habe meinen Fehler inzwischen gefunden und möchte diesen hier gerne dokumentieren, für den Fall, dass andere ein ähnliches Problem haben und via Suche auf diesen Thread stoßen. Ich habe fehlerhafterweise den SCK-Pin, der in meiner Schaltung auch zum anschließen eines Tasters verwendet wird, durch den Taster direkt nach GND geschaltet. Normalerweise stellt dies kein Problem da: Pin auf Input, Pullup an und alles funktioniert wie geplant. In meinem Fall wurde an anderer Stelle im Code das falsche Register beschrieben, so dass der Pin von Input auf Output umgeschaltet wurde. Wenn nun der Taster gedrückt wurde, wurde der Output direkt gegen GND geschaltet. Da der AVR nicht in der Lage ist genügen Strom fließen zu lassen, sinkt die Spannung am Pin unter den Schwellenwert und aus Software-Sicht funktiniert alles wie gewünscht, das PIN-Register ließt 0 für das entsprechende Bit- Auf Hardware-Seite sieht das anders aus. Der übermäßig hohe Strom (ich habe 50 mA gemessen!) zerstört die ein/ausgangs FETs des AVR und damit auch die fähigkeit, programmiert zu werden, obwohl die Pin-Funktionen an sich noch partitiell gangbar waren. Merke*: niemals, niemals einen Pin direkt gg. GND shorten, auch wenn deiser als Input verwendet wird. Sonst kann durch eine kleine unachtsamkeit im Code der AVR irreparabel beschädigt werden. Lg, Peter *) dieser Merksatz gilt vor allem für mich selbst ;)
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.