コンデンサ・パニック(前編)   

2003年9月24日




☆HDD吹っ飛ぶ!   
秋も深まり、たるさんの部屋には籾殻を焼く香ばしい薫りが田んぼから 漂ってくる。あぁ、どイナカの秋だ。 (いくら寮費が安いからといって、こんなイナカ暮らし、もうイヤすぎ。)

なんて感傷を吹っ飛ばす出来事があった。 たるさんは今メインマシンの再構築で忙しい。 メインマシンのHDDが吹っ飛んだためである。

このHDD、不治痛製の例の大クレーム品だったのだが、クレーム1) がわかった時点で他のHDDに内容を移植して交換すればよかったのに めんどくさがってそのまま使っていたのだ。 「ずぼら」のつけは後で必ず本人に返ってくるといういい例だ。

ただ、故障モードが例のエレクトロ・マイグレーションかどうかは怪しい。 故障2日前ほどから、リトライがあからさまに増えてきたので、 メールやデジカメ写真といった重要ファイルをCD-RやMOに退避させておいた。 その後、「カッコ〜ン、カッコ〜ン」という破滅の音が... つまり俗に言う「こびとさんのテニス」という 現象2)が発生し、ついにアクセス不能となった。

この「こびとさんのテニス」であるが、これはディスクの破損によるケースが多く、 エレクトロ・マイグレーションの破壊モードとは異なる場合が多い。 マイグレーションでは「こびとさんのテニス」になる前に、 いきなりHDDが認識不能になるらしい。 つまり、回路の故障かディスクの破損かが違うのである。

ともあれ、40GB-HDDの内容を再構築するのは結構手間だ。 やっぱ、バックアップはこまめにやっておかないとダメだね〜。 それにATOKのユーザー辞書を退避し忘れたので、せっかく苦労して教育した辞書が おバカになってしまった。さしものATOKも初期設定辞書のみでは誤変換が多い。 トホホ。

今回はリトライの増加という前兆現象があったから重要ファイルを退避できたけど、 いきなりだったらと思うとホントぞっとする。 我ながら深く反省〜。(Webの更新が遅くなったのもこのせい。)

こんなずぼらな奴はたるさんだけと思うけど、 皆様もお気を付けください。(念のため。)

☆コンデンサ追加計画再び   
というわけで、ようやくマシンの再構築も終わったので本題に入ろう。 今回は懲りずにマザーへのコンデンサ追加問題を取り上げたい。 いや、成果は全く出ていないのであるが...

前回 取り付けたチップコンデンサは22μFであった。 これがHD-Benchに対して効果が無かったため原因を追及していたのだが、 その過程でおもしろいことに気づいたので報告しよう。

さて、CPUに対するコンデンサの効果だが、今まではたるさん的直感で スペアナデータから追加コンデンサを決定していた。 しかし、そもそもコンデンサの容量とはどうやって決めるべきなのであろうか?  この点については前回のチャレンジにおいて、 「もう少し容量の小さいコンデンサを使用すべきではないのだろうか?」 という内容のメールをいただいている。 この点についてもう少し考えてみよう。

コンデンサの目的は「ノイズの低減」と「電圧安定」の2つである。 この場合、要求される性能は両者で微妙に異なる。 (意外な事に、結構ハイレベルな教科書でも両者を混同している例が見られる。)

まず、「ノイズの低減」の場合を考えてみよう。 この場合の重要な点は下記の通りだ。

この場合、コンデンサはノイズを吸収できることが重要である。 だから、電源ラインに取り付ける場合は電源ラインのインピーダンス にマッチしている事が重要である。

一見するとコンデンサで電源ラインのインピーダンスを下げる事が 重要に思われるかもしれないがそれは違う。 電源ラインのインピーダンスがノイズ周波数成分の周波数領域で高かった場合、 極端に低インピーダンスのコンデンサを取り付けると、コンデンサ部分で インピーダンスミスマッチが発生してノイズ成分の反射が発生してしまう からである。

反射されたノイズは当然アースに落ちないので、 どこかへ帰っていって悪さをするわけだ。

だから、ノイズ取り用のコンデンサの場合、わざとESRの高いコンデンサを用意して ミスマッチを防ぐ事で効率的にノイズを吸収する素子がある位である。

また、モーターのようなノイズバリバリの製品は別として、ノイズのパワーは それほどきつくない場合が多いので、大容量のコンデンサを取り付ける必要は ない場合が多い。多くの教科書で電子回路のパスコンが0.1μFに固定されているのは このためである。

では、「電圧安定」が目的の場合ではどうだろうか?

比べてみると、両者が似て非なるものである事がわかる。 「ノイズを吸収する事」と「電圧安定(=電力供給)」は 特にインピーダンスと容量の点で要求性能が異なっている。

「電圧安定」の場合はインピーダンスマッチングを考えるのはナンセンス である。コンデンサのインピーダンスは低ければ低いほどいいのだ。

なぜだろうか? これはコンデンサを一種の電池と考えればよくわかる。

この場合のコンデンサは電源の過渡応答特性を改善するための 「高周波対応ミニ電池」である。 インピーダンスマッチングのためには電源ラインのインピーダンスにマッチした ESRを持つことがマッチングの条件だが、電池と考えた場合はこれは 内部抵抗が増大したことに当たる。

しかし、内部抵抗の大きい電池は電力供給能力が低くなることは 誰でもおわかりだろう。 すなわち、「電圧安定用」のコンデンサと考えた場合は ESRは低ければ低いほど良いのだ。

また、容量もしかりである。 確かに高周波特性も重要だが、その「高周波対応ミニ電池」に 必要な電力を供給するだけの容量がなければ、CPUの電力不足は解消しない。 つまり、ノイズ取り用のコンデンサと異なり「電圧安定用」コンデンサの 容量は大きければ大きいほど良いのである。

以前の実験で追加した 22μFチップコンの自己共振周波数が約10MHzというのは 抑制したい電圧変動の周波数成分に対して低すぎるというのは確かだ。 だが、かといって0.1μFで電力補給が間に合うのであろうか?  このような疑問があって、悩みつつ容量を22μFとした訳である。

☆一見するとコンデンサ容量を増やす必要は無いように見えるが...   
では、ここでちょっとまじめに必要容量と個数の概算を見積もってみよう。 問題は電源電圧変動のどの周波数成分をターゲットにするかである。 (ここでは、おバカなWebサイトにしては珍しく数式がたくさん出てくる。 すんませんがおつきあいください。)

コンデンサに蓄えられるエネルギーは容量をC、電圧をV、 蓄えられるエネルギーをEとして下記の式で表される。

E=CV/2

また、電力PはエネルギーEに対して下記の式で表される。

E=P・t=P/f ただし、t:時間、f:周波数 とする。

ここから、TDPがPのCPUがクロック1回で消費する電力は P/fである事がわかる。

従って、電源電圧VのCPUが1クロック毎に消費する電力を コンデンサだけで満たそうとすると必要容量は下記の通りになる。

P/f=C・V/2 だから、これをCについて整理して... C=2P/(f・V)

ところで、CPUの消費電力(PCPUとする。)は 漏れ電流を無視すれば総ゲート容量をCgとして下記の式で表される。

CPU=Cg・V・f/2

これを先の式に代入すると  C=2(Cg・Vf/2)/f・V=Cg  となる。

これはコンデンサの保持電力をすべてCPUに供給した場合だが、 実際には充電済みのコンデンサと空のコンデンサの並列接続を考えればいいから、 電圧安定度95%と仮定して必要容量は下記の通りになる。 (電源ユニットは周波数特性が悪すぎてCPUに直接電力を供給する能力はかなり小さい。 実は電源ユニットはコンデンサの充電器であって、 CPUに電力を供給しているのは事実上はコンデンサである。)

C=0.95/(1-0.95)・Cg=19Cg

つまり、かなり大雑把な計算だが、電圧変動を5%に抑えたかったら CPUの総ゲート容量の19倍の容量を取り付ければいいわけだ。

CPUの消費電力が増えるとコンデンサをたくさん取り付ける必要があるように思える。 しかし、それはスイッチング電源側の要請3)であって、 CPU側から見た場合は意外なほど必要容量は増えない計算だ。 最近のCPU消費電力は確かに増えているが、クロック周波数も高くなるから 1クロック分で考えれば意外に消費電力が増えないからだ。

☆コンデンサ・パニック   
ここから、一見するとコンデンサの総容量はCPUの消費電力にかかわらず 「電源電圧をどれくらい安定にしたいか?」だけで決まる様に見える。

が、しかしだ...ここから、たるさんのホラ話風タコ計算に突入する。 マユに唾を付けて読んでいただきたい。

では、次に使用するコンデンサの最大容量について考えてみよう。

コンデンサのインピーダンスは自己共振周波数で最も低くなる。 つまり、最高の性能を得るためには「自己共振周波数=クロック周波数」 であれば良い事になる。

自己共振周波数はコンデンサ単体の容量C単体と コンデンサのESLから下記の通り求められる。

fSRF=1/(2π・(C単体・ESL)0.5)   ただし、fSRFは自己共振周波数だ。

従って、取り付けるコンデンサの最大容量は上式をC単体 についてまとめて、下記の通りになる。

単体=1/(4π・fSRF・ESL)

ここから、いったい何個のコンデンサを取り付ければいいか計算してみよう。

取り付け個数をX個とすると下記の通り求められる。

X=C/C単体=19Cg/C単体=76πCg・fSRF・ESL

さて、いかがだろうか?  この式であるが、Cgがミクロンルールに従って大きくなること (ゲート絶縁膜の膜厚が薄くなるから...)および、 fSRF=クロック周波数がベストと仮定したことから、 とんでもない結論が導き出された。

ここでは「自己共振周波数=クロック周波数」と設定しているから、 この式はクロック周波数をfCLOCKとすれば、下記の通りに書き換えられる。

X=76πCg・fCLOCK・ESL

つまり、コンデンサの搭載個数はクロック周波数の2乗に比例し総ゲート容量に 比例して増えるのである。(自分で計算しておいて何だけど、最初はなんだか 狐に化かされている気分だった。)

これに対し、削減要因はコンデンサメーカーのESL改善だけである。 しかも削減量に単に比例するだけだから、 動作周波数の2乗+αで増えるパラメータに打ち勝つのは難しい。

マザーに必要なコンデンサ搭載量がクロック周波数上限の2乗+αで増えるとしたら、 ただでさえコンデンサばかりの最新マザーが、今後コンデンサだらけになって 搭載場所に困る様になるのは時間の問題だろう。 (容量を増やして個数を減らすという方法が使えないことに注目!)

これを仮にコンデンサ・パニックと呼ぶことにしよう。

☆コンデンサのパラ接続は効くか?   
このコンデンサ・パニックであるが、搭載個数の数的爆発は総容量が増えるため 発生するのではない。自己共振周波数を上げるため搭載コンデンサの容量を 減らさなければならないため発生するのがメインだ。ここがミソだ。

こんな時の対策は回路技術の技に頼るのが常道だ。 ESLの小さいコンデンサは容量も小さいからコンデンサ・パニックになるのである。 では、回路の工夫でこれを回避することを考えてみよう。

回路の工夫でよく見られるのが大小容量のコンデンサの並列接続である。 特に電解コンデンサの高周波特性改善のため、電解コンデンサに小容量の セラミックコンデンサを並列接続することはよく行われている。 この方法でコンデンサの搭載個数を減らせないだろうか?

次の図を見ていただこう。 これは330pF、3300pF、0.68μFのチップコンデンサにおける自己共振の様子である。 (このような測定は本来ネットワークアナライザで行うべきであるが、 さすがにネットアナは手に入らないので、 例によって借り物のスペアナ+トラジェネで測定。)

330pFチップコンの自己共振
Center:250MHz Span:500MHz 10dBm/div
3300pFチップコンの自己共振
Center:250MHz Span:500MHz 10dBm/div
0.68μFチップコンの自己共振
Center:250MHz Span:500MHz 10dBm/div

330pFのチップコンだけでパスコンを構成すれば自己共振点は高くなる。 しかし、容量が小さいので必要なエネルギーを確保するためには 莫大な個数を搭載しなければならない。

では、電解コンデンサに小容量のセラミックコンデンサを並列接続するのと 同じやり方で3300pFや0.68μFと組み合わせてみよう。 まずは330pFと0.68μFを組み合わせた場合。

330pFと0.68μFの並列接続
Center:250MHz Span:500MHz 10dBm/div
二つのコンデンサを離して設置
330pFと0.68μFの並列接続
Center:250MHz Span:500MHz 10dBm/div
二つのコンデンサを並べて設置

この場合、二つのチップコンの搭載方法の違いによって特性に大きな違いが出た。

まず、二つのコンデンサをはなして搭載した場合。

本来なら330pFと0.68μFの図を重ね合わせていいとこだけ切り出したような、 「いいとこ取り」のグラフが再現されるはずだったのだ。しかし...

たしかに高周波側の特性は330pFの特性を受け継いでいる。 高い周波数でのインピーダンスの低減は大きい。 左図赤丸の部分が大きくディップしている事が 高周波での素性の良さを表している。

しかし、左図の白丸を見てほしい。 どちらのコンデンサにもない特徴的な反共振が生じている。 これが、二つの自己共振点の中間周波数での特性を 台無しにしてしまっているのである。

それではと、二つのコンデンサをすぐ近くに並べて配置するとどうなるか...

今度は反共振の影響は少ない。右図白丸の点は本来のカーブからそれほど 大きく上側に飛び出している訳ではない。しかし...

今度は、高周波側の特性がボロボロなのだ。330pFのディップが 思ったほど下がらず、せっかく330pFを並列接続した効果が出ていない。 二つの図を比べてみると、高周波側の特性(右図赤丸)が 左図に比べて高止まりしている様子がよくわかるだろう。

つまり、低周波においてはよく効く電解コンデンサとセラミックコンデンサの 並列接続というテクニックも、このような高周波領域で 2個のチップコンを使用する場合には通用しないのだ。

☆山高ければ谷深し。   
これは、別に330pFと0.68μFに限ったことではない。 下記に330pFと3300pFを組み合わせた場合について同様の実験を行ったので 見ていただこう。

330pFと3300pFの並列接続
Center:250MHz Span:500MHz 10dBm/div
二つのコンデンサを離して設置
330pFと3300pFの並列接続
Center:250MHz Span:500MHz 10dBm/div
二つのコンデンサを並べて設置

この条件でも同様な傾向が見られる。 単なる計測ミスではないのだ。

つまり、容量の違う二つのコンデンサを並列接続すると二つの自己共振点の 中間の周波数で反共振が発生して特性が劣化し、その反共振を抑制するため コンデンサの配置を最適化すると今度は肝心の高周波特性が劣化してしまう のである。

二つのコンデンサを並列接続する場合、二つの自己共振点と新たに発生する反共振点は 「山高ければ谷深し」の関係にあり、すべての周波数をフラットに 減衰させる接続方法は無いのだ。

いや、一つだけあった。それは以前「たるさんの指摘に対する見事な回答」として 紹介したプロードライザTM である。この素子はたるさんの推測ではOSコンで作った貫通コンデンサとも言うべき 構造らしく、高容量にも関わらず周波数特性がフラットである。

上に示したとおり、大小の容量のコンデンサを組み合わせても周波数特性を フラットにできない事からも、 プロードライザのインピーダンス特性がいかに素性が良いかがよくわかる。 Webにアップされているプロードライザの特性はすばらしすぎて ちょっと疑いのまなざしを向けてしまう位だが、もしメーカーのデータが 真実なら、たるさんがこの素子を絶賛する理由がこれでおわかりいただけただろう。

こいつを使えば問題は万事解決か!と思うのだが...なんせ最新型故に 秋葉原では入手できないのが残念だ。

さて、次回はこれらの方法からもう一度クロックアップに挑戦してみた結果を示そう。 ただし...相変わらず死屍累々である。 (まぁ、技術的におもしろい結果が出たので許して。)



1)
パッケージ用樹脂の不燃化処理に使われていた赤リンが湿気によって 活性化し銀のエレクトロ・マイグレーションを引き起こし、 これにより電極がショートするという大クレーム。

表面活性は表面状態で大きく変わるため、「赤リン=不活」という判断は、 化学を専門とするたるさんからみればプロらしからぬミスと言えるだろう。 バルクでは不活性の物質でも、比表面積が大きくなると活性になる例は多いからだ。

今でもその後遺症に悩む半導体信頼性の専門家は多い。 汎用の半導体用樹脂なのでどこに使われているかトレースが難しく、 信頼性の保証ができなくなってしまうからだ。

2)
誰が名付けたか知らないが言い得て妙だ。

3)
最低でもスイッチング周波数1クロック分の消費電力を電源ユニットのコンデンサで 保持しなければならないから、消費電力が増えると (スイッチング周波数が変わらなければ)必要コンデンサ容量も増える事になる。