Forum: Mikrocontroller und Digitale Elektronik ISP Programmierung schlägt fehl


von Heiko (Gast)


Lesenswert?

Hallo allerseits!

Ich habe ein großes Problem mit meinem Atmega88PA. Der Mikrocontroller 
steuert einen Funkchip. Ich programmiere über ISP mit einem STK 500, den 
ich mit einer 9V Blockbatterie betreibe. Alles funktionierte soweit, bis 
ich heute mit dem CLKPR "herumspielte". Ich wollte den Takt des 
Mikrocontrollers im Programmablauf ändern mittels eines Datenpakets. Das 
gelang mir auch, glaube ich. Mir ist es also möglich den Takt von 1MHz 
bis 8MHz zu regulieren. Im Atmel-PDF steht auch ausdrücklich, dass man 
den CLK während der Laufzeit anpassen darf. In keinem Fall ist der Takt 
langsamer als 1MHz:

Clock = (ConfData[4] & 0x60) >> 5;

if (Clock == 0) { // 8MHz
   CLKPR = 0x80;
   CLKPR = 0x00;
}
else if (Clock == 1) { // 4MHz
   CLKPR = 0x80;
   CLKPR = 0x01;
}
else if (Clock == 2) { // 2MHz
   CLKPR = 0x80;
   CLKPR = 0x02;
}
else { // 1MHz
   CLKPR = 0x80;
   CLKPR = 0x03;
}

Wenn ich nun versuche den Mikrocontroller zu programmieren, kommt 
folgende Fehlermeldung:
"Setting mode and device parameter .. ok
entering programming mode ..Failed
leaving programming mode.. OK"

Zusätzlich bekomme ich den Hinweis, dass die ISP-Frequenz geringer als 
1/4 des Taktes sein muss. Erwähnenswert ist eventuell noch, dass die 
Batterie nach der letzten erfolgreichen Programmierung leer war, was 
dazu führte, dass WinAVR Studio nicht mal den Programmierer finden 
konnte.

Ich habe dann die Batterie ausgewechselt, aber dann hatte ich das 
Problem mit der oben erwähnten Fehlermeldung und dem Hinweis. Ich bin 
mir sicher, dass der Mikrocontroller mit mindestens 1MHz läuft. Den Takt 
kann ich sogar noch mittels Paketen verändern. Trotzdem habe ich 
sämtliche ISP-Frequenzen probiert, die auswählbar waren und sogar 
5,05kHz ausprobiert. Keine Änderung.
Ich habe auch einen anderen Computer ausprobiert, ohne Erfolg.

Habe ich jetzt den Mikrocontroller "kaputt gespielt" oder was ist los? 
Gibts eine Möglichkeit den Mikrocontroller wieder auf Werkseinstellung 
zu resetten?

Ich wäre für alle Gedanken bzgl. meines Problems sehr dankbar.

von Herr M. (herrmueller)


Lesenswert?

Falls die Frage wirklich ernst gemeint ist:
9V Blocks liefern nicht annähernd soviel Strom, wie das STK500 zum 
programmieren braucht - Netzteil oder Accus verwenden.

von Heiko (Gast)


Lesenswert?

Ich wüsste nicht, warum es auf einmal nicht funktionieren sollte, wenn 
es hunderte Male bereits funktioniert hat.

von spess53 (Gast)


Lesenswert?

Hi

>Ich wüsste nicht, warum es auf einmal nicht funktionieren sollte, wenn
>es hunderte Male bereits funktioniert hat.

Aus der Beschreibung des STK500:

System Requirements

The minimum hardware and software requirements are:
....
10-15V DC power supply, 500mA min

MfG Spess

von Heiko (Gast)


Lesenswert?

Jo, ich habe das gecheckt und ein Netzteil angeschlossen mit 12V. 
Gleiches Verhalten seitens WinAVR und Programmierer. :(

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


Lesenswert?

Heiko schrieb:
> Zusätzlich bekomme ich den Hinweis, dass die ISP-Frequenz geringer als
> 1/4 des Taktes sein muss.
Und, ist sie das?
Stell die Programmierfrequenz einfach mal gaaaaanz niedrig ein...

von Heiko (Gast)


Lesenswert?

OK, Problem erledigt. Irgendwie war der Clock Generator verstellt... 
kann sogar gut sein, dass ich das aus Versehen selber war... :\

Naja, jetzt kann ich weitermachen.

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.