RaspberryPi

RaspberryPi用DACを自作してみた【その1~試作編~】

ラズパイ本体のイヤホンジャックから出る音はマジで悪い

ラズパイ本体に実装されている3.5mmイヤホンジャックから音楽聴くと、100均のイヤホンのような音質の音が流れます。音が鳴れば良い場合はともかく、オーディオ用途としては使用するに耐えません。

実は、ラズパイ本体に実装されている3.5mmイヤホンジャックから出力される音は、デジタル信号から作られた、擬似的なアナログ信号です。ラズパイ本体にはD/A変換を行うICが実装されていないので、PWM信号(デジタル信号)をLPF(ローパスフィルタ)で平均化することで擬似的にアナログ信号(ここでは音声)を出力しています。

オシロで出力を見てみると下の動画のようになっています。これがちゃんと「音声」として聞こえるのは不思議だなぁと感じたり。

DACとは

前項目で、「ラズパイ本体にはD/A変換を行うICが実装されていない」という話をしました。このD/A変換を担うICがDACチップと呼ばれるものです。

DACとは、Degital Analog Converterの略称です。0か1かの「デジタル信号」を「音声」に変換するものになります。今回の場合はRaspberryPiから出力されるI2Sという規格のデジタル信号を「音」に変換します。

PCM5102a

クロックが内部生成出来る

通常のDACチップでは、マスタークロックとして高精度なクロックを水晶発振器で生成する必要があります。

一方でPCM5102aでは、ラズパイからDACチップに入力されるI2S信号のうちのLRCKを逓倍(ていばい)することでMCK(マスタークロック)を生成することが出来ます。

これにより、水晶発振器及びその周辺部品を減らし、設計を簡易化することができます。

勿論、外部から高精度クロックを入力し、それをマスタークロックとして利用することも可能です。

出力カップリングコンデンサが不要

PCM5102aには、チャージポンプ型のDC-DCコンバータを内蔵し、負電圧を生成することが出来ます。これにより、通常では出力の直流成分をカップリングコンデンサを用いてカットする必要がありますが、PCM5102aにおいてはDC結合でLPFを構成するだけで出力を得られます。

ブレッドボードで試作

結線する

結線はPCM5102aのデータシート通りの回路図に合わせて行っていきます。今回は簡単な動作テストということで、ラズパイ内部で生成される3.3V出力(これについては後述)をそのままDAC電源としました。

最初に起こした回路図が見つからなく、急遽適当に起こしたので、見にくさはご愛嬌ということで…(汗)

仮組みの様子

はい、ブレッドボード上の結線で、ちゃんと音が鳴ることが確認できました。隣に写っている基板は、ラズパイマガジンに付属してきたDACボードです。これを見て自作できそう!と思って作り始めたのです。

これが2019年11月のこと….自作基板に起こすまで一年半近くかかっちゃいました。(現在2021年5月)

ありえん悪いラズパイの3.3V出力

ラズパイ本体内部では、USBから給電される5Vを3.3Vに降圧するためのDC-DCコンバータが内蔵されています。このDC-DCコンバータが曲者で、凄まじいスイッチングノイズを発しています。

ラズパイは5000円で色々な機能を持たせなければならない要求仕様なので、こういった点でコストダウンが図られているのでしょうね。

そんなこんなで、ラズパイ本体で生成される3.3VをDACの駆動に使用すると、やはり聞くに堪えない雑音が混じります。レギュレーターを使い、別途で5Vを降圧すべきですね。

ラズパイDACのススメ

RaspberryPiにDACを接続し、音楽を聴いてみるというのは存外楽しいものです。高級機種にこだわる本気のオーディオマニアはどうかは分かりませんが、電子工作としてのオーディオを楽しむ人達にとっては十分遊べるものだと思います。

市販品のモジュール

PCM5102aは、その単価の低さや周辺設計の容易さから市販品のモジュールがいくつか販売されています。

私自身、ラズパイマガジンの付属基板からここまで遊び倒しているので、こういった安い市販品のモジュールに手を付けてみるのも良いと思います。

参考文献

一応、自分が参考にした雑誌のリンクを置いておきます。