www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega8 nur bei geringer Taktfrequenz flashbar


Autor: Marc Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich beschäftige mich gerade zum ersten Mal seit fast zwei Jahren wieder
mit Mikroprozessoren, habe aber Probleme beim Flashen meines ATMega8:
Wenn ich auf meiner Experimentierplatine ein 3.684 MHz Quartz benutze
klappt das Flashen sowohl mit UISP als auch mit AVRDUDE problemlos.
Tausche ich das Quartz jedoch gegen ein 12 MHz Quartz aus, so kann ich
weder mit UISP noch mit AVRDUDE zuverlässig Flashen: Beim
anschliessenden Verify-Vorgang zeigt UISP beispielsweise an dass fast
jede Speicherstelle einen anderen Wert enthält als sie haben sollte.
Auch das zu flashende Programm funktioniert überhaupt nicht. Wenn ich
das Programm jedoch mit 3.684 MHz flashe und dann das Quartz tausche,
so funktioniert Alles, ein einfaches "Blinkende LED"-Programm
beispielsweise blinkt nach dem Quartztausch dann einfach ca. 3 mal
schneller - das Problem scheint also eindeutig beim Flashvorgang zu
liegen...

Hat Jemand eine Idee wo das Problem liegen könnte?

Autor: peter bb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht hast du den avr8l, der läuft nur mit max 8mhz

oder hast die fusebit icht verstellt.

Autor: Marc Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, es ist ein ATMega8-16PI der ja soweit ich weiss bis zu 16 MHz
laufen soll.

Die Fusebits habe ich soweit ich mich erinnere tatsächlich nicht
verändert - was genau muss ich da denn einstellen?

Autor: Stef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Datenblatt vom MEGA16 z.B. sagt ab 0.9 MHz was von Kondensatoren
hinterm Quarz zwischen 12..22 pF. Vielleicht die Kondensatoren zu
hoch/zu niedrig gewählt? Wobei es ja noch die Optionen "CKOPT" und
"CKSEL 3..1" gibt. Wobei das Datenblatt von mir auch bloß bis 8 MHz
geht.

Grüsse

Autor: Thilo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na, 'CKOPT' unt 'EXT CRYSTAL HIGH FREQUENCY', wobei die Startup-Time
von der Anwendung abhängt.

Autor: Thilo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, die C's am Quarz gegen Masse bentuze ich 22pF, hat bisher immer
Funktioniert.

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das scheint ein Problem des ATMEGA8/16 zu sein. Ich hatte genau den
gleichen Effekt, so daß er beim Takt von 16Mhz durch bloßes Lesen
komplett blockiert war. Ich benutze Ponyprog V2.06 und einen seriellen
Programmer nach S.Hühn.

Mit einem ATTINY2313 und 20 Mhz trat der Effekt nicht auf. Der geht
tadellos.

MfG Paul

Autor: Marc Schneider (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Danke schon mal für eure Hilfe!

Die Kondensatoren zwischen Quartz und Masse sind 22pF - müsste also
schon mal passen.

Die Einstellung der Fusebits habe ich eben mal nachgeschaut, sie war
folgendermassen:
Fuse High Byte: 0xD9 (11011001)
Fuse Low Byte: 0x3F (00111111)
Was laut Datenblatt bedeuten müsste:
CKOPT = 1 (unprogrammiert)
CKSEL3 = 1
CKSEL2 = 1
CKSEL1 = 1
(-> Crystal oscillator, frequency range: 3-8 MHz)

CKSEL0 = 1
SUT1 = 1
SUT0 = 1
(-> Start-Up-Delay 65ms)

3-8 MHz? - das sah ja schon mal nach des Rätsels Lösung aus, laut
Datenblatt sind mehr als 8 MHz offenbar nur mit programmiertem CKOPT
möglich. War aber offenbar doch nicht der Fehler, denn ich habe die
Fusebits nun mal auf 0xC9 (high byte) bzw. 0x2F (low byte) geschaltet,
was für die relevanten Fuses bedeuten müsste:
CKOPT = 0 (programmiert)
CKSEL3 = 1
CKSEL2 = 1
CKSEL1 = 1
(-> Crystal oscillator, frequency range: >= 1 MHz)

CKSEL0 = 1
SUT1 = 1
SUT0 = 0
(-> Start-Up-Delay 4.1 ms)

Funktioniert aber trotzdem nicht. Was mich persönlich halt verwundert
ist die Tatsache dass der µC bei 12MHz offensichtlich ganz normal mit
12 MHz funktioniert wenn er erst einmal korrekt geflasht ist, nur das
ISP Programmieren geht bei 12 MHz offenbar nicht. Ausserdem kann ich
auch mit 12 MHz-Quartz die Fusebits korrekt lesen und schreiben.
Die Ausgabe von UISP habe ich mal angehängt, falls irgendjemand etwas
damit anfangen kann.

Autor: Marc Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Paul Baumann:
Das ist ja interessant, denn ich benutze zufällig ebenfalls genau
diesen seriellen Programmer nach S.Hühn... Ob das was damit zu tun
hat?
Im Schrank habe ich noch einen Parallel-Port-ISP, wäre doch mal
interessant ob das Problem mit dem auch auftaucht. Da müsste ich nur
leider erst mal nen neuen Stecker anlöten...

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann ich nicht testen, weil ich außerdem nur noch den HV-Programmer
nach Elm-Chan gebaut habe. (3 Kreuze, sonst hätte ich 2 Mega8 nicht
"wiederbeleben" können)
Ich habe eben nochmal mit einem 10Mhz-Quarz probiert. Mit dem geht
es auch noch, aber dann ist Feierabend. :-(

Wenigstens bin ich nicht der Einzige mit diesem Effekt.

MfG Paul

Autor: alfsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tja, habe neulich mega8 bei 20mhz (quartz) getestet, geht wie er soll.
per isp /parport + sp12 .
ging sogar ohne ckopt fehlerfrei. mit ckopt auch.

Autor: Atmega8 Atmega8 (atmega8) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Paul Baumann

Ich hab das Problem dass ich C6 als Ausgang gewählt habe,
jetzt habe ich  versucht den HV-Programmer von Elm-Chan mit Eagle
2-Seitig hin zu bekommen ... bin mir aber unsicher mit den
Transistoren.

Hast du die Schaltung auch in Eagle aufgebaut?
Wenn ja, kannst du mir dein Layout schicken ?
Wenn nein, welche Widerstände(für die Transistoren) und welche
Transistoren hast du genommen ?

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@atmega8
Ich habe die Schaltung kurzerhand auf Lochraster aufgebaut und mit
CuL verdrahtet. Erst habe ich versucht, das Ganzé in Eagle zu routen,
aber da ich sämtliche Fassungen auf der Platine haben wollte, gab das
einen Riesenwulst. :-(
Als Transistoren habe ich die DDR-Typen SF127 für NPN und tschechische
KFY´18 genommen (mit externen Vorwiderständen). Allerdings brauchte
ich auch noch einen Leitungstreiber (74LS244) HCT geht auch.
Die Transistoren "mussten mal weg". :-)
MfG Paul

Autor: Paul Baumann (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier noch ein Bild des "Kunstwerkes" :-)

MfG Paul

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Basteln macht Spaß und schult. Allerdings gibt es auch tadellose
Programmer, wie den AVR-ISP von ATMEL, die günstig sind und immer
gehen, egal welchen Rechenknecht man da dranne hängt. Wenn schon nicht
selber kaufen, dan laßt den euch doch wenigstens mal zum Geburtstag
schenken :-|...

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nüscht is! Ich bin Bauer, genauer gesagt Selbstbauer. :-)

So, aus einer Lieferung von 5 Stück ATMEGA8 zeigten 2 das oben
beschriebene Verhalten, 3 Stück gingen auch bei 16Mhz tadelos.
(Bei gleichen Fuseeinstellungen und gleichen Bedingungen)

Mein Enkel würde dazu sagen: "Voll krass, Alter!" grins

Und nu? Fehler gesucht, keinen gefunden 8 3/4 Stunden. :-)

Dann bekommen die beiden anderen eben "langsamere" Aufgaben.

MfG Paul

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der ATMega8 hat doch so ´ne Fuse zum Teilen der Takt-Frequenz - ist die
vielleicht mal gesetzt?! Ich hatte mal ´ne Lieferung Tiny2313 bekommen,
bei denen ein Lock-Bit gesetzt war. Ließen sich nicht programmieren, bis
man die bewußt 1x gelöscht hatte...

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@TravelRec
Die Fuses sind untereinander völlig gleich. Ich lese bei neuen
Prozessoren immer erst mal die Fuses aus. Wie gesagt: Wenn das Programm
erst einmal drin ist, laufen die beiden mit 16Mhz.
Ich muß sie aber auf dem Programmierbord (mit 4Mhz drauf) laden.
Wenn ich sie in der Zielschaltung auslese, stürzt der Kollege ab
und ich kann ihn dann nur noch mit dem HV-Gerät lesen. Dann sind
da alle möglichen Fuses gesetzt. (Staun!)

Sind sicher "Montags-Prozessoren" :-)

MfG Paul

Autor: Bernd Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bitte entschuldigt, dass ich mich hier so reinhänge, aber ich bin
gerade dabei mir den ELM Programmer zu bauen und mich würde
interessieren welche Leitungen, mit dem 74ls244 gepuffert werden.

Besten Dank


Gruß

Bernd Müller

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bernd
Die 8 Leitungen, über die das gestrichelte Kästchen liegt. Besser
ginge vielleicht der 74hc541, weil da alle Eingänge auf einer Seite
sind. Ich habe den 244 genommen, weil er gerade da war.

MfG Paul

Autor: Bernd Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Paul
Genau das ist ja die Frage,
das gestrichelte Kästchen liegt doch über 10 Leitungen...

Welche davon hast Du genommen?
Bitte poste doch mal Deine Schaltung oder nenne mir die 8 "richtigen"
Leitungen.
Programmiert Du mit der "DOS" oder der "Win32" Software oder kann
man auch AVRStudio oder eine andere grafische Windows Software
benutzen?

Danke

Gruß
Bernd

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alle Leitungen, die an den Prozessor gehen sind gemeint. Ich benutze
AVRPP der Win32 Software. Man kann ausschließlich dieses Programm dafür
nutzen.

Mfg Paul

Autor: Bernd Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, danke.

Werde ich dann so einbauen und austesten.
Wenn es funktioniert berichte ich hier mal davon,
wenn nicht... dann melde ich mich ganz bestimmt wieder...

Erstmal vielen Dank.

Gruß

Bernd

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist Recht, Herr Specht :-)

MfG Paul

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.