(ADC以外の)外部コンポーネントを使用せずに、FPGAに位相ロックを実装したいと考えています。単純化するには、単純なバイナリパルスにロックすることで十分です。信号の周波数は、クロックの0.1〜1%です。オンボードクロックPLLは通常次の理由で使用できません。
- 構成できません(合成中に設定されます)。
- ちらつく。
- 必要な頻度をサポートしない。
私は文献を整理していて、いくつかのバイナリフェーズロックループを見つけました。最も注目すべきは、必要に応じてリンクを投稿できる「パルススチール」デザインです。実装して合成しましたが、ある程度の成功を収めましたが、そのジッターとロック範囲は、宣伝されているほど良くありませんでした。また、外部DVCOを使用して成功しましたが、すべてをオンチップで実装できればよいと思います。
デジタル回路設計または正しい方向のヒントさえも役立つでしょう(私はしばらくの間これに頭を悩ませてきました)、実証済みのFPGA実装は素晴らしいですが、期待されていません。
2010年10月27日追加
私が使用した実際のDPLLデザインには、ループフィルターとして「ランダムウォークフィルター」があり(前述の「パルススチール」ではなく、うまく機能しなかった私のノートを通過します)、クロックパルスをDCOに駆動します。 。ロックイン範囲は、DCOの分周器を介して設定されます。ループの感度は、ランダムウォークの長さを変えることによって確立されます。
これが見つかった論文は、この投稿の最後に引用されています。その一部を自分で実装したところ、実際にはすでにOpenCoresに実装されていることがわかりましたが、過去数か月の間にプロジェクトが削除されましたが、必要に応じてVerilogファイルを保存しています。
山本浩; 森S; 、「新しいクラスのシーケンシャルフィルターを使用したバイナリ量子化オールデジタルフェーズロックループのパフォーマンス」、Communications、IEEE Transactions on、vol.26、no.1、pp。35-45、1978年1月
土井:10.1109 / TCOM.1978.1093972
URL:http : //ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1093972&isnumber=23895