Forum: Mikrocontroller und Digitale Elektronik Eigenartiges Flash-Problem


von Miniaturisierer (Gast)


Lesenswert?

Hi,

ich habe seit zwei Stunden ein eigenartiges Problem beim programmieren 
meines AVR-Controllers:

-In seltenen Fällen klappt das Programmieren

-Etwas öfter als das Programmieren, bekomm ich die Meldung, dass die 
Device-Signature nicht mit der erwarteten übereinstimmt. Ich erhalte 
aber eine Device-Signature ungleich 0x000000 und ungleich 0xFFFFFF, 
sondern eine, die schon danach aussieht, als würde der Controller in 
Ordnung sein -- nur ist es eben nicht die, die für diesen Controller 
passt.

-In den allermeisten Fällen aber meldet avrdude: "device not 
responding".

Es handelt sich um einen ATmega8, den ich mit einem 
Parallelport-Programmierer bespiele.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> seit zwei Stunden
Und davor ging es?
Was hast du um 19:17 Uhr gemacht?

Versorgungsspannung ok (Blockkondensatoren)?
Pullups- oder Pulldowns in den Programmierleitungen?
Kabellänge des Programmers?
Welcher Programmer?
Welche Software?

von Markus (Gast)


Lesenswert?

Solche Fehler hatte ich mit meinem PP-Programmer, wenn die 
Versorgungspannung weg war. Der AVR wurde dann über den Parallel-Port 
gespeist. Das reichte manchmal für das komplette Programmieren, oftmals 
aber nichtmal, um die Signatur richtig zu lesen (aber eben mehr als 
0x0000 oder 0xffff).

Andere Sachen:
Hast du schon mal einen anderen Controller benutzt?
Alle Datenleitungen geprüft?

Gruß,
Markus

von Miniaturisierer (Gast)


Lesenswert?

Hi,

ich habe verschiedene ATmega8L probiert. Leider kein Erfolg. Gespeist 
wird das ganze von einem Labornetzteil. Die Spannung direkt am µC ist 
auch glatt. Auch während des Programmiervorgangs (-versuchs).

Ich habe jetzt mal an den ATmega direkt die Programmierleitungen 
angehlötet und zusätzlich VCC und GND rausgeführt für die 
Stromversorgung. Außerhalb der Schaltung kann ich ihn programmieren. Ich 
habe jetzt also keinen ISP mehr sondern einen OSP 
(Out-System-Programmer). :-D

Naja, auf jeden Fall ist das sehr ärgerlich, da ich keinen Fehler in der 
Schaltung entdecke. Ich vermute, dass irgendwo Flussmittel rumfährt und 
damit irgendwelche parasitären Kapazitäten... es bleibt wohl nichts 
anderes übrig, als das ganze neu zu bauen...

von Michael U. (amiga)


Lesenswert?

Hallo,

jetzt wäre interessant, was an den ISP-Pins in der Schaltung noch 
dranhängt.
Genau das Problem hatte ich letztens mit einem SPI-Flash an einem AVR.
Hatte einfach nur den PullUp am CS des Flash vergessen und beim 
Programmieren floatete der natürlich lustig rum und und wenn der Flash 
aktiv wurde störte das logischerweise.

Gruß aus Berlin
Michael

von Miniaturisierer (Gast)


Lesenswert?

Die Programmierpins werden nur zum Programmieren benutzt und sind nicht 
an weitere Peripherie angeschlossen.

von Michael U. (amiga)


Lesenswert?

Hallo,

dann die Unterbrechung/berührung suchen gehen.
Meine Version 1: ein Tiny ohne GND. Ging meist zu programmieren, nur die 
Software lief nicht komplett.
Version 2: 2 Tage gesucht, warum ein UART mit MAX plötzlich nicht nicht 
mehr sendete. AVR ok, MAX ok, Leitungen hatten Durchgang, Signale 
schienen anzuliegen.
Etwas zuviel Durchgang zwischen TxD und dem benachbarten Pin. Dort lag 
ein Signal an, das die TxD-Signale versaute.

Gruß aus berlin
Michael

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Die Frage

  Kabellänge des Programmers?

ist noch nicht beantwortet worden.

von Miniaturisierer (Gast)


Lesenswert?

Die Kabel sind 1,5m lang.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Vom Programmer zum µC 1.5m? Das ist zu lang. 50cm sind bei hoher 
SPI-Rate bereits grenzwertig. Nur ein spezieller Kabelaufbau (z.B. ISP 
10-pol.) erlaubt Kabellängen über 1m.

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.