デジタル電源用ソフト開発ツール、生物から知見を得てバグをゼロに【前編】

 アナログ制御が当たり前だった電源ユニットに、マイコンやDSPを使ったデジタル制御の適用が広まりつつある。デジタル制御を採用すれば、さまざまなメリットを享受できるからだ。例えば、電源電圧の動的な変更や、電源の監視/管理、最適な安全対策などを容易に実現可能になる。

 しかし、デメリットも複数ある。その1つは、マイコンやDSPに載せる制御プログラムを記述する必要があることだ。通常、電源を設計するエンジニアはアナログ技術には長けているが、デジタル技術については習熟度が高いとは言い難い。最適な制御プログラムを開発できなければ、デジタル制御電源のメリットを十分に引き出せない。そればかりか、バグに頭を悩まされることになる。

 そこで、太陽光発電システムや燃料電池システムなどに向けた系統連系インバータ装置の開発を手掛けるウインズ(静岡県沼津市)は、アナログ・エンジニアでも比較的簡単に制御プログラムを記述でき、しかもバグの発生を最小限に抑えられるソフトウエア開発ツール「カプセルワークス(CapsuleWorks)」を開発した。

 本稿では、開発を担当した技術者に、ツールのコンセプトや、デジタル制御電源の設計方法などについて解説してもらう。(EE Times Japan)

デジタル制御方式を採用したDC-DCコンバータの開発ボードの例である。

 「これほどまで急激なCO2(二酸化炭素)の増加は、ここ数億年の地球の歴史で経験したことがない」、「地球は今、ものすごい速度で恐竜時代のCO2濃度へと戻りつつある」。地質学者たちは、現在の地球環境に対して、こうした警鐘を鳴らしている。人類がかつて経験したことがないほどの危機が迫っているようだ。

 地球温暖化の原因の1つに、エネルギ消費量の急増が挙げられる。実際にエレクトロニクス業界でも、コンピュータ・サーバーやストレージ装置、ネットワーク装置などの電子機器の消費電力が増加の一途をたどっており、データ・センターを設置するビルディングに供給可能な最大電力量を、それらの電子機器の総消費電力が上回る事態が起こり始めている。2015年には、コンピュータ・サーバーを動作させる電力コストが、その購入コストを上回るという予測があるほどだ。

 エレクトロニクス業界では、地球の温暖化を食い止めるために、電子機器それぞれの消費電力を削減することが急務になっている。実際に、電子機器メーカーはこぞって、「低消費電力」をうたう製品を市場に投入している。ただし、こうした製品はあくまで、電子機器単体の消費電力を削減しているにすぎない。複数の電子機器で構成されたシステムとして、消費電力の削減に取り組んでいるわけではない。

電源技術が鍵を握る

 複数の電子機器を1つのシステムとしてとらえて低消費電力化に取り組めば、これまで以上の削減効果が得られる可能性がある。

 具体的な例を2つ挙げよう。1つは、ビルディングや一般住宅、工場などの照明システムである。さまざまなセンサー装置を組み合わせることで、誰もいない部屋や場所の照明機器を自動的に消灯したり、太陽光が差し込む昼間の窓際に設置した照明機器の明るさを抑えたりすることが可能なる。

 もう1つは、電子機器の内部である。役割ごとに、いくつかのサブユニットに分割し、それぞれに通信機能を搭載しておく。そして、電子機器がユーザーに使われている状況を、各サブユニットの通信機能を利用して把握し、それぞれのサブユニットに供給する電力量を最適化する方法である。サブユニットを動作させる必要がない場合は、電力の供給を止めてしまう。いずれの例も、電子機器単体の低消費電力化をはるかに上回る削減効果が得られる。

 システムとしての低消費電力化は、「ユーザーの使い方を考慮した低消費電力化」と言い換えることができる。従って、ユーザーの使い方を研究調査することで、上記の2つの例だけでなく、さまざまなシステムに適用できる。私たちの身近なところに、低消費電力化のヒントが隠されているといえるだろう。

 実現の鍵を握っているのは、電力(エネルギ)を供給するユニット、すなわち電源ユニットである。電力(エネルギ)を自在に制御できる知性を電源ユニットに与えることができれば、システムとしての低消費電力化を容易に実現できる。実現技術としては、デジタル制御電源技術がある。この技術は、負荷に供給する電力(エネルギ)の制御に、現在の主流であるアナログ制御方式ではなく、デジタル制御方式を適用したものだ。さらに通信機能として、PMBus(Power Management Bus)やRS-232Cなどのデジタル・インターフェースを搭載する。こうした技術を適用した電源ユニットを「フル・デジタル制御電源」と呼ぶ場合もある。

DSPの価格対性能比が向上

 デジタル制御電源の実用化は、すでに始まっている。決して新しい技術ではない。

 例えば、携帯電話の基地局に設置するインフラ装置の電源ユニットには、すでに採用されている。デジタル・インターフェースを備えており、ほかのサブユニット(機能ブロック)から情報を受け取って、そのサブユニットに供給する電圧を所望の値に調整する作業などを実行する。これによって、消費電力を削減したり、発熱量を抑えたりすることができる。さらに、電源ユニットの内部に何らかの異常が発生した場合、デジタル・インターフェースを介して状況を把握し、遠隔地にある局舎などに状況を通知することが可能だ。携帯電話の基地局は、基本的には無人である。このため、遠隔地にある局舎で、電源ユニットの状態を把握できれば、メンテナンス作業に費やす労力を大幅に削減できる。

 デジタル制御電源を採用すれば、発熱/消費電力の削減や、メンテナンス作業の簡略化など、さまざまなメリットを享受できる。しかし現在、上記の用途のように比較的規模の大きい電源ユニット以外には、あまり普及していない。理由は、心臓部に相当するDSP(Digital Signal Processor)チップが高価だったことにある。通信システムのインフラ装置であれば、比較的多くのコストを電源ユニットに掛けられる。このため、普及がいち早く進んだわけだ。しかし、民生機器やコンピュータ機器などでは、電源ユニットに掛けられるコストが少ない。従って、デジタル制御方式を採用すれば低消費電力化を実現できる可能性があるものの、安価に構成できるアナログ制御方式を使い続けているのが実情である。

 ただし、ここにきて状況が変化しつつある。デジタル制御電源に向けたDSPチップの価格対性能比が急速に高まっているのだ。一般に、デジタル制御電源に向けたDSPチップは、以下の3つの性能を満足する必要がある。スイッチング周波数が200kHz(周期は5μs)のDC-DCコンバータを例に考察した。

(1)高速で高精度なA-D変換器を備えていること
5μsの周期のうち、A-D変換の作業に割り当てられる時間はその10%に相当する500ns程度しかない。つまり、A-D変換器のサンプリング速度は2Mサンプル/秒以上が必要になる。精度については、電圧値を0.1%以下で制御することが求められるため、分解能は10ビットでは不十分である。12ビットが必要になる。

(2)高速な演算性能を備えていること
5μsの周期のうち演算に割り当てられる時間は、50~60%に相当する2.5μ~3.0μsである。ここでデジタル制御プログラムをC++言語を使って、30~50行の行数で記述したと仮定しよう。この場合、機械語(アセンブリ言語)では、100~150命令に相当する。命令の種類によっては1命令当たり2ステップ(クロック)を費やすものがあるため、これらの処理には、200~300ステップが必要になる。従って、演算性能が100MIPSあれば1ステップを10nsで処理できるため、2.5μ~3.0μsの時間内で演算が完了することになり、条件を満たせる。

(3)分解能が高いPWM(Pulse Width Modulation)信号を出力できること
PWM信号の分解能が低いと、出力電圧の精度が劣化するだけでなく、制御の安定度が低下する。十分な出力電圧精度を確保するには、周期の1/1000程度の分解能が必須である。従って、周期が5μsの場合は最大5nsの分解能が必要になる。

 例えば、米Texas Instruments(TI)社の32ビットDSPチップ「TMS320F280xシリーズ」は、この3つの要求を十分に満足している。A-D変換器の分解能は12ビットで、変換時間は最大160ns、演算性能は100MIPS、PWM信号発生器の最小分解能は150psである。しかも比較的安価である。出力電力が100W程度の電源ユニットを搭載する民生機器やコンピュータなどにも採用できる価格帯だといえるだろう。

普及を阻む最後の壁

 デジタル制御電源を利用して電子機器の低消費電力化に取り組む上で、ハードウエアの構成要素はそろった。ただしデジタル制御電源は、ハードウエアだけでは実現できない。当然のことだが、電源回路を制御する組み込みソフトウエアが必要になる。これがデジタル制御電源を普及させる上で最後の壁となっている。

 すでに、携帯電話機やテレビ受像機といったさまざまな電子機器がマイコンやDSPを搭載しており、それらを動作させる組み込みソフトウエアが開発されている。開発作業は決して簡単ではないが、電子機器の普及を阻むものではない。

 ただし、デジタル制御電源向け組み込みソフトウエアの開発には、それ独特の難しさがある。それは、エネルギを制御する役割を担っていることだ。すなわち、バグは一切許されないのだ。バグがあると、電源ユニットに重大な損傷を与える危険性がある(図1)。場合によっては、ユーザーに危害を加えるかもしれない。従って、エネルギを制御する役割を担う組み込みソフトウエアには、最高レベルの信頼性の確保が求められる。

図1 バグが電子機器を破壊する
電力(エネルギ)を制御する電子機器では、組み込みソフトウエアにバグがあると、機器本体が破壊される危険性がある。例えば、バグによってPWM信号の出力が止まると、出力段のスイッチング素子であるパワーMOS FETやIGBTに過剰な電流が流れ込み、これらのスイッチング素子が破壊されてしまう。さらに場合によっては、ユーザーに危害を加えてしまう可能性もある。

 ところが、こうした組み込みソフトウエアで高い信頼性を確保することは、そう簡単なことではない。理由は4つある。1つ目は、DSPチップの処理性能向上に伴って、デジタル制御電源に搭載される機能が増えることだ。DSPチップの処理性能が高まれば、従来に比べて、多くの処理を実行できるようになる。従って、デジタル制御を採用した電源ユニットの価格対性能比を高めるために、新しい機能を追加することになる。しかし、新しい機能の追加は、組み込みソフトウエアの信頼性を損なう方向に働いてしまう。

 2つ目は、「ハード・リアル性(厳しいリアルタイム性能)」が求められることだ。例えば、電源ユニットの出力電圧を一定の値に制御する場合、物理量のフィードバック・ループ演算を高速で実行することが求められる。実際には数μ~数十μsと極めて短い時間での処理を実現しなければならない。実現できなければ、出力電圧の安定度が低下するといった性能の劣化を招く。

 3つ目は、入力と出力がそれぞれ複数存在していることだ。従って、複数の入力の要求が矛盾していることが起こり得る。例えば、ある機能が異常状態になり、DSPに対して「出力を止めろ」という信号を入力したとしよう。しかし、負荷が何らかの作業を実行している場合、突然出力が止められてしまうと大きな問題が発生してしまう。こういう矛盾した要求が入力されても、組み込みソフトウエアは状況を把握し、最適な対応策を採るという柔軟性が求められる。

 4つ目は、デジタル制御電源には制御対象が複数あり、それらの制御に求められる演算処理時間の幅が極めて広いことである。すなわち、各演算処理を担当するソフトウエアの呼び出し周期が大きく異なるわけだ。デジタル制御のDC-DCコンバータの場合、制御対象は6つある(表1)。すなわち、センサー制御用プログラム・モジュールと、出力電圧制御用プログラム・モジュール、保護用プログラム・モジュール、シーケンス制御用プログラム・モジュール、表示用プログラム・モジュール、通信用プログラム・モジュールである。この中で最も呼び出し周期が短いのは出力電圧制御用プログラム・モジュールで、前述のように数μ~数十μsだ。呼び出されるたびに、PWM信号のパルス幅を算出する。反対に、呼び出し周期が最も長いのは電圧値や電流値を制御パネルなどに表示する表示用プログラム・モジュールで、10m~100msである。仮に、出力電圧制御用プログラムの呼び出し周期を10μs、表示用プログラムの呼び出し周期を100msとすると、その差は1万倍にも達することになる。一般的なソフトウエア開発手法では、これだけの時間幅に対応したソフトウエアを、バグなしに開発するのは非常に困難である。

表1 デジタル制御電源の制御対象と、その制御に費やせる時間
出力電圧制御用プログラムやセンサー制御用プログラムは、数μ~数十μsと極めて短い時間で処理する必要がある一方で、表示用プログラムは10m~100msと比較的長い時間で処理すればよい。


>>>後編では、バグのない電源制御ソフトウエアを実現する開発ツールについて詳しく解説

【著者プロフィール】
中村良道氏は現在、ウインズで代表取締役社長を務めている。さらに芝浦工業大学 工学部 電気工学科の非常勤講師も兼務している。1980年に芝浦工業大学を卒業。その後、1988年にウインズの設立に携わる。以降、太陽光発電システムや燃料 電池システムなどに向けた系統連系インバータ装置のハードウエア/ソフトウエア開発をプロジェクト・リーダーとして取り組んできた。


【EE Times Japan 2008年3月号「Tech Paper」、pp.73~82掲載記事】

PR

@IT Sepcial