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のジッタがかなり残っています。
測定数値的にはかなり効果が見られていることがわかります。
kou さま
返信削除シングルのWM8804よりマルチプレクサの入ったWM8805の方がFiiO D3などにも使われていますので市場価格がこなれているようですね。
入力が1chで良いならWM8804の方が入力のプルダウン抵抗などを使わないピンに付ける必要もないので良いと思います。
rtm_iino さん
削除1個しか使用しませんし、価格差は\30程度のようなで使い方で選択で問題ないようです。
今のところ1chで良いのでWM8804にする予定です。
FiiO D3はWM8805なのに1chしか使っていないようですね。当初なかったのか、価格差があったからでしょうか。
kou さま
返信削除FiiOのコンセプトはなるべく小さく作ろうとしているようですし、ハードモードで使うのであれば同じなので入手性の良い方を選んだのかもしれません。
製品としては同じウェハーを使ってボンディングオプションだと思います。
WM8804の方が後から出たのかもしれませんね。
こちらにWM8804とWM8805の両方試作した記事がありますが、
http://www.mi-take.biz/system72/DAC_2/WolfsonWM88x/wolfson_DAI.html
ソフトモードで使う場合マルチプレクサを使いたいか、PLLの設定をしたいか入力の識別やエラー処理をしたいかによって作り方も変わると思います。
ジッタークリーナーとして使うだけでも価値はありそうですし、I2S引き出ししたDVDPのSPDIF出力用用として
ケーブル長の制限緩和に使えそうなので入れてみようと思っています。
金曜日にLeCroyのHDO6000のジッターソフトのデモを見せてもらいました。
ただWindows7 64ビット上で動かすのは製品寿命としてはどうかと思います。
rtm_iino さん
削除Mi-takeさんのサイトによるとソフトモードではサンプリング周波数の変更に問題があるように書かれおり、ハードモードでの使用を前提にしたほうが良いかもしれませんね。
ちなみにWM8804/5のジッタリダクションの対象はSPDIF受信だけだと思います。
HDO6000の購入を検討されているのでしょうか?すごいですね。Windows7とはPC上のソフトのことかと思いましたが、HDO6000のOSがWindows® Embedded Standard 7 Professional, 64-bitということですね。7年間は保障してくれていそうですし、XPならともかく7ならそれほど問題ないように思いますが... しかしOS搭載した測定器だと製品寿命は望めなさそうですね。
kou さま
返信削除WM8805のジッタークリーニングはどの使い方でも有効だと思いますがOSCCLKのジッター量に依存するので
ジッタークリーナーの出力したソースを使いたいと思っています。
私の考えていた使い方のひとつはスレーブモードでI2Sシグナルのトランシーバーとしての用途です。
I2SのIPでウィシュボーンならどのメーカーのデバイスでも使えそうですがとりあえずある物を活用して良好ならというサボリ根性でWM8805を見つけました。
HDO6000は関西組込展 ET-WESTで見せていただきました。
TIのWolverrineやARM+DSPのI2S応用のデモを見たかったのですがデバイスメーカーがほとんど不参加でがっかりしました。
最近はネットワークアナライザでアイパターンを見られるのですごいですね。
明日か明後日はPAの展示会に出かけてDSDの新製品を見たいと思っています。
rtm_iinoさん
返信削除I2Sでウイッシュボーンとはどういうことをされようとしているか想像がつきませんが、どういうことをされようとしているのでしょうか?
kou さま
返信削除I2Sのリクロック的用途です。
ES9018SのNo Band Widthでアンロックしない信号を作ってみたいと思ってます。
スレーブで同期させるかジッタークリーナーなどの位相調整で可能ならやってみたいと思います。
rtm_iino さん
削除I2SでWishboneとは、下記リンク先のようなWishboneインタフェースを持つプロセッサシステムからのwaveデータをI2Sで出力するイメージでしょうか?あまりリクロックする目的とイメージが結びつきません。
http://www.latticesemi.com/products/intellectualproperty/referencedesigns/i2scontrollerwithwishbone.cfm
WM8805ですがI2Sのトランシーバというのが、I2S入力ポートからI2S出力ポートへ接続することを考えておられるなら、多分それは出来ないと思います。I2Sからの入力はSPDIFトランスミッタへしか出力できないと思います。(WM8805のデータシート p20参照)
MCLKとBCLKを同期させることが、Lowestでもロックはずれせず、No Band Widthでも周期的にプツっと音切れはするものの動作する条件の1つであることは知っていますが、BCLKとMCLKの位相条件があるのでしょうか?
ちなみにDataとBCLKの位相は、Setup/Hold規定させ満足していれば余り影響しないと予想します。
ES9018SのNo Band Widthについては、癒しの音につつまれてさん http://blog.livedoor.jp/skydream787/archives/1817961.html
の記事などを見ると、そもそもこのモードで正常動作させるのは無理なことなような気もします。
kou さま
返信削除WishboneはAltiumのLive DesignのSpartan6のMicrobrazeを使ったオーディオアプリの中でもあったような気がします。
JTAGがプリンターポートなので今使える状態ではないので他の書き込み器を探すかLatticeのCPLDでも使ってみたいと思っています。
XMOSのAudio Sliceはどうなんでしょうね。
コアの数多い分色々可能性がありそうです。
WM8805もまだあれから弄れていません。
今日 TASCAMのDA-3000を見てきました。
昨日プレス発表だったようですが、噂どおりで欲しくなりましたね。
ES9018SのNo Band Widthですがまだ確かめていません。
オーバークロックでどこまで追従できるか知りたいですがI2Cが止まってしまいますのでレジスタダンプできないと思います。
rtm_iino さん
削除AltiumのLive Design、Wishboneだと、やはりSDカードプレイヤーのようなものが標準的なアプリケーションになるかと思います。
XMOSの詳しい仕組みは知りませんが、やれることは基本FPGAと同じになるんじゃないかと思います。
TASCAM DA-3000は私も気になっています。もう見ることができるのですね。価格がこなれてきたら購入するかもしれません。