Raspberry Pi とVolumioで最先端オーディオを楽しむ その2 メイン・パーツはI2S-DACボード(Rev.C)

千円台から数多く販売されているI2S-DACボード

 オーディオ機器間の接続はRCAプラグのついたケーブル使います。XLRコネクタを使うバランス転送も時々使われます。CD/DVDプレーヤの出力をプリアンプかボリュームのついたパワー・アンプにつなぎ、スピーカから音を出します。

 オーディオ用アンプとスピーカは、新規に購入しなくとも従来から使っているものを利用できます。CDプレーヤがラズパイに変わったと考えます。ラズパイ本体とI2S-DACボードをつなげてミュージック・サーバとして利用します。家庭内や会社で使っているネットワーク・サーバ(NAS)も中身はラズパイとほとんど同じ構成で、大容量のハードディスクをつないでデータを管理しているところが異なります。

 ハイレゾ音源を再生するからといって、ハイレゾ対応の機器を購入する必要はありません。50kHzの音は人には聞こえません。

 I2S-DAC(HiFiBerry+、Volumio2-RC1)に50kHzの正弦波(176.4kHzサンプリング24ビット)のデータを再生したら、ディジタル処理の不具合か波形は少し変形していますが、正弦波に近い波形が出ています。超音波領域の再生もできています。

50kHz.png

I2S-DACボードはCDプレーヤの中身と同じ

 DACは、D-Aコンバータの省略形です。ダックと呼ぶようです。ディジタル信号をアナログに変換するオーディオ用D-AコンバータICの入力インターフェースの多くがI2Sです。CD/DVDプレーヤの中で使われているのですが、それを、単独で取り出して利用しやすくしたのがI2S-DACボードです。

 I2S-DACボードの出力レベルの多くは2Vrmsで、CD/DVDと同じです。

raspi-audio3.png

I2Sの信号は4本でジッタに強い規格

 I2Sでは、シリアルに16もしくは24ビットのPCMデータが転送されます。タイミングをとるためのクロックが複数あります。

 一番低い周波数の信号がLRCK(LRCLK)です。PCMデータはシリアルで送られます。データ線は1本なので、Lチャネルを送った後にRチャネルを送ります。Leftチャネル/Rightチャネルのスタート位置を交互に知らせるための信号がLRCKです。サンプリング周波数と同じ周期です。この信号を周波数カウンタで測ると、44.1kHzであればCD、192kHzであればハイレゾだと判断できます。

44k-01a.png

 LRCKに同期してn倍にした高い周波数のBCK(BCLK)クロックがあります。このクロックに合わせて、SDATA(DATA)というPCMデータ自身がD-Aコンバータに取り込まれます。SDATA信号が有効になっている真ん中あたりのタイミングでデータがDACに取り込まれるので、クロック信号の立ち上がり時に生じるジッタの影響を受けません。正しくD-Aコンバータにデータが渡ります。

 一番高い周波数がMCKクロックです。SCKと呼ばれたりします。D-Aコンバータの内部処理で必要です。IC内部にある8倍のオーバサンプリングやΔΣ変調器回路のためにさらに64倍にするためのクロックとして使われるようです。内部構成はどのメーカも公開していません。

I2Sの信号はGPIOのピンヘッダに出ている

 整理すると、次の4本と電源とグラウンドの合計6本がI2S信号のすべてです。

  • LRCK(LRCLK)
  • BCK
  • SDATA(DATA)
  • MCK(SCK)

 2016年3月時点で、特別なOSを除きRaspberry Pi のI2S信号にMCKはありません。次の図は、40ピンのGPIOにあるI2S信号の位置です。DAC基板が5Vで動作する場合は、2番ピンの5VとGNDから電源を配給します。I2S信号は一般の利用者が使わない音楽専用なので、多くのGPIO信号図には掲載されていません。

GPIO3.png

 MCK(MCLK)は、I2Sのビット・クロックBCKの64倍など高い周波数のクロックです。倍数がいろいろありますが、DAC内部でPLLが使われ、適切な周波数に内部で変換されます。PLLは分周や逓倍という周波数を低くしたり高くすることが安定にできる回路です。D-Aコンバータの中ではこのMCLKが基準でデータを送り出しますから、安定したクロックでなければなりません。

 40ピンのGPIOには信号がたくさん出ていますが、ラズパイ用のI2S-DACを購入すれば、連結コネクタでラズパイの上に載せるだけで接続は完了します。はんだ付けは不要です。


 GPIOには5V、3.3Vと多くのGND端子があります。I2S-DAC基板でこれらの電源を利用するより、専用の電源を利用するほうが音質的に有利だという話もあります。

Raspberry Pi 専用に製品が出ている

 オーディオ・マニアがハイエンドとして利用しているCD/SACDプレーヤの多くは、ESS社のDAC ES9018を搭載しています。I2S入力インターフェースを備えたボードも市販されていますが、高価で、日本では入手性がよくありません。MCKも必要ないので今回の用途に最適ですが、そのMCLKを作り出すPLLの調整が独特で、使いやすいとは言えないようです。

 量産CD/DVDでは旭化成エレクトロニクス(AKM)、Wolfson(現在Cirrus Logic)などのD-AコンバータICが使われますが、少量販売がされていないので、入手性は悪いです。いずれも、ハイエンド製品がありますが、次に説明する2種類が安価で実績があります。

 下記のいずれかを入手して音出しができたら、ハイエンドの製品に挑戦してみてください。最近AKMはDigi-keyから購入ができるようになったので、ebayなどでもボード製品を見るようになりました。ハイエンドの代名詞であったバーブラウンは、TIが吸収した後設計部門は解散し、ブランドだけが残っています。継続して新規ハイエンドを開発しているAKMに期待が高まります。

(1) ICの中でMCKを作るPCM5102/5122系のD-Aコンバータ

 32ビットのPCMデータが扱えるD-Aコンバータです。32ビットのデータを入手できないので意味がないですが、当然24ビットや16ビットも扱えます。対応しているサンプリング周波数は384kHz以下です。出力はCD/DVDプレーヤと同じレベルの電圧です。

 次のボードは、古くからあるHiFiBerry+というドイツの会社の製品です。

PCM5122.png

 (参考)ebayで販売されているボードのなかでI2S信号を個々にケーブルで接続するモデルは1200円から1500円です。ラズパイのGPIO 40ピンに直接挿させるモデルは2500円から3000円です。次の写真はI2S信号を個別につないで使っているところです。実際の利用例は、連載第6回 コンパクトなZeroでMPD を参照ください。

cable1a.png

(2) 発振器を外部に用意してMCLKとして利用するES9023

 CD/DVDプレーヤと同じレベルの電圧出力が出せる安価なD-AコンバータICです。24ビット192kHzまで対応しています。発振器で使われる周波数はいろいろあります。筆者の所有しているボードでは、50MHz、40MHz、49.152MHzが使われています。

ES9023.png

 (参考)ebayで販売されているボードの中で、I2S信号をケーブルで接続するモデルが1200円から1500円です。GPIO 40ピンに直接挿させるモデルは2500円から3000円です。

 PCM5122はバーブラウンのブランドを持っているテキサス・インスツルメンツの製品、ES9023はハイエンドのES9018を出しているESS社の製品です。ハイエンドDACは電流出力になっているためにI-V変換回路が外部に必要で回路規模が大きくなります。上記の普及型DACでは内部にマイナス電源を作るチャージ・ポンプ回路を備え、0Vを中心とした電圧出力が得られるのでシンプルな実装になります。

 ES9018は、低価格バージョンにES9018K2mやSABRE9018AQ2Mがあり、これらのDACを実装したI2S-DACも入手できます。

古い Raspberry PiはI2Sの信号の位置が異なる

 Rapberry Pi B+ 以前のGPIOは26ピンでした。このころにもI2S-DACボードは市販されていました。現在、古いラズパイの入手性は悪いのですが、もし譲り受けたりしたときは使えます。しかし、I2Sの信号が出ているピンの位置が異なります。

  • 昔のモデル-GPIO26ピン+P5(I2Sはこちらに出ていた)
  • 今のモデル-B+のモデルが出た以降GPIOは40ピンになり、I2Sが出力されていたP5は廃止されました。

入手先例;

 日本製が少ないです。直接購入できる場合も多いです。支払いはpaypalだと安心です。国内でも、価格は上がりますが、扱っていることがあります。

 オークション(落札と支払方法は、一般的な部品ショップと入手方法が異なることがあります。商品は誰も動作を保証していない場合が多いです)

バックグラウンド

デルタ・シグマ変調;安田靖彦氏が発明したアナログ-ディジタル変換方式です。多ビット、中高速のA-DコンバータICの多くが採用しています。ICを作るときにアナログのプロセス部分を最小限にできるので、製造コストを下げられるといわれています。

 ディジタル・オーディオに使われるSN比を満たすためには、回路として安定な2次では足りず3次変調器が使われますが、原理的に発振するので、各社ディジタル処理回路に工夫をして対策をしています。また、比較器に1/0のコンパレータを使うとコストは低いですが十分なSN比が得られません。そのためマルチレベルのコンパレータを入れてビット数を稼ぐようにしたいですが、判別に必要な基準電圧の精度が十分に得られません。

 これらの問題をいろいろな手法で解決しているため、メーカやモデルによってダイナミック・レンジやSN比が異なり、進化しています。

 ディジタル・オーディオでは24ビットが主流ですが、最小ビットLSBは次のような微小レベルです。

 2000000uVrms/2^24 = 0.11uV

 慎重に測定すると、20ビット分の精度で出力が得られるようです。

 イギリスのChord社のMojoなどのように、汎用DACではなくFPGAで新しいディジタル信号処理回路を実装した製品も出てきています。

(Rev.C) 2016/10/15 10月13日付け2.000、正式バージョン2リリースによる本文全体の修正。