Hallo, Beim ersten Versuch einen Mikrocontroller (ATMEGA8-16) zu beschreiben, habe ich Fehler gemacht!!! Ich konnte den AVR einmal lesen und wollte danach die Fusebits setzen und habe dies wahrscheinlich falsch gemacht. Seither kann ich nicht mehr auf den AVR zugreifen und bekomme bei PonyProg immer einen "Device...Fehler(-24)". Zum programmieren benütze ich die abgespeckte Version des Si-Prog für die serielle Schnittstelle. (http://s-huehn.de/elektronik/avr-prog/avr-prog.htm) Nun zu meiner Frage: Ich habe gehört, dass man die Standardkonfiguration wieder auf den AVR bekommen und so den AVR wieder zum Leben erwecken kann. Wer kann mir dabei helfen??? Vielen Dank Gruß Marcus
Wenn Du Glück hast, reicht ein QuarzOszillator (Metallbüchse mit 4 Pins) von einigen MHz am XTAL1 Pin, wenn Du den ResetPin weggefust hast, hilft nur noch ein STK500 oder ein anderer HV-Programmer (oder ein guter Freund mit solchem Teil). Tip am Rand: Kauf Dir einen ordentlichen Programmer vom Originalhersteller ATMEL, dann hast Du die Probleme in Zukunft nicht mehr.
Hab mir soeben den Atmel AVRISP MKII USB bei Reichelt bestellt, also in Zukunft wird sowas nicht mehr passieren. Mit dem Quarzoszillator (4mhz) hats nicht funktioniert! Leider kenne ich keinen mit einem STK500, gibts noch ne andere Möglichkeit?
Funktionsgenerator, irgendwas das 5V-Frequenz erzeugt. Du musst nur den µC an XTAL1 takten (4x programmierfrequenz), dann kannst'n auch wieder programmieren.
Hallo, mal eine dumme Frage: wer ist eigentlich auf die glorreiche Idee gekommen, im Tutorial so ziemlich am Anfang die Leute mit den Fuses rumspielen zu lassen??? Bis zum UART gibt es dafür keinerlei Grund... Sollte mal jemad ändern. Heißt nicht, daß ich Arbeit auf andere abwälzen will, wäre aber wohl wirklich besser. Gruß aus Berlin Michael
Hallo Marcus, wo wohnst Du denn? Ich bin auf die glorreiche Idee gekommen, mir zum Anfang ein STK500 zu kaufen (hab's seit ner Woche...). Einfach weil ich dachte, dass sei eine sichere Möglichkeit sich über den Programmer keine zusätzlichen Fehler einzubauen. Wo kommst Du denn her, evtl können wir ja versuchen, mit dem STK 500 Deine Atmel zu retten. Wobei die Preise eigentlich das Porto für's hin- und herschicken kaum rechtfertigen würden... Viele Grüße Holger
alle neueren AVRs laufen in der Standartkonfiguration mit der internen Taktquelle auf 1 MHz, deshalb sehe ich auch keinen Grund hier dran rumzuspielen. Allerdings wird im Tutorial noch ein älterer AVR verwendet der nen externen Takt braucht. Das Problem ist das Ponyprog oder auch andere Progsoftware ja nicht weiß wie die Fuses eingestellt sind, also muss man diese erst auslesen bevor man sie wieder schreibt, damit die alten Fuses übernommen werden. Habe mal mein altes Ponyprog gestartet und den ATM8 eingestellt welches ich noch auf der Platte hatte. Dort steht RSTDISBL grau hinterlegt(also sollte man da nichts verhunzen können), glaube aber beim ATM8 kann man den RESET-Pin eh nicht alternativ verwenden, beim ATT26 aber wäre es möglich. Grauenhaft hier muss man für den Takt z.B. jedes Bit selbst setzen und hat dann auch noch ein ungutes Gefühl ob das ganze nicht invertiert dargestellt wird, beim AVR-Studio klickt man hingegen auf die gewünschte interne Taktrate mit der entsprechenden Startverzögerung und es passt alles. Ich vermute jetzt das du die Fuses mit SUT00 und CKSEL0000 gebrannt hast, dann müsste ein externer Takt reichen. Ich gehe jetzt erstmal vom seriellen Programmer aus, da dieser nicht extern versorgt wird. Bei der Parallelel Version gibts ja 2erlei mit und ohne HC(T)244. Zu deinen Anschlüssen über die Leitung MOSI gelangen die Daten vom Rechner in den AVR, SCK ist die Taktleitung und MISO ist die Leitung von der der PC aus dem AVR ließt. VCC, GND und RST sollte klar sein. Du sagt der PC verschickt Daten dies sieht du an der leuchtenden LED wenn sie zw. MOSI und GND bzw. zw. SCK und GND hängt. Dann können wir schonmal ausschließen das du keine Portzugriffe hast. Da du aber auf der MISO Leitung kein Signal hast, hat entweder der AVR keinen Strom oder im fehlt der Takt. Es kann aber sein das man diese Leitung garnicht zum Programmieren braucht. Ich denke das diese Leitung eher dazu da ist um die Daten auszulesen oder das Verifity durchzuführen. Deshalb denke ich hast du die Fuses zerschossen als du auf Ignore gegangen bist. Bau dir mal einen astabilen Multivibrator auf dann gegen wir das zusammen nochmal durch.
Beim AVRISP wird schon bei der Anwahl des 'FUSES'-Reiters der Istzustand ausgelesen (Error falls nicht möglich), deshalb kommt's da so gut wie nie zu Missverständnissen.
@Holger ich wohne im Raum Stuttgart, vielleicht sind hier noch andere aus dem Raum Stuttgart die Bereit wären mir zu helfen?? @Thomas Astabiler Multivibrator ist fertig, LED`s blinken. Habe diese Schaltung genommen. http://www.elektronik-kompendium.de/sites/praxis/bausatz_led-wechselblinker.htm
ok jetzt musst du es nur noch hinbekommen das das ganze schneller blinkt. @All: wie hoch müsste die Geschwindigkeit sein? Kann man in Ponyprog die Geschwindigkeit zum proggen runtersetzen?
von der blink geschwindigkeit habe ich es jetzt so, dass man kaum noch sieht das es blinkt, oder ist das schon zu schnell???
Im Gegenteil. Viel zu wenig. Treib den Multivibrator so hoch wie du nur kannst.
Wie schon mehrfach erwähnt: gutes Werkzeug ist alles! Original AVRISP von ATMEL sagt: Taktfrequenz mindestens 4x ISP-Frequenz. Investiert doch die 40, dann seit ihr viele Sorgen los!
er hat sich ja nen ARVISP bestellt, will aber seinen ATMEGA wieder erwecken.
Ich hab' mir den Luxus eines GALEP von Conitec gegönnt, der kann die Teile zuverlässig wiederholen. Ist halt sauteuer! Ansonsten: die Takfrequenz 4x der ISP-Frequenz, dann sollte es gehen!
Wie hoch ist die ISP-Frequenz, wie bekomme ich das heraus? dann nehme ich einfach einen 22uF Kondensator und 470 Ohm Widerstand, somit habe ich eine schnelle Blinkfrequenz. Oder immer noch zu wenig! Ich habe auch noch einen 16Mhz Oszillator da!
Hallo, 16MHz-Oszillator lohnt sich zu probieren. Wenn der AVR nicht allzu schlecht gelaunt ist (ungünstige Verdrahtung, fehlende 100n-Cs an Ub usw.) kommt er damit durchaus klar. Falls mit dem Multivibrator: eine LED raus und durch ca. 3,3k ersetzen, dort den AVR ran, sonst wird es kein sauberer H-Pegel für den AVR. Natürlich den Multivibrator mit 5V betreiben. Die eine Diode sollte da immernoch blinken (Rest mit Originalwerten). Dann die 47µ-Elkos durch 2,2nF oder so ersetzen, er sollte dann immernoch schwingen. Erkennbar nur noch daran, daß die LED mit "halber" Helligkeit leuchtet. Die 2,2n können auch noch kleiner sein, wenn er da noch schwingt. Du bist dann immernoch irgendwo im oberen NF-Bereich (vermutlich 20-30kHz, keine Lust, zu rechnen), mußt also die ISP-Frequenz weit genug runter setzen können... Gruß aus Berlin Michael
Probier den Oszillator, das ist der einfachste Weg. Ein Multivibrator mit den RC wie du geschrieben hast, arbeitet im unteren kHz Bereich.
ok habe nun den 16Mhz Oszillator angeschlossen, was muss ich jetzt tun, damit der uC wieder funtkioniert???
kannst du kurz nochmal aufzählen wie deine Schaltung aufgebaut ist wo der ATM8 drinsitzt? Ist da alles ok, kommen nach dem Spannungsregler auch 5V raus? Hast du die empfolenen Kerkos am Spannungsregler und am µC dran? Wenn du jetzt nen richtigen Quarzoszilator hast kanns losgehen. 5V und GND an die entsprechenden Beinchen des Oszi's am Ausgangpin kommen jetzt 16 MHz raus diese musst du an den Anschluß XTAL1 hängen und das mit möglichst kurzen Leitungen. Wenn jetzt die Fuses glücklicherweise auf CKSEL=0000 und SUT=00 programmiert sind, müsste das auslesen der Fuses schon gehen. Es sei den der Resetpin und das SPI sind deaktiviert. Dann hilft wie gesagt nur noch das paralelle Programmieren.
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.