(57)【要約】【課題】マスタ機器からスレーブ機器へのデータの配信が中断された場合におけるデータの配信に要する時間の短縮化を図る車載ネットワークシステム、車載電子機器、その制御方法、制御プログラム及び記録媒体を提供すること。【解決手段】スレーブ機器５は、アップデートプログラムの配信が中断された場合に、通信再開時にアップデートプログラムの中断位置を特定する中断情報をマスタ機器３に送信し、マスタ機器３は、受信した中断情報を参照して中断した箇所からアップデートプログラムの残りのデータを配信するようにした。【選択図】　　　図１
2004021680.tif 000002
【特許請求の範囲】
【請求項１】
マスタ機器とスレーブ機器とを備え、前記マスタ機器からネットワークを介して前記スレーブ機器へ一連のデータを配信可能に構成された車載ネットワークシステムにおいて、
前記スレーブ機器は、前記一連のデータの配信が中断された場合に、通信再開時に前記一連のデータの中断位置を特定する中断情報を前記マスタ機器に送信し、前記マスタ機器は、受信した中断情報を参照して中断した箇所から前記一連のデータの残りのデータを配信するようにしたことを特徴とする車載ネットワークシステム。
【請求項２】
請求項１に記載の車載ネットワークシステムにおいて、
前記スレーブ機器は、前記一連のデータの配信が中断された場合に、前記一連のデータの中断位置を特定する中断情報を記憶する中断情報記憶手段と、
前記マスタ機器との通信再開時に、前記中断情報記憶手段の記憶した中断情報を前記マスタ機器に送信する送信手段とを備え、
前記マスタ機器は、受信した前記中断情報を参照して中断した箇所から前記一連のデータの残りのデータを前記スレーブ機器に配信する配信手段を備えたことを特徴とする車載ネットワークシステム。
【請求項３】
請求項２に記載の車載ネットワークシステムにおいて、
前記中断情報記憶手段は、前記一連のデータの受信が中断してから所定時間経過したときに、前記配信が中断されたとみなして前記中断情報を記憶することを特徴とする車載ネットワークシステム。
【請求項４】
請求項２又は３に記載の車載ネットワークシステムにおいて、
前記スレーブ機器は、前記マスタ機器により配信された前記一連のデータを記憶するデータ記憶手段を備えたことを特徴とする車載ネットワークシステム。
【請求項５】
請求項４に記載の車載ネットワークシステムにおいて、
前記一連のデータは、前記スレーブ機器におけるソフトウェアのアップデートプログラムであり、
前記中断情報記憶手段に記憶される中断情報は、前記データ記憶手段に記憶されているアップデートプログラムのバージョン情報を含み、
前記配信手段は、受信した中断情報に含まれるアップデートプログラムのバージョン情報と、配信対象のアップデートプログラムのバージョン情報とを比較し、双方のバージョン情報が一致していれば、中断した箇所から残りのアップデートプログラムを前記スレーブ機器に配信することを特徴とする車載ネットワークシステム。
【請求項６】
請求項４に記載の車載ネットワークシステムにおいて、
前記一連のデータは、前記スレーブ機器におけるソフトウェアのアップデートプログラムであり、
前記中断情報記憶手段に記憶される中断情報は、前記データ記憶手段に記憶されているアップデートプログラムのバージョン情報を含み、
前記配信手段は、受信した中断情報に含まれるアップデートプログラムのバージョン情報と、配信対象のアップデートプログラムのバージョン情報とを比較し、双方のバージョン情報が不一致していれば、前記配信対象のアップデートプログラムを前記スレーブ機器に配信することを特徴とする車載ネットワークシステム。
【請求項７】
請求項２乃至６のいずれか一項に記載の車載ネットワークシステムにおいて、
前記中断情報記憶手段は、書き換え可能な不揮発性メモリであることを特徴とする車載ネットワークシステム。
【請求項８】
スレーブ機器にネットワークを介して一連のデータを配信するマスタ機器として機能する車載電子機器において、
前記スレーブ機器から送信され、前記一連のデータの中断位置を特定する中断情報を受信した場合、この中断情報を参照して中断した箇所から前記一連のデータの残りのデータを前記スレーブ機器に配信する配信手段を備えたことを特徴とする車載電子機器。
【請求項９】
請求項８に記載の車載電子機器において、
前記一連のデータは、前記スレーブ機器におけるソフトウェアのアップデートプログラムであり、
前記配信手段は、受信した中断情報に含まれるアップデートプログラムのバージョン情報と、配信対象のアップデートプログラムのバージョン情報とを比較し、双方のバージョン情報が一致していれば、中断した箇所から残りのアップデートプログラムを前記スレーブ機器に配信することを特徴とする車載電子機器。
【請求項１０】
請求項８に記載の車載電子機器において、
前記一連のデータは、前記スレーブ機器におけるソフトウェアのアップデートプログラムであり、
前記配信手段は、受信した中断情報に含まれるアップデートプログラムのバージョン情報と、配信対象のアップデートプログラムのバージョン情報とを比較し、双方のバージョン情報が不一致していれば、前記配信対象のアップデートプログラムを前記スレーブ機器に配信することを特徴とする車載電子機器。
【請求項１１】
マスタ機器からネットワークを介して配信される一連のデータを受信するスレーブ機器として機能する車載電子機器において、
前記一連のデータの配信が中断された場合に、前記一連のデータの中断位置を特定する中断情報を記憶する中断情報記憶手段と、
前記マスタ機器との通信再開時に、前記中断情報記憶手段の記憶した中断情報を前記マスタ機器に送信する送信手段とを備えたことを特徴とする車載電子機器。
【請求項１２】
請求項１１に記載の車載電子機器において、
前記中断情報記憶手段は、前記一連のデータの受信が中断してから所定時間経過したときに、前記配信が中断したものとみなして前記中断情報を記憶することを特徴とする車載電子機器。
【請求項１３】
請求項１１又は１２に記載の車載電子機器において、
前記中断情報記憶手段は、書き換え可能な不揮発性メモリであることを特徴とする車載電子機器。
【請求項１４】
スレーブ機器にネットワークを介して一連のデータを配信するマスタ機器として機能する車載電子機器の制御方法において、
前記スレーブ機器から送信され、前記一連のデータの中断位置を特定する中断情報を受信する受信過程と、
前記中断情報を受信した場合、前記中断情報を参照して中断した箇所から前記一連のデータの残りのデータを前記スレーブ機器に配信する配信過程とを備えたことを特徴とする車載電子機器の制御方法。
【請求項１５】
請求項１４に記載の車載電子機器の制御方法において、
前記一連のデータは、前記スレーブ機器におけるソフトウェアのアップデートプログラムであり、
前記配信過程は、前記受信過程で受信した中断情報に含まれるアップデートプログラムのバージョン情報と、配信対象のアップデートプログラムのバージョン情報とを比較し、双方のバージョン情報が一致していれば、中断した箇所から残りのアップデートプログラムを前記スレーブ機器に配信することを特徴とする車載電子機器の制御方法。
【請求項１６】
請求項１４に記載の車載電子機器の制御方法において、
前記一連のデータは、前記スレーブ機器におけるソフトウェアのアップデートプログラムであり、
前記配信過程は、前記受信過程で受信した中断情報に含まれるアップデートプログラムのバージョン情報と、配信対象のアップデートプログラムのバージョン情報とを比較し、双方のバージョン情報が不一致していれば、前記配信対象のアップデートプログラムを前記スレーブ機器に配信することを特徴とする車載電子機器の制御方法。
【請求項１７】
マスタ機器からネットワークを介して配信される一連のデータを受信するスレーブ機器として機能する車載電子機器の制御方法において、前記一連のデータの配信が中断された場合に、前記一連のデータの中断位置を特定する中断情報を記憶する中断情報記憶過程と、
前記マスタ機器との通信再開時に、前記中断情報記憶過程で記憶した中断情報を前記マスタ機器に送信する送信過程とを備えたことを特徴とする車載電子機器の制御方法。
【請求項１８】
コンピュータを、スレーブ機器にネットワークを介して一連のデータを配信するマスタ機器の制御を行わせる制御装置として機能させる制御プログラムにおいて、
前記スレーブ機器から送信され、前記一連のデータの中断位置を特定する中断情報を受信させ、
前記中断情報を受信した場合、前記中断情報を参照して中断した箇所から前記一連のデータの残りのデータを前記スレーブ機器に配信させることを特徴とする制御プログラム。
【請求項１９】
コンピュータを、マスタ機器からネットワークを介して配信される一連のデータを受信するスレーブ機器の制御を行わせる制御装置として機能させる制御プログラムにおいて、
前記一連のデータの配信が中断された場合に、前記一連のデータの中断位置を特定する中断情報を記憶させ、
前記マスタ機器との通信再開時に、記憶した中断情報を前記マスタ機器に送信させることを特徴とする制御プログラム。
【請求項２０】
請求項１８又は１９に記載の制御プログラムを記録したことを特徴とするコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マスタ機器からスレーブ機器にデータを配信する車載ネットワークシステム、マスタ機器として機能する車載電子機器、スレーブ機器として機能する車載電子機器、車載電子機器の制御方法、制御プログラム及び記録媒体に関する。
【０００２】
【従来の技術】
一般に、車内に車載電子機器としてマスタ機器とスレーブ機器とが搭載され、マスタ機器からネットワークを介してスレーブ機器へ一連データを配信可能に構成された車載ネットワークシステムが知られている。
【０００３】
この種の車載ネットワークシステムにおけるスレーブ機器は、図１０に示すように、マイクロコンピュータ１０７と、メモリ１０９とを備えて構成されており、このメモリ１０９は、ＲＡＭ１１１と、ソフトウェア（アプリケーションプログラム）や起動用プログラム（ＰＢＬ：Ｐｒｉｍａｒｙ　Ｂｏｏｔ　Ｌｏａｄｅｒ）等が記憶される書き換え可能な不揮発性メモリ１１３（例えば、フラッシュメモリ）とを備えて構成される。
【０００４】
スレーブ機器のソフトウェアのバージョンアップを行う際は、マスタ機器がソフトウェアのアップデートプログラムを配信することを示す信号をスレーブ機器へ送信し、この信号を受信したスレーブ機器においてマイクロコンピュータ１０７がＰＢＬを動作させ、一連のデータとしてのソフトウェアのアップデートプログラムをダウンロードするための書き込み用プログラム（ＳＢＬ：Ｓｅｃｏｎｄａｒｙ　Ｂｏｏｔ　Ｌｏａｄｅｒ）をマスタ機器から受信してＲＡＭ１１１に展開する。
【０００５】
そして、ＲＡＭ１１１に展開したＳＢＬに基づいてソフトウェアのアップデートプログラムがマスタ機器からダウンロードされ、フラッシュメモリ１１３上のアプリケーションプログラムが書き換えられる。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述の車載ネットワークシステムでは、マスタ機器からスレーブ機器への一連のデータとしてのアップデートプログラムの配信が中断された場合、例えば、アップデートプログラムの受信時に問題（例えば、ノイズ障害）が発生し、アップデートプログラムの配信が中断された場合、再度アップデートプログラムを最初のデータから配信するようにしているため、制御動作は単純ではあるが、時間がかかるという問題がある。
【０００７】
特に、マスタ機器からスレーブ機器へのアップデートプログラムの配信が中断された場合、スレーブ機器は、不揮発性メモリに記憶された受信データを全て消去し、再度アップデートプログラムを最初のデータから受信して不揮発性メモリに記憶していくため、時間がかかるという問題がある。
【０００８】
そこで、本発明の目的は、上述した従来技術が有する課題を解消し、マスタ機器からスレーブ機器へのデータの配信が中断された場合におけるデータの配信に要する時間の短縮化を図る車載ネットワークシステム、車載電子機器、その制御方法、制御プログラム及び記録媒体を提供することにある。
【０００９】
【課題を解決するための手段】
上記課題を解決するため、マスタ機器とスレーブ機器とを備え、前記マスタ機器からネットワークを介して前記スレーブ機器へ一連のデータを配信可能に構成された車載ネットワークシステムにおいて、前記スレーブ機器は、前記一連のデータの配信が中断された場合に、通信再開時に前記一連のデータの中断位置を特定する中断情報を前記マスタ機器に送信し、前記マスタ機器は、受信した中断情報を参照して中断した箇所から前記一連のデータの残りのデータを配信するようにしたことを特徴としている。
【００１０】
この場合において、前記スレーブ機器は、前記一連のデータの配信が中断された場合に、前記一連のデータの中断位置を特定する中断情報を記憶する中断情報記憶手段と、前記マスタ機器との通信再開時に、前記中断情報記憶手段の記憶した中断情報を前記マスタ機器に送信する送信手段とを備え、前記マスタ機器は、受信した前記中断情報を参照して中断した箇所から前記一連のデータの残りのデータを前記スレーブ機器に配信する配信手段を備えるようにしてもよい。
【００１１】
また、前記中断情報記憶手段は、前記一連のデータの受信が中断してから所定時間経過したときに、前記配信が中断されたとみなして前記中断情報を記憶するようにしてもよい。
【００１２】
更に、前記スレーブ機器は、前記マスタ機器により配信された前記一連のデータを記憶するデータ記憶手段を備えるようにしてもよい。
【００１３】
更にまた、前記一連のデータは、前記スレーブ機器におけるソフトウェアのアップデートプログラムであり、前記中断情報記憶手段に記憶される中断情報は、前記データ記憶手段に記憶されているアップデートプログラムのバージョン情報を含み、前記配信手段は、受信した中断情報に含まれるアップデートプログラムのバージョン情報と、配信対象のアップデートプログラムのバージョン情報とを比較し、双方のバージョン情報が一致していれば、中断した箇所から残りのアップデートプログラムを前記スレーブ機器に配信するようにしてもよい。
【００１４】
また、前記一連のデータは、前記スレーブ機器におけるソフトウェアのアップデートプログラムであり、前記中断情報記憶手段に記憶される中断情報は、前記データ記憶手段に記憶されているアップデートプログラムのバージョン情報を含み、前記配信手段は、受信した中断情報に含まれるアップデートプログラムのバージョン情報と、配信対象のアップデートプログラムのバージョン情報とを比較し、双方のバージョン情報が不一致していれば、前記配信対象のアップデートプログラムを前記スレーブ機器に配信するようにしてもよい。
【００１５】
更に、前記中断情報記憶手段は、書き換え可能な不揮発性メモリであってもよい。
【００１６】
また、スレーブ機器にネットワークを介して一連のデータを配信するマスタ機器として機能する車載電子機器において、前記スレーブ機器から送信され、前記一連のデータの中断位置を特定する中断情報を受信した場合、この中断情報を参照して中断した箇所から前記一連のデータの残りのデータを前記スレーブ機器に配信する配信手段を備えたことを特徴としている。
【００１７】
この場合において、前記一連のデータは、前記スレーブ機器におけるソフトウェアのアップデートプログラムであり、前記配信手段は、受信した中断情報に含まれるアップデートプログラムのバージョン情報と、配信対象のアップデートプログラムのバージョン情報とを比較し、双方のバージョン情報が一致していれば、中断した箇所から残りのアップデートプログラムを前記スレーブ機器に配信するようにしてもよい。
【００１８】
また、前記一連のデータは、前記スレーブ機器におけるソフトウェアのアップデートプログラムであり、前記配信手段は、受信した中断情報に含まれるアップデートプログラムのバージョン情報と、配信対象のアップデートプログラムのバージョン情報とを比較し、双方のバージョン情報が不一致していれば、前記配信対象のアップデートプログラムを前記スレーブ機器に配信するようにしてもよい。
【００１９】
また、マスタ機器からネットワークを介して配信される一連のデータを受信するスレーブ機器として機能する車載電子機器において、前記一連のデータの配信が中断された場合に、前記一連のデータの中断位置を特定する中断情報を記憶する中断情報記憶手段と、前記マスタ機器との通信再開時に、前記中断情報記憶手段の記憶した中断情報を前記マスタ機器に送信する送信手段とを備えたことを特徴としている。
【００２０】
この場合において、前記中断情報記憶手段は、前記一連のデータの受信が中断してから所定時間経過したときに、前記配信が中断したものとみなして前記中断情報を記憶するようにしてもよい。
【００２１】
また、前記中断情報記憶手段は、書き換え可能な不揮発性メモリであってもよい。
【００２２】
また、スレーブ機器にネットワークを介して一連のデータを配信するマスタ機器として機能する車載電子機器の制御方法において、前記スレーブ機器から送信され、前記一連のデータの中断位置を特定する中断情報を受信する受信過程と、前記中断情報を受信した場合、前記中断情報を参照して中断した箇所から前記一連のデータの残りのデータを前記スレーブ機器に配信する配信過程とを備えたことを特徴としている。
【００２３】
この場合において、前記一連のデータは、前記スレーブ機器におけるソフトウェアのアップデートプログラムであり、前記配信過程は、前記受信過程で受信した中断情報に含まれるアップデートプログラムのバージョン情報と、配信対象のアップデートプログラムのバージョン情報とを比較し、双方のバージョン情報が一致していれば、中断した箇所から残りのアップデートプログラムを前記スレーブ機器に配信するようにしてもよい。
【００２４】
また、前記一連のデータは、前記スレーブ機器におけるソフトウェアのアップデートプログラムであり、前記配信過程は、前記受信過程で受信した中断情報に含まれるアップデートプログラムのバージョン情報と、配信対象のアップデートプログラムのバージョン情報とを比較し、双方のバージョン情報が不一致していれば、前記配信対象のアップデートプログラムを前記スレーブ機器に配信するようにしてもよい。
【００２５】
また、マスタ機器からネットワークを介して配信される一連のデータを受信するスレーブ機器として機能する車載電子機器の制御方法において、前記一連のデータの配信が中断された場合に、前記一連のデータの中断位置を特定する中断情報を記憶する中断情報記憶過程と、前記マスタ機器との通信再開時に、前記中断情報記憶過程で記憶した中断情報を前記マスタ機器に送信する送信過程とを備えたことを特徴としている。
【００２６】
また、コンピュータを、スレーブ機器にネットワークを介して一連のデータを配信するマスタ機器の制御を行わせる制御装置として機能させる制御プログラムにおいて、前記スレーブ機器から送信され、前記一連のデータの中断位置を特定する中断情報を受信させ、前記中断情報を受信した場合、前記中断情報を参照して中断した箇所から前記一連のデータの残りのデータを前記スレーブ機器に配信させることを特徴としている。
【００２７】
また、コンピュータを、マスタ機器からネットワークを介して配信される一連のデータを受信するスレーブ機器の制御を行わせる制御装置として機能させる制御プログラムにおいて、前記一連のデータの配信が中断された場合に、前記一連のデータの中断位置を特定する中断情報を記憶させ、前記マスタ機器との通信再開時に、記憶した中断情報を前記マスタ機器に送信させることを特徴としている。
【００２８】
また、上記制御プログラムをコンピュータ読取可能な記録媒体に記録してもよい。
【００２９】
【発明の実施の形態】
以下、本発明の一実施の形態を、図面を参照して説明する。
【００３０】
図１は本実施の形態に係る車載ネットワークシステムを示す概略図である。車載ネットワークシステム１は、図１に示すように、マスタ機器３と、例えば複数台（例えば２台）のスレーブ機器５とを備え、これら各機器３、５が有線（バス）により接続されてネットワークが形成されている。この車載ネットワークシステム１は、車両に搭載される。マスタ機器３は、スレーブ機器５と通信する機能を備えており、スレーブ機器５は、マスタ機器３と通信する機能を備えている。
【００３１】
また、スレーブ機器５は、例えば、音響機器や映像機器等であり、マスタ機器３により配信される一連のデータを受信する機能を備えている。車載ネットワークシステム１は、例えば、光ファイバによる車載用のバス規格が適用されている。また、マスタ機器３とスレーブ機器５とは、例えばパケット通信されるものとする。
【００３２】
スレーブ機器５には、ソフトウェア（アプリケーションプログラム）が組み込まれており、このソフトウェアが動作することで、スレーブ機器５が機能する。
【００３３】
このスレーブ機器５のソフトウェアのバージョンアップを行う場合は、マスタ機器３が、スレーブ機器５にソフトウェアのアップデートプログラムを配信（ダウンロード）することで行われる。
【００３４】
マスタ機器３は、マイクロコンピュータ４（以下、「マスタ機器側マイコン」という。）を備えており、このマスタ機器側マイコン４は、ネットワーク上のスレーブ機器５の制御を行う。尚、マスタ機器３は、記録媒体（例えば、光ディスクなどのリムーバブル記録媒体）に記録されたソフトウェアのアップデートプログラムを読み取り可能に構成されている。そして、マスタ機器側マイコン４は、この読み取ったアップデートプログラムをスレーブ機器５に配信するように制御している。
【００３５】
スレーブ機器５は、マイクロコンピュータ７（以下、「マイコン」という。）と、メモリ９とを備えている。このメモリ９は、図２に示すように、ＲＡＭ１１と、不揮発性メモリとしてフラッシュメモリ１３及びＥＥＰＲＯＭ１５とを備えて構成される。このＥＥＰＲＯＭ１５は、外部メモリである。
【００３６】
フラッシュメモリ１３には、スレーブ機器５のソフトウェア（アプリケーションプログラム）が記憶される。また、フラッシュメモリ１３には、予め起動用プログラム（ＰＢＬ：Ｐｒｉｍａｒｙ　Ｂｏｏｔ　Ｌｏａｄｅｒ）が記憶されている。更に、フラッシュメモリ１３には、特定データを記憶する領域（特定アドレス）が確保されている。
【００３７】
尚、スレーブ機器５におけるソフトウェアのバージョンアップは、例えば、フラッシュメモリ１３内のソフトウェアを全て消去して、バージョンアップしたソフトウェア（アップデートプログラム）をフラッシュメモリ１３に記憶させることで行う。
【００３８】
ＲＡＭ１１には、ソフトウェアのアップデートプログラムをマスタ機器３からダウンロードしてフラッシュメモリ１３に記憶（書き込み）するための制御プログラム（ＳＢＬ：Ｓｅｃｏｎｄａｒｙ　Ｂｏｏｔ　Ｌｏａｄｅｒ）が記憶される。このＳＢＬは、マスタ機器３からダウンロードされる。
【００３９】
スレーブ機器５のマイコン７は、スレーブ機器５の起動時にＰＢＬに基づいて制御を行う。具体的に、マイコン７は、ＰＢＬに基づいて、フラッシュメモリ１３に記憶されているアプリケーションプログラムを実行する制御を行い、また、ソフトウェアのバージョンアップを行うときは、受信したＳＢＬをＲＡＭ１１に記憶（展開）する制御を行う。
【００４０】
また、マイコン７は、ＳＢＬ受信後、ＳＢＬに基づいて制御を行う。具体的に、マイコン７は、ＳＢＬに基づいて、マスタ機器３より配信されるアップデートプログラムを受信してフラッシュメモリ１３に記憶する制御を行う。
【００４１】
スレーブ機器５は、このアップデートプログラムの受信中にアップデートプログラムの配信が中断された場合、例えば、ネットワークの切断が生じた場合、リセット、即ち、再起動して再びアップデートプログラムを受信するように、マイコン７によって制御される。
【００４２】
アップデートプログラムの配信が中断されたか否かの判断は、スレーブ機器５におけるマイコン７によって行われ、スレーブ機器５においてデータ受信が中断してから所定時間経過しても次のデータがスレーブ機器５側で受信されないとき（例えば、配信されるアップデートプログラムのデータのパケットが、所定時間経過してもスレーブ機器５側で受信されないとき）をアップデートプログラムの配信が中断されたと判断している。
【００４３】
本実施の形態において、スレーブ機器５におけるマイコン７は、制御プログラムとしてのＳＢＬに基づいて、アップデートプログラムの配信が中断された場合に、このアップデートプログラムの中断位置を特定するための中断情報をＥＥＰＲＯＭ１５に記憶し、通信が再開される状態になったとき、つまり通信再開時にＥＥＰＲＯＭ１５に記憶されている中断情報をマスタ機器３に送信するように制御する。言い換えれば、スレーブ機器５におけるマイコン７は、アップデートプログラムの配信が中断され、マスタ機器３との通信が再び確立した場合に、ＥＥＰＲＯＭ１５に記憶されている中断情報をマスタ機器３に送信するように制御する。例えば、ネットワークの切断の場合、再びスレーブ機器５がネットワークに接続されて、マスタ機器３との通信が確立するように、リセット（再起動）を行う。
【００４４】
具体的に、ＥＥＰＲＯＭ１５には、フラッシュメモリ１３に記憶されている中断されたアップデートプログラムのフラッシュメモリ１３における開始アドレスと、フラッシュメモリ１３に記憶されているアップデートプログラムのデータのサイズとを有する中断情報が記憶され、これによってアップデートプログラムの中断位置が特定される。
【００４５】
例えば、ＥＥＰＲＯＭ１５には、図３に示すように、開始アドレス“０ＸＣ００００”、“０ＸＥ００００”が記憶されるとともに、これら開始アドレスに対応して、データのサイズ“０ＸＦＦＦＦ”、“０Ｘ２００”が記憶される。つまり、フラッシュメモリ１３に記憶されるアップデートプログラムのデータは、フラッシュメモリ１３内で、不連続になってもよく、この場合、ＥＥＰＲＯＭ１５には、複数の開始アドレスと、これらに対応するデータのサイズとが記憶される。
【００４６】
さらに、このＥＥＰＲＯＭ１５に記憶される中断情報には、例えば図３に示すように、中断されたアップデートプログラムのバージョン情報としてのバージョン番号Ｘと、アップデートプログラムのプログラム名Ｙとが含まれている。
【００４７】
また、マスタ機器３におけるマスタ機器側マイコン４は、この受信した中断情報を参照して中断した箇所から残りのアプリケーションプログラムのデータをスレーブ機器５に配信するように、例えば、図示しないＲＯＭ、ＥＥＰＲＯＭ或いはフラッシュメモリに記録された制御プログラムに基づいて制御している。
【００４８】
以下、図４のシーケンスを参照して、マスタ機器３及びスレーブ機器５の動作について詳細に説明する。尚、マスタ機器３がデータを送受信するときは、マスタ機器側マイコン４の制御の下で行われ、スレーブ機器５がデータを送受信するときは、マイコン７の制御の下で行われる。
【００４９】
まず、マスタ機器３は、ソフトウェアのアップデートプログラムをいずれかのスレーブ機器５に送信しようとする場合、ソフトウェアのアップデートをするスレーブ機器５におけるＰＢＬを動作させるべく、スレーブ機器５に特定のメッセージ（ＰＢＬ動作信号）を送信する（Ｓ１）。
【００５０】
このＰＢＬ動作信号は、例えば、マスタ機器３にソフトウェアのアップデートプログラムが記録された記録媒体がセットされたときに送信される。
【００５１】
そして、このＰＢＬ動作信号を受信したスレーブ機器５においてＰＢＬが動作し、スレーブ機器５が、例えば、ＳＢＬのデータを受信可能状態であることを示す信号をマスタ機器３に送信することで、マスタ機器３が、ＳＢＬのデータをスレーブ機器５に送信する（Ｓ２）。
【００５２】
スレーブ機器５は、この受信したＳＢＬのデータをマイコン７がＳＢＬに基づいて動作可能となるように受信処理を行う（Ｓ３）。
【００５３】
具体的には、図５のフローチャートを参照して説明すると、スレーブ機器５は、ＳＢＬのデータ（パケットデータ）を受信し（Ｓ３１）、スレーブ機器５のマイコン７は、この受信したデータをＲＡＭ１１に展開していく（Ｓ３２）。そして、マイコン７は、ＲＡＭ１１へのＳＢＬデータの展開が完了したか否かを判断する（Ｓ３３）。ステップＳ３３で、ＲＡＭ１１へのＳＢＬデータの展開が完了していなければ、マイコン７は、ステップＳ３１に戻って処理し、ステップＳ３３でＲＡＭ１１へのＳＢＬデータの展開が完了していれば、ＳＢＬのデータの受信処理を終了し、この展開したＳＢＬの処理動作に移行する。
【００５４】
次に、図４において、スレーブ機器５のマイコン７は、ＳＢＬに基づいて動作し、フラッシュメモリ１３に中断情報が記憶されているか否かに応じて処理する中断情報確認処理を行い（Ｓ４）、アップデートプログラムの配信要求を行う（Ｓ５）。
【００５５】
具体的に、図６のフローチャートを参照して説明すると、スレーブ機器５のマイコン７は、フラッシュメモリ１３に中断情報が記憶されているか否かを判断する（Ｓ４１）。
【００５６】
ステップＳ４１で中断情報が記憶されていれば、スレーブ機器５は、中断情報が記憶されていることを示す「ＯＫ」のメッセージ及び中断情報をマスタ機器３に送信する（Ｓ４２）。また、ステップＳ４１で中断情報が記憶されていなければ、スレーブ機器５は、中断情報が記憶されていないことを示す「ＮＧ」のメッセージをマスタ機器３に送信する（Ｓ４３）。つまり、ステップＳ４２、Ｓ４３においてアップデートプログラムの配信が要求される。
【００５７】
次に、図４において、マスタ機器３は、スレーブ機器５からのアップデートプログラムの配信要求を受信した場合、マスタ機器３のマスタ機器側マイコン４は、アップデートプログラムの全データを配信するのか、或いは中断した箇所から残りのデータを配信するのかを確認する配信データ確認処理を行い（Ｓ６）、マスタ機器３はスレーブ機器５に応答メッセージを送信する（Ｓ７）。
【００５８】
この応答メッセージを受信したスレーブ機器５において、スレーブ機器５のマイコン７は、アップデートプログラムを受信すべく、フラッシュメモリ１３の消去或いはフラッシュメモリ１３の開始アドレスの確認等、アップデートプログラムの受信準備処理を行い（Ｓ８）、マスタ機器３は、アップデートプログラムをスレーブ機器５に配信（ダウンロード）する（Ｓ９）。
【００５９】
具体的に、図４中ステップＳ６において、図７のフローチャートを参照して説明すると、マスタ機器３は、図６中ステップＳ４２或いはＳ４３において送信されるメッセージを受信する（Ｓ６１）。マスタ機器側マイコン４は、この受信したメッセージが、「ＯＫ」または「ＮＧ」のいずれに該当するのかを判断する（Ｓ６２）。
【００６０】
ステップＳ６２でメッセージが「ＯＫ」であれば、マスタ機器側マイコン４は、受信した中断情報に含まれるアップデートプログラムのバージョン情報（バージョン番号）と、配信対象のアップデートプログラムのバージョン情報（バージョン番号）とを比較し、双方のバージョン情報（バージョン番号）が一致しているか否かを判断する（Ｓ６３）。
【００６１】
そして、ステップＳ６２でメッセージが「ＮＧ」と判断された場合、或いは、ステップＳ６３で不一致と判断された場合、マスタ機器３は、スレーブ機器５に応答メッセージとして「ＮＧ」を送信し（Ｓ６４；図４中ステップＳ７）、アップデートプログラムの最初のデータからアップデートプログラムを配信する（Ｓ６５；図４中ステップＳ９）。即ち、通常のダウンロードを行う。
【００６２】
また、ステップＳ６３で一致と判断された場合、マスタ機器３は、スレーブ機器５に応答メッセージとして「ＯＫ」を送信し（Ｓ６６；図４中ステップＳ７）、アップデートプログラムの中断した箇所のデータからアップデートプログラムの残りのデータを配信する（Ｓ６７；図４中ステップＳ９）。
【００６３】
図４中ステップＳ８において、図８のフローチャートを参照して説明すると、スレーブ機器５は、ステップＳ７（図４）において送信された応答メッセージを受信する（Ｓ８１）。スレーブ機器５のマイコン７は、この受信した応答メッセージが、「ＯＫ」または「ＮＧ」のいずれに該当するのかを判断し（Ｓ８２）、受信した応答メッセージが「ＮＧ］であれば、フラッシュメモリ１３に記憶されているアップデートする前のソフトウェア（アプリケーションプログラム）、或いは、中断され途中まで記憶されているアップデートプログラムを消去し（Ｓ８３）、応答メッセージが「ＯＫ」であれば、中断箇所から続けてアップデートプログラムを記憶していくので、そのまま消去せずに残しておく。
【００６４】
図４において、スレーブ機器５がステップＳ９で配信されるアップデートプログラムを受信した場合、スレーブ機器５のマイコン７は、このアップデートプログラムの受信処理を行う（Ｓ１０）。
【００６５】
具体的にスレーブ機器５のマイコン７は、図９に示すフローチャートを参照して説明すると、アップデートプログラムのデータ（パケット）を受信したか否かを判断し（Ｓ９１）、受信していれば、フラッシュメモリ１３に記憶していく（Ｓ９２）。
【００６６】
尚、アップデートプログラムのデータ（パケット）が正常に受信されたことを示す応答信号をマスタ機器３に送信するのが好ましい。これによって、マスタ機器３は、次のデータ（パケット）を送信することができる。
【００６７】
次に、アップデートプログラムの全データが受信完了であるか否かを判断する（Ｓ９３）。
【００６８】
ステップＳ９３で、スレーブ機器５におけるデータの受信が完了していれば、スレーブ機器５のマイコン７は、フラッシュメモリ１３の特定アドレスにアップデートプログラムが受信完了したことを示すデータを記憶する（Ｓ９４）。
【００６９】
ステップＳ９４で、スレーブ機器５におけるデータの受信が完了していなければ、スレーブ機器５のマイコン７はステップＳ９１に戻って処理する。
【００７０】
ステップＳ９１において、データ（パケット）が受信されていなければ、即ち、データの受信が中断していれば、スレーブ機器５のマイコン７は、受信タイムアウトであるか否かを判断する（Ｓ９５）。受信タイムアウトとは、アップデートプログラムの受信が中断してからカウントして所定時間経過した場合をいい、受信タイムアウトであれば、アップデートプログラムの配信が中断されたとみなす。
【００７１】
ステップＳ９５で、受信タイムアウトであれば、スレーブ機器５のマイコン７は、フラッシュメモリ１３、即ち、途中まで記憶されているアップデートプログラムを参照して、中断情報（即ち、アップデートプログラムのバージョン情報としてのバージョン番号、プログラム名、開始アドレス及びデータサイズからなる情報）を作成し、中断情報をＥＥＰＲＯＭ１５に記憶する（Ｓ９６）。
【００７２】
ステップＳ９５で、受信タイムアウトでなければ、スレーブ機器５のマイコン７は、ステップＳ９１に戻って処理する。
【００７３】
図４に示すように、図９中ステップＳ９６でＥＥＰＲＯＭ１５に中断情報を記憶したか或いは図９中ステップＳ９４でフラッシュメモリ１３の特定アドレスにアップデートプログラムが受信完了したことを示すデータを記憶した場合、スレーブ機器５のマイコン７は、このスレーブ機器５のリセット（再起動）を行う（Ｓ１１）。
【００７４】
この場合、スレーブ機器５がリセットされることで、ＲＡＭ１１に展開したＳＢＬは消去され、再びＰＢＬが起動する。このＰＢＬの処理動作によって、フラッシュメモリ１３の特定アドレスにデータが記憶されているか否かが判断されて、図９中ステップＳ９４により特定アドレスにデータが記憶されていれば、ソフトウェア（アプリケーションプログラム）を実行し、記憶されていなければ、マスタ機器３からのＰＢＬ動作信号の待ち受け状態となる。
【００７５】
スレーブ機器５をリセットした場合、リセットしたことを示す信号をマスタ機器３に送信するようにするのが好ましい。これによってマスタ機器３は、スレーブ機器５がリセットされたことを把握することができる。そして、マスタ機器３は、リセットしたことを示す信号を受けて、再び図４に示すＰＢＬ動作信号をスレーブ機器５に送信する動作から行うことができる。
【００７６】
尚、スレーブ機器５は、ＳＢＬのデータの受信中に受信タイムアウトが生じてＳＢＬのデータの配信が中断された場合、ＳＢＬの中断位置から配信するように制御する動作は行わず、スレーブ機器５をリセットして最初のデータから配信されるようにする。つまり、ＳＢＬのデータ量がアップデートプログラムのデータ量と比較して少なく、配信に要する時間は短い（例えば、十数秒程度である）ので、時間的コストは無視できる。
【００７７】
以上、本実施の形態によれば、スレーブ機器５は、一連のデータとしてのアップデートプログラムの配信が中断された場合に、アップデートプログラムの中断位置を特定する中断情報を記憶する不揮発性メモリとしてのＥＥＰＲＯＭ１５と、マスタ機器３との通信再開時にＥＥＰＲＯＭ１５の記憶した中断情報をマスタ機器３に送信するように制御するマイクロコンピュータ７とを備え、マスタ機器３は、受信した中断情報を参照して中断した箇所からアップデートプログラムの残りのデータをスレーブ機器５に配信するように制御するマイクロコンピュータ４を備えたことから、マスタ機器３からスレーブ機器５へのデータの配信が中断された場合におけるデータの配信に要する時間が短縮される。
【００７８】
また、本実施の形態によれば、マスタ機器３がスレーブ機器５の一連のデータとしてのアップデートプログラムをスレーブ機器１１に配信（ダウンロード）するとき、アップデートプログラムの配信が中断された場合に、アップデートプログラムの中断位置を特定する中断情報を記憶させ、マスタ機器３との通信再開時に、記憶した中断情報をマスタ機器３に送信させる制御プログラム（ＳＢＬ）を、スレーブ機器５に送信するようにしたことから、スレーブ機器５は、この制御プログラム（ＳＢＬ）を予めフラッシュメモリ１３等に記憶させておく必要がないので、メモリの有効利用が図れる。
【００７９】
また、本実施の形態によれば、中断情報を、外部メモリであるＥＥＰＲＯＭ１５に記憶するようにしたことから、フラッシュメモリ１３内に中断情報を記憶するための領域を確保する必要がない。
【００８０】
また、本実施の形態によれば、スレーブ機器５は、一連のデータとしてのアップデートプログラムの配信が中断された場合に、フラッシュメモリ１３を参照して中断情報を作成し、この中断情報をＥＥＰＲＯＭ１５に記憶し、通信再開時に中断情報をマスタ機器３に送信するようにしたことから、マスタ機器３側で、途中まで配信した一連のデータとしてのアップデートプログラムを基に中断情報を作成して、この中断情報を参照して中断した箇所から残りのデータを配信するようにした場合と比べて、スレーブ機器５側で足りないデータをより正確にマスタ機器３側で把握することができる。
【００８１】
尚、本実施の形態では、マスタ機器は、受信した中断情報に含まれるアップデートプログラムのバージョン情報と、配信対象のアップデートプログラムのバージョン情報とを比較し、双方のバージョン情報が一致していれば、中断した箇所から残りのアップデートプログラムをスレーブ機器に配信するようにした場合について説明したが、これに限るものではなく、マスタ機器は、受信した中断情報に含まれるアップデートプログラムのバージョン情報及びプログラム名と、配信対象のアップデートプログラムのバージョン情報及びプログラム名とを比較し、双方のバージョン情報が一致し、且つ、双方のプログラム名が一致していれば、中断した箇所から残りのアップデートプログラムをスレーブ機器に配信するようにすれば、より好ましい。また、双方のバージョン情報が不一致し、或いは、双方のプログラム名が不一致していれば、配信対象のアップデートプログラムをスレーブ機器に配信するようにすれば、より好ましい。
【００８２】
また、本実施の形態では、マスタ機器とスレーブ機器とが有線（例えば光ファイバ）で接続される場合について説明したが、これに限るものではなく、マスタ機器とスレーブ機器とが無線で通信する場合であってもよい。
【００８３】
また、本実施の形態では、マスタ機器を制御するための制御プログラムをＲＯＭ等に予め記憶しておく場合について説明したが、これらの制御プログラムをハードディスクなどの外部記録装置に記録して起動したり、これらの制御プログラムを光ディスクなどのリムーバブル記録媒体に記録して、インストールするようにしたり、例えば無線ネットワークを介してダウンロードし、インストールするように構成することも可能である。ダウンロードを行う場合には、実行のたびにダウンロードするようにすることも可能である。また、ＲＯＭ等のコンピュータ読取可能な記録媒体を交換可能に構成しておくことも可能である。
【００８４】
また、本実施の形態では、スレーブ機器を制御するための制御プログラムをスレーブ機器から車両ネットワークを介してダウンロードし、ＲＡＭに記憶（展開）する場合について説明したが、これに限るものではなく、これら制御プログラムを予めＲＯＭやＥＥＰＲＯＭ、フラッシュメモリ等に記憶するようにしたり、これら制御プログラムをスレーブ機器から車両ネットワークを介してダウンロードし、ＥＥＰＲＯＭやフラッシュメモリ等に記憶するようにしたり、これら制御プログラムをハードディスクなどの外部記録装置に記録して起動したり、これらの制御プログラムを光ディスクなどのリムーバブル記録媒体に記録して、インストールするように構成することも可能である。また、ＲＯＭ等のコンピュータ読取可能な記録媒体を交換可能に構成しておくことも可能である。
【００８５】
以上、一実施の形態に基づいて本発明を説明したが、本発明は、これに限定されるものでない。
【００８６】
【発明の効果】
本発明によれば、マスタ機器からスレーブ機器へのデータの配信が中断された場合におけるデータの配信に要する時間を短縮することができる。
【図面の簡単な説明】
【図１】本発明による車載ネットワークシステムの一実施の形態を示す構成図である。
【図２】図１のスレーブ機器を示す構成図である。
【図３】スレーブ機器に記憶される中断情報を示す図である。
【図４】マスタ機器及びスレーブ機器の動作を示すシーケンス図である。
【図５】スレーブ機器側のＳＢＬデータ受信処理を示すフローチャートである。
【図６】スレーブ機器側の中断情報確認処理を示すフローチャートである。
【図７】マスタ機器側の配信するデータの確認処理を示すフローチャートである。
【図８】スレーブ機器側の配信されるデータの受信準備処理を示すフローチャートである。
【図９】スレーブ機器側のデータの受信処理を示すフローチャートである。
【図１０】従来のスレーブ機器を示す構成図である。
【符号の説明】
１　車載ネットワークシステム
３　マスタ機器
４　マイクロコンピュータ
５　スレーブ機器
７　マイクロコンピュータ
９　メモリ
１１　ＲＡＭ
１３　フラッシュメモリ（データ記憶手段）
１５　ＥＥＰＲＯＭ（中断情報記憶手段）
【図１】
2004021680.tif 000003
【図２】
2004021680.tif 000004
【図３】
2004021680.tif 000005
【図４】
2004021680.tif 000006
【図５】
2004021680.tif 000007
【図６】
2004021680.tif 000008
【図７】
2004021680.tif 000009
【図８】
2004021680.tif 000010
【図９】
2004021680.tif 000011
【図１０】
2004021680.tif 000012