Raspberry PiでI2S伝送

今更ながらのタイトルですが、Raspberry PiでI2Sの出力をI2S to LVDS ドライバー基板で送信してLVDS to I2S 基板で受信するということです。

ラズパイはRaspberry Pi 3B+で、マスタークロックも伝送するのでRBD-P5122+ ZERO WMO基板を使います。OSはyseki118さんから紹介のあったCollybia OSを microSD カードに焼きました。

Collybia OS の設定

Collybia OS でRBD-P5122+ ZERO WMO が使えるようにする(マスタークロックモード)にはyseki118さんのブログを参照して貰えば良いのですが、volumioと同じようにHifiberry DAC Plus ドライバはデータの分解能(量子化ビット数)が16bit 音源の時にビットクロック(BCLK)が32fsとなり64fsで設定してあるAK449x DACでは音が出ません。これでは困るので、データの分解能を24か32にする必要があります。

VolumioではWeb UI でTarget Bit Depth を変更することができますが、Collybia OS ではWeb UI では変更できなさそうです。なので、ssh でログインして nano で /etc/mpd.conf を編集します。変更は以下のように mpd.conf の audio outputの format “*:24:*” を有効にすれば(行頭の#を削除)良いです。

audio_output {
enabled         "yes"
type            "alsa"
name            "MY DAC"
device          "plughw:0,0"
# use the line below when enabling sox resampler
# the lines below are just some examples
#format "192000:24:2"
format "*:24:*"
auto_resample   "no"
auto_channels   "no"
auto_format     "no"
dop             "yes"
}

I2S to LVDS ドライバー基板のセッティング

I2S to LVDS ドライバー基板上にはマスタークロックソースを切り替えるピンヘッダー(JP1)があります。RBD-P5122+ ZERO WMO 基板からのマスタークロックを選択するにはこのJP1の1-2にジャンパピンを挿入します。そしてRJ45コネクタにSTP LANケーブルを挿します。

LVDS to I2S レシーバー基板のセッティング

LVDS to I2S レシーバー基板は電源に+3.3Vが必要です。デジタルオーディオロジック基板(以下LOBDAS)ではコネクタ(CN8)から+3.3Vが供給されますのでLVDS to I2S 基板のCN2をCN8に接続すれば良いです。その場合は同梱のピンヘッダーはLVDS to I2S 基板のハンダ面にハンダ付します。

LVDS to I2S基板を単体で使うこともできます。その場合にはCN2の12番ピンに+3.3V電源を供給してください。一例として同梱のピンヘッダーを4ピンと2ピンに分割してLVDS to I2S基板の部品面にハンダ付します。

接続例として他に何か良い基板がないか探したところアマゾンでES9038 Q2M DACデコーダー·ボード3ウェイ·スイッチング·サポート·ファイバ同軸USB入力というのがありました。この基板はXMOS XU208ドーターカードデコードボードという基板を載せて使えるようになっているのですが、そこにLVDS to I2Sレシーバー基板と入れ替えて使えます。電源はES9038ボード上の+3.3V電源を供給してあげれば良いでしょう。ただ、DSD再生時のLRチャネルが逆になります。

この基板の入手には30日から40日かかるので試せるのはまだまだ先になりますのでその時に追記しようと思います。

AK4493 DAC 基板とLVDS to I2Sレシーバー基板を直接繋げる

AK4493 DAC 基板(DSD-A4493)を使った例です。

先程のピンヘッダーにケーブルを接続した状態です。DSD-A4493基板のI2Sインターフェースコネクタ(CN1)のピン配は1番ビンから6番ピンまで、+3.3V(茶)、GND(赤)、MCLK(橙)、BCLK(黄)、DATA(緑)、LRCK(青)の順になっていますのでその順番で接続します。

DSD-A4493基板の設定

DSD-A4493基板はピンコントロールモードでの動作になります。この設定はJ1の13-14をオープンにして、19-20、21-22をジャンパーピンでショートします。

LVDS to I2Sレシーバー基板にI2S to LVDSドライバー基板からのSTP LANケーブルを挿入し、DSD-A4493基板のCN1にLVDS to I2Sレシーバー基板からのI2S信号ケーブルを接続してさらに電源を供給すればOKです。

ES9038Q2M DACデコーダーボードと接続

ES9038Q2M DAC基板が思ったよりも早く10日程で送付されてきました。梱包はラップに包んだだけの簡易的な方法でちょっと驚きましたが、特に問題はないのでこれもアリかなと。この基板はyseki118さんのブログで2年ほど前に紹介されていた基板とレイアウトはほとんど同じで、XMOS XU208ドーターボードを載せる場所を設けた基板です。このXMOS XU208ドーターボードの代わりにLVDS to I2S レシーバー基板を載せます。

LVDS to I2S レシーバー基板で音出しは簡単にできました。

と言っても少し準備が必要です。

LVDS to I2S レシーバー基板にハンダ面からピンヘッダー6ピンをハンダ付し、部品面のCN2の12、13ピンに電源用のコネクタ(ここではピンヘッダー2ピン)をハンダ付します。

ES9038Q2M DAC基板に6ピンのピンソケットをハンダ付します。

LVDS to I2S レシーバー基板は3.3Vが必要なので、ES9038Q2M DAC基板から供給することになります。この基板の3.3Vを生成するLDOの出力ピンに直接ケーブルをハンダ付します。画像の黒いケーブルがGNDで赤が3.3Vです。

そして、このケーブルでLVDS to I2S レシーバー基板にハンダ付したコネクタに接続すればOKです。

これでPCMとDSDの再生ができました。DSDの再生ではLch、Rchが逆になりますが。

スポンサーリンク
スポンサーリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク