temporäre Kalibrierung u. Justierung OCXO

Hi,

nachdem der chinesische NMEA-GPSDO nach 36 Std. immer noch 1.2 Hz neben

10 MHz lag und ich den zurückgeschickt habe, habe ich mich nochmal der Justierung meines OCXO mit Hilfe des Normalfrequenzsenders Droitwich 198 kHz, einem TCXO-Receiver und dem Programm Spectrum Lab auf dem PC zugewandt:

-TCXO-Offset: -19 mHz

-Umschalten auf 10 MHz OCXO CW, 10 Hz Bandbreite

-Abgleich auf 1 kHz + 19 mHz

-ergibt eine temporäre Justierung auf 1 mHz Genauigkeit

formatting link

Das sind Genauigkeiten, die ich will ...

Reply to
Leo Baumann
Loading thread data ...

Am 07.12.2023 um 16:36 schrieb Leo Baumann:

Droitwich 198 kHz über Stunden im Vergleich mit dem radiointernen TCXO. Den Offset vom TCXO kann man leicht bei anderen Messungen berücksichtigen.

formatting link

:)

Reply to
Leo Baumann

Die 10 MHZ kommen vom GPS modul, und ein lokaler PLL VFO wird dem nachgeführt. So kenn ich das. Komparator der zwei Impulsketten über EXOR. von da kommt die Regelspannung.

Wie isses möglich, 1,2 Hz daneben zu liegen? oder auch nur 19 mHz?

Entsteht ja sofort eine Regelspannung.

w.

Reply to
invalid unparseable

Bei den Zeitkonstanten ist das vermutlich keine analoge PLL, sondern ein uC mit DAC (oder ein digital gesteuerter Generator a la SI5351 komplett ohne analoge Steuerspannung).

Das eröffnet neue Möglichkeiten für Rundungs/Rechenfehler ...

cu Michael

Reply to
Michael Schwingen

Hallo!

Am 09.12.2023 um 11:12 schrieb Michael Schw>

Wenn man ein GPS-Normal wirklich mit 1pps basteln will. Aber wer will das schon! Für eine analoge PLL einen 10MHz LO runter teilen auf 1Hz und dann via PLL mit dem 1pps vergleichen würde Tage oder Wochen dauern. Via ICP den 1pps in eim µC vermessen und beispielsweise mittels PWM den LO steuern ist auch doof. Diese 1pps taugen eben für Referenzfrequenzen nicht wirklich, sind zu lahm. Guckt man hingegen was heute günstig als Schüttgut bei GPS-Breakoutboards aus Fernost leicht beschaffbar ist, stolpert man unweigerlich über den NEO6. Und dessen 1pps-Port lässt sich problemlos umkonfigurieren. Beispielsweise für GPS-synchrone 1kHz. Wer bitte nutzt für ein GPS-Normal da noch 1pps wenn er ziemlich billig und ohne Mühe auch 1kpps bekommt.

Das ist aber nur eine Problemverschiebung: Wer sich einließt in die ganzen Dokumentationen z.B. zum NEO6 findet da reichlich Hinweise das GPS-Timing in hochgenau nur statisch geht. Die Antenne muss möglichst freie Sicht zum Horizont haben und darf sich nicht bewegen. Einen zuverlässigen Phasen-Lock hat man daher nur im Static-Mode bei festbetonierter Antenne und exakt bekannter GPS-Position dieser Antenne.

Irgendwo in den zahlreichen PDF's zum NEO6 ist auch ein pps-Referenzmode für "mobile" Anwendung beschrieben. Dauert aber! Denn nach einer Positionsänderung der Antenne muss der GPS Empfänger erst den aktuellen Standort der Antenne ausmitteln über etliche tausend FIXe was einige Stunden dauert.

Jürgen

Reply to
Jürgen Hüser

Am 09.12.2023 um 14:42 schrieb Jürgen Hüser:

Ich will aktuell garnicht in die GNSS-Regelungstechnik einsteigen.- Ich wollte doch nur hochgenaue 10 MHz (500 oder 100 uHz) in sinvoller Regelungszeit. Wer meint irgendein GNSS-Modul in China kaufen zu können und glücklich zu sein, der irrt gewaltig.-

Jetzt versuche ich es hiermit:

formatting link
Im Handbuch steht ublox-Empfänger für GPS, Glonass u. Galileo und 500 uHz!

'mal sehen ...

:)

Reply to
Leo Baumann

Helmut Wabnig (hwabnig@.-);

Das Problem wird dann "gerne" in dem Altera CPLD / FPGA gemacht, der das mit dem Zählen machen soll. Selbst beim Transfer von VHDL nach Placingfile gibt es da einiges was man flasch machen kann,...

aber die Autoren der Nachbauten hatten bei den bekannten Leo Bodnar-Kopien schlicht echte Fehler eingebaut als sie das VHDL an die bei ihnen Verfügbaren CPLDs angepasst hatten.

Plus: die UBlox-Kopien geben bereits Raum für Fehler. Selbst bei den Originalen siehst Du Störungen durch auf den Ausgang durchleckenden internen Signale, die dann zum Teil den Zähler zählen lassen.

Im Dxpatrol geht das UBlox-Signal deshalb als erstes über einen Schmitt- Trigger, den die China-Leo-Bodnar-Teile bei der Verkleinerung der Platine als erstes einsparten.

Falk D.

Reply to
Falk Dµebbert

Hallo!

Am 09.12.2023 um 22:28 schrieb Falk Dµebbert:

CPLD, FPGA, VHDL ist m.E. die komplett falsche Baustelle für solch eine GPS-Referenz. Aus neugierde habe ich mal nach dem von dir angesprochenen Dxpatrol gegoogelt und was zur Version 2.0 gefunden:

formatting link
Und wie ich erwartet hatte eben kein FPGA oder sonstiges Rechenmonster. Dort auf Seite 6 die nüchternde Realität wie ich es sehr ähnlich schon für manche Projekte vor Jahren machte:

Nicht 1pps sondern GPS-synchrone 1kHz, einen passenden 4046 sowie ein

10MHz Oszillator auf 1kHz runtergeteilt. Ob es dafür aber ein OCXO braucht habe ich damals schon für mich ausgeschlossen. Ein VCTCXO der 0,5...0,9ppm-Klasse reichte mir bislang und war günstiger und einfacher beschaffbar.

Jürgen

Reply to
Jürgen Hüser

Jürgen Hüser ( snipped-for-privacy@gmx.de);

Den atmega328p hast Du aber wahrgenommen?

Falk D.

Reply to
Falk Dµebbert

Warum?

Dafür aber einen Microcontroller und vier diskrete Logik-ICs (den 4046 zähle ich hier mit, da dessen VCO brach liegt und nur der Logik-Teil benutzt wird).

Das passt alles auch in *ein* kleines FPGA.

Als Bonbon bietet dieses dann auch gleich die Option, bessere Algorithmen zu implementieren als eine simple PLL. Aber halt auch mehr potenzielle Fehlerquellen...

Reply to
Hergen Lehmann

Der scheint aber nicht an der Regelung beteiligt zu sein.

Das PLL-Filter sind 10uF + 1k/22uF sowie nochmal ein 1k/100nF Tiefpass, der uC scheint nur den GPS-Status auf's Display zu bringen.

cu Michael

Reply to
Michael Schwingen

Am 10.12.23 um 15:13 schrieb Jürgen Hüser:

Damit kommt man bei China-Ramsch gelegentlich durch. Wenn der Kunde nachkontrolliert, bekommt man das Zeug eben zurück.

Wenn's funktionieren muss, dann sieht die Welt eben anders aus. Als HP einen Timing-Empfänger für Lucent gebaut hat, haben sie einen doppelten Quarzofen von MTI gewählt. Den gibt's mit Optionen, die stabilitäts- mäßig deutlich ins Rubidium-Gebiet vorstoßen, schon ohne GPS-Hilfe.

Und wenn man sein Netzwerk sychron halten will, dann gibt's auch noch einen redundanten Ofeneinschub, der warm mitläuft. Und jeder Einschub hat seinen 68331-Rechenknecht.

<
formatting link
>

Seite 15

Der hat nichts mit dem eigentlichen GPS-Empfänger zu tun.

Und ja, wenn man genaue, aber verrauschte 10 MHz oder 1pps hat, dann kann man ein CPLD durchaus nutzbringend verwenden. 1pps ist in der Zeitverteilung nun mal der Standard.

<
formatting link
> und das nächste Bild rechts.

Hier macht ein CPLD aus den gesäuberten 10 MHz wieder ein 1pps das zu den sauberen 1 pps synchron ist. Kein sawtooth-Effekt wie beim Billig- GPS. Der Phasen/Frequenzdiskriminator ist auch gleich enthalten. Coolrunner-2 für €2.50 und natürlich VHDL.

Frequenzablagen von der Referenz darf es einfach nicht geben. Entweder synchron oder kaputt.

Gerhard

Reply to
Gerhard Hoffmann

Am 10.12.23 um 20:57 schrieb Gerhard Hoffmann:

sorry,

...zu den sauberen 10 MHz sychron...

Gerhard

Reply to
Gerhard Hoffmann

Hallo!

Am 10.12.2023 um 19:28 schrieb Falk Dµebbert:

Sicherlich, aber das ist nur ein kleiner 8Bit-µC welcher ausschließlich via UART mit dem GPS-Empfänger (dort u-blox NEO-7M, bei mir NEO-6M) spricht. Dient einerseits dazu nach Reset (anlegen von Vcc) den GPS-Empfänger so zu konfigurieren, das er eben kein 1pps sonder 1000pps ausgibt. Ebenso will ja auch das Display mit irgendwas angesteuert werden...

Bei mir dient er des weiteren zum abschalten nicht benötigter NMEA-Header.

Keinesfalls aber würde ein ATmega328 taugen aufwändige Fließkommaberechnungen in near-Realtime für eine DLL ab zu decken wie du es angedeutet hast.

Im übrigen sind genau dafür die GPS-Module von u-blox seit Jahren beliebt. Während andere Hersteller (z.B. CSR) nur einen 1pps ausspucken welcher von GPS-disziplinierten TCXO oder XO abgeleitet ausspucken, lassen die Teile von u-blox eine sehr freizügige User-Definierung des pps-Teilers zu. Die billigen NEO-6/7 können da 0,25-1000Hz, größere und aktuelle (aber auch sauteure) Modelle können ebenso bis 10MHz eingestellt werden.

Jürgen

Reply to
Jürgen Hüser

Hallo!

Am 10.12.2023 um 20:57 schrieb Gerhard Hoffmann:

Ähm, die billigen NEO-6M Breakoutboards sind halt aufgrund des Preises absolut beliebt im Hobbybereich. Und nachdem ich mit diesen Teilen gelegentlich rumgespielt habe, glaube ich da nicht mehr an Fake-NEO's. Das scheinen echte von u-Blox zu sein.

Wer aber unbedingt ohne dieses Adapterplatinchen solch ein u-blox Modul direkt in ein komerzielles Design einplegen will: Die GPS-Module gibt es auch über die übliches Distris, allerdings zu Stückpreisen wo Hobbybastler via aliexpress schon 5 alte NEO-6M inklusive beiliegenden Patchantennen bekommen.

Und ganz klar: Wer meint sich eine Referenzfrequenz bauen zu müssen sollte sich als aller erstes die Frage stellen welche Genauigkeit er denn braucht. Worst-Case als Zulässig war bei mir die Schmerzschwelle <1ppm weswegen ich damals ein TCVCXO der 0,9ppm-Klasse nahm.

Will man noch weniger, kann man sich Richtung TCVCXO's Richtung 0,28ppm und weiter zum ppb-Bereich der OCXO's durchscrollen.

Wenn GPS dazu kommt und das Schleifenfilter passt, ist es beinahe egal ob man dahinter einen billigen TCVCXO mit 0,9ppm oder einen sauteuren, stromfressenden OCXO hat.

Jürgen

Reply to
Jürgen Hüser

Er ist also ein unverzichtbarer Teil der Schaltung und kein Beiwerk, das man ignorieren könnte. Und auch ein kleiner 8Bit-µC hat bereits wesentlich mehr Gatter als ein ein "böses" CPLD in der hier in Frage kommenden Komplexität...

Für die Frequenz- und Phasenstabilität über kurze Zeiträume sorgt der OCXO ganz alleine.

Der ganze GPS-Kram dient doch ausschließlich der *langfristigen* (Stunden, Tage) Nachregelung zwecks höherer Frequenzgenauigkeit. Da ist von Realtime weit und breit nichts in Sicht, im Gegenteil, man will bewusst nur mit einer gaaanz langen Zeitkonstante regeln.

Wahrscheinlich könnte man die Aufgabenstellung durchaus in Software lösen, würde sich dadurch aber zusätzliche Probleme einfangen (sämtliche IO des ATmega ist mit dem Prozessortakt synchronisiert, auch die Timer!), die man mit einer Hardwarelösung, egal ob diskret oder CPLD, nicht hat.

DLL? Nein, Windows läuft auf einem ATmega wirklich nicht. ;-)

Ja, die Dinger sind hübsch. Nach dem, was man so liest, hat das Ausgangssignal aber einen recht erheblichen Phasenjitter, welcher in der PLL Probleme bereiten kann.

Reply to
Hergen Lehmann

Hergen Lehmann ( snipped-for-privacy@snafu.de);

Das 10MHz-Signal ist "geht so". "Hinten" ist ja noch mal ein CDCLVC1103PW Buffer, den ich bei den China-Nachbauten auch nicht gesehen habe.

Falk D.

Reply to
Falk Dµebbert

Hi Jürgen,

Na dann unterschätze das Teilchen mal nicht. Bei den Zeitkonstanten, von denen wir hier schreiben, könntest Du den sogar mit dem internen Oszillator laufen lassen.

Marte

Reply to
Marte Schwarz

Hi Falk,

Der Buffer sollte in Bezug auf den Jitter keinen nennenswerten Einfluss haben.

Marte

Reply to
Marte Schwarz

Hallo!

Am 11.12.2023 um 13:30 schrieb Hergen Lehmann:

Doch, könnte man. Beispielsweise wenn man kein Display braucht und die Konfiguration des NEO-Moduls in einem E²PROM ablegt. Dann liest der GPS bei jedem Neustart seine Konfiguration aus diesem E²PROM. Und wer hätte das gedacht, diese China-Schüttgut Teile mit dem NEO-6M haben solch ein E²PROM bereits drauf, ja sogar eine kleine Backup Knopfzelle.

Tja...wobei ich kein Fan von OCXO's bin. Viel zu stromfressend, immense Anlauf- (Aufwärm-)Phasen von 15Min bis Stunden. Und lässt man diese 24/7 durchlaufen um sie jederzeit Einsatzbereit zu haben, führt die Temperatur zudem zu Alterungseffekten. Diese Ansichten noch ergänzt mit den immensen Preisen solcher Dinger.

Und nein, das sind keine Vorurteile von jemanden der niemals was mit OCXO's zu tun hatte. Vielmehr stehen bei mir zwei ältere Messgeräte rum die mit OCXO's ausgestattet sind. Das eine Gerät muss ich quasi nachmittags einschalten wenn ich am nächsten Tag damit arbeiten will - aus der Zeit gefallen. Das andere Gerät hält seinen OCXO in Dauerbetrieb solange Netzstrom vorhanden ist. Dafür darf ich den inzwischen jährlich nachjustieren.

Ne...ein TCVCXO mit 0,9....0,28ppm mit GPS-Disziplinierung ist genau so gut wie ein moderner OCXO, aber eben mit deutlich weniger Nachteilen.

Wenn es einem tatsächlich darum geht braucht es keinen u-blox. Da kann jede noch so billige GPS-Lösung mit ihren 1pps eingesetzt werden.

Der Erfolgszug der u-blox GPS ist ja eben 1kHz - 10MHz Out statt 1pps, um von diesen langsamen Zeitkonstanten weg zu kommen zu Sekunden statt Tagen. Oder anders gesagt: Sollte der TCVCXO, OCXO oder was auch immer driften, erwarte ich das die Regelschleife das binnen Minuten ausregelt, ohne das mich stundenlang eine NoCAL-LED angrinst die mir sagt das ich nicht weiter arbeiten darf.

Eben, die ATmega sind eben Taktgesteuert an allen Ports. Es kommt also unweigerlich zu Quantisierungsfehlern. Bei der Ausgabe das selbe.

...Tippfehler, sollte DPLL werden.

Mit den paar NEO-6M wo ich mit dem 1pps bei 1kHz herumgespielt habe war das beherrschbar. Etwas ohmische Belastung des pps sowie ein RC-Tiefpass gefolgt von einem Schmitt Trigger kann das problemlos säubern.

Jürgen

Reply to
Jürgen Hüser

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.