Forum: Mikrocontroller und Digitale Elektronik 644PA als 644P gebrannt und nun tot?


von R. B. (britzi)


Lesenswert?

Hallo zusammen,

ich wollte einen Atmega 644PA mit dem "AVR Burn-O-Mat" brennen und habe 
dafür hier aus dem Forum die gänderte XML-Konfigurationsdatei geladen, 
in der auch der 644P enthalten ist.

Da die Signatur vom 644P und dem 644PA gleich zu sein scheint, habe ich 
beim Brennen einfach den 644P ausgewählt.

Beim ersten Brennvorgang leuchtete die Schreiblampe nach 3 min noch 
immer und ich habe einfach mal den Stecker gezogen.

Ich dachte, dass es an der .hex-Datei liegen könnte und habe beim 
zweiten Versuch eine andere Datei ausgewählt. Diese konnte ich brennen, 
aber es dauerte bestimmt 10x so lange, wie normalerweise.

Danach habe ich die Fuses ausgelesen und nur den CKDIV8 ausgeschaltet.
Hiernach konnte ich die Fuses auch erfolgreich erneut auslesen.

Nun habe ich probiert die richtige Datei zu brennen. Beim Verifizieren 
kam dann ein Fehler und seitdem kann ich auf den AVR nicht mehr 
zugreifen.

An MOSI, SCK und RESET ändern sich die Pegel am AVR, aber MISO bleibt 
stets unverändert.



Wo könnte der Fehler liegen und habe ich eine Chance den AVR zu retten?



Vielen Dank

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Es liegt gewiss nicht daran, ob du da nun ein "A" dabei hattest oder
nicht.  Die A-Typen sind ohnehin als drop-in replacement konzipiert, um
die alten in bestehenden Designs abzulösen.

Dein Problem muss irgendwo anders liegen.

Hast du mal probiert, den SPI-Takt runterzusetzen?  (Keine Ahnung, was
du als Programmer benutzt und wie gut der überhaupt ist.)

Hast du die Möglichkeit, per JTAG zu arbeiten?  JTAG taktet selbst und
braucht daher keinen funktionierenden CPU-Takt.

von R. B. (britzi)


Lesenswert?

Ich nutze einen selbst aufgebauten USBasp, der bisher immer einwandfrei 
funktioniert hat.

Der Takt ist dort schon per Jumper runter gestellt.

JTAG habe ich leider nicht zur Verfügung.


Mich wundert es aber, dass schon beim ersten Programmierversuch die 
Programmierung nicht abgeschlossen wurde, sondern anscheinend einfach 
stehen blieb.

Ist es möglich, dass der AVR von Anfang an schon einen Schaden hatte?

von Andre S. (andys)


Lesenswert?

R. B. schrieb:
> Ist es möglich, dass der AVR von Anfang an schon einen Schaden hatte?

das glaub ich kaum denn nach der herstellung werden jede geprüft ob er 
geht.

von Oliver R. (orb)


Lesenswert?

Andre St. schrieb:
> das glaub ich kaum denn nach der herstellung werden jede geprüft ob er
> geht.

Und je nach Händler auch garantiert nicht unter Missachtung der 
ESD-Vorgaben neu verpackt und verschickt. ;-)
DOA ist auch bei Halbleitern möglich.

von R. B. (britzi)


Angehängte Dateien:

Lesenswert?

Er funktioniert wieder.

Ich weiß nicht wie, aber irgendwie war er verfust.
Nachdem ich von einem anderen ATmega ein getoggeltes Signal an Xtal1 
gelegt habe, konnte ich wieder darauf zugreifen.

Es ist mir allerdings nicht klar, wie das passieren konnte.

Die .hex-Datei scheint tatsächlich irgendwie fehlerhaft zu sein.
Andere Dateien lassen sich problemlos flashen. Nur die eine nicht.


Aber irgendetwas stimmt trotzdem nicht.
Ich kann die Fuses nicht korrekt einstellen!
Wenn ich bei CKDIV8 das Häkchen entferne kann ich die Fuses schreiben 
und er sagt mir, dass alles erfolgreich verlief.

Wenn ich die Fuses allerdings danach erneut auslese sieht das ganze wie 
oben in der angehängten Grafik aus.

Ab und zu bekomme ich auch eine Fehlermeldung:
avrdude.exe: Device signature = 0x3c0102
avrdude.exe: Expected signature for ATMEGA644P is 1E 96 0A

Wenn ich allerdings danach nochmal auf lesen oder schreiben gehe, kommt 
die Fehlermeldung nicht mehr.

Woran kann das liegen?


Edit:

Auch das Schreiben von Programmen oder mindestens das Verifizieren 
klappt nicht:

avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
             0x12 != 0x00
avrdude.exe: verification error; content mismatch

Und wenn ich die Fuses mehrfach hintereinander auslese, werden immer 
andere gesetzte Fuses angezeigt.


Gibt es vielleicht doch Unterschiede zwischen dem 644P und dem 644PA, 
die zu diesen Problemen führen können?

: Bearbeitet durch User
von Georg G. (df2au)


Lesenswert?

Die Glaskugel sagt, dass dein Programmer einen Schuss weg hat. Am 
Prozessor liegt es nicht.

von R. B. (britzi)


Lesenswert?

Georg G. schrieb:
> Die Glaskugel sagt, dass dein Programmer einen Schuss weg hat. Am
> Prozessor liegt es nicht.

Das glaube ich ehrlich gesagt nicht.
Ich brenne regelmäßig damit ATmega8-Prozessoren und es tauchen dabei nie 
Fehler auf.

Ich vermute eher, dass AVRdude bzw. der Burn-O-Mat Probleme mit dem 
644PA hat. Aber wieso, weshalb, keine Ahnung.

von ich (Gast)


Lesenswert?

R. B. schrieb:
> Ich brenne regelmäßig damit ATmega8-Prozessoren und es tauchen dabei nie
> Fehler auf.

Auch, nachdem der Fehler beim 644 aufgetreten ist?
Hast du seitdem mal wieder andere Prozessoren gebrannt?

von R. B. (britzi)


Lesenswert?

ich schrieb:
> R. B. schrieb:
>> Ich brenne regelmäßig damit ATmega8-Prozessoren und es tauchen dabei nie
>> Fehler auf.
>
> Auch, nachdem der Fehler beim 644 aufgetreten ist?
> Hast du seitdem mal wieder andere Prozessoren gebrannt?

Jepp, ebengerade testweise einen Mega8 und alles verlief einwandfrei wie 
immer.

Ich habe zwischenzeitlich gegoogelt und auch andere Leute scheinen 
dieselben Probleme mit Avrdude und dem 644PA zu haben.

Leider habe ich nur Sachen gefunden, die weder in Deutsch, noch in 
Englisch waren.

von holger (Gast)


Lesenswert?

>Ab und zu bekomme ich auch eine Fehlermeldung:
>avrdude.exe: Device signature = 0x3c0102
>avrdude.exe: Expected signature for ATMEGA644P is 1E 96 0A
>
>Wenn ich allerdings danach nochmal auf lesen oder schreiben gehe, kommt
>die Fehlermeldung nicht mehr.
>
>Woran kann das liegen?

>Und wenn ich die Fuses mehrfach hintereinander auslese, werden immer
>andere gesetzte Fuses angezeigt.

Das deutet auf jeden Fall schon mal auf einen zu hohen
ISP Takt hin. Es könnte aber auch eine schlechte Verbindung
sein, z.B. Kabel zu lang, Masse vergessen. Whatever.

>avrdude.exe: Device signature = 0x3c0102

Schiebt man das vordere 0x3C mal eins nach rechts
hat man ein 0x1E. Irgendwie das MSB verschluckt.
Auch das deutet wieder auf das oben von mir gesagte hin.

von holger (Gast)


Lesenswert?

Einen Schaltplan hat bisher auch noch keiner gesehen.
Dann kommen noch AVCC nicht angeschlossen, nicht alle GND
angeschlossen und vergessene Abblockkondensatoren in Frage.

von R. B. (britzi)


Lesenswert?

Vielen Dank :-)

Vermutlich ist des Rätsels Lösung die Tatsache, dass ich die Schaltung 
auf einem Breadboard aufgebaut habe. Allerdings sind die Drähte zum 
Progger max. 10 cm lang.

Weiterhin sind beide GND angeschlossen und jeweils zwischen Vcc und Avcc 
100nF gegen Ground. Die 5 V stammen aus einem 7805 der natürlich auch 
mehrere Kondensatoren besitzt.

Die Kontakte sind ja da. Insofern verwundert es mich, dass das ganze so 
anfällig sein soll.

Wieso kann ein solcher Aufbau völlig falsche Fuses setzen?
Irgendwie ist mir das schleierhaft.

: Bearbeitet durch User
von holger (Gast)


Lesenswert?

>Vermutlich ist des Rätsels Lösung die Tatsache, dass ich die Schaltung
>auf einem Breadboard aufgebaut habe. Allerdings sind die Drähte zum
>Progger max. 10 cm lang.

10cm ist ok.

Bei manchen Breadboards sind die blauen und roten
Stromversorgungsschienen in der Mitte nicht verbunden.
Check das mal.

von R. B. (britzi)


Lesenswert?

Danke für den Tipp.

Ich traue den Breadboardkontakten sowieso nicht und habe deshalb schon 
zu Beginn alles auf Durchgang geprüft und auch geschaut, wo wirklich GND 
anliegt und wo eine Spannung.

Das passt alles soweit.
Reset ist auch mit 10k gegen VCC beschaltet. Das sollte also auch 
passen.
Mehr gibts an Schaltung erst einmal nicht. Das ist eine reine 
Minimalschaltung zum programmieren.

Das ist irgendwie alles schon komisch.

Beim Brennen eines Programms kommt jetzt immer:
avrdude.exe: verification error, first mismatch at byte 0x0000
             0x12 != 0x00

: Bearbeitet durch User
von eProfi (Gast)


Lesenswert?

Es liegt vermutlich am Aufbau.
Versuche mal, in die 3 Programmierleitungen Serien-Widerstände (10 - 100 
Ohm, was Du gerade da hast, aber keine Drahtwiderstände) zu legen. Das 
dämpft die Fehlanpassung --> weniger Ringing --> bessere Übertragung.

Schau mal, ob die Vcc wirklich stabil ist und nicht schwingt, Gnd lieber 
mehrfach legen.
Mein Tip: Breadboard weg, Lochraster her und mit CuL fädeln, ist 10 mal 
sicherer.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

R. B. schrieb:
> Ich vermute eher, dass AVRdude bzw. der Burn-O-Mat Probleme mit dem
> 644PA hat.

Dem AVRDUDE ist das Teil ziemlich egal.  Das schiebt nur seine
Anweisungen an dein USBasp rüber, das muss die Drecksarbeit dann
machen.

Setz' wirklich mal den ISP-Takt runter.  So ein USBasp ist preiswert,
aber kann keine Wunder vollbringen.  Das Teil ist in erster Linie damit
beschäftigt, den USB zu bedienen.  Nur, während der Bus ihm Luft lässt,
kann es sich gelegentlich mal um die Programmierung deines AVRs kümmern
… das Signal sieht auf dem Logikanalysator ziemlich verquer aus ;-), 
aber
es funktioniert durchaus, und es ist preiswert.

Wenn du was Besseres haben willst, dann kauf' dir halt einen Dragon
oder ein AVRISPmkII oder jetzt ein Atmel-ICE (Nachfolger des JTAGICE3).

von R. B. (britzi)


Lesenswert?

Vielen Dank für die Antworten.

Ich probiere am Wocheende mal einen Lochrasteraufbau.
Vielleicht muss ich mir doch mal einen anderen Programmer zulegen.
Bisher hat der USBasp immer einwandfrei gearbeitet.

Der USBasp ist schon auf einen niedrigen Takt gejumpert.
Falls ich den Takt auch per Software reduzieren kann, gebe ich zu, dass 
ich nicht weiß, wie ich das mit avrdude anstelle.

von R. B. (britzi)


Lesenswert?

Da anscheinend ein USBasp nicht so toll ist, wird nun ein Dragon 
einziehen ;)

von Martin (Gast)


Lesenswert?

R. B. schrieb:
> Falls ich den Takt auch per Software reduzieren kann, gebe ich zu, dass
> ich nicht weiß, wie ich das mit avrdude anstelle.

mit -B kann man den Takt per Software reduzieren.

von Martin (Gast)


Lesenswert?

Probiere mit
-B1 der Controller mit mehr als 4 MHz läuft oder -B10

von R. B. (britzi)


Lesenswert?

Danke,

das werde ich mal probieren!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Martin schrieb:
> mit -B kann man den Takt per Software reduzieren.

Voraussetzung ist eine hinreichend neue Firmware auf dem USBasp.

von Martin (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Voraussetzung ist eine hinreichend neue Firmware auf dem USBasp.

Stimmt muss eigentlich die letzte Firmware von USBasp drauf sein oder?

von R. B. (britzi)


Lesenswert?

Martin schrieb:
> Jörg Wunsch schrieb:
>> Voraussetzung ist eine hinreichend neue Firmware auf dem USBasp.
>
> Stimmt muss eigentlich die letzte Firmware von USBasp drauf sein oder?

Ich habe keine Ahnung, welche Version drauf ist, aber sie ist bestimmt 2 
Jahre alt.

Nun freue mich mich auf den Drachen.

USBasp ade ;-)

von Josep C. (Firma: noch keins) (josep)


Lesenswert?

R. B. schrieb:
> Nun freue mich mich auf den Drachen

Und damit du keine Überraschung mit dem Drachen erlebst beachte bitte 
das mit dem Gehäuse.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Josep Correa schrieb:
> Und damit du keine Überraschung mit dem Drachen erlebst beachte bitte
> das mit dem Gehäuse.

Die Pappschachtel genügt.  Die ESD-Matten sollte man natürlich
rausnehmen. ;-)

Mittlerweile kann man ja schon fast überlegen, ob man statt eines
Drachens das nackte Board vom neuen Atmel-ICE kauft.  Die Dinger kosten
im Atmel-Webshop USD 32 (plus Versand und 19 % EUSt):

http://store.atmel.com/PartDetail.aspx?q=p:10500376;c:100112#tc:description

Allerdings sind die 1,27-mm-Steckerchen nicht gerade gängig, die man
zum Selbstcrimpen der Kabel bräuchte.

von Georg G. (df2au)


Lesenswert?

Jörg Wunsch schrieb:
> Selbstcrimpen der Kabel

Und für die Originalkabel will Atmel richtig Geld sehen.

von Avrdude (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Wenn du was Besseres haben willst, dann kauf' dir halt einen Dragon
> oder ein AVRISPmkII oder jetzt ein Atmel-ICE (Nachfolger des JTAGICE3).

Jörg Wunsch schrieb:
> Mittlerweile kann man ja schon fast überlegen, ob man statt eines
> Drachens das nackte Board vom neuen Atmel-ICE kauft.

Hm... Dann wird nen AVRDUDE 6.2 geben oder ;-)

von Markus (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Mittlerweile kann man ja schon fast überlegen, ob man statt eines
> Drachens das nackte Board vom neuen Atmel-ICE kauft.  Die Dinger kosten
> im Atmel-Webshop USD 32 (plus Versand und 19 % EUSt):
>
> http://store.atmel.com/PartDetail.aspx?q=p:10500376;c:100112#tc:description

Wenn man direkt beim Store in Atmel kauft, muss man dann die 
Einfuhrsteuer in DE zahlen bzw. wird man von Zoll zum Kasse gebeten 
weiss jemand was davon?

von Georg G. (df2au)


Lesenswert?

Markus schrieb:
> Jörg Wunsch schrieb:
>> Mittlerweile kann man ja schon fast überlegen, ob man statt eines
>> Drachens das nackte Board vom neuen Atmel-ICE kauft.  Die Dinger kosten
>> im Atmel-Webshop USD 32 (plus Versand und 19 % EUSt):
>>
>> http://store.atmel.com/PartDetail.aspx?q=p:1050037...
>
> Wenn man direkt beim Store in Atmel kauft, muss man dann die
> Einfuhrsteuer in DE zahlen bzw. wird man von Zoll zum Kasse gebeten
> weiss jemand was davon?

Wenn der Shop außerhalb der EU ist, musst du EUSt zahlen, immer. Auf 
einige Waren kommt noch Zoll drauf. Wenn der Wert der Ware+Porto unter 
etwa € 25.- liegt, würden die Abgaben die Verwaltungskosten nicht 
decken. Und daher - oh Wunder, die Behörde denkt betriebswirtschaflich - 
bekommst du es für lau.

Kennt jemand die Bezeichnung der Stecker und weiß, wo man die bekommt?

von Markus (Gast)


Lesenswert?

Alles klar!
Jap es kommt aus Malaysia.

Georg G. schrieb:
> Kennt jemand die Bezeichnung der Stecker und weiß, wo man die bekommt?

Wäre schön zu wiessen wo man solche Stecker bekommt, eventuell lohnt 
sich wie Jörg schreib, nur das PCB zu kaufen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Avrdude schrieb:
> Dann wird nen AVRDUDE 6.2 geben oder ;-)

6.1 reicht doch erstmal, oder?

Im SVN isses schon drin.

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

Markus schrieb:
> Alles klar!
> Jap es kommt aus Malaysia.

Ist jetzt die Frage wie hoch die Versandkosten sind.
Wird aber wohl mehr als drei Euro sein ;-)

Wobei ich sagen muss das Atmel gelernt zu haben scheint und das Preise 
sind wo ich auch so langsam beginne zu überlegen ob ich meine ATMEL 
Ausrüstung nicht mal auf einen neueren Stand bringe.
(Da ich ATMEL seit 2008 nur noch in Ausnahmefällen einsetze will ich ja 
nun auch keine all zu hohen Summen für Dev. Tools auf den Tisch legen. 
Aber 30 bzw. 50Euro für einen neueren Debugger der auch die SAM debuggen 
kann ist ne Überlegung wert.)

Daher: Kennt jemand die Versandkosten? Auf der Website finde ich keine 
Angaben und ich habe keine Lust erst den ganzen Bestellprozess incl. 
Reg. usw. zu durchlaufen nur festzustellen das die am ende 50Euro für 
Versand nach DL haben wollen...
>
> Georg G. schrieb:
>> Kennt jemand die Bezeichnung der Stecker und weiß, wo man die bekommt?
>
> Wäre schön zu wiessen wo man solche Stecker bekommt, eventuell lohnt
> sich wie Jörg schreib, nur das PCB zu kaufen.

Wobei - wenn man eh nur die nackte PCB kauft um die in ein eigenes 
Gehäuse zu packen, dann könnte man intern auch KAbel direkt an die 
1,27mm Buchsen anlöten (Geht ja auch auf der Platine, muss ja nicht die 
Kontakte selbst nehmen) und dann die Leitung auf gängige 2,54mm 
Wannenstecker führen die man als Kontakt zur Aussenwelt nutzt.

Oder man holt sich die nächst höhere Version, Das Set mit ICE im Gehäuse 
und den zwei am häufigsten genutzten Programmierkabeln für 50 USD.

Gruß
Carsten

von Georg G. (df2au)


Lesenswert?

Versand: USD 27.- bei einem Exemplar, bei zweien sind es USD 33.-. Mehr 
habe ich nicht erforscht.

von R. B. (britzi)


Lesenswert?

Seit heute ist der Drache eingezogen und ich finde meinen USBasp 
plötzlich total doof.

Mit dem Dragon funktioniert alles auf anhieb.
Und er ist einfach total komfortabel mit AVR Studio.

Die Invesition hat sich sicher gelohnt!

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.