安全規格である ISO 26262 には、自動車分野の安全関連 ECU を開発する際に従うべき基準が定義されています。ベクターの MICROSAR Safeは、AUTOSARプロジェクトで最高位(ASIL-D)までの安全性レベルを実装するためのソリューションです。
ISO 26262に準拠して作られたAUTOSARベーシックソフトウェアを使用すれば、システムに含まれるパーティションの数を減らし、それによって パフォーマンスの向上を図ることができます。ベクターのMICROSARベーシックソフトウェアモジュールはその多くがISO 262162/ASIL Dの手 法で開発され、安全関連のソフトウェアコンポーネントとパーティショニングなしで共存できます。しかも、必要に応じて、新たな安全要件をベーシッ クソフトウェアに実装できます。
図 42: AUTOSAR 4.3対応のMICROSAR Safeモジュール上記に加えてOSEK NMやOEM固有のソフトウェアコンポーネントのようなモジュールもASILソフトウェアとし て対応可能です。
19.1 機能概要
> Automotive Safety Integrity Level (ASIL) の全レベル(ASIL AからASIL D)に対応する認定済みソリューション
> ソフトウェアのASILおよびQMのセクションを、1つのマイクロコントローラー上で実行(ASILの混在)
> 品質保証コストの削減
> ランタイム用に最適化されたコンテキスト管理の実装
> フロー制御およびデッドラインのモニター
> 外部通信の検証
> 安全ベーシックソフトウェアによるパーティション切替えの削減と、それに伴う実行時間の短縮
> マルチコアのプロジェクトに最適
19.2 適用分野
MICROSAR Safeモジュールは、ISO 26262/ASIL Dに従って開発されたSEooC (Safety Elements out of Context) です。
MICROSAR Safeにより、異なる部分で構成された安全関連ソフトウェアを、ASILが異なる部分や、安全に関連しない(QMソフトウェア)部分を 同じECU上で、無干渉を保ちながら実行することが可能になります(ASIL混在システム)。MICROSAR Safeは、機能安全の分野における長年 の経験の成果です。
19.3 機能
MICROSAR Safe には、AUTOSAR 4 の仕様に準拠したプロジェクトを対象として、安全なベーシックソフトウェアと SafeOs、SafeE2E、
SafeWatchdogの3つのコア製品が含まれています。これらはAUTOSARの仕様に準拠するほか、SafeBSWのコンテキストでオプションで 提供される、他のすべてのMICROSARモジュールと互換性があります。MICROSAR Safeではさらに、SafeRteも提供されます。
SafeOs、SafeE2E、SafeWdg の組み合わせは、ASIL 混在システム(ASIL 機能と安全関連なしの機能の両方を持つECU)に必要な最小限 の拡張レベルです。この必須パッケージをお客様の特定の要件に合わせ、ASIL D に準拠したフル装備のベーシックソフトウェアスタックのレベル にまで拡張することが可能です。
図 43: SafeRteとSafeBSWを備えたAUTOSAR 4.x対応のMICROSAR Safe MICROSAR Safeのコア製品には、以下の機能が含まれています。
19.3.1 SafeOS – 安全なAUTOSARオペレーティングシステム
MICROSARオペレーティングシステムのSafeOsオプションは、マイクロプロセッサーの安全関連のアプリケーション、たとえばMPU (Memory Protection Unit) を持つECUのためにメモリー保護を保証します。MICROSAR.OS (SC3/SC4) を使用することにより、ソフトウェアの多様な パーティションを相互に分離できます。これによって、ソフトウェアコンポーネントが他のソフトウェアコンポーネントのメモリーを不正に書き換えてデ ータを破壊するのを防止できるほか、タスクの切替えや割込みの間、コンテキストが正しく切り替えられることを保証します。
SafeOsは、ISO 26262に準拠して開発されたタイミング保護およびアプリケーション終了機能を備えており、これによるスケジューリングを行うこ とで、高い可用性が求められる安全システムのサポートを向上します。
SafeOsには、MPUによるパーティショニングを支援する、特権レジスターへのアクセスの保護、MPUテスト機能、パーティション間でのデータ交 換の保護といった追加の機能が含まれています。
19.3.2 SafeE2E - 安全なECU内およびECU間通信
異なるECU上の安全関連アプリケーション間でデータを交換する場合は、そのデータが正しく伝達されたかをチェックしなければなりません。デー タの内容はチェックサムで保護され、データの正しいシーケンスはメッセージカウンターでモニターされます。これらのチェックのいずれかが失敗す ると、アプリケーションに通知が送られ、それに応じた処理が行われます。これで、なりすまし、障害、データ反転といったエラーが検出されます。
AUTOSAR 4.2に対応するトランスフォーマーのComXf、SomeipXf、E2eXfはSafeCom内で提供され、安全な通信を支援します。SafeE2e にはその他に、AUTOSAR に準拠した、シグナルベースのインターフェイスとなる保護ラッパーが含まれています。これによって、RTE より上のア プリケーションで、E2e検証を簡単に実施できます。
19.3.3 SafeWDG - 安全関連ソフトウェアコンポーネントのフロー制御
SafeWdgのWdgMモジュールは、安全関連機能の正しいタイミングと実行時の挙動をモニターします。これには、AUTOSAR 4.xで安全関連 アプリケーション用に特に定義されている、「Program Flow Monitoring(プログラムフローのモニター)」が含まれています。
SafeWdgパッケージは、WdgIf、Wdg resp. Wdg (EXT)の各モジュールを使用して、内蔵または外付ハードウェアのウォッチドッグへのインタ ーフェイスを実装するほか、外部のSBC (System Basis Chip) もオンデマンドでサポートできます。
19.3.4 SafeRTE – 安全なECU内部通信
MICROSAR.RTE は、オペレーティングシステムの「SafeOs」オプションを介して、メモリーセクションのパーティショニングをサポートします。ISO 26262 では、ECU 内のアプリケーション間で安全な通信を確立するために、RTE の認定の取得が必要となっています。これを目的として、静的 解析ツールの「RTE Analyzer」がオプションで提供されています。
19.3.5 ハードウェアの検証
MICROSAR Safe のモジュールは、顧客プロジェクトに安全ハードウェアが存在することを前提としています。使用するハードウェアがこの要件を 満たさない場合は、ソフトウェアによる適切なテスト機能でそれに対応することもできます。このためには、そのプロジェクト独自の安全目標を考慮 しなければなりません。
SafeOsには、MPUに関連する補助機能がすでに用意されています。RAM、Flash、MPU、I/Oなどを検証するためのその他の機能は、プロジ ェクト作業に応じてベクターから入手できます。
19.4 設定
MICROSAR Safeのベーシックソフトウェアモジュールの設定には、ベクターのツール「DaVinci Configurator Pro」のご利用を推奨します。
19.5 製品に含まれるもの
MICROSAR Safeは、AUTOSAR 4の仕様に準拠して開発されています。どのMICROSAR Safeにも付属するベーシックソフトウェアモジュー ルに加えて、ASIL準拠で開発されたモジュールに必要なセーフティマニュアルが付属しています。納入されるソフトウェアパッケージは全体が1つ のSEooCにまとめられており、ベクターがプロジェクトに合ったセーフティケース文書を提供します。
MICROSAR SafeにはAUTOSAR 3プロジェクトに対応した製品も用意されているため、この仕様に準拠したASIL混在プロジェクトの実施が 可能になります。この場合の「無干渉」の特性は、安全コンテキスト切替え、実行時間測定、安全な外部通信をはじめとするMPU サポート機能に よって実現されます。AUTOSAR 3用のMICROSAR Safeには、SafeOs、SafeE2e、SafeWdgに加えて、SafeCrcが含まれています。
19.6 実装
安全関連の機能は、先に述べた MICROSAR Safe のコア製品によってサポートされます。これらは AUTOSAR 仕様に適合し、ISO 26262/ASIL Dに準拠して開発されています。装備されている詳しい機能は以下の通りです。
パッケージ 内容
SafeOs > メモリー保護とsafe context切替え(MICROSAR.OSのオプション)
> タイミング保護(MICROSAR.OSのオプション)
SafeE2e > 保護ラッパー:エンドツーエンドの保護ラッパー
> ComXf、SomeipXf、E2eXf
> E2e(エンドツーエンドのライブラリー)
> Crc
SafeWdg > WdgM:Watchdog Manager
> WdgIf:Watchdog Interface
> Wdg:内部ウォッチドッグデバイス用のドライバー
> Wdg(EXT):外部ウォッチドッグデバイス用のドライバー
> vSbc:System Basis Chipデバイス用のドライバー(ウォッチドッグおよびトランシーバー機能)