Juten Tag, ich hoffe ihr könnt mir weiterhelfen (wäre sonst ärgerlich!) Ich habe meinen Mega 128 mit Lancos Ponyprog programmiert und dieses mal die Configuration Bits verändert (M103 C = 0 / BootSz1, Bootsz2 = 1 / BootTrst = 1 und ClkSel3 = 0). Normalerweise dachte ich, dass dabei nicht viel passieren kann, aber nun wird mein Chip von PonyProg nicht mehr erkannt! Schock! Wie kann ich den Mega wieder zum Laufen bringen? Bitte helft mir, sonst waren 2h Lötarbeit nur für den Chip umsonst!
Hi, hast Du es schon mit einem externen Quarz versucht? Sebastian
Ich habe kein Oszilloskop, daher weiß ich nicht, ob der Quarz, den ich dort angeschlossen habe, funktioniert. Könnte es daran liegen? WEnn ja, dann fahre ich zu einem Freund, der ein Oszi hat.
Hi, hast Du es dann auch mal ganz ohne Quarz versucht? Vielleicht hast Du den internen aktiviert. Mail' doch mal einen Screenshot von Deinen Fuses. Sebastian
Würde ich ja gerne, wenn ich die mit PonyProg auslesen könnte, aber das Programm zeigt mir ja an, dass kein Device verfügbar ist - das Problem ist entstanden, nachdem ich an den Configurationbits (s.o.) herumgespielt hatte!
Hallo Hans, Du hast ja recht, mein Fehler! Ich hab' gerade nochmal darüber nachgedacht: M103C: Der Kompatibilitätsmodus ist mein Programmieren egal Boot...: sollte auch egal sein Aber ClkSel dürfte wichtig sein. Es geht im Moment ja weder ohne Quarz noch mit, sehe ich das richtig? An den AVR kann man aber auch noch andere "Schwinger" anschließen. Vielleicht hast Du die ClkSel-Fuses so ungeschickt gesetzt, daß dies der Fall ist. Schau mal im Meag128-Datenblatt ab Seite 35ff. Auf Seite 38 ist z.B. ein anderes "Schwing-System" beschrieben. Probier' notfalls alles mal durch. Bei meinem AVR hat mir das einmal sehr geholfen, als ich was mit diesen Fuses verwechselt habe. Sebastian
Hi, Wenn die ClkSel auf 0 stehen muß der Takt extern zugeführt werden ,also ein Externer Taktgenerator nicht nur ein Quarz .... so habe ich auch schon einen wiederbelebt und die Configurationbits wieder richtig gesetzt .....
Das ist eine Möglichkeit , vielleicht ist ja irgendwo auf einer alten Platine von einem mainboard oder so einer drauf , oder einfach einen Takt selber bauen z.B. mit einem 74hc132 (oder so was) Eingang auf Ausgang und ein kleinen Kondensator dran Hauptsache es schwingt selber oder von einem anderen AVR abzapfen oder erzeugen .
Hi, ich weiß nicht, ob es mit einem Quarzoszillator geht. Hast Du einen 2. AVR? Es reicht ein "kleiner" 2313er oder so. Gebe auf einem Pin einfach ein Rechtecksignal aus und schließe diesen Pin an XTAL1 vom Mega128. Die GNDs der beiden Chips noch miteinander verbinden und Du hast Dein Signal. Sebastian
Hallo, schnapp Dir einfach einen anderen AVR, der noch läuft und schalte einen Ausgang High/LOw , also Takt und dann ran an XTAL1. Gruss A. Arndt
Hatte das Problem auch - zwar war der Grund ein anderer. Aber letenendes lief es mit einem externen Oscillator dann wieder. Die Dinger kosten ja auch nicht die Welt. Ich glaube für das Auslaufmodell 7.68MHz habe ich gerade mal 1.50 bei Segor bezahlt.
Hallo, ich habe es heute einmal mit einem 10Mhz Quarzoszillator versucht - das klappte aber nicht. Dann habe ich die Konstruktion mit dem zweiten Mikrocontroller ausporbiert mit folgendem Code: ldi zl,Low(255) out DDRD,zl ldi zl,Low(255) out DDRB,zl L0000: ldi zl,Low(1) out PORTB,zl Nop Nop Nop Nop ldi zl,Low(3) out PORTB,zl Nop Nop Nop Nop rjmp L0000 L0001: Das sollt ja eigentlich funktionieren, oder? (Ich habe es auch einmal ohne nop 's probiert - vergeblich) Heute Nachmittag werde ich mit einem Oszilloskop messen, was da für ein Takt herauskommt. Was kann man denn tun, wenn das wieder nicht funktioniert - gibt es eine art TOTAL Reset, bei welchem der ganze Mikrocontroller auf Werkseinstellungen zurückgesetzt wird?
Hallo Hans, einen "Werksrückstellungs-Reset" ist mir nicht bekannt. Es gibt nur noch den High-Voltage-Programmier-Modus, was Dir - wenn es am Taktsignal liegt - aber auch nichts hilft. Das bringt nur was, wenn Du den Seriell-Programmier-Modus abgestellt hast usw. Ich habe mal einen 1200er als Taktgeber eingesetzt. Das Programm hängt an. Bei Deinem Programm ist mir nicht klar, für was Du PortD definierst usw. Schau' Dir mal mein Programm an, mußt halt die Interrupt-Vektoren anpassen und den SPL setzen. Sebastian
Ich habe mit Assembler eigentlich noch nie gearbeitet, daher weiß ich nicht so genau, was ich in deinem Beispiel noch ergänzen muss - ich benutze einen AT90S4433 zum Test.
Hallo Hans, ich hab' das Programm für den 4433 "umgeschrieben". Ich hab's zwar nicht mehr getestet, sollte aber dennoch laufen. Sebastian
Vielen Dank - das Programm läuft (AVR Studio), allerding habe ich noch keine Erfolge mit meinem Mega128 Problem feststellen können - ich leihe mir jetzt ein Oszi aus und dann melde ich mich wieder.
ich habe nun mal mit einem Oszi überprüft, ob der Takt wirklich direkt am Xtal1 anliegt - das tut er auch, allerdings ist er nicht sooo sauber, aber das dürfte keine Rolle spielen(ca. 1,8 Mhz). Der CHip wird aber immer noch nicht von Ponyprog erkannt - was soll ich nun machen?
Hey Leute, dank eines Tricks von AVRFreaks.com kann ich nun die Bits wieder setzen und löschen, doch wie muss ich die einstellen, damit ich einen externen Quarz benutzen kann?
Hi, schau' mal im Mega128-Datenblatt unter "System Clock and Clock Options" und da unter "External Crystal/Ceramic Resonator". Die Einstellung basiert auf den MHz des Quarzes. Aber Achtung: Die Angaben sind invertiert. Unter PonyProg gilt z.B. folgendes: Eine "1" im Datenblatt bedeutet KEIN Häckchen und umgekehrt. Kannst Du den Trick, wie Du die Fuses setzen mußt - beschreiben?!? Danke! Sebastian
Willst du wissen, wie man einen Mikrocontroller rettet, der falsche Fuse-Bits hat? Man muss ein 500kHz Signal an Xtal1 legen - dann kann man mit Ponyprog auf den Chip zugreifen. Ich habe das gestern mal versucht mit dem Einstellen der Fusebits - kannst du mir nicht mal einen Screenshot von den fertig configurierten Mega128-Fusebits zuschicken? Ich benutze ein 16Mhz Quarz, welches über 2 22pF Kondensatoren an GND gelegt ist. Als Spannungsquelle benutze ich ein altes PC-Netzteil.
Hallo Hans, Screenshot geht gerade leider nicht, da ich PonyProg nicht mehr laufen habe, weil ich das AVR-Studio nehme. Aber die Beschreibung ist auch nicht schwer: Hier machst Du ein Häckchen rein: - CKOPT Hier machst Du KEIN Häckchen rein: - CKSEL3 - CKSEL2 - CKSEL1 - CKSEL0 - SUT1 - SUT0 Probier's mal aus. Falls es nicht geht, kann ich Dir noch beschreiben, wie Du den internen Quarz zum Laufen kriegst. Sebastian
Vielen Dank dafür! Ich wusste gar nicht, dass man mit AVR Studio flashen kann - geht das auch mit der freewareversion von der Atmel-Homepage? Wie geht das?
Hallo Hans, man kann zwar mit dem AVRStudio wunderbar und superschnell (!!!) per ISP flashen, man braucht allerdings den "AVRISP"-Adapter (ca. 50 Euro) oder das STK500. Das hat das "AVRISP" schon drauf. Dann dauert der Mega8 aber nur noch 0,4 Sekudnen anstatt 1 Minute mit PonyProg! Tip: Kauf' Dir das AVRISP, beim Mega128 lohnt es sich! Bei 12K Code ca. 7 Sekunden mit PonyProg Minuten... da wird man irre! Geht Dein Mega128 nun wieder? Sebastian
Tja, also noch funktioniert der chip nicht, aber was muss ich denn bei Lock1, Lock2, Bootlock1, Bootlock2, Bootlock11, Bootlock12,WDTON, OCDEN, JTAGEN, EESAVE, BODLEVEL, BODEN, BOOTSZ1, BOOTSZ0, BOOTRST einstellen? UNd wie bekomme ich einen 16Mhz oder 8 Mhz Quarz zum laufen - alternativ könnte ich auch noch einen 10Mhz Quarzoszillator anschließen, aber das nur sehr ungern.
Hallo Hans, schade, daß es immer noch nicht geht... Die anderen Fuses sind für Dein Problem eigenlich egal. Die ganzen Bootlock* sind verschiedene Lesesperren (damit niemand Dein Programm ausspioniert), JTAGEN aktiviert das JTAG-Interface (brauchst Du nicht) usw. Hier sind mal die Einstellungen für den internen 8MHz-Quarz: Hier ein Häckchen: - CKOPT - CKSEL3 - CKSEL1 - CKSEL0 - SUT0 Hier KEIN Häckchen: - CKSEL2 - SUT1 Nach der Umstellung der Fuses Dein Quarz bzw. 500KHz-Takt gleich weg. Vielleicht klappt's ja nun! Sebastian
Hi, ja, es hat sogar 4 Varianten integriert: - 1 MHz - 2 MHz - 4 MHz - 8 MHz Siehe auch Datenblatt S. 39. Ist das Dein 1. Atmel? Und geht's nun endlich?!? Sebastian
Hallo, das ist nicht mein erster Atmel, aber mein erster Mega! Die AT90S - Chips und die Tinys mussten in Sachen Clock ja nicht programmiert werden. Es funktioniert übrigens immer noch nicht - ich kann zwar auf den Chip zugreifen,aber nicht programmieren - schreiben fehlgeschlagen. Nur wenn ich auf die internen 8Mhz umschalte, dann steht beim 2. oder 3. Versuch "SChreiben erfolgreich" ~ mein Programm funktioniert aber trotzdem nicht
Mit diesen Settings funktioniert es nun endlich! <img src="http://www.avrfreaks.net/phorum/download.php?f=3&file=PonyProgSecBitsSet.JPG">
Hi, so geht es aber mit einem externen Quarz, oder? Komisch, daß der interne nicht geht... Naja, hauptsache nun geht er wieder! :-) Sebastian
Naja warum das mit dem internen nicht geht, wäre doch auch interessant zu wissen. Ich hatte damals das Problem meinen Stack falsch eingestellt zu haben. Mit dem externen ging er dann meistens ... seltsam aber wahr..
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.