Liebe Gemeinde, leider habe ich mir einen ATMEGA328P unbrauchbar gemacht. Ich habe im AVR Studio 4 mit dem AVRISP mkII die Taktfrequenz bei verschiedenen AMEGAs eingestellt und beim hin und her aus versehen einen ATMEGA8 eingestellt gehabt, jedoch einen ATMEGA328P programmiert. Ich habe intern 8Mhz mit den 64ms ausgewählt. Jetzt reagiert er nicht mehr. Weder auf Quarze (hab 8Mhz und 12Mhz da) noch einen externen Takt (hab nen 4,8Mhz Attiny als Taktquelle laufen) Gibt es da eine Möglichkeit den guten Mega zu retten? Liebe Grüße Jens
Normalweise geht das aber über die ISP, wenn man einen Quarz dran steckt.... passietr mir auch öfter und ich kriege es immer wieder zurück, außer wenn ich 128khz Mode wähle, weil das mein Usbasp nicht kann. Seltsam....
Eventuell musst Du die Programmierfrequenz von deinem ISP-Adapter runter stellen.
Wenn man schon den falschen Atmega eingestellt hatte hat man vielleicht auch das falsche Fusebit gesetzt gehabt. Retten kann man so etwas über einen Programmer, der den HV-Mode kann wie z.B. das STK500.
Für nicht mehr ansprechbare AVRs habe ich mir auf einem PrototypenPCB ein Rescue Shield zusammengelötet. http://mightyohm.com/blog/products/hv-rescue-shield-2-x/ Solltest Du nur auf internen Takt geflasht haben, sollte der 328 eigentlich ansprechbar sein, Quarze nutzen da nicht so viel. Vom ISP Mk2 habe ich keine Ahnung, ich nutze mehrere USBASPs. Bei internem Schwabbeltakt muss oftmals der "Speed" Jumper gesteckt werden.
Bei der Angelegenheit: Kann mir vielleicht jemand mal versuchen 5 Stück Attiny84 zu retten, die entweder hinüpber sind durch den Usbasp oder nicht mehr ansprechbar? Auf einmal war Ende während des Programmierens nachdem es zigmal klappte. Würde Brief mit beiden Portos schicken. Ich habe nicht genug Ahnung von diesem Avrdude Zirkus unter der Arduino IDE, bei PIC war das alles viel einfacher mit dem ICD.
Hallo Christian, vielleicht sind neue ATtiny84 A preiswerter ? https://guloshop.de/shop/Mikrocontroller/ATtiny84-A::34.html?XTCsid=t9g0jgdqnu89ga7v08msleav46
Hallo und Danke für die Antworten! Ich kann ja mal berichten was ich probiert habe: - Quarze 4 MHz, 8 MHz, 12 MHz, 16 MHz und 20 MHz - externer Takt von 2,2 MHz, 8 MHz und 10 MHz - beim ISP die Frequenzen 51,10 Hz, 6,48 kHz, 125 kHz und 500 kHz Kann denn jemand nachvollziehen was durch den Befehl auf 8 Mhz zu setzen (siehe Startpost) beim ATMEGA328P gesetzt wurde? (Der ISP Adapter ging davon aus einen ATMEGA8 vor sich zu haben, beim ATMEGA328p gibt es die 8 MHz ja nicht!) Danke Jens
Uwe S. schrieb: > Hallo Christian, > > vielleicht sind neue ATtiny84 A preiswerter ? > > https://guloshop.de/shop/Mikrocontroller/ATtiny84-A::34.html? XTCsid=t9g0jgdqnu89ga7v08msleav46 Ja... sicher ... aber die kleinen Käferchen können ja nichts dafür. Ich kann einfach nix wegwerfen, was noch funktioniert. Zu weiches Herz. Der Preis ist aber gut, leider zu viel bezahlt in der Bucht.
Jens schrieb: > Kann denn jemand nachvollziehen was durch den Befehl auf 8 Mhz zu setzen > (siehe Startpost) beim ATMEGA328P gesetzt wurde? (Der ISP Adapter ging > davon aus einen ATMEGA8 vor sich zu haben, beim ATMEGA328p gibt es die 8 > MHz ja nicht!) Dir bleibt noch eines: Versuchen die JTAG Schnittstelle zu aktivieren und dann über einen J-Link das zu flashen. Guck dir das mal an: http://www.instructables.com/id/How-to-fix-dead-atmega-and-attiny-avr-chips/?lang=de
Jens schrieb: > ..beim ATMEGA328p gibt es die 8 MHz ja nicht!) Ein umgestalteter pro mini als ATMega8 "Ersatz", 8MHz intern http://www.eevblog.com/forum/reviews/youyue-858d-some-reverse-engineering-custom-firmware/?action=dlattach;attach=143801;image Jens schrieb: > Kann denn jemand nachvollziehen was durch den Befehl auf 8 Mhz zu setzen > (siehe Startpost) beim ATMEGA328P gesetzt wurde? Es gibt da eine wunderschöne GUI namens Burn-O-Mat, da siehst Du im KLARTEXT was Sache ist, die hatte ich hier mal im Artikelbereich entdeckt ;) https://www.mikrocontroller.net/articles/Burn-o-mat Einfach mal die Parameter einstellen, wie Du flashen wolltest, dann den Controller ändern und schauen, was raus kommt...
Jens schrieb: > Hallo und Danke für die Antworten! > > Ich kann ja mal berichten was ich probiert habe: > - Quarze 4 MHz, 8 MHz, 12 MHz, 16 MHz und 20 MHz > - externer Takt von 2,2 MHz, 8 MHz und 10 MHz > - beim ISP die Frequenzen 51,10 Hz, 6,48 kHz, 125 kHz und 500 kHz > > Kann denn jemand nachvollziehen was durch den Befehl auf 8 Mhz zu setzen > (siehe Startpost) beim ATMEGA328P gesetzt wurde? (Der ISP Adapter ging > davon aus einen ATMEGA8 vor sich zu haben, beim ATMEGA328p gibt es die 8 > MHz ja nicht!) > > Danke > Jens Solange du uns nicht sagst welchen Hexcode du für die Fuses hattest, wird es schwer was zu sagen. Das gibt nur rätselraten. Ich rate mal: Atmega8 mit Standard-Fuses und nur den Oszi geändert auf intern 8 MHz würde ein LowFuse von 0x64 und ein HighFuse von 0xD9 ergeben. Nimmt man diese Fuses und programmiert damit einen Atmega328p dann, wenn ich mich nicht vertan hab, ändert sich nur die Taktquelle, der 328p erwartet dann einen Low Frequency Quarz an XTAL. Du hast aber geschrieben, dass du schon einen externen Takt angelegt hast, daher gehe ich davon aus, dass noch was anderes schräg war/ist.
> Du hast aber geschrieben, dass du schon einen externen > Takt angelegt hast Er hat jedoch nicht geschrieben, wo; in diesem Fall (low frequency crystal) sollte er auch XTAL2 versuchen.
Danke für die Tips! Der Online-Fuse-Simulator (vom Burn-o-mat) klappt leider nicht, nur ein graues Fenster. Auf dem Dienstrechner kann ich leider nichts installieren. Die Sache mit dem AVR-doctor ist cool, aber ein eigenes Projekt für später. Aver vielleicht hab ich alles da ihn zumindest auf dem Steckbrett aufzubauen :-) Zu den Einstellungen: Device: Atmega8 Fuses: Alles auf Ursprungswerten außer der Takt (intern 8Mhz mit den 64ms) und BOOTRST. Und ja, den externen Takt habe ich sowohl an XTAL1 und XTAL2 sowie beide gemeinsam angelegt. Danke Jens
Hast Du einen Quarzoszillator (den mit 4 Beinchen) im niedrigen Mhz-Bereich? Dann die ISP-Frequenz im Atmel Studio auf niedrigste Stufe stellen, so sollte es klappen. Stromversorgung sollte auch stabil sein.
Also: high fuse auf D8 sowie low fuse auf E4 gesetzt. Ersteres ist uninteressant, Letzteres heißt, wie Michael Köhler bereits schrieb, low frequency crystal. Dann muss der externe Hilfstakt an XTAL2 angeschlossen werden, über einen Schutzwiderstand von z.B. 100 Ohm. Allerdings akzeptiert dann z.B. mein Exemplar, ATmega328P-PU von 1426, maximal 300 kHz, was weiter eine ISP-Frequenz von maximal 75 kHz bedeutet.
Zum Vergleich: ein ATmega168-20PI von 0452 läuft in dieser Einstellung auch mit 5 MHz.
Der AVR Doctor ist nicht übel, aber zu aufwändig, Infos findest Du im Artikelbereich. Das Arduino-Shield auf Steckbrett ist einfacher. Im Anhang befinden sich zwei Bildchen, Nr 1. zeigt die Burn-O-Mat Angaben dazu, Nr. zitiert das Atmel Datenblatt bzw. -buch.
Ich danke euch! Konnte ihn mit einem externen Takt von 200kHz und einer ISP-Frequenz von 51Hz wieder ansprechen. Damit wäre dieser Beitrag geschlossen.
Michael K. schrieb: > Wenn man schon den falschen Atmega eingestellt hatte hat man vielleicht > auch das falsche Fusebit gesetzt gehabt. Retten kann man so etwas über > einen Programmer, der den HV-Mode kann wie z.B. das STK500. Habe meinen Mega328 auch verfust :-( Jetzt komm ich über ISP6 nicht mehr ran. Wie im Tutorial beschrieben habe ich einen Q-Oszillator rangehangen. Allerdings hatte ich nur 20MHz da. Ist das zu schnell? Habe nämlich immer noch kein Zugriff.. Alternativ habe ich ein STK500 - wie geht denn das mit der Rettung via HV Prog? Kann ich den Mega328 einfach in den 28pol-Sockel SCKT3500D stecken und loslegen?
Maik O. schrieb > Allerdings hatte ich nur 20MHz da. Ist das zu schnell? Habe nämlich > immer noch kein Zugriff.. Das ist deutlich zu schnell. Der Mega328 kann nur bis 16MHz. Mit der Rettung sollte eigentlich ein 10k Widerstand von XTAL auf Masse reichen. Hat bei mir zumindestens funktioniert beim letzten verfusen. Probiers mal.
Frederik H. schrieb: > Maik O. schrieb > >> Allerdings hatte ich nur 20MHz da. Ist das zu schnell? Habe nämlich >> immer noch kein Zugriff.. > > Das ist deutlich zu schnell. Der Mega328 kann nur bis 16MHz. > > Mit der Rettung sollte eigentlich ein 10k Widerstand von XTAL auf Masse > reichen. Hat bei mir zumindestens funktioniert beim letzten verfusen. > Probiers mal. Also im Datasheet steht was von 20Mhz bei entsprechendem Vcc. Aber ich werd das mit dem Widerstand mal probieren. Ansonsten klappt es auch mitm STK500: http://www.atmel.com/webdoc/stk500/stk500.highVoltageProgramming.html
Christian J. schrieb: > Normalweise geht das aber über die ISP, wenn man einen Quarz dran > steckt.... passietr mir auch öfter und ich kriege es immer wieder > zurück, außer wenn ich 128khz Mode wähle, weil das mein Usbasp nicht > kann. > > Seltsam.... Genau das habe ich bei einem Arduino Nano über einen USBasp gemacht. Ich habe einen LFuse auf 0xC3 gesetzt. Ich hatte zuerst einen Blink-Sketch darauf geladen. Der läuft mit dem neuen Fuse wie erwartet viel langsamer. Nur kann ich jetzt nicht mehr fusen oder sonst was hochladen. Egal, ob über USB, USBasp oder einem stk500v1
1 | avrdude -v -patmega328p -cstk500v1 -P/dev/ttyUSB0 -b19200 -Ulfuse:w:0xff:m -B4 |
oder
1 | avrdude -v -patmega328p -cusbasp -Ulfuse:w:0xff:m -B4 |
Mit -B habe ich auch probiert, mit folgenden Werten (1, 2, 4 ,8, ..., 1024) Es kommt immer folgender Fehler:
1 | avrdude: initialization failed, rc=-1 |
2 | Double check connections and try again, or use -F to override |
3 | this check. |
Das -F habe ich auch mal probiert. Kann man da noch was retten oder hilft nur noch HV ?
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.