Forum: Mikrocontroller und Digitale Elektronik Wieder einer Probleme mit Programmieren des AVR


von Sepp (Gast)


Lesenswert?

Ich habe folgendes Problem:

Ich kann zwar Cchip-ID, Fusebit's, Lockbitts, Flash, EEProm auslesen, 
aber nichts in Flash oder EEProm schreiben.

Ich arbeite mit 1MHz internem Takt.
Der Prozessor ist ein ATmega8L.
Die Spannung beträgt 4,9V.
Es sind ein 100nF Keramik und ein 10uF Elko zwischen VCC und GND.
Am Resetpin ist ein 10K Widerstand gegen VCC.
Dass Ganze ist auf einer Lochrasterplatine aufgebaut und ich habe 1mm^2 
Dräte verwendet.
Die Länge von SCK,MOSI,MISO,VCC und GND zum Programmieranschluss beträgt 
ca. 10mm. Vom Programmieranschluss zum Programmer ca. 50mm.
Es wird ein Programmieradapter mit 74HCT244 verwendet, der bei den 
anderen Schaltungen einwandfrei funktioniert.
Ich habe versucht das Programm mit YAAP und CodeVisionAVR zu 
überspielen.

Bei YAAP scheitert der Programmiervorgang beim Blank-Check.
Merkwürdigerweise immer bei einer anderen Adresse.

CodeVisionAVR hängt sich entweder beim zurückschreiben des EEProms auf 
oder meldet dass die Prozessor ID nicht stimmt.

Ich habe sämtliche Leitungen, den uC und den Programmieranschluß 
gewechselt.
Leider ohne Erfolg.
Weis jemand wass ich sonst noch versuchen könnte?

von -_-_-_-_-_ (Gast)


Lesenswert?

Hängt etwas am ISP?
Ist irgend ein Verbraucher, Modul,... angeschlossen dass beim 
Programmiervorgang dazwischenfunken kann?

von SF (Gast)


Lesenswert?

Betriebsspannung am µC vorhanden? Der Programmer liefert normalerweise 
keine Betriebsspannung! 10K Widerstand am Reset Pin abklemmen? 
Programmiergeschwindigkeit herabsetzten? Neuer µC läuft meistens auf 
1Mhz, deshlab maximalen Programmiertakt auf 250Khz besser 125Khz setzen. 
µC außerhalb der Schaltung nur mit angelöteteten externen Vcc/Gnd und 
MISO/MOSI/SCK/RESET im fliegenden Aufbau programmieren?

von Sepp (Gast)


Lesenswert?

@-_-_-_-_-_

Ich habe bevor ich meine erste Frage gepostet habe alle Verbindungen 
aufgemacht um genau diesen Fall auszuschließen.
Auf der Platine ist nur der Prozessor in Minimalbeschaltung.

@SF

Am Prozessor liegen 4,9V an.
Also für einen L-Typ genug.
Der Programmer wird über sie Schaltung versorgt.
Am Treiber IC des Programmers liegen 4,85V an.

Dass Abklemmen des pull up am Reset werde ich mal austesten und es mit 
internem Pull up versuchen.

Bei Yaap kann man die Programmiergeschwindigkeit nicht ändern.
Beim CodeVisionAVR habe ich den Teilerfaktor in 10er Schritten bis 90 
ausgetestet.

Wenn es mit dem Entfernen des Pull Up's nicht klappt, werde ich mir eine 
Programmierzange mit eigener Energieversorgng bauen.
Mal schaun ob dass funktioniert.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Sepp schrieb:
> Ich habe folgendes Problem:
>
> Ich kann zwar Cchip-ID, Fusebit's, Lockbitts, Flash, EEProm auslesen,
> aber nichts in Flash oder EEProm schreiben.
>
> Ich arbeite mit 1MHz internem Takt.
> Der Prozessor ist ein ATmega8L.
> Die Spannung beträgt 4,9V.

Ist der ISP-Takt zu schnell? AFAIR darf dieser nicht hoeher sein als 1/4 
des Systemtaktes. Ansonsten einfach mal Schaltplan posten.

> Es wird ein Programmieradapter mit 74HCT244 verwendet, der bei den
> anderen Schaltungen einwandfrei funktioniert.

Ok, das erklaert so einiges...

von Sepp (Gast)


Lesenswert?

>> Es wird ein Programmieradapter mit 74HCT244 verwendet, der bei den
>> anderen Schaltungen einwandfrei funktioniert.
>Ok, das erklaert so einiges...
Und was?


Übrigens, ich habe den Fehler gefunden.
Am Kondensator zwischen Reset und Gnd war eine kalte Lötstelle.
Ich habe sie nachgelötet und alles ist so gelaufen wie es sollte.
Kleiner Fehler, große Ursache ;)


Ich bin daraufgekommen als ich mir zur Abwechslung den Reset-Pegel nicht 
mit dem Multimeter sondern  mit dem Oszi überprüft habe.
Denn mit angeschossenem Oszi hat der Programmiervorgang fehlerfrei 
funktioniert.

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.