Ich möchte eine Phasenverriegelung in einem FPGA implementieren, ohne externe Komponenten (außer dem ADC) zu verwenden. Der Einfachheit halber ist das Sperren auf einen einfachen Binärimpuls ausreichend. Die Frequenz der Signale beträgt ~ 0,1-1% des Takts. Ich kann die integrierten Uhr-PLLs nicht verwenden, da sie normalerweise:
- Nicht konfigurierbar (während der Synthese eingestellt).
- Nervös.
- Unterstütze nicht die Frequenz, die ich brauche.
Ich habe die Literatur durchsucht und ein paar binäre Phasenregelkreise gefunden. Am bemerkenswertesten ist ein "Puls Steal" -Design, zu dem ich auf Wunsch einen Link posten kann. Ich habe mit einigem Erfolg implementiert und synthetisiert, aber der Jitter- und Lock-Bereich war nicht so gut wie angekündigt. Ich hatte auch Erfolg mit einem externen DVCO, aber ich würde es vorziehen, wenn ich alles auf dem Chip implementieren kann.
Ein digitales Schaltungsdesign oder sogar ein Hinweis in die richtige Richtung wäre hilfreich (ich habe eine Weile meinen Kopf dagegen geschlagen), eine bewährte FPGA-Implementierung wäre wunderbar, aber nicht zu erwarten.
HINZUGEFÜGT 27.10.2010
Das tatsächliche DPLL-Design, das ich verwendet habe, hat einen "Random Walk Filter" als Schleifenfilter (nicht den zuvor beschriebenen "Puls Steal", der meine Notizen durchläuft, die nicht gut funktionierten), der dann die Taktimpulse zum DCO treibt . Der Sperrbereich wird über den Teiler im DCO eingestellt. Die Empfindlichkeit der Schleife wird durch Variieren der Länge des zufälligen Gehens festgelegt.
Das Papier, in dem dies gefunden wird, wird am Ende dieses Beitrags zitiert. Nachdem ich Teile davon selbst implementiert hatte, stellte ich fest, dass es tatsächlich bereits auf OpenCores implementiert war. Es stellte sich jedoch heraus, dass das Projekt in den letzten Monaten gelöscht wurde, aber ich habe die Verilog-Dateien gespeichert, wenn jemand sie möchte.
Yamamoto, H.; Mori, S.; "Performance of Binary Quantized All Digital Phase-Locked Loop mit einer neuen Klasse von sequentiellen Filtern", Communications, IEEE Transactions on, Band 26, Nr. 1, S. 35-45, Januar 1978
doi: 10.1109 / TCOM.1978.1093972
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1093972&isnumber=23895