エラー通知モジュール (ESM) は、デバイス全体で発生するエラー イベントに対する応答を一元的に集約する仕組みを提供しており、これは複数の安全が必須なアプリケーションにとって極めて重要です。
ESM サブシステムには以下のモジュールが含まれています:
- ESM CPU1 - CPU1 への出力専用 ESM モジュール
- ESM CPU2 - CPU2 への出力専用 ESM モジュール
- ESM CPU3 - CPU3 への出力専用 ESM モジュール
- システム ESM ― システム レベルの出力専用の ESM モジュール (主に ERRORSTS ピン出力、デバイス リセット、XBAR イベント出力を用いた他モジュールとの統合)
図 5-1では、ESM サブシステムがデバイス レベルでどのように統合されるかを詳細に説明しています。詳細については、F29x TRM の ESM 章を参照してください。
ESM は、エラーを重大度で分類し、プログラム可能なエラーレスポンスを提供する機能を備えています。エラー通知モジュールは、発生したエラーの重大度に応じて、エラーピン応答、選択可能な割り込み優先度応答、または CPU へのマスク不可能割り込み (NMI) を示す手段を提供します。ユーザーは、各エラー イベントに対してどのエラー レスポンスを取るかを決定する責任を負っており、それがシステムの安全コンセプトと整合するようにする必要があります。
- 特定の CPU への割り込み:
- 割り込み (PIPE から CPU への INT または RTINT)(ESM の低優先度割り込み出力) ― 一般的には、デバイスで発生した訂正可能エラーや重大度の低いエラーに対して選択されます。また、CPU 外部での診断用途として実装することもできます。割り込みにより、CPU 外部のイベントが割り込みハンドラへのプログラム シーケンスのコンテキスト転送を生成でき、そこでソフトウェアが故障を処理する機会を得られます。
- マスク不可能割り込み (NMI)(ESM の高優先度割り込み出力) ― 一般的に、デバイスで発生した修正不可能なエラーや致命的なエラーに対して選択されます。この場合、エラー レスポンスとしてコンテキストを NMI ISR に転送し、ソフトウェアが故障を処理して動作を安全に中止する機会が提供されます。
- エラー通知ピン:
- エラー ピン (ERRORSTS) の動作は、PMIC (パワー マネジメント集積回路) などの外部モニタ向けであり、外部エラーのレスポンスを生成する必要がある場合に使用されます。
- リセット
- 対応 CPU リセット (CPURSn):ESM は、MCU 内でエラーを検出した際に、システム安全な状態に移行させるため、個々の CPU にリセットを生成することが可能です。
- デバイス リセット (XRSn):エラーが検出されると、デバイス リセット (XRSn) をトリガして、MCU を安全な状態にします。
以下のセクションでは、ESM サブシステムの上記の出力についての ESM CPU およびシステム ESM モジュールの構成の概要を簡単に示します。詳細については、F29x テクニカル リファレンス マニュアルの ESM の章とデバイスの統合を参照してください。
ESM のエラー イベントの概要と重要なポイント:
- エラー イベントは、すべての ESM モジュール (ESM CPU1/2/3 およびシステム ESM) に共通です
- 各 ESM モジュールには個別の構成およびステータス レジスタがあるため、すべての ESM モジュールは互いに独立して動作できるため、さまざまな使用事例に柔軟に対応できます。例えば、あるエラー イベントが発生した場合、ESM CPU1 から CPU1 への割り込み出力を生成するように構成しつつ、ESM CPU3 モジュールから CPU3 への割り込み出力は構成しない、という設定が可能です。
- エラー イベントは 32 のグループに分けられます。F29x デバイスには合計 256 のエラー イベントがあり、したがって全部で 8 グループ存在します。
注: すべての Group0 エラー イベントは、デフォルトで NMI をトリガするようにマッピングされています。Group0 エラー イベントは、EAM (エラー アグリゲータ モジュール) からの高優先度集約 CPU エラー出力です。