Forum: Mikrocontroller und Digitale Elektronik Atmega8 verfused


von ATtiny (Gast)


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

von ATtiny (Gast)


Lesenswert?

Nochetwas: Wie sind denn die Fuses optimal eingestellt bzw. wie ist der 
Auslieferungszustand?

von oldmax (Gast)


Lesenswert?

Hi
Schau doch mal auf der linken Seite, wo du auch die Forenthemen siehst, 
gibts irgewndwo den Punkt Home Darunter findest du AVR und Tutorials
oder du gibst es direkt ein :
http://www.mikrocontroller.net/articles/AVR_Fuses
Datenblatt sagt auch dazu ein paar Worte.
Gruß oldmax

von Jochen (Gast)


Lesenswert?

Hallo,

falls Du die Fuses mit PonyProg geschriben hast, ist CKSEL0,1,2 
programmiert und CKSEL3 nicht.

Jochen

von Simon S. (-schumi-)


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

von Jochen (Gast)


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

von Simon S. (-schumi-)


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

von ATtiny (Gast)


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

von Simon S. (-schumi-)


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

von ATtiny (Gast)


Lesenswert?

Und wie groß sollte der Vorwierstand etwa dimensioniert sein?

von Jochen (Gast)


Lesenswert?

Wenn nur CKSEL3, wie im Eingangspost geschrieben, gesetzt ist erwartet 
der ATMEGA einen ext. RC - Oszillator.

Jochen

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

Dann kanst du an 30 bis 250 Khz Ttakt an XTAL1 anlegen und must den ISP 
extrem langsam Stellen.
Wenn der Chip erkannt wird kansst du die Fuses neu einstellen.
Achtung: negative logik beachten programmed == 0 , unprogrammed == 1

von Dieter M. (Gast)


Lesenswert?

Weil's gerade in einem anderen Thread gerade besprochen wird:
Einfach den hier nachbauen...
http://diy.elektroda.eu/atmega-fusebit-doctor-hvpp/#eng
Englische Version ist etwa in der Mitte der Seite.

von Lehrmann M. (ubimbo)


Lesenswert?

Ich würde lieber 10 Cent mehr investieren und mir einen PIC kaufen. Dem 
fehlen solche Kinderkrankheiten ...

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

dat wäre der teufel mit dem Belzebu ausgetrieben ;-)

von M. W. (hobbyloet)


Lesenswert?

Ich habe mir vor Jahren schon, das hier

http://www.klaus-leidinger.de/mp/Mikrocontroller/meinetools.html#Preserver

nachgebaut. Der war auch schon bestimmt 10mal im Einsatz.

von ATtiny (Gast)


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?

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

liest du auch die Artikel zwischendurch?

Beitrag "Re: Atmega8 verfused"

darauf aufstzend

Beitrag "Re: Atmega8 verfused"

von ATtiny (Gast)


Lesenswert?

Und wie soll ich die 30-250 KHz erzuegen? Evtl. NE555?

von Karl H. (kbuchegg)


Lesenswert?

Du hast doch einen Tiny45.
30 bis 250kHz ist locker drinnen.

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


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

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

das kann auf seriell und  PP port
das 29 er ist noch flexibler als version 30  dafür erkennt der schon die 
chiptypen

Http://www.deviltronic.de/zips/atmelprog.zip

von Kaktus (Gast)


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.

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

wähle bei option speed low oder very low

von ATtiny (Gast)


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!

von ATtiny (Gast)


Lesenswert?

Oder doch nicht? Wie ist das bei atmelprog, wird das Fuse-Fenster auch 
angezeigt obwohl keine Verbindung besteht? Denn über den "Check" Button 
wird der Controller nicht erkannt.

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


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

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

sorry ich kann gerade nicht paralle spielen, kein programmer drann und 
bin auf XP Rechner

Für gewöhnlich benutze ich schon lange my_smart_AVR der hat seit 
neuestem eineeinstellung zu rettug verfuster AVR

von ATtiny (Gast)


Lesenswert?

Hm so langsam glaub ich an dem Teil ist nichts mehr zu retten... 
Anscheinend immer noch kein Zugriff, da die Fusebits sich nicht 
schreiben lassen.
Was könnte ich noch tun?

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.