Hallo Experten, ich schaffe es nicht, einen Atmega8 auf externen Takt umzustellen. Den Aufbau sieht man oben im Bild, die gelben Kabel sind vom Programmer, rot ist + und schwarz ist gnd. Ich hab das Atmel-Studio 4 benutzt und die Fuses so, wie im 2. Bild gesetzt. Sie werden automatisch vorher ausgelesen und ich hab nur SUT_CKSEL umgestellt. Und jetzt geht gar nichts mehr. Der Programmer kann gar nicht mehr in den Programmiermodus wechseln. So hab ich schon 2 Amega8 "verbraten", der Screenshot ist von einem dritten, meinem letzten funktionierenden. Der Takt liegt auch wirklich an Pin 9 an, hab ich mit einem Ikalogig-Analyser nachgeschaut. (Bild 3) Wo kann ich denn jetzt noch suchen???
Thomas H. schrieb: > Der Takt liegt auch wirklich an Pin 9 an, hab ich mit einem > Ikalogig-Analyser nachgeschaut. (Bild 3) Und warum geht Pin 1 (/Reset) auf 0? Das ist der Reset-Zustand, da kann nichts laufen. Was ist an Pin 1 angeschlossen? Geht die Versorgungsspannung nach Anschwingen des Ozillators in die Knie und Brown-Out spricht an? Gruß Dietrich
Mit welcher Frequenz arbeitet der ISP? ==> siehe STK500 [Main]-Tab Die ISP-Frequenz darf nicht höher sein als 1/4 der F_CPU. Setze mal die Frequenz auf einen tiefen Wert, z.B. 100kHz oder sogar nur 4 kHz
...und prüfe nochmals, ob der Oszillator-Clock wirklich am richtigen Pin angeshlossen ist: Pin9 - XTAL1 - PB6
Hallo, der Reset geht auf low, weil ich den Anfang eines Programmiervorgangs aufgenommen habe. Der ISP läuft mit 57.60KHz. Mit 4kHz hab ichs auch schon probiert. Es geht immer noch nichts :-(
Kann mich dran errinnern das einer der "externen" Quellen nicht für einen Quarz geeignet ist, und damit der Atmega nicht losläuft - so hab ich mir auch schon einen Atemag "verfused" ;) Gruß Jonas
Ist ja auch kein Quarz, sondern ein Oszillator. Der erzeugt selbst den Takt und gibt ihn nur zum Professor :-)
>nicht für einen Quarz geeignet ist
Also ich gehe davon aus, dass der TO einen Quarzoszillator und nicht
bloss einen Quarz angeschlossen hat. Aber es wäre gut, wenn der TO seine
Schaltung als Schema posten würde. Ebenfalls hilfreich wäre, wenn wir
wüssten welche Fehlermeldung der Programmer ausspuckt?
Hi >Also ich gehe davon aus, dass der TO einen Quarzoszillator und nicht >bloss einen Quarz angeschlossen hat. Das ist ja wohl laut und deutlich auf dem Bild im Eröffnungspost zu erkennen. MfG Spess
> Das ist ja wohl laut und deutlich auf dem Bild im Eröffnungspost zu > erkennen. Dazu schreibt der TO: > der Screenshot ist von einem dritten, meinem letzten funktionierenden. Also der Programmer kommt nicht mehr in den Programmier-Modus. Und genau das ist im Bild nicht zu sehen. Mannohmann, erst lesen, dann posten!
Messe mal direkt an den Beinchen des µC ob da auch der Takt und die entsprechenden Signale ankommen. Vieleicht ist es ein Kontaktproblem des Steckbretts.
Thomas H. schrieb: > Der Takt liegt auch wirklich an Pin 9 an, hab ich mit einem > Ikalogig-Analyser nachgeschaut. (Bild 3)
ich schrieb: > Dazu schreibt der TO: >> der Screenshot ist von einem dritten, meinem letzten funktionierenden. > > Also der Programmer kommt nicht mehr in den Programmier-Modus. Und genau > das ist im Bild nicht zu sehen. Mannohmann, erst lesen, dann posten! Wenn das aber der noch funktionierende sein soll, dann ist der ja noch NICHT auf externen Takt umgefust. Was soll dann aber der Quarzoszillator? Also irgendwie ist das konfus und sollte vom TO geklärt werden.
Udo Schmitt schrieb: > ich schrieb: >> Dazu schreibt der TO: >>> der Screenshot ist von einem dritten, meinem letzten funktionierenden. >> >> Also der Programmer kommt nicht mehr in den Programmier-Modus. Und genau >> das ist im Bild nicht zu sehen. Mannohmann, erst lesen, dann posten! > > Wenn das aber der noch funktionierende sein soll, dann ist der ja noch > NICHT auf externen Takt umgefust. Was soll dann aber der > Quarzoszillator? > Also irgendwie ist das konfus und sollte vom TO geklärt werden. Schon mal vielen Dank fürs Mitdenken. Hier noch mal eine Aufnahme von einem Atmega8, der nicht mehr geht. Aufgenommen wurde, als die Fuses ausgelesen werden sollten. Gelb ist der Takt, Rot ist SCK und Grün ist MISO. Tatsächlich ist im obigen Aufbau sinnloserweise ein nicht umgefuster Atmega mit einem Quarzoszillator zu sehen. Den hab ich nur reingesteckt, damit ich das 2. Bild vom ersten Post machen konnte, weil bei den anderen werden die Fuses ja nicht mehr ausgelesen.
>der nicht mehr geht
Mit dieser Info kann niemand helfen!
WAS GENAU GEHT NICHT MEHR?
Fehlermeldungen inkl. Details?
Kannst Du auch die Signature nicht lesen?
Mike schrieb: >>der nicht mehr geht > Mit dieser Info kann niemand helfen! > > WAS GENAU GEHT NICHT MEHR? > Fehlermeldungen inkl. Details? > Kannst Du auch die Signature nicht lesen? Sie tun, als ob sie ganz tot wären. Die Fehlermeldung ist Entering programming mode ... FAILED mehr Details bekomme ich nicht. Oder doch?? wie denn?? Wenn ich die stk500.exe von der Kommandozeile aufrufe, sieht es so aus:
1 | C:\Info\atmel\STK500>stk500 -s -dATmega8 -cCOM3 |
2 | STK500 command line programmer, v 2.2 Atmel Corp (C) 2004-2005. |
3 | |
4 | Connected to STK500 V2 on port COM3 |
5 | Device parameters loaded |
6 | Could not enter programming mode |
7 | Programming mode left |
8 | Connection to STK500 V2 closed |
9 | |
10 | WARNING! One or more operations failed! Please examine the output log above! |
Wenn es eben noch ging und nach Umstellung der Taktquelle nicht mehr, ist der Fehler genau da zu suchen. > Der Takt liegt auch wirklich an Pin 9 an, hab ich mit einem > Ikalogig-Analyser nachgeschaut. (Bild 3) Wer misst, misst Mist. Aber eigentlich misst du ja gar nicht. Dein Analyzer zeigt dir 0- und 1- Pegel vom Oszillator an. Und zwar die Pegel, die er dafür hält. Sehen deine Atmegas das genau so? Möglicherweise hat dein Oszillator eine Macke: Zu niedriger Pegel. Nimm mal den "noch heilen" Atmega und schreib da ein Toggle-Programm rein: int main(void) { DDRX |= (1 << Y); while(1) { PORTX ^= ( 1 << Y); } } Den entsprechenden Ausgang hängst du an den Takteingang von einem der "kaputten". Damit stellst du sicher, daß der Atmega auch den Pegel bekommt, den er möchte. mfg.
Oder ein Schema wäre auch mal was: - Wie ist der ISP angeschlossen? - GND und Vcc Verbindungen? - Reset mit PullUp? - Stützkondensatoren?
> Nimm mal den "noch heilen" Atmega und schreib da ein Toggle-Programm > rein: OK, hab ich gemacht, geht aber auch nicht. Ein Schema hab ich auch gemalt (aktuell mit 2. Atmega als Taktgeber), aber ich glaube, da sind vom Abmalen her mehr Fehler drin, als in der echten Schaltung.
Thomas H. schrieb: > Ein Schema hab ich auch gemalt Da fehlt der Ziehwiderstand am /Reset-Eingang! Gruß Dietrich
> OK, hab ich gemacht, geht aber auch nicht. Was ist denn das jetzt für ein Sch... Der toggelt aber auch wirklich? Ich wollte schon drauf wetten, daß es daran liegt. Wenigstens weiss man jetzt, daß es daran nicht liegt. Bringt dich aber auch nicht wirklich weiter. > Da fehlt der Ziehwiderstand am /Reset-Eingang! Der Pullup ist selbst beim Atmega8 intern vorhanden. Schadet aber nicht da trotzdem noch einen ranzumachen. mfg.
Zuerst sollte man versuchen, die Signatur des Bausteins über die ISP zu lesen. Dazu braucht man kein Programm im Kontroller. Nahezu alle Proggerprogramme haben diese Möglichkeit im Menu bzw. eine Fehlermeldung device not... Wenn das nicht geht, ist zu prüfen: -ist vielleicht dem PC der falsche Kontrollertyp angemeldet, und er bricht deswegen ab? -Fehler in Hardware? : von Kontroller oder ISP-Schnittstelle oder progger -Programmiertakt zu schnell? -Kontroller hat Takt, der den fuses entspricht? Erst wenn der angeschlossene Kontroller über ISP erkannt wird, hat ein Programmierversuch doch Sinn
Thomas Eckmann schrieb: >> Da fehlt der Ziehwiderstand am /Reset-Eingang! > Der Pullup ist selbst beim Atmega8 intern vorhanden. Schadet aber nicht > da trotzdem noch einen ranzumachen. Soweit richtig, aber in "AVR042: AVR Hardware Design Considerations" wird er empfohlen. Gruß Dietrich
Peter R. schrieb: > Zuerst sollte man versuchen, die Signatur des Bausteins über die ISP zu > lesen. Dazu braucht man kein Programm im Kontroller. > Nahezu alle Proggerprogramme haben diese Möglichkeit im Menu bzw. eine > Fehlermeldung device not... Genau das kommt > > Wenn das nicht geht, ist zu prüfen: > > -ist vielleicht dem PC der falsche Kontrollertyp angemeldet, und er > bricht deswegen ab? mit einem anderen Chip geht alles problemlos > -Fehler in Hardware? : von Kontroller oder ISP-Schnittstelle oder > progger s.o. > -Programmiertakt zu schnell? 57kHz > -Kontroller hat Takt, der den fuses entspricht? ääh, wo stellt man das denn ein? ich kann zwar bei HW-Settings eine Clock-Generator einstellen, aber nur bis 3,86MHz. Außerdem weiß ich gar nicht, wozu der da ist und gemacht hab ich es auch noch nie > > Erst wenn der angeschlossene Kontroller über ISP erkannt wird, hat ein > Programmierversuch doch Sinn Ich glaub nun wirklich, dass ich 2 Atmegas geschrottet habe. Das Problem ist, dass es nur durch Umstellen der Clock Source Fuses passiert ist. Jetzt trau ich mich halt nicht auch noch beim letzten verbliebenen Chip die Fuses umzustellen, jedenfalls nicht, bevor das Reichelt-Paket kommt.
Thomas H. schrieb: > Der Takt liegt auch wirklich an Pin 9 an, hab ich mit einem > Ikalogig-Analyser nachgeschaut. Hast du wirklich direkt am Pin 9 gemessen oder zum Messen bloß irgendwo einen Draht ins Breadboard gesteckt? Weil: eigentlich hast du alles richtig gemacht, jedenfalls kann ich weder im fotografierten Aufbau noch bei den Fuses einen Fehler entdecken und auch der Oszillator liefert ja offensichtlich einen Takt: Kurz: eigentlich müßte es laufen. Die einzige Erklärung, die mir einfällt, ist halt, daß der Takt zwar vorhanden ist, den Pin 9 aber nicht wirklich erreicht.
c-hater schrieb: > Die einzige Erklärung, die mir einfällt, ist halt, daß der Takt zwar > vorhanden ist, den Pin 9 aber nicht wirklich erreicht. Woher soll der Takt auch kommen? Wenn AVCC nicht beschaltet ist, dürfte auf PortC tiefer Friede herrschen. Der Kondensator über VCC sieht eher nach 100pF aus, da würde ich noch mal einen Blick drauf werfen und außerdem jedem Prozessor seinen eigenen spendieren. Und der Max232 ist auch noch mehr als spärlich beschaltet: kein Kondensator an Pin2, Kondensator an Pin6 verpolt.
Wolfgang schrieb: > Wenn AVCC nicht beschaltet ist, dürfte auf PortC tiefer Friede herrschen. du faselt wirr! Schau mal wofür AVCC gebraucht wird!
c-hater schrieb: > Thomas H. schrieb: > >> Der Takt liegt auch wirklich an Pin 9 an, hab ich mit einem >> Ikalogig-Analyser nachgeschaut. > > Hast du wirklich direkt am Pin 9 gemessen oder zum Messen bloß > irgendwo einen Draht ins Breadboard gesteckt? > > Jetzt hab ichs nochmal gemessen, direkt Kabel an Pin9 drangehalten. Jetzt wieder mit dem Oszillator. Takt kommt an. Der Chip ist wohl echt hinüber. Ich hätte noch ein paar ATinys rumliegen. Wenn ich ein gutes Screencapture-Programm wüsste, könnte ich ja ein Splatter-Video machen, wo man sieht, wie der Atmega stirbt, wenn man die Fuses umstellt.
Jan schrieb: > du faselt wirr! Schau mal wofür AVCC gebraucht wird! Wenn ich dazu aus dem Datenblatt zitieren darf: "AVCC is the supply voltage pin for the A/D Converter, Port C (3..0), and ADC (7..6). It should be externally connected to VCC, even if the ADC is not used."
"AVCC is the supply voltage pin for the A/D Converter" A/D wird NICHT benutzt "It should be externally connected to VCC" SOLLTE man. Ist für einen Test kein MUSS. Geht auch so.
> > Und der Max232 ist auch noch mehr als spärlich beschaltet: kein > Kondensator an Pin2, Kondensator an Pin6 verpolt. Stimmt. Ist aber nur falsch abgemalt, in der Schaltung wars richtig. Neues Bild.
Wolfgang schrieb: > Wenn ich dazu aus dem Datenblatt zitieren darf: > "AVCC is the supply voltage pin for the A/D Converter, Port C (3..0), > and ADC (7..6). It should be externally connected to VCC, even if the > ADC is not used." "should be" = sollte... D.h. im Datenblatt-Englisch üblicherweise: eine Empfehlung, die gewisse Vorteile verspricht, aber auch ignoriert werden kann, ohne die grundsätzliche Funktion oder gar das Überleben des Bauteils zu gefährden. Wenn da gestanden hätte "must be" oder gar "has to be", dann hättest du sicher Recht gehabt. Steht da aber nicht.
>>"AVCC is the supply voltage pin for the A/D Converter" >>A/D wird NICHT benutzt >>"It should be externally connected to VCC" >SOLLTE man. Ist für einen Test kein MUSS. Geht auch so. Nein geht es eben nicht. Es gab hier schon genug Threads wo das Gegenteil bewiesen wurde.
Und wenn man das liest: The ADC has a separate analog supply voltage pin, AVCC. AVCC must not differ more than ±0.3V from VCC. Ist offen lassen keine Option.
Jetzt würd ich das gerne als erledigt markieren. Wie geht das? Ich hab mich getraut, auch den letzten mir verbliebenen Atmega8 umzufusen und hab davon ein Video gemacht. Er hat überlebt und tut nun, was er erst mal soll (UART geht). Oszillator an Pin9 (bitte nicht weiterstreiten wegen dem fehlenden AVCC im Testaufbau - war ja nur qnd). Nun gehts an die MPU6050, aber da mach ich dann einen anderen Thread auf, wenns nicht klappt. Vielen Dank an alle, für das Verbraten von Hirnschmalz. Thomas
holger schrieb: > Nein geht es eben nicht. Es gab hier schon genug Threads > wo das Gegenteil bewiesen wurde. Ursprünglich war das aber angeschlossen. Und da funktionierte es auch schon nicht. Aber (A)Vcc und GND wird grundsätzlich komplett angeschlossen. Und jeweils mit 100nF versehen. Da wird überhaupt nicht drüber diskutiert. mfg.
Thomas H. schrieb: > Jetzt hab ichs nochmal gemessen, direkt Kabel an Pin9 drangehalten. > Jetzt wieder mit dem Oszillator. Takt kommt an. Der Chip ist wohl echt > hinüber. Dann bleibt als Erklärung noch: Wackelkontakt in der SPI-MOSI-Leitung, d.h.: es wurde irgendwelcher Müll in die Fuses geschrieben, nicht das, was beabsichtigt war. Wiederbelebung per HV-Programming möglich. Alternativ: Durchtesten aller möglichen Taktquellen, bis die gefunden ist, auf die du das Ding ungewollt programmiert hast. Bei genauerer Betrachtung ist das garnicht so viel, was da durchprobiert werden muß, die meisten Clockoptionen beziehen sich ja auf nur das "Startverhalten" und mit einem Oszi kann man auch leicht feststellen, ob durch XTAL2 ein externer Schwinger angeregt werden soll, womit sich der Suchbaum sehr schnell erstmal in zwei Hälften zerlegen läßt.
>Alternativ: Durchtesten aller >möglichen Taktquellen, bis die gefunden ist, auf die du das Ding >ungewollt programmiert hast. Am wahrscheinlichsten ist das er sich die RSTDIBL Fuse weggeblasen hat. Dann funktioniert ISP überhaupt nicht mehr. Egal was er da an Takt anlegt.
O.T. Über das "SOLLTE" in Datenblättern könnte ich mir auch die Schwindsucht an den Hals ärgern. Es fehlt nur noch: "Der Kontroller sollte eine Betriebsspannung erhalten" :-( Da kann man nur noch Loriot zitieren: "ACH?!" MfG Paul
Lege den Takt bitte mal an xtal2 von einem defekten atmega und versuche ihn zu programmieren. Gruß Fathi
>Lege den Takt bitte mal an xtal2 von einem defekten atmega und versuche >ihn zu programmieren. Er hat einen 4MHz Taktgenerator. Das wird nichts bringen.
> Lege den Takt bitte mal an xtal2 von einem defekten atmega und versuche > ihn zu programmieren. Und was soll das? Da kann er sich auch einen Finger ins linke Ohr stecken und danach ins rechte. Und wenn das auch nichts nützt, sucht er sich noch eine Körperöffnung irgendwo dazwischen. mfg.
Fathi schrieb: > Lege den Takt bitte mal an xtal2 von einem defekten atmega und versuche > ihn zu programmieren. > > Gruß > Fathi Danke auch noch für diesen Hinweis, aber da nun wieder etwas geht, lege ich einen Mülleimer von unten an den Atmega an und schau garnicht weiter, was passiert. Thomas
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.