(57)【特許請求の範囲】
【請求項１】
電子制御ユニットを夫々接続しているバス間に介在させ、異なるバスに属する前記電子制御ユニット間で送受信するメッセージを中継する車載用の中継接続ユニットであって、
前記メッセージ毎に設ける識別子のメッセージＩＤの値を小から大の順で並べ、隣り合うメッセージＩＤの値の差分値より差分ＩＤを求め、前記メッセージＩＤよりビット数を減少した前記差分ＩＤと中継先バスとの関係を特定した第１ルーティングテーブルを記憶したメモリと、
起動時に、前記メモリから第１ルーティングテーブルを読み込み、該第１ルーティングテーブルの前記差分ＩＤを元のメッセージＩＤ値に変換した第２ルーティングテーブルを作成する変換回路部と、
前記第２ルーティングテーブルを参照して受信したメッセージを特定の中継先バスへ送信する中継処理回路部と、
を備えていることを特徴とする車載用の中継接続ユニット。
【請求項２】
前記メッセージはＣＡＮプロトコルに準拠するメッセージであり、メッセージＩＤは１１ビットからなり、
前記第１ルーティングテーブルの差分ＩＤは１ビット以上９ビット以下としている請求項１に記載の車載用の中継接続ユニット。
【請求項３】
前記第１ルーティングテーブルの差分ＩＤの間にダミーＩＤを挿入し、差分ＩＤのビット数を調整している請求項１又は請求項２に記載の車載用の中継接続ユニット。
【請求項４】
前記第１ルーティングテーブルを記憶するメモリはＥＥＰＲＯＭであり、前記中継処理回路部、前記変換回路部は集積回路からなる請求項１乃至請求項３のいずれか１項に記載の車載用の中継接続ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継接続ユニットに関し、詳しくは、中継処理に用いるルーティングテーブルの記憶量を少なくしてメモリのサイズを小型化すると共に中継処理部への転送時間を短くするものである。
【背景技術】
【０００２】
従来、車両に搭載される機器を制御する電子制御ユニット（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ：以下ＥＣＵと称す）を多重通信用のバス同士を中継接続ユニット（ゲートウェイ）を介して接続してネットワークを構築し、異なるバスに属するＥＣＵ間で送受信されるメッセージを該中継接続ユニットで中継する車載用通信システムが採用されている。
【０００３】
車載用通信システムのプロトコルとしては、非特許文献１に示すＣＡＮ（Ｃｏｎｔｒｏｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）が標準となりつつある。ＣＡＮをプロトコルとする車載用通信システムにおいては、送受信される各メッセージ毎にＩＤ（識別子）を備えていると共に、中継接続ユニットはメッセージのＩＤと中継先バスとの関係を示すルーティングテーブルを備えている。中継接続ユニットは、バスからメッセージを受信すると、該メッセージのＩＤからルーティングテーブルを参照して中継先バスを判別し、該中継先バスにメッセージを中継している。
【０００４】
近年では、自動車の高機能化および高性能化に伴い、自動車に搭載される電装機器および該電装機器を制御するＥＣＵの数は急増しており、車載用通信システムで送受信されるメッセージの数も増大している。
このため、中継接続ユニットにおいて中継されるメッセージの数も増大し、ルーティングテーブルに記載されるメッセージＩＤの数が増加してルーティングテーブルを記憶するメモリのサイズが大きくなる傾向にある。
【０００５】
中継接続ユニットの中継処理を行う中継処理回路を集積回路で構成し、ルーティングテーブルを集積回路と接続したメモリに記憶している場合、中継接続ユニットの起動時には、ルーティングテーブルをメモリから中継処理回路に読み出さなければならない。
しかし、ルーティングテーブルの記憶量が大きいと、メモリから中継処理回路に読み出す時間が長くなるという問題がある。
【０００６】
【非特許文献１】ＣＡＮ入門  発行:２００３年１０月１日  発行者：ルネサステクノロジ  インターネット(ＵＲＬ：http://www.renesas.com/jpn/products/mpumcu/specific/can_lin_mcu/candoc/rjj99z0001_entry_0400.pdf)
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、前記問題に鑑みてなされたもので、中継接続ユニットにおいて、ルーティングテーブルの記憶量を少なくしてメモリのサイズを小さくすると共に、メモリから中継処理回路にルーティングテーブルを読み出す時間を短くすることを課題としている。
【課題を解決するための手段】
【０００８】
前記課題を解決するため、本発明は、電子制御ユニットを夫々接続しているバス間に介在させ、異なるバスに属する前記電子制御ユニット間で送受信するメッセージを中継する車載用の中継接続ユニットであって、
前記メッセージ毎に設ける識別子のメッセージＩＤの値を小から大の順で並べ、隣り合うメッセージＩＤの値の差分値より差分ＩＤを求め、前記メッセージＩＤよりビット数を減少した前記差分ＩＤと中継先バスとの関係を特定した第１ルーティングテーブルを記憶したメモリと、
起動時に、前記メモリから第１ルーティングテーブルを読み込み、該第１ルーティングテーブルの前記差分ＩＤを元のメッセージＩＤ値に変換した第２ルーティングテーブルを作成する変換回路部と、
前記第２ルーティングテーブルを参照して受信したメッセージを特定の中継先バスへ送信する中継処理回路部と、
を備えていることを特徴とする車載用の中継接続ユニットを提供している。
【０００９】
中継処理回路部は、メッセージを受信すると、該メッセージのＩＤが第２ルーティングテーブルに記載されているか否かを探索し、記載されている場合には中継先バスに該メッセージを中継する。このとき、第２ルーティングテーブルのメッセージＩＤの探索は、二分探索法を用いて行っている。
二分探索法は小から大に順に並んだデータのうち、順序が中央であるデータと、検索値との大小関係を比較し、検索値が中央より上にあるか下にあるかを判断していく方法である。本発明の中継接続ユニットにおいては、第２ルーティングテーブルのメッセージＩＤの値は小から大の順に並べている。
【００１０】
本発明では、第２ルーティングテーブルのメッセージＩＤが小から大の順に並んでいることを利用して、メモリに記憶され中継接続ユニットの起動時にメモリから読み出される第１ルーティングテーブルの記憶量を少なくしている。
詳細には、小から大の順に並んだメッセージＩＤのうち、隣り合うＩＤの値の差分値を第１ルーティングテーブルの差分ＩＤとしている。差分ＩＤの値はメッセージＩＤの値よりも小さくなるため、差分ＩＤの値を表すのに必要なビット数はメッセージＩＤのビット数よりも減少させることができると共に、第１ルーティングテーブルの記憶量をメッセージＩＤを用いた第２ルーティングテーブルよりも小さくすることができる。
また、前記メッセージのＩＤの値は小から大の順で並べているので、隣り合うＩＤのうち大きい値のＩＤから小さい値のＩＤの差分値を求めて差分ＩＤとすることで、差分ＩＤが負となることがない。
【００１１】
中継接続ユニットの起動時には、変換回路部は第１ルーティングテーブルをメモリから読み出して第２ルーティングテーブルに変換している。該変換は、第１ルーティングテーブルの順に並んだ差分ＩＤのうち、最初の差分ＩＤ１の値をメッセージＩＤ１の値とし、順に並んだ次の差分ＩＤ２をメッセージＩＤ１に加算してメッセージＩＤ２とする。同様に、次の差分ＩＤ３をメッセージＩＤ２に加算してメッセージＩＤ３とする。
このように、メッセージＩＤに差分ＩＤを加算していくだけで順次メッセージＩＤに変換することができ、差分ＩＤをメッセージＩＤに簡単に戻すことができる。
【００１２】
前記メッセージはＣＡＮプロトコルに準拠するメッセージであり、メッセージＩＤは１１ビットからなる。
また、前記第１ルーティングテーブルの差分ＩＤは１ビット以上９ビット以下としていることが好ましい。
【００１３】
メッセージＩＤの値はメッセージごとに異なるため、隣り合うメッセージＩＤの差分値である差分ＩＤはゼロとなることはなく、必ず１ビット以上の値となる。
１０ビット以上とした場合には、ＣＡＮプロトコルにおけるメッセージＩＤは１１ビットであるため、第２ルーティングテーブルと比べて第１ルーティングテーブルの記憶量を小さくする効果が薄くなる。
【００１４】
第１ルーティングテーブルは、各差分ＩＤが取り得るビット数のうち最も大きいビット数を差分ＩＤのビット数として設定している。このため、隣り合うメッセージＩＤの差分値である差分ＩＤの値がばらつく場合には、各差分ＩＤの値を表すビット数にもばらつきが生じ、第１ルーティングテーブルの差分ＩＤのビット数が大きく設定されて第１ルーティングテーブルの記憶量が減少しないことがある。
【００１５】
一方、前記メッセージＩＤの値を等間隔に定め、前記隣り合うＩＤの値の差分値が等しくなるように定めると、各差分ＩＤの値にばらつきが生じず、該差分ＩＤの値を表すために必要なビット数を最小とすることができる。
また、第２ルーティングテーブルに記憶されるメッセージの数によっては前記メッセージＩＤの値を等間隔に定められない場合がある。このような場合には、メッセージＩＤの値の間隔、即ち隣り合うＩＤの値の差分値にできるだけ差が出ないようにメッセージＩＤの値を定めることで、各差分ＩＤの値のばらつきが小さくなると共に、該差分ＩＤの値を表すために必要なビット数のばらつきも小さくなる。このため、各差分ＩＤのうち最も大きいビット数で第１ルーティングテーブルの全ての差分ＩＤのビット数を設定しても、差分ＩＤのビット数を小さくすることができる。
【００１６】
該差分ＩＤの最小ビット数は、中継接続ユニットが中継するメッセージの数、即ち第２ルーティングテーブルに記載されるメッセージＩＤの数に応じて異なっており、メッセージＩＤの数が多いほど隣り合うメッセージＩＤの値の差分値は小さくなり、差分ＩＤの最小ビット数が小さくなる。
【００１７】
前記第１ルーティングテーブルの差分ＩＤの間にダミーＩＤを挿入し、差分ＩＤのビット数を調整してもよい。
前述したように、第１ルーティングテーブルの差分ＩＤは、隣り合うメッセージＩＤの差分値である差分ＩＤの値がばらついている場合、全ての差分ＩＤのビット数うち最も大きいビット数で表しているため、差分ＩＤのビット数が１０ビット以上に大きくなる場合がある。
【００１８】
このような場合に、本発明では、間隔が大きい隣り合うメッセージＩＤの間にダミーのメッセージＩＤを挿入する。ダミーのメッセージＩＤの値は、隣り合うメッセージＩＤとダミーのメッセージＩＤとの値の間隔がそれぞれ等しくなる値とする。
メッセージＩＤにダミーのメッセージＩＤを挿入すると、差分ＩＤには、メッセージＩＤとダミーのメッセージＩＤとの間の差分値であるダミーＩＤが挿入される。該差分ＩＤのダミーＩＤの値は、ダミーＩＤを入れない差分ＩＤの値よりも小さくなり、ビット数も小さくなる。このため、第１ルーティングテーブルの差分ＩＤのビット数を減少させることができる。
【００１９】
ダミーＩＤが挿入されることで第１ルーティングテーブルの記憶量が大きくなるが、差分ＩＤのビット数は減少するため、第１ルーティングテーブル全体の記憶量を小さくすることができる。
なお、ダミーＩＤは複数挿入されてもよい。
【００２０】
また、第１ルーティングテーブルを記憶するメモリはＥＥＰＲＯＭであり、中継処理回路部、変換回路部は集積回路（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）として、中継接続ユニットをハードウェア化している。
集積回路はＥＥＰＲＯＭと接続しており、中継接続ユニットの起動時にはＥＥＰＲＯＭから第１ルーティングテーブルを読み出して集積回路に読み出す。第１ルーティングテーブルの記憶量が小さいので、ＥＥＰＲＯＭからの読み出し時間を短くすることができる。
【００２１】
集積回路は、中継処理回路部、変換回路部の動作のために設計製造されたＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であってもよい。また、内部の回路構成が変更可能な集積回路であるＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）であってもよい。
【発明の効果】
【００２２】
前述したように、本発明の中継接続ユニットによれば、中継処理を行う際に参照する第２ルーティングテーブルの小から大の順に並んだメッセージＩＤのうち、隣り合うＩＤの値の差分値を第１ルーティングテーブルの差分ＩＤとしている。このため、差分ＩＤの値を示すビット数をメッセージＩＤのビット数より減少させることができ、メモリに記憶する第１ルーティングテーブルの記憶量を、第２ルーティングテーブルよりも小さくすることができる。
また、第１ルーティングテーブルの記憶量が小さいので、変換回路部がメモリから第１ルーティングテーブルを読み出す時間を短くすることができる。
【発明を実施するための最良の形態】
【００２３】
本発明の実施形態を図面を参照して説明する。
図１乃至図８は本発明の第１実施形態を示す。
車載用の中継接続ユニット１０は、電子制御ユニット（ＥＣＵ）３０を夫々接続しているバス３１間に介在させ、異なるバス３１に属する前記ＥＣＵ３０間で送受信するメッセージを中継している。
本実施形態では、中継接続ユニット１０を２本のバス３１Ａ、３１Ｂの間に介在させ、２本のバス３１Ａ、３１Ｂに夫々２つのＥＣＵ３０−１、３０−２を接続している。通信プロトコルはＣＡＮである。
【００２４】
図１に示すように、中継接続ユニット１０は、中継接続ユニット用ＬＳＩ４０とＥＥＰＲＯＭ１１を備え、中継接続ユニット用ＬＳＩ４０には中継処理回路２１とパラメタ処理回路２２を備えている。中継処理回路２１は、あるＥＣＵ３０が送信したメッセージを受信して他のＥＣＵ３０に中継している。中継処理回路２１は、受信したメッセージのＩＤ（識別子）と中継先のバス３１を示した第２ルーティングテーブルＴ２を用いて中継処理を行っている。
【００２５】
ＥＥＰＲＯＭ１１は、第２ルーティングテーブルＴ２を変換して記憶量を第２ルーティングテーブルＴ２より小さくした第１ルーティングテーブルＴ１を記憶している。
中継接続ユニット１０の起動時に、中継接続ユニット用ＬＳＩ４０のパラメタ処理回路２２はＥＥＰＲＯＭ１１から第１ルーティングテーブルＴ１を読み出して第２ルーティングテーブルＴ２に変換し、中継処理回路２１は第２ルーティングテーブルＴ２を用いて中継処理を行っている。
すなわち、記憶量が小さい第１ルーティングテーブルＴ１はＥＥＰＲＯＭ１１に記憶するための形式、第２ルーティングテーブルＴ２は中継処理回路２１が中継処理を行うために参照する形式である。
【００２６】
第１ルーティングテーブルＴ１及び第２ルーティングテーブルＴ２の詳細について説明する。
まず、ＥＥＰＲＯＭ１１に記憶した第１ルーティングテーブルＴ１を説明する。
図２に示すように、第１ルーティングテーブルＴ１は、図３の第２ルーティングテーブルＴ２のメッセージＩＤを第２ルーティングテーブルＴ２よりも少ないビット数で表したものであり、第１ルーティングテーブルＴ１は第２ルーティングテーブルＴ２に基づいて予め作成してＥＥＰＲＯＭ１１に記憶している。
【００２７】
第１ルーティングテーブルＴ１は、第１ルーティングテーブルＴ１のＩＤ（以下、差分ＩＤと称す）と、該ＩＤに対応する中継先バス３１とを一列に並べたものである。
差分ＩＤは、第２ルーティングテーブルＴ２の隣り合うメッセージＩＤの値の差分値を演算して求めている。
例えば、第２ルーティングテーブルＴ２の１１ビットで表されたメッセージＩＤ２「００００００００１１０」とメッセージＩＤ１「０００００００００１０」の差分の値「０００００１００」を第１ルーティングテーブルＴ１の差分ＩＤ２の値とし、第２ルーティングテーブルＴ２のメッセージＩＤ３「００００００１００１１」とＩＤ２「００００００００１１０」の差分の値「００００１１０１」を第１ルーティングテーブルＴ１の差分ＩＤ３の値としている。なお、差分の絶対値を用いている。
また、差分ＩＤ１の値は「０」から第２ルーティングテーブルＴ２のメッセージＩＤ１を引いた値としており、メッセージＩＤ１と同じ値となる。
【００２８】
差分ＩＤは１１ビットで表された第２ルーティングテーブルＴ２のメッセージＩＤの値の差分であるため、１１ビットより少ないビット数で表すことが可能である。
第１ルーティングテーブルＴ２では全ての差分ＩＤのビット数を同じとしており、隣り合うメッセージＩＤの差分値である差分ＩＤの値がばらついて各差分ＩＤの値を表すビット数にもばらつきが生じる場合には、最も大きいビット数で差分ＩＤを表している。図２の例では、差分ＩＤを８ビットで表している。
【００２９】
次に、中継処理回路２１が用いる第２ルーティングテーブルＴ２について説明する。第２ルーティングテーブルＴ２は、中継処理回路２１がバス３１を介して受信したメッセージを他のバス３１に中継する際の中継先のバス３１を記載したものであり、図３に示すように、メッセージＩＤと、該ＩＤのメッセージの中継先バス３１とを一列に並べたものである。
【００３０】
第２ルーティングテーブルＴ２は、メッセージのＩＤの値を基準として昇順、すなわちＩＤの値を小から大の順に並べており、中継処理回路２１は後述する二分探索法を用いて第２ルーティングテーブルＴ２から受信したメッセージのＩＤに該当するメッセージＩＤを探索している。
本実施形態では通信プロトコルがＣＡＮであり、ＣＡＮのメッセージＩＤを示すアービトレーションフィールドは１１ビットであるため、第２ルーティングテーブルＴ２のメッセージＩＤは１１ビットとなっている。
【００３１】
差分ＩＤのビット数の最小値と最大値について説明する。
まず、中継接続ユニット１０が送受信するメッセージのメッセージＩＤは１１ビットであるため、第２ルーティングテーブルＴ２は「００００００００００」〜「１１１１１１１１１１１」の値を持つ２０４８個のメッセージＩＤを備えることが可能である。
例として、第２ルーティングテーブルＴ２のメッセージＩＤの数が２５６個である場合を考える。
【００３２】
差分ＩＤのビット数は、第２ルーティングテーブルＴ２のメッセージＩＤの数によって定まり、隣り合うメッセージＩＤの差分値が等しい場合に最小となる。
そこで、２５６個のメッセージＩＤの値を、隣り合うメッセージＩＤの値の差分値がそれぞれ等しくなるように定めると、「１１１１１１１１１１１」を「１０００」おきに２５６分割した値となり、例えば図４（Ｂ）のようになる。図４では説明のために個数とビット数の欄を設けており、中継先バス３１の記載は省略している。
なお、２５６番目のメッセージＩＤは値を等間隔に定めることができないため、２５６番目のメッセージＩＤの値は、２５５番目と２５６番目の差分値が「１１１」となるように定めている。２５５番目と２５６番目の差分値「１１１」は、他の差分値「１０００」とできるだけ差が小さくなるように定めた値である。
【００３３】
このとき、第１ルーティングテーブルＴ１の差分ＩＤは図４（Ａ）に示す値となる。第２ルーティングテーブルＴ２の隣り合うメッセージＩＤの差分値は「１０００」となるため、差分ＩＤは「１０００」となり４ビットで表すことができる。なお、メッセージＩＤは１１ビットのため、２５６番目と２５５番目のメッセージＩＤは差分値が「１１１」となり、図（Ａ）の２５６番目の差分ＩＤは「１１１」となる。
第１ルーティングテーブルＴ２では各差分ＩＤの値を表すビット数にばらつきが生じる場合には、最も大きいビット数で差分ＩＤを表して全ての差分ＩＤを同じビット数とするため、差分ＩＤは４ビットで表すことができる。該４ビットはメッセージＩＤの数が２５６個の場合に、差分ＩＤのビット数の最小値となる。
【００３４】
同様に、第２ルーティングテーブルＴ２のメッセージＩＤの数が６４個、１２８個、５１２個の場合も、隣り合うメッセージＩＤの差分が等しくなるようにメッセージＩＤの値をそれぞれ定める。
図５に示すように、メッセージＩＤの数が６４個の場合は、隣り合うメッセージＩＤの差分は「１０００００」となり、差分ＩＤのビット数の最小値は６ビットとなる。メッセージＩＤの数が１２８個の場合は、隣り合うメッセージＩＤの差分は「１００００」となり、差分ＩＤのビット数の最小値は５ビットとなる。メッセージＩＤの数が５１２個の場合は、隣り合うメッセージＩＤの差分は「１００」となり、差分ＩＤのビット数の最小値は３ビットとなる。
【００３５】
次に差分ＩＤのビット数の最大値について説明する。
第２ルーティングテーブルＴ２のメッセージＩＤの数が２５６個の場合に、図６（Ｂ）に示すようなメッセージＩＤの値が設定されているとする。図６においても、説明のために個数とビット数の欄を設け、中継先バス３１の記載は省略している。
【００３６】
図６（Ｂ）に示すように、第２ルーティングテーブルＴ２の１番目から２５５番目までのメッセージＩＤの値は「１」ずつ増加しているが、２５６番目のメッセージＩＤの値は２５５番目より「１１１１０００００００」増加している。このため、図６（Ａ）に示す差分ＩＤは１番目から２５５番目までは「１」となり、差分ＩＤのビット数は１ビットであるが、２５６番目は「１１１１０００００００」となり、差分ＩＤのビット数は１１ビット必要となる。
第１ルーティングテーブルＴ１は全ての差分ＩＤを同じビット数とするため、このように隣り合うメッセージＩＤの値の差分の値に大きくばらつきがある場合には、最も大きいビット数で表された差分ＩＤのビット数で全ての差分ＩＤが表され、第１ルーティングテーブルＴ１の大きさを小さくすることができない。
【００３７】
このため、メッセージＩＤにダミーのメッセージＩＤを挿入する。図７（Ｂ）に示すように、第２ルーティングテーブルＴ２の２５５番目と２５６番目のメッセージＩＤの間にダミーのメッセージＩＤを３つ挿入しており、該ダミーのメッセージＩＤは、隣り合うメッセージＩＤとダミーのメッセージＩＤとの値の間隔がそれぞれ等しくなる値としている。
【００３８】
メッセージＩＤにダミーのメッセージＩＤを挿入して第１ルーティングテーブルＴ１を求めると、図７（Ａ）に示すように、第１ルーティングテーブルＴ１の差分ＩＤには、メッセージＩＤとダミーのメッセージＩＤとの間の差分値であるダミーＩＤが挿入される。該差分ＩＤのダミーＩＤ及び２５６番目の差分ＩＤの値は「１１１００００００」となり、９ビットとなり、図６（Ａ）に示すダミーＩＤを挿入しない差分ＩＤの１１ビットよりビット数が減少する。
このように、ダミーＩＤを挿入することで、差分ＩＤのビット数を小さくすることができる。
【００３９】
ダミーＩＤを多く挿入するほど差分ＩＤのビット数は少なくなるが、ダミーＩＤ分だけ第１ルーティングテーブルＴ１の記憶量が必要となるため、これらの兼ね合いでダミーＩＤを挿入する数が決まる。ダミーＩＤの数は３以下であることが好ましい。
【００４０】
同様に、第２ルーティングテーブルＴ２のメッセージＩＤの数が６４個、１２８個、５１２個の場合も、隣り合うメッセージＩＤの差分がばらついているときは差分ＩＤのビット数は大きくなるが、ダミーＩＤを挿入することにより差分ＩＤのビット数を小さくすることができ、図５に示すように差分ＩＤのビット数の最大値は、メッセージＩＤの数に関わらず９ビットとしている。
【００４１】
第２ルーティングテーブルＴ２のメッセージＩＤの数が６４個、１２８個、２５６個、５１２個のいずれの場合も、３つのダミーＩＤを挿入した場合には、差分ＩＤのビット数は９ビットとすることができる。
【００４２】
第１ルーティングテーブルＴ１を第２ルーティングテーブルＴ２に変換する処理は、以下のように行う。
第１ルーティングテーブルＴ１の差分ＩＤ１をメッセージＩＤ１とし、メッセージＩＤ１に差分ＩＤ２の値を加えてメッセージＩＤ２としてメッセージＩＤ２に差分ＩＤ３の値を加えてメッセージＩＤ３とする。このように、メッセージＩＤに差分ＩＤを加えていくことにより、第２ルーティングテーブルＴ２に変換する。
【００４３】
本発明の中継接続ユニット１０は同一基板上に、中継接続ユニット用ＬＳＩ４０と、ＥＥＰＲＯＭ１１と、電源１２と、ドライバ１３と、コネクタ１４を備えている。
中継接続ユニット用ＬＳＩ４０（Ｌａｒｇｅ  ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）は集積回路（ＩＣ）であり、中継接続ユニット１０用に設計されたＡＳＩＣでハードウェアとして構成している。中継接続ユニット用ＬＳＩ４０は送受信回路２４と、中継処理回路２１と、変換回路部を構成するＥＥＰＲＯＭ処理回路２３とパラメタ処理回路２２とを備えている。
【００４４】
書き換え可能な不揮発性メモリであるＥＥＰＲＯＭ１１は、図２に示す第１ルーティングテーブルＴ１を記憶している。
中継接続ユニット用ＬＳＩ４０のＥＥＰＲＯＭ処理回路２３は、ＥＥＰＲＯＭ１１と接続しており、中継接続ユニット１０の起動時にＥＥＰＲＯＭ１１に記憶された第１ルーティングテーブルＴ１を読み込んでいる。
パラメタ処理回路２２はＥＥＰＲＯＭ処理回路２３と接続しており、第１ルーティングテーブルＴ１をＥＥＰＲＯＭ処理回路２３から受け取ると、前述した変換処理により読み込んだ第１ルーティングテーブルＴ１を第２ルーティングテーブルＴ２に変換している。
【００４５】
中継処理回路２１はパラメタ処理回路２２と接続すると共に各バス３１Ａ、３１Ｂと接続された送受信回路２４Ａ、１４Ｂと接続しており、パラメタ処理回路２２から第２ルーティングテーブルＴ２を受け取って、中継処理回路２１内のメモリ（図示ぜず）に記憶している。中継処理回路２１は第２ルーティングテーブルＴ２を用いて、異なるバス３１に属するＥＣＵ３０間で送受信するメッセージを中継している。
中継処理回路２１は、受信したメッセージのＩＤを検出し、第２ルーティングテーブルＴ２を参照して受信したメッセージのＩＤが第２ルーティングテーブルＴ２にあるか否かを判断する。ＩＤがある場合には、第２ルーティングテーブルＴ２の該ＩＤの下に示された中継先バス３１に該メッセージを中継する。ＩＤがない場合には該メッセージは中継不要であると判断して該メッセージを破棄する。
【００４６】
ここで、受信したメッセージのＩＤが第２ルーティングテーブルＴ２にあるか否かの判断は、二分探索法を用いて行っている。
二分探索法は、昇順に並んだ配列に対する探索を行う手法であり、図８に示すフローチャートの動作を行う。
第２ルーティングテーブルＴ２は第１ルーティングテーブルＴ１を変換させて求めており、メッセージＩＤが小から大の順に並んでいる。
【００４７】
第２ルーティングテーブルＴ２にｎ個のメッセージＩＤが記載されている場合、ｌｏに１を代入し、ｈｉにｎを代入する（Ｓ１）。次に、１〜ｎ個が昇順に並べられた第２ルーティングテーブルＴ２のメッセージＩＤの中央の位置ｋを、ｋ＝（ｌｏ＋ｈｉ）／２を演算して求める（Ｓ２）。ｋは整数とし、端数は切り上げまたは切り捨てとする。
【００４８】
次に、第２ルーティングテーブルＴ２の中央位置ｋのメッセージＩＤの値A（ｋ）と、受信したメッセージのＩＤの値ｘとを比較する（Ｓ３）。
中央位置ｋのメッセージＩＤの値A（ｋ）と受信したメッセージのＩＤの値ｘが同じである場合には、中継処理回路２１は受信したメッセージのＩＤが第２ルーティングテーブルＴ２に存在すると判断する（Ｓ７）。中央位置ｋのメッセージＩＤの値A（ｋ）が受信したメッセージのＩＤの値ｘより小さい場合には、ｌｏにｋ＋１の値を代入する（Ｓ４）。中央位置ｋのメッセージＩＤの値A（ｋ）が受信したメッセージのＩＤの値ｘより大きい場合には、ｈｉにｋ−１の値を代入する（Ｓ８）。
次に、ｌｏとｈｉの値を比較し（Ｓ５）、ｌｏ＞ｈｉとなった場合には、受信したメッセージのＩＤは第２ルーティングテーブルＴ２に記載されていないと判断する（Ｓ６）。ｌｏ≦ｈｉとなった場合には、Ｓ２に戻る。
【００４９】
送受信回路２４Ａ、１４Ｂは各バス３１Ａ、３１Ｂ毎に設けており、中継処理回路２１からのメッセージをドライバ１３を介してバス３１に送信している。
【００５０】
電源１２は集積回路であるＬＳＩで構成し、中継接続ユニット用ＬＳＩ４０と接続して、中継接続ユニット用ＬＳＩ４０を駆動するための電力を供給している。
ドライバ１３Ａ、４２Ｂも集積回路であるＬＳＩで構成し、各バス３１毎に設けてコネクタ１４を介して各バス３１と接続している。また、中継接続ユニット用ＬＳＩ４０と接続しており、中継接続ユニット用ＬＳＩ４０が送受信するメッセージをバス３１へ送信またはバス３１から受信するために、メッセージを構成するデータ信号の電位を調節している。
【００５１】
本発明の中継接続ユニット１０によれば、中継処理を行う際に参照する第２ルーティングテーブルＴ２の小から大の順に並んだメッセージＩＤのうち、隣り合うＩＤの値の差分値を第１ルーティングテーブルＴ１の差分ＩＤとしている。このため、差分ＩＤの値を示すビット数をメッセージＩＤのビット数より減少させることができ、メモリに記憶する第１ルーティングテーブルの記憶量を、第２ルーティングテーブルよりも小さくすることができる。
また、第１ルーティングテーブルの記憶量が小さいので、ＥＥＰＲＯＭ処理回路２３がメモリから第１ルーティングテーブルを読み出す時間を短くすることができる。
【図面の簡単な説明】
【００５２】
【図１】本発明である中継接続ユニットの構成を示すブロック図である。
【図２】第１ルーティングテーブルの例である。
【図３】第２ルーティングテーブルの例である。
【図４】メッセージＩＤの数が２５６個の場合の（Ａ）は第１ルーティングテーブルの例、（Ｂ）は第２ルーティングテーブルの例である。
【図５】メッセージＩＤの数とビット数の最大値及び最小値の関係を示す図である。
【図６】メッセージＩＤの数が２５６個であって差分ＩＤの値にばらつきがある場合の（Ａ）は第１ルーティングテーブルの例、（Ｂ）は第２ルーティングテーブルの例である。
【図７】メッセージＩＤの数が２５６個であって差分ＩＤにダミーＩＤを挿入した場合の（Ａ）は第１ルーティングテーブルの例、（Ｂ）は第２ルーティングテーブルの例である。
【図８】二分探索法の説明図である。
【符号の説明】
【００５３】
１０  中継接続ユニット
４０  中継接続ユニット用ＬＳＩ
１１  ＥＥＰＲＯＭ
２１  中継処理回路
２２  パラメタ処理回路
２３  ＥＥＰＲＯＭ処理回路
３０  電子制御ユニット（ＥＣＵ）
３１（３１Ａ、３１Ｂ）  バス
Ｔ１  第１ルーティングテーブル
Ｔ２  第２ルーティングテーブル
【図１】
0005114129.tif 000002
【図２】
0005114129.tif 000003
【図３】
0005114129.tif 000004
【図４】
0005114129.tif 000005
【図５】
0005114129.tif 000006
【図６】
0005114129.tif 000007
【図７】
0005114129.tif 000008
【図８】
0005114129.tif 000009