11
15
2015
Raspberry Pi 2 の電源廻りのノイズを探ってみた
Raspberry Pi 2 の電源廻りのノイズを簡単に調べてみた
Raspberry Pi 2 に関しては、これまでネットワークオーディオプレイヤーとして活用する方法について述べてきたが、ここでちょっとお遊びを兼ねてRaspberry Piの電源廻りを弄ってみたのでその模様を紹介しておく.先月からこのブログのホストサーバをさくらのVPS環境に移したので、ついでに Google Analytics のコードを仕込んで、Google Analyticsでこのブログサイトがどのような人達に感心が持たれ、どのような記事にアクセスが多いのかリアルタイムに把握できるようにした.
まだ、3週間程度しかデータが溜まっていないが、Raspberry Pi関連の記事にアクセスが多いようなので、オーディオプレイヤーとして活用する場合に、とても気になるであろうRaspberry Piのノイズ特性について簡単に調べてみることにした.ノイズをきちんと定量化して測定するには高価なスペクトラムアナライザや専用の測定器、電波暗室などの設備が必要になるが、当然ながらそんなリッチな設備は持ち合わせていないので、単純なオシロスコープによる低周波領域でのいい加減な観察結果であるが、それでもある程度の指標にはなるだろう.
さて、肝心のRaspberry Pi のノイズについてであるが、ノイズの発生源となる要因は山ほどあるので、ここでは主に電源廻りのノイズについて調べてみた.とは言っても私が持っているRaspberry Piは最新のRaspberry Pi 2のみなので、初期のRaspberry Piについては今回の記事と同じようなノイズ特性を有しているかどうかは不明だ.
Raspberry Pi 2はARM V7アーキテクチャのCPUコアを4つ持ち、900MHzというこれまでのRaspberry Piモデルを遥かに凌ぐ性能を有していることは皆さんご存じの事と思うが、残念ながら性能アップとトレードオフするようにノイズ環境は悪化している筈だ.(昔のRaspberry Piモデルを持っていないので、あくまでも私の推測)
現行のRaspberry Pi 2の一モデル前のRaspberry Pi B+ というモデルからGPIOピンコネクタが40pin仕様に変更されると共に、Raspberry Pi内部で使用する電源環境が、これまでのシリーズレギュレータ方式からスイッチングレギュレータ方式に変更になっている.Raspberry Piの性能アップに伴い、電源廻りの効率化と、必要な電源リソースの関係でスイッチングレギュレータ方式を導入せざる負えなくなる事は必然的とは言え、オーディオプレイヤー用途としてはできれば昔のシリーズレギュレータ方式を踏襲して欲しかった.
尤も、シリーズレギュレータ方式のままだったとしても、一般的なスイッチングレギュレータ方式のACアダプタやPCなどのUSB電源を使っていれば最初からノイズまみれなので、シリーズレギュレータもへったくれもないとは思うが...
前置きが長くなってしまったが、先ずはRaspberry Pi 2の電源廻りがどのようになっているのか調べてみることにする.最初にやって見たことは、電源トランス方式のローノイズレギュレータによる電源装置からDC+5Vを供給し、Raspberry Pi 2単体で電源ラインにどのようなノイズが発生しているのか調べてみた.
外部電源装置から+5V(赤線)を供給し、+3.3V出力端子(1番ピン)にオシロスコープのプローブを繋ぐ
+3.3V出力端子(1番ピン)のノイズ波形(Disk I/O が無い状態)
Disk I/O が発生すると+3.3V出力端子には多量のノイズが発生する
OSをシャットダウンさせた状態(電源はONのまま)での+3.3V系電源のノイズ
この結果から判るように、Raspberry Pi 2 の内部のスイッチングレギュレータで作り出される+3.3V系の電源は、常にノイズが乗っており、Disk I/O などが発生するとノイズの量が増える事からも、+3.3V系の電源はHi-Fiオーディオ用の電源としてはとても使いものにならないだろう.OSがシャットダウンした状態でCPU廻りのクロックがどのよう状態なのか分からないが、このノイズ成分はほぼスイッチングレギュレータのノイズと見なして良いかもしれない.この結果を見る限り、+3.3V系の電源ノイズの成分はRaspberry Pi 2 のクロックなどで発生する方が多いのかもしれない.
内蔵のスイッチングレギュレータを取り外してシリーズレギュレータから+3.3V/+1.8Vを供給する方式に改造する
先の結果から+3.3V系の電源ノイズの大部分はRaspberry Pi 2 のCPUや周辺チップ内部で発生するノイズらしいという事が確かめられたが、影響が小さいとは言え、スイッチングレギュレータが内部で動いているのはやはり気持ちが悪いというか、できればノイズ源は極力減らしたい所だ.ほんの気休め程度にしかならないが、Raspberry Pi 2の電源廻りを改造して、+3.3V/+1.8Vの電源ラインをシリーズレギュレータ方式の電源供給に変更することにした.
先ずRaspberry Pi 2の電源廻りがどうなっているのか確かめておく.Raspberry Pi 2の電源廻りの主要回路は+5V供給用の Micro USB端子付近に配置されているので、+5Vから+3.3Vと+1.8Vを作り出しているスイッチングレギュレータICとその周辺回路の構成を入念にチェックしておく.Raspberry Pi 2の一世代前のRaspberry Pi B+の電源廻りも若干部品の配置が異なるだけで、殆ど同じような構成なのでRaspberry Pi B+でも同じだ.
電源部分の主要パーツであるスイッチングレギュレータICとL1,L2の位置関係と役割を確認する
Micro USB端子の先にある12本足の黒いパッケージがスイッチングレギュレータICで、”4R7″と刻印されている2つのインダクター(L1,L2)がスイッチングレギュレータによって作り出された+3.3V(L1)と+1.8V(L2)の電源に含まれるパルス状のノイズを低減させるための物だ.ICチップ側につながっている側の端子が入力側で、C1とC8のチップコンデンサによって簡単なLC平滑フィルターが構成されている.この程度の簡単なLC回路によるフィルターしか用いていないので、生成されるDC電源の質については言うまでもないだろうが、先の観察結果からこのスイッチングレギュレータIC(メーカや型番は不明)は小さな割には結構性能が良いようだ.USB端子の先にある”D5″と記された黒くて四角いチップは+DC5V電源保護用のダイオードだ.”D5″側の端子に+5Vが供給されるので、貧弱なMicroUSBコネクタを電源供給に使いたくない場合は、ここに+5V電源ラインを直接繋ぐか、GPIO端子の#2,#4番ピンを通じて供給すれば良いだろう.
今回の改造では、インダクタL1,L2とスイッチングレギュレータICを基板から取り除く事が最大の難関で、表面実装された部品を取り外すのはちょっとしたテクニックが必要だ.具体的な取り外しの手法については、Google先生に「表面実装部品取り外し」というようなキーワードで聞いて見るのが良いだろう.手先の不器用な人はこの作業は向いていないので、廻りに表面実装部品の取り外しに慣れた人が居ればその人に頼んでやって貰うのが賢明だ.今回は取り除く部品は再活用すること無く捨ててしまっても良いので、ニッパなどで部品を破壊しても良いが、周辺の部品や基板の配線を壊してしまう可能性が高いので、くれぐれも慎重に.
先ずはL1,L2を取り外す
スイッチングレギュレータICも取り外しておく
必要に応じて+5V(赤),+3.3V(貴),+1.8V(薄紫)供給用の電源コードを取り外したランドに直接半田付けする
上記の写真では+5Vと+3.3Vのラインを半田付けしてあるが、GPIO端子の#2,#4ピンと#1番ピンとは半田付けした箇所と基板内のラインでつながっているので、GPIO端子側から電源を供給しても良いだろう.ただし、安定した電源を供給したい場合は少し太めの線で取り外したランドに直接半田付けする方法を推奨する.+1.8V系の電源はGPIO端子には出てこないので、+1.8V系の電源は取り外したランドを利用する必要がある.
実際に確かめてはいないが、+5Vに関してはRaspberry Pi 2 の内部では使っていないかもしれない.+5Vが使われているのは単にUSB系ラインの供給電圧の+5Vに合わせるためだけの仕様で、実際に内部で使っているのは+3.3V/+1.8だけかもしれない.USBポートが4つ付いているのでこのポートの電源供給用としてやはり+5V供給は必須かな?
【追記】後日実験で+5Vを供給しないとどうなるか試してみたところ、OSが起動しなかったので電源としてはやはり+5V, +3.3V, +1.8Vの3系統用意しないといけないようだ.簡易な方法で良ければ、+5Vの単一電源から3端子レギュレータを使って+3.3Vと+1.8Vを作り出すのが手っ取り早いだろう.電位差が少ないので、低損失(低電圧ドロップ型)のレギュレータICが必要だ.
Raspberry Pi 2 のノイズについてもう少し探ってみた
折角Raspberry Pi 2の電源廻りを改造したので、Raspberry Pi 2の電源廻りのノイズについてもう少し探って見ようと思う.本番環境と同じ状態で、Raspberry Pi 2 を起動(OSは Volumio 1.55)した状態やシャットダウン状態、イーサネット接続(有線)、HDMI接続の有無などで、+5V端子や内蔵電源装置から供給される+3.3V端子の電源ノイズの様子をオシロスコープで観察してみることにした.
先ずは自作DACシステムの電源をOFFにした状態で、Ethernet(RJ-45)、HDMI端子を切り離した状態での+5V(上)+3.3V(下)ラインのノイズの様子を観察して見る.当然ながらこの状態で観察されるノイズは電源ラインや空中線などからの電磁のノイズ成分が主体だ.素の状態でどの程度ノイズが乗っているのかを確かめるためのものだ.
自作DACシステムの電源をOFFにした状態での+5V(上)+3.3V(下)ラインのノイズ
次に、電源OFFの状態のままEthernet(RJ-45)端子を接続してみる.勿論、Ethernet接続によるネットワーク系から流入するノイズの様子を観察することが目的だ.
Ethernet(RJ-45)を接続しただけでもノイズが加わる事が確認できる
同じく、電源OFFの状態のままでHDMI接続を行ってみる.HDMI端子の接続先は4ポートのHDMI切り替え器がつながっており、その先に27inchのDELLの4Kディスプレイが電源ONの状態で接続されている.
HDMI端子を接続すると一気にノイズが増える
さて、ここからは実際にRaspberry Pi 2 + Volumio 1.55 の組み合わせで稼働させている状態でのノイズの様子を観察してみることにする.先ずはVolumio 1.55のLinuxがシャットダウンされた状態(Raspberry Pi 2自体の電源はONの状態)でのノイズを観察してみた.
Volumioがシャットダウンされた状態でのノイズ
次に、Volumioを起動させ暫く放置した状態で、曲の再生や何らかの操作を何も行っていない状態で、VolumioのOSがほぼアイドリング状態の時のノイズの様子を観察してみる.同様にローカルファイルから曲を再生させてDisk I/O が頻繁に発生している状態と、ネットワークラジオを再生してネットワークの負荷を掛けた場合のノイズの様子も観察してみる.
Volumioがほぼアイドリング状態にあるときのノイズの様子
頻繁にDisk I/Oが発生している状態でのノイズの様子
ネットワークラジオを再生しているときのノイズの様子
とても簡易なノイズの観察結果なので、この結果だけで電源廻りのノイズが音質に悪影響を及ぼすと断言する事はできないが、少なくともRaspberry Pi 2 の内部で使われている+3.3V系の電源を、DACなどのHi-Fiオーディオ回路用の電源として共用することはとんでもない愚行であることが分かるだろう.勿論回路の工夫などでノイズの影響を減らす事は可能だが、ノイズの発生源であるコンピュータシステムを用いてHi-Fiオーディオシステムを構成する場合は、常にノイズとの格闘になる事には変わりないだろう.
少なくとも、Raspberry Pi によるオーディオプレイヤーシステムにDACモジュールを直接繋ぐ場合には、Raspberry Pi側とDAC側をデジタルアイソレータなどにより、電源ラインと信号ラインを電気的に完全に絶縁するのがノイズの影響を少なくする一番手っ取り早い方法だろう.