(57)【要約】      （修正有）【課題】優先順位が低いほどバスに送信されるまでの待機時間が長くなる通信プロトコルに従う車載通信システムにおいて、データフレームをバスに送信するまでの滞留時間を短縮可能な制御装置を提供する。【解決手段】車載通信システムは、ＥＣＵと中継装置とが共通のバスにて接続されており、バスにおける通信には、ＣＡＮプロトコルが用いられる。中継装置にて実行される送信処理では、送信対象フレームが調停制御に負け続け（Ｓ１３０：ＮＯ）、当該送信対象フレームの滞留時間が規定時間よりも長くなると（Ｓ１４０：ＹＥＳ）、当該送信対象フレームの優先順位を、全てのデータフレームの中で最も高いものへと変更する（Ｓ１５０）。このため、送信対象フレームが次に調停制御の対象となったとしても、当該送信対象フレームは、送信権を得ることができ（Ｓ１３０：ＹＥＳ）、バスに送信される（Ｓ１６０）。【選択図】図５
2015154185.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの車載ノード（２０）との間で共通のバス（１０）を介して通信を行い、前記車載ノードから送信されるデータフレームそれぞれに優先順位が設定され、前記優先順位が低いほど前記バスに送信されるまでの待機時間が長くなるように規定された通信プロトコルに従う車載制御装置（２０，４０）であって、
前記バスへ送信するデータフレームを送信対象フレームとし、前記送信対象フレームが、他の車載ノードからの前記データフレームと衝突した場合、前記他の車載ノードから出力された前記データフレームの優先順位よりも前記送信対象フレームの優先順位が低ければ、当該送信対象フレームのバスへの送信を待機し、前記他の車載ノードから送信された前記データフレームの優先順位よりも前記送信対象フレームの優先順位が高ければ、前記送信対象フレームのバスへの送信を継続するように前記送信対象フレームの送信を調停する調停制御を実行する調停手段（４６，Ｓ１２０，Ｓ１３０，Ｓ１６０）と、
前記調停手段による調停制御の結果、予め規定された規定時間以上、前記送信対象フレームの送信を待機した場合、当該送信対象フレームの優先順位が全てのデータフレームの中で最も高くなるように変更する変更制御を実行する変更手段（４６，Ｓ１１０，Ｓ１４０，Ｓ１５０）と
を備えることを特徴とする車載制御装置。
【請求項２】
前記データフレームは、当該データフレームにおけるデータの内容及び当該データフレームを送信した車載ノードの識別情報を表し、かつ前記優先順位として機能するデータ情報が含まれる領域である標準ＩＤを有し、
前記変更手段は、
前記調停手段による調停の結果、前記送信対象フレームの送信を前記規定時間以上待機した場合、前記送信対象フレームの標準ＩＤによって表される前記優先順位を全てのデータフレームの中で最も高くなるように変更すると共に、前記データフレームにおいて前記データ情報が含まれる領域として拡張ＩＤを前記送信対象フレームに付加することを、前記変更制御として実行する
ことを特徴とする請求項１に記載の車載制御装置。
【請求項３】
前記標準ＩＤは、規定データ長のバイナリデータで表され、かつ、前記バイナリデータの論理値が小さいほど前記優先順位が高いことを表し、
前記変更手段は、
前記標準ＩＤに含まれる規定データ長のバイナリデータの論理値を最小値に変更することを、前記変更制御として実行することを特徴とする請求項２に記載の車載制御装置。
【請求項４】
前記拡張ＩＤは、前記規定データ長よりも長いデータ長のバイナリデータで表され、かつ、前記バイナリデータの論理値が小さいほど前記優先順位が高いことを表し、
前記変更手段は、
前記拡張ＩＤの後端から前記規定データ長分、前記データ情報を挿入し、前記拡張ＩＤにおける前記データ情報以外の残りの領域における論理値を最小値とすることを、前記変更制御として実行することを特徴とする請求項３に記載の車載制御装置。
【請求項５】
前記バスから受け取るデータフレームを受信対象フレームとし、前記受信対象フレームに前記拡張ＩＤが含まれているか否かを判定する判定手段（２４，Ｓ３１０，Ｓ３２０）と、
前記判定手段での判定の結果、前記拡張ＩＤが含まれていれば、前記受信対象フレームに含まれる拡張ＩＤを除去すると共に、当該受信対象フレームの標準ＩＤを前記データ情報へと戻す変換制御を実行する変換手段（２４，Ｓ３４０）と
を備えることを特徴とする請求項２から請求項４までのいずれか一項に記載の車載制御装置。
【請求項６】
前記車載ノード間のデータフレームの送受信を中継するゲートウェイであることを特徴とする請求項２から請求項５までのいずれか一項に記載の車載制御装置。
【請求項７】
前記通信プロトコルは、ＣＡＮプロトコルであることを特徴とする請求項１から請求項６までのいずれか一項に記載の車載制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車に搭載される車載制御装置に関する。
【背景技術】
【０００２】
従来、自動車に搭載される車載通信システムであって、バスに接続された少なくとも１つの車載機器（ノード）と、互いに異なるバスに接続されたノード間の通信を中継するゲートウェイとを備えた車載通信システムが知られている（特許文献１参照）。
【０００３】
この種の車載通信システムでは、バスごとに規定されたプロトコルを用いてデータを送受信することがなされ、プロトコルとして、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）プロトコルや、ＬＩＮ（Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ）などが用いられている。
【０００４】
そして、自動車に搭載される一般的なゲートウェイは、ノードから受信したデータを、ルーティング情報に従って、規定されたバスへと出力する。ゲートウェイにおいて、データフレームをＣＡＮバスに出力する場合、各ノードからゲートウェイ自身が受け取った順序で順番にデータフレームをＣＡＮバスに出力する（即ち、ＦＩＦＯバッファとして機能する）。ここで言うＣＡＮバスは、ＣＡＮプロトコルを用いてデータが送受信されるバスである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１１３０９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ＣＡＮプロトコルにおいては、データフレームの先頭部分に、ＣＡＮＩＤが含まれている。このＣＡＮＩＤは、送信元のノードや後続の領域に設定されているデータの内容を識別する識別子であり、データフレームごとに設定されている。
【０００７】
そして、ＣＡＮプロトコルでは、各ノードは、バスが空いていれば、データフレームをバスに送信する。しかしながら、各ノードからデータフレームが同時にバスに送信されることがある。
【０００８】
この場合、ＣＡＮプロトコルでは、ＣＡＮＩＤの論理値が最も小さいデータフレームを最も優先順位が高いデータフレームとして、当該データフレームを送信したノードが送信権を得る調停制御を実行するように規定されている。
【０００９】
このため、ゲートウェイにおいて、ＣＡＮバスとは異なるバスから、ＣＡＮバスに送信すべきデータフレーム（以下、「送信対象フレーム」と称す）を受け取った場合、その送信対象フレームの優先順位が低いと、他のノードとの送信権の調停に負け続ける可能性がある。
【００１０】
そして、送信権の調停に負け続けると、ゲートウェイでは、送信対象フレームをＣＡＮバスに送信するまでに要する時間が長期化するという課題が生じる。
つまり、従来の車載制御装置では、データフレームをバスに送信するまでの滞留時間が長くなる可能性があるという課題があった。
【００１１】
そこで、本発明は、データフレームそれぞれに設定された優先順位が低いほどバスに送信されるまでの待機時間が長くなるように規定された通信プロトコルに従う車載通信システムにおいて、データフレームをバスに送信するまでの滞留時間を短縮することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するためになされた本発明は、少なくとも１つの車載ノード（２０）との間で共通のバス（１０）を介して通信を行い、車載ノードから送信されるデータフレームそれぞれに優先順位が設定され、優先順位が低いほどバスに送信されるまでの待機時間が長くなるように規定された通信プロトコルに従う車載制御装置（２０，４０）である。
【００１３】
本発明の車載制御装置は、調停手段（４６，Ｓ１２０，Ｓ１３０，Ｓ１６０）と、変更手段（４６，Ｓ１１０，Ｓ１４０，Ｓ１５０）とを備える。
このうち、調停手段は、バスへ送信するデータフレームを送信対象フレームとし、送信対象フレームが、他の車載ノードからのデータフレームと衝突した場合、他の車載ノードから出力されたデータフレームの優先順位よりも送信対象フレームの優先順位が低ければ、当該送信対象フレームのバスへの送信を待機し、他の車載ノードから送信されたデータフレームの優先順位よりも送信対象フレームの優先順位が高ければ、送信対象フレームのバスへの送信を継続するように送信対象フレームの送信を調停する調停制御を実行する。
【００１４】
変更手段は、調停手段による調停制御の結果、予め規定された規定時間以上、送信対象フレームの送信を待機した場合、当該送信対象フレームの優先順位が全てのデータフレームの中で最も高くなるように変更する変更制御を実行する。
【００１５】
つまり、本発明の車載制御装置では、送信対象フレームをバスに送信するまでの待機時間が規定時間以上となると、当該送信対象フレームの優先順位が全てのデータフレームの中で最も高くなるように変更される。このため、優先順位が変更された送信対象フレームは、バスへの送信権を確実に得ることができ、バスに送信される。
【００１６】
したがって、車載制御装置によれば、送信対象フレームが規定時間を大幅に超えて調停に負け続けることを防止でき、送信対象フレームのバスへの送信を早期に実現できる。
換言すれば、本発明によれば、複数の車載ノードが共通のバスを介して通信を行い、車載ノードから送信されるデータフレームそれぞれに優先順位が設定され、優先順位が低いほどバスに送信されるまでの待ち時間が長くなるように規定された通信プロトコルに従う車載通信システムにおいて、データフレームを送信するまでに要する滞留時間を短くできる。
【００１７】
なお、本発明におけるデータフレームは、当該データフレームに含まれるデータの内容及び当該データフレームを送信した車載ノードの識別情報を表し、かつ優先順位として機能するデータ情報が含まれる領域である標準ＩＤを有していることが好ましい。
【００１８】
この場合、本発明の変更手段は、調停手段による調停の結果、送信対象フレームの送信を規定時間以上待機した場合、送信対象フレームの標準ＩＤによって表される優先順位を全てのデータフレームの中で最も高くなるように変更すると共に、データフレームにおいてデータ情報が含まれる領域として拡張ＩＤを送信対象フレームに付加することを、変更制御として実行しても良い。
【００１９】
このような車載制御装置によれば、送信対象フレームの優先順位を全てのデータフレームの中で最も高くなるように変更することと、送信対象フレームに含まれるデータ情報を維持することとを両立できる。
【００２０】
なお、この課題を解決するための手段及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【００２１】
また、本発明は、前述した車載制御装置の他、車載制御装置としてコンピュータを機能させるためのプログラム、当該プログラムが記録された記録媒体、車載制御装置における通信方法など、種々の形態で実現することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明が適用された車載制御装置としての中継装置を備えた車載通信システムの概略構成を示すブロック図である。
【図２】ＣＡＮプロトコルにおける標準フォーマットのデータフレームを説明する説明図である。
【図３】中継装置の機能ブロック図である。
【図４】ＦＩＦＯバッファの概要を説明する説明図である。
【図５】中継装置の制御部が実行する送信処理の処理手順を説明するフローチャートである。
【図６】ＣＡＮプロトコルにおける拡張フォーマットのデータフレームを説明する説明図である。
【図７】車載制御装置の１つであるＥＣＵの制御部が実行する受信処理の処理手順を説明するフローチャートである。
【発明を実施するための形態】
【００２３】
以下に本発明の実施形態を図面と共に説明する。
＜車載通信システム＞
図１に示す車載通信システム１は、自動車に搭載される通信システムであり、車載ノード間で必要な情報を通信するシステムである。
【００２４】
この車載通信システム１は、車載ノードとしての電子制御装置（以下、ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）とする）２０，３０，３５と、中継装置４０とを備えている。
【００２５】
本実施形態におけるＥＣＵ２０1〜２０Nは、バス１０に接続されている。ＥＣＵ３０1〜３０Mは、バス１２に接続されている。ＥＣＵ３５1〜３５Lは、バス１４に接続されている。ここでの添え字Ｎ，Ｍ，Ｌは、ＥＣＵ２０，３０，３５の個数を表し、「１」以上の正の整数である。
【００２６】
なお、バス１０、バス１２、…バス１４は、互いに異なるものである。そして、ＥＣＵ２０，３０，３５間での通信は、バス１０，１２，１４ごとに異なる通信プロトコルを用いて実行される。
【００２７】
本実施形態においては、バス１２における通信には、ＦｌｅｘＲａｙが、バス１４における通信には、Ｌｉｎ（Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ）が用いられる。
【００２８】
また、本実施形態においては、バス１０における通信には、ＣＡＮ（Ｒｏｂｅｒｔ  Ｂｏｓｃｈ社が提案した「Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ」）プロトコルが用いられる。
【００２９】
＜ＥＣＵ＞
ＥＣＵ２０は、通信部２２と、記憶部２４と、制御部２６とを備え、制御部２６が処理プログラムを実行することで、予め割り当てられた機能を実現するものである。
【００３０】
通信部２２は、バス１０にて用いられるプロトコルに従って、自身が接続されたバス１０へのデータの送出、自身が接続されたバス１０からのデータの取り込みを行う。記憶部２４は、電力供給が遮断された場合（即ち、電源オフ時）にも記憶内容が保持され、かつ、記憶内容を書き換え可能な不揮発性記憶装置である。制御部２６は、ＲＯＭ，ＲＡＭ，ＣＰＵを少なくとも備えた周知のマイクロコンピュータを中心に構成されている。
【００３１】
そして、ＥＣＵ２０の制御部２６は、ＥＣＵ２０自身に割り当てられた機能を実現する機能実現処理や、他のＥＣＵ２０，３０，３５との通信を実行する通信処理を実行する。
記憶部２４には、通信処理の一部分として、ＣＡＮプロトコルによって通信が行われるバス１０からのデータを取り込む受信処理を、制御部２６が実行するための処理プログラムが格納されている。
【００３２】
本実施形態におけるＥＣＵ２０として、例えば、内燃機関を制御するエンジンＥＣＵや、パワートレイン機構を制御するパワートレインＥＣＵ、ブレーキ機構を制御するブレーキＥＣＵ等が考えられる。
【００３３】
なお、本実施形態におけるＥＣＵ３０，３５は、通信プロトコルが異なることを除けば、ＥＣＵ２０と同様に構成されている。このため、ＥＣＵ３０，３５の詳しい説明は省略する。
【００３４】
本実施形態におけるＥＣＵ３０，３５として、例えば、パワーウインドウを制御するウインドウＥＣＵや、電動ミラーを制御するミラーＥＣＵ、車載エアコンディショナを制御するエアコンＥＣＵ、ワイパー機構を制御するワイパーＥＣＵ等が考えられる。
【００３５】
＜ＣＡＮプロトコルの概要＞
次に、バス１０での通信に用いられるＣＡＮプロトコルの概要について説明する。
ＣＡＮプロトコルでは、ＥＣＵ２０や中継装置４０は、バス１０が空いていることを確認すると、データフレームを送信する。
【００３６】
ただし、少なくとも２つのＥＣＵ２０や、ＥＣＵ２０と中継装置４０とから同時にデータフレームがバスに送信された場合（即ち、データフレームが衝突した場合）、ＣＡＮプロトコルでは、調停制御を実行する。ここで言う調停制御とは、データフレームごとに予め規定された優先順位に従って、優先順位が高いデータフレームの送信を優先し、優先順位が低いデータフレームの送信を待機する周知の制御である。
【００３７】
ここで、データフレームは、図２に示すように、少なくとも、ヘッダ領域と、ヘッダ領域に続くデータ領域とを備えている。
このうち、ヘッダ領域には、少なくとも、ＳＯＦと、標準ＩＤと、ＲＴＲと、ＩＤＥとが、ＳＯＦ、標準ＩＤ、ＲＴＲ、ＩＤＥの順に含まれる。なお、図２における大括弧（［  ］）内の数値は、各領域のデータサイズ（ビット）である。
【００３８】
ＳＯＦは、データフレームの開始を表す１ビットの信号であり、データフレームの送信が開始されると、ロウレベル（「０」）となる。ＲＴＲは、データフレームとリモートフレームとを識別する信号である。
【００３９】
ＩＤＥは、詳しくは後述する拡張ＩＤが含まれるか否かを表す１ビットの信号であり、ロウレベルであれば、拡張ＩＤが含まれていないことを、ハイレベル（「１」）であれば、拡張ＩＤが含まれていることを表す。
【００４０】
標準ＩＤは、当該データフレームに含まれるデータの内容及び当該データフレームを送信したＥＣＵの識別情報を表す信号である。この識別情報は、規定データ長（本実施形態では１１ビット）のデータサイズを有したバイナリデータであり、データフレームごとにユニークな（固有の）識別子であるＣＡＮＩＤである。ただし、データフレームに予め割り当てられるＣＡＮＩＤの倫理値として、「０００００００００００（２進数表記）」は除かれている。なお、ＣＡＮＩＤは、特許請求の範囲に記載したデータ情報の一例である。
【００４１】
データ領域は、バス１０に送信されるデータそのもの（データフィールド）を含む。さらに、データ領域には、データのサイズを示すサイズ情報（コントロールフィールド）や、エラーの有無をチェックするためのＣＲＣ符号が少なくとも含まれている。
【００４２】
なお、バス１０は、ＥＣＵ２０または中継装置４０からハイレベルの信号とロウレベルの信号とが同時に出力された場合に、バス１０上の信号レベルがロウレベルとなるように構成されている。
【００４３】
つまり、バス１０上の信号レベルは、ロウレベル（「０」）が優性（ドミナント）レベルであり、ハイレベル（「１」）が劣性（レセッシブ）レベルである。このため、少なくとも２つのＥＣＵ２０や、ＥＣＵ２０と中継装置４０とから同時にデータフレームがバスに送信された場合、ロウレベルの信号が優先される。
【００４４】
ここで、ＣＡＮプロトコルにおいては、データフレームは、１ビットずつ送信されるため、ＣＡＮＩＤの論理値が小さいほど、データフレームの優先順位が高いことを意味する。すなわち、ＣＡＮＩＤ（標準ＩＤ）の論理値が「０００００００００００（２進数表記）」であれば、優先順位が最も高いことを表す。
【００４５】
＜中継装置＞
図１に示す中継装置４０は、互いに異なるプロトコルが設定されたバス１０，１２，…１４に接続されているＥＣＵ２０，３０，３５間の通信を中継するゲートウェイ機能を有した装置である。
【００４６】
この中継装置４０は、通信部４２と、記憶部４４と、制御部４６とを備えている。
通信部４２は、バス１０，１２，…１４へのデータの送出、バス１２，１４，…１６からのデータの取り込みを行う。記憶部４４は、電源オフ時にも記憶内容が保持され、且つ、記憶内容を書き換え可能な不揮発性メモリである。制御部４６は、ＲＯＭ，ＲＡＭ，ＣＰＵを少なくとも備えた周知のマイクロコンピュータを中心に構成されている。
【００４７】
さらに、中継装置４０は、車載バッテリーから供給される電力を中継装置４０自身の作動に必要な電力へと変換する電源部（図示せず）と、クロック信号を生成するクロック発生部（図示せず）とを備えている。
【００４８】
記憶部４４には、ルーティング情報に従って、互いに異なるバス１０，１２，１４に接続されたＥＣＵ２０，３０，３５の間でのデータの送受信を実現する中継処理を、制御部４６が実行するための処理プログラムが格納されている。ここで言うルーティング情報とは、互いに異なるバス１０，１２，１４に接続されたＥＣＵ２０，３０，３５の間でのデータの通信経路を表す情報であり、記憶部４４に格納されている。
【００４９】
なお、中継処理では、ＣＡＮプロトコルによって通信が行われるバス１０へ出力すべきフレーム（即ち、データ）を、ＥＣＵ３０，３５から受信すると、その受信したフレームを受信した順序で順に出力する。このバス１０への各フレームの出力は、ＣＡＮプロトコルのデータ形式（即ち、上述した標準フォーマットのデータフレーム）に各データを変換し、ＣＡＮプロトコルに従って出力する。
【００５０】
さらに、記憶部４４には、中継処理の一部分として、ＣＡＮプロトコルによって通信が行われるバス１０へデータフレームを送信する送信処理を、制御部４６が実行するための処理プログラムが格納されている。
【００５１】
すなわち、中継装置４０が、バス１０へ送信すべきフレームをバス１２，１４から受け取ると、制御部４６は、図３に示すように、その受け取ったフレームをバス１０へと出力するように振り分けるルーティング部５０として機能する。なお、バス１２，１４からのフレームは、中継処理を実行することで、フレームの送受信を制御するトランシーバ５２，５３，５４として機能した通信部４２によって受け取られる。
【００５２】
そして、ルーティング部５０として機能した制御部４６によって振り分けられたフレームは、バス１０へ出力されるフレームが格納されるＦＩＦＯバッファ５６に格納される。このＦＩＦＯバッファ５６は、中継処理を実行する制御部４６によって実現されるものであり、図４に示すように、バス１０へ出力されるフレームが、中継装置４０が受信した順序で順に格納される。なお、図４に示す「０ｘ５５５」，「０ｘ７ＦＦ」などは、ＣＡＮＩＤを１６進数で表したものである。
【００５３】
さらに、ＦＩＦＯバッファ５６に格納されたフレームは、当該ＦＩＦＯバッファ５６に格納された順序で、ＣＡＮプロトコルの標準フォーマットのデータフレームに変換されて出力が開始される。
【００５４】
＜送信処理＞
次に、中継装置４０の制御部４６が実行する送信処理について説明する。
この送信処理は、ＦＩＦＯバッファ５６の先頭領域にデータフレームが格納されると、起動される。以下、ＦＩＦＯバッファ５６の先頭領域に格納され、送信待機状態となったデータフレームを送信対象フレームと称す。
【００５５】
そして、送信処理が起動されると、制御部４６は、図５に示すように、まず、送信対象フレームが中継装置４０内に継続して滞留している時間長を表す滞留時間を計測するタイマーを起動する（Ｓ１１０）。そして、制御部４６は、バス１０が空いていることを確認すると、通信部４２を介してバス１０への送信対象フレームの送信を開始する（Ｓ１２０）。このバス１０への送信対象フレームの送信は、ＳＯＦ、標準ＩＤの順に実施される。
【００５６】
続いて、制御部４６は、バス１０へのデータフレームの送信権を得たか否かを判定する（Ｓ１３０）。すなわち、Ｓ１３０では、ビット単位で変化するバス１０の信号レベルが、中継装置４０自身が送信したデータフレームにおける信号レベルと一致していれば、送信権を得たもの（即ち、バス調停に勝利したもの）と判定する。一方、不一致であれば、送信権を得ていないもの（即ち、バス調停に負けたもの）と判定する。
【００５７】
したがって、バス１０へのデータフレームの送信を実行したノードが、中継装置４０だけであれば、送信権を得たものと判定される。
しかしながら、送信対象フレームの送信と同時に、ＥＣＵ２０からのデータフレームの送信があった場合には、Ｓ１２０にてバス１０へ送信を開始した送信対象フレームにおける標準ＩＤ（ＣＡＮＩＤ）の論理値が、ＥＣＵ２０からのデータフレーム（以下、「調停対象フレーム」と称す）におけるＣＡＮＩＤの論理値よりも小さい場合に、送信権を得たものと判定される。一方、Ｓ１２０にてバス１０へ送信を開始した送信対象フレームにおける標準ＩＤ（ＣＡＮＩＤ）の論理値が、調停対象フレームにおけるＣＡＮＩＤの論理値よりも大きい場合に、送信権を得られなかったものと判定される。
【００５８】
そして、Ｓ１３０での判定の結果、送信権を得ることができたものと判定された場合には（Ｓ１３０：ＹＥＳ）、制御部４６は、送信対象フレームにおけるＲＴＲ、ＩＤＥ、コントロールフィールド、データフィールドを順にバス１０に転送する（Ｓ１６０）。すなわち、送信権を得ることができた場合には、送信対象フレームをバス１０に送信する。
【００５９】
続いて、制御部４６は、タイマーを停止して滞留時間を初期化する（即ち、「０」へと戻す）（Ｓ１７０）。
制御部４６は、その後、本送信処理を終了し、ＦＩＦＯバッファ５６の先頭領域に新たなデータフレームが格納されると、送信処理を改めて起動する。
【００６０】
ところで、Ｓ１３０での判定の結果、送信権を得ることができなかった場合（Ｓ１３０：ＮＯ）、制御部４６は、送信対象フレームのバス１０への送信を待機し、送信処理をＳ１４０へと移行させる。そのＳ１４０では、制御部４６は、Ｓ１４０へと移行した時点でタイマーによって計測されている滞留時間が、予め規定された規定時間よりも長いか否かを判定する。ここで言う規定時間とは、送信対象フレームがＦＩＦＯバッファ５６の先頭領域に保持されることを許容可能な時間長である。この規定時間は、例えば、現在送信の対象となっている送信対象フレームが、規定された周期で繰り返し送信されるものである場合、その周期の約２０％〜５０％であるものとしても良い。
【００６１】
このＳ１４０での判定の結果、タイマーによって計測されている滞留時間が規定時間以下であれば（Ｓ１４０：ＮＯ）、制御部４６は、送信処理をＳ１２０へと戻す。そのＳ１２０では、制御部４６は、調停対象フレームの送信が完了したことを確認すると、通信部４２を介してバス１０への送信対象フレームの送信を開始する（Ｓ１２０）。ここでのバス１０への送信対象フレームの送信は、ＳＯＦ、標準ＩＤの順に実施される。
【００６２】
そして、Ｓ１２０にて送信を開始した送信対象フレームの送信権が得られれば（Ｓ１３０：ＹＥＳ）、制御部４６は、送信対象フレームにおけるＲＴＲ、ＩＤＥ、コントロールフィールド、データフィールドを順にバス１０に転送する（Ｓ１６０）。続いて、制御部４６は、タイマーを停止して滞留時間を初期化する（即ち、「０」へと戻す）（Ｓ１７０）。
【００６３】
制御部４６は、その後、本送信処理を終了し、ＦＩＦＯバッファ５６の先頭領域に新たなデータフレームが格納されると、送信処理を改めて起動する。
ところで、Ｓ１４０での判定の結果、タイマーによって計測されている滞留時間が規定時間よりも長ければ（Ｓ１４０：ＹＥＳ）、制御部４６は、送信処理をＳ１５０へと進める。そのＳ１５０では、制御部４６は、全てのデータフレームの中で最も高い優先順位が与えられた拡張フォーマット形式のデータフレームへと、送信対象フレームを変更する変更制御を実行する。
【００６４】
本実施形態における拡張フォーマット形式のデータフレームは、図６に示すように、少なくとも、ヘッダ領域と、ヘッダ領域に続くデータ領域とを備えている。なお、図６における大括弧（［  ］）内の数値は、各領域のデータサイズ（ビット）である。
【００６５】
このうち、ヘッダ領域には、少なくとも、ＳＯＦと、標準ＩＤと、ＳＲＲと、ＩＤＥと、拡張ＩＤとが、ＳＯＦ、標準ＩＤ、ＳＲＲ、ＩＤＥ、拡張ＩＤの順に含まれる。
ただし、本実施形態におけるＳＲＲは、一ビットの信号であり、ロウレベル（「０」，ドミナント）に固定されている。拡張フォーマットにおけるＩＤＥは、ハイレベル（「１」，レセッシブ）に設定される。
【００６６】
拡張ＩＤは、規定データ長よりも長いデータ長のバイナリデータで表され、かつ、バイナリデータの論理値が小さいほど優先順位が高いことを表すものである。本実施形態の拡張ＩＤのデータ長は、１８ビットである。
【００６７】
そして、本実施形態のＳ１５０では、具体的には、制御部４６は、標準ＩＤに対応する領域の論理値を最小値（即ち、「０００００００００００（２進数表記）」）とする。さらに、Ｓ１５０では、制御部４６は、拡張ＩＤに対応する領域のうち、先頭から７ビット分のデータの論理値を「０」（即ち、信号レベルをロウレベル（ドミナント））に設定する。これと共に、Ｓ１５０では、制御部４６は、拡張ＩＤに対応する領域のうち、後端から１１ビット分のデータの論理値を、送信対象フレームのＣＡＮＩＤに対応する論理値に一致させる。
【００６８】
すなわち、本実施形態における拡張フォーマット形式のデータフレームは、標準ＩＤに対応する領域と、拡張ＩＤに対応する領域のうち先頭から７ビット分の領域との双方のデータの論理値を「０」とすると共に、拡張ＩＤに対応する領域のうち後端から１１ビット分のデータの論理値を、当該送信対象フレームにおけるＣＡＮＩＤとしたものである。
【００６９】
制御部４６は、その後、送信処理をＳ１２０へと移行させる。
そのＳ１２０では、制御部４６は、調停対象フレームの送信が完了したことを確認すると、通信部４２を介してバス１０への送信対象フレームの送信を開始する（Ｓ１２０）。
【００７０】
なお、本実施形態において、拡張フォーマット形式に変更された送信対象フレームは、全てのデータフレームの中で、最も優先順位が高いため、送信権を得ることができる（Ｓ１３０：ＹＥＳ）。
【００７１】
したがって、制御部４６は、送信対象フレームにおけるコントロールフィールド、データフィールドを順にバス１０に転送する（Ｓ１６０）。続いて、制御部４６は、タイマーを停止して滞留時間を初期化する（即ち、「０」へと戻す）（Ｓ１７０）。
【００７２】
制御部４６は、その後、本送信処理を終了し、ＦＩＦＯバッファ５６の先頭領域に新たなデータフレームが格納されると、送信処理を改めて起動する。
つまり、本実施形態の送信処理では、調停制御において、送信対象フレームが負け続け、当該送信対象フレームの滞留時間が規定時間よりも長くなると、送信対象フレームを標準フォーマット形式から拡張フォーマット形式へと変更する。この拡張フォーマット形式は、全てのデータフレームの中で最も高い優先順位が与えられたものであるため、送信対象フレームが調停制御の対象となったとしても、送信権を得ることができ、当該送信対象フレームは、バス１０に送信される。
【００７３】
すなわち、送信処理を実行した中継装置４０は、特許請求の範囲に記載された車載制御装置として機能する。
＜受信処理＞
次に、ＥＣＵ２０それぞれの制御部２６が実行する受信処理について説明する。
【００７４】
この受信処理は、バス１０の信号レベルがバスアイドル状態からロウレベルへと切り替わると（即ち、データフレームにおけるＳＯＦがドミナントになると）、開始される。以下、ＳＯＦがドミナントに切り替わり、かつ、ＥＣＵ２０自身がバス１０から受け取る可能性のあるデータフレームを受信対象フレームと称す。
【００７５】
そして、受信処理が起動されると、制御部２６は、図７に示すように、受信対象フレームにおけるＩＤＥがレセッシブ（「１」）であるか否かを判定する（Ｓ３１０）。このＳ３１０での判定の結果、受信対象フレームにおけるＩＤＥがレセッシブでなければ（Ｓ３１０：ＮＯ）、制御部２６は、受信処理を詳しくは後述するＳ３５０へと移行する。
【００７６】
一方、Ｓ３１０での判定の結果、受信対象フレームにおけるＩＤＥがレセッシブであれば（Ｓ３１０：ＹＥＳ）、制御部２６は、受信対象フレームにおける拡張ＩＤに対応する領域のうち先頭から７ビット分の領域の論理値が、全て「０」であるか否かを判定する（Ｓ３２０）。このＳ３２０での判定の結果、拡張ＩＤに対応する領域のうち先頭から７ビット分の領域の論理値が全て「０」でなければ（Ｓ３２０：ＮＯ）、制御部２６は、受信対象フレームがエラーである旨をバス１０に出力して（Ｓ３３０）、本受信処理を終了する。
【００７７】
すなわち、受信対象フレームにおけるＩＤＥがレセッシブであれば、当該受信対象フレームは、拡張フォーマット形式のデータフレームである可能性が高い。しかしながら、拡張ＩＤに対応する領域のうち先頭から７ビット分の領域の論理値が、全て「０」でない場合には、データに異常が生じた可能性が高いため、Ｓ３３０では、制御部２６は、受信対象フレームがエラーである旨をバス１０に出力する。
【００７８】
一方、Ｓ３２０での判定の結果、拡張ＩＤに対応する領域のうち先頭から７ビット分の領域の論理値が全て「０」であれば（Ｓ３２０：ＹＥＳ）、制御部２６は、受信対象フレームの形式を標準フォーマット形式に変換する（Ｓ３４０）。すなわち、受信処理では、受信対象フレームに拡張ＩＤが含まれていれば、受信対象フレームの形式が拡張フォーマット形式であるものと判定し、その受信対象フレームを標準フォーマット形式に変換する。
【００７９】
このＳ３４０では、制御部２６は、受信対象フレームに含まれる拡張ＩＤを除去すると共に、当該受信対象フレームの標準ＩＤの論理値をＣＡＮＩＤの論理値へと戻す変換制御を実行する。変換制御では、具体的には、受信対象フレームにおける標準ＩＤに対応する領域の論理値、及び拡張ＩＤに対応する領域のうち先頭から７ビット分の論理値の双方を削除する。つまり、変換制御では、拡張ＩＤに対応する論理値のうち後端から１１ビット分のデータの論理値、即ち、ＣＡＮＩＤだけを有効なものとして、以後の処理を実行するように設定する。
【００８０】
続いて、受信処理では、制御部２６は、受信対象フレームにおける後続のデータ（例えば、コントロールフィールドやデータフィールド）を受信し、制御部２６が実行するその他の処理へと転送する（Ｓ３５０）。ここで言う「その他の処理」には、例えば、受信対象フレームに含まれるデータ自体が、当該ＥＣＵ２０にとって必要なデータであるか否かを判定する周知の処理を含む。
【００８１】
なお、Ｓ３１０での判定の結果、受信対象フレームにおけるＩＤＥがレセッシブでなかった場合、即ち、受信対象フレームが標準フォーマット形式である場合（Ｓ３１０：ＮＯ）には、Ｓ３２０〜Ｓ３４０を実行することなく、受信対象フレームにおける後続のデータ（例えば、コントロールフィールドやデータフィールド）を受信し、制御部２６が実行するその他の処理へと転送する（Ｓ３５０）。
【００８２】
その後、制御部２６は、受信処理を終了する。
つまり、本実施形態の受信処理では、受信対象フレームが、標準フォーマット形式であるか拡張フォーマット形式であるかを判定する。そして、受信対象フレームが標準フォーマット形式であり、かつ、当該受信対象フレームが、ＥＣＵ２０自身が受信すべきデータフレームであれば、当該受信対象フレームにおけるコントロールフィールドやデータフィールドなどをそのまま受信する。
【００８３】
一方、当該受信対象フレームが拡張フォーマット形式であり、かつ、当該受信対象フレームが、ＥＣＵ２０自身が受信すべきデータフレームであれば、標準フォーマット形式へと戻した上で、当該受信対象フレームにおけるコントロールフィールドやデータフィールドなどを受信する。
［実施形態の効果］
以上説明したように、中継装置４０では、送信対象フレームをバス１０に送信するまでの待機時間（滞留時間）が規定時間以上となると、当該送信対象フレームの優先順位が全てのデータフレームの中で最も高くなるように変更される。このため、優先順位が変更された送信対象フレームは、バス１０への送信権を確実に得ることができ、バス１０に送信される。
【００８４】
したがって、中継装置４０によれば、送信対象フレームが規定時間を大幅に超えて調停に負け続けることを防止でき、送信対象フレームのバス１０への送信を早期に実現できる。
【００８５】
換言すれば、中継装置４０によれば、ＥＣＵ２０との間で共通のバスを介して通信を行い、バスに送信されるデータフレームそれぞれに優先順位が設定され、優先順位が低いほどバスに送信されるまでの待ち時間が長くなるように規定された通信プロトコルに従う車載通信システムにおいて、データフレームを送信するまでに要する滞留時間を短くできる。
【００８６】
なお、本実施形態の送信処理では、送信対象フレームの優先順位を全てのデータフレームの中で最も高くなるように変更することを、送信対象フレームに拡張ＩＤを挿入することで実現している。
【００８７】
本実施形態における拡張ＩＤの挿入は、標準ＩＤの全領域と、拡張ＩＤに対応する領域のうち先頭から７ビット分の領域との双方のデータの論理値を「０」とすると共に、拡張ＩＤに対応する領域のうち後端から１１ビット分のデータの論理値を、当該送信対象フレームにおけるＣＡＮＩＤとすることでなされている。
【００８８】
したがって、送信処理によれば、送信対象フレームの優先順位を全てのデータフレームの中で最も高くなるように変更することと、送信対象フレームに含まれるＣＡＮＩＤの論理値を維持することとを両立できる。
【００８９】
しかも、本実施形態においては、論理値を「０」とすることで、送信対象フレームの優先順位を最も高くしているため、送信処理によれば、送信対象フレームの優先順位を簡易な方法で向上させることができる。
【００９０】
また、本実施形態においては、ＥＣＵ２０にて受信処理を実行している。この受信処理では、受信対象フレームが拡張フォーマット形式であれば、その受信対象フレームを標準フォーマット形式へと戻している。
【００９１】
したがって、ＥＣＵ２０によれば、拡張ＩＤが含まれるデータフレームを受信した場合であっても、拡張ＩＤが含まれていない元のデータフレーム（即ち、標準ＩＤだけを含むデータフレーム）へと復元できる。すなわち、ＥＣＵ２０によれば、本来受信すべきデータフレームを受信でき、データの通信を正常に実施できる。
［その他の実施形態］
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
【００９２】
例えば、上記実施形態の車載通信システム１においては、送信処理の実行主体を中継装置４０としていたが、本発明における送信処理の実行主体は、これに限るものではない。すなわち、送信処理の実行主体は、ＥＣＵ２０であっても良い。
【００９３】
この場合、ＣＡＮプロトコルを用いてデータを通信するＥＣＵ２０において、バス１０へのデータフレームの送信に要する時間を短縮できる。
また、上記実施形態の車載通信システム１においては、受信処理の実行主体をＥＣＵ２０としていたが、本発明における受信処理の実行主体は、これに限るものではない。すなわち、受信処理の実行主体は、中継装置４０であっても良い。
【００９４】
この場合、例えば、上記実施形態の送信処理を実行するＥＣＵ２０からのデータフレームであっても、他のプロトコルを用いてデータを通信するバスに、当該データフレームを送信できる。
【００９５】
ところで、上記実施形態においては、データフレームに予め割り当てられるＣＡＮＩＤの倫理値として、「０００００００００００（２進数表記）」が除かれていたが、本発明においては、データフレームに予め割り当てられるＣＡＮＩＤの倫理値として、「０００００００００００（２進数表記）」が含まれていても良い。
【００９６】
なお、上記実施形態では、バス１０，１２，１４ごとに、異なる通信プロトコルが用いられているものとして説明したが、バス１０，１２，１４において用いられるプロトコルは共通であっても良い。
【００９７】
すなわち、本発明においては、ＣＡＮプロトコルを用いてデータを通信するバスにデータフレームを出力する装置であれば、その出力すべきデータフレームを受け取る際のプロトコルはどのようなものでも良い。
【００９８】
なお、上記実施形態の構成の一部を、課題を解決できる限りにおいて省略した態様も本発明の実施形態である。また、上記実施形態と変形例とを適宜組み合わせて構成される態様も本発明の実施形態である。また、特許請求の範囲に記載した文言によって特定される発明の本質を逸脱しない限度において考え得るあらゆる態様も本発明の実施形態である。
【符号の説明】
【００９９】
１…車載通信システム  １０，１２，１４…バス  ２０，３０，３５…ＥＣＵ  ２２…通信部  ２４…記憶部  ２６…制御部  ４０…中継装置  ４２…通信部  ４４…記憶部  ４６…制御部  ５０…ルーティング部  ５２…トランシーバ  ５６…ＦＩＦＯバッファ
【図１】
2015154185.tif 000003
【図２】
2015154185.tif 000004
【図３】
2015154185.tif 000005
【図４】
2015154185.tif 000006
【図５】
2015154185.tif 000007
【図６】
2015154185.tif 000008
【図７】
2015154185.tif 000009