(57)【要約】【課題】複数の制御装置（ＥＣＵ）をネットワークを介して接続してなる車両用通信システムにおいて、各制御装置を効率よく動作させて、制御装置全体の稼働率を高め、各制御装置の資源を有効に活用できるようにする。【解決手段】各ネットワーク１０、２０、３０において各種制御対象機器を制御するのに必要な制御プログラムを、各ネットワークに接続された各ＥＣＵ毎に実行する必要のある固有タスクと、任意のＥＣＵにて実行可能なフロートタスクとに分け、そのフロートタスク実行用のプログラムを、各ネットワークに接続されたマネージャＥＣＵ４０にて管理する。そして、マネージャＥＣＵ４０は、車両の運転状態や乗員からの指示に応じて、そのとき実行すべきフロートタスクを特定し、そのフロートタスクを、処理負荷が低く、フロートタスクを実行可能なＥＣＵに実行させる。【選択図】　図１
2004038766.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載された複数の制御対象機器を制御するための制御プログラムを実行する複数の制御装置を、データ通信用のネットワークを介して接続してなる車両用通信システムであって、
前記各制御装置が実行する制御プログラムを、各制御装置固有の単位プログラムである固有タスクと、任意の制御装置で実行可能な単位プログラムであるフロートタスクとの２種類に分割し、
前記ネットワークに接続される制御装置の一つとして、
前記ネットワークを介して、前記各制御装置の処理負荷を監視し、処理負荷が低く前記フロートタスクを実行可能な制御装置に前記フロートタスクを実行させるタスク制御装置、
を設けたことを特徴とする車両用通信システム。
【請求項２】
前記フロートタスク実行用のプログラムは、前記タスク制御装置に記憶されており、
前記タスク制御装置は、前記フロートタスク実行用のプログラムを処理負荷が低く前記フロートタスクを実行可能な制御装置に転送することで、該制御装置に前記フロートタスクを実行させることを特徴とする請求項１記載の車両用通信システム。
【請求項３】
前記タスク制御装置は、前記ネットワークを介して車両状態を監視することにより、複数のフロートタスクの中から現在の車両状態で実行すべきフロートタスクを選定し、該選定したフロートタスクを、処理負荷が低く前記フロートタスクを実行可能な制御装置に実行させることを特徴とする請求項１又は請求項２記載の車両用通信システム。
【請求項４】
前記ネットワークは、前記複数の制御対象機器を系統別にグループ分けした各グループ毎に構築されており、
前記タスク制御装置は、該グループ毎に構築された複数のネットワークに接続されて、各ネットワークに接続された制御装置の中から前記フロートタスクを実行させる制御装置を選択することを特徴とする請求項１〜請求項３何れか記載の車両用通信システム。
【請求項５】
前記タスク制御装置は、前記フロートタスクを実行させるべき制御装置が優先順に登録されたテーブルを備え、該テーブルに登録された制御装置の中から、処理負荷が低く優先順位の最も高い制御装置を、前記フロートタスクを実行させる制御装置として選択することを特徴とする請求項１〜請求項４何れか記載の車両用通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、車両に搭載された複数の制御対象機器を制御するための制御プログラムを実行する複数の制御装置を、データ通信用のネットワークを介して接続してなる車両用通信システムに関する。
【０００２】
【従来の技術】
車両、特に自動車においては、省燃費、安全性向上、利便性向上等の市場の要求に対応すべく、電子化がどんどん進んでおり、車載機器を制御プログラムに従って制御する制御装置が増加している。
【０００３】
また、こうした制御装置の増加に伴い、各制御装置相互間での連係動作若しくはデータの共有化が必要になってきている。
そこで、従来では、車両に搭載された各制御装置間で、連係動作若しくは共有化のためのデータを送受信できるように、各制御装置を共通の通信線で互いに接続して、ネットワーク（所謂車載ＬＡＮ）を構築している。
【０００４】
【発明が解決しようとする課題】
ところで、このように各制御装置をネットワークを介して接続した車両用通信システムにおいては、各制御装置が他の制御装置との間で各種データを送受信できることから、各制御装置を車両各部に分散配置して、各制御装置とセンサ・アクチュエータ類とを簡単に接続できるようにしたり、各制御装置間でのデータの共有化によって車両に搭載するセンサ類を少なくしたり、或いは、複数の制御対象機器を連係動作させて車両制御をより最適に実行できるようにする、といったことが可能であるが、個々の制御装置は、予め設定された制御装置固有の制御プログラムのみを実行するように構成されていることから、制御対象の制御が不要なときにもその制御プログラムを実行するしかなく、制御装置の資源を有効に活用できないといった問題があった。
【０００５】
つまり、車両用通信システムにおいて、個々の制御装置は、夫々、センサやアクチュエータを接続するためのインタフェース回路等、各制御装置固有の回路素子と、制御プログラム実行用のマイクロプロセッサ、このマイクロプロセッサや他の内蔵回路に電源供給を行う電源回路、といった、他の制御装置と同じ回路素子と、から構成されているが、この内、マイクロプロセッサは、制御対象機器の制御が必要なときにだけ処理負荷が高くなり、制御対象機器の制御が不要なときには、処理負荷が低くなる。
【０００６】
例えば、車両の姿勢制御や制動制御を行う制御装置（所謂ＶＳＣＥＣＵ）では、車両の悪路走行時にはマイクロプロセッサの処理負荷が高くなるが、それ以外のときには、制御が不要であるため、マイクロプロセッサの処理負荷は低くなり、例えば、車両の定速走行制御を行う制御装置（所謂ＡＣＣＥＣＵ）は、運転者が定速走行制御を指示したときにだけマイクロプロセッサの処理負荷が高くなり、それ以外のときには、制御が不要であるため、マイクロプロセッサの処理負荷は低くなる。
【０００７】
このため、車両用通信システムにおいては、ネットワークに接続された制御装置全体の稼働率が低く、制御装置（特に各制御装置を構成するマイクロプロセッサ）を有効に活用できなかったのである。
本発明は、こうした問題に鑑みなされたものであり、複数の制御装置をデータ通信用のネットワークを介して接続してなる車両用通信システムにおいて、各制御装置を効率よく動作させて、制御装置全体の稼働率を高め、各制御装置の資源を有効に活用できるようにすることを目的とする。
【０００８】
【課題を解決するための手段】
係る目的を達成するためになされた請求項１記載の車両用通信システムにおいては、ネットワークに接続された各制御装置が実行する制御プログラムが、各制御装置固有の単位プログラムである固有タスクと、任意の制御装置で実行可能な単位プログラムであるフロートタスクとの２種類に分割されており、タスク制御装置が、ネットワークを介して各制御装置の処理負荷を監視し、処理負荷が低くフロートタスクを実行可能な制御装置にフロートタスクを実行させる。
【０００９】
つまり、本発明では、従来のように、個々の制御装置が、その装置固有の制御プログラム（固有タスク）だけを実行するのではなく、例えば、制御対象機器制御のためのセンサ信号の監視やデータの解析といった、いずれの制御装置でも実行可能な演算処理については、フロートタスクとして、処理負荷が低くその演算処理を実行可能な制御装置に動的に割り当てることにより、その割り当てられた制御装置が、固有タスクとフロートタスクを実行するようにしているのである。
【００１０】
このため、本発明の車両用通信システムによれば、フロートタスクを処理負荷が低くフロートタスクを実行可能な制御装置に割り当てることにより、ネットワークに接続された各制御装置を効率よく動作させて、制御装置全体の稼働率を高め、各制御装置の資源を有効に活用できることになる。
【００１１】
また、各制御装置は、それに対応した制御対象機器を制御するための全ての制御プログラムを実行する必要がないため、従来システムに比べて、各制御装置の処理機能を低下させることができることになり、この結果、システム全体を従来よりも安価に実現できる。
【００１２】
ここで、タスク制御装置が任意の制御装置に割り当てるフロートタスクの実行用のプログラムは、その割り当て対象となる各制御装置に記憶させておき、その実行・停止を、タスク制御装置が指示するようにしてもよいが、このようにすると、各制御装置に設けるメモリの容量が増大してしまう。
【００１３】
このため、フロートタスク実行用のプログラムは、請求項２に記載のように、タスク制御装置に記憶しておき、タスク制御装置が、そのプログラムを処理負荷が低くフロートタスクを実行可能な制御装置に転送することで、その制御装置にフロートタスクを実行させるようにするとよい。
【００１４】
つまり、このようにすれば、ネットワークに接続される各制御装置には、固有タスク実行用のプログラムが記憶されたメモリと、処理負荷の低いときに割り当てられるフロートタスク実行用のプログラムを一時的に格納するためのメモリとを設けておけばよく、しかも、そのフロートタスク実行用のプログラムを格納するためのメモリは、処理負荷の高いときに処理用のデータを格納するのに利用できることから、各制御装置の資源（この場合、メモリ）を有効に利用できることになる。
【００１５】
一方、フロートタスクとして設定される単位プログラムが複数存在する場合、タスク制御装置は、各フロートタスクを、常時、処理負荷の低い任意の制御装置に分散して割り当てるようにしてもよい。しかし、フロートタスクには、車両状態に応じて実行すべきものと実行しなくてよいものとが存在し、実行しなくてよいフロートタスクを制御装置に割り当る必要はない。このため、フロートタスクとして設定される単位プログラムが複数存在する場合には、タスク制御装置を、請求項３に記載のように構成するとよい。
【００１６】
即ち、請求項３に記載の車両用通信システムにおいて、タスク制御装置は、ネットワークを介して車両状態を監視することにより、複数のフロートタスクの中から現在の車両状態で実行すべきフロートタスクを選定し、その選定したフロートタスクを、処理負荷が低くフロートタスクを実行可能な制御装置に実行させる。
【００１７】
このため、この請求項３に記載の車両用通信システムによれば、複数のフロートタスクの内、そのとき実行すべきフロートタスクのみを、処理負荷が低くそのフロートタスクを実行可能な任意の制御装置に実行させることができることから、ネットワークに接続された各制御装置をより有効に動作させることができるようになる。
【００１８】
ところで、車両、特に自動車に構築されるネットワークは、通常、エンジン、変速機、制動装置、操舵装置等、車両の駆動・制動系の制御対象機器を制御するための車両制御系のネットワークや、ドアのロック・アンロック装置、盗難防止装置、運転席前方のフロントパネルに設けられた各種表示装置等、車両のボディ系の制御対象機器を制御するためのボディ系のネットワーク、或いは、ラジオ、テレビ、ナビゲーション装置等、車両に搭載された各種情報機器を制御するための所謂ＡＶＣ系のネットワーク、というように、複数の制御対象機器を系統別にグループ分けした各グループ毎に構築されている。
【００１９】
このため、本発明の車両用通信システムは、このように車両に構築される個々のネットワークに対して適用し、各ネットワーク毎に、タスク制御装置を設けるようにしてもよいが、より好ましくは、請求項４に記載のように、タスク制御装置を、車両に構築された複数のネットワークに接続されて、各ネットワークに接続された制御装置の中から、フロートタスクを実行させる制御装置を選択するようにするとよい。
【００２０】
つまり、このようにすれば、例えば、ＡＶＣ系のネットワークを構築している制御装置の内、その機能が停止している制御装置に対して、ボディ系或いは制御系の制御に必要な演算処理を実行させるというように、複数のネットワークに接続された制御装置の中から、処理負荷が低くフロートタスクを実行可能な制御装置を探して、その制御装置にフロートタスクを実行させることができるようになり、車両に搭載された制御装置をより有効に利用することができる。
【００２１】
また、タスク制御装置がフロートタスクを実行させる制御装置としては、処理負荷が低く、フロートタスクを実行可能な制御装置であればよいが、タスク制御装置側で、ネットワークに接続された全ての制御装置の中からフロートタスクを実行させる制御装置を探索するには時間がかかり、フロートタスクの実行開始が遅れてしまうことも考えられる。
【００２２】
このため、請求項５に記載のように、タスク制御装置には、フロートタスクを実行させるべき制御装置が優先順に登録されたテーブルを設けておき、タスク制御装置がフロートタスクを実行させる制御装置を設定する際には、そのテーブルに登録された制御装置の中から、処理負荷が低く優先順位の最も高い制御装置を選択するようにするとよい。
【００２３】
つまり、このようにすれば、タスク制御装置は、フロートタスクを実行させる制御装置を、より簡単に効率よく選択することができるようになり、タスク制御装置側での制御装置の選択動作によって、フロートタスクの実行開始が遅れてしまうといったことを防止できる。またこの場合、タスク制御装置は、予め設定された制御装置の中からフロートタスクを実行させる制御装置を選択するので、フロートタスクを効率よく実行可能な制御装置を選択することができるようになり、そのフロートタスクの実行により制御される制御対象機器の制御精度を確保することもできる。
【００２４】
【発明の実施の形態】
以下に、本発明の実施例を図面と共に説明する。
図１は、本発明が適用された実施例の車両用通信システムの構成を表す構成図である。
【００２５】
図１に示すように、本実施例の車両用通信システムは、エンジンＥＣＵ１２、ＡＣＣ・ＥＣＵ１３、ＶＳＣ・ＥＣＵ１４、電子スロットルＥＣＵ１５、ＥＣＴ・ＥＣＵ１６、…と、これら各ＥＣＵに制御指令を出力する統合制御ＥＣＵ１１とをデータ通信用の通信線Ｌ１を介して接続した車両制御系のネットワーク１０と、オーディオＥＣＵ２２、テレビ（ＴＶ）チューナＥＣＵ２４、ラジオチューナＥＣＵ２６、…をデータ通信用の通信線Ｌ２を介して接続した情報系（ＡＶＣ系）のネットワーク２０と、ボディＥＣＵ３２、メータＥＣＵ３４、ドアＥＣＵ３６、…をデータ通信用の通信線Ｌ３を介して接続したボディ系のネットワーク３０とから構成されている。
【００２６】
ここで、上記各ＥＣＵは、マイクロプロセッサを搭載し、車両に搭載された各種制御対象機器を制御するための各種制御プログラムを実行することにより、制御対象機器を運転者若しくは乗員が指示した最適な状態に制御するためのものであり、本発明の制御装置に相当する。
【００２７】
具体的には、エンジンＥＣＵ１２は、車両の動力源であるエンジンを制御するためのものであり、ＡＣＣ・ＥＣＵ１３は、車両を先行車両に一定車間距離で追従させるための制御を行うものであり、ＶＳＣ・ＥＣＵ１４は、車両の姿勢制御及び制動制御を行うものであり、電子スロットルＥＣＵ１５は、他のＥＣＵからの指令に従いエンジンのスロットルバルブの開度を制御するものであり、ＥＣＴ・ＥＣＵ１６は、自動変速機の変速制御を行うものであり、統合制御ＥＣＵ１１は、これら各ＥＣＵから得られる車両の走行状態やＡＣＣ・ＥＣＵ１３からの車両の加・減速指令に従い、エンジンＥＣＵ１２が制御するエンジンの目標トルク、ＥＣＴ・ＥＣＵ１６が制御する自動変速機の変速段、ＶＳＣ・ＥＣＵ１４が制御するブレーキ装置の制動力、といった各種制御量を演算して、他のＥＣＵに制御指令を出力するものである。
【００２８】
また、ＴＶチューナＥＣＵ２４及びラジオチューナＥＣＵ２６は、乗員からの指示に従いＴＶチューナやラジオチューナの選局制御を行うものであり、オーディオＥＣＵ２２は、乗員からの指示に従い、これら各チューナや他の音響機器或いは情報機器から出力される音声信号を選択して所定の処理を施し、図示しない車載スピーカから出力させる制御を行うものである。また、メータＥＣＵ３４は、車速、エンジン回転数、ドアの開閉状態、変速機のシフトレンジ等、車両の各種状態を表示装置に表示する制御を行うものであり、ドアＥＣＵ３６は、各ドアに設けられてドアのロック・アンロック等を行うものであり、ボディＥＣＵ３２は、図示しない受信機が受信した電子キーからの指令に従いドアＥＣＵ１４にドアのロック・アンロックを指令したり、ドアがロックされて乗員が車両から離れたときに図示しない盗難防止ＥＣＵを起動したりするためのものである。
【００２９】
次に、本実施例の車両用通信システムには、各ネットワーク間で必要な情報をやり取りするために、各ネットワーク１０，２０，３０の通信線Ｌ１〜Ｌ３に接続されたマネージャＥＣＵ４０が設けられ、このマネージャＥＣＵ４０が、所謂中継器として機能して、各ネットワーク間で必要な情報を共有できるようにされている。
【００３０】
また、マネージャＥＣＵ４０は、各ネットワーク１０，２０，３０を構成しているＥＣＵにて実行すべき制御プログラムの内、任意のＥＣＵで実行可能な各種演算用の単位プログラムについては、フロートタスクとして、内蔵メモリ（ＲＯＭ）に記憶しており、必要に応じて、そのフロートタスク実行用のプログラムを、処理負荷が低くフロートタスクを実行可能な任意のＥＣＵに転送することで、任意のＥＣＵに、そのとき実行すべきフロートタスクを実行させる、本発明のタスク制御装置としても機能する。
【００３１】
即ち、フロートタスクは、車両の駐車・停車・走行といった車両状態や乗員からの指示によって決まる車両モードに応じて、実行すべきものと実行する必要のないものとがあることから、マネージャＥＣＵには、図２の上段に示すように、車両モードに応じて実行すべきフロートタスクの種類を記述したプログラムテーブルが記憶されており、マネージャＥＣＵは、車両モードに応じて、そのとき実行すべきフロートタスク（図に示すオーナ検知プログラム、侵入検知プログラム、車間距離一定制御プログラム等）を選択し、その選択したフロートタスクを、任意のＥＣＵに実行させる。
【００３２】
また、マネージャＥＣＵには、図２の中段に示すように、各フロートタスクを実行させるべきＥＣＵを、第１候補、第２候補、第３候補、…として優先順に記述した担当ＥＣＵテーブル（請求項５に記載のテーブルに相当）も記憶されており、この担当ＥＣＵテーブルを用いて、優先順位の最も高いＥＣＵから順に、処理負荷が低くフロートタスクを実行可能なＥＣＵを探索することにより、各フロートタスクを実行させるＥＣＵを決定する。
【００３３】
また、マネージャＥＣＵは、各フロートタスクを実行させるＥＣＵを決定するために、各ＥＣＵの処理負荷を監視し、その監視結果を、図２の下段に示すようなＥＣＵ処理負荷テーブルとして記憶するようにされており、各フロートタスクを実行させるＥＣＵを決定する際には、担当ＥＣＵテーブルに加えて、このＥＣＵ処理負荷テーブルも利用する。
【００３４】
尚、ＥＣＵ処理負荷テーブルは、常時更新する必要があるため、書き換え可能なメモリ（ＲＡＭ等）に記憶され、プログラムテーブル及び担当ＥＣＵテーブルは、不揮発性のメモリ（ＲＯＭ等）に記憶される。
また、本実施例において、各ＥＣＵの処理負荷を表す情報としては、各ＥＣＵを構成するマイクロプロセッサにて実行可能な最大処理能力から現在の処理負荷を減じたＭＩＰＳ（Ｍｅｇａ　Ｉｎｓｔｒｕｃｔｉｏｎｓ　Ｐｅｒ　Ｓｅｃｏｎｄ　）値からなる負荷余裕度、各ＥＣＵに設けられたメモリ（ＲＡＭ）の空き容量を表すメモリ残量、各ＥＣＵの他のＥＣＵとの現在の通信状態から更に追加可能なフレーム数を表す通信余裕度、等から構成されており、ＥＣＵ処理負荷テーブルには、これらの情報が、各ＥＣＵの処理負荷を表す情報として、各ＥＣＵ毎に記録される。
【００３５】
以下、このようにマネージャＥＣＵ４０がフロートタスクを実行させる担当ＥＣＵを設定する担当ＥＣＵ設定処理と、この担当ＥＣＵ設定処理に対応して各ＥＣＵにて実行される制御処理について、図３及び図４に示すフローチャートを用いて説明する。
【００３６】
図３に示す担当ＥＣＵ設定処理は、マネージャＥＣＵ４０にて、マネージャＥＣＵ固有の固有タスクとして繰り返し実行される処理である。
この担当ＥＣＵ設定処理では、まずＳ１１０（Ｓはステップを表す）にて、各ネットワーク１０、２０、３０を介して、他のＥＣＵから現在の車両の運転状態や運転者からの指示状態を取得することにより、車両モードが現在認識している車両モードから変化したか否かを判断する。そして、車両モードが変化していなければ、そのままＳ２２０に移行し、車両モードが変化していれば、Ｓ１２０に移行して、図２のプログラムテーブルを探索することにより、変化後の車両モードに対応して実行すべきフロートタスク（実行開始プログラム）と、実行を停止すべきフロートタスク（実行停止プログラム）を特定する。
【００３７】
次に、Ｓ１２０にて実行開始・停止プログラムが特定されると、Ｓ１３０に移行して、車両モードの変化に伴い開始すべきフロートタスク（実行開始プログラム）があるか否かを判断し、実行開始プログラムがあれば、Ｓ１４０にて、そのプログラム情報（プログラムの種別、プログラムを実行するのに必要なＣＰＵ能力、同じくメモリ容量等）を読み込み、続くＳ１５０にて、このプログラム情報（個々ではプログラムの種別）に基づき、図２の担当ＥＣＵテーブルを探索することにより、フロートタスク（実行開始プログラム）を実行させるＥＣＵの候補を選択する。
【００３８】
また、続くＳ１６０では、この候補ＥＣＵの現在の処理負荷を、図２のＥＣＵ処理負荷テーブルから現在の処理負荷を読み出し、今後の負荷予測も加味して、候補ＥＣＵにて、フロートタスク（実行開始プログラム）を実行可能か否かを判断し、候補ＥＣＵにてフロートタスク（実行開始プログラム）を実行することができなければ、再度Ｓ１５０に移行して、フロートタスク（実行開始プログラム）を実行させるＥＣＵの候補を選択する。
【００３９】
尚、Ｓ１５０では、フロートタスク（実行開始プログラム）を実行させるＥＣＵの候補として、担当ＥＣＵテーブルに記述されたＥＣＵの中から、優先順位が高いＥＣＵを順に選択するようにされている。このため、Ｓ１５０では、Ｓ１６０にて否定判断される度に、前回候補として選択したＥＣＵよりも優先順位が低いＥＣＵが選択されることになる。
【００４０】
また、Ｓ１６０にて、候補ＥＣＵにてフロートタスク（実行開始プログラム）を実行できると判断されると、Ｓ１７０に移行して、その候補ＥＣＵを、フロートタスク（実行開始プログラム）を実行させる担当ＥＣＵとして設定した後、Ｓ１８０にて、その担当ＥＣＵに対して、ネットワークを介して、フロートタスク実行用のプログラムを転送する。
【００４１】
こうして、Ｓ１２０にて実行開始プログラムとして特定されたフロートタスクの担当ＥＣＵが決定され、その担当ＥＣＵにフロートタスク実行用のプログラムが送信されると、続くＳ１９０に移行し、Ｓ１２０にて実行開始プログラムとして特定された全てのフロートタスクに対する担当ＥＣＵの決定及びプログラムの転送がなされたか否かを判断する。そして、担当ＥＣＵの決定及びプログラムの転送を行っていない実行開始プログラム（フロートタスク）があれば、再度Ｓ１４０に移行し、上記Ｓ１４０〜Ｓ１８０の一連の処理によって、その実行開始プログラム（フロートタスク）に対する、担当ＥＣＵの決定及びプログラムの転送を実行させる。
【００４２】
一方、Ｓ１９０にて、全ての実行開始プログラム（フロートタスク）に対する担当ＥＣＵの決定及びプログラムの転送がなされたと判断されるか、或いは、Ｓ１３０にて、今回の車両モードの変化では開始すべきフロートタスク（実行開始プログラム）がないと判断された場合には、Ｓ２００に移行する。
【００４３】
そして、Ｓ２００では、車両モードの変化に伴い停止すべきフロートタスク（実行停止プログラム）があるか否かを判断し、実行停止プログラムがなければ、そのままＳ２２０に移行し、逆に、実行停止プログラムがあれば、Ｓ２１０に移行する。
【００４４】
そして、Ｓ２１０では、実行停止プログラム（フロートタスク）を現在実行している担当ＥＣＵに対し、ネットワークを介して、そのフロートタスク実行用のプログラムの消去指令を送信することにより、そのプログラムを消去させて、Ｓ１２０にて実行停止プログラムとして特定されたフロートタスクの実行を停止させ、続くＳ２２０に移行する。
【００４５】
次に、Ｓ２２０では、図２のプログラムテーブルに記述されたフロートタスクを実行させるＥＣＵとしてＥＣＵ処理負荷テーブルに登録された各ＥＣＵに対して、ネットワークを介して、現在の処理負荷状況を問い合わせる。そして、続くＳ２３０では、その問い合わせの結果得られた各ＥＣＵの現在の処理負荷状況に基づき、図２のＥＣＵ処理負荷テーブルを更新し、当該担当ＥＣＵ設定処理を一旦終了する。
【００４６】
次に、図４に示す制御処理は、マネージャＥＣＵ４０からフロートタスクの実行が指令される各ＥＣＵ（フロートタスク実行ＥＣＵ）にて実行される制御処理全体の動作を表すフローチャートである。
そして、このフローチャートから明らかなように、フロートタスク実行ＥＣＵでは、まず、Ｓ３１０にて、当該ＥＣＵ固有の固有タスクを実行し、続くＳ３２０にて、現在実行するように設定されているフロートタスクが有るか否かを判断し、実行すべきフロートタスクが有れば、Ｓ３３０にて、そのフロートタスクを実行する、といった手順で、各ＥＣＵ毎に設定されている固有タスクと、マネージャＥＣＵ４０から指示されたフロートタスクを実行する。
【００４７】
そして、これらのタスク実行中には、Ｓ３４０にて、現在の負荷状況（上述した負荷余裕度、メモリ残量、通信余裕度等）を演算し、Ｓ３６０にて、マネージャＥＣＵ４０から負荷状況の問い合わせが有ったか否かを判断して、負荷状況の問い合わせが有れば、Ｓ３６０にて、Ｓ３４０で求めた最新の負荷状況をネットワークを介してマネージャＥＣＵ４０に送信する、といった手順で、定期的に、負荷状況の演算・送信処理を実行する。
【００４８】
また同様に、フロートタスク実行ＥＣＵは、上記タスク実行中には、マネージャＥＣＵ４０側で実行されるプログラム転送処理（Ｓ１８０）、或いは、プログラム消去処理（Ｓ２１０）によって、マネージャＥＣＵ４０側から、フロートタスク実行用プログラムの更新指示が有ったか否かを判断し（Ｓ３７０）、フロートタスク実行用プログラムの更新指示が有れば、タスク処理の実行を一時停止する（Ｓ３８０）。
【００４９】
そして、Ｓ３８０にて、タスク処理を一時停止すると、Ｓ３９０にて、マネージャＥＣＵ４０側で実行されるプログラム転送処理（Ｓ１８０）によって、マネージャＥＣＵ４０から、フロートタスク実行用プログラムのロード指示が有ったか否かを判断し、プログラムのロード指示が有れば、Ｓ４００にて、マネージャＥＣＵ４０から送信されてくるフロートタスク実行用プログラムをメモリ（ＲＡＭ等）にロードする。
【００５０】
また、Ｓ３９０にて、プログラムのロード指示がないと判断されるか、或いは、Ｓ４００にて、フロートタスク実行用プログラムをロードした後は、Ｓ４１０に移行して、マネージャＥＣＵ４０側で実行されるプログラム消去処理（Ｓ２１０）によって、マネージャＥＣＵ４０側から、フロートタスク実行用プログラムの消去指示が有ったか否かを判断し、プログラムの消去指示が有れば、Ｓ４２０にて、マネージャＥＣＵ４０側から指示されたフロートタスク実行用プログラムをメモリから消去する。
【００５１】
また、Ｓ４１０にて、プログラムの消去指示がないと判断されるか、或いは、Ｓ４２０にて、指示されたプログラムを消去すると、今度は、Ｓ４３０に移行し、以降の処理で、上記一連の処理で更新したフロートタスク実行用プログラムを実行するように、レジスタ等を初期設定し、続くＳ４４０にて、タスク処理を再開する。
【００５２】
尚、図２の担当ＥＣＵテーブルから明らかな如く、マネージャＥＣＵ４０は、自らがフロートタスクを実行する担当ＥＣＵとなることもあるので、マネージャＥＣＵ４０においても、図４に示したフローチャートと略同様の処理手順で、制御処理が実行される。
【００５３】
即ち、図３に示した担当ＥＣＵ設定処理は、マネージャＥＣＵ４０において、固有タスクの一つとして実行される処理であることから、マネージャＥＣＵ４０は、この担当ＥＣＵ設定処理にて、自らがフロートタスクを実行するように設定するか、或いはフロートタスクの実行を停止するように設定すると、図４に示したＳ３８０〜Ｓ４４０と略同様の処理を実行することにより、タスク処理を一時停止して、自らが実行すべきフロートタスクの内容を更新し、その実行すべきフロートタスクを実行できるようにレジスタ等を初期設定し、タスク処理を再開するのである。
【００５４】
以上説明したように、本実施例の車両用通信システムにおいては、車両の制御系、ＡＶＣ系、ボディ系の各ネットワーク１０、２０、３０において各種制御対象機器を制御するのに必要な制御プログラムを、各ネットワーク１０、２０、３０に接続された各ＥＣＵ毎に実行する必要のある固有タスクと、任意のＥＣＵにて実行可能なフロートタスクとに分け、そのフロートタスク実行用のプログラムを、各ネットワーク１０、２０、３０に接続されたマネージャＥＣＵ４０にて管理し、マネージャＥＣＵ４０が、車両の運転状態や乗員からの指示に応じて、そのとき実行すべきフロートタスクを、処理負荷が低くそのフロートタスクを実行可能なＥＣＵに実行させるようにされている。
【００５５】
このため、本実施例の車両用通信システムによれば、各ネットワーク１０、２０、３０に接続されたＥＣＵを効率よく動作させて、システム全体でＥＣＵの稼働率を高め、各ＥＣＵの資源を有効に活用できる。また、本実施例によれば、従来システムのように、ネットワークに接続された各ＥＣＵに、制御対象機器を制御するのに必要な全ての制御プログラムを割り当てる必要がないため、従来システムに比べて、各ＥＣＵの処理機能を低下させることができることになり、この結果、従来システムと同じ機能をシステムを構築する際には、各ＥＣＵのコストを下げて、システム全体を、従来よりも安価に実現できるようになる。
【００５６】
また、特に、本実施例では、フロートタスク実行用のプログラムは、全て、マネージャＥＣＵ４０に記憶しておき、マネージャＥＣＵ４０が、必要に応じて、そのプログラムを他のＥＣＵに転送することで、そのＥＣＵにフロートタスクを実行させることから、各ＥＣＵ毎に、実行の対象となるフロートタスクのプログラムを記憶しておく必要がなく、各ＥＣＵのメモリの有効利用を図ることができる。
【００５７】
また、マネージャＥＣＵ２０がフロートタスクを実行させるＥＣＵは、図２に示した担当ＥＣＵテーブルによって、各フロートタスク毎に、優先順位を付けて予め設定されており、マネージャＥＣＵ２０は、その担当ＥＣＵテーブルとＥＣＵ処理負荷テーブルとを用いて、フロートタスクを実行させるＥＣＵを決定することから、フロートタスクを実行させるＥＣＵを、速やかに、しかも、より最適なＥＣＵに設定することができる。
【００５８】
以上本発明の実施例について説明したが、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。
例えば、上記実施例では、車両に構築された複数のネットワークに跨るように、マネージャＥＣＵ４０を設けることによって、マネージャＥＣＵ４０が、その接続されたネットワークの種別にかかわらず、フロートタスクを実行させるのに好適なＥＣＵを特定して、そのＥＣＵにフロートタスクを実行させることができるようにしたが、各系統のネットワーク毎に、マネージャＥＣＵ４０を設けて、各ネットワーク内でフロートタスクを実行させるＥＣＵを特定するように構成してもよい。
【００５９】
あるいは、各系統のネットワーク毎にマネージャＥＣＵを設ける代わりに、各系統を統括するＥＣＵ（例：統合制御ＥＣＵ，オーディオＥＣＵ，ボデーＥＣＵ）に各ネットワーク内でフロートタスクを実行させるＥＣＵを特定するようにしてもよい。
【００６０】
また、図２に示したプログラムテーブルには、車両モードとして、リモートエントリモード、セキュリティモード等があり、リモートエントリモードでは、電子キーからの電波によって車両乗員（オーナー）の接近を検出するオーナ検知プログラムや、ドアのロック・アンロックを遠隔操作によって行うためのリモートドアロックプログラムを実行し、セキュリティモードでは、車両への不正侵入を検出する侵入検知プログラムや、エンジンの始動を禁止するイモビプログラム等を実行するように設定されていることが記述されており、図２に示した担当ＥＣＵテーブルには、侵入検知プログラムを実行させるＥＣＵは、ボディＥＣＵ３２、メータＥＣＵ３４、マネージャＥＣＵ４０の順で設定され、リモートドアロックプログラムを実行させるＥＣＵは、ボディＥＣＵ３２、メータＥＣＵ３４、ドアＥＣＵ３６、マネージャＥＣＵ４０の順で設定されていることが記述されているが、これら各テーブルの内容は、本発明を適用する車両に応じて適宜設定すればよく、特に限定されるものではない。同様に、ＥＣＵ処理負荷テーブルについても、各ＥＣＵの処理負荷は、必ずしも負荷余裕度、メモリ残量、通信余裕度等の情報で表す必要はなく、適宜設定すればよい。
【図面の簡単な説明】
【図１】実施例の車両用通信システム全体の構成を表す構成図である。
【図２】マネージャＥＣＵが、実行すべきフロートタスクやそのフロートタスクを実行させる担当ＥＣＵを設定するのに用いるテーブルを表す説明図である。
【図３】マネージャＥＣＵにて実行される担当ＥＣＵ設定処理を表すフローチャートである。
【図４】フロートタスク実行ＥＣＵにて実行される制御処理を表すフローチャートである。
【符号の説明】
１０…制御系ネットワーク、１１…統合制御ＥＣＵ、１２…エンジンＥＣＵ、１３…ＡＣＣ・ＥＣＵ、１４…ＶＳＣ・ＥＣＵ、１５…電子スロットルＥＣＵ、１６…ＥＣＴ・ＥＣＵ、Ｌ１…通信線、２０…ＡＶＣ系ネットワーク、２２…オーディオＥＣＵ、２４…ＴＶチューナＥＣＵ、２６…ラジオチューナＥＣＵ、Ｌ２…通信線、３０…ボディ系ネットワーク、３２…ボディＥＣＵ、３４…メータＥＣＵ、３６…ドアＥＣＵ、４０…マネージャＥＣＵ。
【図１】
2004038766.tif 000003
【図２】
2004038766.tif 000004
【図３】
2004038766.tif 000005
【図４】
2004038766.tif 000006