Forum: Mikrocontroller und Digitale Elektronik ATMega128 - usbasp - Funktioniert nicht!


von Florian (Gast)


Lesenswert?

Hallo.
Ich habe ein ATMega128 Experimentierboard (gekauft) und es funktionierte 
immer perfekt mit dem usbasp-programmer von Ulrich Radig 
(http://www.ulrichradig.de/home/index.php/avr/usb-avr-prog).
Doch nachdem ich die Fusebits umstellen wollte, kann ich den Chip nicht 
mehr ansprechen.
Es kommt immer diese Meldung:
======================================================================== 
===
avrdude.exe: WARNING: -E option not supported by this programmer type

avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to 
override
             this check.


avrdude.exe done.  Thank you.
======================================================================== 
===

Auch wenn ich JP2 öffne, kommt das gleiche bei raus.
Ich weiß nicht was passiert ist...
(Die Leitungen funktionieren einwandfrei!)

Kennt jemand evtl. das Problem?
Kann man mein Board noch retten oder ist der AVR kaputt?

mfg Florian

von Hubert G. (hubertg)


Lesenswert?

Du wirst auf ext. Takt umgestellt haben.
Einen Takt auf XTAL1 an legen, Frequenz so hoch wie möglich.
Die Programmierfrequenz auf weniger als ein viertel der Taktfrequenz 
stellen, dann sollte es wieder funktionieren.

von Florian (Gast)


Lesenswert?

Danke für die Antwort.

Es liegt bereits ein 16 MHz quarz an XTAL1 und XTAL2.
Daran kann es nicht liegen, oder?

Hier mal die pdf-datei vom board: 
http://www.steitec.net/media/products/0015687001249625934.pdf

mfg Florian

von Bensch (Gast)


Lesenswert?

> Es liegt bereits ein 16 MHz quarz an XTAL1 und XTAL2.
Daran kann es nicht liegen, oder?

Ein Quarz ist KEIN externer Takt.

von Florian (Gast)


Lesenswert?

Also soll ich z.B. mit einem anderen Mikrocontroller einen Takt erzeugen 
und den Pin an XTAL1 packen?

mfg Flo

von Florian (Gast)


Lesenswert?


von Hubert G. (hubertg)


Lesenswert?

Da steht nichts anderes, du liest nur etwas anderes.
Du hast deine Fuses so eingestellt als wenn du einen Quarzoszillator 
angeschalten hättest und nicht einen Quarz. Das sind zwei verschiedene 
Taktmöglichkeiten die du am Kontroller mit den Fuses einstellen kannst.

von Florian (Gast)


Lesenswert?

Hmm ok.
Aber wie es der Zufall will, habe ich keinen passenden Quarzoszillator 
(nur einen mit 35MHz).
Also wiki sagt, dass ein Quarzoszillator ein Rechteckspannung erzeugt. 
Also würde meine "notlösung" mit dem 2. Mikrocontroller auch 
funktionieren... hoffe ich

Der Andere ATMega644 läuft mit einer Frequenz von 14,318 MHz

Also würde dieser in einer Sekunde 14.318.000 Befehle ausführen.

Der Code sähe so aus:

int main()
{

DDRC = 0xFF;
while(1)
{
PORTC = 0xFF;
PORTC = 0x00;
}

}

Er würde also eine Frequenz von 14,318 MHz/2 = 7,159 MHz erzeugen.

Stimmt die Rechnung?

Würde das überhaupt funktionieren?

gruß flo

von Hubert G. (hubertg)


Lesenswert?

Das würde so funktionieren.

von spess53 (Gast)


Lesenswert?

Hi

>Er würde also eine Frequenz von 14,318 MHz/2 = 7,159 MHz erzeugen.

Nein. Da ist zumindest ein ASM-Befehl 'rjmp' mit 2 Takten drin. Und das 
Beschreiben des Ports kann auch durchaus länger dauern.

MfG Spess

von Florian (Gast)


Lesenswert?

Hallo!

Also ich muss sagen, einfach klasse!!!

Ich danke dir!! Mein Board ist gerettet!

Die Methode mit dem Mikrocontroller funktionierte einwandfrei! Direkt 
beim 1. Versuch :D

mfg Florian

von Florian (Gast)


Lesenswert?

>Da ist zumindest ein ASM-Befehl 'rjmp' mit 2 Takten drin. Und das Beschreiben des 
Ports kann auch durchaus länger dauern.

Die Geschwindigkeit reichte trotzdem aus ^^

mfg Flo

von spess53 (Gast)


Lesenswert?

Hi

>Die Geschwindigkeit reichte trotzdem aus ^^

Ich habe ja auch nicht das Gegenteil behauptet.

MfG Spess

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.