車載アプリケーション・ソフトウェアの移植性を高める通信仕様とその実装 ――下位層を意識せずECU間のインターフェイスを実現する「OSEK COM」
● 外部通信が現在対応しているのはCANとLIN
外部通信機能は,データ受信用のタスクをCOM内部で静的に生成しています.そのため,基本的にOSでの利用を想定していますが,受信用タスクに類似する機能を用意すればOSを使わない環境下での利用も可能となります.また,時間管理用モジュールとしてOSのアラーム機能に類似した機能を実装しています.これも,OSを利用しなくてもCOMモジュールのみでCOM仕様が実現するように考慮している点です.また,内部通信と同じように,外部通信もログ取得マクロを実装し,ロギング情報の取得を容易にしています.
機能的な面では,OSEK COM仕様のすべての外部通信機能(適合クラスはCCC1)を実装しています.
現在,対応している外部通信デバイスは,CANドライバと LINドライバです(写真1).これらのデバイス・ドライバはいずれも筆者らが開発しました.TOPPERS/OSEKカーネル対応OSEK COMモジュールを公開する際には,これらのデバイス・ドライバも公開する必要があると考えています.そのため,デバイス・ドライバについての品質検証を実施する予定です.
また,今後はシリアル・インターフェースやEthernetなどのデバイスへの対応も予定しています.さらに,Flex Rayへの対応も考えています(ただし,現在のところまだFlexRayそのものの仕様が固まっていないので,対応は仕様確定後となる).
本OSEK COMモジュールの内部エラー・コードは,独自の拡張を施したものを利用していますが,利用の際にとくに注意するべき項目ではありません.
なお,ここで紹介したCOMモジュールは,2005年度の経済産業省「地域新生コンソーシアム事業」として採択された「自動車統合制御用組込みOSの開発」の基幹部品の一つです.この事業において,本COMモジュールを改良し,信頼性を検証した後,プロジェクト会員向けに早期リリースを行う予定です.公開スケジュールは,2005年11月に開催される「EmbeddedTechnology 2005」で紹介できると思います.
写真1 TOPPERS/OSEK カーネル対応OSEK COMモジュール
筆者らが開発したTOPPERS/OSEK カーネル対応OSEK COMモジュールを実装したボード.CANとLINのデバイス・ドライバも実装されており,CAN通信なども行える.