Forum: Mikrocontroller und Digitale Elektronik CKOPT gesetzt und nun keine Kommunikation mehr


von Michael P. (micha_infineon)


Lesenswert?

Hallo,

habe einen Atmega8 und habe an diesen zwecks genauerer Zeiten einen 
externen 12 MHz Quarz gehangen. Nun wollte ich diesen auch benutzen. Auf 
einer Internetseite stand, dass man zum aktivieren des externen Quarzes 
in Ponyprog das Fusebit CKOPT setzen muss.

Habe ich getan, habe ich beschrieben, habe ich bereut.

Seit dieser Aktion habe ich keinen Zugriff auf den Atmel mehr. Ist ja 
jetzt kein größeres Problem kommt normalerweise der nächste rein, aber 
ständig Atmels wechseln wegen falscher Einstellungen bringts auf Dauer 
auch nicht.

1. Kann man den noch retten?
2. Wie wird das denn richtig gemacht? Ist ja vom Datenblatt bis zum Chip 
alles total in sich invertiert, das macht mich irgendwie unsicher.

Danke!

von Rolf Magnus (Gast)


Lesenswert?

> Auf einer Internetseite stand, dass man zum aktivieren des externen
> Quarzes in Ponyprog das Fusebit CKOPT setzen muss.

Ob man sie setzen muß, hängt vom Quarz und von anderen Gegebenheiten ab. 
Wenn sie gesetzt ist, ist man aber auf der sicheren Seite.

> Habe ich getan, habe ich beschrieben, habe ich bereut.

Worauf hast du die anderen Fuses eingestellt?

> 1. Kann man den noch retten?

Ja.

> 2. Wie wird das denn richtig gemacht?

Kommt darauf an, wie er jetzt eingestellt ist. Je nach Oszillator-Option 
kann man den entsprechenden Oszillator oder Quarz anschließen.
Falls das nichts hilft, geht nur noch der HV-Parallel-Programmiermodus, 
aber da brauchst du halt ein Programmiergerät, das den kann.

> Ist ja vom Datenblatt bis zum Chip alles total in sich invertiert, das
> macht mich irgendwie unsicher.

Du mußt nur daran denken, daß eine gesetzte Fuse den Wert 0 hat. Gehe 
einfach die Liste im Datenblatt durch und ermittle für jede Fuse, ob sie 
gesetzt sein muß oder nicht. Dann schreibst du es als Dualzahl 
invertiert auf und machst eine Hexzahl draus. Das machst du für alle 
Fuse-Bytes, und die kannst du dann z.B. mit avrdude brennen.

von Timo W. (twischer)


Lesenswert?

Hast du das jetzt schon mla ausprobiert mit dem AVR retten weil ich 
gerne meinen ATMEGA8515 retten würde.
Wenn ja wie hast du es gemacht

MFg

TWISCHER

von Michael U. (Gast)


Lesenswert?

Hallo,

ich gebe gern zu, daß Ponyprog da eine Falle ist, der einzige Hinweis 
auf die Interpretation ist noch dazu geghostet und damit kaum lesbar...

Für Ponyprog grundsätzlich:
Haken gesetzt -> 0
Haken weg -> 1

Merkt man sich eigentlich nach dem ersten Fehler. ;)

Für externen Quarz CKSEL3...0 auf 1, also Pony-Haken WEG.
Ansonsten setze ich noch SUT0 auf 0, also Haken rein, ist die längste 
Verzögerung bei PowerOn, schadet erstmal nicht.
CKOPT setze ich zwar auch bei hohen Quarzfrequenzen, das vergesse ich 
allerdings öfter mal, bisher liefen alle Mega8, Mega16, Mega32, Mega162, 
Mega8515 auch ohne CKOPT bis 16MHz stabil bei mir, auch auf Steckboards 
im Drahtverhau. Möglich, daß ich "gute" Quarze erwischt habe, Quarz-Cs 
sind bei mir immer 22p.

Zu Deinem AVR: Du hast vermutlich CKSEL3...0 auf 0 gesetzt, also bei 
Pony alle Haken gesetzt.
Das ist externer Takt...
Nimm Dir einen AVR, schreibe eine Super-Endlos-Schleife, die ein Portpin 
ständig zwischen 0 und 1 umschaltet.
Diesen Takt hängst Du an XTAL1 deines "toten" AVR, dann hat er einen 
Takt und Du kannst die Fuses richtig setzen.

Quarz usw. kannst Du dazu normalerweise auch einfach dranlassen.

Gruß aus Berlin
Michael

von Timo W. (twischer)


Lesenswert?

Danke für die schnelle Antwort ich werde mich mal versuchen.

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.