Forum: Mikrocontroller und Digitale Elektronik mikrocontroller kaputt


von otto blume (Gast)


Lesenswert?

hallo
ich habe mit meinen mikrocontroller eine analog auslesung gemacht.
nach 3 maligem beschreiben nach kleinen änderungen im programm konnte 
ich nichts mehr auf den controller überspielen.
wie kann ich den controller noch retten? oder ist er ttsaal kaputt ?

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

ohne weiter Angaben ist keine Aussage möglich

von Peter D. (peda)


Lesenswert?

Mal raten:

Ist es ein AVR, dann könnten die Fuses verstellt sein.
Das passiert aber eigentlich nur mit alten LPT- oder COM-Programmern 
ohne eigenen Controller.


Peter

von otto blume (Gast)


Lesenswert?

ja sorry
is ein atmega 16  von atmel

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

mehr Infos magst du nicht verraten? Dann kann dir auch keiner helfen ...

von Chris (Gast)


Lesenswert?

Pin 42 sowie Codezeile 42
stimmen nicht mehr.

von Andreas M. (elektronenbremser)


Lesenswert?

Fuse Bit 42 deaktiviert?

von Mandrake (Gast)


Lesenswert?

Das Problem hatte ich auch, die Lösung war ganz einfach.

von Testfall (Gast)


Lesenswert?

Bevor jemand anderes schnelles ist:
Deine Shift-Taste scheint defekt zu sein.

von Chris (Gast)


Lesenswert?

Testfall schrieb:
> Deine Shift-Taste scheint defekt zu sein.

Wie aber hat er dann das ? geschrieben?
Aber ich denke die Antwort ist 42

von Testfall (Gast)


Lesenswert?

vermutlich per Alt+Nummer

von Manuel Vollquarz (Gast)


Lesenswert?

Könnte aber auch 43 sein!

siehe: http://www.stupidedia.org/stupi/42

von Defusor (Gast)


Lesenswert?

Hallo,

Peter Dannegger schrieb:
> Mal raten:
>
>
>
> Ist es ein AVR, dann könnten die Fuses verstellt sein.
>
> Das passiert aber eigentlich nur mit alten LPT- oder COM-Programmern
>
> ohne eigenen Controller.
>

Da mir das auch schon mit 2 Mega8 passiert ist,
würde mich brennend interessieren, wie das funktioniert,
dass diese Billigst-"Programmer" die Fuses unbeabsichtigt ändern.

Gruss und Danke,

D.

von Michael U. (amiga)


Lesenswert?

Hallo,

würde mich auch brennend interessieren.
Ich habe von 2000 - 2008 NUR mit Ponyprog und STK200 Dongle 
programmiert, erst unter W98, dann unter W2000 und es hat sich NIE eine 
Fuse verstellt, wenn ich das nicht wollte.

Anwärter für mich sind:
- zu lange Kabel speziell zwischen Parallelport und ISP-Dongle.
- passive Adapter nur mit Widerständen.
- Software, die ungefragt auf den Parallelprot zugreifen kann

Letzteres so ab ca. 2008 nach irgendwelchen Windows-Updates so 
geschehen, allerdings wurde dann auch das Dongle oder der AVR nicht mehr 
zuverlässig und IMMER erkannt.
War letztlich der Grund, weshalb da jetzt ein Dragon oder ein STK500 
werkelt.

Gruß aus Berlin
Michael

von Defusor (Gast)


Lesenswert?

Hallo

Michael U. schrieb:
> Anwärter für mich sind:
>
> - zu lange Kabel speziell zwischen Parallelport und ISP-Dongle.
>
> - passive Adapter nur mit Widerständen.
>
> - Software, die ungefragt auf den Parallelprot zugreifen kann

klar, das sind alles Gründe, warum am uC nicht die gewünschte Bitfolge 
ankommt.

Aber eine Verstellen der Fuses per zufälligem Bit-Fehler?

Das kommt mir so vor wie die Affenhorde mit Schreibmaschinen,
die zufällig Goethes "Faust" tippt.

Gruss,

D.

von Peter D. (peda)


Lesenswert?

Defusor schrieb:
> Da mir das auch schon mit 2 Mega8 passiert ist,
> würde mich brennend interessieren, wie das funktioniert,
> dass diese Billigst-"Programmer" die Fuses unbeabsichtigt ändern.

COM und LPT sind nicht echtzeitfähig, sie werden über Treiber gepuffert.
Man kann zwar zu bestimmten Zeiten Daten in den Puffer reinschreiben, 
sie werden aber zu anderer Zeit wirklich auf dem Port gesendet, ganz je 
nach Interruptlast der CPU.

Aus:
- setze Pin
- warte 1ms
- lösche Pin
- warte 1ms
- setze Pin
kann werden:
- setze Pin
- warte 2ms (weil höher priorisierter 2ms Interrupt)
- lösche Pin
- setze Pin

Man kann also keine bestimmten Zeiten garantieren.
Und wenn das SPI-Timing nicht stimmt, kann der AVR verrückte Dinge 
machen.

Deshalb haben gute Programmer einen eigenen Controller. Dieser liest nur 
die Daten ein und macht dann das Timing komplett selber.


Peter

von Defusor (Gast)


Lesenswert?

Hallo Peter,

habe mir das SPI-Protokoll bislang noch nie genau angesehen.

Ist es eventuell dann so, dass der "Befehl" zum ändern einer Fuse
einem anderen im Protoll häufig vorkommenden "Befehl" ähnelt,
sich eventuell nur in einem Bit unterscheidet?

Dann würde mein obiges Argument mit den Affen und den Schreibmachinen
deutlich entschärft.

Danke für die erste Info und Gruss,

D.

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.