WM8804 /
WM8805 というWolfson のS/PDIFトランシーバ (Digital Interface Transceiver with PLL)というのがあるのを、rtm_iinoさんのコメントで知りました。
ジッタリダクション能力が高く、DDC/DACと同期させることのできないS/PDIFインタフェースのデバイス(CDプレイヤー、PS3、TV等)をソースとする場合のDIRとして使用すると良さそうです。
サイトにある資料を見ると、私も同期を取ることの出来ないプレイヤーの収容方法としてFPGAで実現しようとしていた方式と同じような方法を採っていることがわかりました。
多分、自分で作るよりも良好な結果が得られると思われるので、WM8804を使おうと思います。
WM8804 のサイトにある
A high performance S/PDIF receiverという資料に解説があります。
資料に書かれているジッタリダクションの概要は、
S/PDIFレシーバーのアーキテクチャ
5つの主な要素で構成:
1. Digital PLL(DPLL):入力データにロックし、内部中間クロックを生成し、内部データをリタイミングするために使用。
2. Elastic Buffer(EB): EBは、ローカル(DDC側)およびリモート(Player側)のクロックドメイン間の短期または中期のタイミング変動を吸収するために使用。
また、現在の累積ジッタやスリップを示すポインタ誤差信号を生成。
3. IIR(digital filter) : ポインタエラー信号の高周波成分を減衰させるため、アナログPLLの周波数制御入力を駆動するフィルタされたポインタ誤差信号を生成するデジタルフィルタ(通常はIIR)。
4. A high quality clock source :安定した時間基準を提供する水晶発振器などの高品質のクロックソース。
5. Analogue PLL :”A high quality clock source”からスペクトル的にクリーンなクロックを生成し、その出力周波数はフィルタされたポインタエラーによって制御され、良好にPLLのフィードバック分周器に作用する。
このスペクトル的にクリーンな低ジッタのクロックは出力クロックとして、また出力データのリタイミングに使用する。
エラスティックバッファのポインタの動きをIIRフィルタで高周波成分を除去したものでアナログPLLの位相をリモートクロックに追従させるしくみで、この際100Hz以上の帯域のジッタ成分が除去される制御となっているようです。
Period histogram from WM8805 intrinsic jitter
Period histogram from WM8805 with 5UI of jitter at 1Khz
WM8805に5UI 1kHzのジッタを与えた時のヒストグラムは、周期ジッタは50psの実効値で、入力ジッタなしとほぼ同じ形状をしています。
Period histogram from Competitive with 5UI of jitter at 1Khz
比較に用いられた対抗メーカーのデバイスは、1kHzのジッタがかなり残っています。
測定数値的にはかなり効果が見られていることがわかります。