Raspberry PiでAK4493

ふと、AK4493をRaspberry Pi(以下RasPi)で動かしてみたくなりました。

AK4493はマスタークロックが必要ですが、RasPiはマスタークロックを出しません。そこで同じ旭化成エレクトロニクスのSRC ICであるAK4137を使うことが一般的?と思いますが、このICは手元に無いのです。また、入手しても取り付ける基板もないし、基板レイアウトして発注すると早くても1、2週間かかるし。

そこで姑息?な手段を思いつきました。

Pi ZeroサイズDAC基板を使ってI2S信号をAK4493に

Pi ZeroサイズDAC基板のRBD-P5122+ Zeroは、サンプリング周波数が44.1kHz系と48kHz系のマスタークロック生成用の水晶発振器を持って、スレーブモードで動作するRasPiにマスタークロックから生成したI2Sクロック信号(BCK、LRCK)を供給してこのクロックに同期してデータを出力させています。

ということはこのマスタークロックを含んだI2S信号をAK4493に供給してあげれば動きそうです。ブロック図で描くとこういう感じです。

ユニバーサル基板にコネクタをつけて配線

この構成であればあり物の基板ですぐにできます。ユニバーバサル基板にRasPiと接続するピンソケット、RBD-P5122+ Zeroと接続するピンヘッダーそしてAK4493EQのDAC基板に接続するコネクタを載せ配線すれば良いです。

RasPiとRBD-P5122+ Zero基板を接続します。RBD-P5122+ Zero基板のPCM5122に供給しているマスタークロックをジャンパー線でコネクタに接続してAK4493用のMCKとなります。そして、ユニバーサル基板の2つの2列x7のピンヘッダーにRBD-P5122+ Zero基板を接続します。

ユニバーサル基板上の白い6ピンのコネクタはDSD-A4493基板との接続用です。このコネクタとDSD-A4493基板のCN1を6ピンのコネクタケーブルで接続します。

Volumio 2で音出し

音出しの前に動作確認です。

Volumio 2では出力デバイスをHiFiBerry DAC Plusを選択することでRasPiをスレーブモード(PCM5122をマスターモード)にしてPCM5122からのBCK、LRCKで動作するようになります。

動作確認のために44.1kHz 16bit、96kHz 16bit、192kHz 24bitそれぞれ1kHzの正弦波を用意して再生しようとしましたが44.1kHz 16bit、96kHz 16bitの信号は波形が出ませんでした。そこでI2SのBCKとLRCKをオシロスコープで観測するとBCKの周波数が1.4MHzとなっています。どうもPCM5122のドライバーは16bitのデータの場合と24bitのデータの場合でBCKの周波数を変えているようです。例えば44.1kHz 16bitの信号の場合BCKは32*FSとして1.4MHzになっています。

そして192kHz 24bitの信号ではBCKは64*FSとなり12.2MHzとなります。

AK4493はBCKを64FSとしていますので44.1kHz 16bit、96kHz 16bitでは再生できず、192kHz 24bitiでは再生できることになります。

BCKを64FSにするにはmpd.confでaudio_outputのformatを変更すればできますが、Volumioでは「Playback Options」でAudio Resamplingの項目のAudio ResamplingをONにしてTarget Bit DepthをNativeから24(または32)にすれば良いです。

これでCDのリッピングデータも再生できるようになりました。しばらくはRasPiでAK4493の音を聴いてみます。

SYMPHONIC-MPD(SMPD)

SMPDでの動作を確認しようとしてダウンロードしようとしたところ、現在は R&D Club会員のみに許可されているようで非会員である筆者はダウンロードできません。新規の会員登録も「これまでにsmpdの利用経験が無い方についてはR&D Clubへの入会はお断りさせてください。」ということのようで残念ながら断念しました。

シェアする

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

フォローする

コメント

  1. yseki118 より:

    >AK4493はマスタークロックが必要ですが、RasPiはマスタークロックを出しません。
    >Pi ZeroサイズDAC基板のRBD-P5122+ Zeroは、サンプリング周波数が44.1kHz系と48kHz系のマスタークロック生成用の水晶発振器を持って、スレーブモードで動作するRasPiにマスタークロックから生成したI2Sクロック信号(BCK、LRCK)を供給してこのクロックに同期してデータを出力させています。
    >ということはこのマスタークロックを含んだI2S信号をAK4493に供給してあげれば動きそうです。

    今、SMPDの掲示板ではこのやり方を流用して、高級(?)なDACをマスターモードで動かすというのが流行りつつあります。

    かつてのBBBブリッジ基盤ではないですが、Pi用のブリッジ基盤を出されてはいかがでしょう。需要はあると思います。

    • ryusai より:

      yseki118さん、お世話になります。

      興味深い情報ありがとうございます。
      SMPDの掲示板はまだ見切れていませんが、piにマスタークロックを外部から供給して動かせるディストリがVoumio以外でも存在するというのは知りませんでした。というか、あまりpi関連は注視していなかったもので。

      この記事の実験はAKMのDACをvolumio + piで動かすのにPCM5122を使うという掟破り(笑)ですが結構気に入ってます。それでPCM5122のハード(レジスタ周り)をパクってFPGAで設計でもしてみようかなと考えていたのですが、なかなか手をつけられないでいます。そのままPCM5122を使ったほうが安くなる*かも*ということもありますし・・・。

      ブリッジ基板というのも面白いですが、ドライバも作らないと確認もできないということもあってスキルが追いつきませんね。音的にはvolumio以上である事は間違い無いのですが。

      • yseki118 より:

        LINUXCOMさんが以前書かれた「BeagleBone Black で I2S DAC を接続する」の中に、
        ============================================================================
        今回この基板を作った目的は BBB を外部クロックで動作させて 44.1kHz ファミリーと 48kHz ファミリーのサンプリング周波数のファイルをリサンプリングなしに再生可能にすることもありますが、もっとも大きいのは PCM5102A を PLL モードを使わずにマスタークロックモードで動作させることで PLL によるジッターの影響を無くすことにあります。Raspberry Pi ではマスタークロックを出力できませんのでこれは BBB の利点です。
        ============================================================================
        と書かれています。
        このところ、BBBとPiを使って同じDACをPLLモードとマスターモードの両方で音出しをして、音を聴き比べてきました。結果、マスターモードの音のほうが高音質であることを再確認しました。
        PiでもマスターモードでDACが使えればBBBとの差がなくなってしまいますね。更にLINUXCOMさんが作られたBBB用の亀の子DACが繋がれば幸せになれるのですが・・・・・・

        • ryusai より:

          yseki118さん、こんにちは。

          > LINUXCOMさんが作られたBBB用の亀の子DACが繋がれば幸せになれるのです
          これがB3D-A449x基板のことだとしたら、ちょっと難しいですね。

          この方式の1番のメリットはマスタークロックの必要のないRasPi DACがマスターモード(まがい)で動かせる事だと思います。

          • yseki118 より:

            思いついたことを書いただけですので、スルーして下さい。
            マスタークロックを供給するボードが実現するだけで十分です。
            linuxcomさんのやりやすいようにして下さい。
            ボードの完成、楽しみにしています。

  2. kick(moct) より:

    こんにちは

    この件の言い出しっぺは私です。
    4月はじめにパパリウスさんのところにチラッと書きました。その後この記事で、同じことを考える方がいるんだなと少々びっくりしました。
    その後しばらく遊びながらこっそり使っていましたが、中華製ES9028Q2Mかなんかの話題のときにもう一度書いたら、パパリウスさんが反応されそのあたりからブームっぽくなったようです。

    inno HIFI DAC HATというRas-Pi用のDACがあり、何故かGPIOピンがDAC側に繋がっています。PCM5122のマスターモードで動きますが、そのI2Sを横取りすれば他のDACも動くはず、スレーブモードのDACを更にその上に重ねてしまえば……、と考えた次第です。

    BBBブリッジ基板はもともとRas-Pi用のDACと接続するためだったはずですから、inno HIFI DAC HATと同じようにDAC側にピンを延長し、PCM5122からMCLKをBBBブリッジ基板と同じピンに出力すればBBB用のDACが動きそうなのですが、どうでしょうか。
    Ras-Piの場合、DSDを考慮する必要がないので旭化成のチップの場合パラレルモードで充分だと思います。MCLKとBCK、LRCKの倍率の関係などで制約も出そうな気もしますが、私のところではinno HIFI DAC HAT(MCLK 49.152Mhz 45.1584Mhz)+AK4490で問題なく再生できています。ドライバーはPCM5122用でいけるはずです。
    私の方からもご検討をお願いします。

    • ryusai より:

      kickさん、こんにちは。

      Arch-boticは今でも使わせていただいています、ありがとうございます。

      > DAC HATと同じようにDAC側にピンを延長し、PCM5122からMCLKをBBBブリッジ基板と同じピンに出力すればBBB用のDACが動きそうなのですが、どうでしょうか。
      そうですね、まさにこの記事の内容そのものです。

      > Ras-Piの場合、DSDを考慮する必要がないので旭化成のチップの場合パラレルモードで充分だと思います。
      FPGAでの設計を考えたのはDSD(DoP)の再生も可能にしたかったからです。が、DSDを考えなければPCM5122をマスタークロックの切り換えだけに使う掟破り(笑)もありですかね。

      手っ取り早いのは、RBD-P5122+ 基板でMCLKをコネクタに接続するように基板変更をする方法です。コネクタはkickさんの提案のようにピンを伸ばしたものにするのが良いですね。RasPi用マスタークロックGenerator (DACのおまけ付き)(笑)。

      少し検討してみますか。

  3. yseki118 より:

    kickさんは正会員なので、その方の紹介があれば準会員になることができると思います。
    折角のボードですから、ぜひSMPDで試していただきたいと思います。
    (私は会員でないので、お力になれず、申し訳ありません)