mal wieder Fuses, Frage zur Start-Up Time

OP #2282928
Hallo,

ich denke, dass ich die Bewertung der Fuses fast richtig einschätzen 
kann...

Ich möchte einen Atmega8 mit einem (ext.) Quarz mit 3,686400 MHz 
betreiben.

Hierzu habe ich wie auf dem Screenshot zu sehen (Engbedded Fuse 
Calculator Copyright © 2006-2011 Mark Hämmerling) die Fuses eingestellt.

Ich habe aber die Start-Up Time und das Delay noch nicht verstanden. Ich 
erkläre mir das Delay von 65 ms so, dass der Quarz langsam anschwingt!?

Es wird hier im Forum immer weider auf 16k CK und 65 ms hingewiesen, 
aber ich weiß nicht warum.

16K CK = 16.000 Clock's ???

Das und die 65 ms würden bedeuten:

a) warten aus reset
b) aud den Power-Modi entsprechend viele Clocks/Takte warten?

Danke und schönen Tag,
Christoph
Angehängte Dateien:
Gast
Hallo,

Ch Sp schrieb:
> Ich möchte einen Atmega8 mit einem (ext.) Quarz mit 3,686400 MHz
> betreiben.

-> Low Freq Start-Up time 16K 64ms

Ch Sp schrieb:
> Ich habe aber die Start-Up Time und das Delay noch nicht verstanden. Ich
> erkläre mir das Delay von 65 ms so, dass der Quarz langsam anschwingt!?

Richtig. Die 64ms beziehen sich auf die Einschwingzeit deines Quarzes.
Bei 64ms kannst du dir dann sicher gehen, dass der Quarz auch richtig 
"eingeschwingt" ist. Also am Besten immmer 64ms nehmen.

Mich würde auch mal interessieren welche Quarzfrequenzen man unter 
Low,Med. und High Frequency versteht.
Ich habe das so interpretiert:

 1Mhz - 8Mhz Quarze -> Low Freq.
 8Mhz - 12Mhz Quarze -> Med. Freq.
 12Mhz - 16Mhz Quarze -> High Freq.

Gruß David Knoll ;-)
OP
Hallo,

auf Seite 7 des Atmega8 Datenblattes gibt es die Table 4; Freuquency 
Range.

Demnach würde ich die o. g. Freuquenz bei CKSEL 1...3 = 111 als high 
verstehen... ???

Das ist jetzt aber für mich Kaffesatz lesen...

Ich habe keine Ahnung... ;-)
Gast
Habe jetzt gerade nur ein DB vom ATMEGA16 zur Hand, aber das ist ja 
alles das Gleiche.

Da findet man dann ab Seite~24 das Kapitel *System Clock and Clock 
Options* .
Blättert man dann eine Seite weiter, dann steht da Crystal Oscillator 
.

Ich hänge mal 2 Tabellen mit an, dann sollte es eigentlich klar sein.

Für einen 3,6...MHz Quarz müsste man also laut Datenblatt folgendes 
einstellen:
CKOPT=1 + CKSEL=111 --> 3-8MHz

Bei der Risetime kommt es dann auf die Art des Resonators 
(Quarz/Ceramic) und der Risetime der Betriebsspannung an.

Aus der 2. Tabelle ist dann ersichtlich, dass wenn man auf Nummer sicher 
gehen will man einfach die 16k und 65ms nimmt (Crystal Oscillator).

Man kann da natürlich (abhängig von der Risetime der Betriebsspannung) 
auch noch weiter runter gehen auf 16k und 4,1ms oder man schaltet die 
Brownout-Detection mit ein und kommt auf 16k!

Die Frage ist doch, stört einen die 16k und 65ms?

Grüße
Angehängte Dateien:
David Knoll schrieb:
> Mich würde auch mal interessieren welche Quarzfrequenzen man unter
> Low,Med. und High Frequency versteht.
> Ich habe das so interpretiert:
>  1Mhz - 8Mhz Quarze -> Low Freq.
>  8Mhz - 12Mhz Quarze -> Med. Freq.
>  12Mhz - 16Mhz Quarze -> High Freq.

Das ist alles "High".


"Low Frequenzy" sind z.B. 32,768 KHz Uhrenquarze. Oder die 128KHz, mit 
denen der Watchdog intern versorgt wird.

"High Frequency" sind die "normalen" >= 1MHz.

"Medium" liegt irgendwo dazwischen.
Ich kann mich allerdings nicht entsinnen, sowas mal gesehen zu haben.
Wenn man seinen AVR mit 500KHz betreiben möchte, nimmt man einen 4MHz 
Quarz und teilt den Takt /8.

Eigentlich unterscheidet man bei Quarzen nur zwischen "Crystal Osc." und 
"Low Frequ. Crystal Osc.".
Oder einfach Quarz(=High) und Uhrenquarz(=Low).

mfg.
OP
Also, irgendwas habe ich falsch gemacht/verstanden:

Habe hier einen Atmega8. Der soll durch einen Quarz mit 3,6864 MHz 
getaktet werden.

Habe die Fuses gelesen und so, wie auf dem oben angehängten Screenshot 
gesetzt. Jetzt erhalte ich den Hinweis: "Error reading fuses..."

Den Artikel bzgl. Fuses zurücksetzen habe ich nicht verstanden. Zugriff 
auf ein Oszilloskop hätte ich...

Danke,
Christoph
Wenn Du Pech hast, ist das jetzt eine fuse-Einstellung mit der Du Dich 
momentan ausgesperrt hast.

Erste Kontrolle: geht das Lesen der Signatur noch?

So wie ich das lese, wurde der interne RC Oszillator ausgeschaltet und 
der Oszillator für den externen Quarz eingeschaltet.
Wenn dann extern die Beschaltung nicht stimmt, ( Quarz oder die beiden 
Kondensatoren mit so ca 10pF bis 30pF) gibts halt kein Schwingen und 
damit keinen Takt, der für die ISP-Verbindung gebraucht wird.

Abhilfe dazu, siehe viele Beiträge hier im Forum: "ausgesperrt?"
OP
Das erhalte ich zurück:

avrdude.exe: warning: cannot set sck period. please check for usbasp 
firmware update.
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.


Beide Kondensatoren haben 22pF. Quarz liegt an XTAL 1 und XTAL 2 dann 
die Kondensatoren gegen GND und je einen Pin des Quarzes...
Mit dem Scope kann man nachsehen, ob reset , SCK, MISO und MOSI Signale 
führen, wenn ISP-Tätigkeit herrscht.
Reset, SCK und MOSI werden vom PC bzw progger erzeugt.
Wenn die ISP-Verbindung ausgefallen ist, antwortet der Kontroller nicht 
und MISO bleibt ohne Signal.
Na, ja da geht die ISP-Verbindung nicht richtig: Der PC liefert zwar 
Signale aber der Kontroller antwortet nicht.
Die Signatur lässt sich wohl auch nicht lesen

Beim Quarz KANN es sein, dass schon die Berührung mit dem Tastkopf die 
Schwingung abreißen lässt, also liefert hier das Scope keine sichere 
Information.

Und wenn es vor dem Schreiben der fuses ging und danach nicht, lässt das 
darauf schließen, dass irgendetwas mit den fuses danebenging.

Retten lässt sich dieser "verfuste" Chip, indem man extern einen Takt 
anlegt und die Standard-Einstellung der fuses wieder einschreibt. Dazu 
Näheres im Tutorial usw.
Die Frequenz vom USBAsp (12MHz) sind für die USB-Verbindung wichtig, die 
geht ja.

Da fällt mir ein:

Damit ISP funktioniert muss die Taktfrequenz des Kontrollers mehr als 
viermal so hoch sein wie die die ISP-Frequenz (Frequenz von SCK)
Intern arbeitet der atmega8 mit etwa 8MHz. Jetzt wurde auf 3,8..MHz 
gewechselt. Da noch ein Teiler mod8 im Kontroller mitarbeitet, ist der 
echte Takt jetzt etwa 475 kHz, ISP darf also nicht schneller als ca. 100 
kHz arbeiten. Das lässt sich in der Software des Proggers einstellen.
Ist das der Fall?
OP
Hallo,

die 3,6864 MHz wurden für 9600 Baud/Max232 gewählt.

Ich habe die ganze Schaltung auf einem Steckbrett mit einem 4 MHz 
Quarzoszillator. Da läuft das alles.

Wenn ich am 3,6864 MHz Quarz auf der Schaltung messe, springt die 
Frequenz mal auf 30 mal auf 300 Hz, dann auf einen KHz Wert etc...
Gast
> Ich komme jetzt mittels Oszilloskopen wieder drauf.
Das heißt dann wohl das deine Beschlatung des Quarzes nicht OK ist und 
er nicht anschwingt bzw. schwingt wenn kein Oszi dran ist. Also bau ein 
Virtuelles Oszi dran ;-). Datenblatt vom Quarz lesen !-) Hoffe mal das 
hast du bereitliegen  oder weißt du den Hersteller und das Model deines 
Quarzes etwa nicht ? ;-o
Ja verdammt nochmal, ist es wirklich zuviel, die Signatur des 
Kontrollers zu lesen?

Wenn die nicht richtig herauskommt, braucht man garnicht erst an den 
fuses herumzupfuschen. Was Du da als screenshot zeigst, ist 
wahrscheinlich ein default-Wert und garnicht gelesen.

Also, versuch erst einmal die Signatur zu lesen und berichte, was sich 
dabei ergibt.


BTW: wer bei Arbeit auf einem Steckbrett Hardwarefehler ausschließt, ist 
ziemlich optimistisch.
OP
Hallo,

eine Schaltung habe ich auf einem Steckbrett (mit 4 MHz Quarzoszillator) 
als Versuch. Um die es sich hier dreht ist eine auf einer Platine 
verlötete!

So wie ich die Fuses "ausgelesen" hatte, hatte ich sie auch gesetzt.

Leider habe ich nicht auf die Signatur geachtet - sondern nur auf die 
Meldung der erfolgreich gelesenen Fuses! Schon wider dazu gelernt - auf 
die Signatur achten...

Weiterhin ist die Hardware-Beschaltung so, wie sie in der 
Schaltzeichnung ausgeführt ist.


Fuses sind ja richtig für die 3,6864 MHz Quarz. Folglich müsste nach 
Umprogrammierung der ext. Quarz verwendet werden müssen!

Aber ab da kam ich nicht mehr drauf. Einen Screenshot der Beschaltung 
habe ich oben angehängt. Als ich gemessen hatte, konnte ich keine 3,6864 
MHz messen!

gruß
Christoph
Na, also. Dann ist die ISP-Verbindung anscheinend in Ordnung.
Die Fuses stimmen auch (wenn sie echt gelesen sind).

Wenn sich die Signatur lesen lässt, muss auch das Programmieren der 
fuses funktionieren.

Dann müsste doch das Rück-Programmieren des atmega8 in die 
Grundeinstellung gehen.( siehe Datenblatt, dass er wieder mit internem 
RC-Oszillator läuft.)
Das engt dann die Fehlermöglichkeiten beträchtlich ein.
OP
Hallo,

ich konnte zurückprogrammieren, ein Dummy-Programm laden und anhand von 
zwei LEDs feststellen, dass ich problemlos (mit entsprechenden Fuses) 
den INTERNEN Takt ändern kann.

Ich habe dann nochmals alles auf (Hardware-)Fehler überprüft. Mir fiel 
aber nichts auf.

Ich habe es dann nochmals mit Fuses für den ext. Quarz probiert, aber 
dann war weider Feierabend. Also wieder per Oszilloskopen an XTAL 1 (ich 
glaube es war 1) neu gesetzt.

Jetzt arbeite ich mit 4 MHz intern. Meine Schaltung (Empfangen von RS232 
Bytes und ausführen von entsprechenden Funktionen) funktioniert.

Ich werde mal den 3,6864 MHz Quarz wechseln, vielleicht ist der defekt - 
dann müssten aber gleich zwei die ich bestellt hatte defekt sein...

Leider gibts die hier beim Conrad nicht im Laden...
Fällt nur die Rs-232-Funktion beim Wechsel von intern4MHz auf Quarz 
3,8... aus? oder auch andere Funktionen wie z.B. LED

Wenn auch die LED-Funktion ausfällt, CK-opt fuse aktivieren, das  macht 
den Oszillator schwingfreudiger. Bei "lahmem" Quarz oder bei falscher 
Beschaltung kriegt man da noch ein Schwingen hin. Die beiden 
Kondensatoren prüfen, ob im Bereich 10pF bis 30pF, ist der Mittelpunkt 
der beiden C's wirklich an Masse,...

BTW: Läuft die Schaltung mit dem 4MHz-Oszillator aus dem Steckboard?
OP
Hallo,

bei Umschalten auf externen Quarz geht nichts mehr.

Auf dem Steckbrett läuft es mit einem 4 MHz Quarzoszillator.

Mit der CK-opt Fuse werde ich es noch mal probieren. Die beiden 22 pF 
haben am Mittelpunkt gemeinsam Masse...
Gast
Ist ein Quarzoszillator und der passt nicht auf die Platine. Ich kann 
stabil mit dem internen arbeiten. Der Atmega8 wartet eh nur auf ein 
einziges Byte...

Ich werde das aber mit dem Quarzoszillator überdenken!

Gruß
Christoph

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.