Raspberry Pi Zero サイズのハイレゾ DAC 基板
Raspberry Pi Zero W の販売が日本で開始されました。Raspberry Pi Zero はあまり興味がもてませんでしたが Raspberry Pi Zero W はあのサイズで無線 LAN と Bluetooth がアダプター無しで使えるというのはとても魅力的です。そこで Raspberry Pi Zero W サイズのハイレゾ DAC 基板を設計して超小型のWi-Fi オーディオプレーヤーを製作します。
Raspberry Pi Zero W サイズのハイレゾ DAC 基板を設計するにあたってはこれまでの設計資産のある PCM5102A を使った基板と、PCM5122 を使って Jitterless で動かすことのできる HiFiBerry DAC+ Pro 互換の基板を設計することにしました。
当初、ヘッドホンアンプを実装することを考えていました。無理をすれば実装も可能だったのですが、特に PCM5122 基板ではヘッドホンアンプ回路と DAC 回路のパターンレイアウトが互いに影響を与えないようにしたかったということもあってヘッドホンアンプ回路は別基板で対応することにしています。
ここでは HiFiBerry DAC+ Pro 互換の PCM5122 基板を Raspberry Pi Zero W と組み合わせ、volumio 2 VERSION:2.246 をインストールしてハイレゾ対応 Wi-Fi オーディオプレーヤーに仕立てます。
Raspberry Pi Zero W の入手
Raspberry Pi Zero W は技適の取得の関係で販売が遅れていました。スイッチサイエンスから一度目の発売日(7月18日)には(発売開始時間の1分後にアクセスしたのですが)購入できなかったので MODMYPI から 30.57 ユーロ(ZERO KIT B)で購入しましたがその10日後のスイッチサイエンスでの二度目の発売日(7月28日)にはなんとか購入することができました。2枚の基板がこれです。もちろん外観は全く同じですが裏面にある技適マークの表示方法が異なっています。スイッチサイエンスからの基板はシールで MODMYPI からの基板ではシルク印刷になっています。

スイッチサイエンスでは発売開始から1時間で売り切れになったようですが MODMYPI では在庫があるようです。注文してからものが入ってくるのに1週間ほどでした。ページの右側にある「Custmize Me」で必要なモノだけを選択するのを忘れないように。筆者はデフォルトで発注してしまって、残念な電源アダプターが送られてきました。
PMC5122 基板の概要
今回設計した HiFiBerry DAC+ Pro 互換の PCM5122 基板(以下 RBD-P5122+ ZERO)の概要がこれです。

基板寸法は Raspberry Pi Zero W と同サイズですので Raspberry Pi Zero W との接続はもちろんですが、Raspberry Pi A+/B+/2B/3B にも接続可能ですね。ハンダ付け作業は不要で音出しができます。
主な特徴は以下になります。
- デジタル電源(@)とアナログ電源(A)は基板内で超低雑音出力リニアレギュレータで独立に生成して PCM5122 に供給しています。
- サンプリングレート 44.1/88.2/176.4 kHz および 48/97/192kHz の2系統のクロック生成(B)には低位相ノイズで音質に定評のある京セラの KC シリーズの水晶発振器を採用しています。
- アナログフィルタ回路は 0.1% 薄膜抵抗と 2% ECHU フィルムコンデンサで正確なフィルタ特性と高音質化を図っています。
- アナログ回路とデジタル回路を分けた最適化されたパターン設計。
その他、ライン出力は 3.5mm ステレオミニジャックを実装していますが、オプションで RCA ジャックを用意する予定です(D)。この RCA ジャックを使用するにはコネクタのハンダ付けが必要になります。また、さらに電源の強化ができるようにアナログ電源用 LDO 出力とデジタル電源用 LDO 出力にスルーホールタイプの電解コンデンサを実装できるようにしました(C)。
Volumio 2 のインストール
volumio 2 の最新バージョンは VERSION:2.246 です。インストールは例によってダウンロードしたイメージファイルをマイクロ SD カードに書き込みます。
# dd bs=4M if=volumio-2.246-2017-07-31-pi.img of=/dev/sdb
書き込んだ SD カードを Raspberry Pi のマイクロ SD カードソケットに挿入して電源を入れ、ブラウザからアクセスすれば volumio 2 の画面が現れます。しかし、Volumio に端末から SSH でログインしようとすると No route to host と言われ接続できませんでした。
# ssh volumio@192.168.11.14 ssh: connect to host 192.168.11.14 port 22: No route to host
Voumio2 を使う分には特に問題はありませんが、後々確認することがあるので SSH でログインできないのは困ります。調べてみたところ Rasbian Jessie 2016-11-25 のバージョンから SSH がデフォルトでは無効になっているようです。解決策としてはマイクロ SD カードの /boot ディレクトリに ssh という空ファイルを作成することになります。Linux PC にマイクロ SD カードをマウントし、/boot ディレクトリに移動して touch コマンドを実行し空ファイルを作ります。
# touch ssh
また、ブラウザで VOLUMIOIP/DEV または volumio.local/DEV を指定したページの SSH セクションにある「ENABLE」をクリックすることでも SSH を有効にすることができます。
SSH でログインするときの USERNAME は volumio、PASSWORD も volumio です。
RBD-P5122+ ZERO 基板の動作確認
PCM5122 は3つのクロックモードをもっています。一つは BCK、LRCK そしてマスタークロックをシステムから供給してもらうモードで、Raspberry Pi ではマスタークロックを出していないのでこのモードは使えません。(BeagleBone Black に BBB ブリッジ基板と RBD-02+ HG の組み合わせでこのモードで動かしています)
一つはシステムから供給される BCK から PCM5122 内で PLL によってマスタークロックを生成するモードです。RBD-02/02+/02+ HG など PCM51xx を使った多くの Raspberry Pi DAC はこのモードで動かしています。
そしてクロックマスターモードです。このモードは PCM5122 に外部で生成したサンプリングレートに対応したマスタークロックを入力し、このクロックから BCK、LRCK を内部で生成して Raspberry Pi に供給し、Raspberry Pi はこのクロックに同期してデータを送出するモードです。RBD-P5122 基板はこのモードで動かします。HiFIBerry DAC+ Pro はもちろんですが nabe さん設計の msBerryDAC がこのモードで動きます。
HiFiBerry Blogによると、クロックマスターモードに対応したドライバーは Raspberry Pi Linux Kernel バージョン 4.1.10 以降で組み込まれているようです。volumio 2 VERSION:2.246 のカーネルバージョンは以下のように確認できるので対応されているようですね。
~$ uname -a Linux volumio 4.9.36-v7+ #1015 SMP Thu Jul 6 16:14:20 BST 2017 armv7l GNU/Linux
さて動作確認ですがまずは Raspberry PI 2B で行いました。RDB-P5122 ZERO+ を接続した状態がこんな感じです。

Voumio2 の Playback Options 画面の I2S DAC を「ON」にすると DAC Model が選択できるようになるのでここに登録されている「HiFiBerry DAC Plus」を選択します。「Save」して再起動すると Playback Options の Output Device に「HiFiBerry DAC Plus」となっているのが確認できます。
SSH で volumio 2 にログインして HiFiBerry DAC+ Pro と認識されているか以下のコマンドで確認します。
~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA] Subdevices: 8/8 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: subdevice #5 Subdevice #6: subdevice #6 Subdevice #7: subdevice #7 card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ Pro HiFi pcm512x-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0
ちゃんと認識されていますね。念のために PCM5122 の SCK 端子をオシロスコープで観測するとサンプリングレートに対応したクロック(22.5792MHz or 24.5760MHz)が入力されているのが確認できました。
次に Raspberry Pi Zero W に接続してみます。

Raspberry Pi Zero W をネットワークに接続する方法として一つはマイクロ USB ネットワークアダプタを使って有線 LAN 経由で行う方法と Volumio Hotspot モードで行う方法があります。今回は Volumio Hotspot モードで行います。
Raspberry Pi Zero W の電源を入れると Volumio は Hotspot モードになっています。PC、タブレット、スマホ等の Wi-Fi リストに Volumio というネットワークが現れますので Volumio を選択して接続します。接続する際のパスワードは volumio2 です。そしてブラウザで 192.168.211.1 にアクセスすると Volumio の画面が現れます。Volumio の Network Settings 画面で Wi-Fi リストから接続するネットワークの選択、IP アドレスの設定が可能になります。Wi-Fi の設定に有線 LAN で接続する煩わしさがなくなりました。
金メッキ RCA ジャックの取り付け
RBD-P5122+ ZERO 基板はライン出力に 3.5mm のステレオミニジャックを標準で実装しています。しかしこれでは物足りなさを感じる自作マニアの人も多いと思います。そのようなマニアの人の為に金メッキの RCA ジャックキットをオプションで用意します。

Raspberry Pi A+ にこの RCA ジャックを使ってケースに収めました。汎用的な RasPi DAC ケースにも収められそうですね。

Raspberry Pi 汎用のケースで Raspberry Pi の正規代理店である KSY が出している Piケース アルミ Leg V2 with FAN ブラックというのがあります。これに RCA ジャック用の穴2か所を空けて収めました。基板側のコネクタは JST のライトアングルタイプにして半田面に実装しています。

頒布
今回設計した基板で評価等での未使用品がごく少数(3枚)あります。早い者勝ちになってしまいますが、ご希望の方にアセンブリ費と部品費(送料別)2500円で提供させていただきます。タダでなくてごめんなさい(^^)
ここで紹介した Raspberry Pi Zero サイズの DAC 基板 RBD-P5122+ ZERO と RBD-02+ ZERO を頒布しています。興味のある方は LINUXCOM ネットショップを訪問してみてください。Yahoo!ショッピング店でも頒布しています。