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