(57)【特許請求の範囲】
【請求項１】
書き換えツール（６）から書き換え要求を受信するゲートウェイ電子制御装置（２）と、前記書き換えツールから前記ゲートウェイ電子制御装置を経由して受信した書き換えデータを書き込んでプログラムを書き換える書き換え対象電子制御装置（３，４）と、を備えた車両用データ通信システム（１）において、
前記ゲートウェイ電子制御装置は、各種サービス機能の要求を実行するための書き換えサービス機能（２５１ａ）と、プログラムを書き換えるための書き換え機能（２５３ａ，２５３ｂ）と、書き換え機能転送機能（２５１ｅ）と、書き換え要求転送機能（２５１ｆ）とを保持し、前記書き換えツールから書き換え要求を受信すると、前記書き換え要求を、前記書き換え要求転送機能を用いて前記書き換え対象電子制御装置に送信し、前記書き換え機能を、前記書き換え機能転送機能を用いて前記書き換え対象電子制御装置に送信し、
前記書き換え対象電子制御装置は、前記ゲートウェイ電子制御装置から受信した前記書き換え機能を用い、前記書き換えツールから前記ゲートウェイ電子制御装置を経由して受信した書き換えデータを書き込んでプログラムを書き換える車両用データ通信システム。
【請求項２】
請求項１に記載した車両用データ通信システムにおいて、
前記ゲートウェイ電子制御装置は、前記書き換え機能を、複数の書き換え対象電子制御装置で共有する車両用データ通信システム。
【請求項３】
請求項１又は２に記載した車両用データ通信システムにおいて、
前記ゲートウェイ電子制御装置は、前記書き換えデータの前記書き換え対象電子制御装置への送信を含むデータ通信を独自の通信プロトコルで行う車両用データ通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は車両用データ通信システムに関する。
【背景技術】
【０００２】
従来より、ゲートウェイとして機能する電子制御装置（以下、Ｇ／ＷＥＣＵと称する）と、書き換えツールからＧ／ＷＥＣＵを経由して受信した書き換えデータを書き込んでプログラムを書き換える（即ちリプログする）書き換え対象ＥＣＵとを備えた車両用データ通信システムが供されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５３６３１９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
書き換え対象ＥＣＵは、書き換えサービス機能の仕様で規定されている要求メッセージ（例えばＩＳＯ１４２２９で定義されているメッセージ）を書き換えツールからＧ／ＷＥＣＵを経由して受信して特定する。そして、書き換え対象ＥＣＵは、書き換えツールからＧ／ＷＥＣＵを経由して受信した書き換えデータを書き込んでプログラムを書き換える。そのため、書き換え対象ＥＣＵでは、ＲＯＭに格納される書き換えソフトとして、各種サービス機能の要求を実行するための書き換えサービス機能（即ちリプログサービス機能）と、プログラムを書き換えるための書き換え機能（即ちリプログ機能）とが格納される必要がある。
【０００５】
しかしながら、書き換え対象ＥＣＵの書き換えソフトに書き換えサービス機能と書き換え機能とが格納されている構成では、車両に新規にＥＣＵを搭載しようとする場合に、そのＥＣＵの書き換えソフトにも書き換えサービス機能と書き換え機能とが格納される必要がある。そのため、書き換えソフトの開発に要する工数及び費用が増加する問題や、ＲＯＭの領域において書き換えソフトが占有する領域が多くなる分、アプリソフトで使用可能な領域が制約を受ける問題がある。
【０００６】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、書き換え対象ＥＣＵの書き換えソフトの開発に要する工数及び費用を低減すると共に、書き換え対象ＥＣＵのＲＯＭの領域においてアプリソフトで使用可能な領域の制約を低減することができる車両用データ通信システムを提供することにある。
【課題を解決するための手段】
【０００７】
請求項１に記載した発明によれば、ゲートウェイ電子制御装置（２）は、各種サービス機能の要求を実行するための書き換えサービス機能（２５１ａ）と、プログラムを書き換えるための書き換え機能（２５３ａ，２５３ｂ）と、書き換え機能転送機能（２５１ｅ）と、書き換え要求転送機能（２５１ｆ）とを保持する。ゲートウェイ電子制御装置は、書き換えツール（６）から書き換え要求を受信すると、書き換え要求を、書き換え要求転送機能を用いて書き換え対象電子制御装置（３，４）に送信し、書き換え機能を、書き換え機能転送機能を用いて書き換え対象電子制御装置に送信する。書き換え対象電子制御装置は、ゲートウェイ電子制御装置から受信した書き換え機能を用い、書き換えツールからゲートウェイ電子制御装置を経由して受信した書き換えデータを書き込んでプログラムを書き換える。
【０００８】
書き換えサービス機能と書き換え機能とをゲートウェイ電子制御装置に集約し、それらの機能を書き換え対象電子制御装置から省き、それらの機能が書き換え対象電子制御装置の書き換えソフトに格納されない構成とした。これにより、車両に新規にＥＣＵを搭載しようとする場合でも、そのＥＣＵの書き換えソフトに書き換えサービス機能と書き換え機能とが格納される必要がなくなる。その結果、書き換え対象電子制御装置の書き換えソフトの開発に要する工数及び費用を低減すると共に、書き換え対象電子制御装置のＲＯＭの領域においてアプリソフトで使用可能な領域の制約を低減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態を示す機能ブロック図
【図２】ＲＯＭ及びＲＡＭの構成を示す図
【図３】シーケンス図
【図４】シーケンス図
【図５】ＲＯＭ及びＲＡＭの構成を示す図
【図６】書き換え機能の構成を示す図
【図７】シーケンス図
【図８】シーケンス図
【図９】Ｇ／ＷＥＣＵのメイン処理を示すフローチャート
【図１０】Ｇ／ＷＥＣＵのＣＡＮ受信制御処理を示すフローチャート
【図１１】Ｇ／ＷＥＣＵのＣＡＮ送信制御処理を示すフローチャート
【図１２】Ｇ／ＷＥＣＵの書き換えサービス処理（アプリソフト）を示すフローチャート
【図１３】Ｇ／ＷＥＣＵの書き換えサービス処理（書き換えソフト）を示すフローチャート
【図１４】Ｇ／ＷＥＣＵの肯定応答処理を示すフローチャート
【図１５】Ｇ／ＷＥＣＵの否定応答処理を示すフローチャート
【図１６】Ｇ／ＷＥＣＵの書き換え要求処理を示すフローチャート
【図１７】Ｇ／ＷＥＣＵの書き換え機能転送処理を示すフローチャート
【図１８】Ｇ／ＷＥＣＵのセキュリティ開錠準備要求処理を示すフローチャート
【図１９】Ｇ／ＷＥＣＵのセキュリティ開錠要求処理を示すフローチャート
【図２０】Ｇ／ＷＥＣＵのプログラム消去要求処理を示すフローチャート
【図２１】Ｇ／ＷＥＣＵのダウンロード要求処理を示すフローチャート
【図２２】Ｇ／ＷＥＣＵのデータ転送要求処理を示すフローチャート
【図２３】Ｇ／ＷＥＣＵのデータ転送完了要求処理を示すフローチャート
【図２４】Ｇ／ＷＥＣＵのプログラム妥当性要求処理を示すフローチャート
【図２５】Ｇ／ＷＥＣＵのＥＣＵリセット要求処理を示すフローチャート
【図２６】Ｇ／ＷＥＣＵの書き換え要求転送処理を示すフローチャート
【図２７】書き換え対象ＥＣＵのメイン処理を示すフローチャート
【図２８】書き換え対象ＥＣＵのＣＡＮ受信制御処理を示すフローチャート
【図２９】書き換え対象ＥＣＵのＣＡＮ送信制御処理を示すフローチャート
【図３０】書き換え対象ＥＣＵのデータ格納処理を示すフローチャート
【図３１】書き換え対象ＥＣＵの肯定応答処理を示すフローチャート
【図３２】書き換え対象ＥＣＵの否定応答処理を示すフローチャート
【図３３】書き換え対象ＥＣＵの書き換え機能処理を示すフローチャート
【図３４】書き換え対象ＥＣＵの書き換え処理を示すフローチャート
【図３５】書き換え対象ＥＣＵのプログラム消去処理を示すフローチャート
【図３６】書き換え対象ＥＣＵのダウンロード処理を示すフローチャート
【図３７】書き換え対象ＥＣＵの書き込み処理を示すフローチャート
【図３８】書き換え対象ＥＣＵの書き込み完了処理を示すフローチャート
【図３９】書き換え対象ＥＣＵのプログラム妥当性確認処理を示すフローチャート
【図４０】書き換え対象ＥＣＵのリセット処理を示すフローチャート
【図４１】書き換え機能が送信される態様を示す図
【図４２】本発明の第２の実施形態の書き換え機能が送信される態様を示す図
【発明を実施するための形態】
【００１２】
（第１の実施形態）
以下、本発明の第１の実施形態について図１から図４１を参照して説明する。車両用データ通信システム１は、ゲートウェイとして機能する電子制御装置（以下、Ｇ／ＷＥＣＵと称する）２と、Ｇ／ＷＥＣＵ２から書き換えデータを受信してプログラムを書き換える書き換え対象ＥＣＵ３，４とを有する。本実施形態では、書き換え対象ＥＣＵとして、第１の書き換え対象ＥＣＵ３と第２の書き換え対象ＥＣＵ４との２個の書き換え対象ＥＣＵを有する構成を例示しているが、３個以上の書き換え対象ＥＣＵを有する構成でも良い。Ｇ／ＷＥＣＵ２と書き換え対象ＥＣＵ３，４とは、ローカルＣＡＮバス５を介して接続されている。又、Ｇ／ＷＥＣＵ２は、プログラムの書き換え操作を行う作業者により操作される書き換えツール６を接続可能となっている。Ｇ／ＷＥＣＵ２と書き換えツール６とはグローバルＣＡＮバス７を介して接続される。
【００１３】
Ｇ／ＷＥＣＵ２は、マイクロコンピュータを含むＭＣＵ２１と、ＣＡＮトランシーバ２２とを有する。ＭＣＵ２１は、ＣＡＮ通信機能２３と、フラッシュ機能２４と、ＲＯＭ２５と、ＲＡＭ２６とを有し、Ｇ／ＷＥＣＵ２の動作を制御する。ＣＡＮトランシーバ２２は、ローカルＣＡＮバス５及びグローバルＣＡＮバス７との間でのＣＡＮで規定されている通信プロトコルによるデータ通信を制御する。尚、機能とは特定のプログラムを実行して特定の処理を行うモジュールを意味する。
【００１４】
第１の書き換え対象ＥＣＵ３は、マイクロコンピュータを含む第１のＭＣＵ３１と、ＣＡＮトランシーバ３２とを有する。第１のＭＣＵ３１は、ＣＡＮ通信機能３３と、フラッシュ機能３４と、ＲＯＭ３５と、ＲＡＭ３６とを有し、第１の書き換え対象ＥＣＵ３の動作を制御する。ＣＡＮトランシーバ３２は、ローカルＣＡＮバス５との間でのＣＡＮで規定されている通信プロトコルによるデータ通信を制御する。第２の書き換え対象ＥＣＵ４は、第１の書き換え対象ＥＣＵ３と同等の構成であり、マイクロコンピュータを含む第２のＭＣＵ４１と、ＣＡＮトランシーバ４２とを有する。第２のＭＣＵ４１は、ＣＡＮ通信機能４３と、フラッシュ機能４４と、ＲＯＭ４５と、ＲＡＭ４６とを有する。ＣＡＮトランシーバ４２、ＣＡＮ通信機能４３、フラッシュ機能４４、ＲＯＭ４５及びＲＡＭ４６は、それぞれ上記したＣＡＮトランシーバ３２、ＣＡＮ通信機能３３、フラッシュ機能３４、ＲＯＭ３５及びＲＡＭ３６と同等である。
【００１５】
以下、プログラムを書き換えるのに必要な機能である書き換えサービス機能と書き換え機能とを格納する態様について説明する。尚、機能とは特定のプログラムを実行して特定の処理を行うモジュールを意味する。又、これ以降では、書き換え対象ＥＣＵ３のプログラムを書き換える場合を説明するが、書き換え対象ＥＣＵ４のプログラムを書き換える場合も同様である。図２は、書き換え対象ＥＣＵ３の書き換えソフトに書き換えサービス機能と書き換え機能とが格納されている構成を示している。
【００１６】
Ｇ／ＷＥＣＵ２において、ＭＣＵ２１のＲＯＭ２５には、書き換えソフト２５１と、アプリソフト２５２とが格納されている。書き換えソフト２５１には、書き換えサービス機能２５１ａと、データ格納機能２５１ｂと、ＣＡＮ通信制御機能２５１ｃと、書き換え機能２５１ｄとが格納されている。アプリソフト２５２には、メッセージ転送機能２５２ａと、ＣＡＮ通信制御機能２５２ｂと、書き換えサービス機能２５２ｃとが格納されている。
【００１７】
書き換え対象ＥＣＵ３において、ＭＣＵ３１のＲＯＭ３５には、書き換えソフト３５１と、アプリソフト３５２とが格納されている。書き換えソフト３５１には、書き換えサービス機能３５１ａと、データ格納機能３５１ｂと、ＣＡＮ通信制御機能３５１ｃと、書き換え機能３５１ｄとが格納されている。アプリソフト３５２には、ＣＡＮ通信制御機能３５２ａと、書き換えサービス機能３５２ｂとが格納されている。ＲＡＭ３６には、データ格納機能３５１ｂによりＲＯＭ３５の書き換え機能３５１ｄが格納される。このような構成では、図３及び図４に示すシーケンスにしたがって書き換え対象ＥＣＵ３のプログラムを書き換える。
【００１８】
書き換えツール６は、グローバルＣＡＮバス７を介してＧ／ＷＥＣＵ２と接続されている状態で作業者からのプログラムの書き換え操作を受け付けると、書き換え用のゲートウェイ機能を有効にするための準備をＧ／ＷＥＣＵ２との間で開始する。書き換えツール６は、その準備を正常に終了すると、書き換え要求を例えばＳＩＤを「１０」としてＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換えツール６から書き換え要求を受信すると、その受信した書き換え要求を書き換え対象ＥＣＵ３に送信する。書き換え対象ＥＣＵ３は、Ｇ／ＷＥＣＵ２から書き換え要求を受信すると、データ格納機能３５１ｂを用いて書き換え機能３５１ｄをＲＡＭ３６に格納し、肯定応答をＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換え対象ＥＣＵ３から肯定応答を受信すると、その受信した肯定応答を書き換えツール６に送信する。
【００１９】
次いで、書き換えツール６は、セキュリティ開錠準備要求を例えばＳＩＤを「２７」としてＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換えツール６からセキュリティ開錠準備要求を受信すると、その受信したセキュリティ開錠準備要求を書き換え対象ＥＣＵ３に送信する。書き換え対象ＥＣＵ３は、Ｇ／ＷＥＣＵ２からセキュリティ開錠準備要求を受信すると、シードを生成し、その生成したシードを含む肯定応答をＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換え対象ＥＣＵ３から肯定応答を受信すると、その受信した肯定応答を書き換えツール６に送信する。
【００２０】
次いで、書き換えツール６は、セキュリティ開錠要求を例えばＳＩＤを「２７」として
Ｇ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換えツール６からセキュリティ開錠要求を受信すると、その受信したセキュリティ開錠要求を書き換え対象ＥＣＵ３に送信する。書き換え対象ＥＣＵ３は、Ｇ／ＷＥＣＵ２からセキュリティ開錠要求を受信すると、受信したキーの一致結果を含む肯定応答をＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換え対象ＥＣＵ３から肯定応答を受信すると、その受信した肯定応答を書き換えツール６に送信する。
【００２１】
次いで、書き換えツール６は、プログラム消去要求を例えばＳＩＤを「３１」としてＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換えツール６からプログラム消去要求を受信すると、その受信したプログラム消去要求を書き換え対象ＥＣＵ３に送信する。書き換え対象ＥＣＵ３は、Ｇ／ＷＥＣＵ２からプログラム消去要求を受信すると、書き換え機能３５１ｄを用いて書き換え対象のＲＯＭの領域を消去し、肯定応答をＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換え対象ＥＣＵ３から肯定応答を受信すると、その受信した肯定応答を書き換えツール６に送信する。
【００２２】
次いで、書き換えツール６は、ダウンロード要求を例えばＳＩＤを「３４」としてＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換えツール６からダウンロード要求を受信すると、その受信したダウンロード要求を書き換え対象ＥＣＵ３に送信する。書き換え対象ＥＣＵ３は、Ｇ／ＷＥＣＵ２からダウンロード要求を受信すると、書き換え対象領域（アドレス及びサイズ）を取得し、肯定応答をＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換え対象ＥＣＵ３から肯定応答を受信すると、その受信した肯定応答を書き換えツール６に送信する。
【００２３】
次いで、書き換えツール６は、書き換えデータを含むデータ転送要求を例えばＳＩＤを「３６」としてＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換えツール６からデータ転送要求を受信すると、その受信したデータ転送要求を書き換え対象ＥＣＵ３に送信する。書き換え対象ＥＣＵ３は、Ｇ／ＷＥＣＵ２からデータ転送要求を受信すると、書き換え機能３５１ｄを用いてデータ転送要求に含まれる書き換えデータをＲＯＭの領域に書き込み、肯定応答をＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換え対象ＥＣＵ３から肯定応答を受信すると、その受信した肯定応答を書き換えツール６に送信する。
【００２４】
次いで、書き換えツール６は、全ての書き換えデータの送信を完了すると、データ転送完了要求を例えばＳＩＤを「３７」としてＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換えツール６からデータ転送完了要求を受信すると、その受信したデータ転送完了要求を書き換え対象ＥＣＵ３に送信する。書き換え対象ＥＣＵ３は、Ｇ／ＷＥＣＵ２からデータ転送完了要求を受信すると、書き換えデータの書き込みを完了し、肯定応答をＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換え対象ＥＣＵ３から肯定応答を受信すると、その受信した肯定応答を書き換えツール６に送信する。
【００２５】
次いで、書き換えツール６は、プログラム妥当性要求を例えばＳＩＤを「３１」としてＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換えツール６からプログラム妥当性要求を受信すると、その受信したプログラム妥当性要求を書き換え対象ＥＣＵ３に送信する。書き換え対象ＥＣＵ３は、Ｇ／ＷＥＣＵ２からプログラム妥当性要求を受信すると、チェックサムやＣＲＣ等の書き込み結果の妥当性を含む肯定応答をＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換え対象ＥＣＵ３から肯定応答を受信すると、その受信した肯定応答を書き換えツール６に送信する。
【００２６】
次いで、書き換えツール６は、ＥＣＵリセット要求を例えばＳＩＤを「１１」としてＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換えツール６からＥＣＵリセット要求を受信すると、その受信したＥＣＵリセット要求を書き換え対象ＥＣＵ３に送信する。書き換え対象ＥＣＵ３は、Ｇ／ＷＥＣＵ２からＥＣＵリセット要求を受信すると、肯定応答をＧ／ＷＥＣＵ２に送信し、リセットを実施する。Ｇ／ＷＥＣＵ２は、書き換え対象ＥＣＵ３から肯定応答を受信すると、その受信した肯定応答を書き換えツール６に送信する。
【００２７】
このような書き換え対象ＥＣＵ３の書き換えソフト３５１に書き換えサービス機能３５１ａと書き換え機能３５１ｄとが格納されている構成では、書き換えサービス機能３５１ａと書き換え機能３５１ｄとを用いてプログラムを書き換える。そのため、前述した［発明が解決しようとする課題］で説明したように、書き換えソフト３５１の開発に要する工数及び費用が増加する問題や、ＲＯＭ３５の領域において書き換えソフト３５１が占有する領域が多くなる分、アプリソフト３５２で使用可能な領域が制約を受ける問題がある。このような問題に対し、本発明では、Ｇ／ＷＥＣＵ２に書き換えサービス機能と書き換え機能とを集約する。図５は、Ｇ／ＷＥＣＵ２に書き換えサービス機能と書き換え機能とが集約されて格納されている構成を示している。
【００２８】
Ｇ／ＷＥＣＵ２において、ＭＣＵ２１のＲＯＭ２５には、前述した書き換えソフト２５１と、アプリソフト２５２とに加え、転送用データ２５３が格納されている。書き換えソフト２５１には、前述した書き換えサービス機能２５１ａと、データ格納機能２５１ｂと、ＣＡＮ通信制御機能２５１ｃと、書き換え機能２５１ｄとに加え、書き換え機能転送機能２５１ｅと、書き換え要求転送機能２５１ｆとが格納されている。転送用データ２５３には、第１のＭＣＵ書き換え機能２５３ａと、第２のＭＣＵ書き換え機能２５３ｂとが格納されている。ＲＡＭ２６には、データ格納機能２５１ｂによりＲＯＭ２５の書き換え機能２５１ｄが格納される。
【００２９】
第１のＭＣＵ書き換え機能２５３ａ及び第２のＭＣＵ書き換え機能２５３ｂは、プログラムを書き換えるための書き換え機能であり、図６に示すように、それぞれヘッダ情報とプログラムとを含む。ヘッダ情報は、プログラムの転送先の書き換え対象ＥＣＵを特定可能な情報であり、ローカルＣＡＮバス５上のアドレスを示すＣＡＮＩＤである。
【００３０】
書き換え対象ＥＣＵ３において、ＭＣＵ３１のＲＯＭ３５には、書き換えソフト３５１と、アプリソフト３５２とが格納されている。書き換えソフト３５１には、前述した書き換えサービス機能３５１ａと、書き換え機能３５１ｄとが省かれ、データ格納機能３５１ｂと、ＣＡＮ通信制御機能３５１ｃとが格納されている。アプリソフト３５２には、前述した書き換えサービス機能３５２ｂが省かれ、ＣＡＮ通信制御機能３５２ａと、データ格納機能３５２ｃとが格納されている。ＲＡＭ３６には、データ格納機能３５１ｂによりＧ／ＷＥＣＵ２のＲＯＭ２５の第１のＭＣＵ書き換え機能２５３ａが格納される。
【００３１】
図２に示したソフトウェアの構成と図５に示したソフトウェアの構成とを対比すると、図５では、図２に示した書き換え対象ＥＣＵ３に格納されていた書き換えサービス機能３５１ａ，３５２ｂに相当する機能がＧ／ＷＥＣＵ２に書き換えサービス機能２５１ａとして集約されて格納されている。書き換えサービス機能が基本的には車両メーカからの要求にしたがって開発される機能であり、書き換え対象ＥＣＵ３，４で共通な仕様であるという事情により書き換え対象ＥＣＵ３の書き換えサービス機能３５１ａ，３５２ｂをＧ／ＷＥＣＵ２の書き換えサービス機能２５１ａとして集約して格納することが可能である。このような構成では、図７及び図８に示すシーケンスにしたがって書き換え対象ＥＣＵ３のプログラムを書き換える。
【００３２】
書き換えツール６は、グローバルＣＡＮバス７を介してＧ／ＷＥＣＵ２と接続されている状態で作業者からのプログラムの書き換え操作を受け付けると、書き換え用のゲートウェイ機能を有効にするための準備をＧ／ＷＥＣＵ２との間で開始する。書き換えツール６は、その準備を正常に完了すると、書き換え要求を例えばＳＩＤを「１０」としてＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換えツール６から書き換え要求を受信すると、書き換え機能転送機能２５１ｅを用いて第１のＭＣＵ書き換え機能２５３ａを書き換え対象ＥＣＵ３に送信する。書き換え対象ＥＣＵ３は、Ｇ／ＷＥＣＵ２から第１のＭＣＵ書き換え機能２５３ａを受信すると、その受信した第１のＭＣＵ書き換え機能２５３ａをＲＡＭ３６に格納し、肯定応答をＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換え対象ＥＣＵ３から肯定応答を受信すると、その受信した肯定応答を書き換えツール６に送信する。
【００３３】
次いで、書き換えツール６は、セキュリティ開錠準備要求を例えばＳＩＤを「２７」としてＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換えツール６からセキュリティ開錠準備要求を受信すると、シードを生成し、その生成したシードを含む肯定応答を書き換えツール６に送信する。Ｇ／ＷＥＣＵ２は、肯定応答を書き換えツール６にＧ／ＷＥＣＵ２に送信することで、生成したシードを書き換えツール６に応答する。次いで、書き換えツール６は、セキュリティ開錠要求を例えばＳＩＤを「２７」としてＧ／ＷＥＣＵ２に送信する。Ｇ／ＷＥＣＵ２は、書き換えツール６からセキュリティ開錠要求を受信すると、受信したキーの一致結果を含む肯定応答を書き換えツール６に送信する。即ち、Ｇ／ＷＥＣＵ２は、前述した図３で説明したシーケンスとは異なり、セキュリティ開錠準備要求及びセキュリティ開錠要求を書き換え対象ＥＣＵ３に送信せず、生成したシードや受信したキーの一致結果を含む応答を書き換えツール６に送信する。
【００３４】
これ以降は、書き換えツール６は、前述した図３及び図４で説明したシーケンスと同様に、プログラム消去要求、ダウンロード要求、データ転送要求、データ転送完了要求、プログラム妥当性要求、ＥＣＵリセット要求をＧ／ＷＥＣＵ２に順次送信する。上記した一連のシーケンスでは、Ｇ／ＷＥＣＵ２は、書き換え対象ＥＣＵ３への送信を必要としない情報、即ち、セキュリティ開錠準備要求及びセキュリティ開錠要求の要求メッセージについては、書き換え対象ＥＣＵ３に送信せず、生成したシードや受信したキーの一致結果を書き換えツール６に応答する。一方、Ｇ／ＷＥＣＵ２は、書き換え対象ＥＣＵ３への送信を必要とする情報、即ち、プログラム消去要求以降の要求メッセージについては、書き換え要求転送機能２５１ｆを用いて書き換え対象ＥＣＵ３に送信し、書き換え対象ＥＣＵ３から受信した応答を書き換えツール６に送信する。
【００３５】
尚、Ｇ／ＷＥＣＵ２は、プログラム消去要求以降の要求メッセージを書き換え対象ＥＣＵ３に送信する場合には、書き換えツール６から受信した要求メッセージをそのまま書き換え対象ＥＣＵ３に送信しても良いし、書き換えツール６から受信した要求メッセージを変更し、独自の通信プロトコルを用いた専用コマンドによる要求メッセージを書き換え対象ＥＣＵ３に送信しても良い。書き換えサービスの仕様で規定されている要求メッセージを用いる場合には、書き換えサービスの仕様が変更される毎に書き換え機能のプログラムを変更する必要が発生する。これに対し、専用コマンドによる要求メッセージを用いることで、書き換えサービスの仕様が変更されたとしても書き換え機能のプログラムを変更する必要が発生せず、書き換えサービスの仕様の変更に対して適切な対応が可能となる。
【００３６】
次に、上記した構成の作用について図９から図４１を参照して説明する。ここでは、Ｇ／ＷＥＣＵ２が行う処理を図９から図２５に示し、書き換え対象ＥＣＵ３が行う処理を図２６から図４０に示す。以下、Ｇ／ＷＥＣＵ２及び書き換え対象ＥＣＵ３が行うそれぞれの処理について説明する。
【００３７】
（１）Ｇ／ＷＥＣＵ２が行う処理
Ｇ／ＷＥＣＵ２は、ＣＡＮ通信制御処理、書き換えサービス処理、応答処理、書き換え要求処理、書き換え機能転送処理、セキュリティ開錠準備要求処理、セキュリティ開錠要求処理、プログラム消去要求処理、ダウンロード要求処理、データ転送要求処理、データ転送完了要求処理、プログラム妥当性要求処理、ＥＣＵリセット要求処理、書き換え要求転送処理を行う。以下、それぞれの処理について説明する。
【００３８】
（１−１）ＣＡＮ通信制御処理
Ｇ／ＷＥＣＵ２は、ＣＡＮ通信制御処理として、図９に示すメイン処理、図１０に示すＣＡＮ受信制御処理、図１１に示すＣＡＮ送信制御処理を行う。
【００３９】
Ｇ／ＷＥＣＵ２は、メイン処理を開始すると、ＣＡＮ受信制御処理に移行する（Ａ１）。Ｇ／ＷＥＣＵ２は、ＣＡＮ受信制御処理を開始すると、書き換えツール６からＣＡＮ信号を受信したか否かを判定し（Ａ１１）、ＣＡＮ信号を受信したと判定すると（Ａ１１：ＹＥＳ）、書き換えサービス処理に移行する（Ａ１２）。Ｇ／ＷＥＣＵ２は、書き換えサービス処理から復帰すると、ＣＡＮ受信制御処理を終了する。又、Ｇ／ＷＥＣＵ２は、ＣＡＮ送信制御処理を開始すると、送信バッファ内の情報をＣＡＮレジスタにセットし（Ａ２１）、ＣＡＮ信号を送信し（Ａ２２）、ＣＡＮ送信制御処理を終了する。
【００４０】
（１−２）書き換えサービス処理
Ｇ／ＷＥＣＵ２は、書き換えサービス処理として、図１２に示す書き換えサービス処理（アプリソフト）、図１３に示す書き換えサービス処理（書き換えソフト）を行う。
【００４１】
Ｇ／ＷＥＣＵ２は、書き換えサービス処理（アプリソフト）を開始すると、書き換え要求処理に移行する（Ａ３１）。Ｇ／ＷＥＣＵ２は、書き換え要求処理から復帰すると、書き換えサービス処理（アプリソフト）を終了する。
【００４２】
Ｇ／ＷＥＣＵ２は、書き換えサービス処理（書き換えソフト）を開始すると、書き換え要求処理（Ａ４１）、セキュリティ開錠準備要求処理（Ａ４２）、セキュリティ開錠要求処理（Ａ４３）、プログラム消去要求処理（Ａ４４）、ダウンロード要求処理（Ａ４５）、データ転送要求処理（Ａ４６）、データ転送完了要求処理（Ａ４７）、プログラム妥当性要求処理（Ａ４８）、ＥＣＵリセット要求処理（Ａ４９）に順次移行する。Ｇ／ＷＥＣＵ２は、ＥＣＵリセット要求処理から復帰すると、書き換えサービス処理（書き換えソフト）を終了する。
【００４３】
（１−３）応答処理
Ｇ／ＷＥＣＵ２は、応答処理として、図１４に示す肯定応答処理、図１５に示す否定応答処理を行う。Ｇ／ＷＥＣＵ２は、肯定応答処理を開始すると、送信先のＣＡＮＩＤ及び肯定応答データを送信バッファにセットし（Ａ５１）、ＣＡＮ送信制御処理に移行する（Ａ５２）。Ｇ／ＷＥＣＵ２は、ＣＡＮ送信制御処理から復帰すると、肯定応答処理を終了する。又、Ｇ／ＷＥＣＵ２は、否定応答処理を開始すると、送信先のＣＡＮＩＤ及び否定応答データを送信バッファにセットし（Ａ６１）、ＣＡＮ送信制御処理に移行する（Ａ６２）。Ｇ／ＷＥＣＵ２は、ＣＡＮ送信制御処理から復帰すると、否定応答処理を終了する。
【００４４】
（１−４）書き換え要求処理
Ｇ／ＷＥＣＵ２は、図１６に示す書き換え要求処理を開始すると、書き換えツール６から書き換え要求を受信した否かを判定する（Ａ７１）。Ｇ／ＷＥＣＵ２は、書き換え要求を受信したと判定すると（Ａ７１：ＹＥＳ）、アプリソフト２５２から書き換えソフト２５１に遷移し（Ａ７２）、その書き換え要求が物理アドレスによる要求であるか機能アドレスによる要求であるかを特定し（Ａ７３）、書き換え機能転送処理に移行する（Ａ７４）。物理アドレスによる要求とは１個の書き換え対象ＥＣＵに対する書き換え要求であり、機能アドレスによる要求とは全ての書き換え対象ＥＣＵに対する書き換え要求である。
【００４５】
Ｇ／ＷＥＣＵ２は、書き換え機能転送処理から復帰すると、書き込み対象ＥＣＵ３から応答の受信を待機する（Ａ７５）。Ｇ／ＷＥＣＵ２は、書き込み対象ＥＣＵ３からの応答を受信したと判定すると（Ａ７５：ＹＥＳ）、その応答が肯定応答であるか否かを判定する（Ａ７６）。Ｇ／ＷＥＣＵ２は、その応答が肯定応答であると判定すると（Ａ７６：ＹＥＳ）、肯定応答を書き換えツール６に送信し（Ａ７７）、書き換え要求処理を終了する。一方、Ｇ／ＷＥＣＵ２は、その応答が肯定応答でなく否定応答であると判定すると（Ａ７６：ＮＯ）、否定応答を書き換えツール６に送信し（Ａ７８）、書き換え要求処理を終了する。
【００４６】
（１−５）書き換え機能転送処理
Ｇ／ＷＥＣＵ２は、図１７に示す書き換え機能転送処理を開始すると、書き換え機能の書き換え対象が１個のＥＣＵであるか全てのＥＣＵであるかを判定する（Ａ８１）。Ｇ／ＷＥＣＵ２は、書き換え機能の書き換え対象が１個のＥＣＵであると判定すると（Ａ８１：ＹＥＳ）、送信先のＣＡＮＩＤにより転送対象の書き換え機能を検索し（Ａ８２）、送信先のＣＡＮＩＤ、転送対象の書き換え機能、書き換え機能転送ＩＤを送信バッファにセットし（Ａ８３）、ＣＡＮ送信制御処理に移行する（Ａ８４）。Ｇ／ＷＥＣＵ２は、ＣＡＮ送信制御処理から復帰すると、書き換え機能転送処理を終了する。
【００４７】
一方、Ｇ／ＷＥＣＵ２は、書き換え機能の書き換え対象が全てのＥＣＵであると判定すると（Ａ８１：ＮＯ）、書き換え機能を全ての書き換え対象ＥＣＵに送信済みであるか否かを判定する（Ａ８５）。Ｇ／ＷＥＣＵ２は、書き換え機能を全ての書き換え対象ＥＣＵに送信済みでない判定すると（Ａ８５：ＮＯ）、送信先のＣＡＮＩＤ、転送対象の書き換え機能、書き換え機能転送ＩＤを送信バッファにセットし（Ａ８６）、ＣＡＮ送信制御処理に移行する（Ａ８７）。Ｇ／ＷＥＣＵ２は、ＣＡＮ送信制御処理から復帰すると、ステップＡ８５に戻る。Ｇ／ＷＥＣＵ２は、書き換え機能を全ての書き換え対象ＥＣＵに送信済みであると判定すると（Ａ８５：ＹＥＳ）、書き換え機能転送処理を終了する。
【００４８】
（１−６）セキュリティ開錠準備要求処理
Ｇ／ＷＥＣＵ２は、図１８に示すセキュリティ開錠準備要求処理を開始すると、書き換えツール６からセキュリティ開錠準備要求を受信したか否かを判定する（Ａ９１）。Ｇ／ＷＥＣＵ２は、書き換えツール６からセキュリティ開錠準備要求を受信したと判定すると（Ａ９１：ＹＥＳ）、シードを生成し（Ａ９２）、その生成したシードを書き換えツール６に送信し（Ａ９３）、セキュリティ開錠準備要求処理を終了する。
【００４９】
（１−７）セキュリティ開錠要求処理
Ｇ／ＷＥＣＵ２は、図１９に示すセキュリティ開錠要求処理を開始すると、書き換えツール６からセキュリティ開錠要求を受信したか否かを判定する（Ａ１０１）。Ｇ／ＷＥＣＵ２は、セキュリティ開錠要求を受信したと判定すると（Ａ１０１：ＹＥＳ）、セキュリティ開錠準備要求済みであるか否かを判定する（Ａ１０２）。Ｇ／ＷＥＣＵ２は、セキュリティ開錠準備要求済みであると判定すると（Ａ１０２：ＹＥＳ）、受信したキーが一致しているか否かを判定する（Ａ１０３）。Ｇ／ＷＥＣＵ２は、受信したキーが一致していると判定すると（Ａ１０３：ＹＥＳ）、肯定応答を書き換えツール６に送信し（Ａ１０４）、セキュリティ開錠要求処理を終了する。一方、Ｇ／ＷＥＣＵ２は、セキュリティ開錠準備要求済みでないと判定すると（Ａ１０２：ＮＯ）、又は受信したキーが一致していないと判定すると（Ａ１０３：ＮＯ）、否定応答を書き換えツール６に送信し（Ａ１０５）、セキュリティ開錠要求処理を終了する。
【００５０】
（１−８）プログラム消去要求処理
Ｇ／ＷＥＣＵ２は、図２０に示すプログラム消去要求処理を開始すると、書き換えツール６からプログラム消去要求を受信したか否かを判定する（Ａ１１１）。Ｇ／ＷＥＣＵ２は、プログラム消去要求を受信したと判定すると（Ａ１１１：ＹＥＳ）、図２６に示す書き換え要求転送処理に移行する（Ａ１１２）。Ｇ／ＷＥＣＵ２は、書き換え要求転送処理を開始すると、プログラム消去要求を受信したと判定し（Ａ１７１：ＹＥＳ）、送信先のＣＡＮＩＤ、消去開始アドレス、消去サイズ、消去ＩＤを送信バッファにセットし（Ａ１７２）、ＣＡＮ送信制御処理に移行する（Ａ１７３）。
【００５１】
Ｇ／ＷＥＣＵ２は、ＣＡＮ送信制御処理から復帰すると、書き換え要求転送処理を終了し、書き込み対象ＥＣＵ３からの応答の受信を待機する（Ａ１１３）。Ｇ／ＷＥＣＵ２は、書き込み対象ＥＣＵ３からの応答を受信したと判定すると（Ａ１１３：ＹＥＳ）、その応答が肯定応答であるか否かを判定する（Ａ１１４）。Ｇ／ＷＥＣＵ２は、その応答が肯定応答であると判定すると（Ａ１１４：ＹＥＳ）、肯定応答を書き換えツール６に送信し（Ａ１１５）、プログラム消去要求処理を終了する。一方、Ｇ／ＷＥＣＵ２は、その応答が肯定応答でなく否定応答であると判定すると（Ａ１１４：ＮＯ）、否定応答を書き換えツール６に送信し（Ａ１１６）、プログラム消去要求処理を終了する。
【００５２】
（１−９）ダウンロード要求処理
Ｇ／ＷＥＣＵ２は、図２１に示すダウンロード要求処理を開始すると、書き換えツール６からダウンロード要求を受信したか否かを判定する（Ａ１２１）。Ｇ／ＷＥＣＵ２は、ダウンロード要求を受信したと判定すると（Ａ１２１：ＹＥＳ）、図２６に示す書き換え要求転送処理に移行する（Ａ１２２）。Ｇ／ＷＥＣＵ２は、書き換え要求転送処理を開始すると、ダウンロード要求を受信したと判定し（Ａ１７４：ＹＥＳ）、送信先のＣＡＮＩＤ、書き込み開始アドレス、書き込みサイズ、ダウンロードＩＤを送信バッファにセットし（Ａ１７５）、ＣＡＮ送信制御処理に移行する（Ａ１７６）。
【００５３】
Ｇ／ＷＥＣＵ２は、ＣＡＮ送信制御処理から復帰すると、書き換え要求転送処理を終了し、書き込み対象ＥＣＵ３からの応答の受信を待機する（Ａ１２３）。Ｇ／ＷＥＣＵ２は、書き込み対象ＥＣＵ３からの応答を受信したと判定すると（Ａ１２３：ＹＥＳ）、その応答が肯定応答であるか否かを判定する（Ａ１２４）。Ｇ／ＷＥＣＵ２は、その応答が肯定応答であると判定すると（Ａ１２４：ＹＥＳ）、肯定応答を書き換えツール６に送信し（Ａ１２５）、ダウンロード要求処理を終了する。一方、Ｇ／ＷＥＣＵ２は、その応答が肯定応答でなく否定応答であると判定すると（Ａ１２４：ＮＯ）、否定応答を書き換えツール６に送信し（Ａ１２６）、ダウンロード要求処理を終了する。
【００５４】
（１−１０）データ転送要求処理
Ｇ／ＷＥＣＵ２は、図２２に示すデータ転送要求処理を開始すると、書き換えツール６からデータ転送要求を受信したか否かを判定する（Ａ１３１）。Ｇ／ＷＥＣＵ２は、データ転送要求を受信したと判定すると（Ａ１３１：ＹＥＳ）、図２６に示す書き換え要求転送処理に移行する（Ａ１３２）。Ｇ／ＷＥＣＵ２は、書き換え要求転送処理を開始すると、データ転送要求を受信したと判定し（Ａ１７７：ＹＥＳ）、送信先のＣＡＮＩＤ、書き換えデータ、データ転送ＩＤを送信バッファにセットし（Ａ１７８）、ＣＡＮ送信制御処理に移行する（Ａ１７９）。
【００５５】
Ｇ／ＷＥＣＵ２は、ＣＡＮ送信制御処理から復帰すると、書き換え要求転送処理を終了し、書き込み対象ＥＣＵ３からの応答の受信を待機する（Ａ１３３）。Ｇ／ＷＥＣＵ２は、書き込み対象ＥＣＵ３からの応答を受信したと判定すると（Ａ１３３：ＹＥＳ）、その応答が肯定応答であるか否かを判定する（Ａ１３４）。Ｇ／ＷＥＣＵ２は、その応答が肯定応答であると判定すると（Ａ１３４：ＹＥＳ）、肯定応答を書き換えツール６に送信し（Ａ１３５）、データ転送要求処理を終了する。一方、Ｇ／ＷＥＣＵ２は、その応答が肯定応答でなく否定応答であると判定すると（Ａ１３４：ＮＯ）、否定応答を書き換えツール６に送信し（Ａ１３６）、データ転送要求処理を終了する。
【００５６】
（１−１１）データ転送完了要求処理
Ｇ／ＷＥＣＵ２は、図２３に示すデータ転送完了要求処理を開始すると、書き換えツール６からデータ転送完了要求を受信したか否かを判定する（Ａ１４１）。Ｇ／ＷＥＣＵ２は、データ転送完了要求を受信したと判定すると（Ａ１４１：ＹＥＳ）、図２６に示す書き換え要求転送処理に移行する（Ａ１４２）。Ｇ／ＷＥＣＵ２は、書き換え要求転送処理を開始すると、データ転送完了要求を受信したと判定し（Ａ１８０：ＹＥＳ）、送信先のＣＡＮＩＤ、データ転送完了ＩＤを送信バッファにセットし（Ａ１８１）、ＣＡＮ送信制御処理に移行する（Ａ１８２）。
【００５７】
Ｇ／ＷＥＣＵ２は、ＣＡＮ送信制御処理から復帰すると、書き換え要求転送処理を終了し、書き込み対象ＥＣＵ３からの応答の受信を待機する（Ａ１４３）。Ｇ／ＷＥＣＵ２は、書き込み対象ＥＣＵ３からの応答を受信したと判定すると（Ａ１４３：ＹＥＳ）、その応答が肯定応答であるか否かを判定する（Ａ１４４）。Ｇ／ＷＥＣＵ２は、その応答が肯定応答であると判定すると（Ａ１４４：ＹＥＳ）、肯定応答を書き換えツール６に送信し（Ａ１４５）、データ転送完了要求処理を終了する。一方、Ｇ／ＷＥＣＵ２は、その応答が肯定応答でなく否定応答であると判定すると（Ａ１４４：ＮＯ）、否定応答を書き換えツール６に送信し（Ａ１４６）、データ転送完了要求処理を終了する。
【００５８】
（１−１２）プログラム妥当性要求処理
Ｇ／ＷＥＣＵ２は、図２４に示すプログラム妥当性要求処理を開始すると、書き換えツール６からプログラム妥当性要求を受信したか否かを判定する（Ａ１５１）。Ｇ／ＷＥＣＵ２は、プログラム妥当性要求を受信したと判定すると（Ａ１５１：ＹＥＳ）、図２６に示す書き換え要求転送処理に移行する（Ａ１５２）。Ｇ／ＷＥＣＵ２は、書き換え要求転送処理を開始すると、プログラム妥当性要求を受信したと判定し（Ａ１８３：ＹＥＳ）、送信先のＣＡＮＩＤ、対象アドレス、対象サイズ、プログラム妥当性ＩＤを送信バッファにセットし（Ａ１８４）、ＣＡＮ送信制御処理に移行する（Ａ１８５）。
【００５９】
Ｇ／ＷＥＣＵ２は、ＣＡＮ送信制御処理から復帰すると、書き換え要求転送処理を終了し、書き込み対象ＥＣＵ３からの応答の受信を待機する（Ａ１５３）。Ｇ／ＷＥＣＵ２は、書き込み対象ＥＣＵ３からの応答を受信したと判定すると（Ａ１５３：ＹＥＳ）、その応答が肯定応答であるか否かを判定する（Ａ１５４）。Ｇ／ＷＥＣＵ２は、その応答が肯定応答であると判定すると（Ａ１５４：ＹＥＳ）、肯定応答を書き換えツール６に送信し（Ａ１５５）、プログラム妥当性要求処理を終了する。一方、Ｇ／ＷＥＣＵ２は、その応答が肯定応答でなく否定応答であると判定すると（Ａ１５４：ＮＯ）、否定応答を書き換えツール６に送信し（Ａ１５６）、プログラム妥当性要求処理を終了する。
【００６０】
（１−１３）ＥＣＵリセット要求処理
Ｇ／ＷＥＣＵ２は、図２５に示すＥＣＵリセット要求処理を開始すると、書き換えツール６からＥＣＵリセット要求を受信したか否かを判定する（Ａ１６１）。Ｇ／ＷＥＣＵ２は、ＥＣＵリセット要求を受信したと判定すると（Ａ１６１：ＹＥＳ）、図２６に示す書き換え要求転送処理に移行する（Ａ１６２）。Ｇ／ＷＥＣＵ２は、書き換え要求転送処理を開始すると、ＥＣＵリセット要求を受信したと判定し（Ａ１８６：ＹＥＳ）、送信先のＣＡＮＩＤ、ＥＣＵリセットＩＤを送信バッファにセットし（Ａ１８７）、ＣＡＮ送信制御処理に移行する（Ａ１８８）。
【００６１】
Ｇ／ＷＥＣＵ２は、ＣＡＮ送信制御処理から復帰すると、書き換え要求転送処理を終了し、書き込み対象ＥＣＵ３からの応答の受信を待機する（Ａ１６３）。Ｇ／ＷＥＣＵ２は、書き込み対象ＥＣＵ３からの応答を受信したと判定すると（Ａ１６３：ＹＥＳ）、その応答が肯定応答であるか否かを判定する（Ａ１６４）。Ｇ／ＷＥＣＵ２は、その応答が肯定応答であると判定すると（Ａ１６４：ＹＥＳ）、肯定応答を書き換えツール６に送信し（Ａ１６５）、ＥＣＵリセット要求処理を終了する。一方、Ｇ／ＷＥＣＵ２は、その応答が肯定応答でなく否定応答であると判定すると（Ａ１６４：ＮＯ）、否定応答を書き換えツール６に送信し（Ａ１６６）、ＥＣＵリセット要求処理を終了する。
【００６２】
（２）書き込み対象ＥＣＵ３が行う処理
書き込み対象ＥＣＵ３は、ＣＡＮ通信制御処理、データ格納処理、応答処理、書き換え機能処理、プログラム消去処理、ダウンロード処理、書き込み処理、書き込み完了処理、プログラム妥当性確認処理、リセット処理を行う。以下、それぞれの処理について説明する。
【００６３】
（２−１）ＣＡＮ通信制御処理
書き込み対象ＥＣＵ３は、ＣＡＮ通信制御処理として、図２７に示すメイン処理、図２８に示すＣＡＮ受信制御処理、図２９に示すＣＡＮ送信制御処理を行う。
【００６４】
書き込み対象ＥＣＵ３は、メイン処理を開始すると、ＣＡＮ受信制御処理に移行する（Ｂ１）。書き込み対象ＥＣＵ３は、ＣＡＮ受信制御処理を開始すると、Ｇ／ＷＥＣＵ２からＣＡＮ信号を受信したか否かを判定し（Ｂ１１）、ＣＡＮ信号を受信したと判定すると（Ｂ１１：ＹＥＳ）、データ格納処理に移行する（Ｂ１２）。書き込み対象ＥＣＵ３は、データ格納処理から復帰すると、ＣＡＮ受信制御処理を終了する。又、書き込み対象ＥＣＵ３は、ＣＡＮ送信制御処理を開始すると、送信バッファ内の情報をＣＡＮレジスタにセットし（Ａ２１）、ＣＡＮ信号を送信し（Ｂ２２）、ＣＡＮ送信制御処理を終了する。
【００６５】
（２−２）データ格納処理
書き込み対象ＥＣＵ３は、図３０に示すデータ格納処理を開始すると、Ｇ／ＷＥＣＵ２から第１のＭＣＵ書き換え機能２５３ａを受信したか否かを判定する（Ｂ３１）。書き込み対象ＥＣＵ３は、第１のＭＣＵ書き換え機能２５３ａを受信したと判定すると（Ｂ３１：ＹＥＳ）、その受信した第１のＭＣＵ書き換え機能２５３ａをＲＡＭ３６に格納し（Ｂ３２）、肯定応答をＧ／ＷＥＣＵ２に送信し（Ｂ３３）、書き換え機能処理に移行する（Ｂ３４）。書き込み対象ＥＣＵ３は、書き換え機能処理から復帰すると、データ格納処理を終了する。
【００６６】
（２−３）応答処理
書き込み対象ＥＣＵ３は、応答処理として、図３１に示す肯定応答処理、図３２に示す否定応答処理を行う。書き込み対象ＥＣＵ３は、肯定応答処理を開始すると、送信先のＣＡＮＩＤ及び肯定応答データを送信バッファにセットし（Ｂ４１）、ＣＡＮ送信制御処理に移行する（Ｂ４２）。書き込み対象ＥＣＵ３は、ＣＡＮ送信制御処理から復帰すると、肯定応答処理を終了する。又、書き込み対象ＥＣＵ３は、否定応答処理を開始すると、送信先のＣＡＮＩＤ及び否定応答データを送信バッファにセットし（Ｂ５１）、ＣＡＮ送信制御処理に移行する（Ｂ５２）。書き込み対象ＥＣＵ３は、ＣＡＮ送信制御処理から復帰すると、否定応答処理を終了する。
【００６７】
（２−４）書き換え機能処理
書き込み対象ＥＣＵ３は、図３３に示す書き換え機能処理を開始すると、ＣＡＮ信号を受信したか否かを判定する（Ｂ６１）。書き込み対象ＥＣＵ３は、ＣＡＮ信号を受信したと判定すると（Ｂ６１：ＹＥＳ）、図３４に示す書き換え処理に移行する（Ｂ６２）。書き込み対象ＥＣＵ３は、書き換え処理から復帰すると、書き換え処理を全て完了したか否かを判定する（Ｂ６３）。書き込み対象ＥＣＵ３は、書き換え処理を全て完了したと判定する条件は、後述する書き換え処理内のリセット処理（Ｂ８２）を実施するか否かで決定する。書き込み対象ＥＣＵ３は、リセット処理を実施する場合には、リセット処理を正常に終了したことをもって、書き換え処理を全て完了したと判定する。ただし、その場合はリセット処理内でリセットが発生してプログラムの先頭から再起動されるので、書き換え機能処理のリターンを実施しない。一方、書き込み対象ＥＣＵ３は、リセット処理を実施しない場合には、後述する書き換え処理内のプログラム妥当性確認処理（Ｂ８０）を正常に終了したことをもって、書き換え処理を全て完了したと判定する。書き込み対象ＥＣＵ３は、書き換え処理を全て完了したと判定すると（Ｂ６３：ＹＥＳ）、書き換え機能処理を終了する。
【００６８】
書き込み対象ＥＣＵ３は、書き換え処理を開始すると、その受信したＣＡＮ信号が何れの要求であるかを判定する。書き込み対象ＥＣＵ３は、プログラム消去要求を受信したと判定すると（Ｂ７１：ＹＥＳ）、プログラム消去処理に移行し（Ｂ７２）、ダウンロード要求を受信したと判定すると（Ｂ７３：ＹＥＳ）、ダウンロード処理に移行する（Ｂ７４）。書き込み対象ＥＣＵ３は、データ転送要求を受信したと判定すると（Ｂ７５：ＹＥＳ）、書き込み処理に移行し（Ｂ７６）、データ転送完了要求を受信したと判定すると（Ｂ７７：ＹＥＳ）、書き込み完了処理に移行する（Ｂ７８）。書き込み対象ＥＣＵ３は、プログラム妥当性要求を受信したと判定すると（Ｂ７９：ＹＥＳ）、プログラム妥当性確認処理に移行し（Ｂ８０）、ＥＣＵリセット要求を受信したと判定すると（Ｂ８１：ＹＥＳ）、リセット処理に移行する（Ｂ８２）。書き込み対象ＥＣＵ３は、それぞれの処理から復帰すると、書き換え処理を終了する。
【００６９】
（２−５）プログラム消去処理
書き込み対象ＥＣＵ３は、図３５に示すプログラム消去処理を開始すると、消去対象アドレス及び消去サイズが適切であるか否かを判定する（Ｂ９１）。書き込み対象ＥＣＵ３は、消去対象アドレス及び消去サイズが適切であると判定すると（Ｂ９１：ＹＥＳ）、消去対象アドレスから消去サイズまでのＲＯＭの領域を削除し（Ｂ９２）、プログラムの消去に成功したか否かを判定する（Ｂ９３）。書き込み対象ＥＣＵ３は、プログラムの消去に成功したと判定すると（Ｂ９３：ＹＥＳ）、肯定応答をＧ／ＷＥＣＵ２に送信し（Ｂ９４）、プログラム消去処理を終了する。一方、書き込み対象ＥＣＵ３は、プログラムの消去に失敗したと判定すると（Ｂ９３：ＮＯ）、否定応答をＧ／ＷＥＣＵ２に送信し（Ｂ９５）、プログラム消去処理を終了する。尚、書き込み対象ＥＣＵ３は、消去対象アドレス及び消去サイズが適切でないと判定すると（Ｂ９１：ＮＯ）、この場合も、否定応答をＧ／ＷＥＣＵ２に送信し（Ｂ９５）、プログラム消去処理を終了する。
【００７０】
（２−６）ダウンロード処理
書き込み対象ＥＣＵ３は、図３６に示すダウンロード処理を開始すると、書き込み対象アドレス及び書き込みサイズが適切であるか否かを判定する（Ｂ１０１）。書き込み対象ＥＣＵ３は、書き込み対象アドレス及び書き込みサイズが適切であると判定すると（Ｂ１０１：ＹＥＳ）、書き込み対象アドレス及び書き込みサイズをＲＡＭ３６に保存し（Ｂ１０２）、肯定応答をＧ／ＷＥＣＵ２に送信し（Ｂ１０３）、ダウンロード処理を終了する。一方、書き込み対象ＥＣＵ３は、書き込み対象アドレス及び書き込みサイズが適切でないと判定すると（Ｂ１０１：ＮＯ）、否定応答をＧ／ＷＥＣＵ２に送信し（Ｂ１０４）、ダウンロード処理を終了する。
【００７１】
（２−７）書き込み処理
書き込み対象ＥＣＵ３は、図３７に示す書き込み処理を開始すると、書き換えデータを書き込み対象アドレスに書き込み（Ｂ１１１）、書き換えデータの書き込みに成功したか否かを判定する（Ｂ１１２）。書き込み対象ＥＣＵ３は、書き換えデータの書き込みに成功したと判定すると（Ｂ１１２：ＹＥＳ）、現在の書き込み対象アドレスに今回の書き込みサイズを加算し、現在の書き込み対象アドレスを次回の書き込み処理に備えて更新する（Ｂ１１３）。書き込み対象ＥＣＵ３は、現在の書き込みサイズから今回の書き込みサイズを減算し、現在の書き込みサイズを次回の書き込み処理に備えて更新し（Ｂ１１４）、肯定応答をＧ／ＷＥＣＵ２に送信し（Ｂ１１５）、書き込み処理を終了する。一方、書き込み対象ＥＣＵ３は、書き換えデータの書き込みに失敗したと判定すると（Ｂ１１２：ＮＯ）、否定応答をＧ／ＷＥＣＵ２に送信し（Ｂ１１６）、書き込み処理を終了する。
【００７２】
（２−８）書き込み完了処理
書き込み対象ＥＣＵ３は、図３８に示す書き込み完了処理を開始すると、現在の書き込みサイズが「０」であるか否かを判定する（Ｂ１２１）。書き込み対象ＥＣＵ３は、現在の書き込みサイズが「０」であると判定すると（Ｂ１２１：ＹＥＳ）、肯定応答をＧ／ＷＥＣＵ２に送信し（Ｂ１２２）、書き込み完了処理を終了する。一方、書き込み対象ＥＣＵ３は、現在の書き込みサイズが「０」でないと判定すると（Ｂ１２２：ＮＯ）、否定応答をＧ／ＷＥＣＵ２に送信し（Ｂ１２３）、書き込み完了処理を終了する。
【００７３】
（２−９）プログラム妥当性確認処理
書き込み対象ＥＣＵ３は、図３９に示すプログラム妥当性確認処理を開始すると、妥当性の確認対象アドレス及び対象サイズが適切であるか否かを判定する（Ｂ１３１）。書き込み対象ＥＣＵ３は、妥当性の確認対象アドレス及び対象サイズが適切であると判定すると（Ｂ１３１：ＹＥＳ）、チェックサム演算を実施し（Ｂ１３２）、書き換えデータに格納されているチェックサム演算の期待値を取得する（Ｂ１３３）。書き込み対象ＥＣＵ３は、チェックサム演算により取得した演算値と期待値とを照合し（Ｂ１３４）、両者が一致していると判定すると（Ｂ１３４：ＹＥＳ）、肯定応答をＧ／ＷＥＣＵ２に送信し（Ｂ１３５）、プログラム妥当性確認処理を終了する。一方、書き込み対象ＥＣＵ３は、両者が一致していないと判定すると（Ｂ１３４：ＮＯ）、否定応答をＧ／ＷＥＣＵ２に送信し（Ｂ１３６）、プログラム妥当性確認処理を終了する。尚、書き込み対象ＥＣＵ３は、妥当性の確認対象アドレス及び対象サイズが適切でないと判定すると（Ｂ１３１：ＮＯ）、この場合も、否定応答をＧ／ＷＥＣＵ２に送信し（Ｂ１３６）、プログラム妥当性確認処理を終了する。
【００７４】
（２−１０）リセット処理
書き込み対象ＥＣＵ３は、図４０に示すリセット処理を開始すると、プログラムの消去中又は書き換えデータの書き込み中であるか否かを判定する（Ｂ１４１）。書き込み対象ＥＣＵ３は、プログラムの消去中又は書き換えデータの書き込み中でないと判定すると（Ｂ１４１：ＮＯ）、肯定応答をＧ／ＷＥＣＵ２に送信し（Ｂ１４２）、リセットを実施し（Ｂ１４３）、リセット処理を終了する。一方、書き込み対象ＥＣＵ３は、プログラムの消去中又は書き換えデータの書き込み中であると判定すると（Ｂ１４１：ＹＥＳ）、否定応答をＧ／ＷＥＣＵ２に送信し（Ｂ１４４）、リセット処理を終了する。
【００７５】
上記した構成では、Ｇ／ＷＥＣＵ２に書き換えサービス機能２５１ａとＭＣＵ書き換え機能２５３ａ，２５３ｂとが集約されていることで、共通のＭＣＵを使用している書き換え対象ＥＣＵについては、Ｇ／ＷＥＣＵ２が保持するＭＣＵ書き換え機能２５３ａ，２５３ｂを共有することが可能となる。即ち、図４１に示すように、Ｇ／ＷＥＣＵ２とローカルＣＡＮバス５を介して書き換え対象ＥＣＵ３，４が接続されていると共にローカルＣＡＮバス９を介して第３の書き換え対象ＥＣＵ８が接続され、書き換え対象ＥＣＵ３，８が共通のＭＣＵを使用している構成では、ＭＣＵ書き換え機能２５３ａを書き換え対象ＥＣＵ３，８で共有することが可能となる。
【００７６】
以上説明したように第１の実施形態によれば、次に示す効果を得ることができる。
車両用データ通信システム１において、書き換えサービス機能２５１ａとＭＣＵ書き換え機能２５３ａ，２５３ｂとをＧ／ＷＥＣＵ２に集約し、それらの機能を書き換え対象ＥＣＵ３，４から省き、それらの機能が書き換え対象ＥＣＵ３，４の書き換えソフトに格納されない構成とした。これにより、車両に新規にＥＣＵを搭載しようとする場合でも、そのＥＣＵの書き換えソフトに書き換えサービス機能と書き換え機能とが格納される必要がなくなる。その結果、書き換え対象ＥＣＵ３，４の書き換えソフトの開発に要する工数及び費用を低減すると共に、書き換え対象ＥＣＵ３，４のＲＯＭ３５，４５の領域においてアプリソフトで使用可能な領域の制約を低減することができる。
【００７７】
又、共通のＭＣＵを使用している書き換え対象ＥＣＵについては、Ｇ／ＷＥＣＵ２が保持するＭＣＵ書き換え機能２５３ａ，２５３ｂを共有することができ、車両に新規にＥＣＵを搭載しようとする場合に、そのＥＣＵのＭＣＵと、既に車両に搭載されているＥＣＵのＭＣＵとが同じ仕様であれば、新規に機能を追加せずにプログラムを書き換えることができる。更に、プログラム消去要求以降の要求メッセージとして、独自の通信プロトコルを用いた専用コマンドによる要求メッセージを用いることで、書き換えサービスの仕様が変更されたとしても書き換え機能のプログラムを変更する必要が発生せず、書き換えサービスの仕様の変更に対して適切に対応することができる。
【００７８】
（第２の実施形態）
次に、本発明の第２の実施形態について図４２を参照して説明する。尚、上記した第１の実施形態と同一の部分については説明を省略し、異なる部分について説明する。第１の実施形態は、書き換えサービス機能２５１ａとＭＣＵ書き換え機能２５３ａ，２５３ｂとがＧ／ＷＥＣＵ２に集約される構成であるが、第２の実施形態は、書き換えサービス機能２５１ａがＧ／ＷＥＣＵ２に集約され、ＭＣＵ書き換え機能２５３ａ，２５３ｂが書き換えツール６に集約される構成である。この場合、Ｇ／ＷＥＣＵ２は、書き換えツール６から受信したＭＣＵ書き換え機能２５３ａ，２５３ｂを書き換え対象ＥＣＵ３，４に送信する。第２の実施形態によれば、第１の実施形態と同様の作用効果を得ることができる。又、ＭＣＵ書き換え機能２５３ａ，２５３ｂを書き換えツール６に集約することで、Ｇ／ＷＥＣＵ２のＲＯＭ２５の領域においてアプリソフトで使用可能な領域の制約を低減することができる。
【００７９】
（その他の実施形態）
本発明は、上記した実施形態で例示したものに限定されることなく、その範囲を逸脱しない範囲で任意に変形又は拡張することができる。
ＭＣＵ書き換え機能がＧ／ＷＥＣＵ２に集約される構成と、ＭＣＵ書き換え機能が書き換えツール６に集約される構成とが混在して良い。即ち、一の車両用通信システムにおいて、一のＭＣＵ書き換え機能がＧ／ＷＥＣＵ２に集約される共に別のＭＣＵ書き換え機能が書き換えツール６に集約される構成でも良い。
【符号の説明】
【００８０】
図面中、１は車両用データ通信システム、２はＧ／ＷＥＣＵ（ゲートウェイ電子制御装置）、３，４は書き換え対象ＥＣＵ（書き換え対象電子制御装置）、２５１ａは書き換えサービス機能、２５１ｅは書き換え機能転送機能、２５１ｆは書き換え要求転送機能、２５３ａ，２５３ｂはＭＣＵ書き換え機能（書き換え機能）である。
【図１】
0006558264.tif 000002
【図２】
0006558264.tif 000003
【図３】
0006558264.tif 000004
【図４】
0006558264.tif 000005
【図５】
0006558264.tif 000006
【図６】
0006558264.tif 000007
【図７】
0006558264.tif 000008
【図８】
0006558264.tif 000009
【図９】
0006558264.tif 000010
【図１０】
0006558264.tif 000011
【図１１】
0006558264.tif 000012
【図１２】
0006558264.tif 000013
【図１３】
0006558264.tif 000014
【図１４】
0006558264.tif 000015
【図１５】
0006558264.tif 000016
【図１６】
0006558264.tif 000017
【図１７】
0006558264.tif 000018
【図１８】
0006558264.tif 000019
【図１９】
0006558264.tif 000020
【図２０】
0006558264.tif 000021
【図２１】
0006558264.tif 000022
【図２２】
0006558264.tif 000023
【図２３】
0006558264.tif 000024
【図２４】
0006558264.tif 000025
【図２５】
0006558264.tif 000026
【図２６】
0006558264.tif 000027
【図２７】
0006558264.tif 000028
【図２８】
0006558264.tif 000029
【図２９】
0006558264.tif 000030
【図３０】
0006558264.tif 000031
【図３１】
0006558264.tif 000032
【図３２】
0006558264.tif 000033
【図３３】
0006558264.tif 000034
【図３４】
0006558264.tif 000035
【図３５】
0006558264.tif 000036
【図３６】
0006558264.tif 000037
【図３７】
0006558264.tif 000038
【図３８】
0006558264.tif 000039
【図３９】
0006558264.tif 000040
【図４０】
0006558264.tif 000041
【図４１】
0006558264.tif 000042
【図４２】
0006558264.tif 000043