Atmega8 verfused

Gast #1810626
Lesenswert?

Hallo,

hab anscheinend meinen Atmega8 verfused. Wollte ihn wieder auf den 
internen Oszillator umstellen und hab deshalb wie im Datenblatt 
beschrieben CKSEL0=0, CKSEL1=0, CKSEL2=0 und CKSEL3=1 gesetzt und jetzt 
ist er tot. Was hab ich falsch gemacht und was kann ich tun damit er 
wieder funktionert? Da ich mir jetzt nicht sicher bin was ich überhaupt 
nun eingestellt habe weiss ich auch nicht mit welchem Takt ich ihn 
füttern könnte.
Hat jemand eine Idee?

LG ATtiny
#1810669
Lesenswert?

Hi

Ich hatte zum Glück dran gedacht, einen Screenshot von den Standardfuses 
auszudrucken bevor ich den verstellt hab.

Hab den Zettel mal rausgekramt:
- CKSEL3 = 0
- CKSEL2 = 0
- CKSEL1 = 0
- CKSEL0 = 1

Du hast es im Prinzip ja schon richtig, nur eben Rückwärts...

Ich schätze mal, dass der Atmega noch am Quarz hängt und trotzdem nichts 
macht -> er erwartet einen Taktgeber an XTAL1

Den kannst du leicht selbst erzeugen:
- 2. Atmega nehmen und in der Endlosschleife einen Pin aus- und 
anschalten (ohne Pausen)
- über die serielle Schnittstelle ewig viele "U"s ausgeben. (z.B. eine 
"U"-Datei mit HyperTerm)

Dann die Taktquelle (bei der RS232 unbedingt MAX232 dazwischen 
schalten!) einfach an XTAL1 hängen und freuen.
So hab ich vor ein paar Tagen meinen Atmega32 wiederbelebt, geht 
erstaunlich einfach/gut!

MfG
-schumi-

PS: Ist übrigens mein erster Beitrag hier :-)

[EDIT]Hui, ich war in der Hoffnung dass ich der 1. bin der antwortet^^
@Jochen:
Bist du dir das sicher? Das sind ja schließlich die aktuellen 
Einstellungen (und es funktioniert nicht)
Achja, und: in PonyProg ist 0 ein Haken und eine 1 KEIN Haken, wollte 
ich nur mal drauf hinweisen
Gast #1810684
Lesenswert?

@Simon:
Bei PonyProg bin ich mir sicher. Dort ist alles was Fuses betrifft 
negiert.
Haken gesetzt = nicht programmiert, Haken nicht gesetzt = programmiert.
Deine gepostete Einstellung ist der int. Oszillator = Grundeinstellung 
Auslieferung.

Jochen
#1810688
Lesenswert?

Wobei das bei Ponyprog ja dabeisteht (unter den Fuses):
"Checked items means programmed (bit=0)" und "UnChecked items means 
unprogrammed (bit=1)"

>>Deine gepostete Einstellung ist der int. Oszillator = Grundeinstellung
Auslieferung.<<
Das wollte er doch?? Gleich der 2. Satz

Grüße
Simon
Gast #1810698
Lesenswert?

So, ich hab mal einen ATtiny45 genommen und diesen in BASCOM so 
programmiert, dass PB3 ständig ein und aus geschaltet wird. PB3 hab ich 
dann an XTAL1 vom ATmega8 gehängt. Leider kann ich aber immer noch nicht 
auf den ATmega8 zugreifen. Wo man in PonyProg eine ISP-Frequenz 
einstellen kann, ist mir rätselhaft.
Was könnte ich noch tun? Quarzoszillatoren hab ich gerade keine 
passenden da, für den MAX232 mangelt's leider an 1µF Kondensatoren.

Danke schonmal!

LG ATtiny
#1810702
Lesenswert?

Gut, dann gibts jetzt so ziemlich genau 2 Möglichkeiten die mir 
einfallen an denen es liegen könnte:

1. Er braucht einen Quarz
2. Der ATiny ist zu langsahm, die ISP-Frequenz darf höchstens 
0.25*Taktfrequenz sein

Hier
http://www.roboternetz.de/phpBB2/viewtopic.php?p=476536#476536&sid=36d10bc6a8c11f4cb6739653a04fbbc5
gibts Anleitung für Fuseretter.
Hab vergessen: Du kannst auch einen Vorwiderstand anstatt des MAX nehmen 
(Ich such hier verzweifelt den Smiley mit dem Heiligenschein^^)

MfG
Simon
Gast #1811426
Lesenswert?

So, ich habe dann doch noch einen 8MHz Quarzoszillator gefunden, doch 
leider hat auch der nichts geholfen. So wie meine Fuses jetzt 
eingestellt sind erwartet der ATmega doch einen External RC Oszillator 
oder?
(Firma: Nisch-Aufzüge) Persönliche Seite #1811486
Lesenswert?

> Ne555

Das geht auch nur musst du auf den Ausgangspegel achten 5V USS
und as tastverhältnis sollte so um die 20-80% liegen als keine 
Nadelimpulse oder Dreieck

ich hbe sogar schon mal die 32 Khz der ladungspumpe eines max232 
verwendet ;-)

als programmieradapter den STK 200 und als programm ein tool in dem mann 
die geschwindigkeit anpassen konnte, ich suchs mal raus und schick es 
dir
Gast #1811501
Lesenswert?

Habe die Tage auch mal leichtsinnig meinen AT-MEGA 168 verfused.

Und zwar waren in einem Bascom File  die Fusebits für einen atmega 256 
angegeben mit externem Quarz. Ich änderte nur die .def Datei, und schon 
wars passierd, der AT-MEGA168 war auf externen Quarz umgestellt.
Ich wollte aber weiterhin den internen RC Oszillator benutzen, so haben 
ich aus einer Schrott Platine irgend einen 4 MHZ Quarz ausgelötet und 
mit festem Druck an die beiden XTAL Pins gehalten. Dann konnte ich die 
Fusebits wieder lesen und ändern.....schwitz.
Gast #1811550
Lesenswert?

Na endlich! Mit atmelprog hab ich wieder Zugriff mit ponyprog noch 
nicht. Der ATtiny45 liefert dem ATmega nun ein 125KHz Taktsignal.
Immerhin ein kleiner Erfolg, nur verstehe ich nicht wie ich bei 
atmelprog die Fusebits einstellen muss. Kann mir das jemand erklären?

Vielen Dank!
(Firma: Nisch-Aufzüge) Persönliche Seite #1811604
Lesenswert?

oops

ist halt nen sehr altes programm

hier ein zitat aus dem Helpfile

die bits werden mit hilfe spezieller zweibyte befehle gesetzt und 
gelöscht
umgekehrte logik beachten!

Fuse Bits

Two bytes of command/data can be typed in to set or clear fuse and lock 
bits.
Only commands for serial downloading are allowed.

An exampe for setting/clearing the FSRT bit of the AT90S2323:

Program FSRT:
Byte1: AC
Byte2: BE (program FSRT=clear bit)

Check FSRT bit:
Byte1: 58
Byte2: 00 (read lock and fuse bits)
in: 00DE (bit FSRT is cleared).

Unprogram FSRT:
Byte1: AC
Byte2: BF (unprogram FSRT=set bit)

Check FSRT bit:
Byte1: 58
Byte2: 00 (read lock and fuse bits)
in: 00DF (bit FSRT is set).


You can find all commands for serial downloading in the AVR datasheet.

byte 1 == AC  schreibt
byte 1 == 58 liest

das byte2 sagt welches bit behandelt werden soll

du musst als ins datenblat des verbruzelten chips schauen

good luck

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren