鳳凰三山尾根より白根三山を望む


Date/Time: 2013:09:29 08:31:16
Camera: Panasonic
Model: DMC-LX2
Exporsure Time: 1/320
FNumber: 5.6
Aperture Value: 5.0
Focal Length: 6.3

Close

y2blog » Raspberry Pi 2 + Volumio + DAC でネットワークオーディオに挑戦(その3)

4

04

2015

Raspberry Pi 2 + Volumio + DAC でネットワークオーディオに挑戦(その3)

DACをI2Sダイレクト接続してみる


Raspberry Pi + Volumio の組み合わせでは、先の汎用USBポートを介した接続方法以外に、Raspberry Pi のGPIO(汎用入出力)端子経由で、DACチップの汎用的な入力データフォーマットであるI2Sという形式の信号を出力する事が可能だ.


Volumio Settings
I2S drivertを “Hifiberry”、Audio Outを “sndrpihifibery” に設定

このI2S接続方式によるRaspberry Pi 用の市販のDACボードは結構市場に出まわっているようで、VolumioのForumでも代表的な物が幾つか紹介されている.“LIST OF I2S DACS FOR RASPBERRY PI”


I2Sについて


I2S という信号の詳細については専門外なので良く分からないが、”Inter-IC Sound” というデジタル音声信号をICチップ間でシリアル伝送するための規格だそうだ.殆どの人はデジタルオーディオデータのシリアル伝送規格として、S/PDIFのような民生用の機器間インタフェースやAES/EBUの様なプロ用のインタフェースを思い浮かべるかもしれないが、I2Sはディジタルオーディオ機器内部の局所的なシリアル伝送方式で、殆どのDACチップはこのI2S信号を処理してアナログ音声信号に変換することができる.


I2Sで使われる信号線としては次の3本の信号線が必要で、大部分のDACチップではこの3本の以外に、マスタークロックと呼ばれるディジタル信号間の同期を取るための基準となるクロック信号が必要だ.

LRCK ステレオ音声信号のLチャネルとRチャネルを区別するためのクロック信号

BCLK  ビットクロック データ信号の同期を取るためのクロック信号

SDATA  ディジタル音声のデータ信号 (DIN)

MCLK  マスタークロック信号

DACチップによっては、MCLKを外部から供給しなくてもBCLK等のデータから内部で自動的にMCLKを作り出すことができる物があり、この場合はLRCK,BCLK,SDATAの3本だけでDA変換することができる.


Raspbery Pi + Volumio の組み合わせでI2S信号をGPIO端子から出力する場合、残念ながらMCLK信号は出力することができないので、LRCK,BCLK,SDATAの3本だけで対応可能なDACチップを使わざる負えない.”LIST OF I2S DACS FOR RASPBERRY PI”で挙げられている、Raspbery Pi 用のDACボードは殆どが、Texas Instruments(旧Burr-Brown) のPCM5100シリーズを使用している.このPCM5100シリーズDACはDACチップから直接電圧出力が取り出せるローコスト版なので、ハイエンドDACの様な音質をとことん追求するような用途には向かないが、一般的な用途としては十分な音質だろう.このチップのデータシートを見る限り、DACチップの周辺にチャージポンプ用のコンデンサーやローパスフィルタ用のRC回路程度の簡単なパーツを追加するだけで、簡単にオーディオ出力が得られるようなので、今回の実験用としては申し分のないDACチップだろう.興味のある人は日本語で書かれたTexas Instrumentsのホームページがあるので、目を通しておくと良いだろう.



I2S signal probing
LRCK: GPIO19 – Pin#35, BCLK: GPIO18 – Pin#12, SDATA: GPIO21 – Pin#40 の出力波形を観察する

LRCK and  BCLK
I2S信号をオシロスコープで観察してみた(上:BCLK、下:LRCK)

BCLK and DATA
I2S信号(上: SDATA、下: BCLK)


先ずは PCM5102 DACを使ってI2S出力に挑戦してみた


Texas Instruments社のPCM5102を使えば簡単にRasberry Pi 2でI2Sによるサウンド出力が可能であることが分かったので、早速PCM5102を入手してI2S接続を試してみることにした.PCM5102チップは秋葉原辺りでも比較的入手し易く、千石電商の本店2階では1個400円と手頃な価格で売られていた.ただ、問題はこのDACチップは表面実装型のパッケージしかなく、ピン間隔が 1/20inch(約0.64mm)で 20pinある.これを載せることのできるプリント基板を作成するのは、ホビーレベルのアマチュアでは難しいので、とりあえず既製の変換基板を購入し、ピン間隔2.54mmに変換することにする.


ピッチ変換基板上で位置合わせ
先ずはピッチ変換基板上で正確に位置合わせを行う

半田づけが上手くできない
機械のようには上手く半田が載ってくれない

駄目だこりゃ!
この方法では綺麗かつ電気的特性を損なわずに実装するのは難しいそうだ

PCM-1794でも挑戦
別なDAC(PCM-1794)と変換基板の組み合わせでも挑戦してみるが無残な結果に...


...という訳で、DACチップからの自作は諦めて半完成品のDAC基板を利用することにした


Sunhayato MM-5102
Sunhayato MM-5102 DACモジュール(千石電商本店2Fで購入)

20pin DIPサイズ基板
DACチップは予め20pin DIPサイズ基板に実装してあるので扱いやすい