Forum: Mikrocontroller und Digitale Elektronik Mega8 ISP-Programmierung klappt nur einmal


von Sergej D. (Firma: Keine) (2sergej)


Lesenswert?

Hallo!
Ich verwende einen Atmega8L 8AU (Low-Power-Variante mit max. 8MHz).
Den möchte ich In-System programmieren.
Als Programmer verwende ich mySmartUSB. Mit einem anderen Projekt
(mit dem gleichen Controller) hat das Ganze einwandfrei funktioniert.
Der Controller hängt an 3,3Volt und wird von seiner eigenen Platine 
gespeist, also nicht von dem Programmer. SCK, MOSI, MISO und RESET habe 
ich wie gewohnt verbunden. Damit der Programmer vor dem Brennen den µC 
auch auf RESET und damit auf gleichem GND-Potential halten kann habe ich 
Gnd von Programmer und der Platine miteinander verbunden.
Nun erkennt mein Brennprog den Controller am Anfang einwandfrei.
Dann habe die Fuse für externes Quarz aktiviert, (wie auch früher) und 
dann ein winziges Prog raufgebrannt. Dieses funktionierte dann auch. 
Doch als ich eine aktuellere Version brennen wollte, gab es ne 
Fehlermeldung. Auch der Controllertyp wird nun nicht mehr erkannt.
Nachdem ich den µC ausgetauscht habe, funktonierte es wieder bis zu dem 
Punkt des Neubrennens aktuelleren Hexfiles.
Zuerst dachte ich, das liegt am Brown-Out - Level, welches bei zu 
geringer Betriebsspannung den Controller zurücksetzt. Also habe ich die 
3,3V auf 5V erhöht. Trotzdem NIX.

Wer kann mir da weiterhelfen??

Danke, im voraus

S.

von Di P. (drpepper) Benutzerseite


Lesenswert?

funktioniert dein quarz in der schaltung?

kannst du den controller mehrmals programmieren, wenn du den internen 
oszillator benutzt?

von Sergej D. (Firma: Keine) (2sergej)


Lesenswert?

Danke für die rasche Antwort!
Ob das geht kann ich leider nicht sagen!
Habe wie gesagt die ext. Osc. Fuse verstellt und
dann das Prog gebrannt, danach wollte der µC ja nicht mehr mit mir reden 
:-(
Hab aber auch schon das Quarz gewechselt...macht keinen Unterschied.
Kann das ja mal mit dem internen Osc. probieren...poste nur, weil ich 
ein weiteres Auslöten, und Austauschen vermeiden möchte.
Danke
S.

von Sergej D. (Firma: Keine) (2sergej)


Angehängte Dateien:

Lesenswert?

Kleiner Nachtrag...
Die Fehlermeldung kam übrigens schon während des zweiten Brennversuches.
Das ursprüngliche Programm funzt natürlich auch nicht mehr.
Habe einen Teil des Schaltplans mal mitgeschickt.
Vielleicht habe ich da irgendwas verzapft.

Danke Euch
S.

von (prx) A. K. (prx)


Lesenswert?

Ein ATMega8L kann bei 14,7MHz noch funktionieren, muss es aber nicht, 
denn er ist nur bis 8MHz getestet.

von Sergej D. (Firma: Keine) (2sergej)


Lesenswert?

....hast Recht!
Ist im Schaltplan noch nicht geändert...
Ich verwende 3.6864MHz
Sorry

von Sergej D. (Firma: Keine) (2sergej)


Lesenswert?

Meine letzte Antwort sieht wohl so aus, als wäre alles geklärt...
nein....am Quarz liegt es nach meiner Erkenntnis auch nicht

von Reinhard R. (reirawb)


Lesenswert?

Bei mir funktioniert ein wiederholtes Programmieren erst, wenn ich den 
programmierten Controller vorher gelöscht habe. Ich benutze allerdings 
ein anderes Programmiersystem mit PonyProg und einen 
Eigenbau-Serielladapter.

Falls diese Antwort zu trivial und das Löschen aber auch sowas von 
selbstverständlich sein sollte oder das vom OP benutzte 
Programmiersystem das sowieso automatisch macht, vergesst das Posting.

Reinhard

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


Lesenswert?

So trivial ist das gar nicht. Auch beim AVR-Studio kann man den Haken 
(warum auch immer) beim "Erase device before programming" heraus machen 
und dann hat man den Salat.

von Christian R. (supachris)


Lesenswert?

Sergej Dragunov wrote:

> Habe wie gesagt die ext. Osc. Fuse verstellt und

Ein externer Oszillator ist aber nicht das gleiche wie ein Quarz.

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


Lesenswert?

Leg doch einfach mal einen Takt >1Mhz an XTAL1 des "kranken" 
Controllers.

von Anonymous (Gast)


Lesenswert?

Hi,

ich habe auch genau das gleiche Problem. Ich habe STK500 und Atmega88V. 
Ich kann den Mikrocontroller nur dann programmieren, wenn ich ihn vorher 
lösche. Weiss nicht, woran es liegt...

Gruß

von Christian R. (supachris)


Lesenswert?

Anonymous wrote:
> Hi,
>
> ich habe auch genau das gleiche Problem. Ich habe STK500 und Atmega88V.
> Ich kann den Mikrocontroller nur dann programmieren, wenn ich ihn vorher
> lösche. Weiss nicht, woran es liegt...
>
> Gruß

Ist die Frage ernst gemeint? Flash-Speicher muss man vor dem 
Programmieren immer löschen. Das ist kein Problem, das ist einfach so. 
Lies mal bei Wikipedia.

von gast (Gast)


Lesenswert?

@Christian

Vorher musste ich in AVRStudio nur den Knopf "Program" drucken.
Jetzt muss ich zuerst den Mikrocontroller mit "Erase Device" löschen und 
dann kann ich ihn erst programmieren.

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


Lesenswert?

Dann mußt Du den Haken bei "Erase device before flash programming" 
wieder ´rein machen!

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.