最新のFPGAは、日々集積化が進んでいます。それにより、1枚のボードで扱う電力が上昇し熱設計が難しくなってきています。
ジャンクション温度の計算方法
今までは、筐体設計の段階で「熱」をなんとか対策していましたが、これからは、ボード設計を行う段階である程度熱計算をして部品配置などを行う必要が出てきています。
ジャンクション温度は、次の計算式で算出することが可能です。
P:消費電力(W)
TJ:ジャンクション温度(℃)
TA:周辺温度(℃)
ΘJA:パッケージの熱抵抗(℃/W)
例えば、周囲温度25℃でFPGAのパッケージの熱抵抗が5℃/W、FPGAの消費電力が10Wだとすると、ジャンクション温度は、TJ = 25℃ + 5℃/W x 10W = 75℃となります。
メーカーが規定している、絶対最大定格のジャンクション温度以下で使うようにします。
インテル® FPGA の熱抵抗の算出についての詳細はこちら
FPGA の周囲温度とジャンクション温度との関係
温度の測定方法
ジャンクション温度を計算式で確認し、デバイスの温度が高いもの同士が干渉しあわないように配置を決定します。デバイスの配置を決めて設計後、基板ができあがってきたら、サーモカメラや熱電対を使用して温度測定を実施します。そして、温度上昇が見積もり通りか、差があったとしても問題無いレベルか確認します。
サーモカメラは、筐体に入れてしまうと使えない場合があったり、熱電対も付け方により温度のバラツキがでたりしてしまいます。そのような場合は、恒温槽を上手く使ったり、熱電対の接着方法を安定化させるようにして測定を行います。
ジャンクション温度の計算方法や、サーモカメラを使った温度測定結果から熱計算を行う方法などの熱計算の基礎を学びたい方は、[FPGA 設計者向け] 熱設計セミナー <無料> の受講を検討してください。
LTC2991を使った温度測定
アナログ・デバイセズ社 の製品LTC2991を使うことで、図1のようにFPGA内や基板上に配置した温度測定用のダイオードを使用して温度モニタリングを行うことが可能になります。
これにより、サーモカメラを入れることが出来ない筐体内でも温度のモニタリングが可能になり、熱電対の接触方法の安定化に悩むことなしに安定した温度測定が可能になります。
図1の使い方では、次のような内容をモニタリングしています。
まず、V1-V2のポートにセンス抵抗(RSENSE)を接続することで、1.2Vのコアの電流をモニターすることで、消費電力のモニターが可能になります。
V3とV4は、3.3Vと2.5Vラインの電圧変動のモニターを行っています。
V5-V6のポートをFPGA内部の温度測定用のダイオードに接続することで、FPGA内のジャンクション温度を測定することが可能です。
更に、基板上に温度測定用のダイオードを置く事で、V7-V8ポートでは基板上の温度をモニターすることが可能になります。
これらの測定した結果から、温度上昇が高いと判断した場合、PWM信号からファンコントロールを行いエアーフロー制御を行うことも可能です。
これらLTC2991の温度モニターの機能については、基板評価時に有効ですが、実際の量産基板に搭載いただく事で、温度ログの取得やファンコントロールや温度による危険予知によってシステムを安全に停止して事故防止を行うことも可能になります。
おすすめのセミナー
おすすめ記事/資料はこちら
FPGA の周囲温度とジャンクション温度との関係
FPGA 消費電力の見積もり方法
FPGA の消費電力の種類と計算方法
センサとは何か?電子化、IoT化のための基礎知識