プログラマブルファンコントローラ

プログラマブルファンコントローラ

著者の連絡先情報

要約

今日のシステムは、より小さなエンクロージャで常に性能を向上し続けているため、システムの電力消費がますます深刻な問題を引き起こしています。サーマルシャットダウンやシステム障害を防止するには、適正な温度を維持する必要性が重要になっています。したがって現在多くのシステムには、十分な空気流を維持するための特別なファンが必要です。このアプリケーションノートでは、ファン制御モジュールの概要について説明し、MAX6870を使用して6つのファンを監視する簡単なファンコントローラ回路を紹介します。

ファン制御モジュールの概要

大規模なテレコムシステムやネットワークシステムは、ほとんどの場合、高性能のプロセッサを使用して、単一の「ラック」内でより多くの機能を発揮することができるようにしています。たとえば、かつて12のADSLラインに対応していたラインカードは、現在では最大64ラインに対応することができます。結果として、24W (ADSLライン当り2W)を消費していた回路ボードは、現在では128Wを消費していることになります。その電力消費のレベルは、冷気を強制的に流すことによって対応することが可能で、これによって該当する熱抵抗が削減されます。

ほとんどのテレコムシステムは、多数のファンを搭載しています。万が一ファンが故障した場合に適切な動作を保証するために、通常、システムは必要な数よりも多くのファン(N + 1構造)を搭載しています。標準的なシステムでは6~8個のファンを備えることになります。各ファンには専用の電源があるため、システムをパワーダウンすることなく簡単にファンを交換することができます。サブラックのファン実装(図1)には、複数のファンモジュール(この場合は6個)が搭載され、-48Vのバッテリバスによって電力が供給され、1つのファン制御モジュールによって監視されています。

Figure 1. A typical sub-rack of fan modules.
図1. ファンモジュールの標準的なサブラック

基本的なファンモジュール(図2)は、ファンのタイプに応じて、-48Vのバッテリ電源を+12Vまたは+24Vに変換する絶縁DC-DCコンバータを搭載しています。システムをパワーダウンせずにファンの交換を可能にするには、コンバータよりもホットスワップコントローラの方が勝っており、各ファンは、制御モジュールで使用することができるように回転速度に比例したディジタル出力(PWMまたはPFM)を生成します。

Figure 2. Block diagram of a fan module.
図2. ファンモジュールのブロック図

このタイプのファンシステムでは、ICの広い選択幅を活用することができます。たとえば、数多くのホットスワップコントローラがいろいろな性能レベルで利用可能です。例を挙げると、MAX5901は簡単なソリューションですが、MAX5920は高精度なソリューションです。どちらも-48V電源でそのまま動作可能です。MAX5021は絶縁電源に非常に適しており、一方MAX5043はパワーMOSFETをボードに搭載した高集積コンバータに最適です。MAX5043は、50Wを生成するのに、トランス、コンデンサ、出力ダイオード、および少数の抵抗のみを必要とし、ヒートシンクは必要ありません。

ファン制御ユニットを実装することで、このシステムを完成させることができます。このような制御ユニットでは、多くのファンモジュールとのインタフェースを用意する必要があります。またモジュールが正常に動作していないかどうかを検出することができる必要があります。ファンが故障すると、フラグを立ててマスタ制御ユニットに通知します。また、どのファンが故障しているのかを特定して診断することができることも望まれます。このようなコントローラには多くの形態があります。たとえば、一連のタイマと追加ディスクリート部品で実現することが可能です。ただし、ファンの数が増大するとディスクリート部品の数も増大するため、この手法はあまり望ましくありません。1つのマイクロコントローラ(µC)上に複数のシリアルI/Oを配置するという別の手法では、ディスクリート部品の数が最小限に抑えられますが、適正なプログラミングが必要です。

3つ目のさらに簡単な選択肢は、高集積のEEPROMで構成が可能な、ADC内蔵、プログラマブル、ヘックス電源シーケンサ/監視回路の利用です。たとえば、MAX6870は、6つの構成可能な入力電圧検出器、4つの汎用入力、2つの構成可能ウォッチドッグ、8つのプログラマブル出力、および4kbユーザEEPROMを搭載しています。すべてI²C互換シリアルインタフェースを経由して利用可能であり、またプログラム可能です。監視電圧、ウォッチドッグ信号、外部温度、および他のロジック入力信号に加えて、このデバイスはファンコントローラとして機能することが可能で、最大10個のファンを監視する能力を備えています。

6つのファンシステムの実装

説明のため、最初にシングルファンシステムを紹介し、次にシステムを6つのファンに拡張します。

監視対象のファンが停止した場合にアサートされるアラーム信号の定義から始めます。現在利用可能なファンのほとんどはオープンコレクタ(VOC)出力信号を備えているため、抵抗を使用して外部電圧レベル(VS)にプルアップすることができます(この例でのプルアップは4V~30Vです)。このようなVOC出力は、ファンの回転ごとに0VからVSのパルスをM回送出します(図3)。

Figure 3. Output details for the fan module in Figure 2.
図3. 図2におけるファンモジュールの出力の詳細

ファンがN回転/秒で回転する場合、VOCは1秒当りN x Mパルスを生成します。出力は、N x M Hzの周波数の方形波になります。この出力をMAX6870のプログラマブル入力の1つに接続した場合、ファンが回転を停止すると、そのPO_出力の1つがアサートされます。

たとえば、VS = 5Vの場合、出力は0V~5Vの間のパルスを送出します。ファンが停止するときの電圧レベル(VSまたは0V)に応じて、入力電圧が2.5Vより高い(低い場合も同じ)ときにモニタ出力が真になるように、入力の低電圧または過電圧スレッショルドを2.5Vに設定します。この構成では、PO_出力は、ファンの回転中にデアサートされ、出力電圧は5V~0Vの間のパルスを連続して送出します。ファンが回転を停止した場合、出力はアサートされ、ファンのアクティブ極性のプログラミング方法に応じて、電圧はハイまたはローに保たれます。

この実装で重要なことは、各PO_出力に適切な時定数を提供するグリッチフィルタを選択することです。ただし、フィルタは、ファン電源の発振による周波数-パルスの過渡現象を許容できるように十分に緩和しておく必要があります。MAX6870の場合、必要な時定数の範囲は25µs~1,600msです。

たとえば、M = 2、N = 54rpsというシナリオを考えてみます。このシナリオでは、VOCのパルス周波数は108Hz、パルス周期は約9.26msです。ファンの厳密な制御が必要な場合、ファンの約1.35回転に相当する25msのPO_デグリッチ時定数を選択します。ファン電源の発振(および熱特性による制限)を考慮し、ファンが約2秒間停止した場合にファンが故障しているものと見なします。この例では、1.6秒のタイムアウトが妥当です。これは、ファン故障の25ms後または1.6秒後にPO_アラームがハイ(またはプログラミングに応じてロー)になることを意味します。

上記の例は、1つのファンに機能を実装する方法を示しています。6つのファンシステムの場合、1つのMAX6870のみを使用し、上記の例を6つの入力と6つの出力に拡張します。各ファンモジュールから独立してタコメータの出力があると仮定すれば、この配置によって6つのファンのそれぞれについて1つのモニタが可能となります。出力はオープンドレインとして構成することが可能で、OR結合によって1つのアラーム信号を送出することができます(図4)。アラームがアサートされる前に逆の信号極性または遅延の追加が必要な場合は、上の共通信号をGPI_ピンともう1つのPO_出力に接続し、時定数をさらに追加します。

Figure 4. A 6-fan monitor based on the MAX6870 supply sequencer/supervisor.
図4. MAX6870の電源シーケンサ/監視回路に基づく6つのファンモニタ

このようなデバイスを構成するのには時間がかかるように思われますが、MAX6870では、ソフトウェアエンジニアが制御µCまたは他のデバイス用のコードを記述する必要がありません。マキシムの評価キットが利用可能であり、そのグラフィカルユーザインタフェースによって構成プロセスが簡単になります(図5)。

Figure 5. Screenshot of the MAX6870 programming software.
図5. MAX6870プログラミングソフトウェアのスクリーンショット

インタフェースのブロックを示し、適切な値(入力信号、タイミングなど)を入力するだけで、ソフトウェア経験のないエンジニアでも簡単にMAX6870を構成することができます。セットアップが問題なければ、ICをプログラムし、「Load to Memory」ボタンをクリックすることでいつでもアプリケーションで利用可能となります。MAX6870は、複合システムモニタリング用に設計された初の多入力コントローラです。精密かつ構成変更可能なMAX6870によって、簡単に最新システムを設計することができるようになります。

同様の記事が、「EEPN」誌の2006年5月号に掲載されています。