(57)【要約】【課題】  送信キューのメモリ構造を単純なものに留めつつ、属性により送信優先順位の異なる複数種のメッセージをシリアル通信により送信する際の、送信順位調整の処理負担も小さくできる自動車用制御ユニットを提供する。【解決手段】  自動車用制御ユニット側からシリアル通信バス側へ送信される送信メッセージは、送信優先順位が予め定められた複数の属性に区分されてなる。そして、送信準備のために該送信メッセージを種別毎に一時格納するための複数の送信キュー２１〜２３が、送信メッセージの属性に対応して固有に設けられる。上記複数の送信キュー２１〜２３において、送信優先順位の高いものから優先的に送信メッセージを読み出してシリアル通信バスへの送信処理に供する。【選択図】    図３
2006273261.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵからなる主制御部を有し、自動車上の他の制御ユニットとシリアル通信バスにより接続され、自動車上に搭載される電子機器の制御処理を前記主制御部によるアプリケーションの実行に基づいて実施するとともに、前記制御処理に関与するメッセージの送受信処理を、前記主制御部による通信ソフトウェアの実行により前記シリアル通信バスを介して実施する自動車用制御ユニットであって、前記自動車用制御ユニット側からシリアル通信バス側へ送信される送信メッセージは、送信優先順位が規定された複数の属性に区分されてなり、
前記送信メッセージの前記属性に対応して固有に設けられ、送信準備のために該送信メッセージを前記種別毎に一時格納するための複数の送信キューと、
複数の前記送信キューにおいて、送信優先順位の高いものから優先的に前記送信メッセージを読み出して前記シリアル通信バスへの送信処理に供する送信制御手段と、
を有することを特徴とする自動車用制御ユニット。
【請求項２】
前記送信キューは、対応する属性のメッセージが時系列的に先に送信されるものから格納され、同じく先に送信されるものから送出されるＦＩＦＯメモリとして構成され、
その送出されたメッセージを前記送信キューと前記シリアル通信バスとの間に配置されたメッセージボックスに転送するメッセージ転送手段が設けられている請求項１記載の自動車用制御ユニット。
【請求項３】
前記メッセージボックスが、前記送信キューに個別に対応して複数設けられている請求項２記載の自動車用制御ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、自動車用制御ユニットに関し、特に自動車上の他の制御ユニットとシリアル通信バスにより接続された形で使用される自動車用制御ユニットに関する。
【背景技術】
【０００２】
【特許文献１】特開２００２−３１８７８３号公報
【０００３】
自動車には、各種機器（被制御要素）を制御するために、マイクロプロセッサ（ハードウェア制御主体）からなるＥＣＵが搭載されている。このようなＥＣＵとして、自動車上の他のＥＣＵと通信バスを介して通信できるようにしたマイクロプロセッサが使用されている。シリアル通信により処理を行なう場合、制御用のアプリケーションが使用する制御メッセージを、シリアル通信バスを介して受信する処理と、アプリケーションからの制御メッセージがシリアル通信バス上に送信する処理とが必要になるが、その送受信のタイミングが、アプリケーション側の制御状態と適合している必要がある。この場合、例えばＥＣＵハードウェアによる通信バスとの間の直接的なメッセージ送受信のための駆動処理と、送受信に係るメッセージを、通信ハードウェア側とアプリケーション側との間で中継する中継処理と、アプリケーション側の状態遷移と通信バスを介して接続された他のＥＣＵひいては通信バスの状態を監視し、送受信に係るメッセージの適切な中継タイミングの意思決定を行なう駆動管理処理とが、互いに独立して行なわれることが必要となり、それぞれが異なるプログラムモジュールにより非同期に実行されることとなる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のようなＥＣＵは、アプリケーションの制御処理に直接関与する制御メッセージや、駆動管理処理のため他のＥＣＵとの間で授受される管理メッセージなど、複数の属性のメッセージをシリアル通信により取り扱うことになる。そして、これらのメッセージには、属性によって送信の優先順位が定められていることも多い。送信メッセージは、送信受付順序の早いものからＦＩＦＯメモリなどで構成された送信キューに、優先順位とは無関係に時系列順に格納されるが、最終的な送信順序はメッセージ属性の優先順位に従って決定しなければならない。この際、メッセージに付与された通信ＩＤから送信優先順位を判定し、さらに送信キュー上でそれらのメッセージを属性に従った優先順にソーティングしなければならず、送信順位調整のための処理負担が大幅に増大する問題がある。特に、送信キューにＦＩＦＯメモリを用いる場合、ソーティングを可能とするためのメモリ構造（あるいはＲＡＭ上でＦＩＦＯメモリ機能を実現するためのソフトウェア）が非常に複雑化する問題がある。
【０００５】
本発明の課題は、送信キューのメモリ構造を単純なものに留めつつ、属性により送信優先順位の異なる複数種のメッセージをシリアル通信により送信する際の、送信順位調整の処理負担も小さくできる自動車用制御ユニットを提供することにある。
【課題を解決するための手段及び発明の効果】
【０００６】
上記の課題を解決するために、本発明の自動車用制御ユニットは、
ＣＰＵからなる主制御部を有し、自動車上の他の制御ユニットとシリアル通信バスにより接続され、自動車上に搭載される電子機器の制御処理を主制御部によるアプリケーションの実行に基づいて実施するとともに、制御処理に関与するメッセージの送受信処理を、主制御部による通信ソフトウェアの実行によりシリアル通信バスを介して実施する自動車用制御ユニットであって、自動車用制御ユニット側からシリアル通信バス側へ送信される送信メッセージは、送信優先順位が規定された複数の属性に区分されてなり、
送信メッセージの属性に対応して固有に設けられ、送信準備のために該送信メッセージを種別毎に一時格納するための複数の送信キューと、
複数の送信キューにおいて、送信優先順位の高いものから優先的に送信メッセージを読み出してシリアル通信バスへの送信処理に供する送信制御手段と、を有することを特徴とする。
【０００７】
上記本発明の構成によると、送信メッセージの属性毎に送信キューを設け、送信優先順位の高い送信キューから優先的に送信メッセージを読み出してシリアル通信バスへ送出するようにした。これにより、個々の送信キュー内ではメッセージに付与されたＩＤ等による送信優先順位の判定や、送信キュー上でメッセージを属性優先順にソーティングするといった処理が不要となり、送信順位調整のための処理負担が大幅に軽減される。
【０００８】
上記送信キューは、対応する属性のメッセージが時系列的に先に送信されるものから格納され、同じく先に送信されるものから送出されるＦＩＦＯメモリとして構成できる。属性別に送信キューが設けられることで、個々の送信キュー上では属性優先順位別のメッセージのソーティングが不要となる。従って、ＦＩＦＯメモリを用いることにより、同一属性のメッセージを時系列順にスムーズに送信することが可能となる。この場合、ＦＩＦＯメモリから取り出されたメッセージを、送信キューとシリアル通信バスとの間に配置されたメッセージボックスに転送するメッセージ転送手段を設けることができる。これにより、該メッセージボックスに格納されたメッセージをシリアル通信バス上に送出する処理を単純に繰り返えせばよく、メッセージの送信処理をより単純化できる。この場合、メッセージボックスも、送信キューに個別に対応して複数設けておくと、送信要求時に、次はどの送信キューからメッセージを取り出すかを判断する処理が不要となる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を、図面を参照して説明する。
図１は、本発明の自動車用スリープ制御システムの概念が適用されるＥＣＵの電気的な構成図である。ＥＣＵ１は、ＣＰＵ３、ＲＯＭ５、ＲＡＭ４及び入出力部（Ｉ／Ｏポート）２がバス接続されたマイクロプロセッサからなる。ＥＣＵ１は、本実施形態では自動車のボデー系の制御を司るボデー系ＥＣＵとして構成される。マイクロプロセッサからなるハードウェア制御主体上に搭載されるソフトウェアは、プラットフォームと、そのプラットフォーム上で動作する、ボデー系機能を実現するためのアプリケーションである。プラットフォームは、ベースとなるハードウェアが相違する場合にも、各アプリケーションに共通の動作環境を与えるためのものであり、該アプリケーションに対する基本ソフト（ＯＳ）のほか、アプリケーションやハードウェアとの連携を図るインターフェースプログラムなどを含んで構成されるが、概念的には周知の部分なので説明の詳細は省略する。
【００１０】
アプリケーションは、車両利用者による車両各部の操作に係る機能であるボデー系機能を実現するものである。このボデー系機能とは、具体的には、ドア開閉に伴う制御、窓開閉に伴う制御、ライトスイッチのオン／オフに伴う制御、キーレスエントリ方式等に採用されるワイヤレスドアロック機構の制御、・・・といったものをいう。具体的には、以下のようなものを例示できる：
・運転席ドア、助手席ドア、後部右側座席ドア、後部左側座席ドア、ルーフなどのロック／ロック解除、パワーウィンドウ動作など。
・エアコン、カーオーディオ、カーナビゲーションシステムなどの電源動作など。
・ルームランプ、コックピットランプ、ヘッドライト、スモールランプ、ハザードランプ、テールランプなどのスイッチ点灯制御など。
各アプリケーション１、２、‥は、図１のＲＯＭ５に記憶されており、ＲＡＭ４の各アプリケーションに対応したワークエリア上でＣＰＵ３により実行される。
【００１１】
ＥＣＵ１は、必要に応じて外部からのスイッチやセンサからの入力信号等も参照しつつ、各アプリケーションの実行により、前述した各種ボデー系の制御対象機器（被制御要素）の動作制御を司る。しかし、ＥＣＵ１は、ある条件で、例えば、車両が駐車状態にある場合、又はあるスイッチ操作がない場合にはスリープモードに移行する。
【００１２】
具体的には、ＥＣＵ１は、通信バスを介して他のハードウェア制御主体（例えば他のＥＣＵ）と接続されており、シリアル通信により、リセット指示又はウェイクアップ要因を判断すると動作を開始する。リセット指示があった場合はリセット時のシステム設定を行なう。一方、ウェイクアップ要因を判断した場合、ウェイクアップ時のシステム設定（リソース設定など）を行なう。いずれも、そのシステム設定の後で複数のアプリケーションの状態が判定され、所定条件成立時にスリープ時のシステム設定を行ない、その後、スリープする。この判定を含めたＥＣＵ１のスリープ状態への移行、及びウェイクアップのための準備制御等は、図１のスリープ管理・制御ソフトが統括的に司る。
【００１３】
各アプリケーションによる制御は、プラットフォームの機能の一部として形成されたスケジューラによって、複数のアプリケーション１，２‥ｎが順次起動されることにより実施される。このとき、プラットフォーム内の状態管理プログラムが、一連のアプリケーションの状態をまとめて管理するようになっており、制御状態を判定して状態遷移処理を行なう。アプリケーションの状態把握には、ＥＣＵ１内の各アプリケーションからの通知内容に加え、後述する管理メッセージ（ＮＭメッセージ）の受信により把握されるシリアル通信バスに接続された他のＥＣＵからの通知内容も参照する。また、ＥＣＵ１は、自身の制御状態を他のＥＣＵに通知するために、シリアル通信バスを介して管理メッセージを送信する。
【００１４】
制御処理に関与するメッセージの送受信処理は、図１のＣＰＵ３（主制御部）による通信ソフトウェアの実行に基づいて実施される。シリアル通信バスとＥＣＵ１の内部バスとは、シリアル通信インターフェース６を介して接続されている。また、受信メッセージを一時格納する受信バッファ６Ｂが設けられている。シリアル通信インターフェースには、シリアル通信バスから受信したメッセージを格納する受信メッセージボックスと、これからシリアル通信バスへ送信しようとしているメッセージを格納する送信メッセージボックスとが設けられている。そして、ＥＣＵ１（自動車用制御ユニット）側からシリアル通信バス側へ送信される送信メッセージは、送信優先順位が規定された複数の属性に区分されている。
【００１５】
通信ソフトウェアは、主として下記のモジュール群よりなる。
・駆動モジュール（以下、ＤＲＶモジュールともいう）：メッセージの通信バスへの送信ないし通信バスからの受信のために、通信バスに接続されたシリアル通信インターフェース６を駆動する。
・中継モジュール（以下、ＣＯＭモジュールともいう）：メッセージのうち、制御処理実行のためにアプリケーションが直接取り扱う属性のメッセージである制御メッセージに対し、駆動モジュールとアプリケーションとの間の送受信中継処理として、アプリケーションから制御メッセージの送受信要求を受け付けるとともに、駆動モジュールが受信した制御メッセージをアプリケーションに転送する一方、アプリケーションから送信要求のあった制御メッセージを、後述する複数の送信キューのうち、当該制御メッセージ属性に割り当てられた送信キューに格納する。
・駆動管理モジュール（以下、ＮＭモジュールともいう）：シリアル通信バスを介して接続された他の自動車制御ユニットとの間で、制御メッセージとは異なる属性の管理メッセージを送受信するとともに、他の自動車制御ユニットから取得した管理メッセージの内容に基づいて、シリアル通信バスがアプリケーションによる制御メッセージの送受信に適した状態に遷移しているか否かを判定し、該判定結果に基づいて駆動モジュール及び中継モジュールに対する制御メッセージの送受信に関する指令を行なう。
【００１６】
図１のＲＡＭ４には、通信制御メモリが設けられている。該通信制御メモリには、メッセージの送信要求を受け付けて、該メッセージの送信準備のためにこれを一時格納する送信キューが設けられている。
【００１７】
送受信に係るメッセージの属性は、図２の表にまとめて示すように、前述の制御メッセージ及び管理メッセージ（以下、ＮＭメッセージともいう）以外にも、例えばＤｉａｇメッセージがある。本実施形態では、制御メッセージの優先順位が最も高く、以下、ＮＭメッセージ（管理メッセージ）及びＤｉａｇメッセージの順に優先順位が下がるように定められているが、これに限られるものではない。
【００１８】
図３に示すように、送信キューは、送信メッセージの属性に一対一に対応する形で複数設けられている。本実施形態では、制御メッセージ用送信キュー２１、ＮＭメッセージ用送信キュー２２及びＤｉａｇ用送信キュー２３が設けられており、各々図１のＲＡＭ４内の通信制御メモリ領域内にてＦＩＦＯメモリとして形成されている。なお、送信キューのＦＩＦＯメモリの機能は、ＲＡＭ４（の通信制御メモリ）内にてソフトウェア的に実現されている（ただし、ＲＡＭ４とは別のＦＩＦＯメモリＩＣにて構成することも可能である）。
【００１９】
各送信キュー２１〜２３に格納されたメッセージは、送信キューとシリアル通信バスとの間に配置されたメッセージボックス（これも、ＲＡＭ４内の通信制御メモリ内に形成される）３１〜３３に転送される。メッセージボックス３１〜３３は、送信キュー２１〜２４に個別に対応して複数設けられており、シリアル通信バス上にメッセージを送出する際に、後述のＤＲＶモジュールが直接アクセスするのが、これらのメッセージボックス３１〜３３である。
【００２０】
図２には、メッセージのフォーマットの一例も合わせて示している。メッセージのデータ構造は、シリアル通信に対応したフレームデータの形で記述されており、フレーム開始ビットとフレーム終了ビットとの間に、以下のフィールドが直列配置されたものである。
・アービトレーションフィールド
データの属性識別情報（通信ＩＤ）が配置される。図２に示すように、本実施形態では、連番付与された通信ＩＤを番号順に複数群に区切り、その各ＩＤ群に、送信優先順にメッセージ属性を割り振った構成となっている。
・コントロールフィールド
データ長を規定するフィールドである。
・データフィールド
メッセージの本体データを格納するフィールドである。
【００２１】
以下、アービトレーションフィールドの通信ＩＤがどのように使用されるかについて、さらに説明する。シリアル通信バス上で複数のデータを伝送する場合、複数のデータ伝送アクセスが集中した時の制御方式として、いわゆるＣＳＭＡ／ＣＤ（Carrier Sense Multiple Access with Collision Detection）方式が知られている。基本的に、どのノード（ＥＣＵ）からのメッセージもバスに空きサイクルが存在していれば送信可能であるが、バス上のキャリア検出により他のノードがメッセージ送信中であることが判明した場合、そのメッセージの送信が完了するまで待って送信リトライする。他方、一般的なＣＳＭＡ／ＣＤ方式の場合、複数のメッセージの送信アクセスが重なって衝突が生じた場合は、その衝突を検出し、ノード毎に乱数規定される待ち時間が経過した後、送信リトライをかけることで、以降の衝突を防止するようにしている。
【００２２】
本実施形態の場合、前述のごとく通信ＩＤによりメッセージの属性が規定され、送信の優先順位が通信ＩＤの大小順に規定されている。そこで、この通信ＩＤの上位／下位の関係を利用して、図８に示すようなアービトレーション型のリトライ方式が採用されている。すなわち、複数ノードからのメッセージの送信が衝突を起こした場合、各ノードでは、自分が送信しようとしているメッセージの通信ＩＤとバス上の通信ＩＤとを照合し、上位のＩＤがバス上に検出された場合は、そのノードはメッセージの送信を停止する。このような処理を各ノードが実施することで、最終的には最も上位のＩＤのメッセージを送信しようとしているノードにのみバスへのアクセス権が生ずるよう、自然調停されることとなる。
【００２３】
他方、図２に示すメッセージ属性別に区分された通信ＩＤ群は、それぞれ、図３の属性別の送信キュー２１〜２３と一義的に対応付けられており、メッセージを送信する際には、付与された通信ＩＤに対応する送信キューに属性ごとの時系列順に格納され、格納の時系列の早いものからシリアル通信バス上に送出される。
【００２４】
図５は、送信キューへの送信メッセージの格納処理の流れを示すもので、Ｓ４０１で送信ＩＤをリードし、Ｓ４０２、Ｓ４０４及びＳ４０６ではメッセージの属性を判別し、Ｓ４０３、Ｓ４０５及びＳ４０７で、その属性に対応する送信キューにメッセージを格納する。なお、Ｓ４０８では、どの属性にも該当しないメッセージを破棄する処理を行なう。図３の送信キュー２１〜２４に格納されたメッセージは、時系列的に最も早く格納されたメッセージから順に、対応するメッセージボックス３１〜３４に、送信待機のために転送される（メッセージ転送手段：この処理は、例えばＮＭモジュールが実施する）。
【００２５】
メッセージボックス３１〜３４内のメッセージはＤＲＶモジュールによりリードされ、ＮＭモジュールにより送信許可されていれば、メッセージを通信バスへ送出する（送出許可がなされていなければ、そのまま処理サイクルを終了する）。図６は、その送信処理の流れを示すものであり、Ｓ５０１，Ｓ５０３及びＳ５０５では、優先順位の高い属性のメッセージから順に、対応するメッセージボックスの格納内容をリードし、メッセージがあればそのメッセージの送信処理を行って、送信処理のサイクルを終了するようにしている（Ｓ５０２，Ｓ５０４，Ｓ５０６）。例えば、Ｓ５０１で制御メッセージ用のボックスにメッセージがあれば、Ｓ５０２で、これを送信してサイクルが終了するので、ＮＭメッセージ以下のボックスにメッセージがあっても、その送信処理は次サイクル以降に回されることになる。
【００２６】
なお、図３では、送信キュー２１〜２３に一対一に対応するメッセージボックス３１〜３３を設けていたが、図４に示すように、複数の送信キュー２１〜２４により１つのメッセージボックス３０を共用化することも可能である。この場合、各送信キュー２１〜２３からメッセージボックス３０へメッセージを転送する処理を、メッセージ属性による送信優先順位を考慮して調停する送信準備処理が別途必要となる。図７は、その送信準備処理の流れを示すもので、Ｓ１５０１，Ｓ１５０２及びＳ１５０３では、優先順位の高い属性のメッセージから順に、対応する送信キューの格納内容をリードし、メッセージ（時系列的に最も前のもの）があればそのメッセージのメッセージボックスへの転送処理（Ｓ１５０４）を行って、処理サイクルを終了するようにしている（メッセージボックスにメッセージが既に格納されている場合は、空きが生ずるまで待機する）。例えば、Ｓ１５０１で制御メッセージ用の送信キューにメッセージがあれば、Ｓ１５０４で、これをメッセージボックスへ転送してサイクルが終了するので、ＮＭメッセージ以下の送信キューにメッセージがあっても、その転送処理は次サイクル以降に回されることになる。他方、ＤＲＶモジュールでは、メッセージの属性によらず、共通のメッセージボックス３０からシリアル通信バスへのメッセージの送信処理を一律に繰り返せばよい。
【図面の簡単な説明】
【００２７】
【図１】本発明の自動車用制御ユニットとして構成されたＥＣＵの一例を示すブロック図。
【図２】メッセージの属性と、メッセージのフレーム構造とを説明する図。
【図３】送信キューをメッセージ属性別に設ける第一例を示す概念図。
【図４】送信キューをメッセージ属性別に設ける第二例を示す概念図。
【図５】送信キュー制御処理の流れを示すフローチャート。
【図６】送信処理の流れを示すフローチャート。
【図７】送信準備処理の流れを示すフローチャート。
【図８】シリアル通信バスでの、メッセージ属性によるアクセス調停方式の概念を説明する図。
【符号の説明】
【００２８】
１  ＥＣＵ（自動車用制御ユニット）
２１〜２４  送信キュー
【図１】
2006273261.tif 000003
【図２】
2006273261.tif 000004
【図３】
2006273261.tif 000005
【図４】
2006273261.tif 000006
【図５】
2006273261.tif 000007
【図６】
2006273261.tif 000008
【図７】
2006273261.tif 000009
【図８】
2006273261.tif 000010