Forum: Mikrocontroller und Digitale Elektronik ATTiny: SCK gegen GND geshorted, Merkwürdige Waveform


von Peter K. (mazdermind)


Angehängte Dateien:

Lesenswert?

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

von holger (Gast)


Lesenswert?

>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.

von Peter K. (mazdermind)


Lesenswert?

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

von Jobst M. (jobstens-de)


Lesenswert?

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

von H.Joachim S. (crazyhorse)


Lesenswert?

Das ist ja grauenhaftes denglisch :-)

von Jobst M. (jobstens-de)


Lesenswert?

H.Joachim Seifert schrieb:
> Das ist ja grauenhaftes denglisch :-)

Eben drum ...

von Max D. (max_d)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

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.

von Peter K. (mazdermind)


Lesenswert?

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

von Peter Körner (Gast)


Lesenswert?

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