Forum: Mikrocontroller und Digitale Elektronik Problem beim Verifizieren des Schreibvorgangs (AVR-Studio,m8 über ISP)


von Peter M. (forcexx)


Angehängte Dateien:

Lesenswert?

Hallöchen zusammen,

ich beschäftige mich seit einiger Zeit mit Mikrocontrollern und habe 
mich mal an das AVR-Tutorium gesetzt.

Den Versuchsaufbau habe ich nach Anleitung gebaut (siehe Anhang 1.) , 
der Atmega8 wird auch von AVR-Studio erkannt.
Als ich allerdings den Beispielcode aus der nächsten Lektion auf den mc 
schreiben möchte, erhalte ich einen Fehler beim Verifizieren (siehe 
Anhang 2.).
1
Verifying Flash...Failed! address=0x0000 expected=0x0f actual=0x00

 Der Schreibvorgang an sich müsste eigentlich funktioneren, denn die 
ersten beiden LED leuchten. Allerdings nur solange bis ich die 
Fehlermelung weg-klicke.


Ein anderes Problem hinter das ich nicht komme ist beim schreiben der 
Fuses des Atmega8.
Hierbei bekomme ich folgende Fehlermeldung (siehe Anhang 3.)
1
One or more registers differs
2
Atmel.VsIde.AvrStudio.Services.TargetService.RegistersMismatchException:


Außerdem wird beim einlesen der Spannung der mc's immer 0,0V ausgelesen, 
obwohl er extern und/oder vom ISP-Programmierer 5 Volt gespeist bekommt.
Die dazu gehörige Fehlermeldung:
1
Read voltage 0,0V is outside selected device's operating range: 2,7 V to 5,5 V.

Anbei sei gesagt ich arbeite mit Windows 7/64Bit und als 
ISP-Programmierer benutze ich den myAVR USB-Light.

Vielleicht erkennt jemand von euch meine Fehler.
Und bitte seid gnädig, ich bin noch Anfänger ;)

mfg

ForceXX

von Karl H. (kbuchegg)


Lesenswert?

Ui.
Ordentlicher Drahtverhau. Das wird schwierig das zu verifizieren, ob da 
alles richtig gesteckt ist.

Auch wenns weh tut: ich würde das alles mal abbauen und nur das 
notwendigste drauf lassen.

Der Mega ist nagelneu?
wenn ja, dann ist das allernotwendigste

* Stromversorgung. jeweils eine Brücke vom der IC-Pinspalte auf die 
jeweilige Verteiler-Schiene
* Blockkondensatoren dicht an die µC-Pins
* die Leitungen vom Programmer
* 10k vom reset Pin nach Vcc, der Widerstand kann ebenfalls wieder 
direkt (also ohne Kabel) von der IC-Pinspalte in die 
Vcc-Verteilerschiene gesteckt werden.

das sind also in Summe ein paar Kabel, die sich dann auch nachvollziehen 
lassen.
Alles andere kommt erst mal weg. Es geht nur darum, ob sich der µC 
programmieren lässt oder nicht.

von g457 (Gast)


Lesenswert?

> Und bitte seid gnädig, ich bin noch Anfänger ;)

Gerne. Zuallererst mal den Drahtverhau aufräumen (i.e. alles entsorgen, 
was nicht zum Programmieren benötigt wird). Dann Abblockkondensatoren 
verteilen (Vcc, AVcc und wenn Du schon dabei bist Aref) und alle Gnd- 
und *Vcc-Anschlüsse adäquat mit Gnd und Vcc verbinden, prüfen nicht 
vergessen.

Dann die ISP-Kabel kürzen und nochmals prüfen, dass auch da alles an die 
richtigen Pins geht. Ggf. auch ein Ossi adäquat dranhängen und 
beobachten.

Das wären so die ersten Schritte, die ich dringend empfehlen würde.

von Karl H. (kbuchegg)


Lesenswert?

PS:
Deine Steck-Kabel sind zwar wunderschön, aber eigentlich willst du die 
nicht wirklich haben.
Bieg dir aus Draht (zb die Reste von Widerstandsanschlüssen) 
entsprechende Brücken zurecht, so dass du zb vom Vcc Pin einfach eine 
derartige Brücke zur nächstgelegenen Vcc-Schiene stecken kannst. Das ist 
in Summe viel übersichtlicher, als wenn man erst mal lange das Kabel 
verfolgen muss, welcher Pin womit verbunden ist und dabei 3 mal in 
diesem Gewusel das Kabel optisch verliert.

von Stefan (Gast)


Lesenswert?

> Read voltage 0,0V

Soweit mir bekannt ist, wird die Spannung nicht über den AVR gemessen, 
sondern vom programmer selbst. Dazu ist keine Kommunikation zum AVR 
nötig.

Wenn Du ganz sicher bist, dass der AVR eine stabile Spannungsversorgung 
hat, dann prüfe mal das Falchkabel vom Programmer. Die gehen öfters mal 
kaputt.

von Stefan (Gast)


Lesenswert?

> Falchkabel
Ich meine Flachkabel. Blöde Tastatur, auf meinem Laptop passiert sowas 
nicht.

von Justus S. (jussa)


Lesenswert?

ist vielleicht die Programmiergeschwindigkeit für einen neuen µC, der 
mit seiner Voreinstellung läuft, zu hoch?

von Peter M. (forcexx)


Angehängte Dateien:

Lesenswert?

Erstmal danke für eure Antworten ;)
Ich habe jetzt wie empfohlen alles unnötige entfernt und die Steckkabel 
ersetzt; bis auf diejenigen die zum ISP-führen (siehe Anhang 1.)
Der Fehler in AVR-Studio tritt jedoch immernoch auf; ich habe 3 
verschiedene Atmega8 ausprobiert, von denen einer auf jeden Fall neu 
ist.
Steck- und ISP-Kabel wurden geprüft; Programmiergeschwindigkeit liegt 
unter 1/4 des Wertes des µC
Vielleicht liegts auch am Programmer bzw. den Einstellungen im 
AVR-Studio?

von g457 (Gast)


Lesenswert?

Miss mal nach ob Vcc auch wirklich überall ankommt (Hintergrund: bei 
manchen Brotbrettern sind die Stromschienen mittig unterbrochen).

Und: AVcc braucht Vcc, keinen Kondensator (sind die Grünen wirklich 
Kondensatoren?

Und: Die Spannung musst Du immer(tm) zurücklesen können.

von Peter M. (forcexx)


Lesenswert?

Hab nachgemessen, VCC kommt überall mit ~4,9V durch. Ja, "die Grünen" 
sind Kondensatoren ;).
Jeweils 0,1uf bzw. 100nF ( hab ich mal irgendwo ausgebaut ).
AVCC geht aber auch direkt auf VCC, kann man auf dem Bild leider etwas 
schlecht erkennen; da geht noch eine Brücke hinter den Kondensatoren 
entlang.

Nachtrag:

Ich habe mich jetzt mit AVR-Dude auseinandergesetzt und da scheint alles 
zu funktionieren. Sowohl das schreiben des Flash-Speichers als auch der 
Fuses für einen externen Oszillator funktioniert ohne Fehler.
Liegt dann wahrscheinlich an meinen Einstellungen in AVR-Studio; 
vielleicht mag er meinen Programmer einfach nicht ;)
Muss ich halt die .hex mit AVRDude flashen.

von Sean G. (atmega318)


Lesenswert?

Hatte das EXAKT gleiche problem vorher (aber atxmega), die lösung war 
vor dem programmieren einmal einen manuellen chip erase zu machen. Also 
im avrstudio ainfach auf erase klicken, und wenn das fertig ist auf 
programm.

von Frank K. (Gast)


Lesenswert?

Ich hatte auch das Problem mit dem Verify bei einem atmega32 der sich 
nur noch mit mit Taktinjektor (4 Mhz auf Pin13) ansprechen lies. Mit der 
Internet-Suche bin ich auf diesen Thread gestoßen und der Tipp mit dem 
"Device Erase" hat funktioniert, also Danke an "Sean Goff"!

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
Noch kein Account? Hier anmelden.