(57)【要約】【課題】記憶領域の書換処理が途中で中断されても事後的に当該記憶領域の書換処理が確実に実施され得るＥＣＵノード及びＥＣＵノードの記憶情報書換方法を提供する。【効果】スレーブＥＣＵのフラッシュメモリｒｏｍにスレーブ側ルーティンプログラムS_RTNpro 及びスレーブ側ブートプログラムS_BOOTproが格納されているので、これらのうち何れか一方のプログラムが毀損した場合であっても、かかるプログラムのうち一方の正常なプログラムを用いてスレーブ側書換プログラムS_EPVproが起動され、スレーブＥＣＵのフラッシュメモリｒｏｍにおける全領域の書換処理を実行させることが可能となる。【選択図】図３
2009166645.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性記憶装置を少なくとも備える複数のＥＣＵから成り、前記ＥＣＵのうち第１の通信ラインに接続されたマスターＥＣＵと、第２の通信ラインを介して前記マスターＥＣＵに接続され且つ前記ＥＣＵのうち前記マスターＥＣＵを除く少なくとも１つのスレーブＥＣＵとから成るＥＣＵノードにおいて、
前記マスターＥＣＵの不揮発性記憶装置に設けられた書換可能なマスター側不揮発性記憶領域は、当該マスター側不揮発性記憶領域を書換える際に起動されるマスター側書換プログラムの受信処理を実行させる複数のマスター側ブートプログラムが格納され、
前記スレーブＥＣＵの不揮発性記憶装置に設けられたスレーブ側不揮発性記憶領域は、当該スレーブ側不揮発性記憶領域を書換える際に起動されるスレーブ側書換プログラムの受信処理を実行させる複数のスレーブ側ブートプログラムが格納されていることを特徴とするＥＣＵノード。
【請求項２】
前記マスター側ブートプログラムのうち何れか１つのマスター側ブートプログラムが前記マスターＥＣＵにて起動され、前記第１の通信ラインを介して前記マスター側書換プログラムが受信される第１の処理(Ｓ２０１〜Ｓ２０４)と、
前記マスター側書換プログラムが起動され、前記マスター側ブートプログラムのうち少なくとも一つのマスター側ブートプログラムを残した状態で前記マスター側不揮発性記憶領域に格納されたプログラムを消去させる第２の処理(Ｓ２０６〜Ｓ２０８)と、
前記マスター側不揮発性記憶領域に前記第１の通信ラインを介して新たなマスター側ブートプログラムを含む新たなプログラムが記録される第３の処理（Ｓ２１１）と、
前記マスター側不揮発性記憶領域に格納されたプログラムのうち前記第２の処理で消去されなかったプログラムが消去される第４の処理（Ｓ２１７）と、
前記マスター側不揮発性記憶領域に前記第４の処理で消去されたプログラムに相当する新たなプログラムが記録される第５の処理（Ｓ２２０）と、
を実行させることを特徴とする請求項１に記載のＥＣＵノードの記憶情報書換方法。
【請求項３】
前記スレーブ側ブートプログラムのうち何れか１つのスレーブ側ブートプログラムが前記スレーブＥＣＵにて起動され、前記第２の通信ラインを介して前記スレーブ側書換プログラムが受信される第６の処理（Ｓ６０１〜Ｓ６０４）と、
前記スレーブ側書換プログラムが起動され、前記スレーブ側ブートプログラムのうち少なくとも一つのスレーブ側ブートプログラムを残した状態で前記スレーブ側不揮発性記憶領域に格納されたプログラムを消去させる第７の処理（Ｓ６０６〜６０８）と、
前記スレーブ側不揮発性記憶領域に前記第２の通信ラインを介して新たなスレーブ側ブートプログラムを含む新たなプログラムが記録される第８の処理（Ｓ６１１）と、
前記スレーブ側不揮発性記憶領域に記録されたプログラムのうち前記第７の処理で消去されなかったプログラムが消去される第９の処理（Ｓ６１７）と、
前記スレーブ側不揮発性記憶領域に前記第９の処理で消去されたプログラムに相当する新たなプログラムが記録される第１０の処理（Ｓ６２０）と、
を実行させることを特徴とする請求項１又は請求項２に記載のＥＣＵノードの記憶情報書換方法。
【請求項４】
不揮発性記憶装置を少なくとも備える複数のＥＣＵから成り、前記ＥＣＵのうち第１の通信ラインに接続されたマスターＥＣＵと、第２の通信ラインを介して前記マスターＥＣＵに接続され且つ前記ＥＣＵのうち前記マスターＥＣＵを除く少なくとも１つのスレーブＥＣＵとから成るＥＣＵノードにおいて、
前記マスターＥＣＵの不揮発性記憶装置に設けられた書換可能なマスター側不揮発性記憶領域は、当該マスター側不揮発性記憶領域を書換える際に起動されるマスター側書換プログラムの受信処理を実行させるマスター側ブートプログラムと、前記マスター側書換プログラムの受信処理を実行させ又は当該受信処理が実行されない際に前記マスターＥＣＵのルーティン処理を実行させるマスター側ルーティンプログラムと、前記スレーブ側不揮発性記憶領域を書換える際に起動されるスレーブ側書換プログラムの受信処理を実行させるスレーブ側ブートプログラムと、前記スレーブ側書換プログラムの受信処理を実行させ又は当該受信処理が実行されない際に前記スレーブＥＣＵのルーティン処理を実行させるスレーブ側ルーティンプログラムとが格納され、
前記スレーブＥＣＵの不揮発性記憶装置に設けられた書換可能なスレーブ側不揮発性記憶領域は、各々が前記マスター側不揮発性記憶領域から転送された前記スレーブ側ブートプログラム及び前記スレーブ側ルーティンプログラムが格納されていることを特徴とするＥＣＵノード。
【請求項５】
前記マスター側ブートプログラム及び前記マスター側ルーティンプログラムのうち何れか一方のプログラムが前記マスターＥＣＵにて起動され、前記第１の通信ラインを介して前記マスター側書換プログラムが受信される第１の処理（Ｓ２０１〜Ｓ２０４）と、
前記マスター側ブートプログラム及び前記マスター側ルーティンプログラムのうち前記第１の処理で起動されたプログラムを残した状態で、前記マスター側不揮発性記憶領域に格納されたプログラムが消去される第２の処理（Ｓ２０６〜Ｓ２０８）と、
前記第２の処理で消去されたプログラムに相当する新たなプログラムが前記第１の通信ラインを介して前記マスター側不揮発性記憶領域に記録される第３の処理（Ｓ２１１）と、
前記マスター側不揮発性記憶領域に格納されたプログラムのうち前記第２の処理で消去されなかったプログラムが消去される第４の処理（Ｓ２１７）と、
前記第４の処理で消去されたプログラムに相当する新たなプログラムが前記マスター側不揮発性記憶領域に記録される第５の処理（Ｓ２２０）と、
を実行させることを特徴とする請求項４に記載のＥＣＵノードの記憶情報書換方法。
【請求項６】
前記スレーブ側ブートプログラム及び前記スレーブ側ルーティンプログラムのうち何れか一方のプログラムが前記スレーブＥＣＵにて起動され、前記第２の通信ラインを介して前記スレーブ側書換プログラムが受信される第６の処理（Ｓ６０１〜Ｓ６０４）と、
前記スレーブ側ブートプログラム及び前記スレーブ側ルーティンプログラムのうち前記第６の処理で起動されたプログラムを残した状態で、前記スレーブ側不揮発性記憶領域に格納されたプログラムが消去される第７処理（Ｓ６０６〜Ｓ６０８）と、
前記第７の処理で消去されたプログラムに相当する新たなプログラムが前記第２の通信ラインを介して前記スレーブ側不揮発性記憶領域に記録される第８の処理（Ｓ６１１）と、
前記スレーブ側不揮発性記憶領域に格納されたプログラムのうち前記第７の処理で消去されなかったプログラムが消去される第９の処理（Ｓ６１７）と、
前記第９の処理で消去されたプログラムに相当する新たなプログラムが前記スレーブ側不揮発性記憶領域に記録される第１０の処理（Ｓ６２０）と、
を実行させることを特徴とする請求項４又は請求項５に記載のＥＣＵノードの記憶情報書換方法。
【請求項７】
揮発性記憶装置及び不揮発性記憶装置を具備する複数のＥＣＵから成り、前記ＥＣＵのうち第１の通信ラインに接続されたマスターＥＣＵと、第２の通信ラインを介して前記マスターＥＣＵに接続され且つ前記ＥＣＵのうち前記マスターＥＣＵを除く少なくとも１つのスレーブＥＣＵとから成るＥＣＵノードにおいて、
前記マスターＥＣＵの揮発性記憶装置に設けられたマスター側揮発性記憶領域は、マスター側不揮発性記憶領域を書換えるマスター側書換プログラムが格納され、
前記マスターＥＣＵの不揮発性記憶装置に設けられた書換可能なマスター側不揮発性記憶領域は、前記マスター側書換プログラムの受信処理を実行させるマスター側ブートプログラムと、前記マスター側書換プログラムの受信処理を実行させ又は当該受信処理が実行されない際に前記マスターＥＣＵのルーティン処理を実行させるマスター側ルーティンプログラムと、前記スレーブ側不揮発性記憶領域を書換える際に起動されるスレーブ側書換プログラムと、前記スレーブ側書換プログラムの受信処理を実行させるスレーブ側ブートプログラムと、前記スレーブ側書換プログラムの受信処理を実行させ又は当該受信処理が実行されない際に前記スレーブＥＣＵのルーティン処理を実行させるスレーブ側ルーティンプログラムと、前記スレーブ側ブートプログラム及び前記スレーブ側書換プログラム及び前記スレーブ側ルーティンプログラムを前記第２の通信ラインを介して前記スレーブＥＣＵへ転送させる転送用プログラムとが格納され、
前記スレーブＥＣＵの揮発性記憶装置に設けられたスレーブ側揮発性記憶領域は、前記マスター側不揮発性記憶領域から転送された前記スレーブ側書換プログラムが格納され、
前記スレーブＥＣＵの不揮発性記憶装置に設けられた書換可能なスレーブ側不揮発性記憶領域は、各々が前記マスター側不揮発性記憶領域から転送された前記スレーブ側ブートプログラム及び前記スレーブ側ルーティンプログラムが格納されていることを特徴とするＥＣＵノード。
【請求項８】
前記スレーブ側ルーティンプログラムは、前記スレーブ側不揮発性憶領域の異常を検知した場合又は前記マスターＥＣＵからスレーブ側書換指令を受信した場合に、前記スレーブ側書換プログラムの受信処理を実行させ、前記スレーブ側不揮発性記憶領域の異常を検知しない場合であって且つ前記マスターＥＣＵからスレーブ側書換指令を受信しない場合に、前記スレーブＥＣＵのルーティン処理を実行させることを特徴とする請求項７に記載のＥＣＵノード。
【請求項９】
前記マスター側ブートプログラム及び前記マスター側ルーティンプログラムのうち何れか一方のプログラムが前記マスターＥＣＵにて起動され、前記マスター側書換プログラムが前記第１の通信ラインを介して前記マスター側揮発性記憶領域へ記録される第１の処理（Ｓ２０１〜Ｓ２０４）と、
前記マスター側書換プログラムが前記マスターＥＣＵにて起動され、前記マスター側ブートプログラム及び前記マスター側ルーティンプログラムのうち前記第１の処理で起動されたプログラムを残した状態で、前記マスター側不揮発性記憶領域に格納されたプログラムが消去される第２の処理（Ｓ２０６〜Ｓ２０８）と、
前記第２の処理で消去されたプログラムに相当する新たなプログラムが前記第１の通信ラインを介して前記マスター側不揮発性記憶領域に記録される第３の処理（Ｓ２１１）と、
前記マスター側不揮発性記憶領域に格納されたプログラムのうち前記第２の処理で消去されなかったプログラムが消去される第４の処理（Ｓ２１７）と、
前記第４の処理で消去されたプログラムに相当する新たなプログラムが前記マスター側不揮発性記憶領域に記録される第５の処理（Ｓ２２０）と、
を実行させることを特徴とする請求項７又は請求項８に記載のＥＣＵノードの記憶情報書換方法。
【請求項１０】
前記スレーブ側ブートプログラム及び前記スレーブ側ルーティンプログラムのうち何れか一方のプログラムが前記スレーブＥＣＵにて起動され、前記スレーブ側書換プログラムが前記第２の通信ラインを介して前記スレーブ側揮発性記憶領域へ記録される第６の処理（Ｓ６０１〜Ｓ６０４）と、
前記スレーブ側書換プログラムが前記スレーブＥＣＵにて起動され、前記スレーブ側ブートプログラム及び前記スレーブ側ルーティンプログラムのうち前記第６の処理で起動されたプログラムを残した状態で、前記スレーブ側不揮発性記憶領域に格納されたプログラムが消去される第７処理（Ｓ６０６〜Ｓ６０８）と、
前記第７の処理で消去されたプログラムに相当する新たなプログラムが前記第２の通信ラインを介して前記マスター側不揮発性記憶領域に記録される第８の処理（Ｓ６１１）と、
前記スレーブ側不揮発性記憶領域に格納されたプログラムのうち前記第７の処理で消去されなかったプログラムが消去される第９の処理（Ｓ６１７）と、
前記第９の処理で消去されたプログラムに相当する新たなプログラムが前記スレーブ側不揮発性記憶領域に記録される第１０の処理（Ｓ６２０）と、
を実行させることを特徴とする請求項７乃至請求項９に記載のＥＣＵノードの記憶情報書換方法。
【請求項１１】
前記第６の処理は、更に、
前記スレーブ側記憶領域の異常を検知した場合に前記スレーブ側書換プログラムの受信処理に移行させ、前記スレーブ側記憶領域の異常を検知しない場合に前記スレーブＥＣＵのルーティン処理に移行させる第１のモード選択処理（Ｓ３０１）と、
前記第１のモード選択処理で前記スレーブＥＣＵのルーティン処理に移行された後、前記マスターＥＣＵからスレーブ書換指令を受信した際に、前記スレーブ側書換プログラムの受信処理に移行させる第２のモード選択処理（Ｓ３０３）と、
を実行させることを特徴とする請求項８又は請求項１０に記載のＥＣＵノードの記憶情報書換方法。
【請求項１２】
前記マスター側ブートプログラム及び前記マスター側ルーティンプログラムのうち何れか一方のプログラムが前記マスターＥＣＵにて起動され、前記マスター側書換プログラムが前記第１の通信ラインを介して前記マスター側揮発性記憶領域へ記録される第１の処理（Ｓ２０１〜Ｓ２０４）と、
前記第１の処理が実行された後、前記マスター側不揮発性記憶領域のプログラムを消去させる消去処理、又は、前記マスター側不揮発性記憶領域にプログラムを記録させる記録処理、又は、前記マスター側不揮発性記憶領域のプログラムの照合を実施させるベリファイ処理、のうち少なくとも何れか一つの処理を実行させる第２の処理と、
から成ることを特徴とする請求項７又は請求項８に記載のＥＣＵノードの記憶情報書換方法。
【請求項１３】
前記スレーブ側ブートプログラム及び前記スレーブ側ルーティンプログラムのうち何れか一方のプログラムが前記スレーブＥＣＵにて起動され、前記スレーブ側書換プログラムが前記第２の通信ラインを介して前記スレーブ側揮発性記憶領域へ記録される第１の処理（Ｓ６０１〜Ｓ６０４）と、
前記第１の処理が実行された後、前記スレーブ側不揮発性記憶領域のプログラムを消去させる消去処理、又は、前記スレーブ側不揮発性記憶領域にプログラムを記録させる記録処理、又は、前記スレーブ側不揮発性記憶領域のプログラムの照合を実施させるベリファイ処理、のうち少なくとも何れか一つの処理を実行させる第２の処理と、
から成ることを特徴とする請求項７又は請求項８又は請求項１２に記載のＥＣＵノードの記憶情報書換方法。
【請求項１４】
前記転送用プログラムは、複数接続された前記スレーブＥＣＵのうち前記不揮発性記憶領域の書換処理が必要なスレーブＥＣＵを指定するＩＤ情報を送信させることを特徴とする請求項７又は請求項１３に記載のＥＣＵノード。
【請求項１５】
前記スレーブ側書換プログラムは、前記ＩＤ情報の指定するスレーブＥＣＵのみによって受信され、当該スレーブＥＣＵに設けられたスレーブ側揮発性記憶領域に格納されることを特徴とする請求項１４に記載のＥＣＵノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＥＣＵノード及び当該ＥＣＵノードの記憶情報書換方法に関し、特に、マスターＥＣＵ及びスレーブＥＣＵに設けられた各記憶領域を書換える際に用いて好適なものである。
【背景技術】
【０００２】
近年、自動車を構成する各種装置は、当該装置を駆動制御させるＥＣＵ（Electric Control Unit）が各々設けられるようになり、これらのＥＣＵが車載ＬＡＮへ接続されることで、各装置の情報を互いに共有している。かかる如く、車載ＬＡＮが構築された自動車では、機構的な制御に頼っていた近代の自動車技術と異なり、電気信号の通信を利用することによって、種々の情報に基づき各装置の制御を実現させている。
【０００３】
かかる情報通信には、車載用ＬＡＮ規格としてデファクト・スタンダードとされたＣＡＮ（Controller Area Network）が挙げられる。また、この他の車載用ＬＡＮ規格として、ＬＩＮ（Local Interconnect Network）、ＦｌｅｘＲａｙ、ＭＯＳＴ等が提案されている。また、航空機又は船舶等の技術分野に至っても、種々のＬＡＮ規格が提案されている。
【０００４】
ここで、自動車等に設けられたＥＣＵは、製造時において、当該ＥＣＵの記憶装置へプログラムを記録させる作業が必要となる。また、使用環境に応じてプログラムの書換作業を再度設ける場面も考えられる。更に、ＥＣＵのプログラムが旧式のものとなってしまった場合又は当該プログラムが機能しなくなった場合には、ディーラ又は修理工場において、プログラムの書換作業が行われる。このような場合には、特開２００１−２６３１５６号公報（特許文献１）で紹介されるようなプログラム書換装置を車載ＬＡＮに接続し、かかるプログラム書換装置を操作することで、車載ＬＡＮに接続された各ＥＣＵ（以下、ＥＣＵノードと呼ぶ）の記憶装置をリプログラミングさせる。
【０００５】
また、特開２００７−０９２６２１号公報（特許文献２）では、複数のマイコン（特許請求の範囲におけるＥＣＵ）によって構成された電子制御装置（特許請求の範囲におけるＥＣＵノード）のプログラムを書換える技術が紹介されている。具体的に説明すると、電子制御装置は、通信ＬＡＮに接続されたメインマイコン（特許請求の範囲におけるマスターＥＣＵ）と当該メインマイコンに接続されたサブマイコン（特許請求の範囲におけるスレーブＥＣＵ）とから構成され、それぞれのマイコンにはメモリ部（特許請求の範囲における記憶装置）が設けられている。そして、電子制御装置ではプログラム書換装置を用いて通信ＬＡＮから種々のプログラムを受信し、これにより、メインマイコンでは、メインマイコンの制御プログラム（特許請求の範囲におけるマスター側ルーティンプログラム）とサブマイコンの制御プログラム（特許請求の範囲におけるスレーブ側ルーティンプログラム）とが一括受信され、これらのプログラムがメインマイコンのメモリ部に格納される。このとき、メインマイコンとサブマイコンとの間では、サブマイコンで用いられる制御プログラムのバージョンを一致させる処理が行われ、これにより、サブマイコンでは、メインマイコンに格納されたサブマイコン用の制御プログラムが受信され、サブマイコンのメモリ部には、当該サブマイコン用の制御プログラムが格納される。よって、かかる構成を具備する電子制御装置では、プログラム書換装置を各々のサブマイコンに接続させる煩雑な作業が省略されるため、プログラム書換作業の容易化が図られる。
【０００６】
【特許文献１】特開２００１−２６３１５６号公報
【特許文献２】特開２００７−０９２６２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
通常、記憶装置に設けられたメモリ回路の記憶領域を書換える場合、プログラム書換装置の処理手順に従い、ＥＣＵノードにおける記憶領域のイレース処理が最初に行われる。また、プログラム書換装置から新たなプログラムを受信するためには、マスターＥＣＵの記憶装置に格納されたマスター側書換プログラムを起動させ、当該プログラムの処理によってプログラム書換装置から新たなプログラムを受信し、かかる如く受信したプログラムをマスターＥＣＵの所望の記憶領域に格納させる。このとき、マスター側書換プログラムによって受信した新たなプログラムは、電源が切られても消去されないように不揮発性の記憶領域に記録される。ここで、マスター側書換プログラムがプログラム書換装置から受信されマスターＥＣＵの不揮発性記憶領域に格納された後、プログラム書換時に当該プログラムが起動されることとすると、不揮発性記憶領域のうちマスター側書換プログラムに相当する記憶領域を除く他の記憶領域が書換えられるものの、起動中のマスター側書換プログラムを書換えることができなくなる。かかる場合、プログラム書換装置の処理方式に変更が加えられていると、旧方式に準拠したマスター側書換プログラムでは、プログラム書換装置から新たなプログラムを受信することができなくなるとの問題が生じる。また、これらの受信されるプログラム構成の変更によっても、マスターＥＣＵにおいて当該プログラムの受信が正確に行われなくなる惧れもある。
【０００８】
尚、上述と同様の理由で、スレーブＥＣＵにおけるプログラムの書換処理にも問題が発生する。即ち、スレーブ側書換プログラムがスレーブＥＣＵの不揮発性記憶領域に格納された後、当該プログラムが起動されることとすると、不揮発性記憶領域のうちスレーブ側書換プログラムに相当する記憶領域を除く他の記憶領域が書換えられるものの、起動中のスレーブ側書換プログラムを書換えることができなくなる。かかる場合、マスターＥＣＵに格納されたプログラムが更新されていると、旧方式に準拠したスレーブ側書換プログラムでは、マスターＥＣＵからスレーブ側ルーティンプログラムを受信することができなくなるとの問題が生じる。また、これらの受信されるプログラム構成の変更によっても、上述と同様の問題が発生する。
【０００９】
また、他の手段として、マスターＥＣＵの不揮発性記憶領域にブートプログラムを格納させ、当該ブートプログラムを起動させることにより、プログラム書換装置からマスター側書換プログラムを受信し、かかるマスター側書換プログラムをマスターＥＣＵの揮発性記憶領域に格納させることも考えられる。ここで、揮発性記憶領域のマスター側書換プログラムを起動させてプログラム書換装置から新たなプログラムを受信することとすると、特許文献２の技術を用いる場合にあっては、マスターＥＣＵでは新たなプログラムの全てを一括受信させる処理が実行されるため、マスターＥＣＵでは不揮発性記憶領域に格納された種々のプログラムを同時に消去させる必要が有る。一方、マスターＥＣＵのブートプログラムにあっては、先に述べたようにプログラム書換装置との通信処理を実行させるプログラムであるので、適宜アップトゥデイトされるのが好ましい。このとき、かかるブートプログラムも他の制御プログラムと併せて更新処理できるように、マスターＥＣＵの不揮発性記憶領域における全ての記憶領域を一度に消去させることとすると、不足の事態によってＥＣＵノードへの供給電源が中断された場合、当該不揮発性記憶領域が消去処理中であれば、マスターＥＣＵを動作させる一切のプログラムが消失してしまう。つまり、マスターＥＣＵにはプログラム書換装置からプログラムを受信する手段が無くなるので、以後、マスターＥＣＵの記憶領域にプログラムを書き込む処理ができなくなるとの問題が生じる。即ち、プログラムを具備する状態とされたマスターＥＣＵを手動で交換しなければＥＣＵノードが機能できなくなる。
【００１０】
尚、上述と同様の理由で、スレーブＥＣＵにおけるプログラムの書換処理にも問題が発生する。即ち、スレーブＥＣＵ用のブートプログラム及びスレーブ側の制御プログラムの双方を一度に更新処理できるように、スレーブＥＣＵの不揮発性記憶領域における全ての記憶領域を一括的に消去させることとすると、不足の事態によってＥＣＵノードへの供給電源が中断された場合にはスレーブＥＣＵへの供給電源も途絶えるので、スレーブＥＣＵの不揮発性記憶領域が消去処理中であれば、スレーブＥＣＵを動作させる一切のプログラムが消失してしまう。従って、スレーブＥＣＵにはマスターＥＣＵからプログラムを受信する手段が無くなるので、以後、スレーブＥＣＵの記憶領域にプログラムを書き込む処理ができなくなるとの問題が生じる。
【００１１】
本発明は上記課題に鑑み、各記憶領域における全てのプログラムが書換可能なＥＣＵノード及びＥＣＵノードの記憶情報書換方法の提供を第１の目的とする。また、記憶領域の書換処理が途中で中断されても事後的に当該記憶領域の書換処理が確実に実施され得るＥＣＵノード及びＥＣＵノードの記憶情報書換方法の提供を第２の目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明では次のようなＥＣＵノードの構成とする。即ち、不揮発性記憶装置を少なくとも備える複数のＥＣＵから成り、前記ＥＣＵのうち第１の通信ラインに接続されたマスターＥＣＵと、第２の通信ラインを介して前記マスターＥＣＵに接続され且つ前記ＥＣＵのうち前記マスターＥＣＵを除く少なくとも１つのスレーブＥＣＵとから成るＥＣＵノードにおいて、前記マスターＥＣＵの不揮発性記憶装置に設けられた書換可能なマスター側不揮発性記憶領域は、当該マスター側不揮発性記憶領域を書換える際に起動されるマスター側書換プログラムの受信処理を実行させる複数のマスター側ブートプログラムが格納され、前記スレーブＥＣＵの不揮発性記憶装置に設けられたスレーブ側不揮発性記憶領域は、当該スレーブ側不揮発性記憶領域を書換える際に起動されるスレーブ側書換プログラムの受信処理を実行させる複数のスレーブ側ブートプログラムが格納されている。
【００１３】
かかる発明の記憶情報書換方法は次のような構成とする。即ち、前記マスター側ブートプログラムのうち何れか１つのマスター側ブートプログラムが前記マスターＥＣＵにて起動され、前記第１の通信ラインを介して前記マスター側書換プログラムが受信される第１の処理と、前記マスター側書換プログラムが起動され、前記マスター側ブートプログラムのうち少なくとも一つのマスター側ブートプログラムを残した状態で前記マスター側不揮発性記憶領域に格納されたプログラムを消去させる第２の処理と、前記マスター側不揮発性記憶領域に前記第１の通信ラインを介して新たなマスター側ブートプログラムを含む新たなプログラムが記録される第３の処理と、前記マスター側不揮発性記憶領域に格納されたプログラムのうち前記第２の処理で消去されなかったプログラムが消去される第４の処理と、前記マスター側不揮発性記憶領域に前記第４の処理で消去されたプログラムに相当する新たなプログラムが記録される第５の処理とを実行させる。
【００１４】
かかる記憶情報書換方法では更に次のような構成を追加させるのが好ましい。即ち、前記スレーブ側ブートプログラムのうち何れか１つのスレーブ側ブートプログラムが前記スレーブＥＣＵにて起動され、前記第２の通信ラインを介して前記スレーブ側書換プログラムが受信される第６の処理と、前記スレーブ側書換プログラムが起動され、前記スレーブ側ブートプログラムのうち少なくとも一つのスレーブ側ブートプログラムを残した状態で前記スレーブ側不揮発性記憶領域に格納されたプログラムを消去させる第７の処理と、前記スレーブ側不揮発性記憶領域に前記第２の通信ラインを介して新たなスレーブ側ブートプログラムを含む新たなプログラムが記録される第８の処理と、前記スレーブ側不揮発性記憶領域に記録されたプログラムのうち前記第７の処理で消去されなかったプログラムが消去される第９の処理と、前記スレーブ側不揮発性記憶領域に前記第９の処理で消去されたプログラムに相当する新たなプログラムが記録される第１０の処理とを実行させる。
【００１５】
また、本発明では次のようなＥＣＵノードの構成としても良い。即ち、不揮発性記憶装置を少なくとも備える複数のＥＣＵから成り、前記ＥＣＵのうち第１の通信ラインに接続されたマスターＥＣＵと、第２の通信ラインを介して前記マスターＥＣＵに接続され且つ前記ＥＣＵのうち前記マスターＥＣＵを除く少なくとも１つのスレーブＥＣＵとから成るＥＣＵノードにおいて、前記マスターＥＣＵの不揮発性記憶装置に設けられた書換可能なマスター側不揮発性記憶領域は、当該マスター側不揮発性記憶領域を書換える際に起動されるマスター側書換プログラムの受信処理を実行させるマスター側ブートプログラムと、前記マスター側書換プログラムの受信処理を実行させ又は当該受信処理が実行されない際に前記マスターＥＣＵのルーティン処理を実行させるマスター側ルーティンプログラムと、前記スレーブ側不揮発性記憶領域を書換える際に起動されるスレーブ側書換プログラムの受信処理を実行させるスレーブ側ブートプログラムと、前記スレーブ側書換プログラムの受信処理を実行させ又は当該受信処理が実行されない際に前記スレーブＥＣＵのルーティン処理を実行させるスレーブ側ルーティンプログラムとが格納され、前記スレーブＥＣＵの不揮発性記憶装置に設けられた書換可能なスレーブ側不揮発性記憶領域は、各々が前記マスター側不揮発性記憶領域から転送された前記スレーブ側ブートプログラム及び前記スレーブ側ルーティンプログラムが格納されている。
【００１６】
かかる発明の記憶情報書換方法は次のような構成とする。即ち、前記マスター側ブートプログラム及び前記マスター側ルーティンプログラムのうち何れか一方のプログラムが前記マスターＥＣＵにて起動され、前記第１の通信ラインを介して前記マスター側書換プログラムが受信される第１の処理と、前記マスター側ブートプログラム及び前記マスター側ルーティンプログラムのうち前記第１の処理で起動されたプログラムを残した状態で、前記マスター側不揮発性記憶領域に格納されたプログラムが消去される第２の処理と、前記第２の処理で消去されたプログラムに相当する新たなプログラムが前記第１の通信ラインを介して前記マスター側不揮発性記憶領域に記録される第３の処理と、前記マスター側不揮発性記憶領域に格納されたプログラムのうち前記第２の処理で消去されなかったプログラムが消去される第４の処理と、前記第４の処理で消去されたプログラムに相当する新たなプログラムが前記マスター側不揮発性記憶領域に記録される第５の処理とを実行させる。
【００１７】
かかる記憶情報書換方法では更に次のような構成を追加させるのが好ましい。即ち、前記スレーブ側ブートプログラム及び前記スレーブ側ルーティンプログラムのうち何れか一方のプログラムが前記スレーブＥＣＵにて起動され、前記第２の通信ラインを介して前記スレーブ側書換プログラムが受信される第６の処理と、前記スレーブ側ブートプログラム及び前記スレーブ側ルーティンプログラムのうち前記第６の処理で起動されたプログラムを残した状態で、前記スレーブ側不揮発性記憶領域に格納されたプログラムが消去される第７処理と、前記第７の処理で消去されたプログラムに相当する新たなプログラムが前記第２の通信ラインを介して前記スレーブ側不揮発性記憶領域に記録される第８の処理と、前記スレーブ側不揮発性記憶領域に格納されたプログラムのうち前記第７の処理で消去されなかったプログラムが消去される第９の処理と、前記第９の処理で消去されたプログラムに相当する新たなプログラムが前記スレーブ側不揮発性記憶領域に記録される第１０の処理とを実行させる。
【００１８】
更に、本発明では次のようなＥＣＵノードの構成としても良い。即ち、揮発性記憶装置及び不揮発性記憶装置を具備する複数のＥＣＵから成り、前記ＥＣＵのうち第１の通信ラインに接続されたマスターＥＣＵと、第２の通信ラインを介して前記マスターＥＣＵに接続され且つ前記ＥＣＵのうち前記マスターＥＣＵを除く少なくとも１つのスレーブＥＣＵとから成るＥＣＵノードにおいて、前記マスターＥＣＵの揮発性記憶装置に設けられたマスター側揮発性記憶領域は、マスター側不揮発性記憶領域を書換えるマスター側書換プログラムが格納され、前記マスターＥＣＵの不揮発性記憶装置に設けられた書換可能なマスター側不揮発性記憶領域は、前記マスター側書換プログラムの受信処理を実行させるマスター側ブートプログラムと、前記マスター側書換プログラムの受信処理を実行させ又は当該受信処理が実行されない際に前記マスターＥＣＵのルーティン処理を実行させるマスター側ルーティンプログラムと、前記スレーブ側不揮発性記憶領域を書換える際に起動されるスレーブ側書換プログラムと、前記スレーブ側書換プログラムの受信処理を実行させるスレーブ側ブートプログラムと、前記スレーブ側書換プログラムの受信処理を実行させ又は当該受信処理が実行されない際に前記スレーブＥＣＵのルーティン処理を実行させるスレーブ側ルーティンプログラムと、前記スレーブ側ブートプログラム及び前記スレーブ側書換プログラム及び前記スレーブ側ルーティンプログラムを前記第２の通信ラインを介して前記スレーブＥＣＵへ転送させる転送用プログラムとが格納され、前記スレーブＥＣＵの揮発性記憶装置に設けられたスレーブ側揮発性記憶領域は、前記マスター側不揮発性記憶領域から転送された前記スレーブ側書換プログラムが格納され、前記スレーブＥＣＵの不揮発性記憶装置に設けられた書換可能なスレーブ側不揮発性記憶領域は、各々が前記マスター側不揮発性記憶領域から転送された前記スレーブ側ブートプログラム及び前記スレーブ側ルーティンプログラムが格納されている。
【００１９】
かかる発明では更に次のような構成を追加させるのが好ましい。即ち、前記スレーブ側ルーティンプログラムは、前記スレーブ側不揮発性憶領域の異常を検知した場合又は前記マスターＥＣＵからスレーブ側書換指令を受信した場合に、前記スレーブ側書換プログラムの受信処理を実行させ、前記スレーブ側不揮発性記憶領域の異常を検知しない場合であって且つ前記マスターＥＣＵからスレーブ側書換指令を受信しない場合に、前記スレーブＥＣＵのルーティン処理を実行させる。
【００２０】
かかる発明の記憶情報書換方法は次のような構成とする。即ち、前記マスター側ブートプログラム及び前記マスター側ルーティンプログラムのうち何れか一方のプログラムが前記マスターＥＣＵにて起動され、前記マスター側書換プログラムが前記第１の通信ラインを介して前記マスター側揮発性記憶領域へ記録される第１の処理と、前記マスター側書換プログラムが前記マスターＥＣＵにて起動され、前記マスター側ブートプログラム及び前記マスター側ルーティンプログラムのうち前記第１の処理で起動されたプログラムを残した状態で、前記マスター側不揮発性記憶領域に格納されたプログラムが消去される第２の処理と、前記第２の処理で消去されたプログラムに相当する新たなプログラムが前記第１の通信ラインを介して前記マスター側不揮発性記憶領域に記録される第３の処理と、前記マスター側不揮発性記憶領域に格納されたプログラムのうち前記第２の処理で消去されなかったプログラムが消去される第４の処理と、前記第４の処理で消去されたプログラムに相当する新たなプログラムが前記マスター側不揮発性記憶領域に記録される第５の処理とを実行させる。
【００２１】
かかる記憶情報書換方法では更に次のような構成を追加させるのが好ましい。即ち、前記スレーブ側ブートプログラム及び前記スレーブ側ルーティンプログラムのうち何れか一方のプログラムが前記スレーブＥＣＵにて起動され、前記スレーブ側書換プログラムが前記第２の通信ラインを介して前記スレーブ側揮発性記憶領域へ記録される第６の処理と、前記スレーブ側書換プログラムが前記スレーブＥＣＵにて起動され、前記スレーブ側ブートプログラム及び前記スレーブ側ルーティンプログラムのうち前記第６の処理で起動されたプログラムを残した状態で、前記スレーブ側不揮発性記憶領域に格納されたプログラムが消去される第７処理と、前記第７の処理で消去されたプログラムに相当する新たなプログラムが前記第２の通信ラインを介して前記マスター側不揮発性記憶領域に記録される第８の処理と、前記スレーブ側不揮発性記憶領域に格納されたプログラムのうち前記第７の処理で消去されなかったプログラムが消去される第９の処理と、前記第９の処理で消去されたプログラムに相当する新たなプログラムが前記スレーブ側不揮発性記憶領域に記録される第１０の処理とを実行させる。
【００２２】
かかる記憶情報書換方法では更に次のような構成を追加させるのが好ましい。即ち、前記第６の処理は、更に、前記スレーブ側記憶領域の異常を検知した場合に前記スレーブ側書換プログラムの受信処理に移行させ、前記スレーブ側記憶領域の異常を検知しない場合に前記スレーブＥＣＵのルーティン処理に移行させる第１のモード選択処理と、前記第１のモード選択処理で前記スレーブＥＣＵのルーティン処理に移行された後、前記マスターＥＣＵからスレーブ書換指令を受信した際に、前記スレーブ側書換プログラムの受信処理に移行させる第２のモード選択処理とを実行させる。
【００２３】
かかる記憶情報書換方法では更に次のような構成を追加させるのが好ましい。即ち、前記マスター側ブートプログラム及び前記マスター側ルーティンプログラムのうち何れか一方のプログラムが前記マスターＥＣＵにて起動され、前記マスター側書換プログラムが前記第１の通信ラインを介して前記マスター側揮発性記憶領域へ記録される第１の処理と、前記第１の処理が実行された後、前記マスター側不揮発性記憶領域のプログラムを消去させる消去処理、又は、前記マスター側不揮発性記憶領域にプログラムを記録させる記録処理、又は、前記マスター側不揮発性記憶領域のプログラムの照合を実施させるベリファイ処理、のうち少なくとも何れか一つの処理を実行させる第２の処理とから成る。
【００２４】
かかる記憶情報書換方法では更に次のような構成を追加させるのが好ましい。即ち、前記スレーブ側ブートプログラム及び前記スレーブ側ルーティンプログラムのうち何れか一方のプログラムが前記スレーブＥＣＵにて起動され、前記スレーブ側書換プログラムが前記第２の通信ラインを介して前記スレーブ側揮発性記憶領域へ記録される第１の処理と、前記第１の処理が実行された後、前記スレーブ側不揮発性記憶領域のプログラムを消去させる消去処理、又は、前記スレーブ側不揮発性記憶領域にプログラムを記録させる記録処理、又は、前記スレーブ側不揮発性記憶領域のプログラムの照合を実施させるベリファイ処理、のうち少なくとも何れか一つの処理を実行させる第２の処理とから成る。
【００２５】
かかる発明では更に次のような構成を追加させたＥＣＵノードとするのが好ましい。即ち、前記転送用プログラムは、複数接続された前記スレーブＥＣＵのうち前記不揮発性記憶領域の書換処理が必要なスレーブＥＣＵを指定するＩＤ情報を送信させる。
【００２６】
かかる発明では更に次のような構成を追加させたＥＣＵノードとするのが好ましい。即ち、前記スレーブ側書換プログラムは、前記ＩＤ情報の指定するスレーブＥＣＵのみによって受信され、当該スレーブＥＣＵに設けられたスレーブ側揮発性記憶領域に格納される。
【発明の効果】
【００２７】
本発明に係るＥＣＵノードでは、マスター側書換プログラムがマスターＥＣＵの揮発性記憶領域へ格納されるので、マスターＥＣＵの不揮発性記憶領域における全ての記憶領域の書換処理が可能とされる。また、同様に、スレーブ側書換プログラムがスレーブＥＣＵの揮発性記憶領域へ格納されるので、スレーブＥＣＵの不揮発性記憶領域における全ての記憶領域の書換処理が可能とされる。
【００２８】
また、本発明に係るＥＣＵノード又はＥＣＵノードの記憶情報書換処理では、マスターＥＣＵにおける不揮発性記憶領域の書換処理が不足の事態によって中断した場合であっても、マスター側ルーティンプログラム又はマスター側ブートプログラムのうち何れか一方のプログラムを残す書換処理が実行されるので、プログラム書換装置とマスターＥＣＵとの通信手段が確保され、マスターＥＣＵの不揮発性記憶領域では、記憶領域が改めて正規に書換えられることとなる。また、スレーブ側ルーティンプログラム又はスレーブ側ブートプログラムのうち何れか一方のプログラムを残す書換処理が実行されことにより、マスターＥＣＵとスレーブＥＣＵとの通信手段が確保され、スレーブＥＣＵの不揮発性記憶領域では、記憶領域が改めて正規に書換えられることとなる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明に係る実施の形態につき図面を参照して説明する。図１（ａ）には、本実施の形態に係る電気自動車ＥＶの電気系に関係する構成が示されている。図示の如く、電気自動車ＥＶは、複数のバッテリーユニットから成る駆動系用バッテリーＢＴと電力変換装置ＩＶとドライブモータＤＭとが配されており、かかる構成により、適宜に変換された電力がドライブモータＤＭへ供給される。また、ブレーキシステムＡＢＳと表示パネルＩＰとドア部電装システムＤｍと照明システムＡＬＳ、この他、種々の電装システムが適宜設けられている。尚、本実施の形態では、電力変換装置ＩＶ及びドライブモータＤＭを除く他の装置は、図示されない補助バッテリーによって電力が供給されるものとする。
【００３０】
図１（ｂ）に示す如く、上述した電気系の構成装置には、所定の情報に基づいて当該構成装置の動作を制御させるＥＣＵノード（Ｎｏｄｅ１〜Ｎｏｄｅ７）が設けられている。また、かかるＥＣＵノード（Ｎｏｄｅ１〜Ｎｏｄｅ７）は、検知された構成装置の動作情報を送受信できるものであって、他のＥＣＵノードの動作情報を共有できるネットワークに接続されている。具体的に説明すると、図示の如く、ＥＣＵノードＮｏｄｅ１は、駆動系用バッテリーＢＴに設けられ、バッテリーの温度情報又は電圧値情報等を検出する。また、ＥＣＵノードＮｏｄｅ２は、表示パネルＩＰに設けられ、走行速度又は走行可能距離等の操縦に必要な情報を操縦者に報知させる。これと同様に、ＥＣＵノードＮｏｄｅ３は電力変換装置ＩＶに設けられ、ＥＣＵノードＮｏｄｅ４はドライブモータＤＭに設けられ、ＥＣＵノードＮｏｄｅ５はブレーキシステムＡＢＳに設けられ、ＥＣＵノードＮｏｄｅ６はドア部電装システムＤｍに設けられ、ＥＣＵノードＮｏｄｅ７は照明システムに設けられる。これらのＥＣＵノードＮｏｄｅ３〜Ｎｏｄｅ７にあっても、対応する装置の動作情報を検知する。そして、これらのＥＣＵは、車載ネットワーク規格の一つであるＣＡＮ（Controller Area Network）に接続される。図を参照すると、ＥＣＵノードＮｏｄｅ１及びＥＣＵノードＮｏｄｅ３〜Ｎｏｄｅ５は、通信速度が５００ｋｂｐｓ程度の高速ＣＡＮ通信ラインＣＢ１に接続され、ＥＣＵノードＮｏｄｅ２及びＥＣＵノードＮｏｄｅ６及びＮｏｄｅ７は、通信速度が１２５ｋｂｐｓ程度の低速ＣＡＮ通信ラインＣＢ２に接続されている。そして、高速ＣＡＮ通信ラインＣＢ１と低速ＣＡＮ通信ラインＣＢ２とはゲートウェイＧＷを介して双方のＣＡＮ通信ラインで通信される情報の共有が可能とされている。かかる構成により、ＣＡＮによって構築されたネットワークでは、例えば、ドア部電装システムＤｍがサイドドアの半ドアを確認した場合、ＥＣＵノードＮｏｄｅ６がＣＡＮを介して半ドア情報を表示パネルＩＰに通達し、ＥＣＵノードＮｏｄｅ２がインフォメーションパネルの半ドア表示部を点灯させることにより当該半ドア情報を操縦者に報知させる。また、ＥＣＵノードＮｏｄｅ１では駆動系用バッテリーＢＴの電圧値を逐次的に検出し、これによって得られた電圧値情報がＣＡＮを介して表示パネルＩＰに通達される。その後、表示パネルＩＰでは、当該電圧情報をＥＣＵノードＮｏｄｅ２が受信し、インフォメーションパネルの走行可能距離計によって当該電圧値情報がリアルタイムで表示され、これにより、操縦者は、残りどの程度走行できるかの認識が可能となる。
【００３１】
図２には、本実施の形態に係るＥＣＵノードの構成が示されている。尚、説明の便宜上、プログラム書換装置ＰＷとセンサＳＳ１〜ＳＳｎが補足的に示されている。また、同図では、ＥＣＵノードＮｏｄｅ１が代表的に示されているが、他のＥＣＵノードにあってもその構成に変わりはない。図を参照すると、ＥＣＵノードＮｏｄｅ１は、揮発性記憶装置及び不揮発性記憶装置を具備する複数のＥＣＵから成り、これら複数のＥＣＵのうちＣＡＮ通信ラインＣＢ（特許請求の範囲における第１の通信ライン）に接続されたマスターＥＣＵ（ＭＥ）と、ＬＩＮ通信ラインＬＢ（特許請求の範囲における第２の通信ライン）を介してマスターＥＣＵ（ＭＥ）に接続され且つＥＣＵノードＮｏｄｅ１を構成するＥＣＵのうちマスターＥＣＵ（ＭＥ）を除く少なくとも１つのスレーブＥＣＵ（ＳＥ）とから成る。
【００３２】
マスターＥＣＵ（ＭＥ）は、外部通信装置Ｉ／Ｆと演算処理回路ＣＰＵと記憶装置ＭＣｍと入出力回路Ｉ／Ｏとバッファメモリ回路ＢＦＭとから構成されバスラインを介して互いに接続されている。外部通信装置Ｉ／Ｆは、インターフェイスを備えＣＡＮ通信ラインＣＢに接続される。かかる外部通信装置Ｉ／Ｆは、更に通信回路を備えＣＡＮ通信用のプロトコルに対応した情報の送受信を行う。演算処理回路ＣＰＵは、ＣＡＮ通信ラインＣＢから受信した情報及びスレーブＥＣＵ（ＳＥ）から受信した情報及び記憶装置ＭＣｍに格納された情報を取得し、これに基づいて演算処理を行う。また、これによって得られた処理結果を、ＣＡＮ通信ラインＣＢ又はスレーブＥＣＵ（ＳＥ）へ出力させ、又は、記憶装置ＭＣｍの適宜な記憶領域に格納させる。記憶装置ＭＣｍは、マスター側揮発性記憶領域ＲＡＭを具備する揮発性記憶装置Ｍｍ２と、マスター側不揮発性記憶領域ＲＯＭを具備する不揮発性記憶装置Ｍｍ１とから構成される。かかるマスター側揮発性記憶装置Ｍｍ２は、市販されるＤＲＡＭ又はＳＤＲＡＭ等が用いられ、演算処理回路ＣＰＵで算出された処理結果又はＣＡＮ通信ラインＣＢから受信した所定のプログラム等が一時的に格納される。マスター側不揮発性記憶装置Ｍｍ１は、本実施の形態ではフラッシュメモリが用いられ、当該フラッシュメモリに格納された記憶情報が瞬時に消去できるように構成されている。但し、これに限らず、ＥＰＲＯＭ又はＥＥＰＲＯＭを用いても良い。また、マスター側不揮発性記憶装置Ｍｍ１には、書換可能な記憶領域が設けられ、マスターＥＣＵ（ＭＥ）の動作に必要とされるマスター用プログラムと、スレーブＥＣＵ（ＳＥ）の動作に必要とされるスレーブ用プログラムとが格納される。ここで、マスター側不揮発性記憶装置Ｍｍ１は、書換可能な記憶領域と書換不能な記憶領域とを設定できるようにしても良い。バッファメモリ回路ＢＦＭは、揮発性のメモリ回路から構成され、通信速度の差によって処理しきれない情報を一時的に格納させる。かかるバッファメモリ回路ＢＦＭは、上述したマスター側揮発性記憶装置Ｍａ２の記憶領域を用いても良い。入出力回路Ｉ／Ｏは、ＬＩＮ通信ラインＬＢを介してスレーブＥＣＵ（ＳＥ１〜ＳＥｎ）に接続され、マスターＥＣＵ（ＭＥ）とスレーブＥＣＵ（ＳＥ１〜ｎ）との間における情報の送受信を実現させる。更に、マスターＥＣＵ（ＭＥ）は、所定のプログラムと協働して、スレーブ書換指令（２）を送信する。
【００３３】
スレーブＥＣＵ（ＳＥ）は、複数個設けられ、各々がマスターＥＣＵ（ＭＥ）に接続される。かかるスレーブＥＣＵ（ＳＥ）は、外部通信装置ｉ／ｆと演算処理回路ｃｐｕと記憶装置ＭＣｓと入出力回路ｉ／ｏとから構成され、当該スレーブＥＣＵ（ＳＥ）の内部ではバスラインを介して互いに接続されている。尚、それぞれの機能及び構成はマスターＥＣＵ（ＭＥ）に配される装置の機能及び構成と略同様とされる。但し、スレーブＥＣＵ（ＳＥ）では、外部通信回路ｉ／ｆが、ＬＩＮ通信ラインＬＢに接続され、ＬＩＮ通信用のプロトコルに対応した情報の送受信を行う。また、入出力回路ｉ／ｏが各センサ装置ＳＳ１〜ＳＳｎに接続され、スレーブＥＣＵ（ＳＥ１〜ｎ）とセンサ装置（ＳＳ１〜ＳＳｎ）との間における情報の送受信を実現させている。
【００３４】
ＬＩＮ通信ラインＬＢは、ＬＩＮ（Local Interconnect Network）通信プロトコルに基づいて情報伝達が為される。ＬＩＮ通信プロトコルは、車載用ネットワークとして近年公開された通信プロトコルであり、シリアル通信ラインが用いられるため、通信速度がＣＡＮ通信より大幅に遅く最大でも１９．２ｋｂｐｓとされる。上述の如く、ＬＩＮ通信ラインＬＢは、マスターＥＣＵ（ＭＥ）とスレーブＥＣＵ（ＳＥ）との間に配線され、双方のＥＣＵを通信可能とさせている。
【００３５】
センサ装置ＳＳ１〜ＳＳｎは、動作情報を抽出する対象装置の種類によってその機能が異なる。ドア部電装システムＤｍに設けられたＥＣＵノードＮｏｄｅ６の場合、例えば、センサ装置ＳＳ１が所定のドアロックに配置され、当該センサ装置ＳＳ１は、ドアロックの解除／非解除情報をスレーブＥＣＵ（ＳＥ１）へ送信する。また、駆動系バッテリーＢＴに設けられたＥＣＵノードＮｏｄｅ１の場合、センサ装置ＳＳ１が各々のバッテリーユニットに配置され、当該バッテリーユニットの温度情報及び電圧値情報をスレーブＥＣＵ（ＳＥ１）へ送信する。ここで、バッテリーユニットが複数のバッテリーセルから構成される場合には、一つのスレーブＥＣＵ（ＳＥ１）に対して複数のセンサ装置ＳＳを接続させ、当該複数のセンサ装置ＳＳで検知された複数の情報をスレーブＥＣＵ（ＳＥ１）にて統括的に受信できるようにしても良い。
【００３６】
また、ＣＡＮ通信ラインＣＢに設けられた車両側コネクト端子ＣＮＴ１は、助手席のダッシュケース内から引き出し可能にレイアウトされ、必要に応じてプログラム書換装置ＰＷ又はＥＣＵ制御装置ＥＲ（図示なし）等と接続される
【００３７】
プログラム書換装置ＰＷは、マスターＥＣＵ（ＭＥ）の記憶装置ＭＣｍをリプログラミングさせる際に用いられ、ＣＡＮ接続用インターフェイスＣＮＴ２及び操作キーが設けられている。当該プログラム書換装置ＰＷには、メモリ回路と演算処理回路とが内蔵され、メモリ回路には、マスターＥＣＵ（ＭＥ）へ転送させる種々のプログラムが格納されている。そして、ＣＡＮ接続用インターフェイスＣＮＴ２を車両側コネクト端子ＣＮＴ１に接続させてから、プログラム書換装置ＰＷは、所定のＫＥＹ操作が行われ、例えば、マスターＥＣＵ（ＭＥ）の応答に対して適宜なプログラムを送信させ、この他、マスターＥＣＵ（ＭＥ）に対して、マスター書換指令を送信させる。尚、当該プログラム書換装置ＰＷが行う処理については、追って詳述する。
【００３８】
図示されないＥＣＵ制御装置ＥＲは、本来の使用目的はネットワークの解析ツールとして用いられ、ＣＡＮ通信ライン又はＬＩＮ通信ライン、この他、ＭＯＳＴ、ＦｌｅｘＲａｙ等の通信システムのデータトラフィックを監視し又は解析し又はシミュレーションを実施させる等の機能を備える。かかるＥＣＵ制御装置ＥＲは、上記機能を実現させるソフトウェアが格納された汎用ＰＣと、当該ＰＣに設けられたＣＡＮ接続用インターフェイスＣＮＴ２とから構成される。上述の如く、ＥＣＵ制御装置ＥＲは、種々の通信ラインにおけるデータトラフィックを再現させる装置であるため、マスターＥＣＵ（ＭＥ）の動作を指令することが可能な装置である。従って、マスターＥＣＵ（ＭＥ）の記憶装置ＭＣｍに所定のプログラムが格納されていることを条件として、ＥＣＵ制御装置ＥＲは、マスターＥＣＵ（ＭＥ）に対してスレーブ書換指令（１）を送信し、これを受けて、マスターＥＣＵ（ＭＥ）では、スレーブＥＣＵ（ＳＥ）に対してスレーブ書換指令（２）を送信させることが可能となる。即ち、ＥＣＵ制御装置ＥＲは、ＬＩＮ通信ラインＬＢへ直接的に配線を接続させることなく、スレーブＥＣＵ（ＳＥ）に設けられた記憶装置ＭＣｓのリプログラミングを間接的に行い得る。
【００３９】
次に、図３を参照して、マスターＥＣＵ（ＭＥ）の記憶装置ＭＣｍとスレーブＥＣＵ（ＳＥ）の記憶装置ＭＣｓとに格納されるプログラムの構成について説明する。尚、各々のＥＣＵに設けられた記憶領域のうち、揮発性記憶領域ＲＡＭ及びｒａｍについては、ランダムアクセスメモリＲＡＭ又はｒａｍと呼び換えることとし、不揮発性記憶領域ＲＯＭ及びｒｏｍについては、フラッシュメモリＲＯＭ又はｒｏｍと呼び換えることとする。
【００４０】
図示の如く、マスターＥＣＵ（ＭＥ）の記憶装置ＭＣｍは、ランダムアクセスメモリＲＡＭ（特許請求の範囲における、マスターＥＣＵの揮発性記憶領域）と、フラッシュメモリＲＯＭ（特許請求の範囲における、マスターＥＣＵの不揮発性記憶領域）とから構成されている。ここで、ランダムアクセスメモリＲＡＭには、記憶領域ＡＬ４〜ＡＬ５が割当てられ、当該記憶領域ＡＬ４には、マスター側書換プログラムM_EPVproが格納され、記憶領域ＡＬ５は、演算処理回路ＣＰＵの処理結果を一時的に格納させる演算領域とされる。また、フラッシュメモリＲＯＭには、記憶領域ＡＬ０〜ＡＬ３が割当てられ、マスター側ルーティンプログラムM_RTNproと、マスター側ブートプログラムM_BOOTproと、スレーブ側書換プログラムS_EPVproと、スレーブ側ブートプログラムS_BOOTproと、スレーブ側ルーティンプログラムS_RTNproと、転送用プログラムLIN_COMproとが格納されている。一方、スレーブＥＣＵ（ＳＥ）の記憶装置ＭＣｓは、ランダムアクセスメモリｒａｍ（特許請求の範囲における、スレーブＥＣＵの揮発性記憶領域）と、フラッシュメモリｒｏｍ（特許請求の範囲における、スレーブＥＣＵの不揮発性記憶領域）とから構成される。ここで、ランダムアクセスメモリｒａｍには、記憶領域ＡＬ８〜ＡＬ９が割当てられ、記憶領域ＡＬ８には、スレーブ側書換プログラムS_EPVproが格納され、記憶領域ＡＬ９は、演算処理回路ｃｐｕの処理結果を一時的に格納させる演算領域とされる。また、フラッシュメモリｒｏｍには、記憶領域ＡＬ６〜ＡＬ７が割当てられ、スレーブ側ブートプログラムS_BOOTproと、スレーブ側ルーティンプログラムS_RTNproとが格納されている。 
【００４１】
上述した全てのプログラム（M_EPVpro、M_RTNpr、M_BOOTpro、S_EPVpro、S_RTNpro、S_BOOTpro、LIN_COMpro）は、当初、プログラム書換装置ＰＷの記憶領域に格納されており、ＣＡＮ通信ラインＣＢを介して、マスターＥＣＵ（ＭＥ）及びスレーブＥＣＵ（ＳＥ）の適宜な記憶領域ＡＬ０〜ＡＬ９に格納される。以下、これらのプログラムについて各々説明する。
【００４２】
マスター側書換プログラムM_EPVproは、マスター側ブートプログラムM_BOOTproが起動される場合、又は、マスター側ルーティンプログラムM_RTNproが起動されてからマスター側書換プログラムM_EPVproの受信処理を実行させる際に、ランダムアクセスメモリＲＡＭの記憶領域ＡＬ４に格納される。その後、当該マスター側書換プログラムM_EPVproが起動されると、マスター側不揮発性記憶領域ＡＬ０〜ＡＬ３を書換える。また、マスター側書換プログラムM_EPVproは、プログラム書換装置ＰＷとの通信処理も行う。具体的に説明すると、かかるマスター側書換プログラムM_EPVproは、マスター側不揮発性記憶領域ＡＬ０〜ＡＬ３を対象として、イレース処理（請求項９における、マスター側不揮発性記憶領域に格納されたプログラムが消去される処理）、及び、ライト処理（請求項９における、新たなプログラムがマスター側不揮発性記憶領域に記録される処理）、及び、当該ライト処理によって記録されたプログラムのチェックを行うベリファイ処理を実行させる。
【００４３】
マスター側ルーティンプログラムM_RTNproは、ＥＣＵノードが供給電源を受けた際に起動される。かかるＥＣＵノードは、電気自動車ＥＶの始動ＫＥＹを電源ＯＮとした際に供給電源を受ける構成としても良く、操縦者のドアが開いた際に供給電源を受ける構成としても良い。マスター側ルーティンプログラムM_RTNproは、マスターＥＣＵ（ＭＥ）のルーティン処理とマスター側書換プログラムM_EPVproの受信処理とを実行させる。具体的に説明すると、マスターＥＣＵ（ＭＥ）のルーティン処理は、ＣＡＮ通信ラインＣＢから受信した指令情報に基づいてスレーブＥＣＵ（ＳＥ）の動作指令を行うと共に、スレーブＥＣＵ（ＳＥ）から受信した動作情報をＣＡＮ通信ライン側へ送信させる。例えば、ドア部電装システムＤｍに設けられたＥＣＵノードＮｏｄｅ６では、電気自動車ＥＶが一定の速度に到達したことを知らせる情報をマスターＥＣＵ（ＭＥ）にて受信し、マスターＥＣＵ（ＭＥ）が当該情報をドアロックに設けられたスレーブＥＣＵ（ＳＥ）に転送させる。これによって、スレーブＥＣＵ（ＳＥ）では、ドアロックを自動的にロック状態へ切り替え、オートドアロック機能を実現させる。他の例として、駆動系用バッテリーＢＴに設けられたＥＣＵノードＮｏｄｅ１では、マスターＥＣＵ（ＭＥ）がＣＡＮ通信ラインＣＢからバッテリー情報送信指令を受信し、当該マスターＥＣＵ（ＭＥ）では、接続された各スレーブＥＣＵ（ＳＥ）に対してセンサ装置ＳＳ１〜ＳＳｎの検出値の送信を指令する。かかる指令情報を受信した各スレーブＥＣＵ（ＳＥ）では、各バッテリーセルの温度情報及び電圧値情報をマスターＥＣＵ（ＭＥ）に対して送信する。その後、マスターＥＣＵ（ＭＥ）では、これらの情報をそのまま或いは加工を施した状態でＣＡＮ通信ライン側へ送信させる。他方、マスター側ルーティンプログラムM_RTNproは、更に、マスター側書換プログラムM_EPVproの受信処理を実行させる。具体的に説明すると、マスター側ルーティンプログラムM_RTNproは、マスターＥＣＵ（ＭＥ）のルーティン処理が実行されている際にプログラム書換装置ＰＷからマスター書換指令又はスレーブ書換指令（１）を受信すると、ＥＣＵをリプログラムモードに移行させ、マスター側書換プログラムM_EPVproをランダムアクセスメモリＲＡＭに格納させる。
【００４４】
マスター側ブートプログラムM_BOOTproは、記憶領域ＡＬ０〜ＡＬ３に格納されるプログラムの異常が検出された際に起動される。かかるプログラムの異常とは、プログラム又はソフトウェアの一部又は全部の欠落を言う。例えば、記憶領域ＡＬ０〜ＡＬ３の書換処理が途中で停止した場合、及び、当該記憶領域ＡＬ０〜ＡＬ３のプログラムの一部が毀損され、かかるプログラム等に基づいて正常に機能できない場合を含む。マスター側ブートプログラムM_BOOTproは、かかる如く起動されると、マスター側書換プログラムM_EPVproの受信処理を実行させ、マスター側書換プログラムM_EPVproをランダムアクセスメモリＲＡＭに格納させる。
【００４５】
スレーブ側書換プログラムS_EPVproは、マスターＥＣＵ（ＭＥ）のフラッシュメモリＲＯＭに格納された後、スレーブＥＣＵ（ＳＥ）のランダムアクセスメモリｒａｍへ転送される。ここで言う「転送」とは、マスターＥＣＵ（ＭＥ）のフラッシュメモリＲＯＭにプログラムが残る場合、及び、当該フラッシュメモリＲＯＭにプログラムが残らない場合の双方を含む。但し、本実施の形態では前者を指す。また、スレーブ側書換プログラムS_EPVproは、マスターＥＣＵ（ＭＥ）との通信処理をも行う。具体的に説明すると、スレーブＥＣＵ（ＳＥ）にてスレーブ側ブートプログラムS_BOOTproが起動される場合、又は、スレーブ側ルーティンプログラムS_RTNproがスレーブＥＣＵ（ＳＥ）にて起動されてからスレーブ側書換プログラムS_EPVproの受信処理が実行される際に、スレーブ側書換プログラムS_EPVproがランダムアクセスメモリｒｏｍに格納される。その後、スレーブ側書換プログラムS_EPVproが起動されると、記憶領域ＡＬ６〜ＡＬ７を書換える。より具体的には、かかるスレーブ側書換プログラムS_EPVproは、記憶領域ＡＬ６〜ＡＬ７を対象として、イレース処理（請求項１０における、スレーブ側不揮発性記憶領域に格納されたプログラムが消去される処理）、及び、ライト処理（請求項１０における、新たなプログラムがスレーブ側不揮発性記憶領域に記録される処理）、及び、当該ライト処理によって記録されたプログラムのチェックを行うベリファイ処理を実行させる。
【００４６】
スレーブ側ブートプログラムS_BOOTproは、記憶領域ＡＬ６〜ＡＬ７に格納されるプログラムの異常が検出された際に起動される。かかるプログラムの異常とは、プログラム又はソフトウェアの一部又は全部の欠落を言う。そして、スレーブ側ブートプログラムS_BOOTproは、起動されると、スレーブ側書換プログラムS_EPVproの受信処理を実行させ、スレーブ側書換プログラムS_EPVproをランダムアクセスメモリｒａｍに格納させる。
【００４７】
スレーブ側ルーティンプログラムS_RTNproは、マスターＥＣＵ（ＭＥ）の起動と同時に起動され、スレーブＥＣＵ（ＳＥ）のルーティン処理とスレーブ側書換プログラムS_EPVproの受信処理とを実行させる。具体的に説明すると、スレーブＥＣＵ（ＳＥ）のルーティン処理は、接続されたセンサ装置ＳＳ１〜ＳＳｎの動作指令を行うと共に、センサ装置ＳＳ１〜ＳＳｎの応答情報をマスターＥＣＵ（ＭＥ）へ送信させる。また、スレーブ側ルーティンプログラムS_RTNproは、スレーブ側書換プログラムS_EPVproの受信処理を実行させる。具体的に説明すると、マスターＥＣＵでは、ＥＣＵ制御装置からスレーブ書換指令（１）を受信し、これに応じて、スレーブ書換指令（２）をスレーブＥＣＵ（ＳＥ）へ送信させる。かかる指令を受けて、スレーブ側ルーティンプログラムS_RTNproは、ルーティンモードからスレーブＥＣＵ（ＳＥ）のリプログラムモードへと移行され、スレーブ側書換プログラムS_EPVproをランダムアクセスメモリｒａｍに格納させる。
【００４８】
転送用プログラムLIN_COMproは、スレーブＥＣＵ（ＳＥ）の記憶領域が書換られる際に起動される。そして、転送用プログラムLIN_COMproは、スレーブ側ブートプログラムS_BOOTproと協働して、スレーブ側書換プログラムS_EPVproをスレーブＥＣＵ（ＳＥ）のランダムアクセスメモリｒａｍへ転送させる。また、転送用プログラムLIN_COMproは、スレーブ側書換プログラムS_EPVproと協働して、スレーブ側ルーティンプログラムS_RTNpro及びスレーブ側ブートプログラムS_BOOTproをスレーブＥＣＵ（ＳＥ）のフラッシュメモリｒｏｍへ転送させる。尚、これらのプログラムの転送は、ＬＩＮ通信ラインを介して行われる。更に、転送用プログラムLIN_COMproは、スレーブ書換指令（２）をスレーブＥＣＵへ送信させる処理も行う。
【００４９】
上述の如く、本実施の形態に係るＥＣＵノードでは、マスター側書換プログラムM_EPVpro がマスター側のランダムアクセスメモリＲＡＭへ格納されるので、マスター側のフラッシュメモリＲＯＭにおける全ての記憶領域の書換処理が可能とされる。また、同様に、スレーブ側書換プログラムS_EPVpro がスレーブ側のランダムアクセスメモリｒａｍへ格納されるので、スレーブ側のフラッシュメモリｒｏｍにおける全ての記憶領域の書換処理が可能とされる。
【００５０】
また、マスターＥＣＵ（ＭＥ）のフラッシュメモリＲＯＭにマスター側ルーティンプログラムM_RTNpro 及びマスター側ブートプログラムM_BOOTpro の両プログラムが格納されているので、かかる両プログラムのうち何れか一方のプログラムが毀損した場合であっても、残りのプログラムを起動させることにより、追ってマスター側書換プログラムM_EPVproが起動され、これにより、フラッシュメモリＲＯＭにおける全領域の書換処理を実行させることが可能となる。また、同様に、スレーブＥＣＵ（ＳＥ）のフラッシュメモリｒｏｍにスレーブ側ルーティンプログラムS_RTNpro 及びスレーブ側ブートプログラムS_BOOTproが格納されているので、このうち何れか一方のプログラムが毀損した場合であっても、残りのプログラムを起動させることにより、追ってスレーブ側書換プログラムS_EPVproが起動され、これにより、フラッシュメモリｒｏｍにおける全領域の書換処理を実行させることが可能となる。
【００５１】
特に、当該フラッシュメモリＲＯＭの書換処理が不足の事態によって中断した場合であっても、マスター側ルーティンプログラムM_RTNpro 又はマスター側ブートプログラムM_BOOTproのうち何れか一方のプログラムを残す書換処理が実行されるので、マスターＥＣＵ（ＭＥ）のフラッシュメモリＲＯＭでは、プログラム書換装置ＰＷとマスターＥＣＵ（ＭＥ）との通信が可能となり、記憶領域が改めて正規に書換えられることとなる。また、スレーブ側記憶領域を書き換える際に同様の事態が生じた場合、スレーブ側ルーティンプログラムS_RTNpro 又はスレーブ側ブートプログラムS_BOOTproのうち何れか一方のプログラムを残す書換処理が実行されるので、スレーブＥＣＵ（ＳＥ）のフラッシュメモリｒｏｍでは、マスターＥＣＵ（ＭＥ）とスレーブＥＣＵ（ＳＥ）との通信が可能となり、記憶領域が改めて正規に書換えられることとなる。
【実施例１】
【００５２】
以下、ＥＣＵノードの記憶情報書換方法について説明する。尚、記憶情報とは、マスターＥＣＵ（ＭＥ）又はスレーブＥＣＵ（ＳＥ）に設けられた記憶装置に格納された情報を指し、記憶情報書換方法とは、当該情報を書換えるプログラム上の処理を含むこととする。
【００５３】
先ず、図４を参照して、マスターＥＣＵ（ＭＥ）におけるマスター側ルーティンプログラムM_RTNproがルーティンモードからリプログラムモードへ移行される処理について説明する。図示の如く、電気自動車ＥＶの始動ＫＥＹが回されて始動状態とされると、ＥＣＵノードに電源が供給されて、マスター側ルーティンプログラムM_RTNproが起動される（図７ａ参照）。この時、マスターＥＣＵ（ＭＥ）のフラッシュメモリＲＯＭに格納される記憶情報が正常であるか否かが判定される（Ｓ００１）。かかる判定は、例えば、フラッシュメモリＲＯＭの記憶情報に対するチェックサム値の検出によって実施され、当該記憶情報に欠落が有るか否かが判定される。このとき、「Ｓ００１」では、記憶情報が異常であると判定された場合、マスターＥＣＵ（ＭＥ）のリプログラムモードへ移行する（Ｓ００５）。一方、「Ｓ００１」において記憶情報が正常であると判定された場合、マスターＥＣＵ（ＭＥ）におけるルーティン処理を実行させる（Ｓ００２）。その後、プログラム書換装置ＰＷからマスター書換指令を受信したか否かの判定処理が実施され（Ｓ００３）、マスター書換指令を受信しない場合にはルーティン処理がそのまま維持され（Ｓ００４）、一方、リプログラム開始指令を受信した場合にはリプログラムモードへと移行する（Ｓ００５）。
【００５４】
図５では、プログラム書換装置ＰＷとマスターＥＣＵ（ＭＥ）との処理がそれぞれ示されている。前述の如く、マスターＥＣＵ（ＭＥ）では、マスター側ルーティンプログラムM_RTNpro が起動され（Ｓ２０１）、プログラム書換装置ＰＷからマスター書換指令を受信すると（Ｓ２０２）、これに応じて、プログラム書換装置ＰＷへＡＣＫを送信させる。このとき、プログラム書換装置ＰＷでは、かかるＡＣＫを受信し（Ｓ１０２）、マスターＥＣＵ（ＭＥ）へマスター書換指令が正確に伝達されたことを認識する。その後、プログラム書換装置ＰＷからマスターＥＣＵ（ＭＥ）に対して、マスター側書換プログラムM_EPVproを送信させ、このとき、マスターＥＣＵ（ＭＥ）では、当該マスター側書換プログラムM_EPVproを受信し（Ｓ２０４）、当該プログラムをランダムアクセスメモリＲＡＭへ記録させる（図７ｂ参照）。マスターＥＣＵ（ＭＥ）は、かかる処理が終了した後、マスター側書換プログラムM_EPVpro のパケット数をカウントした受信完了信号をプログラム書換装置ＰＷへ通達する（Ｓ２０５）。そして、プログラム書換装置ＰＷでは、かかる受信完了信号を受信し（Ｓ１０４）、マスター側書換プログラムM_EPVpro が正確に記録されたか否かを判定する（Ｓ１０５）。このとき、受信完了信号が不適切である場合には、これまでの処理をマスター書換指令の送信（Ｓ１０１）から再度繰り返す。また、受信完了信号が適切である場合には、マスターＥＣＵ（ＭＥ）において、本処理によって転送されたマスター側書換プログラムM_EPVpro が起動される。尚、「Ｓ２０１」から「Ｓ２０４」迄の処理は、特許請求の範囲における第１の処理とされる。
【００５５】
マスター側書換プログラムM_EPVpro が起動された後（Ｓ２０６）、図６に示す如く、プログラム書換装置ＰＷから第１のイレース指令が送信されると（Ｓ１０６）、マスターＥＣＵ(ＭＥ)では、これを受けて、第１のイレース処理が開始される（Ｓ２０８）。かかる第１のイレース処理では、「Ｓ２０１」から「Ｓ２０４」迄の処理で起動されていたマスター側ルーティンプログラムM_RTNproを残した状態で、フラッシュメモリＲＯＭに格納された他のプログラムが消去される（図７ｃ参照）。ここで、消去されるプログラムとは、マスター側ブートプログラムM_BOOTproと、スレーブ側書換プログラムS_EPVproと、スレーブ側ブートプログラムS_BOOTproと、スレーブ側ルーティンプログラムS_RTNproと、転送用プログラムLIN_COMproとを指す。尚、「Ｓ２０６」から「Ｓ２０８」迄の処理は、特許請求の範囲における第２の処理とされる。
【００５６】
その後、第１のイレース処理が適正に終了すると、マスターＥＣＵ（ＭＥ）からプログラム書換装置ＰＷに対して第１のイレース完了情報を送信し（Ｓ２０９）、プログラム書換装置ＰＷでは、当該情報を受けて（Ｓ１０７）、第１のライト指令を送信させる（Ｓ１０８）。そして、マスターＥＣＵ（ＭＥ）では、これを受けて第１のライト処理を開始させ、「Ｓ２０６」から「Ｓ２０８」迄の処理で消去されたプログラムに相当する新たなプログラムがＣＡＮ通信ラインＣＢを介してフラッシュメモリＲＯＭに記録される（Ｓ２１１）。ここでは、図７ｄに示す如く、先の処理にて消去されたマスター側ブートプログラムM_BOOTproとスレーブ側書プログラムS_EPVproとスレーブ側ブートプログラムS_BOOTproとスレーブ側ルーティンプログラムS_RTNproと転送用プログラムLIN_COMproとが、新たなプログラムに更新される。尚、「Ｓ２１１」の処理は、特許請求の範囲における第３の処理とされる。
【００５７】
かかる後、図６に示す如く、第１のライト処理が終了すると、マスターＥＣＵ（ＭＥ）からプログラム書換装置ＰＷに対して第１のライト完了情報を送信し（Ｓ２１２）、プログラム書換装置ＰＷでは、当該情報を受けて（Ｓ１０９）、第１のベリファイ指令を送信させる（Ｓ１１０）。マスターＥＣＵ（ＭＥ）では、これによって、第１のベリファイ処理を開始させる（Ｓ２１４）。かかる処理では、チェックサム値又はフレーム数等の検出が行われる。そして、フラッシュメモリＲＯＭ内の記憶情報の照合確認が得られると、第１のベリファイ完了情報（Ｓ２１５）を送信し、プログラム書換装置ＰＷでは、これに応じて、マスターＥＣＵ（ＭＥ）に対して第２のイレース指令を送信させる（Ｓ１１２）。
【００５８】
しかる後、マスターＥＣＵ（ＭＥ）では、第２のイレース指令を受信すると（Ｓ２１６）、第２のイレース処理が開始される（Ｓ２１７）。かかる第２のイレース処理では、フラッシュメモリＲＯＭに格納されたプログラムのうち「Ｓ２０６」から「Ｓ２０８」迄の処理で消去されなかったプログラムが消去される。即ち、マスター側ルーティンプログラムM_RTNproが消去される（図７ｅ参照）。尚、「Ｓ２１７」の処理は、特許請求の範囲における第４の処理とされる。
【００５９】
更に後、第２のイレース処理が適正に終了すると、マスターＥＣＵ（ＭＥ）からプログラム書換装置ＰＷに対して第２のイレース完了情報を送信し（Ｓ２１８）、ＥＣＵ制御装置では、当該情報を受けて（Ｓ１１３）、第２のライト指令を送信させる（Ｓ１１４）。そして、マスターＥＣＵ（ＭＥ）では、これを受けて第２のライト処理を開始させ、「Ｓ２１７」の処理で消去されたプログラムに相当する新たなプログラム、即ち、新たなマスター側ルーティンプログラムM_RTNproがＣＡＮ通信ラインＣＢを介してフラッシュメモリＲＯＭに記録される（Ｓ２２０）。尚、「Ｓ２２０」の処理は、特許請求の範囲における第５の処理とされる。
【００６０】
かくして、マスターＥＣＵ（ＭＥ）では、「Ｓ２１２」から「Ｓ２１５」迄の処理と同様に、フラッシュメモリＲＯＭに新たに記録された記憶情報のベリファイ処理が実行され（Ｓ２２１〜Ｓ２２４）、その後、マスター側ルーティンプログラムM_RTNpro が終了し、待機状態へと移行する。一方、プログラム書換装置ＰＷでは、第２のベリファイ完了情報を受信し、これによって、プログラム書換装置ＰＷで動作しているプログラムが終了され、リプログラム操作を行う者の新たな操作を待つ。
【００６１】
図７では、マスターＥＣＵ（ＭＥ）のランダムアクセスメモリＲＡＭ及びフラッシュメモリＲＯＭの状態が時系列で示されている。同図では、上段にフラッシュメモリＲＯＭが示され、下段にランダムアクセスメモリＲＡＭが示されている。また、各記憶領域に付された「＃」は、プログラムが未だ更新されていない状態を現し、各記憶領域の「＄」は、プログラムが更新された状態を現す。前述の如く、マスターＥＣＵ（ＭＥ）が起動される直前は、ランダムアクセスメモリＲＡＭに格納されるプログラムは存在しなく、フラッシュメモリＲＯＭに格納されるプログラムは、全て未更新の状態とされる。その後、マスターＥＣＵ（ＭＥ）に電力が供給されると、図７（ａ）に示す如く、マスター側ルーティンプログラムM_RTNpro が優先的に起動される。そして、当該プログラムがリプログラムモードへ移行されると、図７（ｂ）に示す如く、ランダムアクセスメモリＲＡＭにマスター側書換プログラムM_EPVproが格納される。かかる後、当該マスター側書換プログラムM_EPVpro が起動され、フラッシュメモリＲＯＭには、格納されたプログラムのうちマスター側ルーティンプログラムM_RTNpro を除く全てのプログラムが消去され（図７ｃ参照）、新たなプログラムが記録される（図７ｄ参照）。更に後、書換処理が進行し、フラッシュメモリＲＯＭには、マスター側ルーティンプログラムM_RTNpro のみが消去され（図７ｅ参照）、新たなマスター側ルーティンプログラムM_RTNproが記録され（図７ｆ参照）、これにより、フラッシュメモリＲＯＭにおける全ての記憶領域が新たなプログラムに更新されることとなる。
【００６２】
かかるＥＣＵノードの記憶情報書換方法は、ＥＣＵノードに電源が供給された際、マスター側ブートプログラムM_BOOTproよりもマスター側ルーティンプログラムM_RTNpro が優先的に起動されるのが好ましい。そして、マスター側ブートプログラムM_BOOTpro は、他のプログラムに欠陥が有る場合に限って非常時対策として起動される。
【００６３】
このとき、かかるマスター側ブートプログラムM_BOOTpro が起動される場合であっても、前述同様に、フラッシュメモリＲＯＭが適正に書換られる。即ち、マスター側ルーティンプログラムM_RTNproの異常が検出されると、非常時対策としてマスター側ブートプログラムM_BOOTpro が起動され（図７ａ参照）、ランダムアクセスメモリＲＡＭにマスター側書換プログラムM_EPVpro が格納される。その後、当該マスター側書換プログラムM_EPVpro が起動され、フラッシュメモリＲＯＭのうちマスター側ブートプログラムM_BOOTproを除く他のプログラムが書き換えられる。かかる処理後、未だ更新されていないマスター側ブートプログラムM_BOOTpro が書き換えられ、これにより、フラッシュメモリＲＯＭに格納される全てのプログラムが更新される（図７ｆ参照）。
【００６４】
上述の如く、本実施例に係るＥＣＵノードの記憶情報書換方法では、マスター側ルーティンプログラムM_RTNpro 又はマスター側ブートプログラムM_BOOTproのうち正常に起動されるプログラムが残され、当該正常なプログラムに基づいて書換処理が実行される。従って、これらのうち何れか一方のプログラムが毀損されても、かかる正常なプログラムによって書換処理が実行され、マスターＥＣＵ（ＭＥ）に設けられたフラッシュメモリＲＯＭには、更新された新たなプログラムが適正に格納される。
【００６５】
特に、マスターＥＣＵ（ＭＥ）のフラッシュメモリＲＯＭの書換処理が不足の事態によって中断した場合であっても、当該フラッシュメモリＲＯＭは、ランダムアクセスメモリＲＡＭに格納されたスレーブ側書換プログラムM_EPVproを起動させることで、書換処理が再開され、記憶領域が正規に書換えられることとなる。
【実施例２】
【００６６】
マスターＥＣＵ（ＭＥ）のフラッシュメモリＲＯＭの書換作業が終了すると、リプログラム操作を行う者は、プログラム書換装置ＰＷを取り外し、当該装置の代わりにＥＣＵ制御装置ＥＲを接続させる。このとき、ＥＣＵノードでは、ＥＣＵ制御装置ＥＲからの指令を待つスタンバイ状態とされる。以下、スレーブＥＣＵ（ＳＥ）のフラッシュメモリｒｏｍが更新される工程について説明する。
【００６７】
前述の如く、ＥＣＵノードに電源が供給されているので、マスターＥＣＵ（ＭＥ）及びスレーブＥＣＵ（ＳＥ）が駆動され、マスター側ルーティンプログラムM_RTNpro及びスレーブ側ルーティンプログラムS_RTNproの双方が起動された状態とされている。その後、図８に示す如く、スレーブＥＣＵ（ＳＥ）のフラッシュメモリｒｏｍに格納された記憶情報が正常であるか否かが前述と同様の手段で判定される（Ｓ３０１）。そして、異常の場合にリプログラムモードへ移行され（Ｓ３０２）、正常の場合にルーティン処理を実行させる（Ｓ３０２）。その後、マスターＥＣＵ（ＭＥ）からスレーブ書換指令（２）を受信したか否かの判定処理が実施され（Ｓ３０３）、スレーブ書換指令（２）を受信していない場合にはルーティン処理がそのまま維持され（Ｓ３０４）、一方、スレーブ書換指令（２）を受信した場合にはリプログラムモードへと移行する（Ｓ３０５）。尚、スレーブ書換指令（１）とは、ＥＣＵ制御装置ＥＲからマスターＥＣＵ（ＭＥ）に対して送信される指令信号であって、ＣＡＮ通信ラインＣＢの間で用いられるものを指す。また、スレーブ書換指令（２）とは、マスターＥＣＵ（ＭＥ）からスレーブＥＣＵ（ＳＥ）に対して送信される指令信号であって、ＬＩＮ通信ラインＬＢの間で用いられるものを指す。尚、「Ｓ３０２」の処理は、請求項１１における第１のモード選択処理を指す。更に、「Ｓ３０３」の処理は、請求項１１における第２のモード選択処理を指す。
【００６８】
図９では、ＥＣＵ制御装置ＥＲ及びマスターＥＣＵ（ＭＥ）及びスレーブＥＣＵ（ＳＥ）の処理がそれぞれ示されている。ここでは、マスター側ルーティンプログラムM_RTNpro 及びスレーブ側ルーティンプログラムS_RTNproが起動されている状態から説明する（Ｓ５０１、Ｓ６０１）。先ず、ＥＣＵ制御装置ＥＲからスレーブ書換指令（１）が送信されると、マスターＥＣＵ（ＭＥ）では、当該スレーブ書換指令（１）を受信し、これに応じて、転送用プログラムLIN_COMproが起動され（Ｓ５０３）、スレーブ書換指令（２）をスレーブＥＣＵ（ＳＥ）に対して送信させる（Ｓ５０４）。スレーブＥＣＵ（ＳＥ）では、当該スレーブ書換指令（２）を受けて（Ｓ６０２）、ＡＳＫを返答させる（Ｓ６０３）。ＥＣＵ制御装置ＥＲでは、マスターＥＣＵ（ＭＥ）を介してＡＳＫ受信情報を受信し（Ｓ４０２）、当該ＡＳＫ受信情報が適正であるか否かの判定処理が為される（Ｓ４０３）。そして、ＥＣＵ制御装置ＥＲでは、ＡＳＫ受信情報が不適切である場合にはスレーブ書換指令（１）を再度送信させる。また、ＡＳＫ受信情報が適正である場合にはマスターＥＣＵ（ＭＥ）に対してS_EPVpro送信指令を送信させる（Ｓ４０４）。これを受けたマスターＥＣＵ（ＭＥ）では、スレーブＥＣＵ（ＳＥ）に対して、マスターＥＣＵ（ＭＥ）のフラッシュメモリに格納されたスレーブ側書換プログラムS_EPVproを送信させる（Ｓ５０８）。スレーブＥＣＵ（ＳＥ）では、ＬＩＮ通信ラインＬＢを介してスレーブ側書換プログラムS_EPVproを受信し（Ｓ６０４）、当該プログラムをスレーブＥＣＵ（ＳＥ）のランダムアクセスメモリｒａｍへ格納させる（図１１ｂ参照）。スレーブＥＣＵ（ＳＥ）は、かかる処理が終了した後、スレーブ側書換プログラムS_EPVpro のパケット数をカウントした受信完了信号をマスターＥＣＵ（ＭＥ）へ通達する（Ｓ６０５）。そして、マスターＥＣＵ（ＭＥ）では、これを受けて、スレーブ側書換プログラムS_EPVpro が正確に記録されたか否かを判定する（Ｓ５１０）。このとき、受信完了信号が不適切である場合には、これまでの処理を「Ｓ５０４」から再度繰り返す。また、受信完了信号が適切である場合には、スレーブＥＣＵ（ＳＥ）において、本処理で転送されたスレーブ側書換プログラムS_EPVpro が起動される。尚、「Ｓ６０１」から「Ｓ６０４」迄の処理は、特許請求の範囲における第６の処理とされる。
【００６９】
スレーブ側書換プログラムS_EPVpro が起動された後（Ｓ６０６）、図１０に示す如く、マスターＥＣＵ（ＭＥ）から第３のイレース指令が送信されると（Ｓ５１１）、スレーブＥＣＵ(ＳＥ)では、これを受けて、第３のイレース処理が開始される（Ｓ６０８）。かかる第３のイレース処理では、「Ｓ６０１」から「Ｓ６０４」迄の処理で起動されていたスレーブ側ルーティンプログラムS_RTNproを残した状態で、フラッシュメモリｒｏｍに格納された他のプログラムが消去される（図１１ｃ参照）。即ち、スレーブ側ブートプログラムS_BOOTproが消去される。尚、「Ｓ６０６」から「Ｓ６０８」迄の処理は、特許請求の範囲おける第７の処理とされる。
【００７０】
その後、マスターＥＣＵ（ＭＥ）では、第３のイレース完了情報を受けて（Ｓ５１２）、第３のライト指令を送信させる（Ｓ５１３）。これを受けて、スレーブＥＣＵ（ＳＥ）では、第３のライト処理を開始させ、「Ｓ６０６」から「Ｓ６０８」迄の処理で消去されたプログラムに相当する新たなプログラムがＬＩＮ通信ラインＬＢを介して受信され（Ｓ６１１）フラッシュメモリｒｏｍに記録される。即ち、スレーブ側ブートプログラムS_BOOTproが新しく記録される。尚、「Ｓ６１１」の処理は、特許請求の範囲における第８の処理とされる。
【００７１】
かかる後、図６に示す如く、「Ｓ６１３」〜「Ｓ６１５」の処理によって第３のベリファイ処理が実行され、マスターＥＣＵ（ＭＥ）では、当該ベリファイ処理の照合を受け、スレーブＥＣＵ（ＳＥ）に対して第４のイレース指令を送信させる（Ｓ５１７）。
【００７２】
しかる後、スレーブＥＣＵ（ＳＥ）では、第４のイレース処理が開始される（Ｓ６１７）。かかる第４のイレース処理では、フラッシュメモリｒｏｍに格納されたプログラムのうち「Ｓ６０６」から「Ｓ６０８」迄の処理で消去されなかったプログラムが消去される。即ち、スレーブ側ルーティンプログラムS_RTNproが消去される（図１１ｅ参照）。尚、「Ｓ６１７」の処理は、特許請求の範囲における第９の処理とされる。
【００７３】
更に後、マスターＥＣＵ（ＭＥ）に対して第４のイレース完了情報が送信され（Ｓ５１８）、マスターＥＣＵ（ＭＥ）では、当該情報を受けて、第４ライト指令を送信させる（Ｓ５１９）。そして、スレーブＥＣＵ（ＳＥ）では、これを受けて、第４のライト処理を開始させ、「Ｓ６１７」の処理で消去されたプログラムに相当する新たなプログラム、即ち、新たなスレーブ側ルーティンプログラムS_RTNproがＬＩＮ通信ラインＬＢを介してフラッシュメモリｒｏｍに記録される（Ｓ６２０）。尚、「Ｓ６２０」の処理は、特許請求の範囲における第１０の処理とされる。
【００７４】
かくして、適宜な処理が実行された後、ＥＣＵノードでは、転送用プログラムLIN_COMproとスレーブ側書換プログラムS_EPVproとが終了され、併せて、ＥＣＵ制御装置ＥＲでも、起動していたプログラムが終了され、リプログラム操作を行う者の新たな操作を待つこととされる。
【００７５】
図１１では、スレーブＥＣＵ（ＳＥ）のランダムアクセスメモリｒａｍ及びフラッシュメモリｒｏｍの状態が時系列で示されている。同図にあっても、上段にフラッシュメモリｒｏｍの記憶領域が示され、下段にランダムアクセスメモリｒａｍの記憶領域が示されている。また、「＃」は更新されていないプログラムの状態を現し、「＄」は、更新されたプログラムの状態を現す。尚、かかる記憶領域が書き換えられる工程は、図７における工程と略同一であって、図示の如く、フラッシュメモリｒｏｍにおける全ての記憶領域が新たなプログラムに更新される。
【００７６】
かかるＥＣＵノードの記憶情報書換方法は、ＥＣＵノードに電源が供給された際、スレーブ側ブートプログラムS_BOOTproよりもスレーブ側ルーティンプログラムS_RTNpro が優先的に起動されるのが好ましい。そして、スレーブ側ブートプログラムS_BOOTpro は、他のプログラムに欠陥が有る場合に限って非常時対策として起動される。
【００７７】
このとき、スレーブ側ブートプログラムS_BOOTpro が起動される場合であっても、前述同様に、フラッシュメモリｒｏｍの記憶領域が適正に書換られる。
【００７８】
上述の如く、本実施例に係るＥＣＵノードの記憶情報書換方法では、スレーブ側ルーティンプログラムS_RTNpro 又はスレーブ側ブートプログラムS_BOOTproのうち正常に起動されるプログラムが残され、当該正常なプログラムに基づいて書換処理が実行される。従って、これらのうち何れか一方のプログラムが毀損されても、かかる正常なプログラムによって書換処理が実行され、スレーブＥＣＵ（ＳＥ）に設けられたフラッシュメモリｒｏｍには、更新された新たなプログラムが適正に格納される。
【００７９】
特に、スレーブＥＣＵ（ＳＥ）のフラッシュメモリｒｏｍの書換処理が不足の事態によって中断した場合であっても、当該フラッシュメモリｒｏｍは、ランダムアクセスメモリｒａｍに格納されたスレーブ側書換プログラムS_EPVproを起動させることで、書換処理が再開され、記憶領域が正規に書換えられることとなる。
【実施例３】
【００８０】
本実施例では、実施例２において説明したＥＣＵノードの記憶情報書換方法の変更例について説明する。尚、既に説明された技術内容及び処理内容については説明を省略する。
【００８１】
本実施例では、先ず、図４を参照すると、マスター側ルーティンプログラムM_RTNproがマスターＥＣＵ（ＭＥ）にて起動され、マスター側書換プログラムM_EPVproがＣＡＮ通信ラインＣＢを介してランダムアクセスメモリｒａｍへ記録される処理を実行させる。そして、本実施例におけるその後の処理では、フラッシュメモリＲＯＭに格納されたプログラムを消去させる消去処理、及び、フラッシュメモリＲＯＭにプログラムを記録させる記録処理、及び、フラッシュメモリＲＯＭに格納されたプログラムの照合を実施させるベリファイ処理が予め準備されており、当該消去処理又は当該記録処理又は当該ベリファイ処理のうち少なくとも何れか一つの処理を実行させる。
【００８２】
これら３つの処理は、図６において既に説明された処理であって、消去処理とは第１のイレース処理（Ｓ２０８）及び／又は第２のイレース処理（Ｓ２１７）を指し、記録処理とは第１のライト処理（Ｓ２１１）及び／又は第２のライト処理（Ｓ２２０）を指し、ベリファイ処理とは第１のベリファイ処理（Ｓ２１４）及び／又は第２のベリファイ処理（Ｓ２２３）を指す。
【００８３】
本実施例では、例えば、イレース処理のみを選択しておき、フラッシュメモリＲＯＭをオールクリアさせる。また、ベリファイ処理を選択しておき、フラッシュメモリＲＯＭの照合のみを取るようにしても良い。また、ベリファイ処理が不要である場合には、イレース処理と記録処理とによって構成された第２の処理としても良い。
【００８４】
かかる如く処理されるＥＣＵノードの記憶情報書換方法では、マスターＥＣＵ（ＭＥ）に設けられたフラッシュメモリＲＯＭに対して複数のパターンの処理が実現される。
【００８５】
一方、図４を参照すると、スレーブ側ルーティンプログラムS_RTNproがスレーブＥＣＵ（ＳＥ）にて起動され、スレーブ側書換プログラムS_EPVproがＬＩＮ通信ラインＬＢを介してランダムアクセスメモリｒａｍへ記録される処理を実行させる（請求項１３における第１の処理）。本実施例におけるその後の処理でも、当該消去処理又は当該記録処理又は当該ベリファイ処理のうち少なくとも何れか一つの処理を実行させる（請求項１３における第２の処理）。
【００８６】
これら３つの処理は、図１０において既に説明された処理であって、消去処理とは第１のイレース処理（Ｓ６０８）及び／又は第２のイレース処理（Ｓ６１７）を指し、記録処理とは第１のライト処理（Ｓ６１１）及び／又は第２のライト処理（Ｓ６２０）を指し、ベリファイ処理とは第１のベリファイ処理（Ｓ６１４）及び／又は第２のベリファイ処理（Ｓ６２３）を指す。
【００８７】
かかる如く処理されるＥＣＵノードの記憶情報書換方法では、スレーブＥＣＵ（ＳＥ）に設けられたフラッシュメモリｒｏｍに対して複数のパターンの処理が実現される。
【実施例４】
【００８８】
本実施例では、実施の形態において説明したＥＣＵノードの変更例について説明する。尚、既に説明された技術内容及び処理内容については説明を省略する。
【００８９】
本実施例では、フラッシュメモリＲＯＭへ格納される転送用プログラムLIN_COMproに新たな機能が追加される。即ち、ＥＣＵ制御装置ＥＲが所定のスレーブＥＣＵ（ＳＥ）を指定して書換処理を命令する場合、かかる転送用プログラムLIN_COMproは、スレーブＥＣＵ（ＳＥ）を指定するＩＤ情報を送信する。そして、ＩＤ情報によって、複数接続されたスレーブＥＣＵ（ＳＥ）の中から、フラッシュメモリｒｏｍの書換処理が必要なスレーブＥＣＵが指定され、かかる如く指定されたスレーブＥＣＵ（ＳＥ）のみが書換対象とされる。尚、かかるＩＤ情報の指定は、一つに限定することなく、複数のスレーブＥＣＵ（ＳＥ）の指定が可能である。
【００９０】
このとき、スレーブ側書換プログラムS_EPVpro は、ＩＤ情報の指定するスレーブＥＣＵ（ＳＥ）のみによって受信され、当該スレーブＥＣＵ（ＳＥ）に設けられたランダムアクセスメモリｒａｍに格納される。これにより、ＥＣＵノードでは、スレーブ側ルーティンプログラムS_RTNpro等が起動されると、これに応じて、スレーブ側書換プログラムS_EPVpro が格納されたスレーブＥＣＵ（ＳＥ）のみが書換処理されることとなる。
【００９１】
上述の如く、本実施例に係るＥＣＵノードでは、予め指定したスレーブＥＣＵ（ＳＥ）のみの書換処理が可能とされる。
【実施例５】
【００９２】
本実施例では、上述した実施の形態又は種々の実施例において説明したＥＣＵノード又は当該ＥＣＵノードの記憶情報書換方法の更なる変更例について説明する。尚、上述同様、既に説明された技術内容及び処理内容については説明を省略する。
【００９３】
本実施例では、フラッシュメモリＲＯＭへ格納される転送用プログラムLIN_COMproに新たな機能が追加される。即ち、ＥＣＵ制御装置ＥＲが所定のスレーブＥＣＵ（ＳＥ）を指定して書換処理を命令する場合、マスター側の転送用プログラムLIN_COMproは、これに応じて、スレーブＥＣＵ（ＳＥ）を指定するＩＤ情報を送信する。そして、ＩＤ情報によって、複数接続されたスレーブＥＣＵ（ＳＥ）の中から、フラッシュメモリｒｏｍの書換処理が必要なスレーブＥＣＵが指定され、かかる如く指定されたスレーブＥＣＵ（ＳＥ）のみが書換対象とされる。
【００９４】
このとき、スレーブ側書換プログラムS_EPVpro は、ＩＤ情報の指定するスレーブＥＣＵ（ＳＥ）のみによって受信され、当該スレーブＥＣＵ（ＳＥ）に設けられたランダムアクセスメモリｒａｍに格納される。これにより、ＥＣＵノードでは、スレーブ側ルーティンプログラムS_RTNpro等が起動されると、これに応じて、スレーブ側書換プログラムS_EPVpro が格納されたスレーブＥＣＵ（ＳＥ）のみが書換処理されることとなる。
【００９５】
かかる如く、本実施例におけるＥＣＵノードの記憶情報書換方法では、ＩＤ情報によって指定されたスレーブＥＣＵ（ＳＥ）についてのみ書換処理が実行され、これにより、当該スレーブＥＣＵ（ＳＥ）では、スレーブ側ルーティンプログラムS_RTNproがスレーブＥＣＵ（ＳＥ）にて起動され、スレーブ側書換プログラムS_EPVproがＬＩＮ通信ラインＬＢを介してランダムアクセスメモリｒａｍへ記録される処理を実行させる。その後、本実施例におけるＥＣＵノードの記憶情報書換方法では、消去処理又は記録処理又はベリファイ処理のうち少なくとも何れか一つの処理を実行させる。
【００９６】
上述の如く、本実施例に係るＥＣＵノードでは、ＩＤ情報によって指定されたスレーブＥＣＵ（ＳＥ）の記憶領域に対して、消去処理又は記録処理又はベリファイ処理を単独で又は適宜な組合せで実行され得ることとなる。
【００９７】
以上の如く記された実施の形態は、あくまでも本発明の一つの実施形態であって、他の実施の形態を適用させることが可能である。例えば、本実施の形態では、マスターＥＣＵのフラッシュメモリがマスター側ブートプログラムM_BOOTproと当該マスター側ブートプログラムM_BOOTproの機能を具備するマスター側ルーティンプログラムM_RTNproとの双方を格納させた構成とされているが、これに限らず、マスターＥＣＵのフラッシュメモリは、複数のマスター側ブートプログラムM_BOOTproが格納されたものとしても良い。かかる構成であっても、正常に起動するマスター側ブートプログラムM_BOOTproを残して、他のプログラムを書換え、その後、書き換えられたプログラムのうちのマスター側ブートプログラムM_BOOTproを起動させ、残りのマスター側ブートプログラムM_BOOTproを書換えることにより、フラッシュメモリＲＯＭにおける全領域の書換処理を行うことが可能となる。また、かかる書換処理は、スレーブＥＣＵ（ＳＥ）におけるフラッシュメモリｒｏｍを書換える際にも適応され得る。
【００９８】
最後に、本発明が適用されるＥＣＵノード又はＥＣＵノードの記憶情報書換方法は、電気自動車の技術分野のみならず、ハイブリッド式自動車、又は、内燃機関によって駆動される自動車、この他の車両、船舶、航空機等にも用いられる技術である。
【図面の簡単な説明】
【００９９】
【図１】実施の形態に係る電気自動車の構成を示す図
【図２】実施の形態に係るＥＣＵノードの構成を示す図
【図３】実施の形態に係る揮発性記憶装置の記憶領域及び不揮発性記憶領域の記憶領域の構成を示す図
【図４】実施例１に係るマスター側ルーティンプログラムの動作モードを選択させるフローチャート
【図５】実施例１に係るプログラム書換装置とマスターＥＣＵとが通信する際のフローチャート
【図６】実施例１に係るプログラム書換装置とマスターＥＣＵとが通信する際のフローチャート
【図７】実施例１に係るマスター側揮発性記憶領域及びマスター側不揮発性記憶領域の状態遷移図
【図８】実施例２に係るスレーブ側ルーティンプログラムの動作モードを選択させるフローチャート
【図９】実施例２に係るマスターＥＣＵとスレーブＥＣＵとが通信する際のフローチャート
【図１０】実施例２に係るマスターＥＣＵとスレーブＥＣＵとが通信する際のフローチャート
【図１１】実施例２に係るスレーブ側揮発性記憶領域及びスレーブ側不揮発性憶領域の状態遷移図
【符号の説明】
【０１００】
Ｎｏｄｅ１    ＥＣＵノード
ＭＥ      マスターＥＣＵ
ＣＢ      第１の通信ライン
Ｍｍ２    揮発性記憶装置
Ｍｍ１    不揮発性記憶装置
ＲＡＭ      マスター側揮発性記憶領域
ＲＯＭ      マスター側不揮発性記憶領域
M_EPVpro      マスター側書換プログラム
M_BOOTpro     マスター側ブートプログラム
M_RTNpro      マスター側ルーティンプログラム
LIN_COMpro    転送用プログラム
ＳＥ      スレーブＥＣＵ
ＬＢ      第２の通信ライン
Ｍｓ２    揮発性記憶装置
Ｍｓ１    不揮発性記憶装置
ｒａｍ      スレーブ側揮発性記憶領域
ｒｏｍ      スレーブ側不揮発性記憶領域
S_EPVpro      スレーブ側書換プログラム
S_BOOTpro     スレーブ側ブートプログラム
S_RTNpro      スレーブ側ルーティンプログラム
【図１】
2009166645.tif 000003
【図２】
2009166645.tif 000004
【図３】
2009166645.tif 000005
【図４】
2009166645.tif 000006
【図５】
2009166645.tif 000007
【図６】
2009166645.tif 000008
【図７】
2009166645.tif 000009
【図８】
2009166645.tif 000010
【図９】
2009166645.tif 000011
【図１０】
2009166645.tif 000012
【図１１】
2009166645.tif 000013