JP2007001420A - 自動車用制御ユニット - Google Patents
自動車用制御ユニット Download PDFInfo
- Publication number
- JP2007001420A JP2007001420A JP2005183557A JP2005183557A JP2007001420A JP 2007001420 A JP2007001420 A JP 2007001420A JP 2005183557 A JP2005183557 A JP 2005183557A JP 2005183557 A JP2005183557 A JP 2005183557A JP 2007001420 A JP2007001420 A JP 2007001420A
- Authority
- JP
- Japan
- Prior art keywords
- module
- drive
- control
- application
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】 シリアル通信処理を、複数のプログラムモジュールにより非同期に実行する場合においても、通信異常発生時に迅速かつ的確に対応できる異常処理機能を有した自動車用制御ユニットを提供する。
【解決手段】 通信ソフトウェアが、通信バスに接続されたシリアル通信インターフェースを送受信駆動する駆動モジュールと、駆動モジュールとアプリケーションとの間の送受信中継処理を行なう中継モジュールと、制御状態が制御用メッセージの送受信に適した状態に遷移しているか否かに基づいて、制御用メッセージの送受信に関する指令を行なう駆動管理モジュールと、駆動モジュール、中継モジュール及び駆動管理モジュールから異常発生報告を受け、駆動モジュール、中継モジュール及び駆動管理モジュールのそれぞれに一元的な異常発生通知を行なう異常監視モジュールと、を有する。
【選択図】 図5
【解決手段】 通信ソフトウェアが、通信バスに接続されたシリアル通信インターフェースを送受信駆動する駆動モジュールと、駆動モジュールとアプリケーションとの間の送受信中継処理を行なう中継モジュールと、制御状態が制御用メッセージの送受信に適した状態に遷移しているか否かに基づいて、制御用メッセージの送受信に関する指令を行なう駆動管理モジュールと、駆動モジュール、中継モジュール及び駆動管理モジュールから異常発生報告を受け、駆動モジュール、中継モジュール及び駆動管理モジュールのそれぞれに一元的な異常発生通知を行なう異常監視モジュールと、を有する。
【選択図】 図5
Description
この発明は、自動車用制御ユニットに関し、特に自動車上の他の制御ユニットとシリアル通信バスにより接続された形で使用される自動車用制御ユニットに関する。
自動車には、各種機器(被制御要素)を制御するために、マイクロプロセッサ(ハードウェア制御主体)からなるECUが搭載されている。このようなECUとして、自動車上の他のECUと通信バスを介して通信できるようにしたマイクロプロセッサが使用されている。一つのECUは、一般には複数機能を統括的に司るために、制御処理用のアプリケーションも複数搭載されるのが常である。各アプリケーションによる制御は、ECUのプラットフォーム機能の一部として形成されたスケジューラによって順次起動され、プラットフォーム内の状態管理プログラムが、一連のアプリケーションの状態をまとめて管理するようになっており、制御状態を判定して状態遷移処理を行なう方式がとられる。シリアル通信処理を行なう場合、シリアル通信バスを介してアプリケーションが使用する制御用メッセージを受信する処理と、アプリケーションからの制御用メッセージがシリアル通信バス上に送信する処理とが必要になるが、その送受信のタイミングが、アプリケーション側の制御状態と適合している必要がある。この場合、ECUハードウェアによる通信バスとの間の直接的なメッセージ送受信のための駆動処理と、送受信に係るメッセージを、通信ハードウェア側とアプリケーション側との間で中継する中継処理と、アプリケーション側の状態遷移を監視しつつ、送受信に係るメッセージの中継タイミングの意思決定を行なう駆動管理処理とが、互いに独立して行なわれることが必要となり、それぞれが異なるプログラムモジュールにより非同期に実行されることとなる。
上記のような方式で通信に異常が発生した場合、その異常対応処理も、各プログラムモジュールが全体に与える影響を考慮して非同期に行なうことになる。しかし、このようなモジュール単位での異常処理では、各モジュールが異常発生の認識に一定数の処理ステップを消費するために、発生した異常に対応する処理がなされるまでに時間を要する問題がある。また、同時に発生した異常処理をまとめて処理することもできない。
本発明の課題は、シリアル通信処理を、複数のプログラムモジュールにより非同期に実行する場合においても、通信異常発生時に迅速かつ的確に対応できる異常処理機能を有した自動車用制御ユニットを提供することにある。
上記の課題を解決するために、本発明の自動車用制御ユニットは、
CPUからなる主制御部を有し、自動車上の他の制御ユニットとシリアル通信バスにより接続され、自動車上に搭載される電子機器の制御処理を、予め定められた複数のアプリケーションの実行に基づいて実施する自動車用制御ユニットであって、
アプリケーションによる電子機器の制御状態を管理するとともに、制御状態を判定して状態遷移処理を行なうアプリケーション状態管理手段と、
シリアル通信バスを介してアプリケーションが使用する制御用メッセージを受信する処理と、他方、アプリケーションからの制御用メッセージをシリアル通信バス上に送信する処理とを、主制御部による通信ソフトウェアの実行に基づいて実施するシリアル通信制御手段とを有し、通信ソフトウェアが、
制御用メッセージの通信バスへの送信ないし通信バスからの受信のために、通信バスに接続されたシリアル通信インターフェースを駆動する駆動モジュールと、
駆動モジュールとアプリケーションとの間の送受信中継処理として、アプリケーションからの制御用メッセージの送受信要求を受け付けるとともに、駆動モジュールが受信した制御用メッセージをアプリケーションに転送する一方、アプリケーションから送信要求のあった制御用メッセージを駆動モジュールに転送する中継モジュールと、
アプリケーション状態管理手段による制御状態が、該アプリケーションにおける制御用メッセージの送受信に適した状態に遷移しているか否かを判定し、該判定結果に基づいて駆動モジュール及び中継モジュールに対する制御用メッセージの送受信に関する指令を行なう駆動管理モジュールと、
駆動モジュール、中継モジュール及び駆動管理モジュールのうち、少なくとも駆動管理モジュールからの異常発生報告を受け、駆動モジュール、中継モジュール及び駆動管理モジュールのそれぞれに一元的な異常発生通知を行なう異常監視モジュールと、を有することを特徴とする。
CPUからなる主制御部を有し、自動車上の他の制御ユニットとシリアル通信バスにより接続され、自動車上に搭載される電子機器の制御処理を、予め定められた複数のアプリケーションの実行に基づいて実施する自動車用制御ユニットであって、
アプリケーションによる電子機器の制御状態を管理するとともに、制御状態を判定して状態遷移処理を行なうアプリケーション状態管理手段と、
シリアル通信バスを介してアプリケーションが使用する制御用メッセージを受信する処理と、他方、アプリケーションからの制御用メッセージをシリアル通信バス上に送信する処理とを、主制御部による通信ソフトウェアの実行に基づいて実施するシリアル通信制御手段とを有し、通信ソフトウェアが、
制御用メッセージの通信バスへの送信ないし通信バスからの受信のために、通信バスに接続されたシリアル通信インターフェースを駆動する駆動モジュールと、
駆動モジュールとアプリケーションとの間の送受信中継処理として、アプリケーションからの制御用メッセージの送受信要求を受け付けるとともに、駆動モジュールが受信した制御用メッセージをアプリケーションに転送する一方、アプリケーションから送信要求のあった制御用メッセージを駆動モジュールに転送する中継モジュールと、
アプリケーション状態管理手段による制御状態が、該アプリケーションにおける制御用メッセージの送受信に適した状態に遷移しているか否かを判定し、該判定結果に基づいて駆動モジュール及び中継モジュールに対する制御用メッセージの送受信に関する指令を行なう駆動管理モジュールと、
駆動モジュール、中継モジュール及び駆動管理モジュールのうち、少なくとも駆動管理モジュールからの異常発生報告を受け、駆動モジュール、中継モジュール及び駆動管理モジュールのそれぞれに一元的な異常発生通知を行なう異常監視モジュールと、を有することを特徴とする。
上記の構成によると、アプリケーションとシリアル通信バスとの間での通信メッセージの送受信処理が、駆動モジュールと、中継モジュールと、駆動管理モジュールとの連携により、制御状態に状態遷移に合わせて的確に実施することができる。そして、通信異常が発生した場合は、駆動モジュール、中継モジュール及び駆動管理モジュールのうち、少なくとも駆動管理モジュールからの異常発生報告を受け、駆動モジュール、中継モジュール及び駆動管理モジュールのそれぞれに一元的な異常発生通知を行なうようにしたから、これら3つのモジュールによる非同期のシリアル通信処理であるにもかかわらず、通信異常発生への対応処理を迅速かつ的確に実施できる。
この場合、駆動管理モジュール、中継モジュール及び駆動モジュールが、予め定められた異常状態が成立した場合に、いずれも異常監視モジュールに異常報告を個別に行なうように構成しておくと、各モジュールレベルに特有の通信異常にきめ細かく対応することができる。駆動管理モジュール、中継モジュール、駆動モジュール及び異常監視モジュールは、予め定められた時系列順序にて周期的に実行するようにしておくと、モジュール間の処理のコンフリクトが発生せず、時分割による効率的な非同期処理が可能となる。
異常監視モジュールは、異常発生時に通信ソフトウェアの動作をスリープ状態に移行させるスリープ指示を行なうものとして構成することができる。通信異常発生時にECUが余計な動作を行なわず一旦スリープすることで、ECU動作を介して異常不具合が以降の処理に伝播することを防止できる。また、再度通信が必要か否かを上位のアプリケーションからの指示を待って判断することで、シリアル通信全体への影響を少なくすることができる。
上記した機能からもわかる通り、中継モジュール及び駆動モジュールによる送受信処理の統括管理は駆動管理モジュールが行なっている。従って、スリープ状態に移行するためのハードウェアないしソフトウェアの準備設定を、適切なタイミングで実施できるようにする観点から、異常監視モジュールは、異常発生時に駆動管理モジュールを介して駆動モジュールにスリープ指示を行なうものとすることが望ましい。
駆動管理モジュール、中継モジュール及び駆動モジュールは、この順序にて周期的に実行することができる。中継モジュール及び駆動モジュールによる送受信タイミング調整をスムーズに行なうには、駆動管理モジュール、中継モジュール及び駆動モジュールをこの順序で立ち上げるのが合理的である。そして、異常監視モジュールは、駆動管理モジュール、中継モジュール及び駆動モジュールのいずれかから異常発生通知を受けることにより、それら駆動管理モジュール、中継モジュール及び駆動モジュールの全てにスリープ指令を行ない、制御ユニットハードウェアのスリープ設定を行なうように構成することで、上記のごとく異常発生時に駆動管理モジュールを介して駆動モジュールにスリープ指示を行なう処理もスムーズに進めることができる。
次に、本発明の自動車用制御ユニットは、アプリケーション状態管理手段が行なう状態遷移処理に伴い、遷移により設定された制御状態が制御状態特定情報の形で制御状態メモリに記憶されるよう構成することができる。この場合、駆動管理モジュールは、制御状態メモリの記憶内容に基づいてアプリケーション側の異常判定を行ない、異常監視モジュールに異常発生報告を行なうものとすることができる。通信異常が発生した場合、状態遷移設定の際に一度書き込まれた制御状態特定情報が、アプリケーション状態管理手段を司るソフトウェア以外による不正なメモリアクセスにより書き換えられることが多い。従って、これを利用すれば、制御状態メモリの記憶内容を確認することにより、通信異常の有無を容易に判定することができる。具体的には、制御状態メモリには、状態遷移が発生するたびに、制御状態特定情報とともに、そのミラー情報が記憶され、駆動管理モジュールは、該制御状態特定情報と該ミラー情報とを照合し、その照合結果に基づいて異常判定を行なうものとすることができる。ミラー情報は、アプリケーション状態管理手段が状態遷移設定に伴い、制御状態特定情報と対にして意図的に作成されるものであり、通信異常による不正アクセスでは、制御状態特定情報とそのミラー情報とが照合の取れた形で同時に書き換わる可能性は限りなくゼロに近い。従って、制御状態特定情報と対応するミラー情報との照合により、通信異常が発生したか否かを的確に判定することができる。
以下、本発明の実施の形態を、図面を参照して説明する。
図1は、本発明の自動車用スリープ制御システムの概念が適用されるECUの電気的な構成図である。ECU1は、CPU3、ROM5、RAM4及び入出力部(I/Oポート)2がバス接続されたマイクロプロセッサからなる。ECU1は、本実施形態では自動車のボデー系の制御を司るボデー系ECUとして構成され、図2はその概略アーキテクチャを示すものである。マイクロプロセッサからなるハードウェア制御主体上に搭載されるソフトウェアは、プラットフォームと、そのプラットフォーム上で動作する、ボデー系機能を実現するためのアプリケーションである。なお、複数のアプリケーションを区別するために、1〜nの記号を付して示した。プラットフォームは、ベースとなるハードウェアが相違する場合にも、各アプリケーションに共通の動作環境を与えるためのものであり、該アプリケーションに対する基本ソフト(OS)のほか、アプリケーションやハードウェアとの連携を図るインターフェースプログラムなどを含んで構成されるが、概念的には周知の部分なので説明の詳細は省略する。
図1は、本発明の自動車用スリープ制御システムの概念が適用されるECUの電気的な構成図である。ECU1は、CPU3、ROM5、RAM4及び入出力部(I/Oポート)2がバス接続されたマイクロプロセッサからなる。ECU1は、本実施形態では自動車のボデー系の制御を司るボデー系ECUとして構成され、図2はその概略アーキテクチャを示すものである。マイクロプロセッサからなるハードウェア制御主体上に搭載されるソフトウェアは、プラットフォームと、そのプラットフォーム上で動作する、ボデー系機能を実現するためのアプリケーションである。なお、複数のアプリケーションを区別するために、1〜nの記号を付して示した。プラットフォームは、ベースとなるハードウェアが相違する場合にも、各アプリケーションに共通の動作環境を与えるためのものであり、該アプリケーションに対する基本ソフト(OS)のほか、アプリケーションやハードウェアとの連携を図るインターフェースプログラムなどを含んで構成されるが、概念的には周知の部分なので説明の詳細は省略する。
アプリケーションは、車両利用者による車両各部の操作に係る機能であるボデー系機能を実現するものである。このボデー系機能とは、具体的には、ドア開閉に伴う制御、窓開閉に伴う制御、ライトスイッチのオン/オフに伴う制御、キーレスエントリ方式等に採用されるワイヤレスドアロック機構の制御、・・・といったものをいう。具体的には、以下のようなものを例示できる:
・運転席ドア、助手席ドア、後部右側座席ドア、後部左側座席ドア、ルーフなどのロック/ロック解除、パワーウィンドウ動作など。
・エアコン、カーオーディオ、カーナビゲーションシステムなどの電源動作など。
・ルームランプ、コックピットランプ、ヘッドライト、スモールランプ、ハザードランプ、テールランプなどのスイッチ点灯制御など。
各アプリケーション1、2、‥は、図1のROM5に記憶されており、RAM4の各アプリケーションに対応したワークエリア上でCPU3により実行される。
・運転席ドア、助手席ドア、後部右側座席ドア、後部左側座席ドア、ルーフなどのロック/ロック解除、パワーウィンドウ動作など。
・エアコン、カーオーディオ、カーナビゲーションシステムなどの電源動作など。
・ルームランプ、コックピットランプ、ヘッドライト、スモールランプ、ハザードランプ、テールランプなどのスイッチ点灯制御など。
各アプリケーション1、2、‥は、図1のROM5に記憶されており、RAM4の各アプリケーションに対応したワークエリア上でCPU3により実行される。
ECU1は、必要に応じて外部からのスイッチやセンサからの入力信号等も参照しつつ、各アプリケーションの実行により、前述した各種ボデー系の制御対象機器(被制御要素)の動作制御を司る。しかし、ECU1は、ある条件で、例えば、車両が駐車状態にある場合、又はあるスイッチ操作がない場合にはスリープモードに移行する。このスリープモードへの移行は、具体的には全てのアプリケーションが動作終了し、次の動作開始のための待機状態になっている場合に、ECU1全体を低消費電力モード(CPU3の動作クロックを与えるメインクロック回路8を停止したスタンバイモードや、通常動作と異なる低周波数の発振器で動作するスロークロックモード、あるいは一定時間ごとにCPUを間欠的に動作させる間欠モードなど)へ移行させる形で行なうものであり、その制御は図2のプラットフォーム部分が担うこととなる。
ECU1は、通信バスを介して他のハードウェア制御主体(例えば他のECU)と接続されており、シリアル通信によりウェイクアップ要因を判断すると動作を開始する。該ウェイクアップ要因を判断した場合、ウェイクアップ時のシステム設定(リソース設定など)を行なう。いずれも、そのシステム設定の後で複数のアプリケーションの状態が判定され、所定条件成立時にスリープ時のシステム設定を行ない、その後、スリープする。この判定を含めたECU1のスリープ状態への移行、及びウェイクアップのための準備制御などを統括的に司るのが、図1のスリープ管理・制御ソフトである。
図3に示すように、各アプリケーションによる制御は、プラットフォームの機能の一部として形成されたスケジューラによって、複数のアプリケーション1,2‥nが順次起動されることにより実施される。このとき、プラットフォーム内の状態管理プログラムが、一連のアプリケーションの状態をまとめて管理するようになっており、制御状態を判定して状態遷移処理を行なう。状態管理プログラムによる状態遷移処理を示すのが、図4の説明図である。状態管理プログラムは、アプリケーションの状態として3つの状態、すなわち準備状態α、制御状態β、そして、制御開始監視状態γを定義しており、図3に示したスケジューラによる一連の起動処理毎に、各アプリケーションからの信号に基づき、必要に応じて状態を遷移させる(アプリケーション状態管理手段)。
すなわち、リセット指示によって動作を開始している場合、最初は準備状態αとし、一方、ウェイクアップ要因を判断して動作を開始している場合、最初は制御開始監視状態γとする。そして、準備状態αにある場合、各アプリケーションから準備完了の通知があると、次に制御状態βへ状態を遷移させる(記号(1))。また、制御状態βにある場合、前述のスリープ管理・制御ソフトは、アプリケーションソフトウェア毎に異なる要求スリープ期間の開始時刻及び終了時刻を直接的又は間接的に特定するためのスリープ制御情報を取得し、全てのアプリケーションからスリープ制御情報を取得すれば、制御開始監視状態γへ状態が遷移する(記号(2))。
該状態遷移処理に伴い設定された制御状態は、状態データ(制御状態特定情報)の形で、図6に示すようなRAM4内の制御状態メモリに記憶される。このとき、状態データのミラーデータ(本実施形態では、状態データの各ビットの0/1を反転させたビット反転データとしてミラーデータを作成している)も作成し、個々の状態データに対応付けて記憶する。
各アプリケーションは、要求するスリープ期間をタイマー設定し、スリープとウェイクアップとを定期的に繰り返すようにプログラミングされている。例えば、キーレスエントリ方式が採用される場合、図1の「スイッチ/センサ等の入力」として、ユーザー携帯器からの無線信号が受信入力され、キーレスエントリ方式に対応したドアロック制御アプリケーションは、その受信スタンバイ期間を通常モード期間として、スリープ期間と交互に繰り返すようにECU1の作動制御を行なうこととなる。
他方、アプリケーションの一部又は全部は、上記のスリープサイクルとは無関係に、外部の操作信号(ライト点灯、ドアロック解除指令など)をトリガーとした割り込み処理指令を受けた場合も、これをウェイクアップ要因として随時ウェイクアップするようになっている。そして、その後一定期間ウェイクアップ要因がなければ要求スリープ期間が再設定され、スリープに移行する。
次に、アプリケーションが使用する制御用メッセージを受信する処理と、アプリケーションからの制御用メッセージをシリアル通信バス上に送信する処理とは、図1のCPU3(主制御部)による通信ソフトウェアの実行に基づいて実施される。シリアル通信バスとECU1の内部バスとは、シリアル通信インターフェース6を介して接続されている。また、受信メッセージを一時格納する受信バッファ6Bが設けられている。
通信ソフトウェアの階層構造を図5に示している。下層ほどハードウェア(ここでは通信バス)層に近く、上層ほどアプリケーション層に近いことを意味する。具体的には、下記のモジュール群よりなる。
・駆動モジュール(以下、DRVモジュールともいう):制御用メッセージの通信バスへの送信ないし通信バスからの受信のために、通信バスに接続されたシリアル通信インターフェース6を駆動する。
・中継モジュール(以下、COMモジュールともいう):駆動モジュールとアプリケーションとの間の送受信中継処理として、アプリケーションからの制御用メッセージの送受信要求を受け付けるとともに、駆動モジュールが受信した制御用メッセージをアプリケーションに転送する一方、アプリケーションから送信要求のあった制御用メッセージを駆動モジュールに転送する。
・駆動管理モジュール(以下、NMモジュールともいう):アプリケーション状態管理手段による制御状態が、該アプリケーションにおける制御用メッセージの送受信に適した状態に遷移しているか否かを判定し、該判定結果に基づいて駆動モジュール及び中継モジュールに対する制御用メッセージの送受信に関する指令を行なう。
・異常監視モジュール:駆動モジュール、中継モジュール及び駆動管理モジュールのうち、少なくとも駆動管理モジュール(本実施形態では、上記3つのモジュールの全て)からの異常発生報告を受け、駆動モジュール、中継モジュール及び駆動管理モジュールのそれぞれに一元的な異常発生通知を行なう。
・駆動モジュール(以下、DRVモジュールともいう):制御用メッセージの通信バスへの送信ないし通信バスからの受信のために、通信バスに接続されたシリアル通信インターフェース6を駆動する。
・中継モジュール(以下、COMモジュールともいう):駆動モジュールとアプリケーションとの間の送受信中継処理として、アプリケーションからの制御用メッセージの送受信要求を受け付けるとともに、駆動モジュールが受信した制御用メッセージをアプリケーションに転送する一方、アプリケーションから送信要求のあった制御用メッセージを駆動モジュールに転送する。
・駆動管理モジュール(以下、NMモジュールともいう):アプリケーション状態管理手段による制御状態が、該アプリケーションにおける制御用メッセージの送受信に適した状態に遷移しているか否かを判定し、該判定結果に基づいて駆動モジュール及び中継モジュールに対する制御用メッセージの送受信に関する指令を行なう。
・異常監視モジュール:駆動モジュール、中継モジュール及び駆動管理モジュールのうち、少なくとも駆動管理モジュール(本実施形態では、上記3つのモジュールの全て)からの異常発生報告を受け、駆動モジュール、中継モジュール及び駆動管理モジュールのそれぞれに一元的な異常発生通知を行なう。
DRVモジュールが最もハードウェア層に近く、COMモジュール、NMモジュール及び異常監視モジュールはアプリケーション層とDRVモジュール層との中間に位置する。なお、本実施形態では、通信容量の増大を図るために、シリアル通信バスを複数チャネルにて構成し、DRVモジュールとNMモジュールとはチャネル毎に設けられている。
図1のRAM4には、通信制御メモリが設けられている。図7に示すように、通信制御メモリには、通信バスから受信した制御用メッセージを格納する受信メッセージボックスメモリ、これから通信バスへ送信しようとしている制御用メッセージを格納する送信メッセージボックスメモリ、アプリケーションからの制御用メッセージの送信要求を受け付けて登録するための送信受付メモリ、NMモジュールによるDRVモジュールへの指令内容を格納するNM通知メモリ(送信用と受信用とが個別に設けられている)及び異常監視モジュールへの異常通知内容を記憶する異常通知メモリが設けられている。図8に示すように、アプリケーションとは別のスケジューラによって、NMモジュール、COMモジュール、DRVモジュール及び異常監視モジュールは、この順序で周期的に実行される。
図9は、NMモジュールの処理の流れを示すものである。まず、S3で対象となるアプリケーションの状態データを読み出し、S4でこれに対応するミラーデータを読み出す(図6参照)。S5では、読み出した状態データとミラーデータの照合処理を行なう。図6に示すように、本実施形態ではミラーデータは状態データのビット反転データに相当し、状態データが書き換わって、ミラーデータの対応するビットとの間で不整合が生じていれば、その否定排他的論理和の値がゼロとなる。従って、その値の全ビットに対するサムを演算し、そのサムがゼロであれば照合一致、ゼロでなければ照合不一致として判定される。S6でその判定結果が不一致であればS13に進み、異常監視モジュールに異常通知を行なって処理サイクルを終了する(本実施形態では異常通知メモリへの書込みによっているが、この形態に限られるものではない)。
他方、S6で照合一致ならば状態データに異常なしなので、S7でその状態が送信許可に適合した状態であるか否かを判定する。送信不可であれば処理サイクルを終了する一方、送信可能であればS9に進み、NM通知メモリに制御用メッセージの通信バスへの送出許可をセットする。また、S10では受信許可に適合した状態であるか否かを判定し、受信不可であれば処理サイクルを終了する一方、受信可能であればS11に進み、NM通知メモリに制御用メッセージのCOMモジュールへの転送許可をセットし、処理サイクルを終了する。
図10は、COMモジュールの処理の流れを示すものである。まず、S103では、先のサイクルでアプリケーションに転送してある制御用メッセージの、当該アプリケーションからの受領(アクノリッジ)があるかどうかを確認する。S104では、その結果を判定し、受領なしであればアプリケーション側の異常と判定してS112に進み、異常監視モジュールに異常通知を行なって処理サイクルを終了する。なお、NMモジュールと同様に、監視対象となる状態データと、ミラーデータとの照合処理に基づいて異常判定を行なうようにしてもよい。
他方、S104で「異常なし」であれば、S105で受信メッセージボックスメモリをリードし、S106で処理対象となるアプリケーションへの受信メッセージがあるかどうかを調べる。受信メッセージがあれば、S107で対応するアプリケーションへ受信メッセージを転送する(この結果に対して、次サイクル以降にアプリケーションからアクノリッジが返されることとなる)。一方、S106で受信メッセージがなければS107をスキップする。
次いで、S108では送信受付メモリをリードし、S109で処理対象となるアプリケーションからの制御用メッセージの送信要求があるかどうかを確認する。送信要求があればS110に進み、その制御用メッセージを受け付けてこれを送信メッセージボックスメモリにセットする。一方、S109で制御用メッセージの送信要求がなければS110をスキップする。以上で処理サイクルを終了する。
図11は、DRVモジュールの処理の流れを示すものである。まず、S203にて、通信バスに断線やショートなどのハードウェア異常がないかどうかを、ポート電圧などを参照して判定する。異常があれば、S217に進んで、シリアル通信インターフェース6(図1)の送受信動作を停止させる。そして、S218に進み、異常監視モジュールに異常通知を行なって処理サイクルを終了する。なお、NMモジュールと同様に、監視対象となる状態データと、ミラーデータとの照合処理に基づいて異常判定を行なうようにしてもよい。
S203でハードウェア異常が検出されなければ、S204に進んで受信バッファをリードし、S205で制御用メッセージを受信しているかどうか(受信していれば、そのヘッダIDの内容から、どのアプリケーションへの制御用メッセージなのか)を判定する。制御用メッセージを受信していれば、S206に進んでNM通知メモリをリードする(制御用メッセージが受信されていなければ、S209へジャンプする)。そして、S207で、COMへの転送許可が通知されているかどうかを確認し、転送許可されていれば、受信バッファ上の制御用メッセージを受信メッセージボックスメモリへ格納する(転送許可されていなければS208をスキップする)。
S209では送信メッセージボックスメモリをリードし、処理対象となるアプリケーションからの送信メッセージがあるかどうかを確認する。送信メッセージがあればS211に進み、NM通知メモリをリードする(送信メッセージがなければ、処理サイクルを終了する)。S212では、NM通知メモリの内容が、制御用メッセージの通信バスへの送出許可を示す内容か否かを確認し、送出許可になっていればS213へ進み、メッセージを通信バスへ送出する(送出許可がなされていなければ、そのまま処理サイクルを終了する)。
図12は、異常監視モジュールの処理の流れを示すものである。S301〜S303では、NMモジュール、COMモジュール及びDRVモジュールから、それぞれ異常通知(異常報告)があるかどうかを確認し、異常通知があれば、S306に進んで、各モジュールに対してスリープ設定を行なう。なお、あとで異常の原因をトレースする場合の便宜を図るため、各モジュールは、どのモジュールから異常通知があったかを区別できるように異常通知メモリに異常セットすることが望ましい(モジュール別に個別の異常通知メモリを設けておくことも可能である)。また、異常内容(例えば、異常の種別をコード化したもの)も合わせて異常通知メモリにセットすると、異常原因トレースがより容易になる。
図9〜図11に示すごとく、異常監視モジュールの上記機能により、どれかのモジュールから異常通知があった場合は、シリアル通信処理の動作を一旦停止するために、どのモジュールも直ちにスリープ対応処理を行なう。これにより、通信異常発生時には、ECU1が余計な動作を行なわず一旦スリープすることになり、ECU動作を介して異常不具合が以降の処理に伝播することを防止できる。また、再度通信が必要か否かを上位のアプリケーションからの指示を待って判断することも可能となり、シリアル通信全体への影響を少なくすることができる。
図12の処理流れからもわかる通り、異常監視モジュールは、各モジュールからの異常報告を受け付け、それらモジュールのスリープ移行処理を統括的に管理する。つまり、NMモジュール、COMモジュール及びDRVモジュールのいずれかから異常発生通知を受けることにより、それらNMモジュール、COMモジュール及びDRVモジュールの全てにスリープ指令を行ない、制御ユニットハードウェアのスリープ設定を行なうことが明らかである。
1 ECU(自動車用制御ユニット)
Claims (7)
- CPUからなる主制御部を有し、自動車上の他の制御ユニットとシリアル通信バスにより接続され、自動車上に搭載される電子機器の制御処理を、予め定められた複数のアプリケーションの実行に基づいて実施する自動車用制御ユニットであって、
前記アプリケーションによる前記電子機器の制御状態を管理するとともに、前記制御状態を判定して状態遷移処理を行なうアプリケーション状態管理手段と、
前記シリアル通信バスを介して前記アプリケーションが使用する制御用メッセージを受信する処理と、他方、前記アプリケーションからの制御用メッセージを前記シリアル通信バス上に送信する処理とを、前記主制御部による通信ソフトウェアの実行に基づいて実施するシリアル通信制御手段とを有し、前記通信ソフトウェアが、
前記制御用メッセージの前記通信バスへの送信ないし前記通信バスからの受信のために、前記通信バスに接続されたシリアル通信インターフェースを駆動する駆動モジュールと、
前記駆動モジュールと前記アプリケーションとの間の送受信中継処理として、前記アプリケーションからの制御用メッセージの送受信要求を受け付けるとともに、前記駆動モジュールが受信した制御用メッセージを前記アプリケーションに転送する一方、前記アプリケーションから送信要求のあった制御用メッセージを前記駆動モジュールに転送する中継モジュールと、
前記アプリケーション状態管理手段による制御状態が、該アプリケーションにおける前記制御用メッセージの送受信に適した状態に遷移しているか否かを判定し、該判定結果に基づいて前記駆動モジュール及び前記中継モジュールに対する前記制御用メッセージの送受信に関する指令を行なう駆動管理モジュールと、
前記駆動モジュール、前記中継モジュール及び前記駆動管理モジュールのうち、少なくとも前記駆動管理モジュールからの異常発生報告を受け、前記駆動モジュール、前記中継モジュール及び前記駆動管理モジュールのそれぞれに一元的な異常発生通知を行なう異常監視モジュールと、
を有することを特徴とする自動車用制御ユニット。 - 前記駆動管理モジュール、前記中継モジュール及び前記駆動モジュールが、予め定められた異常状態が成立した場合に、いずれも前記異常監視モジュールに異常報告を個別に行なう請求項1記載の自動車用制御ユニット。
- 前記駆動管理モジュール、前記中継モジュール、前記駆動モジュール及び前記異常監視モジュールを、予め定められた時系列順序にて周期的に実行する請求項1又は請求項2に記載の自動車用制御ユニット。
- 前記異常監視モジュールは、異常発生時に前記通信ソフトウェアの動作をスリープ状態に移行させるスリープ指示を行なう請求項1ないし請求項3のいずれか1項に記載の自動車用制御ユニット。
- 前記駆動管理モジュール、前記中継モジュール及び前記駆動モジュールがこの順序にて周期的に実行されるとともに、前記異常監視モジュールは、前記駆動管理モジュール、前記中継モジュール及び前記駆動モジュールのいずれかから異常発生通知を受けることにより、それら駆動管理モジュール、中継モジュール及び駆動モジュールの全てにスリープ指令を行ない、制御ユニットハードウェアのスリープ設定を行なう請求項4記載の自動車用制御ユニット。
- 前記アプリケーション状態管理手段が行なう前記状態遷移処理に伴い、遷移により設定された制御状態が制御状態特定情報の形で制御状態メモリに記憶され、
前記駆動管理モジュールは、前記制御状態メモリの記憶内容に基づいて前記アプリケーション側の異常判定を行ない、前記異常監視モジュールに異常発生報告を行なう請求項1ないし請求項5のいずれか1項に記載の自動車用制御ユニット。 - 前記制御状態メモリには、前記状態遷移が発生するたびに、制御状態特定情報とともに、そのミラー情報が記憶され、前記駆動管理モジュールは、該制御状態特定情報と該ミラー情報とを照合し、その照合結果に基づいて異常判定を行なう請求項6記載の自動車用制御ユニット。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005183557A JP2007001420A (ja) | 2005-06-23 | 2005-06-23 | 自動車用制御ユニット |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005183557A JP2007001420A (ja) | 2005-06-23 | 2005-06-23 | 自動車用制御ユニット |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007001420A true JP2007001420A (ja) | 2007-01-11 |
Family
ID=37687408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005183557A Withdrawn JP2007001420A (ja) | 2005-06-23 | 2005-06-23 | 自動車用制御ユニット |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007001420A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009274569A (ja) * | 2008-05-14 | 2009-11-26 | Denso Corp | 車両制御装置 |
JP2010241298A (ja) * | 2009-04-07 | 2010-10-28 | Denso Corp | 車両制御装置 |
KR20140007592A (ko) * | 2012-07-09 | 2014-01-20 | 콘티넨탈 오토모티브 시스템 주식회사 | 제어변수 검증결과에 기초한 차량 제어 방법 |
CN108363003A (zh) * | 2018-05-08 | 2018-08-03 | 新乡市荣泰电器有限公司 | 一种车载继电器状态监测方法及系统 |
CN115610346A (zh) * | 2022-09-29 | 2023-01-17 | 成都赛力斯科技有限公司 | 汽车风险控制方法、汽车、计算机设备和存储介质 |
-
2005
- 2005-06-23 JP JP2005183557A patent/JP2007001420A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009274569A (ja) * | 2008-05-14 | 2009-11-26 | Denso Corp | 車両制御装置 |
JP2010241298A (ja) * | 2009-04-07 | 2010-10-28 | Denso Corp | 車両制御装置 |
KR20140007592A (ko) * | 2012-07-09 | 2014-01-20 | 콘티넨탈 오토모티브 시스템 주식회사 | 제어변수 검증결과에 기초한 차량 제어 방법 |
CN108363003A (zh) * | 2018-05-08 | 2018-08-03 | 新乡市荣泰电器有限公司 | 一种车载继电器状态监测方法及系统 |
CN115610346A (zh) * | 2022-09-29 | 2023-01-17 | 成都赛力斯科技有限公司 | 汽车风险控制方法、汽车、计算机设备和存储介质 |
CN115610346B (zh) * | 2022-09-29 | 2024-04-12 | 重庆赛力斯凤凰智创科技有限公司 | 汽车风险控制方法、汽车、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100545131B1 (ko) | 제어시스템 | |
KR101393539B1 (ko) | 자동차 통합 네트워크 시스템 | |
CN111193649B (zh) | 车辆通信系统及其控制方法 | |
JP5174025B2 (ja) | 複数の制御機器がバスを介して接続された自動車におけるバスを介した通信の管理装置及び方法 | |
JP2009166549A (ja) | 車両用電子制御装置 | |
EP1975788B1 (en) | Electronic control apparatus | |
CN112087355A (zh) | 一种状态控制方法、装置、电子模块及can网络系统 | |
JP2013106200A (ja) | 車両用通信中継装置、スリープ制御方法 | |
US20080104438A1 (en) | Microcomputer, program and on-vehicle electronic controller | |
US6529530B1 (en) | Multiplex communicating method | |
US20210065478A1 (en) | Electronic control unit and non-transitory computer readable medium storing session establishment program | |
JP2007001420A (ja) | 自動車用制御ユニット | |
JP2007030593A (ja) | 電子制御装置 | |
US20070260900A1 (en) | High-performance microprocessor with lower-performance microcontroller in a vehicle network | |
JP5120720B2 (ja) | 電子制御装置及び電子制御装置の制御方法 | |
KR20170105348A (ko) | 차량의 차체 제어 모듈 제어 방법 및 장치, 그를 이용한 차량 제어 시스템 | |
JP4446170B2 (ja) | 自動車用スリープ制御システム | |
JP2006290162A (ja) | 自動車用制御ユニット | |
JP4446169B2 (ja) | 自動車用制御装置 | |
JP4457306B2 (ja) | 自動車用制御ユニット | |
JP5867350B2 (ja) | 車両用電子制御装置 | |
CN114253171A (zh) | 用于车辆的电子控制单元 | |
JP4419192B2 (ja) | 自動車用制御装置 | |
WO2022075006A1 (ja) | 電子制御装置及びウェイクアップ回路の診断方法 | |
JP7542042B2 (ja) | 車載装置、接続先通知方法および接続先通知プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070809 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090716 |