PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Externen Quarz richtig konfigurieren



Devil
18.10.2010, 10:31
Hallo,

ich möchte bei einem Atmega 8 den externen Quarz über die Fuse-Bits aktivieren und benutze dazu das Programm AVR-Studio. Da ich bereits einen Fehlversuch hatte möchte ich Euch an dieser stelle um ein Kontrollblick über die Einstellungen bitten.

Außerdem würde mich interessieren ob ein "Häkchen" eine 1 oder eine 0 im AVR-Studio bedeutet.

Nun zu den Fuse-Bit-Einstellungen:

Ich habe im AVR-Studio das "Fuse-Bit-Fenster" geöffnet und wollte folgende Einstellungen für einen 16MHz externen Quarz vornehmen:

SUT_CKSEL auf "Ext. Cristal/Resonator High Freq. Startuptime 16K CK + 64ms"
und an CKOPT ein Häkchen.

Iat das so korrekt oder muss was geändert werden?
Außerdem wäre es interessant zu wissen welche Startuptime man einstellen muss und wovon diese abhängig ist bzw. wo man den erforderlichen Wert finden kann.

Vielen Dank im vorraus.

Gruß Jan

TobiKa
18.10.2010, 10:39
Setz ruhig eine hohe Startup Time. Eine kleine brauchst du nur wenn der Controller sofort nach einschalten bereit sein soll. 64ms sollten aber für die meisten Anwendungen reichen.

Devil
18.10.2010, 10:59
Das ist ja schonmal beruhigend und wie sieht es mit den anderen Einstellungen aus? Sind die Richtig?

Martin.
18.10.2010, 11:03
Zu Thema Fuses kann ich dir AVR Burn o Mat empfehlen, benötigt aber den avrdude der bei WINAvr dabei ist. Bei diesem Programm hast du den Vorteil, dass du keine Häckchen in dem Sinne setzt, dass du einzelne Fuses auf 0 oder 1 setzt, sondern du klickst an was du haben möchtest, also zum Beispiel external Crystal->8MHz-16Mhz und dann ist schon alles erledigt. Für den Anfang ist es sicherlich eine gute und zuverlässige Variante. Wenn du aber im AVR Studio mit Assembler programmierst und deshalb kein WINAvr benötigst, weis ich nicht ob sich der ganze Software Aufwand lohnt.

Devil
18.10.2010, 11:14
An sich ist das schon eine gute Lösung um weiter machen zu können, aber hilft nicht beim Verständnis der Abläufe. Wenn nix mehr geht werde ich darauf zurrückgreifen. Danke für den Tipp.

Trotzdem würde ich gerne wissen ob meine Überlegungen anhand des Datenblattes richtig sind und ich das so im AVR-Studio programmieren kann.

Gruß Jan

Hubert.G
18.10.2010, 12:54
Im AVR-Studio brauchst du dir über 0 und 1 keine Gedanken machen.
Dort ist aktiv was angehakt ist.
Das ein Haken aktiv bedeutet und gleichzeitig eine 0 ist, hat schon sehr viele verwirrt.

Richard
18.10.2010, 13:11
Hallo,



SUT_CKSEL auf "Ext. Cristal/Resonator High Freq. Startuptime 16K CK + 64ms"
und an CKOPT ein Häkchen.



SUT_CKSEL auf "Ext. Cristal/Resonator High Freq. Startuptime 16K CK + 64ms"

Das sollte OK sein, so habe ich das auch immer gemacht.

CKOPT ein Häkchen.??? Habe ich (bewusst) noch nicht eingesetzt, kann aber sein das CKOPT von Haus aus gesetzt war? Zur Zeit kann ich Studio 4 nicht nutzen (linux).

Gruß Richard

askazo
18.10.2010, 13:24
Zu CKOPT steht doch alles im Datenblatt:

The CKOPT Fuse selects between two different
Oscillator amplifier modes. When CKOPT is programmed, the Oscillator output
will oscillate a full rail-to-rail swing on the output. This mode is suitable when operating
in a very noisy environment or when the output from XTAL2 drives a second clock
buffer. This mode has a wide frequency range. When CKOPT is unprogrammed, the
Oscillator has a smaller output swing. This reduces power consumption considerably.
This mode has a limited frequency range and it cannot be used to drive other clock
buffers.
For resonators, the maximum frequency is 8 MHz with CKOPT unprogrammed and
16 MHz with CKOPT programmed.
Bei einem 16MHz-Quarz musst Du CKOPT also auf jeden Fall setzten.

Gruß,
askazo

Devil
18.10.2010, 14:01
Beim letztem versuch hatte ich das CKOPT-Bit vergessen... somit müsste der controler rein theoretisch ein 8MHz quarz erwarten, welchen ich zum testen auch angeschlossen hatte, doch leider funktionierte trotzdem nichts. Aus diesem Grund auch diese Fragerei.

Werde das gleich morgen ausprobieren, nachdem ich versucht habe den alten Controler zurückzusetzen.

Gruß Jan

oberallgeier
18.10.2010, 16:30
... For resonators, the maximum frequency ...Ein Resonator ist nicht das, was wir üblicherweise als Quarz (-schwingkreis) an die Controller bauen.


... Bei einem 16MHz-Quarz musst Du CKOPT also auf jeden Fall setzten ...O o ohhhhh, uuups - da dürften also alle meine Controller mit 16 und 20 MHz nicht laufen?¿? Die laufen aber prächtig, präzise und fühlen sich mit ihren Quarzen und zwei Kondensatoren ohne CKOPT pudelwohl.


Es gibt damit also die Alternativen:
Quarz = hohe Genauigkeit, lange Startzeit,
Resonator = mittlere Genauigkeit, mittlere Startzeit,
R/C-Osz. = sehr ungenau, extrem kurze Startzeit.Ausführlicher hier (http://www.mikrocontroller.net/topic/92625#794547) oder auch hier. (http://www.rn-wissen.de/index.php/Avr#Die_Fusebits)


[/size]mel im doc 8159C–A VR–07/09, S 26]... When CKOPT is programmed ... This mode is suitable when operating in a very noisy environment or when the output from XTAL2 drives a second clock buffer ...Und es lohnt sich, auch die anderen Dinge über CKOPT dort zu lesen (http://www.atmel.com/dyn/resources/prod_documents/doc8159.pdf) wie beispielsweise S. 28 oben etc.

Richard
18.10.2010, 16:45
[O o ohhhhh, uuups - da dürften also alle meine Controller mit 16 und 20 MHz nicht laufen?¿? Die laufen aber prächtig, präzise und fühlen sich mit ihren Quarzen und zwei Kondensatoren ohne CKOPT pudelwohl.


Bei mir auch. :-) Manhels Plattdeutsch Kenntnisse sagt mir das Datenblatt zu CKOPT auch leider eher NIX. :-( Ich kann aber einmal Google Übersetzen lassen, Da gibt es was zum Lachen...

Gruß Richard

oberallgeier
18.10.2010, 17:19
... Mangels Plattdeutsch Kenntnisse sagt mir das Datenblatt zu CKOPT auch leider eher NIX ...Es steht da eben datenblattmässig viel drin - und das an recht vielerlei Stellen unter vielerlei Gesichtswinkeln. Ich habe für MICH das Fazit gezogen (es gibt, wie immer, Ausnahmen): Ob Eins, ob Null im CKOPT, beim Quarz gesprungen wie gehoppt *ggg*.

Devil
18.10.2010, 17:34
Wenn ich das mit CKOPT richtig verstanden habe muss der beim Atmega 8 auf null gesetzt sein damit der auf 16MHz laufen kann, weil die 16MHz beim Atmega 8 doch eher ne ausnahme ist (standard ist ja max 8MHz). Außerdem kann der doch laut Datenblatt nur Frequenzen größer 8MHz nur wenn CKOPT gesetzt ist, zumindest nach der Tabele und den netten nachfolgenden Sätzen.

Korriegiert mich wenn ich mich irre, aber ohne CKOPT lief es bisher bei mir noch nicht und mit werde ich morgen ausprobieren.

Gruß Jan

askazo
18.10.2010, 17:44
... For resonators, the maximum frequency ...Ein Resonator ist nicht das, was wir üblicherweise als Quarz (-schwingkreis) an die Controller bauen.


... Bei einem 16MHz-Quarz musst Du CKOPT also auf jeden Fall setzten ...O o ohhhhh, uuups - da dürften also alle meine Controller mit 16 und 20 MHz nicht laufen?¿? Die laufen aber prächtig, präzise und fühlen sich mit ihren Quarzen und zwei Kondensatoren ohne CKOPT pudelwohl.
Uups, da habe ich wohl das Datenblatt etwas mißverstanden. Ich nehme alles zurück und behaupte das Gegenteil. 8-[
Denn wenn ich Table 8-3 auf Seite 26 richtig verstehe, sollte die CKOPT-Fuse für Frequenzen >8Mhz eben nicht gesetzt sein. (Bei Verwendung eines Resonators scheints aber seltsamerweise genau andersherum zu sein. Etwas verwirrend das Ganze.) Naja, zumindest habe ich das Thema jetzt mal genutzt, um den Unterschied zwischen Crystal Oscilator und Ceramic Resonator rauszusuchen...

Gruß,
askazo

Devil
19.10.2010, 15:34
So ich danke nochmal für eure Mühen, der Controler läuft richtig und mit den 16MHz Quarz. jetzt kann ich endlich richtig loslegen.

Gruß Jan