10MHz nach 32768Hz runterteilen?

Gast #5738020
Lesenswert?

Mathias B. schrieb:
> Wie genau sind denn beide Frequenzen?

Die GPS-Uhr hat Atomuhrgenauigkeit und die definiert die Zeit. 
Allenfalls wäre es sinnvoll, nach dem Jitter zu fragen.

Und wenn die Zielfrequenz 32768Hz ist, damit die Uhr daraus mit einen 
2^15-Teiler eine Sekundentakt gewinnen kann, dann ist das ganz genau so.
Gast #5738021
Lesenswert?

karadur schrieb:
> Falls ernst gemeint: PLL geht.

Mein erstes Konzept (was mir selbst nicht gefällt) ist:

10 MHz durch 5^7 teilen, ergibt 128Hz

32768Hz eines VCXO durch 2^8 teilen.
Ergibt auch 128Hz.Diese beiden 128Hz Signale auf einen Phasendetektor 
geben und mit diesem den VCXO nachregeln. Nennt sich PLL.
Gast #5738027
Lesenswert?

Müsli-Freund schrieb:
> 10MHz GPS Referenz
> 32768Hz ... für eine Quarzuhr

Die gleichzeitige Verwendung beider ist also Pflicht?
(Sonst würde ja ein offensichtlich völlig verschüchterter Ratsucher
keine Frage stellen, deren Inhalt ihm selbst nicht geheuer ist...?)
Blöd ist die Sache schon. Es gibt trotzdem eine einfache Lösung:
Man schließe die Referenz an einen Sender, und strahle das Ganze
in genehme Richtung - dazu belasse man den Quarz an Ort und Stelle.
Schon hat irgend wer anders dieses leidige 10MHz Problem.


hth
Gast #5738031
Lesenswert?

Mein zweites Konzept (gefällt mir noch weniger) mit Hilfe eines DDS aus 
10MHz die 32768Hz erzeugen. Der Restfehler ist mir ein inneres Jucken im 
Gehirn :-)

Das dritte Konzept: mit einem Rate Multiplier (siehe Datenblatt 7497 
bzw. 74167) von 625 Impulsen 256 Impulse durchlassen. Diese (10MHz / 625 
* 256 = 4096000Hz) noch durch 125 teilen ergibt 32768Hz. Falls es stört, 
den Jitter könnte man mit einem Quarzfilter aus einem Uhrenquarz 
wegfiltern.
Problem: ich hab von VHDL und FPGA`s noch nicht den großen Plan um 
diesen Rate Multiplier zu bauen.
Gast #5738041
Lesenswert?

Mein viertes Konzept: Vier Stück 74167 auftreiben. Diese kaskadieren und 
einen 4096/10000 Multiplier aufbauen. Die 4096000Hz noch durch 125 
teilen. Vielleicht passt dieses TTL Gelumpe in ein kleines CPLD. Brauche 
Hilfe beim VHDL Code.
Gast #5738044
Lesenswert?

Müsli-Freund schrieb:
> Mein viertes Konzept: Vier Stück 74167 auftreiben. Diese
> kaskadieren und einen 4096/10000 Multiplier aufbauen. Die 4096000Hz noch
> durch 125 teilen. Vielleicht passt dieses TTL Gelumpe in ein kleines
> CPLD. Brauche Hilfe beim VHDL Code.

Ich würd' ja mit einem μC und etwas schlau geschriebener Software einen 
rationalen Teiler bauen.
Gast #5738052
Lesenswert?

Müsli-Freund schrieb:

> Das dritte Konzept: mit einem Rate Multiplier (siehe
> Datenblatt 7497 bzw. 74167) von 625 Impulsen 256 Impulse
> durchlassen.

Das sind vier 5:4 Teiler kaskadiert.

Die lassen sich relativ einfach mit 74390 und ein paar
Gattern realisieren, soweit ich weiss. (Läuft darauf
hinaus, immer vier Impulse durchzulassen und den fünften
zu unterdrücken.)


> Diese (10MHz / 625 * 256 = 4096000Hz) noch durch 125
> teilen ergibt 32768Hz.

Genau.
Gast #5738055
Lesenswert?

Das geht doch ganz einfach.

Mann muss nur jede Sekunde aus den 10 MHz genau 32768 Impulse ausgeben.
Das reicht der Quarzuhr doch voll und ganz.

Um sie ein wenig zufriedener zu machen, muessen es ja nicht 32768 am 
Stueck sein. Sondern immer Paeckchen von 128 Impulsen mit der passenden 
Pause dazwischen damit der Schrittmotor nicht ganz unrund laeuft.

Fertig iss!
Gast #5738231
Lesenswert?

Martin O. schrieb:
> Auf dem Mikrocontroller lässt man dann nen hochgenauen DDS Oszillator
> die 32768 Hz generieren.

Auch damit wirst du wegen der Teilbarkeit keine exakten 32768 Hz 
hinbekommen. Die Idee ist doch wohl, dass die Uhr eine direkt an die 
Atomzeit angekoppelte Zeitbasis bekommt.

Natürlich wird die Uhr trotzdem exakter Zeitbasis ohne Nutzereingriff 
nicht immer die richtige Zeit anzeigen, weil Schaltsekunden zu sich 
aufsummierenden Zeitsprünge führen und der Gesetzgeber durch die zwei 
mal jährlichen großen Sprünge einen stetigkeiten Ablauf der gesetzlichen 
Zeit verhindert.
#5738349
Lesenswert?

Für eine Uhr braucht man keine 32768Hz. Es reichen 32768 Impulse pro 
Sekunde. Und die kann man relativ einfach aus 10MHz erzeugen.

Zuerst mal teilt man durch 250 auf glatte 40kHz. Um von 40kHz auf 
32768Hz zu kommen, muß man mit 512/625 multiplizieren. Oder anders 
gesagt: von 625 Impulsen bei 40kHz muß man 512 durchlassen.

1
                                       Tor
2
.-----.   .----.                     .-----.
3
|10MHz|---|÷250|--*------------------| -/- |--- 32768 Impulse / sec
4
`-----´   `----´  |                  `-----´
5
                .----.       .----.     |
6
                |=0  |-------|S  Q|-----´
7
                |    |       |    |
8
                |=512|-------|R   |
9
                `----´       `----´
10
           Zähler bis 625   Flipflop


Da die Uhr intern selber immer 32768 Impulse abzählt, bevor sie zur 
nächsten Sekunde weiterschaltet, ist ihr egal ob diese Impulse in 
gleichmäßigen Abständen oder mit Lücken kommen.


PS: die Grundidee stammt aus einem über 30 Jahre alten Buch. Da ging es 
darum, eine netzfrequenzbasierte Uhr für 60Hz an 50Hz zu betreiben. 
Zuerst hat man sich aus den 50Hz 100Hz gemacht. Davon dann immer 4 von 
10 Impulsen unterdrückt.
#5738611
Lesenswert?

Einfach mal an die Schule erinnern, wo das Rechnen mit gebrochenen 
Zahlen behandelt wurde.
Du teilst 45 mal /306 und 211 mal /305. Das ergibt im Mittel 32768Hz.
Das kann man z.B. in einen ATtiny24 programmieren, der hat einen 
16Bit-Timer mit Clear on Compare.
Man kann natürlich auch gleich eine RTC hinein programmieren und sich 
den Umweg über 32768Hz sparen. Der Vorteil ist auch, daß damit 1ms 
jitterfreie Auflösung möglich ist.
#5738626
Lesenswert?

Peter D. schrieb:

> Einfach mal an die Schule erinnern, wo das Rechnen mit gebrochenen
> Zahlen behandelt wurde.
> Du teilst 45 mal /306 und 211 mal /305. Das ergibt im Mittel 32768Hz.
> Das kann man z.B. in einen ATtiny24 programmieren, der hat einen
> 16Bit-Timer mit Clear on Compare.

Gibts da nicht auch fertige ICs für? Nicht jeder kann so gut
programmieren wie Du. :-)
Gast #5738845
Lesenswert?

Die ganze Multiplizierer und Dividiererei ist doch Kaese.
Zumal es keine Loesung in kleinen ganzen Zahlen gibt.

Der Uhr jede Sekunde, aus den genauen 10 MHz abgeleitet,
genau 32768 Impulse zu senden ist exakt.

Und: Das kann jeder kleine 8 beinige PICkel fuer 30 Ct.


P.S.: Das 30 Jahre alte Buch kenne ich nicht. Ich kann mir meine
Ideen selber bilden.
Gast #5738861
Lesenswert?

Einfach einen counter nehmen der an 10 MHz läuft und bis 305 zählt.
dann noch ein paar counter nehmen die ca alle 6 durchläufe dafür sorgen 
das erstgenannte counter bis 306 zählt. Einfach mal das 
Periodenverhältnis der beiden Oszillatoren anschauen, liegt wohl bei 
305,17578126
Gast #5738887
Lesenswert?

Man könnte einen Quarz durch ein passendes Störsignal mit den 10 MHz 
synchronisieren. Das könnte z.B. ein 4,096 MHz Quarz sein, der ein wenig 
eines 400 kHz Signals (10 MHz / 25) bekommt.

In der Regel bekommt man eine Synchronisation, wenn die Frequenz stimmt.
Gast #5738923
Lesenswert?

Pendelkunde schrieb:
> schlubbidu schrieb:
>> Der Uhr jede Sekunde, aus den genauen 10 MHz abgeleitet,
>> genau 32768 Impulse zu senden ist exakt.
>
> Aber nicht beim Tastverhältniss

Das ist richtig und würde zu Problemen führen wenn von den 32768Hz noch 
andere Funktionen wie LED-Anzeige-Refresh etc. abgeleitet werden. Das 
ist bei so einem Quarz aber nicht zu erwarten, zumindest wenn ein µC 
dahinter steht.
Gast #5738965
Lesenswert?

@Wolfgang 10MHz / 10^7 sind 3,5 74HC390 gibt 1Hz

4046 VCO auf 32768 laufen lassen und durch 2^15 teilen mit CD4040 und 
einem Teiler :8  gibt 1Hz. Phasenvergleich auf 1Hz.

Falls 32768 mit Sinus gebraucht wird dann mit einem Tiefpass.
#5739016
Lesenswert?

schlubbidu schrieb:
> P.S.: Das 30 Jahre alte Buch kenne ich nicht. Ich kann mir meine
> Ideen selber bilden.

Schön. Nur halt nicht sonderlich beeindruckend.

Mein Hinweis mit "vor 30+ Jahren schon in einem Buch gelesen" sollte 
darauf hinweisen, daß das nun wahrlich keine Raketentechnik ist. Und 
natürlich würde man das heute und unter den Lesern dieser Website mit 
einem µC machen.

Damals gab es TTL und die ersten zarten Ansätze von CMOS. Wobei - wenn 
man den Aufwand nicht scheut, kann man das auch mit Röhren machen. OK, 
der Teil zwischen 10MHz und 40kHz wird vielleicht etwas 
herausfordernder.  Aber Digitaluhren nur mit Röhren gibt es schon mal:

http://www.jogis-roehrenbude.de/Leserbriefe/Bruegmann-Digital-Roehren-Clock/Digital-Roehrenuhr.htm
Gast #5741239
Lesenswert?

Müsli-Freund schrieb:

> Mein zweites Konzept (gefällt mir noch weniger) mit Hilfe eines DDS aus
> 10MHz die 32768Hz erzeugen.

Das geht aber sehr gut.

> Der Restfehler ist mir ein inneres Jucken im
> Gehirn :-)

Der Restfehler ist bei korrekter Umsetzung nur ein periodisch 
auftretender lokaler Fehler in der Phase der Ausgabefrequenz und den 
kann man schon mit einem gängigen µC (z.B. ATtiny13, das wäre doch 
endlich mal eine Anwendung für das Ding!!!) relativ leicht unter 0,3% 
drücken. Mit einem FPGA sollte (mit dem gleichen Grundkonzept) noch ganz 
erheblich weniger möglich sein...

Übrigens: man sieht so einer Umsetzung praktisch nicht mehr an, dass es 
im Kern eine DDS ist. Man könnte sie mit der gleichen Berechtigung auch 
als Anwendung des Bresenham-Algorithmus bezeichnen...
Gast #5741289
Lesenswert?

c-hater schrieb:
> Der Restfehler ist bei korrekter Umsetzung nur ein periodisch
> auftretender lokaler Fehler in der Phase der Ausgabefrequenz und den
> kann man schon mit einem gängigen µC (z.B. ATtiny13, das wäre doch
> endlich mal eine Anwendung für das Ding!!!) relativ leicht unter 0,3%
> drücken.

Wenn sich die 0,3% auf die Frequenz beziehen, ist das eine Abweichung 
der Uhr von über 4 Minuten am Tag. Da ist mein interner Oszillator 
genauer.
Wenn ich schon eine Zeitbasis von einem GPS-Modul habe, will ich die 
auch vernünftig verwenden. Deshalb würde ich die Uhr ggf. neu aufbauen 
und dort intern mit dem 10MHz arbeiten.

Sollte das aus irgendeinem Grund nicht möglich sein, könnte man mittels 
eines kleinen PICs (geht mit den meisten anderen µCs mit vernünftiger 
Timer-Struktur vermutlich genauso) unter geschickter Ausnutzung der 
HW-Module einen Teiler bauen, der 0% Frequenzabweichung hat und wo der 
zeitliche Versatz auch nur einige Hundert Takte beträgt.
Gast #5741310
Lesenswert?

Bastler schrieb:

> Wenn sich die 0,3% auf die Frequenz beziehen

Das tun sie. Aber anders als du denkst...

> ist das eine Abweichung der Uhr von über 4 Minuten am Tag

Was hast du an "lokaler Phasenfehler" nicht verstanden? Die Frequenz 
stimmt natürlich längerfristig betrachtet zu 100%. Nur eben immer mal 
wieder ganz kurzzeitig nicht. Sowas bezeichnet man als lokalen 
Phasenfehler oder auch als Phasenjitter.
Gast #5741348
Lesenswert?

c-hater schrieb:

> Was hast du an "lokaler Phasenfehler" nicht verstanden? Die Frequenz
> stimmt natürlich längerfristig betrachtet zu 100%. Nur eben immer mal
> wieder ganz kurzzeitig nicht. Sowas bezeichnet man als lokalen
> Phasenfehler oder auch als Phasenjitter.

Hmm... Das war nicht wirklich zutreffend beschrieben. Also nächster 
Versuch: Langfristig betrachtet ist's 100% die korrekte Frequenz. 
Kurzfristig betrachtet ist es hingegen eigentlich niemals die korrekte 
Frequenz, einen Teil der Zeit ist sie zu klein, einen Teil der Zeit ist 
sie zu groß. Zwischen diesen beiden Zuständen wird regelmäßig hin- und 
hergewechselt. Während der Zeit, wo die Frequenz zu klein ist, hinkt die 
Phase der tatsächlich erzeugten Frequenz der Sollphase der Zielfrequenz 
zunehmend hinterher, mit wachsendem Phasenfehler. Bei der zu großen 
Frequenz gilt dann das Gegenteil. Im Mittel ergibt sich die richtige 
Frequenz. Der maximal auftretende Wert des Phasenfehlers ist nun das 
Kriterium zur Bewertung der Implementierung, er sollte natürlich so 
klein wie möglich sein.
#5741389
Lesenswert?

Nimm eine DDS-IC der einen 32bit Accumulator hat. Da bekommst du nach 
der Filterung einen Sinus mit 32768Hz. Der bekannteste Hersteller für 
DDS-ICs ist Analog Devices.

10MHz an den Takteingang.
Programmierter 32bit Frequenzwert = (32768/10000000)*2^32 = 14073749
Der Frequenzfehler liegt bei ca. 10^-7 = 0,1ppm
Gast #5741602
Lesenswert?

Helmut S. schrieb:
> Nimm eine DDS-IC der einen 32bit Accumulator hat. Da bekommst du
> nach der Filterung einen Sinus mit 32768Hz. Der bekannteste Hersteller
> für DDS-ICs ist Analog Devices.
>
> 10MHz an den Takteingang. Programmierter 32bit Frequenzwert =
> (32768/10000000)*2^32 = 14073749
> Der Frequenzfehler liegt bei ca. 10^-7 = 0,1ppm

Danke, aber ich habe das mal durchgerechnet.
14073749/(2^32 * 32768/10MHz)  60  60  24  365
Damit geht die Uhr im Jahr um 0,37 Sekunden falsch.
Katastrophe. Das geht gar nicht. Aber es gibt ja 48Bit DDS.
Gast #5741881
Lesenswert?

Müsli-Freund schrieb:
> Mein viertes Konzept: Vier Stück 74167 auftreiben. Diese kaskadieren und
> einen 4096/10000 Multiplier aufbauen. Die 4096000Hz noch durch 125
> teilen. Vielleicht passt dieses TTL Gelumpe in ein kleines CPLD. Brauche
> Hilfe beim VHDL Code.

mit einem 74HC40103 durch 125 teilen und dann mit 4 Stück CD4527 mal 
4096/10000.
diese Teile kann man problemlos beschaffen
Gast #5742369
Lesenswert?

Müsli-Freund schrieb:
> Wie
> kann ich die auf die 32768Hz runterteilen für eine Quarzuhr?

Ihr sucht andauernd nach einem gemeinsamen Teiler, aber dabei kommt man 
auf unhandlich niedrige Frequenzen, die einen häufigen Phasenvergleich 
erschweren.
Besser geht das, indem man das kleinste gemeinsame Vielfache berechnet 
und dort eine PLL laufen lässt.

Es gibt Online Tools, die das kgV im Handumdrehen ausrechnen:

256*10MHz = 78125*32768Hz = 2,56GHz


Das sind zwar ca. 2,5GHz, aber mit heutigen ICs lassen sich 
entsprechende Oszillatoren und Teilerketten relativ leicht aufbauen
Der Phasenvergleich bei 10MHz ist auch kein Hexenwerk.

 Etwas komplizierter, dafür aber wohl mit weniger Leistung funktioniert 
es, wenn man die Grundfrequenzen vervielfacht.
Mit Vervielfachern und Mischern arbeiten übrigens auch die 
Rubidium-Frquenznormale um von der am Ausgang gelieferten Quarzfrequenz 
10,000000000MHz auf die "schräge" Meßfrequenz von 6.834.682.610,904324 
Hz (ca. 6,8 GHz) zu kommen.
Gast #5742409
Lesenswert?

P.S.:
Di erwähnten Online-Tools z.B. 
https://www.umrechnung.org/mathematik-kgv-ggt-berechnen/gemeinsames-vielfaches-teiler.htm 
berechnen auch den grössten gemeinsamen Teiler.
Demnach kann man den Phasenvergleich um den 32kHz-Oszillator 
nachzusteuern auch mit 128Hz machen.
10MHz / 78125 = 128 der 7490 lässt grüssen oder ein ATTiny der mit 10MHz 
läuft.
32768 / 256 =128 mittels Uralt 4000er CMOS

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren