(57)【要約】【課題】  送信エラー等により処理が中断してもデータを失うことがないゲートウェイ装置を提供すること。【解決手段】  異なるネットワークに接続している車載装置間でのデータのやり取りを行う、ゲートウェイ装置１において、一時的に保存され、送信を待つデータに含まれる送信先を示すIDコードと、その後に受信される同じネットワーク側からのデータのIDコードとを比較して、同じIDコードかどうかをCPU２が判断し、同じIDコードと判断した際に、一時的に保存されている古いIDコードのデータをCPU２で破棄した。【選択図】        図１
2005159769.tif 000002
【特許請求の範囲】
【請求項１】
車内の車載装置で複数の車内ネットワークを形成し、
形成された異なるネットワーク間を接続して、
ネットワークから受信するデータを一時的に保存・変換して別のネットワークに送信し、
異なるネットワークに接続している車載装置間でのデータのやり取りを行う、
ゲートウェイ装置において、
一時的に保存され、送信を待つデータに含まれる送信先を示すIDコードと、その後に受信される同じネットワーク側からのデータのIDコードとを比較して、同じIDコードかどうかを判断するID判断手段を設け、
同ID判断手段で同じIDコードと判断した際に、一時的に保存されている古いIDコードのデータを破棄するデータ破棄手段を設けたことを特徴とするゲートウェイ装置。
【請求項２】
請求項１に記載されたゲートウェイ装置において、
車両内に形成されるネットワークがCANプロトコルを用いるものであり、
中継送信するデータの変換を少なくとも行うCPUを設け、
CANプロトコルに沿った処理を行うCAN通信処理部を前記CPUに設け、
受信したデータと送信しようとするデータを一時的に保存するメッセージボックスを前記CAN通信処理部に設け、
前記優先ID記憶手段としてRAMを前記CPUに設け、
前記RAMと前記メッセージボックスをバスで接続し、
送信しようとする複数のデータを前記RAM内に一時的に保存し、前記ID判断手段が前記RAM内のデータにおいて、同じIDがあるかどうかを判断し、
データ破棄手段が前記RAM内のデータにおいて、同じIDのデータの古いデータを破棄することを特徴とするゲートウェイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるネットワーク間に属する機器の通信を行うゲートウェイ装置の技術分野に属し、特に車載装置間の異なる通信ネットワーク間の通信を可能にするものに有用である。
【背景技術】
【０００２】
従来のゲートウェイ装置では、車両内に設けたAVC系、制御系のバス型のLANを接続するようにゲートウェイ装置を設け、OSIネットワークとTCP/IPネットワーク間でデータのやり取りを行っている（例えば、特許文献１参照。）。
【特許文献１】特開平１１−８６４７号公報（第２−５頁、全図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来のゲートウェイ装置にあっては、バス型のLANに接続しているため、受信したデータを変換して送信する際には、送信されるネットワーク側から見ると、通信バスに接続された機器の１つとなるため、バス型LANの通信方式に従って、送信することになる。よって、受信したデータの送信待ちが発生する。送信エラー等により送信できない状態が続くと、送信する予定のデータが溜まり、バッファがオーバーフローする場合があり受信したデータを記憶できなくなる。また、アボート（送信異常による処理の中断）した時は受信して送信できずに溜まっていたデータは全て破棄される。このため１回しか送られていないイベントデータが失われる場合があった。
【０００４】
本発明は、上記問題点に着目してなされたもので、その目的とするところは、送信エラー等により処理が中断してもデータを失うことがないゲートウェイ装置を提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明では、車内の車載装置で複数の車内ネットワークを形成し、形成された異なるネットワーク間を接続して、ネットワークから受信するデータを一時的に保存・変換して別のネットワークに送信し、異なるネットワークに接続している車載装置間でのデータのやり取りを行う、ゲートウェイ装置において、一時的に保存され、送信を待つデータに含まれる送信先を示すIDコードと、その後に受信される同じネットワーク側からのデータのIDコードとを比較して、同じIDコードかどうかを判断するID判断手段を設け、同ID判断手段で同じIDコードと判断した際に、一時的に保存されている古いIDコードのデータを破棄するデータ破棄手段を設けたことを特徴とする。
なお、本請求項中、「その後に受信されるデータのIDコードの比較」は、データが受信された際に処理されるもの、及び受信されたデータが一時的に保存される際に処理されるものを含むものとする。
【発明の効果】
【０００６】
よって、本発明にあっては、各IDのデータは最新のデータを１個記憶するため、送信エラー等により処理が中断してもデータを失うものがないようにでき、小さいバッファ容量でもシステムを成立させることができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明のゲートウェイ装置を実現する実施の形態を、請求項１，２に係る発明に対応する実施例１に基づいて説明する。
【実施例１】
【０００８】
まず、構成を説明する。
図１は実施例１のゲートウェイ装置を用いるCANシステムの構成を示す説明図である。図２は実施例１のゲートウェイ装置のブロック図である。図３は実施例１のゲートウェイ装置のCPUのCAN通信処理部とRAM部分の説明図である。図４は実施例１のゲートウェイ装置の送信データの一時保存するデータ構造を示す説明図である。図５は実施例１のゲートウェイ装置の受信処理の流れを示すフローチャート図である。図６は実施例１のゲートウェイ装置の送信処理の流れを示すフローチャート図である。図７は実施例１のゲートウェイ装置の古いID送信データを破棄する処理の流れを示すフローチャート図である。図８は従来の受信処理の流れを示すフローチャート図である。図９は従来の送信処理の流れを示すフローチャート図である。
実施例１のゲートウェイ装置１は、車両内の車載機器Ａ２〜Ａ６をバス型通信線Ａ１に接続して構成されるネットワークＡと、車載装置Ｂ２〜Ｂ６をバス型通信線Ｂ１に接続して構成されるネットワークＢとを接続して設けられる。
【０００９】
ゲートウェイ装置１は、図２に示すようにCPU２（データ破棄手段、ID判断手段に相当する）、トランシーバ３ａ，３ｂ、電源回路４、発振子５、EEPROM６、終端抵抗７ａ，７ｂを主要な構成としている。
【００１０】
トランシーバ３ａ，３ｂは、通信線Ａ１，Ｂ１と終端抵抗７ａ，７ｂを介して接続し、かつ、CPU２と接続し、それぞれが２本の線からなる通信線Ａ１，Ｂ１から受信したデータをCPU２と接続し、それぞれが２本の線からなる通信線Ａ１，Ｂ１から受信したデータをCPU２が入力できる信号にしてCPU２へ出力し、CPU２が出力した信号をそれぞれが２本の線からなる通信線Ａ１，Ｂ１を流せる信号（CANプロトコルに従った通信信号）にして通信線Ａ１，Ｂ１へ送信する。
【００１１】
電源回路４は、CPU２及び周辺回路に電源を供給する。
発振子５は、CPU２での通信への同期処理、信号生成に使用する発振信号をCPU２に出力する。
【００１２】
EEPROM６は、ネットワークＡ，Ｂに出力するメッセージIDを登録保存し、CPU２からの指令に応じて、CPU２にメッセージデータを出力する。また、CPU２からの指令に応じて保存した内容を消去する。なお、メッセージIDの数は限られたものとする。
CPU２には、トランシーバ３ａ，３ｂとCAN通信用の送受信を行う通信部２１ａ，２１ｂ（CAN通信処理部に相当する）を設ける。この内、通信部２１ａについて説明すると、CAN通信プロトコルに沿ったデータに変換するプロトコルコア部２１１ａ、通信線へのアクセスを制御するアクセス制御部２１２ａ、送受信するデータを一時的に溜めておくメッセージボックス２１３ａを備えている。
また、CPU２には、ROM２３、RAM２４が設けられている。
【００１３】
ウォッチドッグタイマ部２２は、例えば実行されるルーチンの終わりのフラグを検出するなどして、CPU２で実行される処理に異常が生じていないかどうかを監視する。
ROM２３は、CPU２で行う処理の内容やデータが保存されている。
RAM２４は、通信部２１ａ，２１ｂにより受信したデータを必要に応じてプロトコル変換して送信用データにしたものを一時的に保存しておく。
【００１４】
ここで、ゲートウェイ装置１のCPU２で受信したデータ及びRAM２４で一時的に保存する際のデータ保存構造について説明する。
CAN通信で受信したデータは、図４に示すように送信先を示すIDとデータを結合した構造になっている。
この受信データのRAM２４での保存構造は、受信データに加え、保存場所を示すアドレス、受信データをセーブするアドレスを示すポインタであるセーブポインタS_Po、送信するデータのアドレスを示すポインタであるトランスミットポインタT_Po、同じIDの破棄の処理に使用する一時的なポインタであるS_PoID、T_PoIDを含むよう構成される。また、このデータ保存構造は、FIFO（ファーストインファーストアウト）方式によるデータの入出を行うものである。
【００１５】
次に、作用を説明する。
【００１６】
［受信処理の流れ］
図５は実施例１のゲートウェイ装置１のCPU２で実行される受信処理の流れを示すフローチャートで、以下、各ステップについて説明する。
【００１７】
ステップＳ１１では、データを受信したことにより割り込みを行う。
【００１８】
ステップＳ１２では、受信したデータのIDを読み取る。
【００１９】
ステップＳ１３では、IDの示す送信先が、ゲートウェイ処理を行う送信先になっているかどうかを判断し、ゲートウェイ処理を行うIDと判断したならばステップＳ１４に移行し、ゲートウェイ処理を行わないIDと判断したならばステップＳ２１に移行する。
【００２０】
ステップＳ１４では、受信データを保存するRAM２３から、セーブポインタS_Poを読み出す。
【００２１】
ステップＳ１５では、読み出したセーブポインタS_Poに対応するアドレスにIDを保存する。
【００２２】
ステップＳ１６では、受信したデータのデータ部分を読み取る。
【００２３】
ステップＳ１７では、読み取ったデータ部分をセーブポインタS_Poに対応するアドレスにデータを保存する。
【００２４】
ステップＳ１８では、セーブポインタS_Poをインクリメントする。
【００２５】
ステップＳ１９では、セーブポインタS_Poがデータ構造上の最後に達したかどうかを判断する。
【００２６】
ステップＳ２０では、セーブポインタS_Poのデータ内容をリセットする。
【００２７】
ステップＳ２１では、割り込みフラグをクリアする。
【００２８】
ステップＳ２２では、割り込み処理をリターンする。
【００２９】
［送信処理の流れ］
図６は実施例１のゲートウェイ装置１のCPU２で実行される送信処理の流れを示すフローチャートで、以下、各ステップについて説明する。
【００３０】
ステップＳ３１では、送信処理をスタートさせる。
【００３１】
ステップＳ３２では、送信処理が完了しているかどうかを判断し、送信完了ならばステップＳ３３に移行し、送信完了でないならばステップＳ４０に移行する。
【００３２】
ステップＳ３３では、RAM２４のFIFO方式による一時保存データ構造にデータが収容されているかどうかを判断し、データが収容されているならばステップＳ３４に移行し、データが収容されていないならばステップＳ４４に移行する。
【００３３】
ステップＳ３４では、RAM２４のデータ構造に収容されているデータが複数フレームあるかどうかを判断し、複数ある場合にはステップＳ３５に移行し、複数ない場合にはステップＳ３６に移行する。
【００３４】
ステップＳ３５では、同じIDデータにおける古いデータの破棄処理を行う。
【００３５】
ステップＳ３６では、送信データをセットする。
【００３６】
ステップＳ３７では、送信要求をセットする。
【００３７】
ステップＳ３８では、送信するデータのアドレスを示すトランスミットポインタT_Poに１０を加え、次の送信するデータを指すようにオフセットさせる。
【００３８】
ステップＳ３９では、送信タイマをセットし、カウントアップする。
【００３９】
ステップＳ４０では、カウントアップされる送信タイマがタイムアップしているかどうかを判断し、タイムアップしているならばステップＳ４１に移行し、タイムアップしていないならばステップＳ４４に移行する。
【００４０】
ステップＳ４１では、送信要求をリセットする。
【００４１】
ステップＳ４２では、タイマをクリアする。
【００４２】
ステップＳ４３では、アボートフラグをセットする。
【００４３】
ステップＳ４４では、処理を終了する。
【００４４】
［同じIDの古いデータ破棄処理］
図７は実施例１のゲートウェイ装置１のCPU２で実行される送信処理におけるステップＳ３５の同じIDデータの破棄処理の流れを示すフローチャートで、以下、各ステップについて説明する。
【００４５】
ステップＳ３５１では、同じIDデータの古いデータの破棄処理をスタートする。
【００４６】
ステップＳ３５２では、受信データをセーブするアドレスを示すポインタであるS_Poに対して、S_Po-10（アドレスオフセット）を一時的なポインタであるS_PoIDにする。
【００４７】
ステップＳ３５３では、送信するデータのアドレスを示すポインタであるT_Poを一時的なポインタであるT_PoIDにする。
【００４８】
ステップＳ３５４では、(S_PoID-T_PoID)/10を演算し、サーチするID数を算出してCOUNT2値にする。
【００４９】
ステップＳ３５５では、受信したデータのIDがS_PoIDの示すアドレスのデータのIDと同じかどうかを判断し、同じであるならばステップＳ３５６に移行
し、同じでないならばステップＳ３５９に移行する。
【００５０】
ステップＳ３５６では、T_PoIDとS_PoIDが同じかどうかを判断し、同じであればステップＳ３６２へ移行し、同じでないならばステップＳ３５７に移行する。
【００５１】
ステップＳ３５７では、S_PoIDのデータがT_PoIDのデータで上書きされ、同一IDのデータが破棄される。
【００５２】
ステップＳ３５８では、T_PoID＋10（アドレスオフセット）を行う。
【００５３】
ステップＳ３５９では、S_PoID-10（アドレスオフセット）を行ったものをS_PoIDとする。
【００５４】
ステップＳ３６０では、COUNT2値をデクリメントする。
【００５５】
ステップＳ３６１では、COUNT2値が０かどうかを判断し、０であるならばステップＳ３６２へ移行し、０でないならばステップＳステップＳ３５５へ移行する。
【００５６】
ステップＳ３６２では、T_PoIDを送信するデータを示すポインタとする。
【００５７】
ステップＳ３６３では、同じIDの古いデータを破棄する処理を終了する。
【００５８】
［ゲートウェイ通信作用］
<1>送信されるデータが単数の場合
実施例１において、例えばネットワークＡからネットワークＢへ通信を行う場合には、ネットワークＡの1つのノードとなっているゲートウェイ装置１にデータを送る。
ゲートウェイ装置１に送られたデータは、ネットワークＡの通信線Ａ１に接続された終端抵抗７ａ、トランシーバ３ａを介して、CANバス上の通信信号からCPU２で取り扱える信号に変換され、通信部２１ａに送られる。
【００５９】
通信部２１ａで受信されたデータは、メッセージボックス２１３ａに一時的に収容される。
その後、受信されたことにより行われる図５に示すステップＳ１１〜Ｓ２２の割り込み処理により、CPU２で変換処理された送信データがRAM２４のFIFOデータ構造２３１に一時的に保存される。
送信されるデータが単数の場合には、ステップＳ３４の判断処理によりステップＳ３５（図７に示すステップＳ３５１〜Ｓ３６３）を経ずにステップＳ３６に移行し、RAM２４から通信部２１ｂのメッセージボックス２１３ｂに送られ、アクセス制御部２１２ｂ、プロトコルコア部２１１ｂでCANプロトコルに沿ったデータ、通信処理によりCPU２から出力されて、トランシーバ３ｂ、終端抵抗７ｂを介してネットワークＢの通信線Ｂ１に送信される。
【００６０】
<2>送信されるデータが複数の場合
実施例１において、送信されるデータが複数の場合には、送信するデータがRAM２４のFIFOデータ構造に図４に示すように一時的に溜められることとなる。  送信するデータが複数であることは、ステップＳ３４で判断され、ステップＳ３５に移行して、図７に示すステップＳ３５１〜Ｓ３６３の処理が行われる。
まず、ステップＳ３５２〜Ｓ３５４の処理により、FIFOデータ構造内のサーチすべきIDの数が算出され、COUNT2値が０になるつまり、全てのデータのIDのサーチが終わるまで、S_PoIDのアドレスをオフセットしながら、受信したデータに含まれるIDと同じIDのS_PoIDが示すデータがあるかどうかを判断していく。
【００６１】
このようにしてデータ中のID検索を行い、同じIDのデータがない場合には、ステップＳ３５３の処理によりT_PoIDにより示したアドレスのデータを送信すべきデータT_Poにして処理を終了する。
同じIDのデータがある場合には、以下のどちらかの処理を行う。
そのIDを持つデータが送信しようとするT_PoIDと同じであるならば、そのT_PoIDにより示したアドレスのデータを送信すべきデータT_Poにして処理を終了する（ステップＳ３５６→Ｓ３６２）。
一方、受信データと同じIDと判断されたデータが送信されようとしているT_PoIDと異なるならば、そのT_PoIDのデータをS_PoIDのデータに上書きして、S_PoIDのデータを破棄する（ステップＳ３５６→Ｓ３５７→Ｓ３５８→Ｓ３６２）。
図４を参照に説明すれば、受信したデータのIDが例えば002の場合、図４のFIFOデータ構造のアドレス５０のデータがID002であるので、T_PoIDの示すデータ（図４中のアドレス２０のデータ）をアドレス５０に転送することで、上書きを行う。
【００６２】
このようにして、同じIDの古いデータを破棄すると、まず、CAN通信線上を古いデータが送信されることがないため、通信線の負荷が軽くなる。また、FIFOデータ構造の容量が小さくて済む。
【００６３】
従来の技術では、図８、図９（ステップＳ５０〜Ｓ６１、Ｓ７０〜Ｓ８１）に示すように送信データが溜まって、タイムアップが生じる送信エラー等の際には、ステップＳ８０の処理で受信データの破棄が生じるため、１回しか受信しないイベントデータが破棄され、受信できないことになる。
これに対し実施例１では、同じIDのデータを１回しか受信しない場合には、データを破棄することがないので、１回しか受信できないイベントデータが保持される。
【００６４】
次に、効果を説明する。
実施例１のゲートウェイ装置にあっては、下記に列挙する効果を得ることができる。
【００６５】
(1)車内の車載装置で複数の車内ネットワークＡ，Ｂを形成し、形成された異なるネットワークＡ，Ｂ間を接続して、ネットワークから受信するデータを一時的に保存・変換して別のネットワークに送信し、異なるネットワークに接続している車載装置間でのデータのやり取りを行う、ゲートウェイ装置１において、一時的に保存され、送信を待つデータに含まれる送信先を示すIDコードと、その後に受信される同じネットワーク側からのデータのIDコードとを比較して、同じIDコードかどうかをCPU２が判断し、同じIDコードと判断した際に、一時的に保存されている古いIDコードのデータをCPU２で破棄したため、通信線の負荷が軽くでき、送信データを一時的に保存するメモリ容量を小さくすることができ、１回しか受信できないイベントデータを失なわなくなる。
ゲートウェイ装置１は、車載される機器であるため、コストの抑制を強く要求される。そのため、ゲートウェイ装置のメモリ容量を小さくできることは、コストの低減に大きな効果を発揮することになる。また、メモリ容量を小さくできることは、他の機能を追加して使用できる容量の確保にもなる。
【００６６】
(2)車両内に形成されるネットワークＡ，ＢがCANプロトコルを用いるものであり、中継送信するデータの変換を少なくとも行うCPU２を設け、CANプロトコルに沿った処理を行う通信部２１ａ，２１ｂをCPU２に設け、受信したデータと送信しようとするデータを一時的に保存するメッセージボックス２１３ａ，２１３ｂを通信部２１ａ，２１ｂに設け、RAM２４をCPU２に設け、RAM２４とメッセージボックス２１３ａ，２１３ｂを通信線Ａ１，Ｂ１で接続し、送信しようとする複数のデータをRAM２４内に一時的に保存し、CPU２がRAM２４内のデータにおいて、同じIDがあるかどうかを判断し、CPU２がRAM２４内のデータにおいて、同じIDのデータの古いデータを破棄するため、(1)の効果に加え、RAM２４のメモリ容量もしくはRAM２４内で使用するメモリ容量を小さくしてもシステムが成立できる。
また、CPU２に内蔵されるRAM２４のメモリ容量を小さくできることは、ゲートウェイ装置のCPUのコスト低減になる。ゲートウェイ装置のコスト中、CPUが示るコストの割合は大きいものである。よって、CPUのコスト低減ができることのコスト低減効果は大きいものとなる。
【００６７】
以上、本発明のゲートウェイ装置を実施例１に基づき説明してきたが、具体的な構成については、これらの実施例に限られるものではなく、特許請求の範囲の各請求項に係る発明の要旨を逸脱しない限り、設計の変更や追加等は許容される。
【００６８】
例えば、実施例１では、CPUの内部記憶装置であるRAMに送信しようとするデータを一時的に保存しているが、CPUの外部記憶装置に送信しようとするデータを一時的に保存するようにしてもよい。
【図面の簡単な説明】
【００６９】
【図１】実施例１のゲートウェイ装置を用いるCANシステムの構成を示す説明図である。
【図２】実施例１のゲートウェイ装置のブロック図である。
【図３】実施例１のゲートウェイ装置のCPUのCAN通信処理部とRAM部分の説明図である。
【図４】実施例１のゲートウェイ装置の送信データの一時保存するデータ構造を示す説明図である。
【図５】実施例１のゲートウェイ装置の受信処理の流れを示すフローチャート図である。
【図６】実施例１のゲートウェイ装置の送信処理の流れを示すフローチャート図である。
【図７】実施例１のゲートウェイ装置の古いID送信データを破棄する処理の流れを示すフローチャート図である。
【図８】従来の受信処理の流れを示すフローチャート図である。
【図９】従来の送信処理の流れを示すフローチャート図である。
【符号の説明】
【００７０】
１  ゲートウェイ装置
２  CPU
２１ａ  通信部
２１ｂ  通信部
２２  ウォッチドッグタイマ部
２３  ROM
２４  RAM
３ａ  トランシーバ
３ｂ  トランシーバ
４  電源回路
５  発振子
６  EEPROM
７ａ  終端抵抗
７ｂ  終端抵抗
Ａ  ネットワークＡ
Ｂ  ネットワークＢ
Ａ１  通信線
Ａ２  車載機器
Ａ３  車載機器
Ａ４  車載機器
Ａ５  車載機器
Ａ６  車載機器
Ｂ１  通信線
Ｂ２  車載機器
Ｂ３  車載機器
Ｂ４  車載機器
Ｂ５  車載機器
Ｂ６  車載機器
【図１】
2005159769.tif 000003
【図２】
2005159769.tif 000004
【図３】
2005159769.tif 000005
【図４】
2005159769.tif 000006
【図５】
2005159769.tif 000007
【図６】
2005159769.tif 000008
【図７】
2005159769.tif 000009
【図８】
2005159769.tif 000010
【図９】
2005159769.tif 000011