DIR(デジタルオーディオインタフェースレシーバ)、デジタルフィルタ周辺設計


セレクタ部でCMOSロジックレベルとなったデジタル信号はDIRで復調され、各種クロックとデータが分離される。デジタルオーディオ信号は複雑な複合信号であるため、復調には専用ICを用いた方がよい。もちろん、時間を惜しまなければPLD等で作ることもできる。この復調ICをDARといい、クリスタルセミコン(現シーラスロジック)、パイオニア、ヤマハ、東芝の製品が有名である。入手性ではやはりクリスタルのCS8412であろう。このICはクロックのジッター抑圧特性が良いとされている。

個人的にはパイオニア、ヤマハ、東芝のデータシートを見る限り、クリスタルよりも使いやすそうであった。CS8412の理解しにくい点は複数のモードを持ち、モードによってピンの意味づけが変わってくる点である。あるモードではサンプリング周波数データがデコードされパラレルで出力されるが、違うモードではチャネルステータスがシリアル出力されるためこれをS/P変換しないとデコードされたサンプリング周波数データが得られないなど、決してよく設計されたICではないと思われるのだが。
(あれこれ積め込んで、結果的に機能は豊富になったが統一性がなくなった感じ)

CS8412はノーマルモード(M3=0)、16〜24ビットMSBファースト前詰め出力(M2=M1=M0=0)、チャネルステータスレポート有効(SEL=1)、コンシューマチャネルステータス(C0=1)の設定とした。

このモードではfsデータはシリアルデータのチャネルステータスに含まれるため、シフトレジスタとラッチでパラレルにする必要がある。ここで取り出される2ビットのfsデータをデコードして3つのVCXOをセレクトする信号とする。また、エンファシスデータはCS8412でデコードされており、C3ピンが0の時にエンファシスされていることとなっている。

デジタルフィルタとしてSM5842APを採用した。このICは通過帯域におけるリプルが±0.00002dBという優秀なデジタルフィルタである。このICで入力データを8倍オーバーサンプリングする。LR交互、MSBファースト前詰め入力(IW1N=1/IW2N=1)とする。入力データは24ビットまで受け付ける。CS8412も24ビットまで受け付けるから、24ビット対応となる。

CS8412とSM5842の接続上注意する点は、ビットクロックの論理が逆であることだ。このため、CS8412 SCK(pin12)->SM5842 BCKI(pin2)間にインバータを入れて論理反転する。また、エンファシスの論理も逆であるからCS8412 Cc/F0(pin3)->SM5842 DEMPL/DEMPR(pin15,16)間にもインバータを入れる。

デジタルフィルタは出力語長とディザのオンオフを制御するための入力ピンを備えている。DACボードの交換もふまえ、これら制御ピンはDOS/Vマザーでおなじみのショートピンによってセレクトするようにした。ピンはは内部プルアップされているため、対GNDと結べばよい。

デジタルフィルタからDACボードへの配線容量を鑑み、デジタルフィルタ出力にはシュミットバスドライバ(AC245)を設置した。DACへのマスタクロックやリセット信号もこのIC経由で送出される。ドライバであるから、論理の反転はない。ドライバ出力側にはダンプ抵抗を設置する。

CS8412のfsデータから3つのVCXOをセレクトするために、チャネルステータスをS/P変換(HC595)する。さらに、2進->8進デコーダ(HC138)を使って3種の信号にする。この信号を使って該当するVCXOをセレクトする。この部分はkamadaさんのDAC回路図をそのまま利用させていただきました。

入力を切り替えたりfsが変化するとVCXOが切り替わりクロックの連続性が失われる。この場合、出力にノイズが発生する可能性が高い。DIRのエラー(ERF)信号を受けるとデジタルフィルタとDACを直ちにリセットする。リセット解除はDIRのエラー信号がネゲートされた後、2^15fs(fs=44.1kHzで約0.7秒)後に行われる。このタイマー(HC4020リプルカウンタとHC107のFF)はPLLのロックが安定してからリセット解除するために設置している。リセット解除後にデジタルフィルタは内部タイミングの自動調整を行う。この調整幅がジッターマージンとなる。



[戻る]