高電圧ウォッチドッグタイマによる車載システムの安全性向上
要約
エンジンのタイミングからハンドル装置やブレーキに至るまで、自動車の機械的機能の多くを電子システムが担うようになり、その耐障害性について関心が高まっています。単一障害ポイントをなくし、たとえ「のろのろ運転」でも道路外に移動したり、近くの整備工場にたどり着いたりすることができるようにする必要があります。障害発生時に信号経路を切り替えるなどして故障車を道路から安全に退避させるために、冗長システム、ウォッチドッグタイマ、その他の制御回路が使用されています。
はじめに
最新の高級車に搭載される電子制御ユニット(ECU)は80基に達することもあります。これらの回路はエンジン、ブレーキ、エアバッグの動作を制御する極めて高度なものから、シートやサイドミラーの調整を制御する比較的簡単なものまでさまざまです。しかし、あらゆる電子回路と同様、時には障害が発生します。どんなコンピュータでもクラッシュする可能性はあります。どんなソフトウェアでもバグがないとは言い切れません。そこで、「リンプホームモード」の出番となります。
リンプホームモード
「リンプホーム」とは、フェイルセーフモードに入り、低速走行で自宅にたどり着けるようにする自動車の動作モードです。リンプホームモードは、故障車がエンジンやその他の部品の損傷を抑えつつ乗員を安全に帰宅させることができるように実装されます。リンプホームはエンジン管理システムと、ライトやフロントガラスのワイパーといった補助的な安全設備の両方を含みます。これらはボディ制御ユニット(BCU)によって制御されるのが普通です。
最新のエンジン管理システムは、エンジンセンサーからの信号を定期的に検査するセルフテスト機能を備えています。たとえば、冷媒レベルセンサーの指示値が限界レベルを下回った場合、エンジン制御モジュールはエンジンを緊急モードに切り替えます。ただちにファンが起動され、シリンダーの半数にしか燃料が供給されません。シリンダーの半数しか燃焼せず、エンジンが低出力で動作するため、そこで発生する熱は大幅に低減します。エンジンは約50マイル/時(80km/時)以下の控えめな速度で車体を動かすことが可能で、自宅に戻るか、近くの整備工場にたどり着くくらいの出力は得られます。エンジン管理システムがエンジンを縮小モードで動作させる一方、BCUは自動車のその他の基本機能を維持しなければなりません。
自動車の電子回路が増加し、システムが複雑化するにつれて、自動車をフェイルセーフにするのがますます難しくなっています。一般的な目標は、自動車の動きを止める単一障害ポイントを一掃することです。徹底的にテストしにくい複雑なソフトウェアを使用すると、問題が深刻化します。
冗長性
リンプホームは、システムに冗長性を組み込む手法に対する代案の1つです。冗長システムでは、主制御システムに障害が起きても、もう1つのシステムがそれに取って代わります。また、3つ以上のプロセッサや論理回路をポーリングして、アクションを起こすかどうかを多数決で決定するポーリング方式が採用されることもあります。その基本原理は、複数のシステムが同時に障害を起こす確率は単一システムが障害を起こす確率よりもはるかに小さいということです。本格的な冗長システムの短所は、コストと複雑さが増大することです。特定の「バイワイヤ(電気信号制御式)」アプリケーションでは冗長性が不可欠です。一方、システムによっては、たとえプロセッサが障害を起こしても、限られた機能を維持することができれば十分という場合もあります。
フェイルセーフシステムの実現方法の1つは、一種のハードウェアウォッチドッグ回路を使用するものです。この回路は、マイクロコントローラから定期的に「応答」がなければ、システムをリセットします。ウォッチドッグの使用は、障害発生時に必須の限られた機能を確保しつつソフトウェアに依存しない、シンプルで低コストな手法です。
ウォッチドッグの進歩
上記の点を考慮すると、車載アプリケーションでシステムの安全性を向上させるには、MAX16997/MAX16998が最適です。これらの高電圧ウォッチドッグタイマは、安全性が重視されるマイクロプロセッサ制御アプリケーションで最高度の信頼性とセキュリティを実現することができるように設計されています。マイクロコントローラに障害が起きると、ウォッチドッグが起動され、安全にデバイスを冗長回路に切り替えることができます(図1と図2)。

図1. MAX16998によるバックアップ回路への切り替え

図2. MAX16997Aの標準アプリケーション回路
MAX16997/MAX16998は、タイムアウトまたはウィンドウウォッチドッグ機能、パワーアップ/ダウンリセット用の外部電圧監視、マイクロコントローラリセット機能、イネーブル入力と高耐電圧システムイネーブル出力を備えています。これらのICは12Vのカーバッテリから直接給電可能で、最高45Vの過渡電圧に耐えられるため、標準的な低電圧ウォッチドッグタイマデバイスとは異なり、低電源電圧とは無関係に動作します。したがって、ダウンストリームの回路がハードウェア(HW)やソフトウェアの障害のために機能しなくなっても、これらの監視回路はなお単独で動作します。
アクティブローリセット出力(アクティブローRESET)、ウォッチドッグトリガ入力(WDI)、イネーブル入力(EN)、外部電圧監視入力(RESET IN)は20V定格で、カーバッテリ電圧への短絡に耐えられるため、ICの耐HW障害性が一層高まります。こうした特長はダウンストリームの高電圧電気故障に対する堅固な防壁となり、この条件下における冗長回路への切り替えを確実に保証します。
要求されるセキュリティレベルに応じて、MAX16997/MAX16998は標準的なタイムアウトウォッチドッグまたは時間ウィンドウウォッチドッグのいずれかの機能を提供することができます。タイムアウトウォッチドッグの場合は、ウォッチドッグ時間内にタイマーのクリア信号が発行されます。信号が発生しなければ、システムリセットが起動されます。こうして、タイムアウトウォッチドッグはコード実行の遅延や水晶発振器の低速化といったソフトウェア障害を検出します。時間ウィンドウウォッチドッグは、より多くの障害を認識可能です。この方式では、正確な時間ウィンドウ内にタイマーのクリア信号が発行されます。そのため、コードの実行や発振器の動作が速すぎるケースなど、ほかのエラーも検出することができます。
リセット遅延とウォッチドッグ時間のタイミングは、機能ごとに外付けコンデンサ1個を使用して個別に設定することができます。オープンウォッチドッグウィンドウの割合は、出荷時にウォッチドッグ時間の50%または75%に設定されます。さらに、リセットスレッショルド電圧は外付けの抵抗分圧器を使用して設定可能です。
MAX16997はKL15ステータス(EN)を読み取ることが可能で、イグニッションがオンの場合にのみ、内蔵監視タイマーを起動します。ここで初回のウォッチドッグタイムアウト期間が8倍に延長され、マイクロコントローラの起動に十分な時間が確保されます。
アクティブローRESETIN電圧がそのリセットスレッショルドを下回るか、またはウォッチドッグトリガ入力(WDI)が不良トリガを示すたびに、アクティブローRESETがローにアサートされます。WDI入力が3回連続して不良トリガ信号を示した場合は、アクティブローENABLEがローをプルします。マイクロコントローラがウォッチドッグ(WDIピン)を3期間連続して正常にクリアした後、アクティブローENABLEは再びハイになります。
MAX16997/MAX16998は8ピンµMAX®パッケージで提供され、自動車用温度範囲(-40℃~+125℃)での動作が保証されています。
結論
車載システムでフェイルセーフを実現し、縮小機能モードでの動作継続を可能にするには、冗長性やリンプホームモードが必要です。MAX16997/MAX16998などの製品は、車載システムにリンプホーム機能を実装する簡単な手段となるに違いありません。