冗長化
1.はじめに
システムや回路の機能安全化対応の1つに冗長化(Redundant)があります。冗長化とはシステム(または回路)の一部に何らかの故障が発生した場合に備えて、故障発生後でもシステムの機能を維持し続けられるように、通常動作時から予備システムを運用しておくことです。
この記事ではA/Dコンバータ(アナログ・デジタル変換器:アナログ入力をデジタル出力に変換)回路の冗長化について紹介します。以下A/DコンバータをADCと記載します。
ADCは、例えば0.0レベルから0.6レベルのアナログ値(Y軸)を決められた周期で切り出し(標本化)、それを離散的な振幅値に量子化し、それを符号化する回路です。下記の図のようになります。アナログ値0.325は0.3に量子化して011に符号化します。回路では時間とともに変化する電流、電圧などをアナログ値として扱います。
2.ADCの冗長化
複数のADCを使用して、1つのADCに故障が発生した場合でもADCという機能が動作し続けるようにします。
デュアルADC構成:2つのADCを使用して、アナログ入力信号を独立してデジタル信号(符号)に変換し、コンパレータで結果を比較します。結果が一致しない場合は、エラーが発生したことを検出できます。下記の図はセンサーの出力を2つのADCが入力し、デジタル化された値をコンパレータで比較します。本例ではセンサーの1つの出力を2つのADCが使用しています。同一出力を異なる出力端子から2つのADCが個別に入力するケースもあります。
トリプルモジュール冗長化 (TMR):3つのADCを使用して、アナログ入力信号を独立してデジタル信号(符号)に変換し、2つ以上のADCの結果のデジタル信号の多数決投票によって正しい値を決定します。例えば、3つの結果が一致すれば正常、2つ以下の結果の一致を異常と判定します。
・冗長化ADCとして、同じ機能性能が得られる場合は、異なる方式、例えばΔΣADCやSAR(逐次比較)ADCなど異なる方式のADCを使います。すなわちΔΣADCのレファレンスとしてSAR ADC使うケースです。
・同じΔΣADCで冗長化する場合は、異なる実装を採用します。
・ADC回路の電源を異なるソースから供給することもあります。
・その電源の電圧や電流の上限をモニターする回路を持つものがあります。
これらの事例を実装したICの記事を参考文献に挙げていますので、ご興味にある方はご参考にしてください。
冗長化アーキテクチャの選定のために、故障の共通原因やカスケード伝搬の有無を調べ故障率を計算し、安全度水準が担保できるか否かを確認して、採用するアーキテクチャや実装設計を行います。具体的な故障率の計算については、後日事例で説明したいと思います。
3.エラー検出・訂正
デジタル変換結果にエラーが発生した場合に検出し、訂正または安全な動作に切り替える機能です。
・範囲チェック:デジタル信号(符号)変換結果が、入力のアナログ信号の許容範囲内かどうかをチェックします。許容範囲外をエラーと判定します。
・異常値検出:過去のデジタル(符号)データを記録または保持しておき、異常な値が検出された場合は、保持データに置き換えます。
4.セーフモードへの移行
エラーが発生した場合に、ADCを使用しているシステムを安全な状態に移行する機能です。
・出力値の制限:出力値を安全な範囲内に制限します。
・システムのシャットダウン(シャットダウンが安全な場合):システムを停止して、更なる損害を防ぎます。
・システムの機能の縮退化:システムを継続運転に必要な機能のみに制限します。
5.自己診断
定期的に自己診断を行い、自身の機能が正常に動作していることを確認する機能です。
・テストパターンによるテスト:外部または内部で生成したアナログ信号を入力し、アナログ・デジタル変換を行い、期待値と比較して正常か否かテストします。
・周辺機器との通信を用いたテスト:対向側のアナログ信号源でADC出力期待値のアナログ信号を生成し、それをADCが入力し期待値と比較します。単独で自己診断するよりも、システムとして他の回路と通信し組み合わせて診断することで、より高い安全性を確保することができます。
6.具体的な例
車載システムの電動ブレーキ制御システム:
デュアルADC構成を使用して、ブレーキセンサーからの信号を2重に取得し、比較することで、誤った信号による誤動作を防ぎます。
範囲チェックを使用して、ブレーキセンサーからの信号が許容範囲内かどうかをチェックし、異常な値が検出された場合は、警告を発します。
セーフモードへの移行機能を使用して、エラーが発生した場合は、ブレーキを安全な状態に保持します。
産業用ロボットの制御システム:
冗長化されたADCを使用して、ロボットのアーム関節角度を正確に測定し、誤動作による事故を防ぎます。
自己診断機能を使用して、ADC自身の故障を検出し、故障が発生した場合は、ロボットを停止します。その故障の修理を行います。
参考文献
IC における機能安全 | Analog Devices
データ・アクイジション・システムにおける機能安全 | Analog Devices
機能安全に対応可能なΣΔ型のADC | Analog Devices
変更履歴
Rev.1 2024.3.10 初版