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!
>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.
>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.
Standard - Oszillatoren brauchen alleine ungefähr so viel Strom, wie ein
ATMEGA32 mit Quarz, ein SJA1000, ein Transceiver und ein OLED
zusammen.....
Otto
>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.
> 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
>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?
>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?
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
> 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
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...
> 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
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.
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".