Forum: Mikrocontroller und Digitale Elektronik Quarz oder Oszillator?


von peterguy (Gast)


Lesenswert?

Hallo!
Ich entwerfe grade eine Schaltung mit CAN Anbindung.
Den µC möchte ich mit 16MHz takten, bin mir aber nicht sicher, ob ein 
Quarz ausreichend genau ist oder ob ich einen Oszillator benötige.
Kennt sich wer aus und kann mir bei der Auswahl helfen?
Danke!

von PJ (Gast)


Lesenswert?

Ausreichend genau für was?

Und ist ein Oszillator wirklich "besser" als ein Quarz?
Welche Typen vergleichst Du?

von HildeK (Gast)


Lesenswert?

>ob ein
>Quarz ausreichend genau ist oder ob ich einen Oszillator benötige.

Welche Art von Oszillator meinst du?
Es gibt alle möglichen Arten von Oszillatoren, auch welche mit Quarz. 
Und die sind so genau wie der eingebaute Quarz. Dazu macht das 
Datenblatt Angaben.
Wenn du einen Quarz an den µC anschließt, ist das auch ein 
Quarzoszillator.
Ablagen um weniger als +/- 100ppm sind Standard.

Es gibt natürlich Quarzoszillatoren mit erhöhter Genauigkeit - hin bis 
zu temperaturgeregelten Typen.
Ich habe die Forderungen des CAN-Busses nicht im Kopf. Aber in den 
Spezifikationen sollte schon stehen, welche Toleranzen verkraftet 
werden.

von Simon K. (simon) Benutzerseite


Lesenswert?

HildeK schrieb:
> Und die sind so genau wie der eingebaute Quarz.

Interner RC Oszillator. Nicht Quarz ;) ;)

von Helmut L. (helmi1)


Lesenswert?

HildeK meinte den Quarz im Quarzoszillator und nicht den RC-Oszillator 
im AVR.

von BinGast (Gast)


Lesenswert?

Da reicht wohl jeder Quarz, sind alle im ppm Bereich genau.

Ein Oszillator macht genau das gleiche, nur ist der Treiber mit drin.

von peterguy (Gast)


Lesenswert?

Danke schon mal für die Antworten.

ich vergleiche Quarzoszillatoren (z.B. den hier: 
http://www.reichelt.de/?;ACTION=3;LA=2;GROUP=B45;GROUPID=4004;ARTICLE=85031;START=0;SORT=artnr;OFFSET=16;SID=27f2mIwqwQARsAAEtMMWs3787bb5a6953d9db2c2007ab6770438a 
)
mit Quarzen (z.B. den hier:
http://www.reichelt.de/?;ACTION=3;LA=2;GROUP=B44;GROUPID=4003;ARTICLE=84995;START=0;SORT=artnr;OFFSET=16;SID=27f2mIwqwQARsAAEtMMWs3787bb5a6953d9db2c2007ab6770438a 
)

Wichtig für den CAN Bus is meines Wissens nach eine Toleranz von 0.4% 
und ein Duty Cycle von 45% - 55%.
Die Toleranz scheint nicht so das Problem zu sein, wohl aber der 
geforderte Duty Cycle. Für den Quarz ist er mit 40-60% angegeben, beim 
Oszillator sehe ich leider keine Vergleichbare Information.

von HildeK (Gast)


Lesenswert?

>Für den Quarz ist er mit 40-60% angegeben, beim
>Oszillator sehe ich leider keine Vergleichbare Information.
Umgekehrt.
Der Quarz kann keine Angaben zum Duty-Cycle haben - die ergeben sich 
erst die Art der Oszillatorschaltung.
Wenn du wirklich einen sehr guten 50% Duty-Cycle haben willst: nimm 
32MHz und teile das Signal mit einem '74er durch 2.

@Simon K.
Siehe Antwort von Helmut Lenzen.

von Otto (Gast)


Lesenswert?

Standard - Oszillatoren brauchen alleine ungefähr so viel Strom, wie ein 
ATMEGA32 mit Quarz, ein SJA1000, ein Transceiver und ein OLED 
zusammen.....

Otto

von peterguy (Gast)


Lesenswert?

>Umgekehrt.
>Der Quarz kann keine Angaben zum Duty-Cycle haben - die ergeben sich
>erst die Art der Oszillatorschaltung.
>Wenn du wirklich einen sehr guten 50% Duty-Cycle haben willst: nimm
>32MHz und teile das Signal mit einem '74er durch 2.
Ja stimmt, der Quarz hat keine Angaben zum Duty-Cycle, der Oszi schon.
Den Takt zu Teilen würde ich zur Not machen, aber lieber wäre mir ein 
16MHz Quarzoszillator, der auch so meinen Anforderungen genügt.
Du scheinst dich in der Materie gut auszukennen, kannst Du mir einen 
entsprechenden Baustein empfehlen?


>Standard - Oszillatoren brauchen alleine ungefähr so viel Strom, wie ein
>ATMEGA32 mit Quarz, ein SJA1000, ein Transceiver und ein OLED
>zusammen.....
Das wusst ich noch nicht, danke für den Hinweis. Der Gesamtstrom darf 
500mA nich überschreiten, also werde ich das mal ein Auge drauf werfen.

von Tilo (Gast)


Lesenswert?

Ist ein Quarz nicht ein Oszillator?

von Otto (Gast)


Lesenswert?

> Der Gesamtstrom darf 500mA nich überschreiten

so viel wird es nicht werden - ein Standard-Oszillator nimmt etwa 45mA 
und damit kannst Du die o. g. Bauteile betreiben (je nach Anzeige auf 
dem OLED).

Ein 16MHz-Quarz an einem SJA1000 und ATMEGA reicht für CAN-Kommunikation 
bis ca. 1 MBaud.

Otto

von peterguy (Gast)


Lesenswert?

>Ein 16MHz-Quarz an einem SJA1000 und ATMEGA reicht für CAN-Kommunikation
>bis ca. 1 MBaud.
Jep, die 16MHz reichen bei meinem MSCAN modul auch genau bis 1MBaud. 
Höhere Datenraten sind mir bisher nicht begegnet, deswegen auch genau 
dieser Wert für die Taktfrequenz.
Wie hast Du das Problem mit dem Duty Cycle bei deiner Schaltung gelöst?

von HildeK (Gast)


Lesenswert?

>Du scheinst dich in der Materie gut auszukennen,
Das nennt man 'Honig um's Maul schmieren' :-)

>kannst Du mir einen entsprechenden Baustein empfehlen?
Nein - leider nicht.
Auf den Seiten
http://www.jauch.de/pages/eu_quartz_crystal_oscil.php5 oder
http://www.vectron.com/products/xo/xo_index.htm
sind eine Menge Oszillatoren mit Datenblätter, aber es wird kaum mal ein 
engerer Duty-Cycle als 45/55% (mit worst-case 40/60%) spezifiziert.
Es gibt aber noch viele andere Hersteller.

Wo bzw. wieso ist denn der Duty-Cycle so wichtig?

>ein Standard-Oszillator nimmt etwa 45mA
Diejenigen, die ich jetzt kurz angeschaut habe (siehe Links), liegen 
eher bei 10...15mA für einen 16MHz-Oszillator. Doch nicht so schlimm ...

>Ist ein Quarz nicht ein Oszillator?
Der Quarz ist das frequenzbestimmende Bauelement in einem Oszillator.
Oder Gegenfrage: Ist ein Transistor nicht ein Radio?

von Timo (Gast)


Lesenswert?

Hallo zusammen,

prinzipiell mal ist ein Quarz-Oszillator (XO) nichts anderes als ein 
Quarz mit Beschaltung. Soll es über die Temperatur genauer werden, 
braucht man einen Temperaturkompensierten Quarzoszillator (TCXO). Schau 
mal unter www.axtal.com nach, da gibts zhalreiche Infos von Bernd 
Neubig; am besten gleich das Quarzkochbuch dort runterladen.
Wenn Du den AVR mit einem Qaurz beschaltest, solltest Du die bei der 
Auswahl auf die Angabe der Lastkapazität achten (z.B. 20pF) und den 
Qaurz auch so beschalten, dass die beiden Kodensatoren + interner 
Kapazität diesem Wert entsprechen. Damit liegst Du mit der 
Frequenzablage schonmal in dem Bereich, der im Q-Datenblatt angegeben 
ist.
Aus meiner Steuergeräteentwicklung für ein Stuttgarter Unternehmen mit B 
am Anfang wurden zwecks Taktung nur Quarze eingesetzt, spezielle 
Kompensation/Abgleich gab es dazu nicht => von daher behaupte ich dass 
der Qaurz ausreicht.

Timo

von Otto (Gast)


Lesenswert?

> Wie hast Du das Problem mit dem Duty Cycle bei deiner Schaltung gelöst?

Mein Quarz kängt am SJA1000 und dieser gibt den Takt über CLKOUT (Teiler 
auf 1" an den ATMEGA weiter.

> Diejenigen, die ich jetzt kurz angeschaut habe (siehe Links), liegen
> eher bei 10...15mA für einen 16MHz-Oszillator. Doch nicht so schlimm ...

Die worst-case Angabe für einen 16MHz / 5V-Typen in Standard-Ausführung 
(kein CMOS) aus einem Datenblatt lag bei 45mA

von peterguy (Gast)


Lesenswert?

>Wo bzw. wieso ist denn der Duty-Cycle so wichtig?
Hier ein Auszug aus dem Datenblatt meines Controllers:
1
The clock source has to be chosen such that the tight oscillator tolerance requirements (up to 0.4%) of the
2
CAN protocol are met. Additionally, for high CAN bus rates (1 Mbps), a 45% to 55% duty cycle of the
3
clock is required.
Also die Anforderungen an den Duty Cycle gelten nur für den Einsatz bei 
1MBaud. Das wird auch der Grund sein, warum in der 
Steuergeräteentwicklung ein "normaler" Quarz ausreichend ist (Die dort 
übliche Obergrenze für CAN liegt bei 500kBaud).

>> Wie hast Du das Problem mit dem Duty Cycle bei deiner Schaltung gelöst?
>Mein Quarz kängt am SJA1000 und dieser gibt den Takt über CLKOUT (Teiler
>auf 1" an den ATMEGA weiter.
Also wird entweder der SJA1000 besser sein als mein CAN modul, oder aber 
du hast das gleiche Problem wie ich...

von Otto (Gast)


Lesenswert?

> Also wird entweder der SJA1000 besser sein als mein CAN modul, oder aber
> du hast das gleiche Problem wie ich...

lass es mich mal so formulieren:

1. im gesamten Datenblatt des SJA1000 gibt es keine Hinweise bzgl. des 
Duty-Cycle

2. Nein, ich habe keine Probleme mit dem CAN

Otto

von peterguy (Gast)


Lesenswert?

@Otto: Hast du den CAN schon mit 1MBaud getestet?

von Karl Arsch von der Rennbahn (Gast)


Lesenswert?

Nimm nen Quarz, da gibt es keinen "Duty-Cycle". Ein solcher ist nichts 
anderes als ein vergleichsweise sehr schmalbandiger Filter 
(Serienresonanz). Was sich hieraus ergibt sollte klar sein.

von Helmut (Gast)


Lesenswert?

Der Takt für CAN wird doch intern aus dem Prozessortakt durch 
Frequenzteilung
gewonnen. Deshalb spielt der Duty-Cycle des Prozessortaktes überhaupt 
keine Rolle für den CAN-Ausgang.
Duty-Cycle Specs bei einem Prozessortakt sind ein Thema für den 
Prozessor
an sich, wenn man mit maximaler Taktfrequenz "fährt".

von Otto (Gast)


Lesenswert?

@peterguy: ja, funktioniert auch mit 1 MBAUD

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.