Forum: Mikrocontroller und Digitale Elektronik Quartzoszillator für 4,1943 MHz


von Toni (Gast)


Lesenswert?

Hallo zusammen,

ich möchte einen AD9833 mit 4,1943 MHz takten, um 30,00Hz Rechteck und 
ganzzahlig Vielfache davon (bis 300,00kHz) rauszubekommen. Leider hat 
der Stein nur einen Takteingang, und Quartzoszillatoren dieser Frequenz 
hab ich nicht gefunden. Hat jemand von euch eine einfache externe 
Oszillatorschaltung (VCC = 3,3V) evtl mit Logikgattern in diesem 
Frequenzbereich erfolgreich getestet?
Als Quartz käme z.B der
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=X406-ND
in Frage.

Vielen Dank
Toni

von Andreas K. (derandi)


Lesenswert?


von Frank (Gast)


Lesenswert?


von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Andreas K. schrieb:
> Sieh mal was Tante Angelika da hat:
> http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=B42;G...

Der Oszillator ist für 5V...

von Иван S. (ivan)


Lesenswert?

Leider hab ich auf die Schnelle nur was von Maxim :-( gefunden.
MAX7376 oder MAX7377. Bei einem "gescheiten" Hersteller bin ich leyder 
nicht fündig geworden, habe aber auch nur drei Minuten gesucht.

Iwan

von Toni (Gast)


Lesenswert?

Vielen Dank für die Antworten,

Andreas K. schrieb:
> Btw, 4,1943*2*2*2 Ergibt 33,4455 :)

AD9833 datasheet S.11: The analog output of the AD9833 is
f_MCLK / 2^28 * FREQREG
Wenn ich also FREQREG=1920 oder ganzzahlige Vielfache davon wähle, hab 
ich was ich will.
Den Oszillator hatte ich bei digi-key nicht gefunden - braucht leider 
5V.

@Iwan: Die Maxims sehen gut aus, sind klein, aber +/-4% initial accuracy 
bei 3.3V sind schon arg daneben...

Gibt's wirklich keinen so kleinen Teil wie den MAX7376, der einfach die 
Quarz Eingangsstufe aktueller Prozessoren enthält?

Ich hätte auch noch einen MCP2515 onboard, der einen Frequenzausgang 
hat. Nur hab ich den noch nicht in Betrieb genommen und im Datenblatt 
auch noch keinen Hinweis darauf gefunden, ob er mit 4,1943MHz oder 
8,3886MHz Quarz auch korrekte CAN-Baudrates (250kBaud und 500kBaud) 
kann. Einen Teiler durch 2 hat er jedenfalls laut Datenblatt.

Vielen Dank
Toni

von Peter R. (gelb)


Lesenswert?

Google mal nach

Quarzoszillator +Logikgatter

da kommen einige einfache Schaltungen zum Vorschein.

Grüße, Peter

von Frank (Gast)


Lesenswert?

>Google mal nach
>
>Quarzoszillator +Logikgatter
>
>da kommen einige einfache Schaltungen zum Vorschein.
>
>Grüße, Peter

dafür hatte ich ja den link gepostet, da sind ein paar bsp. drin.

Beitrag "Re: Quartzoszillator für 4,1943 MHz"

von Toni (Gast)


Lesenswert?

Vielen Dank an alle!

Frank schrieb:
> dafür hatte ich ja den link gepostet, da sind ein paar bsp. drin.
>
> Beitrag "Quartzoszillator für 4,1943 MHz"

Jetzt drehen wir uns schon im Kreis....

@Frank: dein obiger Link hat mich auch nicht viel weitergebracht:

MM5369 ist nur im DIL und erst ab 10V einsatzfähig
CD4521 ditto erst ab 10V und kein ungeteilter Ausgang
DS2417 läuft nur mit 32,768kHz und hat max. 1Hz output
PCF8573 läuft ebenfalls mit 32,768kHz
ICM7213 kommt auf max. 8kHz output

Folgende Lösungsmöglichkeiten sehe ich:

den vorhanden MCP2515 mit 8,3886MHz zu takten und den clock out /2 
nehmen
den Klassiker aus http://de.wikipedia.org/wiki/Quarzoszillator mit 5V 
und Spannungsteiler am Ausgang probieren
Den Reichelt-Oszillator mit 5V und Spannungsteiler am Ausgang betreiben

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Weiß nicht so recht was du überhaupt willst?!?

Warum nicht x4060 und 4,xMHz Quarz und gut ist es. Läuft bei 5V mit 
einem 74HC(T)4060 völlig problemlos und ist billig.

von Toni (Gast)


Lesenswert?

Abdul K. schrieb:
> Weiß nicht so recht was du überhaupt willst?!?
>
> Warum nicht x4060 und 4,xMHz Quarz und gut ist es. Läuft bei 5V mit
> einem 74HC(T)4060 völlig problemlos und ist billig.

Was ich will steht ganz oben ;-)
Das Problem am 4060 ist (neben den 5V VCC) dass er keinen ungeteilten 
Ausgang hat. Klenster Teiler Q3 mit 1/8 der Quarzfrequenz.

von Helmut L. (helmi1)


Lesenswert?

Dann bau dir doch ganz einfach einen Oszillator mit dem 74HCU04 auf.
Der kann auch noch 3V.

von eProfi (Gast)


Lesenswert?

Was möchtest Du denn bauen?  Soll das in Serie gehen? Wie genau soll es 
sein?

Ich wette, dass der Reichelt-Oszillator auch mit 3,3V schwingt.

Warum willst Du den DDS mit gerade dieser Frequenz betreiben?
Das ist doch gerade der Vorteil dieser ICs, dass man aus jeder nahezu 
beliebigen Frequenz eine nahezu beliebige andere Frequenz erzeugen kann.


Warum erzeugst Du die Rechteckspannung nicht mit einem Timer?

Der MCP2515 läuft sicher nicht mit einer krummen Frequenz. D.h. er läuft 
schon, aber die Baudraten stimmen dann nicht.

Ich nehme an, Du musst noch etwas die Grundlagen erforschen.
Viel Erfolg!

von Toni (Gast)


Lesenswert?

Helmut Lenzen schrieb:
> Dann bau dir doch ganz einfach einen Oszillator mit dem 74HCU04 auf.
> Der kann auch noch 3V.

Ja, genau das meinte ich mit

Toni schrieb:
> den Klassiker aus http://de.wikipedia.org/wiki/Quarzoszillator mit 5V
> und Spannungsteiler am Ausgang probieren

Nur wollte ich mir das Experimentieren mit Anschwingverhalten, 
Verlustleistung im Quarz etc. sparen (habe da 0 Erfahrung) und suche 
jemanden, der das schon fertig dimensioniert und ausgetestet hat :-)

eProfi schrieb:
> Ich wette, dass der Reichelt-Oszillator auch mit 3,3V schwingt.

Das ist das Problem: ich brauche eine Lösung, die VERLÄSSLICH tut. 
Vielleicht gehts tatsächlich in 99 Fällen gut, beim 100. Gerät hab ich 
aber ein Problem... Wissentlich die Spec verlassen kann ich mir nicht 
leisten.

eProfi schrieb:
> Warum willst Du den DDS mit gerade dieser Frequenz betreiben?
> Das ist doch gerade der Vorteil dieser ICs, dass man aus jeder nahezu
> beliebigen Frequenz eine nahezu beliebige andere Frequenz erzeugen kann.

Siehe ganz oben ;-)
Ich brauche genau 30Hz und ganzzahlige Vielfache davon für einen 
Signalgenerator. Der AD8933 hat den charme, daß er diese 30Hz 
tatsächlich genau hinbekommt und ich für die ganzzahligen Vielfachen 
lediglich multiplizieren muss, was ganzzahlig im 28bit Raum möglich ist:

Toni schrieb:
> AD9833 datasheet S.11: The analog output of the AD9833 is
> f_MCLK / 2^28 * FREQREG
> Wenn ich also FREQREG=1920 oder ganzzahlige Vielfache davon wähle, hab
> ich was ich will.

Wenn ich eine andere Quarzfrequenz nehme, verlasse ich den ganzzahligen 
Bereich und bekomme durch die notwendigen Rundungen Jitter im 
generierten Signal.

eProfi schrieb:
> Warum erzeugst Du die Rechteckspannung nicht mit einem Timer?

Weil ich dann mit Periodendauern statt Frequenzen hantiere; die nötige 
Kehrwertbildung ist bestenfalls für einzelne Werte ganzzahlig möglich...

eProfi schrieb:
> Der MCP2515 läuft sicher nicht mit einer krummen Frequenz. D.h. er läuft
> schon, aber die Baudraten stimmen dann nicht.

Genau das befürchte ich auch, habe dazu aber weder im Datenblatt noch in 
der Doku des Devboards etwas gefunden..?? Es gibt Aufbauten mit 16.0 MHz 
und mit 20.0 MHz (DevBoard) die offensichtlich beide tun.

von Helmut L. (helmi1)


Lesenswert?

Dann nimm doch das Datenblatt vom 74HCU04 da steht die 
Oszillatorschaltung mit Dimensionierung drin

http://www.nxp.com/documents/data_sheet/74HCU04_CNV.pdf

von eProfi (Gast)


Lesenswert?

Leider funktioniert das nicht ganz so, wie Du Dir das mit dem Jitter 
vorstellst. Jitterfreie Signale bekommst Du nur, wenn der Frequency-Wert 
ein ganzzahliger Teil der Akkumulatortiefe ist.

Der Jitter ist bei 30 Hz sehr gering:
2y28/1920=139810,133333333
Aber bei 300kHz?
2y28/1920/10000=13,98101333333   da schaut es nicht mehr gut aus.

Die Quarzfrequenz ändert daran gar nichts. Du kannst jeden beliebigen 
Quarz nehmen. Möglichst hoch halt, dann wird der Jitter klein.

Ich glaube, Du brauchst einen anderen Ansatz.
Evtl. das analoge Sinus-Signal filtern und in einen Komparator schicken.
Oder eine PLL mit programmierbarem Teiler.
Oder ein programmierbarer Oszillator, z.B. von Epson oder Murata.

Berichte bitte, wie es weiter geht. Interessiert mich nämlich.

von Toni (Gast)


Lesenswert?

Helmut Lenzen schrieb:
> ann nimm doch das Datenblatt vom 74HCU04 da steht die
> Oszillatorschaltung mit Dimensionierung drin
>
> http://www.nxp.com/documents/data_sheet/74HCU04_CNV.pdf

Danke, genau das hab ich gesucht!!

eProfi schrieb:
> Leider funktioniert das nicht ganz so, wie Du Dir das mit dem Jitter
> vorstellst. Jitterfreie Signale bekommst Du nur, wenn der Frequency-Wert
> ein ganzzahliger Teil der Akkumulatortiefe ist.

Meinst du damit, daß die Formel im Datenblatt so nicht stimmt?
4194304 / 2^28 * 1920 = 30,00000Hz. Alles ganzzahlig.
aber z.B.
16000000 / 2^28 * 503,31648 = 30,0000Hz
Problem dabei sind die 503,31648 die ich runden muß und damit auf
16000000 / 2^28 * 503 = 29,9811Hz komme.

Hab ich was nicht verstanden?

von hp-freund (Gast)


Lesenswert?

Es gibt dafür doch einen schönen Rechner:

http://designtools.analog.com/dt/ad98334/ad9833.html

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Toni schrieb:
> Abdul K. schrieb:
>> Weiß nicht so recht was du überhaupt willst?!?
>>
>> Warum nicht x4060 und 4,xMHz Quarz und gut ist es. Läuft bei 5V mit
>> einem 74HC(T)4060 völlig problemlos und ist billig.
>
> Was ich will steht ganz oben ;-)
> Das Problem am 4060 ist (neben den 5V VCC) dass er keinen ungeteilten
> Ausgang hat. Klenster Teiler Q3 mit 1/8 der Quarzfrequenz.

Nein, er hat einen gepufferten Quarz-Ausgang.

Allerdings gebe ich dir recht. Selbstgebastelte Oszillatoren sind 
manchmal zickig und daher nix für Anfänger auf diesem Gebiet.
Wenn du es ganz edel willst, nimmste einen programmierbaren wie den 
Si570. Notfalls mit ein paar Teilerstufen dahinter. Es gibt ne Unmenge 
von Typen. Der Si570 war jetzt ein Beispiel.

von eProfi (Gast)


Lesenswert?

Zuerst: die genaue Frequenz beträgt 2y22=4194304  (y ist  "hoch"  im 
Win-Calc).

Überdenke nochmal die Bedingung, dass kein Jitter entsteht.
Du meinst, wenn der Frequency-Wert eine Zahl ohne Nachkommastellen ist.
Ich behaupte, dass die Bedingung ist, dass die Zählerbreite ein 
ganzzahliges Vielfaches der Frequency-Wert ist. Mit anderen Worten: der 
Frequency-Wert ist ein Vielfaches von 2. Damit kannst Du aber leider 
deine hohen Frequenzen nicht erzeugen.

Das Frequency-Word für 300 kHz ist 2y28/2y22*300000=19200000 = 
0x124F800. Dieser Wert wird bei jedem Takt in den 28bit-Akku addiert.

Akku     Rechteckausgang (entspricht Bit 27 des Akkus)
0000000  L
124F800  L
249F000  L
36EE800  L
493E000  L
5B8D800  L
6DDD000  L
802C800  H
927C000  H
A4CB800  H
B71B000  H
C96A800  H
DBBA000  H
EE09800  H
0059000  L   dieser Rest akkumuliert sich mit jedem Zyklus. Wenn er die 
7ffffff überschreitet:
nach 52 Zyklen ergibt dieser Rest 0x1214000, der 53. Zyklus ist dann nur 
13 statt 14 Takte lang.
Das ist der unerwünschte Jitter.


Der Ausgang ist also 368 mal  2y22/14=299593,1428 Hz  und dann einmal 
2y22/13=322638,7692 Hz (zum Ausgleich)

Probe: (52*299593+322638)/53=
(52*2y22/14+2y22/13)/53=300027,9659   (ist nicht genau 300000, da es 
nicht genau jedes 53. Mal, sondern im Durchschnitt jedes 
19200000/364544=52,6685-te Mal passiert.)


Mit neuer ICs (höhere Taktfrequenz, breiterer Akku) wird es zwar besser, 
aber nie so wie Du es wünschst.

Also, PLL oder programmierbaren Oszillator und Teiler verwenden.

Habe ich es anschaulich genug erklärt?
Für weitere Fragen stehe ich gerne zur Verfügung.

von Toni (Gast)


Lesenswert?

Hi eProfi,

vielen Dank, leuchtet ein.
Da Jitter in meiner Anwendung ein absoluter Killer ist, werde ich wohl 
auf die zweitbeste Lösung zurückgreifen, Frequenzerzeugung über Timer 
capture/compare. Damit handle ich mir zwar Ungenauigkeiten in der 
Absolutfrequenz ein (die ganzzahlig Vielfachen von 30.0 Hz sind nicht 
mehr), dafür steht diese leicht krumme Frequenz dann aber jitterfrei da.

Die Alternative Analog-Sinus zu filtern hat mir auf die Schnelle auch 
gefallen, allerdings müsste der Filter einen Kamm bei allen Vielfachen 
von 30Hz haben, was wohl den Rahmen sprengt.

Solltest du noch eine einfache, günstige PLL-Lösung haben, lass sie mich 
bitte wissen. Ansonsten bleib ich beim Timer und spar mir den AD9833 
ganz...

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Mann Junge! Nimm den Si570 und du bist praktisch jedweden Jitter los! 
Das Ding ist genau dafür entwickelt worden!! Nämlich als Clockgenerator 
für Kommunikationsnetze um all die Spezialquarze rauszuhauen. Das Teil 
ist fast so gut wie ein Quarz-Oszillator bester Qualität, nur eben kann 
man die Frequenz auf 38 Bit Genauigkeit eingeben.

von Toni (Gast)


Lesenswert?

Abdul K. schrieb:

> Mann Junge! Nimm den Si570 und du bist praktisch jedweden Jitter los!

Sorry, eine Randbedingung hab ich bisher verschwiegen:
auch 0 Hz ist eine geforderte Ausgabegrösse (und ganzzahliges Vielfaches 
von 30Hz, wenn man die 0 zu den ganzen Zahlen zählt)
Daher war der Si570 schon aus dem Rennen, da er erst bei 10MHz 
beginnt...
...außerdem möchte ich die Frequenzen am Board so gering wie möglich 
halten; ein Si570 mit mindestens 10MHz und maximal 945MHz (!!) ist bei 
meiner einfachen Doppellayer-Platine Gift, auch wenn der Takt räumlich 
nahe geteilt wird.
Noch ein Grund: er kann die geforderten 4 Frequenz-Dekaden nicht.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Ich habe die Übersicht verloren. Du willst ab 0 Hz bis 4,xx MHz alle 30 
Hz Vielfache einstellbar haben?

Bei 0 Hz wird der Ausgang einfach abgeschaltet. 945MHz mußt du nicht 
einstellen, dann kommen die auch nicht raus.
Wie gesagt, die Frequenzauflösung des Si570 ist höher als deine 
geforderten 22 Bit. Mit einem externen schaltbaren Teiler sollten meiner 
Meinung nach deine Wünsche erfüllbar sein.

Warum das Ganze, erschließt mir nicht.

Sehe es daher als Anregungen.

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.