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
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
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
@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
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
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
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
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
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?
> 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
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.
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!
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.
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
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
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?