Auszug aus dem Datenblatt: Table 8. Crystal Oscillator Operating Modes CKOPT CKSEL3..1 Frequency Range(MHz) Recommended Range for Capacitors 1 101(1) 0.4 - 0.9 – 1 110 0.9 - 3.0 12 pF - 22 pF 1 111 3.0 - 8.0 12 pF - 22 pF 0 101, 110, 111 1.0 - 12 pF - 22 pF Die Fusebits setze ich folgendermassen: CKOPT=1 und CKSEL=111 Hier wird ja nur eine Frequency Range bis max. 8MHz angeben! Ich habe aber ein Quarz, der mit 14irgendetwas MHz schwingt! Wird der Quarz dann ausgebremst, oder was verstehe ich hier nicht? Ok angenommen der Quarz wird ausgebremst, dann wird aber immer noch ein frequenzberecih von 3-8MHz angegeben! Wie weiss ich jetzt ob der Quarz mit 3,5 oder doch 8MHz schwingt? Ist es so wenn ich einen Quarz über 8 MHz habe dann schwingt der mit 8Mhz und wenn ich einen Quarz zwischen 3 und 8Mhz habe dann schwingt der mit dieser Frequenz?
Wenn der Prozessor 16MHz kann sollte das auch so stehen. Schein ein Datenblatt eines L Typen zu sein, die gehen meist nur bis 8MHz. Ja, der Bereich 111 wird dann bis 16MHz gehen.
Setze Deine Fuses so, wie der Quarz es erfordert bzw. je nachdem, in welchem Frequenzbereich Dein Controller arbeiten soll. Ansonsten kann es sein, daß der Controller gar nicht anläuft oder einen instabilen Takt hat, was zu Abstürzen führen kann. Wenn Du über 8Mhz gehen willst, muß zusätzlich die CKOPT-Fuse gesetzt sein, bzw. der FullSwing-Oscillator eingeschaltet werden. Siehe Datenblatt des jeweiligen Controllers.
die fuses habe ich wie oben schon gesetzt! was mir nicht klar ist, ist mit welcher Frequenz so mein Quarz dann schwingt?
Sofern die richtigen Lastkondensatoren dran sind, mit der Frequenz, für die er ausgelegt ist. Bei falsch gestzten Fuses tut er dies auch oder er schwingt gar nicht oder er schwingt mit Pausen. Letzteren Fall hatten wir schon auf Arbeit. War ein fieser Fehler. Um herauszubekommen, mit welcher Frequenz Dein Controller läuft, programmiere einen Timer mit Vorteiler in bekanntem Verhältnis und lasse damit einen Portpin mit angeschlossener LED wackeln. Wenn er langsam genug wackelt, kannst Du die Impulse pro Zeiteinheit zählen und hochrechnen.
hey so schwer kann doch mein Anliegen nicht zu verstehen sein! also noch einmal...! Habe Quarzoszillator 14irgendetwas MHz! Die Fuses habe ich gesetzt CKOPT=1 und CKSEL=111 ! Demnach ergibt das aus Datenblatt(siehe oben) ein Frequenzbereich von 3-8MHz! Mein Problem ist einzig allein, dass ich jetzt nicht weiss welche Frequenz sich jetzt einstellt, da mein Quarz eigentlich mit 14irgendetwas MHz schwingt! Die Frequenz die der Mikrocontroller jetzt aber "sieht" liegt nur zwischen 3 und 8Mhz! Wie weiss ich jetzt welche Frequenz der uC "sieht"? Ich denke das sind einfach 8Mhz, da mein Quarz über 8Mhz schwingt? Vielleicht ist mein Problem zu einfach, um das zu verstehen, aber versuchts einfach nochmals!
Oder ist das für einen solchen Quarz gar nicht erlaubt die Fuses so zu setzen? Muss es so sein: CKSEL=111 CKOPT=0 SUT=11 ????
Ach nee... von wegen "so schwer nicht zu verstehen" ;) Dir wurde ja nun schon mehrfach gesagt, wie es sein muss - und dass CKOPT "gebrannt", also 0, sein muss. Dann schwingt der Oszillator auch auf der Grundfrequenz des Quarzes, also 14,318MHz oder was Du da hast. Die Angaben im DB sind von der anderen Seite her zu interpretiern: wie muss ich die Fuses setzen, damit mein vorliegender Quarz arbeitet und nicht: wie schwingt mein Quarz, wenn ich die Fuses falsch setze?
Dein µC "sieht genau die Frequenz die auch auf dem Quarzoszillator draufsteht 14,XXXMHz z.B. nur arbeiten wird der Controller nicht, wenn die Fusebits nicht stimmen. Wenn du dem µC vorgibst das du gleich einen Takt in den Grenzen 3.....8MHz anlegst und dann aber 14MHz draufballerst, geht natürlich nix! Du kannst n Formel 1 Auto auch "sehen", aber lange noch nicht so schnell rennen..... gruß
Genau. Wenn die Fuses falsch programmiert sind, schwingt der Quarz nicht auf einer anderen Frequenz, sondern GAR NICHT, bzw. nicht sicher.
Was passiert da eigentlich intern wenn man diese Fuses umstellt?? Weil ich mein so theoretisch kann er ja garnicht wissen (abgesehen wenn ers mim internen RC vergleicht) wie schnell das Quarz ist. Wenns zu schnell ist gibts halt fehler (zuerst wahrscheinlich beim schreiben in Speicher) Wozu also die Fuses? und wieso verweigert der ein Anlaufen wenn se net richtig eingestellt sin (ich weiß die Frage ist blöd aber ich frag mich wieso das überhaupt notwendig ist)
@ John Twenty der grundsätzliche Unterschied zwischen Quarz und Quarzoszillator ist dir klar? Der Quarz möchte zum schwingen "angeregt" werden wobei der Quarzoszillator schon den fertigen Takt liefert... Quarz ----> Bauteil Quarzoszillator ----> Baugruppe Im Datenblatt: Quarz ----> External Crystal Quarzoszillator ----> External Clock Am Beispiel des Mega16: External Crystal (cksel 1111 - 1010) External Clock (cksel 0000) Du stellst jetzt cksel auf 111, schließt aber, wie du schreibst, einen Quarzoszillator an....klingt erst mal unlogisch... oder täusch ich mich hier??? gruß
Karl-j. B. wrote: > Was passiert da eigentlich intern wenn man diese Fuses umstellt?? Der Oszillator wird auf die Quarzeingänge geschaltet. > Weil ich mein so theoretisch kann er ja garnicht wissen (abgesehen wenn > ers mim internen RC vergleicht) wie schnell das Quarz ist. Der Quarz. Nein, das kann er nicht wissen. Aber der Quarz schwingt von ganz vno alleine auf der Frequenz die ihm im Werk mitgegeben wurde, wenn er denn schwingt. Aber ... > Wozu also die Fuses? und wieso verweigert der ein Anlaufen wenn se net > richtig eingestellt sin ... der Quarz schwingt nicht von alleine an Dazu ist noch ein Schwingkreis notwendig. Durch setzen der Fusebits wird dieser Schwingkreis zugeschaltet. Dieser Kreis ist so ausgelegt, dass er in einem weiten Frequenzbereich einen Quarz zum schwingen bringen kann. Und genau da liegt auch der Unterschied zu einem Quarzoszillator. Der schwingt nämlich ganz von alleine, weil er den Schwingkreis schon im Bauelement eingebaut hat. Daher ist der Schwingkreis im µC nicht notwendig und wird per Fuse abgeschaltet. Daher erklärt sich auch, warum ein angeschlossener Quarz nicht ins Schwingen kommt, wenn die Fuses auf Quarzoszillator stehen: Es ist einfach kein Schwingkreis aktiv, der den Quarz ins Schwingen bringen würde.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.