Forum: Mikrocontroller und Digitale Elektronik ATMEGA16 mit STK500, keine Programmausführung


von Frank K. (plata)


Lesenswert?

Hallo,
unter Nutzung des internen Oziallators habe ich ein einfaches Programm 
in den ATMEGA16 mittels AVR-Studio geladen (eine LED an - Warteschleife 
- LED aus ); alles funktionierte


Dann habe ich einen Standardquarz von Reichelt das STK-500 gesteckt.

http://www.reichelt.de/Quarze/3-6864-HC49-SMD/index.html?;ACTION=3;LA=2;ARTICLE=72503;GROUPID=3173;SID=11ThREmH8AAAIAADbhi8Q140fa710dc8414f89e0647ef302f4e07

Wohl wissend, dass es sich hierbei um einen Quartz (und nicht um einen 
Ozilator handelt) ist das Fuse-Bit (bzw. die von AVR-Studio empfohlene 
Kombination an Bits) auf den ATMEGA übertragen worden.

Das Programm lief weiter, ich konnte keinen Unterschied in der 
Geschwindigkeit feststellen, so dass ich den Versuch als gescheitert 
ansah (ggf. setzt der Quarz andere Kondensatorkapazitäten voraus, als 
das STK500 inne hat).

Folglich baue ich den Quarz aus und setze die Fuse-Bits wieder auf den 
Ursprungszustand (int. Ozilator) . Jetzt läuft aber das Programm nicht 
mehr an.
Der ATMEGA ist erreichbar (ISP laden und auslesen von Programmen ist 
möglich, Program-Kontrolleuchte zeigt den Status, laden und ausslesen 
von Fusebits ist möglich).

Hat jemand eine Idee in welchem Zustand sich der ATMEGA befindet und wie 
ich darauf reagieren muß.

Danke und Gruß

von Hubert G. (hubertg)


Lesenswert?

Hast du berücksichtigt das bei externem Quarz am STK andere Brücken zu 
stecken sind?
Wie hast du den SMD-Quarz ins STK gebracht?
Wie sehen die Fuses jetzt aus?

von plata (Gast)


Lesenswert?

Zunächst einmal herzlichen Dank für die schnelle Antwort.

Den Quarz ist im Steckplatz "Crystal" eingesteckt, die Brücke auf XTAL1 
ist gesteckt und die Brücke OSCSEL zwischen Pin 2 und 3 ist gesteckt. 
Wenn ich es richtig verstehe, ist der Quarz dann in die STK500 interne 
Ozillator-Schaltung angebunden und mit XT1 des ATMEGA verbunden, deshalb 
habe ich die Fuse "Ext. RC 0sc. 3.0-8.0 MHZ Startuptime 18 CK+64ms 
CKSEL=0111 SUT=10)" gesetzt, das führt aber zu oben genannt Effekt.

Ich habe das ganz zurückgebaut (Quarz entfernt und OSCEL-Brücke auf 1-2) 
und das Fuse-Bit wieder auf "Ext. clock ... CKSEL=0000 SUT=10) gesetzt, 
aber dann geht es auch nicht. Merkwürdig nur das ich Flash, EEProm, 
Fuse-, Lockbits, Signature Bytes des Prozessor lesen und schreiben kann 
(bis auf Signature) ...

Es stellt sich die Frage, ob ggf. der Quarz (sorry, ich hatte oben einen 
falschen Link gesendet) - hier der korrekte Link -

http://www.reichelt.de/Quarze/3-6864-HC18/index.html?;ACTION=3;LA=444;GROUP=B41;GROUPID=3173;ARTICLE=2381;START=0;SORT=artnr;OFFSET=16;SID=26JJr7c6wQARoAAGbHyxo7421352b39afca3528834ee68a4d7bc8

einen Schaden hinterlassen hat.

Danke und Gruß

von Hubert G. (hubertg)


Lesenswert?

Ext. RC 0sc. 3.0-8.0 MHZ ist auch Unsinn.
Entweder wieder auf Default setzten, Int. RC-Oszillator 1MHz
oder Ext.Clock
oder Ext. Crystall/Resonator Medium Frequ.
Das STK legt den Takt auf XTAL1, da geht ausser bei Int.RC-Oszillator 
alles.
Mach mal einen Screenshoot wenn du die Fuses ausliest.

von Frank K. (plata)


Lesenswert?

Hallo Hubert,

so dass Problem ist Dank Deiner Hilfe gelöst. Dass der externe Quarz 
nicht angesprochen wurde, lag an der falsch gesteckten OSCSEL (12- statt 
23) und dem falschen FuseBit "ext RC Osz".

Warum der Rückbau zunächst ohne Erfolg war, ist mir aber noch ein 
Rätsel.

Nun gehen alle 3 Varianten,
- externer Quarz
- vorgegebene Taktung durch STK500
- oder int. Taktung durch den ATMEGA selbst.

Nochmals herzlichen Dank für Gruß, Plata

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.