Hallo, ICH BIN GANZ NEU IN DER THEMATIK, UND HABE NOCH NICHT SO VIEL AHNUNG!!! BITTE UM VERSTÄNDNIS! Habe auch schon viel gelesen, komme aber einfach nicht weiter.... ich bin gerade beschäfftigt das AVR- Tutorial durch zu arbeiten. Ich habe nun meinen ATmega8 auf einer Platine mit ein paar Taster und Led's, alles so aufgebaut wie es im Tutorial steht. Als ISP verwende ich den AVRISP mkII und als Software das AVR Studio 4. Jetzt habe ich zwei Probleme. Der ISP ist erfolgreich angeschlossen, d.h. ich kann ihn über die Software connecten. Allerdings kann ich irgendwie das assemblierte hex- file nicht in den Controller laden, da bringt er immer den Fehler "Could not connect to ICE40"??? Die Platine habe ich nun schon mehrfach kontrolliert, und diese sollte stimmen. Desweiteren ist mir das mit den Fusebits noch nicht ganz klar. wenn ich den ISP connecte kommt da ja ein Fenster in dem man Fuses und Lockbits ändern kann. Beziehen diese sich auf den ISP oder auf meinen ATmega8? Kann es sein dass ich keine Kommunikation zum ATmega8 aufgrund von den Einstellungen der Fusebits hin bekomme? (Vorab: ich habe noch nichts an den Bits verstellt!) Danke für eure Hilfe!!! Gruß Thomas
Versuche mal den Controller zu programmieren, während du manuell resetest. (reset-taster während der ganzen programmiererei gedrückt halten) hatte mal das gleiche problem. so gehts bei mir.
Thomas schrieb: > Fuses und Lockbits > ändern kann. Beziehen diese sich auf den ISP oder auf meinen ATmega8? Für den Mega natürlich. Im Auslieferungszustand läuft so ein Mega meist aus den internen 8MHz RC-Osc mit CLKDIV8, tuckert also gemütlich mit 1MHz vor sich hin. Ich tät erstmal nichts an den Fuses verändern solang das Ding läuft. Mehr braucht man zum LED-Blinken usw. zunächst nicht. Schau dir aber mal das Datenblatt genau an was man mit den Fuses kann und was man nicht kann. Und wenn du verstanden hast, wie man den Controller aus Versehen tot legen könnte(Taktquelle auf etwas verstellt, was man grad nicht da hat, RSTDISABLE(spricht für sich) oder SPIEN ausgemacht usw.) kannst du dich an die Fuses wagen. Man kann sich mit den Fuses gut aus dem Controller aussperren, Leidensgeschichtzen hierzu findest du bestimmt viele wenn du die Forensuche bemühst. Reset am ISP angeschlossen? Irgendwo Kondensatoren zum "Entprellen" hingetan? Irgendwelche Leitungen vertauscht? Bedenke: der Prozessor muss laufen, damit er bebrannt werden kann! mfg mf
Thomas schrieb: > "Could not connect to ICE40" Das sieht mir sehr danach aus, als wäre der falsche Programmer gewählt.
hmm was heist der falsche Programmer?? lt. Tutorial müsste das doch passen?!?! Controller und ISP sind beide von Atmel?? Oder verstehe ich da was falsch??
Nein, das ist ein völlig anderer „High-End Emulator“.
Thomas schrieb: > hmm was heist der falsche Programmer?? lt. Tutorial müsste das doch > passen?!?! AVR Studio kann viele Typen ansteuern, Deiner ist nur einer davon. Und offensichtlich versucht es mit einem völlig anderen zu verbinden. Schau mal in der Beschreibung Deines AVRISPmkII nach (ist Teil der Hilfe im Studio), da sind die Schritte zum Programmieren sicher beschrieben.
Ich habe mal in der Doku nachgeschaut - Du musst direkt in der Hilfe zum Studio nachsehen, nicht beim AVRISP mkII. Dort gibt es einen Abschnitt "Programming Dialog", der direkt mit der Auswahl des Programmers beginnt. Ich verwende das Studio kaum, deshalb kann ich Dir nur Verweise zum Nachschlagen geben. Dessen Dokumentation habe ich hier online (das Studio nicht).
Menü -> Debug -> Select Platform and Device Dort wählst Du den AVR Simulator (denn mit dem AVRISP mkII kann man nicht debuggen) und deinen ATMega8 aus. Anschließend auf den Connect-Button klicken und deinen Programmer auswählen.
ok, gemacht. Allerdings wenn ich jetzt auf connect klicke und mich dann in den Reitern bewege kommt unten im Fenster immer folgende Fehlermeldung: Setting mode and device parameters.. OK! Entering programming mode.. FAILED! Leaving programming mode.. OK! Was ist da noch falsch?? Kann ich dann davon ausgehen, dass da was mit der Hardware nicht stimmt??
Thomas schrieb: > Was ist da noch falsch?? Kann ich dann davon ausgehen, dass da was mit > der Hardware nicht stimmt?? Entweder das oder deine ISP-Frequenz ist zu hoch. Die darf nicht mehr als 1/4 der Taktfrequenz des Controllers betragen. Wie hoch die bei einem fabrikneuen ATMega8 ist, der noch den internen RC-Generator als Taktquelle verwendet müsstest Du mal im Datenblatt nachlesen.
1. Hast Du in dem "Connect"-Dialog das richtige hex-file angegeben? Das muss man immer selbst auswählen (zumindest kenne ich das nur so). 2. Was steht denn in den Statuszeilen wenn du im Fuses-Tab auf Read drückst? 3. Kannst Du im Board-Tab Spannungen sehen? Auf was steht die ISP Frequenz?
Das hex-file habe ich angegeben. Wenn ich im Fuse-Tab auf "read" klicke kommt genau das was ich oben schon mal angegeben habe: Setting mode and device parameters.. OK! Entering programming mode.. FAILED! Leaving programming mode.. OK! den Board-Tab habe ich nicht, aber einen HW-Settings und bei dem sind 4,9V angegeben, das entsprcht genau der Versorgungsspannung am Board. Die ISP Frequenz steht momentan auf 250kHz das entspricht ja einem viertel, da der interne Takt ja 1MHz ist. Habe aber auch daran schon rumgespielt und habe es auch schon mit 125kHz und kleiner probiert, aber immer das gleiche Problem...
Die ISP-Frequenz solltest Du sicherheitshalber auf 125kHz lassen. Es reicht auch aus wenn Du nur versuchst die Signatur des Controllers auszulesen. So lange das nicht funktioniert, funktioniert der Rest auch nicht. Jetzt wäre es an der Zeit ein Schaltbild zu posten. Foto vom Aufbau könnte auch hilfreich sein.
ok der Schaltplan hier ist derjenige von diesem Tutorial. Die Spannungsversorgung habe ich extern auf einer kleinen Platine untergebracht, und diese funktioniert auch einwandfrei. Und das zweite Bild zeigt das Board um das es geht. Sieht nicht schön aus, ist ja auch nur ein Prototyp. Danke für eure Hilfe!!
Zumindest die Pinbelegung des 6-poligen ISP-Steckers stimmt nicht. Schau mal hier auf S. 5 http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf Vielleicht hast Du ihn falsch verdrahtet. Der Schaltplan ist doch unvollständig. Was ist mit dem Rest auf deiner Platine? Die LEDs und Schalter tauchen dort nicht auf. Wo sind die angeschlossen und wie? Ein Elko zum Stützen der Spannungsversorgung auf der Platine könnte übrigens auch nicht schaden.
ja stimmt die Pinnbelegung habe ich schon 100 mal kontrolliert diese ist auch korrekt, nicht so wie auf dem Schaltplan. Sorry hatte ich vergessen zu erwähnen. Die Led's und Taster gehen auf Ein und Ausgänge vom ATmega8. Angeschlossen sind diese wie im Tutorial beschrieben (siehe Link: http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen). Du sagst der Schaltplan sei unvollständig, was meinst du damit??
Thomas schrieb: > Du sagst der Schaltplan sei unvollständig, was meinst du damit?? Damit meinte ich eben, dass Taster, LEDs usw. dort nicht drin sind :-) Hast Du die Taster wie im Tutorial an Port D und die LEDs an Port B angeschlossen? Trenn doch mal alles von PB2 bis BP5 ab, so dass nur der Programmer dort dran hängt und versuche es noch mal. Es könnte evtl. sein, dass die LEDs den Programmer zu sehr beeinflussen. Nur zur Sicherheit: Pin 1 am 6-poligen Stecker ist der Pin oben links auf deinem Foto. Irgendwo muss es ja dran liegen :-)
Hallo, schau mal hier. Der scheint das selbe Problem wie du zu haben. http://www.roboternetz.de/phpBB2/viewtopic.php?t=24972 lg Biber
Wo sind eigentlich die Vorwiderstände der LEDs? Zumindest auf dem Foto lassen sie sich nicht finden. Ohne die werden dir die LEDs und/oder der Controller ziemlich schnell abrauchen. Auch der Programmer wird nicht mehr funktionieren wenn man sie ohne Vorwiderstand an PB2 bis PB5 anschließt. Das gibt einen netten Kurzschluss wenn auf einer der Leitungen vom Programmer Masse anliegt.
Die Led's haben einen integrierten Vorwiderstand. Ich habe jetzt mal alle Led's und Taster abgelklemmt und einen neuen ATmega8 in den Sockel gestöpselt. Leider immer noch keine Veränderung... Die Steckerbelegung habe ich nochmals mit dem o.g. Hinweis kontrolliert, diese muss stimmen... Ich werde jetzt nochmal ein neues Board aufbauen, vill klappt es dann. Werde mich dann nochmal melden.
So jetzt habe ich das ganze nochmal komplett aufgebaut. Jetzt funktioniert es, was ich aber anderst gemacht habe kann ich echt nicht sagen...??? Ich bedanke mich nochmals für die Hilfsbereitschaft!!! Jetzt kanns weiter gehen :)
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.