2014/07/31(木)S/PDIFを複数入力したい
WM8804というSPDIF→I2S変換の石をいじっています。このICのS/PDIF入力端子は、そのままSPDIF信号を入力できるようになっています。
とはいえ、同軸入力(コアキシャル)と光入力を両方とも扱えるようにしたいと思うと手間です。
- スイッチで切り替える
- セレクタで切り替える(信号認識して自動切り替え等)
世の中の作例をみるとこんなところでしょうか。同時に入力した時は使えないだけでいいので、もっとシンプルにならないものかと試行錯誤しました。
行き詰まる
最初に考えたのがこの回路です。
OPTと書かれた部分が光入力です。入力端子としてPLR135を使っています。
出力を単にカップリングしてミックスすればそれで済む話と思ったのですが、光入力の負荷に75Ωがつながってしまい、どうみても過負荷です。
では75Ωを切り離してみましょうということでバッファを用意しました。
7417のシュミットトリガバッファですが、動きませんでした。S/PDIF同軸信号は0.1uF程度のコンデンサでカップリングされて出力されていますので、受信信号は交流信号(±0.5V程度)であり、普通のロジックICで単純に受信することはできません。
この方法で正しく(ロジックICを)動かすためにはレベルシフト回路が必要になります。*1
仕方なく、最初の方法でつないでいましたが、光入力よりも同軸入力が安定しません。同軸入力に対して、OPT入力部の回路(内部回路)が悪さしているようです。
本来の受信方法
よくあるS/PDIF受信回路は次のようになります。
R1は通常0Ω(付けない)ですが説明のために書いてあります。74HCU04は、出力バッファなしのNOT(インバータ)ロジック回路です。
これは一体どんな回路なのか?
昔、74HCU04を使ったオーディオアンプなんてものが流行りましたが、74HCU04の中身はオペアンプで見立てることができます。
74HCU04は、電源の中点を基準(+入力)とした反転入力オペアンプの回路とほとんど等価です。この回路は、レベルシフト回路(交流信号をVcc/2を中心とした電圧にシフトしている)でもあるし、コンパレーター回路(増幅回路)でもあります。
しかし反転入力のこの形、オペアンプ作例のとある回路によく似てると思いませんか?
こうやって2つ(以上)信号源を並べてあげればオペアンプのミキサー回路そのものですので、2つ以上のS/PDIF入力を合成することができます。*2
補足
最後に述べるとおりU2は不要です。反転して入力しても問題ありません。
結局、WM8804でどうしたか?
74HCU04を使ったミキサー回路を実装しようとしたところで、ふと思いつきました。RX0端子は直流デジタル信号ではなく、交流のS/PDIF信号をそのまま入力することができます。
ということは、RX0端子は相応の入力抵抗とゲインを持ったレベルシフト回路が内蔵されていると見立てても問題はなさそうです。そうだとすれば、もっと単純な方法で解決できます。
おそらく他のS/PDIFが直接入力できるICでも似たような方法が使えるのではないでしょうか。
注意
- R1,R2の値は、そのICごとにいろいろ試して適切に選んでください。
- R1などの抵抗を置くことでS/PDIFの信号が鈍りますので、WM8804等のようにPLLによるリクロックが前提でないICでは、74HCU04などの入力回路をきちんと組むほうがよいと思われます。
雑談
光入力ってとても手軽にGND分離ができて便利ですね。初めて使いました(苦笑)
メモ
- S/PDIFのデータはバイフェーズ符号(=マンチェスタ符号)化されているため、論理反転しても正しく送受信できる。
- S/PDIFのデータは、必ず24bit整数として送られる。
- つまりS/PDFIで32bit PCMを送信することはできない。規格上24bit PCMまで。
- S/PDIF信号は「サンプリング周波数×(24+4+4)×2(LR)×2(バイフェーズ符号)= サンプリング周波数×128 (bit/sec)」のNRZ符号化されたデジタル信号とみなすことができる。
- よって、「44.1kHz = 5.6448Mbps」「48kHz = 6.144Mbps」「96kHz = 12.288Mbps」「192kHz = 24.576Mbps」のNRZ符号信号とみなせる。