XMOS StartKITにはRaspberry PIの拡張ボートと同配列のコネクタがあるので
ここにRaspberry PI用のAudio DAC拡張基板を接続して、オーディオ出力をしてみよう!
Raspberry Piに外部DACを接続してハイレゾなオーディオ機能を拡張しようとする時、
I2S方式でオーディオデータを転送するのですが、なぜかRaspberry Piを購入した状態では
I2S信号のベッダーP5だけ部品が実装されていないのです!
そのため、市販されているオーディオ拡張ボードではユーザーがヘッダーをハンダ付け
するようにピンヘッダーを同封したり、基板を重ねるとバネでピンが接触する構造にしたりと
様々なバリエーションがあります。 このオーディオ機能軽視な方針に従ったのかどうかは
知りませんが、XMOSのStaterKITにはP5をそのまま直結するようなヘッダーはどこにも
配置されていません。
XMOS StartKITには、Raspberry PI Extension Boardとピンコンパチブルな端子(D)があります。
ここにRaspberry Piのオーディオボードを接続します。
ただし、罠がふたつあります。
罠その1:
何よりも、StartKITのヘッダーDの形状とサイズはRapsberry Piと同じなのですが、
肝心の電源ピンが接続されていません、何であれこれでは動作しないので、
StartKIT基板の裏側で3.3Vと5Vをジャンパーしてあげる必要があります。
罠その2:
本来のRaspberry Piの基板ではI2Sの信号が出ているヘッダーはパターンがあるだけで
部品が実装されていません、一方StartKITの方は物理的に相応する位置のヘッダー自体がありません。
そのために、Audio BoardのI2S信号ピンとXMOSのGPIOを配線で繋く必要があります。
接続するAudio Board(Wolfson使用のもの)については下記のURLを参照ください。
http://www.element14.com/community/community/raspberry-pi/raspberry-pi-accessories/wolfson_pi
高音質なオーディオDACと、同軸のS/PDIFインタフェース、ステレオのMEMSマイク(PDM方式)等が搭載されています。
このAudio Board上のDACはMCLK(256fsか512fs)が必要なのでStartKIT上で生成する必要があります。
搭載されているマイクを使うにはPDM出力をそのままDSDで音に出すこともできますが、
様々な応用を考えた場合、PCM形式に変換できると取り扱いがラクなので、これは今後の課題です。
以下のポイントを改造します。
XMOSのStartKITの拡張ヘッダーについて
まず、こちらのXMOSのStartKIT、購入価格は2千円弱
上記レイアウト図のDがRaspberry PIコンパチブルのポート。
製造コストを下げるためにピンヘッダー類は未実装なのです。
MILコネクターが刺さるサイズの2.54mmピッチのSIL(一列)とDIL(二列)のヘッダーピンを用意してください。
DAC拡張ボードとの接続について
最大の難関はRaspberry PiのP5ヘッダーに含まれている
I2S信号をどうやってStartKITと接続するかという点になります。
もともとStartKITにはヘッダーも実装してありませんので、このwebの読者の皆さんなら
ヘッダーのハンダ付け位は挑戦すると仮定して、手軽に実験をするのに以下の方法が
一番イージーではないかと思っています。
細工を最小限で済ませたい場合は
DIL(Dual In Line)ヘッダーDと、ヘッダーCのSIL(Single In Line)側だけ付けましょう。
いい練習になるのでこの機会に自分でハンダ付けしてみる事をオススメします!
ステップ1: ヘッダーDと電源ピン(ヘッダーEの)との接続
StartKIT側からDAC拡張ボードへ電源を供給できるとUSBのバスパワーだけで動かせるので便利です
なので、StartKIT基板の裏側で未接続になっている3.3Vと5Vの電源を接続してしまいましょう。
(勿論、高音質化や低ノイズ化のために高品質な外部電源を使う場合にはこの限りではありません)
GNDはすでに接続されているので、具体的には以下の3本のジャンパー配線をします。
(画像:StartKit裏側ジャンパー)
ステップ2:拡張DACボードへのI2S信号の接続
拡張DACボードのP5ヘッダーが挿さるところはメスなので、自分で決めたStartKITのI2S信号ピン3本と
オス〜メスのジャンパー線で以下のような方法で接続します
(画像1:拡張DAC基板側)
(画像2:StartKIT基板側)
かくして、Raspberry Pi用のI2Sオーディオ拡張ボードとハード的には接続できた訳ですが、
実際に動作させるには(リンク先)のファームをXTAGで書き込む必要があります。