自作光オーディオ送信モジュール
DAI(デジタルオーディオインターフェース)の標準ともいえるS/PDIF用光送信モジュールを自作してみます。
角型コネクタは独自形状で自作は困難ですので、ヘッドホンジャック等にとく使われるφ3.5ミニピンジャック形状のものを制作します。こちらは一般部品で安価に揃います。
あくまで実験レベルのものですので、動作保証を期待したり、製品に利用したりしないで下さい。
OPM IPの音をS/PDIF出力でモニタしています。

部品選定
製作に必要な主な部品です。
φ3.5ピンジャック
一般的なオーディオ用のφ3.5ピンジャックを用意します。
光出力専用で作るなら、ステレオ/モノラルを問いません。
光伝送部にLEDを固定できる形状で、外部光を遮光できるものが適しています。
赤色チップLED
TOSHIBAさんのTOSLINK、TOTX179やTOTX141等のデータシートを見る限り波長が650nm〜660nmのLEDがよいようです。
光ファイバは細いため、光を効率よく伝えるためには砲弾型DIPタイプよりチップLEDがよさそうです。
手元にはスタンレーのBR1102WとBR1112Wがありましたが、より高輝度なBR1102Wを使いました。
固定用ボンド
ホットボンドやエポキシパテなどLEDを固定するものです。
周りの光を遮光したほうがよいので、色の濃いものがよいです。
ドライブ回路
今回はFPGAで駆動するため電流制限用抵抗1本だけです。抵抗値は電源電圧とLEDの特性に合わせて調整します。
論理的には反転オープンドレイン駆動なので、PCのS/PDIF出力等なら、NPNトランジスタやNch FETが適当かもしれません。
光ファイバケーブル
φ3.5ピンジャックと角型コネクタを接続する場合は、片側だけピンジャックのケーブルを使うか、角形>ピンジャック変換アダプタを使用します。

右はソニー製、左はPCオーディオカード付属のおまけケーブルです。
おまけケーブルはきゃしゃな作りで光ファイバの切断面も雑で見るからに安物ですが角形→φ3.5ピンプラグ変換アダプタまでついていて意外と使えます。
まず、φ3.5ピンジャックのお尻に穴をあけます。

チップLEDにラッピングワイヤを半田付けします。

配線は細すぎると位置決めがむずかしくなります。
逆に太いと曲げ加工時にLEDの端子を破壊してしまいます。私は1/4W抵抗の足を使ってLEDを壊し、1/6W抵抗の足を使ってもう1つLEDを壊してしまいました。
光ケーブルをφ3.5ピンジャックに差込み、光ファイバの中央にLEDがくるように配線をケースに沿わせて、テープ等で仮止めします。
位置決め点灯用に、LED配線の片側に抵抗を付けておきましょう。アノードとカソードの位置も覚えておきます。
仮止めしたらLEDを点灯させて、光ケーブルの反対側の光量が最大になるようにLEDの位置を微調整します。

LEDの位置が決まったら、ホットボンドなどで固定します。

ドライブ回路
3.3Vタイプと5.0VタイプのTOSLINKのデータシートを見くらべると15mA〜20mAの定電流駆動のようです。輝度については記載が無くわかりませんでした。
電流設定用の抵抗値はLEDの特性と電源電圧、駆動電流から計算します。
抵抗値Ω = (電源電圧(V) - LED順電圧(V) ) / 電流値(A)
BR1102Wは、順電圧Typ.1.7V〜MAX 2.0Vで最大順電流30mAなので、駆動最大電流を20mA程度として、抵抗値Ω = (3.3V - 1.7V) / 0.020A = 80Ωと計算しました。
で、手元にあった100Ωにしました。どうせLEDの順電圧にはばらつきがあるので、定格を超えない範囲で適当に決めます。
S/PDIFの信号は、送信時のデューティー比が平均約50%なので、絶対定格を超えない設計にしておけば問題ないでしょう。
回路図

テストはしていませんが、PCマザボのSPDIF出力等ならNPNトランジスタでドライブするのが簡単そうです。

テストと調整
受信テストは、すべてS/PDIFをTORX178Aで受けて、ALC655 AC97 Codecが搭載されたPCでモニタしました。
S/PDIFは、ON->OFFとOFF->ONの間の両方の幅を検出するため、スイッチング時の光の切れが重要なポイントです。
TOSLINKのデータシートに差動駆動とあったので、最初は非反転出力と反転出力の間にLEDと抵抗を挟む回路にしました。しかし光ケーブルを接続した状態で送信を開始すると受信できるものの、送信中に光ケーブルを抜き差しするとロックしない不具合が発生しました。
オシロで受信部の波形を見ると、専用TOSLINKよりH,Lの幅の時間差(=歪み)が大きいようです。
電流調整、チャージコンデンサでON/OFF時のブースト、単方向プッシュプルと色々試したが改善せず、結局一番一般的な最終回路図で事なきを得ました。波形の歪みの改善は確認できないので明確な原因は不明です。
48KHzのサンプリングレートまで動作確認しましたが、96KHz以上ではダメかもしれません。
また、受信モジュールやCodecのデコードロジックとの相性問題もありそうです。
光受信モジュール
光受信の方は、電流が微弱なフォトダイオードで受けるため、ノイズ対策が必要不可欠です。
TOSLINKの受光モジュールを見ると、電源にLCフィルタを入れろとか、コネクタが導電素材になっていてGNDに落としてノイズ対策しろとか書いてあり、安易な回路ではだめそうです。
フォトダイオード/トランジスタもLEDほどだれでも持っている物でないので、そこまでして作るならTOSLINKモジュールを買った方が良いというのが私の判断です。
ということで、光受信モジュールは作りません。素直にDigi-keyで安価なTORX147/TORX177を買いましょう!