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
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??
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 :-)
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 :)