Forum: Mikrocontroller und Digitale Elektronik Controller defekt?


von Bene (Gast)


Lesenswert?

Hallo,
habe mit Hilfe des AVR-Tuts auf dieser Seite angefangen mich in die
Welt der Mikrocontroller einzuarbeiten. Bin bis zu dem Punkt gekommen,
wo die Lock Bits und Fuses eingestellt werden. Bis hier hin hat auch
alles wunderbar funtkioniert. Habe in die Kästchen dann mit yaap
Häckchen gemacht, da wo welche hin kommen sollen. Dann habe ich
gespeichert und seit dem kann ich nicht mehr auf den Controller
zugreifen. Es folgt immer die Fehlermeldung: Device missing or unknown
device (-24). Ich habe dann mal den Atmega8 gegen einen neuen getauscht
und siehe da es funktioniert wieder. Nur was habe ich falsch gemacht?
Ich habe alles laut dem Tutorial richtig gemacht... und trotzdem ist
der Controller jetzt defekt? Habe natürlich jetzt etwas Sorge die Lock
Bites und Fuses wieder einzustellen, da dann mein zweiter und letzter
Controller auch kaputt gehen würde. Also wie gehe ich jetzt am besten
vor?

von Jadeclaw D. (jadeclaw)


Lesenswert?

Der ist nicht kaputt. Zwei Möglichkeiten:
Erstens, du hast die Taktoptionen umgestellt und dabei eine Einstellung
gewählt, die nicht zum angeschlossenen Quarz passt.
In dem Falle einen Takt zwischen 1 und 8 MHz an XTAL1 anlegen und die
entsprechenden Fuses zurückstellen.
Oder zweitens, du hast dir den Reset-Pin wegprogrammiert. Ich bin mit
Yaap nicht direkt vertraut, da ich mit Ponyprog arbeite, aber es
empfiehlt es sich dringenst bei solcher Programmiersoftware, vor dem
Ändern der Fuses ERST die Fuses einzulesen, da man sich sonst den
Reset-Pin mit der RSTDISBL-Fuse abhängt. Einen so nicht mehr
ansprechbaren Controller bekommt man nur mit einem
HV-Parallel-Programmierer wieder auf. Das STK500 ist ein solcher
HV-Parallel-Programmer, im Netz gibt es auch ein Paar
Nachbauanleitungen dafür.

Gruss
Jadeclaw.

von Bene (Gast)


Lesenswert?

Ich möchte ja einen angeschlossenen 4 MHz-Quarzoszillator einbeziehen.
Pin 8 (Out) liegt an XTAL1 an. Ich kann trotzdem nicht auf den
Controller zugreifen. Es ist halt nur komisch, weil ich die Häckchen
genauso gesetzt habe wie im Tut. Ich habe einen selbstgebauten
stk200/300 kompatiblem ISP-Programmer. Ist dies ein solcher
HV-Parallel-Programmer? Ich bin mir sicher kein Häckchen bei RSTDISBL
gemacht zu haben! Was mach ich denn jetzt am besten?

von Michael U. (Gast)


Lesenswert?

Hallo,

nein, das STK200-Dongle ist kein HV-Parallel-Programmer.

Zu den Fuses wurde ja oben schon alles wichtige geschrieben.
Wie Du die Fuse gesetzt hast, weiß ich ja nicht, man kann also nur
raten...

Ganz allgemein: ich kenne nur 3 Gründe, die Fuses zu ändern
- man hat soviel zusammenprogrammiert, daß die internen 1MHz wirklich
zu Timingproblemen führen.

- man braucht eine genauere Taktfrequenz, als sie der interne
Oszillator hergibt. Eine Uhr als Programmierübung ist dabei für mich
kein Grund, weil es erstmal darauf ankommt, eine Softwareuhr in Gang zu
bekommen...

- man benötigt eine konkrete Frequenz für eine Aufgabe, UART z.B.
Zum Testen geht der UART aber durchaus auch mit den internen 1MHz, die
Baudrate muß zum Test durchaus nicht 115200 sein, da reichen auch 1200
oder 2400 Baud. Dabei ist die Toleranz durchaus noch ausreichend.

Ich habe kein Problem damit, wenn jemand einen kleinen AVR falsch
fused, die Dinger sind billig und leicht beschaffbar, ich verstehe nur
meist nicht, weshalb überhaupt die Fuses geändert werden und weshalb
dann nicht erstmal die Doku zur konkreten CPU im Bereich Clock
durchgearbeitet wird und die nötige Stellung der Fuses erarbeitet wird.
Dann kann man mit Vorgaben aus Tutorial vergleichen und wenn man zum
selben Ergebnis kommt - ok.
Wenn nicht - nochmal oder eben hier nachfragen.

Ich habe schon genug Fehler oder Ungereimtheiten in Tutorials und
Testbordbeschreibungen gesehen, als daß ich mich auf die Vollkommenheit
der Autoren verlassen würde. ;-)

Gruß aus Berlin
Michael

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.