Ich verwende einen Video-Controller, der aus einem Quarz mit 27MHz gespeist wird und an seinem Ausgang Daten für HD-Video erzeugt. Leider muss nun nicht nur das 50Hz- sondern auch das 60Hz-Timing bereitgestellt werden, was erfordert, dass die Frequenz bei 59,94 Hz liegt. Die Timerfrequenz muss daher gemäß HD-Spezifikation auf 1000/1001 abgesenkt werden. Ich bekomme aber nur einen abgeleiteten Horizontaltakt einer externen Quelle, an dem ich mich orientieren kann. Diesen kann ich per PLL auf dem PCB ganzzahlig auf 27MHz umsetzen und bekomme ihn in den Controller hinein. Ich würde nun gerne den eigenen 27MHz in Frequenz und Phase auf diesen 27MHz hintrimmen, sodass sie bis auf etwas Jitter in Phase sind. Ich brauche den Quarz, da der extern auch auf den hohen HD-Takt hochgesetzt wird. Ich kann nicht einfach einen gewonnnen Takt ausgeben und da drauf geben. Reicht es, den Takt mit dem Controller an einem Pin auszugeben und den sanft auf den Quarz zu lenken? Wie könnte man das tun? Ich habe die 27MHz als etwa 10ns lange Pulse zur Verfügung, also ein d.c. von 1:3 etwa und sie jittern etwas. Gelingt es gfs so, wie bei einem Gleichrichter, über eine Diode nur die 1 über einen R anzukoppeln? Ich möchte das einmal anschalten und einmal abschalten können, um einen free running mode zu bekommen, wenn vorne kein Takt da ist.
In dem Video-Thema steckst Du vermutlich tiefer drin als ich. Vom systemischen Standpunkt aus allerdings widerspricht Dein Wunsch meinen Annahmen und Ansichten. Wenn Du nun schon einen 27MHz Takt hast, warum dann einen zweiten daran angleichen? Diese Sätze: "Ich brauche den Quarz, da der extern auch auf den hohen HD-Takt hochgesetzt wird." und "Ich möchte das einmal anschalten und einmal abschalten können, um einen free running mode zu bekommen, wenn vorne kein Takt da ist." sollen das wohl begründen. Vermutlich tun sie das auch, nur das ich unfähig bin, das zu erkennen [hier ist keine Ironie im Spiel :-)] Wenn Du Lust dazu hast, würde mich interessieren, wie eine etwas ausführlichere Begründung für die von mir zitierten Sätze aussieht. Folge ich allerdings einfach mal Deinen Wünschen, so ist eine PLL mit Verziehen des "sekundären Quarzes" über Kapazitätsdiode (die gibt es wohl kaum noch, aber eine Ersatzschaltung dafür) und einem "Festhalten" der Steuerspannung falls der Referenztakt ausbleibt, die Lösung. Das Festhalten ist auch nur dann nötig, wenn es, in dem Moment, in dem der Referenztakt wegbleibt, keine Phasensprünge geben darf; sonst könnte man das auch weglassen. Ob meine Schreibselei was hilft, bezweifele ich, aber irgendwie hat mich das so angepiekst, dass ich es gerne ein wenig besser verstehen könnte. Viel Erfolg.
Wie würde die Schaltung mit der Kapazitätsdiode dafür aussehen?
Zu der Frage mit dem externen Quarz: Die Schwierigkeit ist, dass mein
Takt den ich erzeugen kann, etwas jittert und auch nur da ist, wenn von
vorne ein Takt kommt. Und: Es hängen weitere Bausteine an dem Takt. Ich
kann aber nur die 27MHz ausgeben, per Timer.
Das board arbeitet so:
27 MHz Quarz -> PLL -> 27 MHz
-> 108 MHz
-> 148,5 MHz -> Video Chip
-> Video Controller
Vom Video Controller geht es über 148,5MHz/2 in den VideoChip und
umgekehrt. Die brauchen denselben Takt. Das Ganze PCB muss etwas
hingezogen werden. Weil:
Video Extern (50,60,59,94) -> Digital Chip -> 74,25 MHz * 2
Dieser Video Extern geht als Quelle auf den Video Chip. Wenn der aber
eine andere 27MHz hat, funktioniert es nicht und er kann sich nicht
synchen.
Leider ist der sych nur für die eine Quelle vorgesehen und nun gibt es
noch eine weitere. Diese kann aber auch einen etwas geringeren Takt
haben, sodass das wegläuft. Die Synchronisation geschieht intern anhand
des Vertiktaltaktes. Das ist aber zu ungenau, wenn die Frequenz von
Aussen nicht stimmt und führt zu Bildpixelfehlern, weil es wackelt.
Entweder muss also das PCB umgebaut werden, dass die Master PLL
umgeschaltet werden kann, oder der Controller packt es sich
anzugleichen. Die externe Umschaltung hätte den Nachteil, dass man noch
einen Supervisor braucht, der erkennt, ob der Takt anliegt und dass
rückgeschaltet werden kann.
Das ist mir aber zu unsicher. Ich möchte, dass der VideoController immer
stabil arbeitet und sich seinen Takt sanft hinschiebt, ohne Fehler. Im
Einzelfall darf es dann mal vorkommen, dass das Synchen vielleicht nicht
schnell klappt und es eine Weile dauert, bis das Bild passt.
Der GAU darf also nur sein: "Bildpixel fehler" und nicht "Controller hat
keinen Takt".
Der momentane Stand ist der, dass das PCB gut arbeitet und die Datenpfade stabil laufen. Es passiert nur bei der Verwendung des 59,94 Modes, dass alle 2-3 Sekunden das interne Synch des VideoChips nicht klappt, weil während der Zeit sein Quarz zu weit weggelaufen ist und de Horizontaltakt in die nächste Taktflanke fällt. Damit springt das Bild um einen Takt nach links und dann wieder mal nach rechts etc. Das soll verhindert werden, indem der interne Quarz des PCB ein bischen zu dem externen Takt hingezogen wird. Der externe Takt liegt aber nicht als 27MHz vor, sondern wird per PLL umgesetzt und man kann ihn nicht einfach auf die interne PLL draufklemmen, eben wegen dem Problem, dass irgendeiner aktiv umschalten müsste. Kann man einen 27.000 Mhz Quarz auf diese Weise um 0,1% ziehen?
Markus Wagner schrieb: > Kann man einen 27.000 Mhz Quarz auf diese Weise um 0,1% ziehen? Man kann ihn ziehen. Aber 27kHz halte ich für gewagt. Ausprobieren. Trimmer mit 5..50pF parallel und dann mal drehen und messen.
Ich kann leider immer noch nicht folgen. Ein Blockschaltplan würde mir wohl helfen, aber das musst Du entscheiden, ob Du Dir die Mühe machen willst. Unter dem Stichwort "Kapazitätsdiode" findest Du hier im Forum als auch im Internet einige Ersatzschaltungen, mit Transistoren, LEDs etc. Ich finde leider die eine Schaltung, die ich im Kopf habe nicht mehr. Wie weit Du den Quarz damit ziehen kannst, weiss ich nicht konkret, aber 1% hört sich nicht unrealistisch an. Zur Abschätzung würde ich mal schauen was für Trimmer zum ziehen eingesetzt werden und dann mit der Kapazitätsänderung der Ersatzschaltungen vergleichen. (Wenn denn der Hinweis auf diese Vorgehensweise nötig ist).
Oh! 1% -> 0,1% meinte ich Im Grunde kenne ich das eher von LC-Schwingkreisen. Quarze kann man wohl nicht so brutal ziehen. Aber es geht auch ein wenig. Ganz dumm könnte man noch zusätzlich über die Temperatur ziehen.
Ein LC Schwingkreis wäre noch eine Alternative, aber wohl zu ungenau. Diesbezüglich habe ich auch dies gefunden: http://www.google.com/patents/DE102009043610A1?cl=de&hl=de Da stellt sich der Oszillator selber ein. Temperatur dachte ich auch schon aber das reicht wohl nicht ganz.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.