AUTOSAR
AUTOSAR(オートザー、Automotive Open System Architecture)は、車載ソフトウェアの共通化を実現するためのプラットフォームの仕様で、欧州の自動車メーカーを中心に2003年に団体が設立されました。
自動車に搭載される機能は年々高度化し、ソフトウェアの開発規模は大幅に増大しています。AUTOSARでは、アプリケーションとハードウェアの開発を切り離し、アプリケーションの再利用性向上とソフトウェア開発コストの削減を目標しています。
アーキテクチャ
AUTOSARのアーキテクチャには以下の2つがあります。
- Classic Platform(CP)
- Adaptive Platform(AP)
これらの2つの違いの問題は以下になります。
項目 | Classic Platform | Adaptive Platform |
プログラム言語 | C言語 | C++ |
リソース | 静的 | 動的 |
OS | OSEK/OSベース | POSIXベース |
モジュール数 | 50以上 | 10前後 |
リアルタイム要件 | ハード | ソフト |
計算能力 | 低 | 高 |
Classic Platform(CP)
Classic Platform(以下、CP)は、OSEK(オーゼック)をベースとした組込みリアルタイムECU向けの標準規格です。また、IDL(Franca Interface Description Language)を使うことによってGENIVI等の非AUTOSARのシステムと結合することも可能です。
CPの構成
CPでは、アプリケーションとマイクロコントローラを切り離すために、RTE、BSWという抽象的なレイヤを規定しています。
Application Layer | 自動車の各種機能を実現するアプリケーション(SW-C、Software Component)を配置する。SW-Cの実際の処理はRunnable Entityにより実現される。 |
RTE(Run Time Environment) | アプリケーションと基本ソフトウェアを接続する。アプリケーションのECU内またはECU間の通信をネットワークの配置に依存せず抽象化するための中間層。 |
BSW(Basic SoftWare) | ECUごとに共通する土台となる基本ソフトウェア。OS、通信スタック(CAN、LIN、FlexRay、Ethernetなど)、不揮発性メモリースタック、診断、入出力、モード管理などの各種機能を提供する。 |
BSWは以下の4つのレイヤに分割されます。
Services Layer | OSやネットワーク、ECUの状態管理など、高レベルのサービスを提供するレイヤ。システム、不揮発性メモリ、通信、周辺機器などのインフラを司る機能グループに区別される。 |
ECU Abstraction Layer | MCALとのインタフェース(API)で、ECUのハードウェア構成を抽象化し、周辺機器やデバイスへのアクセスを担うレイヤ。 |
Microcontroller Abstraction Layer(MCAL) | デバイスドライバに相当する役割を持つ。マイコン内蔵の周辺機能や、メモリにマッピングされた外部デバイスへ直接アクセスするためのソフトウェアモジュール。 |
Complex Drivers(CDD) | 上記の3レイヤで担当できない特殊な機能や高応答性が求められる場合などで、上位レイヤからマイコンに直接にアクセスする場合のレイヤ。 |
コンポーネント間通信
アプリケーションコンポーネント間は、標準化されたインタフェースである「Port」により接続されます。
VFB(Virtual Functional Bus)は、RTEによる抽象的な仮想バスで、物理的なECUの配置を意識せず、アプリケーションソフトウェア間の通信を特定のポートを介して行うことができます。
Adaptive Platform(AP)
Adaptive Platform(以下、AP)は、部分的に運転を車に任せる高度自動運転などの新しいニーズに対応するため開発されました。これにより、リモート診断やOTA(Over The Air)によるソフトウェア更新、スマートフォン連携などのサービス指向通信が可能になります。
APの構成
APでは、標準化されたインタフェースを提供するOS上で動作させるため、大きく3つのレイアから構成されます。
User Application | Classic Platformの「Application」に相当するレイヤで、各種機能を実現するアプリケーションが配置される。 |
ARA(AUTOSAR Runtime Adaptive Application) | CPのRTEとBSWに相当するレイヤで、Functional Cluster(FC)と呼ばれる機能単位ブロックから構成される。 |
Operating System Interface | OSとのインタフェース(POSIX準拠)を提供する。 |
ARAのインタフェースは、APの基本機能を提供するライブラリ群である Platform Foundation(API)と基本サービス群である Platform Services の2つのグループに分かれます。
Platform Foundation |
|
Platform Services |
|