(57)【特許請求の範囲】
【請求項１】
車両内に配線された車両内ＬＡＮのバスを介して該バスに接続された他通信装置との通信を行う主通信装置を備え、主通信装置は、外部ツールより受信した要求メッセージを前記他通信装置に送信して該他通信装置にメモリ領域のチェックサム値よりなるＣＶＮコードを演算させて該ＣＶＮコードを照合用データとして発信させると共に受信した他通信装置からの照合用データを外部ツールに返信し、前記外部ツールは、発行した要求メッセージに対する前記主通信装置からの応答が規定時間内にあるかどうかを判定し、同規定時間内に前記主通信装置からの応答がないとタイムアウトと判定する車両通信システムにおいて、
前記主通信装置は、外部ツールから要求されると事前に分かっている項目についての前記照合用データの発信要求を外部ツールからの要求に関係なく前記他通信装置に送信し、この発信要求に対して前記他通信装置から規定時間内に応答があればその受信した照合用データを保存し、該保存した照合用データをその後受信した外部ツールからの要求メッセージに対して返信する一方、前記発信要求に対して前記他通信装置から規定時間内に応答がないときは所定値を保存するタイムアウト処理を実施し、該所定値が保存されているときにはその後受信した外部ツールからの要求メッセージに対して規定時間内に返信せずそのまま待機することによってタイムアウトさせることを特徴とする車両通信システム。
【請求項２】
前記主通信装置は、電源投入後、所定時間経過の時点で前記他通信装置に対して要求メッセージを送信する請求項１記載の車両通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、車両内ネットワーク上の複数の電子制御ユニット（以下ＥＣＵという）と外部ツールとの間の通信を好適に行うための車両通信システムに関するものである。
【０００２】
【従来の技術】
この種の従来技術として、車両内ネットワークに接続された複数のＥＣＵに対して外部ツールから要求メッセージを発行し、その要求メッセージに従い各ＥＣＵが保有する車両情報や故障診断コード等を当該外部ツールに返信する技術が知られている。この場合特に、多数のＥＣＵのうち、特定の一ＥＣＵ（特定ＥＣＵ）に外部ツールを接続してその特定ＥＣＵをホストとし、この特定ＥＣＵを経由して要求メッセージの送信並びに他ＥＣＵの応答データの受信を行うようにしている。そして、特定ＥＣＵが、他ＥＣＵの応答の結果を外部ツールに返信するようにしている。
【０００３】
上記システムにおいて、外部ツールでは、発行した要求メッセージに対し、特定ＥＣＵからの応答が規定時間内にあるかどうかを判定し、規定時間内に当該特定ＥＣＵからの応答が無いとタイムアウトと判定する。また、特定ＥＣＵでは、他ＥＣＵに送信した要求に対して応答が規定時間内に無いとこれもタイムアウトと判定する。
【０００４】
ところで、近年の法規制動向に伴い、例えばソフトウエア照合用番号としてのＣＶＮ（Calibration Verification Number ）等の対応が要求されている。ＣＶＮコードはプログラムコードのチェックサム値よりなり、所定のメモリ領域について随時演算される。この場合、外部ツールからのＣＶＮ要求後、６０秒以内に各ＥＣＵの応答が有れば良しとする方向で規格の整備が進められている。なお、ＣＶＮ要求は、例えば５５〜５０００ｍｓ間隔で外部ツールから繰り返し発行される。
【０００５】
【発明が解決しようとする課題】
しかしながら、外部ツール及び特定ＥＣＵ間ではタイムアウト時間の計測にずれが生じ、それに起因して種々の不都合が生じる。それを図６を用いて説明する。
【０００６】
図６のタイミングｔ２１以降、外部ツールからのＣＶＮ要求が定期的（５５〜５０００ｍｓ毎）に発行される。特定ＥＣＵは、最初のＣＶＮ要求を受信した後、タイミングｔ２２で自身のＣＶＮコードを外部ツールに返信（応答）すると共に、他ＥＣＵへＣＶＮ要求を送信（転送）する。その要求送信後、特定ＥＣＵでタイムアウトカウンタが起動され、他ＥＣＵからの応答待ちの状態となる。仮に６０秒間他ＥＣＵからの応答が無いと、タイミングｔ２４でタイムアウト（応答異常）が判定される。これに対し、外部ツールでは、特定ＥＣＵからの応答無しの時間が計測され、具体的にはタイミングｔ２３以降、６０秒が経過したタイミングｔ２５でタイムアウト（応答異常）が判定される。この場合、外部ツールと特定ＥＣＵとでタイムアウトのタイミングのずれが生じてしまう（ｔ２４，ｔ２５）。
【０００７】
図示の如く外部ツールでのタイムアウトの方が遅れる場合、タイミングｔ２４〜ｔ２５の間に外部ツールのＣＶＮ要求が入ると、特定ＥＣＵは自身のＣＶＮコードを再度外部ツールに送信する（図のＣ１，Ｃ２）。つまり、特定ＥＣＵでのタイムアウト時間（６０秒）の経過前であれば、特定ＥＣＵは他ＥＣＵからの応答待ちの状態となり、外部ツールからのＣＶＮ要求を無視するが、タイムアウト後（６０秒経過後）はＣＶＮコードを誤って外部ツールに送信してしまう。
【０００８】
また逆に、外部ツールが先にタイムアウトすると、本来のタイムアウト時間が残っているのも関わらず応答待ちが打ち切られてしまう。従って、タイムアウト直前に応答を返す場合に、その応答が外部ツールで受け取られないという不都合が生じる。
【０００９】
本発明は、上記問題に着目してなされたものであって、その目的とするところは、車両内ネットワークと外部ツールとの間の通信を適切に行うことができる車両通信システムを提供することである。
【００１０】
【課題を解決するための手段】
請求項１に記載の車両通信システムでは、車両内ＬＡＮのバスを介して主通信装置と他通信装置との通信が行われる。このとき、主通信装置は、外部ツールより受信した要求メッセージを前記他通信装置に送信して該他通信装置にメモリ領域のチェックサム値よりなるＣＶＮコードを演算させて該ＣＶＮコードを照合用データとして発信させると共に受信した他通信装置からの照合用データを外部ツールに返信し、前記外部ツールは、発行した要求メッセージに対する前記主通信装置からの応答が規定時間内にあるかどうかを判定し、同規定時間内に前記主通信装置からの応答がないとタイムアウトと判定する。また特に、主通信装置は、外部ツールから要求されると事前に分かっている項目についての照合用データの発信要求を外部ツールからの要求に関係なく前記他通信装置に送信し、この発信要求に対して前記他通信装置から規定時間内に応答があればその受信した照合用データを保存し、該保存した照合用データをその後受信した外部ツールからの要求メッセージに対して返信する。一方、前記発信要求に対して前記他通信装置から規定時間内に応答がないときは所定値を保存するタイムアウト処理を実施し、該所定値が保存されているときにはその後受信した外部ツールからの要求メッセージに対して規定時間内に返信せずそのまま待機することによってタイムアウトさせる。
【００１１】
上記構成によれば、外部ツールからの要求以前に主通信装置で他通信装置の応答の結果を確保することが可能となる。従って、外部ツールからの要求時には、他通信装置の応答を素早く返すことができる。この場合、外部ツールからの要求時において、主通信装置が他通信装置の応答待ちの状態となることはなく、タイムアウトの判定も不要となる。それ故に、タイムアウト時間の計測ずれに関する諸問題が生じることはなく、車両内ネットワークと外部ツールとの間の通信を適切に行うことができる。
【００１３】
特に、照合用データ（チェックサム値）は演算に時間がかかるが、事前に演算され保存されることで要求時の演算時間を考慮しなくて済む。
【００１４】
請求項２に記載の発明では、前記主通信装置は、電源投入後、所定時間経過の時点で前記他通信装置に対して要求メッセージを送信する。この場合、電源投入直後に他通信装置に対して要求が出されることとなるため、他通信装置の応答を早期に確保することが可能となる。
【００１５】
【発明の実施の形態】
本実施の形態では、複数のＥＣＵが車両内ネットワークにて接続されてなる車両制御システムに本発明を適用し、当該システムにおいて故障診断ツール等の外部ツールとの通信を好適に実施するための構成について説明する。
【００１６】
図１は、本車両制御システムの概略図である。図１において、車両内に配線された車両内ＬＡＮのバス１０には多数のＥＣＵ、すなわちＥＣＵ１，ＥＣＵ２，ＥＣＵ３，・・・が接続されており、各ＥＣＵ間は相互に通信可能となっている。なおここで、ＥＣＵ１が「主通信装置」に相当し、ＥＣＵ２，ＥＣＵ３，・・・が「他通信装置」に相当する。
【００１７】
多数のＥＣＵのうち、特定のＥＣＵ１には「外部ツール」としての故障診断ツール２０が接続される。この場合、故障診断ツール２０からＥＣＵ１に対して要求メッセージが送信され（図の丸数字１）、ＥＣＵ１は受信した要求メッセージをＥＣＵ１要求として他のＥＣＵ２，３等に送信（転送）する（図の丸数字２）。各ＥＣＵ２，３等ではＥＣＵ１要求に対する応答データを演算し、それをＥＣＵ１に返信する（図の丸数字３）。更に、ＥＣＵ１は、各ＥＣＵ２，３等の応答データを故障診断ツール２０に送信する。
【００１８】
故障診断ツール２０からＥＣＵ１に送信される要求メッセージは、各ＥＣＵからのデータの送信を要求するもの、或いは各ＥＣＵのコード情報等のクリアを要求するものなどであり、次にその具体例を列挙する。つまり、
・ＣＶＮコード（ソフトウエア照合番号）の送信要求、
・ＤＴＣコード（故障診断コード）の送信要求、
・ＶＩＮコード（車両認証番号）の送信要求、
・ＣＩＤコード（ソフトウエア版数）の送信要求、
・各メッセージの数の送信要求、
等々である。これら各要求事項は、故障診断ツール２０から要求されると事前に分かっている項目である。
【００１９】
ここで、ＣＶＮコードは、メモリの全領域或いは特定領域についてのチェックサム値（照合用データ）として各ＥＣＵで算出されるデータである。ソフトウエアの不正書き換え防止のため、このＣＶＮコードは通常ＩＧＳＷ（イグニッションスイッチ）のＯＮ毎に計算し直される。また、ＤＴＣコードは「車両の故障診断情報」に該当し、その他ＶＩＮコード、ＣＩＤコード等は「車両固有情報」に該当する。
【００２０】
次に、故障診断ツール２０からの要求発行時における各ＥＣＵの応答の概要を説明する。便宜上以下の説明では、故障診断ツール２０よりＣＶＮ送信要求が出される事例について記載する。また、故障診断ツール２０の要求発行時には、ＥＣＵ１と他のＥＣＵ２，３等との間で要求及び応答のやり取りが行われるが、ＥＣＵ１とＥＣＵ２との間の要求及び応答のやり取りに限定して説明する。
【００２１】
図２は、ＥＣＵ１からＥＣＵ２への送信要求処理を示すフローチャートである。この処理は、所定時間周期（本実施の形態では８ｍｓ周期）でＥＣＵ１により実施される８ｍｓ処理である。
【００２２】
図２において、先ずステップ１０１では、ＩＧＳＷのＯＮ後、所定時間が経過したか否かを判別し、ＹＥＳである場合のみ後続の処理に進む。ここで、所定時間とは他ＥＣＵの起動待ちの時間であり、例えば数秒程度の時間経過後であれば、全てのＥＣＵが起動したとみなし後続の処理に進む。
【００２３】
続くステップ１０２では、要求発行フラグｘｒｅｑを判別し、当該フラグがＥＣＵ２へのＣＶＮ要求メッセージの発行済みであることを示す状態（ｘｒｅｑ＝１）であるか否かを判別する。当初はステップ１０２がＮＯとなりステップ１０３に進む。ステップ１０３では、ＥＣＵ２に対してＣＶＮ要求メッセージを発行し、要求発行フラグｘｒｅｑに１をセットする。またこのとき、ＥＣＵ２からのＣＶＮ受信（応答）が未完了である故、応答履歴フラグｘｃｖｎ１を０にクリアすると共に、タイムアウトカウンタを０にクリアする。
【００２４】
要求発行フラグｘｒｅｑがセットされた後（ＣＶＮ要求メッセージの発行後）はステップ１０４に進み、応答履歴フラグｘｃｖｎ１が０か否かを判別する。ｘｃｖｎ１＝０であれば、ステップ１０５でＥＣＵ２からの応答の有無を判別する。応答有りの場合、ステップ１０６でＥＣＵ２から受信したＣＶＮコードを保存する。このとき、正常にＣＶＮコードを受信した履歴を残すべく、応答履歴フラグｘｃｖｎ１を「５５」とする。またこのとき、タイムアウトカウンタｃｎｔをクリアする。
【００２５】
また、ステップ１０５で応答無しの場合、ステップ１０７でタイムアウトカウンタｃｎｔを１カウントアップする。その後、ＥＣＵ２からの応答が無いままｃｎｔ＞６０ｓｅｃになると（ステップ１０８がＹＥＳ）、応答異常とみなし、ステップ１０９でタイムアウト処理を実施する。すなわち、正常にＣＶＮコードを受信できなかった履歴を残すべく、応答履歴フラグｘｃｖｎ１を「ＡＡ」とする。また、タイムアウトカウンタｃｎｔをクリアする。
【００２６】
なお、ＥＣＵ２からＥＣＵ１に対する応答完了後若しくはタイムアウト後はステップ１０２がＹＥＳ、ステップ１０４がＮＯとなる。従って、同一の要求（この場合はＣＶＮ要求）がＥＣＵ２に対して繰り返し発行されることはない。
【００２７】
また、図３は、ツールからの要求時の処理を示すフローチャートである。この処理は、所定時間周期（本実施の形態では８ｍｓ周期）でＥＣＵ１により実施される８ｍｓ処理である。
【００２８】
図３において、先ずステップ２０１では、故障診断ツール２０からの要求の有無を判別し、続くステップ２０２では、その要求がＣＶＮ要求メッセージであるか否かを判別する。ステップ２０１，２０２が共にＹＥＳの場合、ステップ２０３で応答送信フラグｘｃｖｎ２が１であるか否かを判別する。故障診断ツール２０に対してＥＣＵ１がＣＶＮ未送信である場合、ｘｃｖｎ２＝０である。ｘｃｖｎ２＝０の場合、ステップ２０４でＣＶＮコードの計算完了であることを条件に、ステップ２０５でＥＣＵ１のＣＶＮコードを故障診断ツール２０に対して送信する。このとき、応答送信フラグｘｃｖｎ２に１をセットする。なお、ＥＣＵ１のＣＶＮコードは、図示しない別処理にて起動直後に演算済みである。
【００２９】
応答送信フラグｘｃｖｎ２がセットされた後（ＥＣＵ１の応答完了後）はステップ２０６に進み、応答履歴フラグｘｃｖｎ１の値に基づきＥＣＵ２からＥＣＵ１に対してＣＶＮコードが正常に受信されたか否かを判別する。前述の通り応答履歴フラグｘｃｖｎ１はＣＶＮコード受信の履歴であり、当該フラグが正常応答を表す「５５」であればステップ２０７に進み、ＥＣＵ１に保存されているＥＣＵ２のＣＶＮコードを故障診断ツール２０に送信する。すなわち、ここで送信されるＣＶＮコードは、前記図２の処理により事前に受信し保存したＥＣＵ２のＣＶＮコードである。このとき、応答送信フラグｘｃｖｎ２をクリアする。
【００３０】
また、応答履歴フラグｘｃｖｎ１が異常応答を表す「ＡＡ」であればステップ２０８に進む。そして、タイムアウトカウンタｃｎｔのカウントアップ動作及び時間判定を行い、ｃｎｔ＞６０ｓｅｃとなった時点で応答送信フラグｘｃｖｎ２及びタイムアウトカウンタｃｎｔをクリアする。
【００３１】
次に、図４及び図５のタイムチャートを用い、上記図２及び図３の処理をより具体的に説明する。ここで、図４は、ＥＣＵ２が正常応答する場合の動作を示し、図５は、ＥＣＵ２が異常応答する場合の動作を示す。
【００３２】
さて図４において、ＩＧＳＷのＯＮ後、所定時間が経過したタイミングｔ１では、ＥＣＵ１からＥＣＵ２に対してＣＶＮ要求メッセージが発行され（図のＡ１）、要求発行フラグｘｒｅｑに１がセットされる。その後、８ｍｓ処理（図２の処理）毎にタイムアウトカウンタｃｎｔがカウントアップされる。これにより、ＥＣＵ２からの応答待ちの状態となる。
【００３３】
タイミングｔ１以降、ＥＣＵ２ではＥＣＵ１からの要求メッセージに従いＣＶＮコードが演算され、その演算終了時にＥＣＵ２からＥＣＵ１へＣＶＮコードが返信される（タイミングｔ２のＡ２）。このＥＣＵ２からの応答に伴い、ＥＣＵ１での次の８ｍｓ処理でＥＣＵ２の応答有りが確認され、当該応答によるＣＶＮコードがＥＣＵ１で保存される。このとき、ＥＣＵ２が正常応答することで、応答履歴フラグｘｃｖｎ１に「５５」がセットされる。
【００３４】
その後、タイミングｔ３で故障診断ツール２０からＥＣＵ１に対してＣＶＮ要求メッセージが発行されると、ＥＣＵ１での次の８ｍｓ処理（図３の処理）でＥＣＵ１のＣＶＮコードが故障診断ツール２０に対して返信される（図のＡ３，Ａ４）。更にタイミングｔ４では、再度故障診断ツール２０からＥＣＵ１に対してＣＶＮ要求メッセージが発行される（図のＡ５）。すると、応答履歴フラグｘｃｖｎ１が正常値「５５」であることから、ＥＣＵ１での次の８ｍｓ処理（図３の処理）でＥＣＵ２のＣＶＮコードが故障診断ツール２０に対して返信される（図のＡ６）。
【００３５】
因みに、ｔ３〜ｔ４間は予め規定された要求発行周期であり、例えば５５〜５０００ｍｓである。このｔ３〜ｔ４間では、８ｍｓ処理（図３の処理）が繰り返し実施されるが、かかる場合には故障診断ツール２０からの要求が確認されないため応答処理は実施されない。
【００３６】
一方、図５において、前記図４同様タイミングｔ１１では、ＥＣＵ１からＥＣＵ２に対してＣＶＮ要求メッセージが発行され（メッセージ発行の図示は略す）、要求発行フラグｘｒｅｑに１がセットされる。その後、８ｍｓ処理（図２の処理）毎にタイムアウトカウンタｃｎｔがカウントアップされる。これにより、ＥＣＵ２からの応答待ちの状態となる。
【００３７】
図５の場合には、タイミングｔ１１以降ＥＣＵ２から応答が無く、タイミングｔ１２でタイムアウトされる。このとき、ＥＣＵ２が異常応答となることで、応答履歴フラグｘｃｖｎ１に「ＡＡ」がセットされる。
【００３８】
その後、タイミングｔ１３で故障診断ツール２０からＥＣＵ１に対してＣＶＮ要求メッセージが発行されると、前記図４と同様に、ＥＣＵ１での次の８ｍｓ処理（図３の処理）でＥＣＵ１のＣＶＮコードが故障診断ツール２０に対して返信される（図のＢ１，Ｂ２）。
【００３９】
タイミングｔ１３以降、予め規定した要求発行周期（例えば５５〜５０００ｍｓ周期）で故障診断ツール２０からＥＣＵ１に対してＣＶＮ要求メッセージが繰り返し発行されるが、応答履歴フラグｘｃｖｎ１が異常値「ＡＡ」であることから、ＥＣＵ１は故障診断ツール２０に応答を返さずそのまま待機する。つまり、ＥＣＵ２のＣＶＮコードが故障診断ツール２０に対して返信されることはなく、６０秒経過したタイミングｔ１４でタイムアウトされる。
【００４０】
以上詳述した本実施の形態によれば、以下に示す効果が得られる。
故障診断ツール２０からの要求に関係なく要求メッセージがＥＣＵ１からＥＣＵ２等（ＥＣＵ２，ＥＣＵ３，・・・）に送信され、その応答の結果が保存されるため、故障診断ツール２０からの要求以前にＥＣＵ１でＥＣＵ２等の応答の結果を確保することが可能となる。従って、故障診断ツール２０からの要求時にはＥＣＵ２等の応答を素早く返すことができる。この場合、故障診断ツール２０からの要求時において、ＥＣＵ１がＥＣＵ２等の応答待ちの状態となることはなく、タイムアウトの判定も不要となる。故障診断ツール２０側とＥＣＵ１側との同期処理も不要である。それ故に、タイムアウト時間の計測ずれに関する諸問題が生じることはなく、車両内ネットワークと故障診断ツール２０との間の通信を適切に行うことができる。
【００４１】
ＥＣＵ１は、故障診断ツール２０より要求メッセージを受信した際、事前に設定した応答履歴フラグｘｃｖｎ１（履歴情報）に基づいて故障診断ツール２０に対する応答を行うため、要求に対する応答の正常／異常の判断をいち早く行うことが可能となる。
【００４２】
電源投入後、所定時間経過の時点でＥＣＵ２等に対して要求メッセージを送信するため、ＥＣＵ２等の応答を早期に確保することができ、その後、故障診断ツール２０が接続され要求メッセージが到達する際には当該応答の結果が確実に故障診断ツール２０に対して返信できる。
【００４３】
上記実施の形態では、故障診断ツール２０からＣＶＮコードの送信要求が出される場合について説明したが、ＤＴＣコード、ＶＩＮコード、ＣＩＤコード、各メッセージの数など、他の情報の送信要求が出される場合も同様である。
【図面の簡単な説明】
【図１】発明の実施の形態における車両制御システムの概要を示す構成図。
【図２】ＥＣＵ２への要求送信処理を示すフローチャート。
【図３】ツール要求に対する応答処理を示すフローチャート。
【図４】ＥＣＵ２が正常応答する場合の動作を示すタイムチャート。
【図５】ＥＣＵ２が異常応答する場合の動作を示すタイムチャート。
【図６】従来技術の問題点を説明するためのタイムチャート。
【符号の説明】
１〜３…ＥＣＵ、１０…バス、２０…故障診断ツール。
【図１】
0004013592.tif 000002
【図２】
0004013592.tif 000003
【図３】
0004013592.tif 000004
【図４】
0004013592.tif 000005
【図５】
0004013592.tif 000006
【図６】
0004013592.tif 000007