(57)【特許請求の範囲】
【請求項１】
第１更新用プログラムおよび第２更新用プログラムを送信するための信号線と、
第１記憶部と、
当該第１記憶部に記憶され、車両を制御するための第１制御プログラムと、
第１インターフェースを有し、当該第１インターフェースを介して前記信号線に常時、接続されるとともに、前記第１制御プログラムを実行する第１制御ユニットと、
第２記憶部と、
当該第２記憶部に記憶され、前記車両を制御するための第２制御プログラムと、
第２インターフェースを有するとともに、前記第２制御プログラムを実行する第２制御ユニットと、
前記信号線と前記第２インターフェースの間を接続または遮断する常開式のスイッチと、
を備え、
前記第１制御ユニットは、前記第１インターフェースを介して受信した更新用プログラムが前記第１更新用プログラムまたは前記第２更新用プログラムのいずれであるかを判定し、当該判定の結果、前記第１更新用プログラムを受信したときに、前記第１制御プログラムを前記第１更新用プログラムに書き換えることにより更新し、前記第２更新用プログラムを受信したときに、前記スイッチを駆動することにより前記信号線を前記第２インターフェースに接続し、
前記第２制御ユニットは、前記第２制御プログラムを、前記スイッチにより接続された前記第２インターフェースを介して前記信号線から受信した前記第２更新用プログラムに書き換えることにより更新することを特徴とする車両制御用プログラムの更新装置。
【請求項２】
第１書換装置からの第１更新用プログラムを送信するための第１信号線と、
第２書換装置からの、前記第１更新用プログラムと異なる第２更新用プログラムを送信するための第２信号線と、
第１記憶部と、
当該第１記憶部に記憶され、車両を制御するための第１制御プログラムと、
第１インターフェースおよび第２インターフェースを有し、前記第１インターフェースを介して前記第１信号線に接続され、前記第２インターフェースを介して第２信号線に接続されるとともに、前記第１制御プログラムを実行する第１制御ユニットと、
第２記憶部と、
当該第２記憶部に記憶され、前記車両を制御するための第２制御プログラムと、
前記第１制御ユニットと通信可能に構成され、前記第２制御プログラムを実行する第２制御ユニットと、
を備え、
前記第１制御ユニットは、前記第１インターフェースを介して前記第１更新用プログラムを受信したときに、前記第１制御プログラムを前記第１更新用プログラムに書き換えることにより更新し、前記第２インターフェースを介して前記第２更新用プログラムを受信したときに、当該第２更新用プログラムを前記第２制御ユニットに転送し、
当該第２制御ユニットは、前記第２制御プログラムを前記第１制御ユニットから転送された前記第２更新用プログラムに書き換えることにより更新することを特徴とする車両制御用プログラムの更新装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両を制御するための車両制御用プログラムの更新装置に関する。
【背景技術】
【０００２】
従来のこの種の更新装置として、例えば特許文献１に開示されたものが知られている。この更新装置は、インターフェース（以下「Ｉ／Ｆ」という）を有する第１制御ユニットと、第１制御ユニットに接続され、第１プログラムを記憶する第１記憶部と、第２プログラムを記憶する第２記憶部を有する第２制御ユニットなどを備えており、外部装置に接続されている。この更新装置では、外部装置から更新用プログラムが送信されたときに、第１プログラムまたは第２プログラムを、更新用プログラムに書き換えることによって、更新する。
【０００３】
具体的には、外部装置から送信された更新用プログラムは、Ｉ／Ｆを介して第１制御ユニットに送信される。第１制御ユニットは、更新用プログラムを読み込み、この更新用プログラムに含まれる制御情報に基づいて、第１プログラムまたは第２プログラムのいずれを更新すべきかを判定する。第１プログラムを更新すべきと判定したときには、第１制御ユニット自身が第１プログラムを更新用プログラムに書き換える。一方、第２プログラムを更新すべきと判定したときには、第１制御ユニットは更新用プログラムを第２制御ユニットに送信し、第２制御ユニットは、第２プログラムを送信された更新用プログラムに書き換える。以上のように、第２プログラムの更新時に、外部装置からの更新用プログラムを第１制御ユニットを介して第２制御ユニットに送信することによって、更新装置と外部装置を接続するインターフェースの数を削減するようにしている。
【０００４】
しかし、従来の更新装置では、第１または第２プログラムの更新に先立ち、第１制御ユニットにおいて更新用プログラムを読み込むとともに、それに含まれる制御情報に基づいて第１または第２プログラムのいずれを更新すべきかを判定するので、更新を行うまでに時間を要する。更新用プログラムは通常、ブロック単位で送信されるため、更新用プログラムの読み込み、および第１または第２プログラムの更新の判定をブロック単位ごとに行う必要があり、その結果、プログラムの更新が完了するまでに非常に長い時間を要する。
【０００５】
本発明は、このような課題を解決するためになされたものであり、複数の記憶部に記憶された制御プログラムの更新を速やかに行うことができる車両制御用プログラムの更新装置を提供することを目的とする。
【０００６】
【特許文献１】特表平１１−５０８７１６号公報
【発明の開示】
【課題を解決するための手段】
【０００７】
上記の目的を達成するため、請求項１の発明に係る車両制御用プログラムの更新装置１は、第１更新用プログラムＰＲＵ１および第２更新用プログラムＰＲＵ２を送信するための信号線（実施形態における（以下、本項において同じ）第１信号線１７）と、第１記憶部（フラッシュメモリ１２）と、第１記憶部に記憶され、車両Ｖを制御するための第１制御プログラムＰＲ１と、第１インターフェース（第１ＣＡＮ通信用Ｉ／Ｆ９）を有し、第１インターフェースを介して信号線に常時、接続されるとともに、第１制御プログラムＰＲ１を実行する第１制御ユニット（第１ＥＣＵ５）と、第２記憶部（フラッシュメモリ１６）と、第２記憶部に記憶され、車両Ｖを制御するための第２制御プログラムＰＲ２と、第２インターフェース（第４ＣＡＮ通信用Ｉ／Ｆ１４）を有するとともに、第２制御プログラムＰＲ２を実行する第２制御ユニット（第２ＥＣＵ６）と、信号線と第２インターフェースの間を接続または遮断する常開式のスイッチ（第１スイッチ７）と、を備え、第１制御ユニットは、第１インターフェースを介して受信した更新用プログラムが第１更新用プログラムＰＲＵ１または第２更新用プログラムＰＲＵ２のいずれであるかを判定し（図２のステップ１）、当該判定の結果、第１更新用プログラムＰＲＵ１を受信したときに、第１制御プログラムＰＲ１を第１更新用プログラムＰＲＵ１に書き換えることにより更新し、第２更新用プログラムＰＲＵ２を受信したときに、スイッチを駆動することにより信号線を第２インターフェースに接続し、第２制御ユニットは、第２制御プログラムＰＲ２を、スイッチにより接続された第２インターフェースを介して信号線から受信した第２更新用プログラムＰＲＵ２に書き換えることにより更新することを特徴とする。
【０００８】
この車両制御用プログラムの更新装置は、第１制御ユニットおよび第２制御ユニットを備えており、第１制御ユニットが第１記憶部に記憶された第１制御プログラムを実行し、第２制御ユニットが第２記憶部に記憶された第２制御プログラムを実行することによって、車両が制御される。第１制御ユニットは、第１インターフェースを介して信号線に常時、接続されており、信号線から第１インターフェースを介して受信した更新用プログラムが第１更新用プログラムまたは第２更新用プログラムのいずれであるかを判定する。その判定の結果、第１更新用プログラムを受信したときに、第１制御プログラムを第１更新用プログラムに書き換え、更新する。
【０００９】
また、第１制御ユニットは、第２更新用プログラムを受信したときに、常開式のスイッチを駆動することによって、信号線を第２制御ユニットの第２インターフェースに接続する。これに伴い、第２更新用プログラムは、スイッチにより接続された第２インターフェースを介して、信号線から第２制御ユニットに直接、送信される。第２制御ユニットは、第２制御プログラムを第２更新用プログラムに書き換え、更新する。以上のように、第２更新用プログラムが送信されたときに、信号線を第２制御ユニットの第２インターフェースに接続することによって、第２更新用プログラムは、第１制御ユニットを介さずに第２制御ユニットに直接、送信される。このため、第２更新用プログラムを第１制御ユニットを介して第２制御ユニットに送信する従来の更新装置と比較して、第２制御プログラムの更新を速やかに行うことができる。
【００１０】
さらに、スイッチを制御するだけで、第２制御ユニットを第２インターフェースを介して信号線に接続できるので、インターフェースの数を増やすことなく、より多数の信号線との接続が可能になる。このため、制御ユニットとして、所定の数のインターフェースを有する汎用品を用いた場合には、インターフェースの数を増やすことなく、多くの信号線との接続が可能になるので、製造コストの上昇を抑制することができる。
【００１１】
請求項２の発明に係る車両制御用プログラムの更新装置３１は、第１書換装置３３からの第１更新用プログラムＰＲＵ１１を送信するための第１信号線３５と、第２書換装置３４からの、第１更新用プログラムＰＲＵ１１と異なる第２更新用プログラムＰＲＵ１２を送信するための第２信号線３６と、第１記憶部（フラッシュメモリ４５）と、第１記憶部に記憶され、車両Ｖを制御するための第１制御プログラムＰＲ１１と、第１インターフェース（Ｋ通信用Ｉ／Ｆ４２）および第２インターフェース（第１ＣＡＮ通信用Ｉ／Ｆ４３）を有し、第１インターフェースを介して第１信号線３５に接続され、第２インターフェースを介して第２信号線３６に接続されるとともに、第１制御プログラムＰＲ１１を実行する第１制御ユニット（第１ＥＣＵ３９）と、第２記憶部（フラッシュメモリ４９）と、第２記憶部に記憶され、車両Ｖを制御するための第２制御プログラムＰＲ１２と、第１制御ユニットと通信可能に構成され、第２制御プログラムＰＲ１２を実行する第２制御ユニット（第２ＥＣＵ４０）と、を備え、第１制御ユニットは、第１インターフェースを介して第１更新用プログラムＰＲＵ１１を受信したときに、第１制御プログラムＰＲ１１を第１更新用プログラムＰＲＵ１１に書き換えることにより更新し、第２インターフェースを介して第２更新用プログラムＰＲＵ１２を受信したときに、第２更新用プログラムＰＲＵ１２を第２制御ユニットに転送し、第２制御ユニットは、第２制御プログラムＰＲ１２を第１制御ユニットから転送された第２更新用プログラムＰＲＵ１２に書き換えることにより更新することを特徴とする。
【００１２】
この車両制御用プログラムの更新装置は、第１制御ユニットおよび第２制御ユニットを備えており、第１制御ユニットが第１記憶部に記憶された第１制御プログラムを実行し、第２制御ユニットが第２記憶部に記憶された第２制御プログラムを実行することによって、車両が制御される。第１制御ユニットは、第１信号線から第１インターフェースを介して第１更新用プログラムを受信したときに、第１制御プログラムを第１更新用プログラムに書き換え、更新する。一方、第１制御ユニットは、第２信号線から第２インターフェースを介して第２更新用プログラムを受信したときに、第２更新用プログラムを第２制御ユニットに転送する。第２制御ユニットは、第２制御プログラムを、転送された第２更新用プログラムに書き換え、更新する。
【００１３】
以上のように、この更新装置では、第１制御プログラムを更新するための第１更新用プログラムを、第１インターフェースを介して受信し、第２制御プログラムを更新するための、第１更新用プログラムと異なる第２更新用プログラムを、第２インターフェースを介して受信する。このため、第１および第２インターフェースのどちらから更新用プログラムを受信したかを監視するだけで、第１または第２制御プログラムのいずれを更新すべきかを即座に判定することができる。その結果、従来の更新装置と異なり、更新用プログラムを読み込むことも、読み込んだ更新用プログラムに基づいて、第１制御プログラムまたは第２制御プログラムのいずれを更新すべきかを判定することも不要になり、その分、制御プログラムの更新を速やかに行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しながら、本発明の好ましい実施形態を詳細に説明する。図１は、本発明の第１実施形態による車両制御用プログラムの更新装置１を、内燃機関（以下「エンジン」という）３を搭載した車両Ｖとともに、概略的に示している。エンジン３は、例えばＶ型のガソリンエンジンであり、右バンクおよび左バンク（いずれも図示せず）に複数の気筒３ａ（１つのみ図示）を有している。各気筒３ａのピストン３ｂとシリンダヘッド３ｃとの間には、燃焼室３ｄが形成されている。
【００１５】
シリンダヘッド３ｃには、燃料噴射弁（以下「インジェクタ」という）４が、燃焼室３ｄに臨むように取り付けられている。インジェクタ４の燃料噴射量および燃料噴射時期は、後述する燃料噴射制御用のＥＣＵ（以下「ＦＩＥＣＵ」という）２によって設定され、ＦＩＥＣＵ２から出力される駆動信号によって制御される。また、シリンダヘッド３ｃには、筒内圧センサ２１が設けられている。筒内圧センサ２１は、圧電素子で構成されており、エンジン３の気筒３ａ内の圧力の変化量（以下「筒内圧変化量」という）ＤＰを表す検出信号をＦＩＥＣＵ２に出力する。
【００１６】
更新装置１は、エンジン３を介して車両Ｖを制御するための第１制御プログラムＰＲ１および第２制御プログラムＰＲ２を更新するためのものであり、ＦＩＥＣＵ２、書換装置２０、ＦＩＥＣＵ２と書換装置２０を接続する第１信号線１７、ＦＩＥＣＵ２と筒内圧センサ２１を接続する第２信号線１８、および第３信号線１９を備えている。
【００１７】
書換装置２０は、第１制御プログラムＰＲ１として書き換えるべき第１更新用プログラムＰＲＵ１、または第２制御プログラムＰＲ２として書き換えるべき第２更新用プログラムＰＲＵ２を取得し、ＦＩＥＣＵ２に送信するためのものである。なお、以下の説明では、第１および第２更新用プログラムＰＲＵ１，ＰＲＵ２を総称して「更新用プログラムＰＲＵ」という。書換装置２０には、書換時、更新用プログラムＰＲＵを記録した記録媒体（図示せず）が装着される。書換装置２０は、この記録媒体から更新用プログラムＰＲＵをブロック単位で読み出し、第１信号線１７を介してＦＩＥＣＵ２に送信する。なお、この更新用プログラムＰＲＵの最初のブロックには、更新用プログラムＰＲＵが第１または第２更新用プログラムＰＲＵ１，ＰＲＵ２のいずれであるかを表す情報（以下「更新情報」という）と、更新用プログラムＰＲＵのブロック数を表す情報が、プログラム情報として記録されている。
【００１８】
ＦＩＥＣＵ２は、第１ＥＣＵ５、第２ＥＣＵ６、第１スイッチ７および第２スイッチ８などで構成されている。第１ＥＣＵ５は、エンジン３の一方のバンクの各インジェクタ４の燃料噴射量および燃料噴射時期を含む燃料噴射制御を実行し、第２ＥＣＵ６は、他方のバンクの各インジェクタ４の燃料噴射制御を実行する。
【００１９】
第１ＥＣＵ５は、第２ＥＣＵ６とシリアル通信可能に構成されており、ＥＥＰＲＯＭ（図示せず）、第１ＣＡＮ通信用インターフェース（Ｉ／Ｆ）９、第２ＣＡＮ通信用インターフェース（Ｉ／Ｆ）１０、ＣＰＵ１１および不揮発性のフラッシュメモリ１２などで構成されている。また、第１ＥＣＵ５は、信号線（図示せず）を介して一方のバンクのインジェクタ４に電気的に接続されている。
【００２０】
第１ＣＡＮ通信用Ｉ／Ｆ９は、書換装置２０とＣＰＵ１１の間でＣＡＮ通信を行うためのものであり、書換装置２０から送信された更新用プログラムＰＲＵを、第１信号線１７を介して受信し、ＣＰＵ１１に送信する。
【００２１】
第２ＣＡＮ通信用Ｉ／Ｆ１０は、筒内圧センサ２１とＣＰＵ１１の間でＣＡＮ通信を行うためのものであり、筒内圧センサ２１で検出された筒内圧変化量ＤＰを、第２信号線１８を介して受信し、ＣＰＵ１１に送信する。ＣＰＵ１１は、筒内圧変化量ＤＰに基づいて、気筒３ａ内に発生する筒内圧Ｐを算出する。
【００２２】
フラッシュメモリ１２の記憶領域には、第１制御プログラムＰＲ１が記憶されている。この第１制御プログラムＰＲ１は、筒内圧Ｐに応じて、一方のバンクのインジェクタ４の燃料噴射量および燃料噴射時期を設定するためのものであり、記憶領域に割り当てられたアドレスによって指定されるアドレス空間に、ブロック単位で記憶されている。
【００２３】
第１スイッチ７は、常開式のものであり、第１信号線１７と第２ＥＣＵ６の間を接続または遮断する。第２スイッチ８は、常閉式のものであり、第２信号線１８と第２ＥＣＵ６の間を接続または遮断する。これらの第１および第２スイッチ７，８は、ＣＰＵ１１から駆動信号ＳＤが出力されたときに作動し、それにより、第１信号線１７が第２ＥＣＵ６に接続されるとともに、第２信号線１８と第２ＥＣＵ６の間が遮断される。
【００２４】
ＣＰＵ１１は、第１制御プログラムＰＲ１を実行することにより燃料噴射量および燃料噴射時期を設定するとともに、その結果に基づいて、一方のバンクのインジェクタ４を駆動するための駆動信号を生成し、信号線を介してそれらのインジェクタ４に出力する。また、ＣＰＵ１１は、書換装置２０から更新用プログラムＰＲＵを受信したときに、制御プログラムの更新処理を実行する。
【００２５】
図２は、この更新処理のフローチャートを示している。本処理では、まず、ステップ１（「Ｓ１」と図示。以下同じ）において、受信した更新用プログラムＰＲＵが第１更新用プログラムＰＲＵ１であるか否かを判別する。この判別は、更新用プログラムＰＲＵに含まれるプログラム情報中の更新情報に基づいて行われる。この判別結果がＹＥＳで、第１更新用プログラムＰＲＵ１を受信したときには、そのプログラム情報に含まれるブロック数を読み込み、ＥＥＰＲＯＭに記憶する（ステップ２）。
【００２６】
次に、この第１制御プログラムＰＲ１を第１更新用プログラムＰＲＵ１に書き換えることによって、更新する（ステップ３）。この更新動作は、フラッシュメモリ１２に記憶された第１制御プログラムＰＲ１を全消去した後、書換装置２０からブロック単位で順次、受信した第１更新用プログラムＰＲＵ１を、フラッシュメモリ１２の対応するアドレス空間に書き込むことによって行われる。
【００２７】
次に、第１制御プログラムＰＲ１の更新が完了したか否かを判別する（ステップ４）。具体的には、前記ステップ３で受信した第１更新用プログラムＰＲＵ１のブロック数が、前記ステップ２で記憶したブロック数と一致したときに、更新が完了したと判別される。この判別結果がＮＯのときには、ステップ３に戻り、前述した更新動作を繰り返し実行する。
【００２８】
一方、前記ステップ４の判別結果がＹＥＳで、第１更新用プログラムＰＲＵ１の更新が完了したときには、本処理を終了する。一方、前記ステップ１の判別結果がＮＯのとき、すなわち、受信した更新用プログラムＰＲＵが第２更新用プログラムＰＲＵ２のときには、第１および第２スイッチ７，８に駆動信号ＳＤを出力し、これらを駆動する（ステップ５）。これにより、第１スイッチ７によって第１信号線１７が第２ＥＣＵ６に接続されるとともに、第２スイッチ８によって第２信号線１８と第２ＥＣＵ６の間が遮断される。この状態では、第２更新用プログラムＰＲＵ２は、第１ＥＣＵ５に送信されるとともに、第１スイッチ７によって接続された後述する第４ＣＡＮ通信用Ｉ／Ｆ１４を介して、第１信号線１７から第２ＥＣＵ６に直接、送信される。第１ＥＣＵ５は、送信された第２更新用プログラムＰＲＵ２を破棄し、第２ＥＣＵ６は、第２更新用プログラムＰＲＵ２を用い、後述するようにして第２制御プログラムＰＲ２を更新する。
【００２９】
第２ＥＣＵ６は、ＥＥＰＲＯＭ（図示せず）、第３ＣＡＮ通信用インターフェース（Ｉ／Ｆ）１３、第４ＣＡＮ通信用インターフェース（Ｉ／Ｆ）１４、ＣＰＵ１５および不揮発性のフラッシュメモリ１６などで構成されている。また、第２ＥＣＵ６は、信号線（図示せず）を介して他方のバンクのインジェクタ４に電気的に接続されている。
【００３０】
第３ＣＡＮ通信用Ｉ／Ｆ１３は、ＣＰＵ１５とトランスミッション制御ユニットやＶＳＡ制御ユニットなどの他の車両制御装置（図示せず）との間で、第３信号線１９を介してＣＡＮ通信を行うためのものである。
【００３１】
第４ＣＡＮ通信用Ｉ／Ｆ１４は、筒内圧センサ２１とＣＰＵ１５の間でＣＡＮ通信を行うためのものであり、第２スイッチ８が閉鎖されているとき、すなわち駆動信号ＳＤが出力されていない通常時に、筒内圧センサ２１で検出された筒内圧変化量ＤＰを、第２信号線１８を介して受信し、ＣＰＵ１５に送信する。ＣＰＵ１５は、筒内圧変化量ＤＰに基づいて筒内圧Ｐを算出する。
【００３２】
フラッシュメモリ１６の記憶領域には、第２制御プログラムＰＲ２が記憶されている。この第２制御プログラムＰＲ２は、筒内圧Ｐに応じて、他方のバンクのインジェクタ４の燃料噴射量および燃料噴射時期を設定するためのものであり、記憶領域に割り当てられたアドレスによって指定されるアドレス空間に、ブロック単位で記憶されている。
【００３３】
ＣＰＵ１５は、第２制御プログラムＰＲ２を実行することによって燃料噴射量および燃料噴射時期を設定するとともに、その結果に基づいて、他方のバンクのインジェクタ４を駆動するための駆動信号を生成し、信号線を介してそれらのインジェクタ４に出力する。また、ＣＰＵ１５は、前記ステップ５での駆動信号ＳＤの出力による第１スイッチ７の接続によって、書換装置２０から第２更新用プログラムＰＲＵ２を受信したときに、第２制御プログラムＰＲ２を第２更新用プログラムＰＲＵ２に書き換え、更新する。
【００３４】
この更新動作は、フラッシュメモリ１６に記憶された第２制御プログラムＰＲ２を全消去した後、前述したＣＰＵ１１による第１制御プログラムＰＲ１の更新の場合と同様、ブロック単位で受信した第２更新用プログラムＰＲＵ２を、フラッシュメモリ１６の対応するアドレス空間に書き込むことによって、行われる。また、ＣＰＵ１５は、受信した第２更新用プログラムＰＲＵ２のブロック数が、ＥＥＰＲＯＭに記憶したブロック数に一致したときに、第２制御プログラムＰＲ２の更新が完了したとして、そのことを表す信号を第１ＥＣＵ５のＣＰＵ１１に出力する。それに応じ、ＣＰＵ１１は、駆動信号ＳＤの出力を終了する。これにより、第１スイッチ７の開放によって第１信号線１７と第４ＣＡＮ通信用Ｉ／Ｆ１４の間が遮断され、第２スイッチ８の閉鎖によって第２信号線１８が第４ＣＡＮ通信用Ｉ／Ｆ１４に接続される。
【００３５】
以上のように、本実施形態によれば、第１ＥＣＵ５は、第１ＣＡＮ通信用Ｉ／Ｆ９を介して第１信号線１７から第２更新用プログラムＰＲＵ２を受信したときに、第１スイッチ７を駆動することによって、第１信号線１７を第２ＥＣＵ６の第４ＣＡＮ通信用Ｉ／Ｆ１４に接続させる。これにより、第２更新用プログラムＰＲＵ２は、第１ＥＣＵ５を介さずに第２ＥＣＵ６に直接、送信される。このため、第２更新用プログラムを第１制御ユニットを介して第２制御ユニットに送信する従来の更新装置と比較して、第２制御プログラムＰＲ２の更新を速やかに行うことができる。
【００３６】
また、第１および第２スイッチ７，８を制御するだけで、第２ＥＣＵ６を第４ＣＡＮ通信用Ｉ／Ｆ１４を介して第１信号線１７または第２信号線１８に接続できるので、ＣＡＮ通信用Ｉ／Ｆの数を増やすことなく、より多数の信号線と接続することができる。このため、第１および第２ＥＣＵ５，６として、所定の数のインターフェースを有する汎用品を用いた場合でも、インターフェースの数を増やすことなく、多くの信号線との接続が可能になる結果、製造コストの上昇を抑制することができる。
【００３７】
図３は、本発明の第２実施形態による車両制御用プログラムの更新装置３１を示している。この更新装置３１は、車両Ｖを制御するための第１〜第３制御プログラムＰＲ１１〜ＰＲ１３を更新するためのものであり、ＦＩＥＣＵ３２と、第１書換装置３３、第２書換装置３４、筒内圧センサ２１、および図示しない他の車両制御装置（トランスミッション制御ユニットやＶＳＡ制御ユニットなど）とをそれぞれ接続する第１〜第４信号線３５〜３８を備えている。なお、以下の説明では、前述した第１実施形態と同様の構成については、同じ参照番号を付し、その詳細な説明は省略するものとする。
【００３８】
第１書換装置３３は、第１制御プログラムＰＲ１１として書き換えるべき第１更新用プログラムＰＲＵ１１を取得し、ＦＩＥＣＵ３２に送信するためのものである。第１書換装置３３には、書換時、第１更新用プログラムＰＲＵ１１を記録した記録媒体（図示せず）が装着される。第１書換装置３３は、この記録媒体から第１更新用プログラムＰＲＵ１１をブロック単位で読み出し、第１信号線３５を介してＦＩＥＣＵ３２に送信する。なお、この第１更新用プログラムＰＲＵ１１の最初のブロックには、第１更新用プログラムＰＲＵ１１のブロック数を表す情報が記録されている。
【００３９】
第２書換装置３４は、第２制御プログラムＰＲ１２として書き換えるべき第２更新用プログラムＰＲＵ１２、または第３制御プログラムＰＲ１３として書き換えるべき第３更新用プログラムＰＲＵ１３を取得し、ＦＩＥＣＵ３２に送信するためのものである。なお、以下の説明では、第１〜第３更新用プログラムＰＲＵ１１〜ＰＲＵ１３を総称して「更新用プログラムＰＲＵ」という。第２書換装置３４には、書換時、第２または第３更新用プログラムＰＲＵ１２，ＰＲＵ１３を記録した記録媒体（図示せず）が装着される。第２書換装置３４は、この記録媒体から更新用プログラムＰＲＵをブロック単位で読み出し、第２信号線３６を介してＦＩＥＣＵ３２に送信する。なお、この更新用プログラムＰＲＵの最初のブロックには、更新用プログラムＰＲＵが第２または第３更新用プログラムＰＲＵ１２，ＰＲＵ１３のいずれであるかを表す更新情報と、ブロック数を表す情報が、プログラム情報として記録されている。
【００４０】
ＦＩＥＣＵ３２は、第１ＥＣＵ３９、第２ＥＣＵ４０および第３ＥＣＵ４１などで構成されている。第１ＥＣＵ３９は、第２ＥＣＵ４０とシリアル通信可能に構成されており、ＥＥＰＲＯＭ（図示せず）、Ｋライン通信用インターフェース（Ｉ／Ｆ）４２、第１ＣＡＮ通信用インターフェース（Ｉ／Ｆ）４３、ＣＰＵ４４および不揮発性のフラッシュメモリ４５などで構成されている。
【００４１】
Ｋ通信用Ｉ／Ｆ４２は、第１書換装置３３とＣＰＵ４４の間でＫライン通信（またはシリアル通信）を行うためのものであり、第１書換装置３３から送信された第１更新用プログラムＰＲＵ１１を、第１信号線３５を介して受信し、ＣＰＵ４４に送信する。
【００４２】
第１ＣＡＮ通信用Ｉ／Ｆ４３は、第２書換装置３４とＣＰＵ４４の間でＣＡＮ通信を行うためのものであり、第２書換装置３４からの更新用プログラムＰＲＵを、第２信号線３６を介して受信し、ＣＰＵ４４に送信する。
【００４３】
フラッシュメモリ４５の記憶領域には、電動モータで駆動されるスロットル装置（いずれも図示せず）の状態を監視するための第１制御プログラムＰＲ１１が記憶されている。この第１制御プログラムＰＲ１１は、記憶領域に割り当てられたアドレスによって指定されるアドレス空間に、ブロック単位で記憶されている。
【００４４】
ＣＰＵ４４は、第１制御プログラムＰＲ１１を実行することによって、スロットル装置の状態を監視する。また、ＣＰＵ４４は、Ｋ通信用Ｉ／Ｆ４２および第１ＣＡＮ通信用Ｉ／Ｆ４３を監視し、両者のどちらから更新用プログラムＰＲＵを受信したかを判定するとともに、その判定結果に応じて、第１制御プログラムＰＲ１１を更新する。
【００４５】
図４は、この更新処理のフローチャートを示している。本処理は、更新用プログラムＰＲＵを受信したときに実行される。本処理では、まず、ステップ２１において、更新用プログラムＰＲＵの受信がＫ通信用Ｉ／Ｆ４２を介して行われたか否かを判別する。この判別結果がＹＥＳのときには、受信した更新用プログラムＰＲＵが第１更新用プログラムＰＲＵ１１であるとして、その第１更新用プログラムＰＲＵ１１中のブロック数を記憶するとともに（ステップ２２）、第１制御プログラムＰＲ１１を更新する（ステップ２３）。この更新動作は、前述した第１実施形態と同様、ブロック単位ごとに受信した第１更新用プログラムＰＲＵ１１を、フラッシュメモリ４５の対応するアドレス空間に書き込むことによって行われる。また、第１実施形態と同様、受信した第１更新用プログラムＰＲＵ１１のブロック数と記憶したブロック数を比較することによって、第１更新用プログラムＰＲＵ１１の更新が完了したか否かを判別し（ステップ２４）、この判別結果がＮＯのときには、更新動作を繰り返す。
【００４６】
一方、前記ステップ２１の判別結果がＮＯで、第１ＣＡＮ通信用Ｉ／Ｆ４３を介して更新用プログラムＰＲＵを受信したときには、第２ＥＣＵ４０にそのまま転送し（ステップ２５）、本処理を終了する。
【００４７】
第２ＥＣＵ４０は、第３ＥＣＵ４１とシリアル通信可能に構成されている。第２ＥＣＵ４０は、エンジン３の一方のバンクの各インジェクタ４の燃料噴射制御を実行するためのものであり、ＥＥＰＲＯＭ（図示せず）、第２ＣＡＮ通信用インターフェース（Ｉ／Ｆ）４６、第３ＣＡＮ通信用（Ｉ／Ｆ）４７、ＣＰＵ４８および不揮発性のフラッシュメモリ４９などで構成されている。また、第２ＥＣＵ４０は、信号線（図示せず）を介して一方のバンクのインジェクタ４に接続されている。
【００４８】
第２ＣＡＮ通信用Ｉ／Ｆ４６は、ＣＰＵ４８と他の車両制御装置の間で第４信号線３８を介してＣＡＮ通信を行うためのものである。第３ＣＡＮ通信用Ｉ／Ｆ４７は、ＣＰＵ４８と筒内圧センサ２１の間でＣＡＮ通信を行うためのものであり、筒内圧変化量ＤＰを、第３信号線３７を介して受信し、ＣＰＵ４８に送信する。ＣＰＵ４８は、筒内圧変化量ＤＰに基づいて筒内圧Ｐを算出する。
【００４９】
フラッシュメモリ４９の記憶領域には、筒内圧Ｐに応じて燃料噴射量および燃料噴射時期を設定するための第２制御プログラムＰＲ１２が、記憶領域に割り当てられたアドレスによって指定されるアドレス空間に、ブロック単位で記憶されている。
【００５０】
ＣＰＵ４８は、第１実施形態の第２ＥＣＵ６のＣＰＵ１５と同様、第２制御プログラムＰＲ１２を実行することによって燃料噴射量および燃料噴射時期を設定するとともに、その結果に基づいて、駆動信号を生成し、信号線を介して一方のバンクのインジェクタ４に出力する。また、ＣＰＵ４８は、第１ＥＣＵ３９から更新用プログラムＰＲＵが転送されたとき、プログラム情報中の更新情報に基づいて、受信した更新用プログラムＰＲＵが第２または第３更新用プログラムＰＲＵ１２，ＰＲＵ１３のいずれであるかを判別するとともに、その判別結果に応じて、第２更新用プログラムＰＲ１２を更新する。具体的には、受信した更新用プログラムＰＲＵが第２更新用プログラムＰＲＵ１２であるときには、前述した第１実施形態と同様の方法で、第２制御プログラムＰＲ１２を更新する。
【００５１】
一方、受信した更新用プログラムＰＲＵが第３更新用プログラムＰＲＵ１３であるときには、第３更新用プログラムＰＲＵ１３を破棄し、第２制御プログラムＰＲ１２の更新は行わない。
【００５２】
第３ＥＣＵ４１は、エンジン３の他方のバンクの各インジェクタ４の燃料噴射制御を実行するためのものであり、ＥＥＰＲＯＭ（図示せず）、第４ＣＡＮ通信用インターフェース（Ｉ／Ｆ）５０、第５ＣＡＮ通信用インターフェース（Ｉ／Ｆ）５１、ＣＰＵ５２および不揮発性のフラッシュメモリ５３などで構成されている。また、第３ＥＣＵ４１は、信号線（図示せず）を介して他方のバンクのインジェクタ４に接続されている。
【００５３】
第４および第５ＣＡＮ通信用Ｉ／Ｆ５０，５１はそれぞれ、ＣＰＵ５２と第２書換装置３４および筒内圧センサ２１の間でＣＡＮ通信を行うためのものである。前者５０は、第２書換装置３４からの更新用プログラムＰＲＵを、第２信号線３６を介して受信し、ＣＰＵ５２に送信するとともに、後者５１は、筒内圧変化量ＤＰを、第３信号線３７を介して受信し、ＣＰＵ５２に送信する。ＣＰＵ５２は、筒内圧変化量ＤＰに基づいて筒内圧Ｐを算出する。
【００５４】
フラッシュメモリ５３の記憶領域には、筒内圧Ｐに応じて燃料噴射量および燃料噴射時期を設定するための第３制御プログラムＰＲ１３が、記憶領域に割り当てられたアドレスによって指定されるアドレス空間に、ブロック単位で記憶されている。
【００５５】
ＣＰＵ５２は、第３制御プログラムＰＲ１３を実行することにより燃料噴射量および燃料噴射時期を設定するとともに、その結果に基づいて、駆動信号を生成し、信号線を介して他方のバンクのインジェクタ４に出力する。また、ＣＰＵ５２は、第２書換装置３４から受信した更新用プログラムＰＲＵが第３更新用プログラムＰＲＵ１３のときには、上述した第２制御プログラムＰＲ１２の更新時と同様の手法で、第３制御プログラムＰＲ１３を更新する。一方、第２更新用プログラムＰＲＵ１２を受信したときには、第２更新用プログラムＰＲＵ１２を破棄し、第３制御プログラムＰＲ１３の更新は行わない。
【００５６】
以上のように、本実施形態によれば、第１ＥＣＵ３９のフラッシュメモリ４５に記憶された第１制御プログラムＰＲ１１を更新するための第１更新用プログラムＰＲＵ１１をＫ通信用Ｉ／Ｆ４２を介して受信し、第２ＥＣＵ４０のフラッシュメモリ４９に記憶された第２制御プログラムＰＲ１２を更新するための第２更新用プログラムＰＲＵ１２を第１ＣＡＮ通信用Ｉ／Ｆ４３を介して受信する。このため、Ｋ通信用Ｉ／Ｆ４２または第１ＣＡＮ通信用Ｉ／Ｆ４３のどちらから更新用プログラムＰＲＵを受信したかを監視するだけで、第１または第２制御プログラムＰＲ１１，ＰＲ１２のいずれを更新すべきかを即座に判定することができる。その結果、前述した従来の更新装置と異なり、更新用プログラムを読み込むことも、読み込んだ更新用プログラムに基づいて、第１プログラムまたは第２プログラムのいずれを更新すべきかを判定することも不要になり、その分、第１および第２制御プログラムＰＲ１１，ＰＲ１２の更新を速やかに行うことができる。
【００５７】
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、実施形態では、フラッシュメモリをＥＣＵに内蔵しているが、ＥＣＵの外部に設けてもよい。また、実施形態は、更新装置による更新の対象が、エンジン３の制御プログラムの例であるが、これに限らず、車両Ｖを制御するための他の制御プログラム、例えばトランスミッションの制御プログラムや、車両の挙動の安定化を図るために用いられるＶＳＡシステムの制御プログラム、メータ情報を表示するためのプログラムでもよい。
【００５８】
また、実施形態は、本発明をエンジンを搭載した車両に適用した例であるが、本発明は、これに限らず、電気モータを用いた電気自動車や、エンジンおよび電気モータを併用したハイブリッド車両に適用してもよい。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。
【図面の簡単な説明】
【００５９】
【図１】本発明の第１実施形態による車両制御用プログラムの更新装置を、内燃機関を搭載した車両とともに概略的に示す図である。
【図２】第１制御プログラムの更新処理のフローチャートである。
【図３】本発明の第２実施形態による車両制御用プログラムの更新装置を、内燃機関を搭載した車両とともに概略的に示す図である。
【図４】第１制御プログラムの更新処理のフローチャートである。
【符号の説明】
【００６０】
１  更新装置
５  第１ＥＣＵ（第１制御ユニット）
６  第２ＥＣＵ（第２制御ユニット）
７  第１スイッチ（スイッチ）
９  第１ＣＡＮ通信用Ｉ／Ｆ（第１インターフェース）
１２  フラッシュメモリ（第１記憶部）
１４  第４ＣＡＮ通信用Ｉ／Ｆ（第２インターフェース）
１６  フラッシュメモリ（第２記憶部）
１７  第１信号線（信号線）
３１  更新装置
３５  第１信号線
３６  第２信号線
３９  第１ＥＣＵ（第１制御ユニット）
４０  第２ＥＣＵ（第２制御ユニット）
４２  Ｋ通信用Ｉ／Ｆ（第１インターフェース）
４３  第１ＣＡＮ通信用Ｉ／Ｆ（第２インターフェース）
４５  フラッシュメモリ（第１記憶部）
４９  フラッシュメモリ（第２記憶部）
Ｖ  車両
ＰＲＵ１  第１更新用プログラム
ＰＲＵ１１  第１更新用プログラム
ＰＲＵ２  第２更新用プログラム
ＰＲＵ１２  第２更新用プログラム
ＰＲ１  第１制御プログラム
ＰＲ１１  第１制御プログラム
ＰＲ２  第２制御プログラム
ＰＲ１２  第２制御プログラム
【図１】
0005060242.tif 000002
【図２】
0005060242.tif 000003
【図３】
0005060242.tif 000004
【図４】
0005060242.tif 000005