(57)【特許請求の範囲】
【請求項１】
自動車内に、周期的にメッセージの送信又は受信を行うエンジン制御装置又はＡＣＣ制御ユニットが接続された第１のネットワークと、
イベント又は要求に応じてメッセージの送信又は受信を行うナビゲーションシステム又はインターネット端末が接続された第２のネットワークと、
前記第１，第２のネットワークに接続され、前記第１のネットワークから周期的に送られてくるメッセージを受信する周期メッセージ受信手段と、該周期メッセージによって受信されたメッセージを記憶する記憶手段と、前回受信されたメッセージに含まれるデータの値が今回受信されたメッセージに含まれるデータの値と異なっているかどうかを調べることにより該記憶手段に記憶されたメッセージに含まれるデータの値の変化を検出するメッセージ値変化検出手段と、該メッセージ値変化検出手段によりデータの値の変化が検出された時に前記記憶手段に記憶されたデータからメッセージを生成し、該生成されたメッセージを前記第２のネットワークへ送出するイベントメッセージ送信手段とを有するゲートウェイとを有する自動車内の分散システム。
【請求項２】
自動車内に、予め定められた時間間隔で発生するメッセージが存在する第１のネットワークと、
イベント又は要求に応じて発生するメッセージが存在する第２のネットワークと、
前記第１，第２のネットワークに接続され、記憶部と処理部とを有するゲートウェイとを有する自動車内の分散システムであって、
前記ゲートウェイの前記処理部は、前記第１のネットワークから予め定められた時間間隔で発生するメッセージを前記記憶部に記憶し、前回受信されたメッセージに含まれるデータの値が今回受信されたメッセージに含まれるデータの値と異なっているかどうかを調べることによりデータの値の変化が検出された時に前記記憶部に記憶されたデータからメッセージを生成し、該生成されたメッセージを前記第２のネットワークへ送出する自動車内の分散システム。
【発明の詳細な説明】
技術分野
本発明は性質の異なる複数のネットワークを接続するゲートウェイおよびこのゲートウェイを用いた分散システムに関する。
背景技術
最近の自動車では、オーディオ機器，ナビゲーション装置，エンジン制御装置，ミッション等の駆動装置など様々な電子機器が搭載され、これらの電子機器はその性質に応じてネットワークに接続されている。情報系のネットワークには、オーディオ機器などのように外部からの入力（イベントの入力）によって動作するものが接続され、制御系のネットワークには、エンジン制御装置のように予め定められた周期で情報を出力するものが接続されている。
特開平11−8647号公報には、プロトコルが異なる複数のＬＡＮの間を接続するゲートウェイが記載されている。
しかしながら、上記従来技術では、いわゆる情報系のネットワークと制御系のネットワークのように性質の異なるネットワークを接続するゲートウェイについては開示されていない。より具体的には、イベントによって情報が伝達される情報系のネットワークと一定の周期で情報が伝達される制御系のネットワークとの間の情報の伝達については開示されていない。
発明の開示
本発明の目的は、情報系のネットワークと制御系のネットワークとを接続し、情報系のネットワークと制御系のネットワークとの間で情報交換を行うことができるゲートウェイおよびこのゲートウェイを用いた分散システムを提供することを目的とする。
上記目的を達成するための特徴は次の通りである。これらの特徴は、それぞれ単独でも組合せても本発明の目的を達成することができる。
ゲートウェイは、周期的に送出されるメッセージの送受信及びイベント又は要求に応じて送出するメッセージの送受信を行う。
また、ゲートウェイは、一のネットワークから受信した周期メッセージの変化を検出した際に、他のネットワークにメッセージを送信する。
また、ゲートウェイは、一のネットワークから受信したメッセージを周期的に他のネットワークに送信する。
【図面の簡単な説明】
【図１】本発明の一実施例のゲートウェイの構成を示す図である。
【図２】本発明の一実施例の周期メッセージ受信処理を示すフローチャートである。
【図３】本発明の一実施例の周期・イベントメッセージバッファの構成を示す図である。
【図４】本発明の一実施例のメッセージ値変化検出処理を示すフローチャートである。
【図５】本発明の一実施例のイベントメッセージ送信処理を示すフローチャートである。
【図６】本発明の一実施例の制御系ネットワークから情報系ネットワークへのメッセージ転送の動作例を示す図である。
【図７】本発明の一実施例のイベントメッセージ受信処理の流れを示すフローチャートである。
発明を実施するための最良の形態
以下、本発明の実施例を図を用いて詳細に説明する。
まず、本発明の第一の実施例について説明する。本発明は、イベントの発生により処理装置からネットワーク上にメッセージが出力されるイベントメッセージと、予め定められた一定の周期で処理装置からネットワーク上にメッセージが出力される周期メッセージとを対象にするものであり、イベントメッセージが出力される処理装置が接続されたネットワーク（以下、「情報系ネットワーク」と称す。）と周期メッセージが出力される処理装置が接続されたネットワーク（以下、「制御系ネットワーク」と称す。）との間で、メッセージの交換ができるようにするものである。
第１図は、本発明のゲートウェイの構成を示したものである。ゲートウェイ１０は、制御系ネットワーク２０と情報系ネットワーク３０に接続されている。本実施例の制御系ネットワーク２０及び情報系ネットワーク３０にはＣＡＮ（Controller Area Network）を用いている。
ゲートウェイ１０は、ＣＰＵ１００，メモリ２００，バス３００，制御系ネットワークコントローラ４００，制御系ネットワークドライバ５００，情報系ネットワークコントローラ６００，情報系ネットワークドライバ７００から構成されている。
ＣＰＵ１００，メモリ２００，制御系ネットワークコントローラ400、情報系ネットワークコントローラ６００は、信号線であるバス３００に接続されている。ＣＰＵ１００はメモリ２００に記憶されているプログラムを読み出して。制御系ネットワークコントローラ４００，制御系ネットワークドライバ５００，情報系ネットワークコントローラ６００，情報系ネットワークドライバ７００を制御して、制御系ネットワーク２０と情報系ネットワーク３０との間でメッセージの交換を行う。
制御系ネットワークコントローラ４００は制御系ネットワークドライバ５００と接続されており、制御系ネットワークドライバ５００は制御系ネットワーク２０に接続され、制御系ネットワーク２０へのメッセージ伝送を行う。情報系ネットワークコントローラ６００は情報系ネットワークドライバ７００と接続されており、情報系ネットワークドライバ７００は情報系ネットワーク３０に接続され、情報系ネットワーク３０へのメッセージ伝送を行う。
メモリ２００にはＯＳ（Operating System）２１０の他、制御系ネットワーク通信処理２２０，情報系ネットワーク通信処理２３０，周期メッセージ送信処理２４０，周期メッセージ受信処理２５０，イベントメッセージ受信処理２６０，イベントメッセージ送信処理２７０，メッセージ値変化検出処理２８０のアプリケーションプログラムが記憶されているとともに、イベント・周期メッセージバッファ２０１，周期・イベントメッセージバッファ２０２といったデータ記憶領域が存在する。
本実施例のＯＳ２１０としては、ＯＳＥＫ／ＶＤＸ発行、OSEK/VDX Operating System Version 2.0 revision 1 (1997)に記載のＯＳＥＫ−ＯＳを使用する。このようにＯＳを用いることで、アプリケーションプログラムをタスクとして、周期的に起動させたり、ネットワーク上のメッセージを受信したイベントで起動させたりすることができる。
また、制御系ネットワーク通信処理２２０としては、ＯＳＥＫ／VDX発行，OSEK/VDX Communication Version 2.1 revision 1 (1998)に記載のＯＳＥＫ−ＣＯＭを使用する。ＯＳＥＫ−ＣＯＭはメッセージ送信処理とメッセージ受信処理を行う機能を有している。また、メッセージに付されたＩＤで受信するメッセージを特定する機能を有している。従って、制御系ネットワーク２０上の周期メッセージの中から受信すべきメッセージを特定することができる。制御系ネットワーク２０へメッセージを送信する場合には、周期メッセージの送信処理を行うアプリケーションプログラムからＯＳＥＫ−ＣＯＭのAPI ServiceのひとつであるSend Message()を呼び出すことで、制御系ネットワークコントローラ４００を通してメッセージを制御系ネットワーク２０上に送出することができる。また、制御系ネットワーク２０からのメッセージの受信は、予め設定された受信すべきメッセージのＩＤを管理しており、同じＩＤが付されたメッセージを受信したときに制御系ネットワークコントローラ４００は受信割込みを行う。制御系ネットワークコントローラ４００からの受信割り込みにより制御系ネットワーク通信処理のメッセージ受信のための割り込み処理が起動され、制御系ネットワーク２０上のメッセージを取り込むことができる。取り込んだメッセージは、ＯＳＥＫ−ＣＯＭのAPI ServiceのひとつであるReceive Message()を呼び出すことで読み出すことができる。
本実施例では、情報系ネットワーク通信処理２３０も、ＯＳＥＫ−ＣＯＭを使用する。従って、情報系ネットワーク３０へのメッセージを送信する場合も同様に、イベントメッセージの送信処理を行うアプリケーションプログラムからＯＳＥＫ−ＣＯＭのAPI ServiceのひとつであるSend Message()を呼び出すことで実行され、情報系ネットワークコントローラ６００を通してメッセージを情報系ネットワーク３０上に送出することができる。また、情報系ネットワーク３０からのメッセージの受信は、予め設定された受信すべきメッセージのＩＤを管理しており、同じＩＤが付されたメッセージを受信したときに情報系ネットワークコントローラ６００は受信割込みを行う。情報系ネットワークコントローラ６００からの受信割り込みにより情報系ネットワーク通信処理のメッセージ受信のための割り込み処理が起動され、情報系ネットワーク３０上のメッセージを取り込むことができる。取り込んだメッセージは、ＯＳＥＫ−ＣＯＭのAPI ServiceのひとつであるReceive Message()を呼び出すことで読み出すことができる。
次に、本実施例のゲートウェイ１０の動作について説明する。まず、周期メッセージを扱う制御系ネットワーク２０から、イベントメッセージを扱う情報系ネットワーク３０へメッセージを転送する場合について説明する。
前述のように、制御系ネットワークコントローラ４００は制御系ネットワーク上の複数の周期メッセージの中から、所定のＩＤが付されたメッセージを受信すると、割込みを行う。これを受けてＯＳ２１０は、周期メッセージ受信処理２５０のプログラムを起動する。この周期メッセージ受信処理２５０のプログラムはひとつのタスクとして実行される。制御系ネットワーク２０上では、メッセージは周期的に送出されるので、この処理（タスク）も周期的に起動される。
周期メッセージ受信処理２５０の処理である周期メッセージ受信処理２５００の処理の流れを第２図を用いて説明する。周期メッセージ受信処理２５００は、まず制御系ネットワーク２０から取り込んだ受信メッセージを読み出す（処理２５０１）。これは、前述のように、制御系ネットワーク通信処理２２０のReceive Message()を呼び出すことで実行される。
次に、読み出したメッセージを周期・イベントメッセージバッファ２０２に記憶する（処理２５０２）。ここで、周期・イベントメッセージバッファ２０２の構造を第３図を用いて説明する。前述のようにメッセージにはＩＤ（識別子）がつけられている。周期・イベントメッセージバッファ２０２はメッセージＩＤ記憶領域２０２１０，今回値（最新のメッセージの値）記憶領域２０２２０，前回値（最新の１回前に受信したメッセージの値）記憶領域２０２３０を有する。さらにそれらの領域は、ＩＤ毎に記憶する領域に分けられる。すなわち、ＩＤ記憶領域２０２１０は、領域２０２１１，領域２０２１２，領域２０２１３等から成る。今回値記憶領域２０２２０は、それぞれのＩＤ毎に領域2021，領域２０２２２，領域２０２２３等から成る。前回値記憶領域20230も同様にＩＤ毎に、領域２０２３１，領域２０２３２，領域２０２３３等から成る。例えば、ＩＤ２のメッセージは、そのＩＤの値（２）が領域２０２１１に、今回値（２０）が領域２０２２１に、前回値（１８）が領域２０２３１に記憶される。
処理２５０２で、読み出したメッセージの値は、そのメッセージのＩＤに対応する今回値の記憶領域に記憶する。例えば、ＩＤの値が２のメッセージの場合、読み出したメッセージの値は領域２０２２１に記憶する。ＩＤの値が６のメッセージの場合は、読み出したメッセージの値は領域２０２２２に記憶する。
そして最後に、メッセージ値変化検出処理２８００を起動する（処理２５０３）。起動する場合、受信したメッセージのメッセージＩＤを渡す。
次に、メッセージ値変換検出処理２８０の処理である、メッセージ値変化検出処理２８００を第４図に用いて説明する。メッセージ値変化検出処理２８０は、前述のように、周期メッセージ受信処理から起動される。
メッセージ値変化検出処理２８００は、起動されるとまず、周期・イベントメッセージバッファ２０２に格納されたメッセージを読み出して、受信したメッセージの今回値が前回値と異なっているかどうかを調べる（処理２８０１）。例えば第３図において、ＩＤが２のメッセージであれば、今回値は２０、前回値は１８であり、異なる。ＩＤが６のメッセージであれば、今回値は６４００，前回値も６４００で同じである。
前回値と今回値が異なる場合には、イベントメッセージ送信処理270を起動し（処理２８０２）、前回値と今回値が同一の場合はそのまま終了する。
次に、イベントメッセージ送信処理２７０のプログラムである、イベントメッセージ送信処理２７００について第５図を用いて説明する。イベントメッセージ送信処理２７００は、制御系ネットワークからのメッセージを取り込み、その値が前回値と異なる場合に起動される。
イベントメッセージ送信処理２７００はまず、周期・イベントメッセージバッファ２０２から送信するメッセージの今回値を読み出す（処理２７０１）。例えば、第３図において、ＩＤが２のメッセージを送信しようとする場合は、領域２０２２１に記憶されている今回値の２０を読み出す。
そして次に、情報系ネットワーク通信処理２３０を呼び出して、メッセージの送信を行う（処理２７０２）。これは、前述のように、Send Message()を呼び出すことによって実現できる。本実施例では、制御系ネットワークと情報系ネットワークで同じＩＤでメッセージを転送する。制御系と情報系で異なるＩＤを用いることもできるが、その場合は制御系で用いるＩＤと情報系で用いるＩＤとの対応を記憶しておく。
最後に、周期イベントメッセージバッファ２０２の今回値を前回値として記憶する（処理２７０３）。例えば第３図において、ＩＤが２のメッセージの場合、領域２０２２１に記憶されている値を、領域２０２３１に記憶する。
以上が、周期メッセージを扱う制御系ネットワーク２０から、イベントメッセージを扱う情報系ネットワーク３０へのメッセージの転送の動作である。
制御系ネットワーク２０から情報系ネットワーク３０への転送の動作例を第６図を用いて説明する。第６図は第３図のＩＤが２のメッセージについて、制御系ネットワーク２０からの周期メッセージの受信タイミング、情報系ネットワーク３０へのイベントメッセージの送信タイミング、周期・イベントメッセージバッファのＩＤが２のメッセージの今回値の記憶領域２０２２１の変化の様子を示したものである。図は上方から下方へ時間が流れるように示している。
周期メッセージは一定周期で、２０２５１，２０２５２，２０２５３，２０２５４，２０２５５のように受信される。尚、ここでは周期メッセージ２０２５１の受信以前にメッセージの今回値は１５になっているものとしている。周期メッセージ２０２５１の値は１５，２０２５２，２０２５３，２０２５４の値は１８，２０２５５の値は２０である。周期メッセージ２０２５２を受信したとき、今回値が１５から１８に変化し、このタイミングで、値が１８のイベントメッセージ２０２６１が送出される。また、周期メッセージ２０２５５を受信したとき、今回値が１８から２０に変化し、このタイミングで値が２０のイベントメッセージ２０２６２が送出される。
以上のように、周期的に受信される制御系ネットワーク２０のメッセージは、その値が前回受信した値と異なる場合のみ、情報系ネットワーク３０に転送される。
次に、イベントメッセージを扱う情報系ネットワーク３０から、周期メッセージを扱う制御系ネットワーク２０へのメッセージの転送について説明する。本実施例では、制御系ネットワーク２０のすべてのメッセージの送信周期が同一としている。
イベントメッセージ受信処理２６０は、ひとつのタスクとして実行される。このタスクは、ＯＳ２１０によって、情報系ネットワーク上のメッセージの受信イベントで起動される。情報系ネットワーク３０上では、メッセージはイベントに応じて送出されるので、この処理（タスク）もそのイベントに応じて非周期的に起動される。
イベントメッセージ受信処理２６０の処理であるイベントメッセージ受信処理２６００の流れを第７図を用いて説明する。イベントメッセージ受信処理２６００は、まず情報系ネットワーク３０から取り込まれた受信メッセージを読み出す（処理２６０１）。これは、前述のように、情報系ネットワーク通信処理２３０のReceive Message()を呼び出すことで実行される。
次に、読み出したメッセージをイベント・周期メッセージバッファ２０１に記憶する（処理２６０２）。ここで、イベント・周期メッセージバッファ２０１の構造を第８図を用いて説明する。イベント・周期メッセージバッファ２０１はメッセージＩＤ記憶領域２０１１０，値記憶領域２０１２０を有する。さらにそれらの領域は、ＩＤ毎に記憶する領域に分けられる。すなわち、ＩＤ記憶領域２０１１０は、領域20111，領域２０１１２，領域２０２１３等から成る。値記憶領域２０１２０は、領域２０１２１，領域２０１２２，領域２０１２３等から成る。第８図で、例えば、ＩＤの値が１のメッセージの場合、読み出したメッセージの値は領域２０１２１に記憶する。ＩＤの値が５のメッセージの場合は、読み出したメッセージの値は領域２０２２に記憶する。
次に、周期メッセージ送信処理２４０の処理である、周期メッセージ送信処理２４００について、第９図を用いて説明する。周期メッセージ送信処理２４０は、制御系ネットワークのメッセージの送信周期にしたがって、ＯＳ２１０が周期的に起動をかける。前述のように、本発明の一実施例では、制御系ネットワーク２０のすべてのメッセージの送信周期が同一とする。
周期メッセージ送信処理２４００はまず、イベント・周期メッセージバッファ２０１から送信するメッセージの値を読み出す（処理2401）。尚、送信するメッセージは全てＩＤで管理している。例えば、第８図において、ＩＤが１のメッセージが送信するメッセージとして登録されている場合には、領域２０１２１に記憶されている今回値の１００を読み出す。
そして次に、制御系ネットワーク通信処理２２０を呼び出して、メッセージの送信を行う（処理２４０２）。これは、前述のように、Send Message()を呼び出すことによって実現できる。本実施例では、前述のように、制御系と情報系で同じＩＤでメッセージを転送する。制御系と情報系で異なるＩＤを用いることもでき、その場合は制御系で用いるＩＤと情報系で用いるＩＤとの対応を記憶しておく。
上記処理２４０１と処理２４０２をすべてのメッセージについて終了するまで繰り返す（処理２４０３）。
以上が、イベントメッセージを扱う情報系ネットワーク３０から、周期メッセージを扱う制御系ネットワーク２０へのメッセージの転送の動作である。
情報系ネットワーク３０から制御系ネットワーク２０への転送の動作例を第１０図を用いて説明する。第１０図は第７図のＩＤが１のメッセージについて、情報系ネットワーク３０からイベントメッセージの受信タイミング、制御系ネットワーク２０への周期メッセージの送信タイミング、イベント・周期メッセージバッファのＩＤが１のメッセージの値の記憶領域２０１２１の変化の様子を表わしている。図は上方から下方へ時間が流れるように描いてある。
イベントメッセージは、２０１６１，２０１６２，２０１６３のように受信される。イベントメッセージ２０１６１の値は８０、２０１６２の値は９０、２０１６３の値は１００である。一方、周期メッセージは、一定周期で、２０１５１，２０１５２，２０１５３，２０１５４，２０１５５のように送出される。周期メッセージの値は、送出する時点でのメッセージの値の記憶領域２０１２１の値が用いられる。したがって、周期メッセージ２０１５１，２０１５２，２０１５３の値は８０、周期メッセージ２０１５４，２０１５５の値は１００である。
なお、周期メッセージ２０１５３を送出した後、イベントメッセージ２０１６２の受信により値が９０に変化するが、次の周期メッセージ送出前にイベントメッセージ２０１６３の受信により値が１００に変化するため、値が９０のイベントメッセージは送出されない。
以上のようにイベントに応じて非周期的に受信される情報系ネットワークのメッセージは周期的に制御系ネットワークに転送される。
本実施例のゲートウェイを用いた自動車の分散システムの例を第１１図に示す。この分散システムは、制御系ネットワーク２０と情報系ネットワーク３０の２本のネットワークを有し、それらを以上説明してきたゲートウェイ１０で接続している。
制御系ネットワーク２０には、ゲートウェイ１０のほか、エンジンを制御するエンジン制御ユニット４０と、先行車との車間距離を一定に保って走行する制御を行うＡＣＣ（Adoptive Cruise Control）制御ユニット５０が接続されている。エンジン制御ユニット，ＡＣＣ制御ユニット，ゲートウェイ間は、周期メッセージにより情報をやりとりしている。
情報系ネットワーク３０には、ゲートウェイ１０のほか、進路誘導を行うナビゲーションシステム６０と、インターネットと接続して情報を取り込むためのインターネット端末７０が接続されている。ナビゲーションシステム，インターネット端末，ゲートウェイ間は、イベントメッセージにより情報をやりとりしている。
このようなシステム構成とすることで、ナビゲーションシステムとＡＣＣユニット間、あるいはナビゲーションシステムとエンジン制御ユニット間で情報をやりとりできる。たとえば、進路の制限速度情報をナビゲーションシステムからＡＣＣユニットに渡すことで、制限速度を超えない範囲で車間距離制御を行うという機能を実現することが可能になる。また、エンジン制御ユニットから回転数等のエンジンの状態情報をナビゲーションシステムに渡すことで、自動車の同乗者がナビゲーションシステムの画面でエンジンの状態を観察することができる。
以上、本発明の一実施例について詳細に説明した。
本発明の一実施例によれば、自動車内の情報系ネットワークと制御系ネットワークを有する分散システムにおいて、制御系ネットワークでは制御のための情報のやりとりに適した周期メッセージを、情報系ネットワークでは情報処理のための情報のやりとりに適したイベントメッセージを用いることができ、自動車内の制御系ネットワークと情報系ネットワークを効率よく接続できるという効果がある。
また、本発明の一実施例によれば、周期メッセージ受信処理は、制御系ネットワーク上のメッセージの受信イベントで起動した。これにより、周期メッセージの到着と同時にその受信処理を起動でき、また値が変化したときは、直ちにイベントメッセージを送出できる。これにより、制御系ネットワークから情報系ネットワークへのメッセージ転送にともなう時間遅れを最小にできるという効果がある。
また、本発明の一実施例によれば、制御系ネットワークと情報系ネットワークの両者にＣＡＮネットワークを用いた。このように両者に同一種類のネットワークとすることで、システム構成を単純にできるという効果がある。また、ハードウェイアとして、ＣＰＵとメモリおよび２つのＣＡＮコントローラを内蔵したマイクロコントローラを使用することができ、ゲートウェイをコンパクトに実装できるという効果もある。
本発明の一実施例の制御ネットワーク２０はＣＡＮを用いたが、SAE／Ｊ１８５０やＴＴＰ（Time-Triggered Protocol）等のネットワークでもよい。また、本発明の一実施例では情報系ネットワークにもＣＡＮを用いたが、Ｄ２Ｂ Optical，ＩＤＢ（ITS DATA Bus)，ＶＡＮ（Vehicle Area Network）等のネットワークを使用してもよい。制御系ネットワークと情報系ネットワークで異なるネットワークとすることができる。これらさまざまなネットワークを用いることで、より広範囲の自動車システムに対応できるという効果がある。また高速なネットワークを用いることで、システムの高性能化を実現できるという効果がある。
本発明の一実施例では、制御系ネットワーク通信処理２２０および情報系ネットワーク通信処理２３０に、ＯＳＥＫ−ＣＯＭの仕様にしたがったネットワーク通信処理を使用した。しかし、ＩＤＢその他、他の仕様にしたがった制御系ネットワーク通信処理あるいは情報系ネットワーク通信処理とすることもできる。これにより、より広範囲の自動車システムに適用できるという効果がある。
本発明の一実施例では、制御ネットワークの送信周期はメッセージによらず一定としたが、メッセージ毎に周期を変えることもできる。この場合は、メモリ２００内にＩＤと周期メッセージの送信タイミングとを対応付けて記憶しておく。ＯＳ２１０は、周期メッセージの送信タイミングに合わせて制御系ネットワーク通信処理２２０を起動するとともに、送信すべきメッセージのＩＤを渡す。制御系ネットワーク通信処理220は、ＯＳ２１０から渡されたＩＤに基づいてイベント・周期メッセージバッファからＩＤが一致するメッセージを読み出して、メッセージ送信処理を行う。これにより、メッセージ毎に最適な送信周期を設定することができ、ネットワークを効率的に使用できるという効果がある。
上記本発明の一実施例では、制御系ネットワークと情報系ネットワークの双方向のメッセージ転送を行った。しかし、制御系ネットワークから情報系ネットワークへの転送のみ、あるいは、情報系ネットワークから制御系ネットワークへの転送のみとしてもよい。これにより、情報のやりとりを制限し、セキュリティが向上するという効果がある。
上記本発明の一実施例では、周期メッセージ受信処理は、制御系ネットワーク上のメッセージの受信イベントで起動された。しかし、周期メッセージと同一の周期で起動してもよい。
ここで、周期メッセージ受信処理が周期メッセージと同一の周期で起動する場合について説明する。この場合には、メモリ２００内に受信すべきメッセージＩＤと周期メッセージ受信処理の起動タイミングとを対応づけ、送信すべきメッセージＩＤと周期メッセージ送信処理の起動タイミングとを対応付けて記憶する。ＯＳ２１０は、周期メッセージ受信処理の起動タイミングと周期メッセージ送信処理の起動タイミングとを管理し、周期メッセージ受信処理２５０，周期メッセージ送信処理240を起動する。また、ＯＳ２１０は、周期メッセージ送信処理２４０を起動する際に、送信すべき周期メッセージＩＤを渡す。これを受けて、第９図に示した周期メッセージ送信処理を実行し、渡されたＩＤに相当するメッセージの送信を行う。また、ＯＳ２１０は、周期メッセージ受信処理２５０を起動する際に、受信すべき周期メッセージＩＤを渡す。これを受けて、第２図に示した周期メッセージ受信処理を実行し、渡されたＩＤに相当するメッセージの受信を行う。
また、周期メッセージ受信処理を周期メッセージ送信処理と同一のタスクで実行してもよい。これにより、タスク構成を単純にできるという効果がある。
上記本発明の一実施例では、ＯＳを用い、ＯＳの機能によりタスクを起動した。しかしＯＳを用いず、周期メッセージ受信処理を制御系ネットワークコントローラからの割り込みにより、イベントメッセージ受信処理を情報系ネットワークコントローラからの割り込みにより、周期メッセージ送信処理をタイマーからの割り込みにより起動し、実行することもできる。これによりＯＳを用いず、コストを低減できるという効果がある。
上記本発明の一実施例では、ひとつの制御系ネットワークとひとつの情報系ネットワークを接続した。そのため、ひとつの制御系ネットワークとひとつの情報系ネットワークのそれぞれに対応して、ネットワーク２０，３０，ネットワークコントローラ４００，６００，ネットワークドライバ５０，７００を設けた。しかし、複数の制御系ネットワーク、あるいは複数の情報系ネットワークを接続することもできる。そのためには、複数の制御系ネットワークに対応して、制御系ネットワークコントローラ，制御系ネットワークドライバ，制御系ネットワークをその数分設ける。そして、制御系ネットワーク通信処理２２０には、ネットワークＩＤによって、それら複数の制御系ネットワークに振り分けるという機能を設ける。また、複数の情報系ネットワークに対応して、情報系ネットワークコントローラ、情報系ネットワークドライバ，情報系ネットワークをその数分設けて、それら複数の情報系ネットワークに振り分けるという機能を設ける。これにより、大規模なシステムに対応できるという効果がある。
上記本発明の一実施例の制御系ネットワークでは周期メッセージのみを用いた。しかし、制御系ネットワークにイベントメッセージと周期メッセージを混在させることもできる。この場合、制御系ネットワークから情報系ネットワークに転送するときには、周期メッセージについては本発明の一実施例と同様にイベントメッセージに変換して転送し、イベントメッセージについてはそのまま転送する。また、情報系ネットワークから制御系ネットワークに転送する場合は、本発明の一実施例のように周期メッセージに変換する方法と、イベントメッセージのまま転送する方法がある。メッセージにより使い分けることも可能である。これにより、制御系でもイベントメッセージを使用でき、変化の少ない情報をやりとりする場合にはネットワークの負荷を低減できるという効果がある。
上記本発明の一実施例の情報系ネットワークでは、イベントメッセージのみを用いた。しかし、情報系ネットワークにイベントメッセージと両者を混在させることもできる。この場合、情報系ネットワークから制御系ネットワークに転送するときには、イベントメッセージについては本発明の一実施例と同様に周期メッセージに変換して転送し、周期メッセージについてはそのまま転送する。制御系ネットワークから情報系ネットワークに転送する場合は、本発明の一実施例のようにイベントメッセージに変換する方法と、周期メッセージのまま転送する方法がある。メッセージにより使い分けることも可能である。これにより、情報系でも周期メッセージを使用でき、画像や音声のようなマルチメディア情報についてリアルタイム性を向上できるという効果がある。
上記本発明の一実施例の分散システムでは、制御系ネットワークと情報系ネットワークを独立構成のゲートウェイで接続したが、ゲートウェイの機能を制御系システムの制御ユニット内に設けてもよい。この実施例を第１２図に示す。本実施例では、制御系ネットワーク２０と情報系ネットワーク３０が存在する。制御系ネットワーク２０には、エンジン制御ユニット４０とＡＣＣ制御ユニット５０が接続されている。また、情報系ネットワーク３０には、エンジン制御ユニット４０とナビゲーションシステム６０が接続されている。本実施例では、エンジン制御ユニット４０内に、ゲートウェイ機能４１０を置き、エンジン制御ユニットにゲートウェイ機能を持たせている。ゲートウェイ機能４１０は、本発明の一実施例のゲートウェイと同様の方法で実現できる。これにより、独立したゲートウェイを用いずにすみ、コストを低減できるという効果がある。
上記本発明の一実施例では、ソフトウェイアによりゲートウェイの機能を実現したが、同じ機能をハードウェイアで実現してもよい。これにより、高速化できるという効果がある。
上記本発明の一実施例は、周期メッセージを伝達する制御系ネットワークと、イベントメッセージを伝達する情報系ネットワークを接続したが、周期メッセージを伝達するネットワークとイベントメッセージを伝達するネットワークであれば、制御系ネットワークと情報系ネットワークでなくてもよい。例えば、周期メッセージを用いるパワートレイン系制御ネットワークと、イベントメッセージを用いるボディ系制御ネットワークでもよい。また、自動車に限らなくてもよい。例えば、ＦＡ（Factory Automation），電力，鉄道，鉄鋼，その他多くのシステムにおいて、周期メッセージを扱うネットワークとイベントメッセージを扱うネットワークに適用できる。これにより、さまざまなネットワークを有する分散システムにおいて、効率よいゲートウェイを実現できるという効果がある。
産業上の利用可能性
産業機器，電力，鉄道，鉄鋼，自動車など複数種類のネットワークどうしが接続される分野において、適用することができる。
【図１】
0003736460.tif 000002
【図２】
0003736460.tif 000003
【図３】
0003736460.tif 000004
【図４】
0003736460.tif 000005
【図５】
0003736460.tif 000006
【図６】
0003736460.tif 000007
【図７】
0003736460.tif 000008