(57)【特許請求の範囲】
【請求項１】
車両用の制御プログラムが格納された記憶手段と、
前記記憶手段に格納された前記制御プログラムの大半部分を書き換え、前記書き換えられた前記制御プログラムの大半部分が正常の場合に、前記制御プログラムの残余の部分を書き換える書換え処理手段と
を備え、前記書き換えられた制御プログラムに従って車両の運転状態に基づき演算処理し制御量を出力する車両用制御装置であって、
前記記憶手段は、
前記制御プログラムの大半部分を格納する第１のメモリ領域と、
前記制御装置が正常な制御量を演算処理するために最低必要な残りの制御プログラム部分を格納する第２のメモリ領域とを含み、
前記書換え処理手段は、
前記記憶手段の内容を消去処理する消去手段と、
前記消去手段による消去処理後、前記第１のメモリ領域の書き込み処理を行う第１の書込み手段と、
前記第１の書込み手段による書き込み処理後、前記第１のメモリ領域が正しく書き込み処理されたかをチェックする照合手段と、
前記照合手段による結果が期待値と合致した場合にのみ、前記第２のメモリ領域の書き込み処理を行う第２の書込み手段とを含み、
前記第２のメモリ領域は、前記制御プログラムが一番最初に実行開始されるメモリ領域であることを特徴とする車両用制御装置。
【請求項２】
前記照合手段は、書き換えされるプログラムコードのチェックサムであることを特徴とする請求項１に記載の車両用制御装置。
【請求項３】
前記記憶手段は、電気的に書き換え可能な不揮発性メモリであることを特徴とする請求項１または請求項２に記載の車両用制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、マイクロコンピュータを用い制御プログラムに従い制御量を演算処理するエンジン制御、トランスミッション制御等の車両用制御装置に関し、特に制御プログラムを格納するメモリを制御装置に組み付けた状態で書き換え可能にする車両用制御装置に関するものである。
【０００２】
【従来の技術】
通常、車両用制御装置は、温度や振動などの厳しい環境にさらされるため、特にエンジン制御などでは耐振性向上のため、制御プログラムを格納するＲＯＭ（リードオンリメモリ）等の取り付けにはソケットは使用できず、制御装置の組立前に専用機でプログラムを書き込み、基板に直接半田付けされる。
【０００３】
【発明が解決しようとする課題】
ところで、車両用制御装置の内で例えばエンジン制御装置では、量産時のエンジン個体差による制御データのアンマッチ等により、ＲＯＭの内容を変更しなければならない場合がある。
この場合、従来は、一旦ＲＯＭを取り外し書き換えした後、再び半田付けしなければならず、この結果、工数がかかると共に、半田付け部の信頼性が低下する問題があった。
係る問題を解消すべく、例えば特公平８−第２５５６５６２号公報に記載された従来のエンジン制御装置では、ＲＯＭの内容の変更時ＲＯＭを基板に取り付けたまま新しいプログラムを書き込むようにしている。
【０００４】
ところが、このような従来装置では、何らかの要因、例えば書き換え途中で書き込みライン（通信信号ライン）の瞬断により信号が途絶えた場合等に発生する書き込み不良に関しての処置がないため、書き込み作業の後工程で、何らかの方法で書き込まれたＲＯＭの内容をチェックする必要がある。そのため、作業工程が増え、生産性が低下する問題があり、上記チェック工程での人為的ミスにより、チェック結果を見落とす惧れもある。
この場合、ほとんどの運転条件で明らかに異常な制御量となって現れる様な書き込み不良であれば、チェック工程での見落としは、さらにその後工程で発見できる可能性あるが、特殊な条件にのみ異常な制御量となって現れる様な書き込み不良の場合は、発見できず市場に流出させてしまうという問題点があった。
【０００５】
この発明は、上記のような問題点を解消するためになされたもので、ＲＯＭを基板に取り付けたまま、信頼性高いＲＯＭの内容の変更が可能な車両用制御装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
この発明の請求項１に係る車両用制御装置は、車両用の制御プログラムが格納された記憶手段と、記憶手段に格納された制御プログラムの大半部分を書き換え、書き換えられた制御プログラムの大半部分が正常の場合に、制御プログラムの残余の部分を書き換える書換え処理手段とを備え、書き換えられた制御プログラムに従って車両の運転状態に基づき演算処理し制御量を出力する車両用制御装置であって、記憶手段は、制御プログラムの大半部分を格納する第１のメモリ領域と、制御装置が正常な制御量を演算処理するために最低必要な残りの制御プログラム部分を格納する第２のメモリ領域とを含み、書換え処理手段は、記憶手段の内容を消去処理する消去手段と、消去手段による消去処理後、第１のメモリ領域の書き込み処理を行う第１の書込み手段と、第１の書込み手段による書き込み処理後、第１のメモリ領域が正しく書き込み処理されたかをチェックする照合手段と、照合手段による結果が期待値と合致した場合にのみ、第２のメモリ領域の書き込み処理を行う第２の書込み手段とを含み、第２のメモリ領域は、前記制御プログラムが一番最初に実行開始されるメモリ領域であるものである。
【０００９】
この発明の請求項３に係る車両用制御装置は、請求項１の発明において、上記照合手段が、書き換えされるプログラムコードのチェックサムであるものである。
【００１１】
この発明の請求項３に係る車両用制御装置は、請求項１または請求項２の発明において、上記記憶手段が、電気的に書き換え可能な不揮発性メモリであるものである。
【００１２】
【発明の実施の形態】
以下、この発明による車両用制御装置の一実施の形態として例えばエンジン制御装置に適用した場合を例に取り、図を参照して説明する。
【００１３】
実施の形態１．
図１はこの発明の実施の形態１を示す構成図である。
図において、エンジン制御装置１は、各種の演算、処理を行うＣＰＵ１０と、このＣＰＵ１０が読み込んで演算、処理行うための制御プログラムあるいはデータが格納されている電気的に消去／書込み可能な記憶手段としてのＰＲＯＭ（不揮発性メモリ）１１と、このＰＲＯＭ１１を書き換えするための書換え処理プログラムが格納されている消去／書込みが不可能なマスクＲＯＭ１２と、ＣＰＵ１０が演算、処理したデータを書き込み、あるいは読み出しを行うＲＡＭ１３と、各種センサの入力信号の取り込みや各種制御信号の出力を行うＩ／Ｏ１４と、後述の外部装置としての書換え装置２からの書換え信号２ａにより、マスクＲＯＭ１２に格納されている書換え処理プログラムとＰＲＯＭ１１に格納されている制御プログラムを選択する切換回路１５とを備える。
【００１４】
書換え装置２は、書換え用プログラム２０および本装置を制御するプログラムを内蔵し、エンジン制御装置１のマスクＲＯＭ１２は、書換え装置２に内蔵されている書換え用プログラム２０を切換回路１５、ＣＰＵ１０およびシリアル通信ライン２ｃを介して取り込み、ＰＲＯＭ１１を書き換えするための書換え処理プログラムを格納する。
なお、シリアル通信ライン２ｂは上記取り込みが正しく行われたかをＣＰＵ１０が書換え装置２に対してチェエクを行う場合やその他書換え装置２への制御信号を伝送する場合等に使用されるものである。
【００１５】
Ｉ／Ｏ１４にはエンジン回転数を計測するためのクランク角信号１４ａ、エンジンに吸入される空気量を計測するための吸入空気量信号１４ｂが入力され、これらの入力信号に基づいてＣＰＵ１０でエンシンヘの燃料噴射量を演算し、この演算結果による制御量を燃料噴射制御信号１４ｃとしてＩ／Ｏ１４を介して出力するようにしている。
なお、ＣＰＵ１０、ＰＲＯＭ１１、マスクＲＯＭ１２、ＲＡＭ１３、Ｉ／Ｏ１４および切換回路１５は、各々アドレス／データバスで接続されている。
【００１６】
また、上記したエンジン制御に必要な制御プログラムはＰＲＯＭ１１に格納されており、このＰＲＯＭ１１は電気的に消去／書込みが可能であるが、外部の書換え装置２から書換え信号２ａが入力されていない場合は、消去も書き込みも出来ない読み出し専用となり、書換え信号２ａが入力された場合に、消去／書込みが可能となる。
なお、ＣＰＵ１０、マスクＲＯＭ１２、切換回路１５および書換え装置２は、書換え処理手段を構成する。
【００１７】
図２は、この実施の形態におけるエンジン制御装置１に含まれるメモリのアドレス割付を示すメモリマップで、上からアドレスの昇順に並べてある。
即ち、上より順にＣＰＵ１０の内部の機能を切り換えるための各種レジスタのメモリ領域３０、ＲＡＭ１３のメモリ領域３１、書換え処理プログラムを格納するマスクＲＯＭ１２のメモリ領域３２、エンジン制御に必要な制御プログラムを格納するＰＲＯＭ１１の第１のメモリ領域としてのメモリ領域３３、このメモリ領域３３の一部である第２のメモリ領域としてのリセットベクタ領域３３ａであり、リセット解除後ＣＰＵ１０がこのメモリ領域３３ａに指定されているアドレスを読み込み、その指定されたアドレスから制御プログラムを実行処理することになる。
【００１８】
次に、動作について説明する。
先ず、ＰＲＯＭ１１への書換え処理について図３〜図６を用いてに説明する。
図３は、書換え装置２から書換え信号２ａがエンジン制御装置１に入力された場合に実行され、マスクＲＯＭ１２に格納されている書換え処理プログラムの処理を示すフローチャートである。
図において、ステップＳ１１で処理のための各種初期設定を行い、ステップＳ１２で書換え装置２からの書換えコマンドおよびこの装置に内蔵している書換え用プログラム２０を受信したり、コマンドに対する返信をしたりするためのシリアル通信（ＳＣＩ）のモード設定を行い、ステップＳ１３で外部からの通信信号を受信したら割込み処理を行うための受信割込み待ち状態となる。
【００１９】
図４は、書換え処理のためのエンジン制御装置１と書換え装置２の通信シーケンスを示した図であり、図５は、書換え装置２からのコマンド等の通信信号を受信した時に発生するＳＣＩ割込みで実行する処理を示すフローチャートである。
図４において、まずステップＳ２１で書換え装置２から書換え信号２ａがＯＮ出力されるとエンジン制御装置１はステップＳ３１で書換え処理モードとなる。具体的には、上記書換え信号２ａのＯＮ出力により、ＰＲＯＭ１１を消去／書込み可能な状態にすると共に、切換回路１５によりプログラムをマスクＲＯＭ１２に格納されている書換え処理プログラムに切り換え、ＣＰＵ１０は図３に示すフローチャートの処理を実行後ＳＣＩ割込み待ち、即ちコマンド待ち状態となる。
【００２０】
次に、書換え装置２はステップＳ２２で消去のための消去コマンドを送信すると、エンジン制御装置１はステップＳ３２（消去手段）で消去処理を実行する。具体的には、ＣＰＵ１０が消去コマンドを受信すると、図５に示すＳＣＩ割り込み処理が実行され、ステップＳ４１で“書込み中フラグ”がＹＥＳでなければ、ステップＳ４４で消去コマンドを認識し、ステップＳ４５でＰＲＯＭ（不揮発性メモリ）１１を消去し、ステップＳ４６で今回の割り込み処理を終了する。
次に、書換え装置２は図４のステップＳ２３で書き込みのための書込みコマンドを送信すると、エンジン制御装置１はステップＳ３３（第１の書込み手段）で書き込み処理の準備を行い、ついで所定フォーマットで送られてくる制御プログラムの大半部分を占める書込みデータＤ１をＰＲＯＭ１１に書き込んでいく。
【００２１】
ここで、書き込みデータＤ１は、図２のメモリマップのリセットベクタ３３ａ以外即ちメモリ領域３３に格納されるデータに相当する。具体的には、ＣＰＵ１０が書込みコマンドを受信するとＳＣＩ割り込み処理（図５）が実行され、ステップＳ５０で書込みコマンドを認識し、ステップＳ５１で“書込み中フラグ”をＹＥＳにセットすると共に、書込み処理で書込みデータ数を計測するためのＣＰＵ１０に含まれるカウンタ（図示せず）の“ｃｏｕｎｔ１”を０にセットし、ステップＳ５２で今回の割り込みを一旦終了する。
【００２２】
次に、書込みコマンドについで送られてくる書込みデータを受信すると、再度ＳＣＩ割込み処理（図５）が実行され、先頭のステップＳ４１で“書き込み中フラグ”がチェックされるが、前回のＳＣＩ割り込み処理時に“書込み中フラグ”がＹＥＳにセットされているため、ステップＳ４１では“書込み中フラグ＝ＹＥＳ”と判定され、書込み処理（ステップＳ４２）が実行される。
このステップＳ４２における書込み処理の詳細処理を、書込み処理のフローチャートを示す図６を用いて説明する。
ここで送られてくる書込みデータは、「書込み全データ数（ｎ）」＋「書込み先頭アドレス」＋「書込みデータＤ１」＋・・＋「書込みデータＤｎ」のデータ順に送られてくる。
【００２３】
図６において、ステップＳ６１で２番目に送られてきた「書込み先頭アドレス」に、ステップＳ５１（図５）で０セットしたｃｏｕｎｔ１の値を加算したＰＲＯＭ１１のアドレスに、３番目に送られてくる「書込みデータＤ１」を書き込む。
次に、ステップＳ６２で上記ｃｏｕｎｔ１の値をインクリメントし、ステップＳ６３でこのｃｏｕｎｔｌの値を１番目に送られてきた「書込み全データ数ｎ」と比較し、ｃｏｕｎｔ１が「書込みデータ数ｎ」に達するまで、即ち全データの書き込みが終了するまで、書込みデータ受信毎に上記処理を繰り返す。
【００２４】
この様にして、３番目以降に送られてくる「書込みデータ」をＰＲＯＭ１１に順番に書き込んでいく。
次に、ステップＳ６３で全データ書込み終了判定された場合は、ステップＳ６４で“書込み中フラグ”’をＮＯにセットして書込み処理を終了する。“書込み中フラグ”をＮＯにセットしたのは、次の受信データを、受信した時実行されるＳＣＩ割込み処理（図５）のステップＳ４１でＮＯと判定させ、次のコマンドとして認識させるためである。
【００２５】
次に、再び図４に戻って、書換え装置２はステップＳ２４でチェックサムを要求するためチェックサム送信コマンドを送信すると、エンジン制御装置１はステップＳ３４でチェックサムを計算しその結果を送信する。
具体的には、ＣＰＵ１０がチェックサム送信コマンドを受信するとＳＣＩ割込み処理（図５）が実行され、ステップＳ４７でチェックサムコマンドを認識し、ステップＳ４８でＰＲＯＭ１１の全領域のデータを加算し、その合計値（チェックサム）を求めた後、結果を書換え装置２に送信し、ステップＳ４９で今回の割込み処理を終了する。
【００２６】
次に、書き換え装置２で処理される図４のステップＳ２５、Ｓ２６、Ｓ２７は、本実施の形態の特徴部であり、まず、ステップＳ２５（照合手段）で先ほど送られてきたチェックサムを予め計算し、格納しておいたチェックサムの設計値と照合する。
照合の結果が一致しておれば、ステップＳ２７、Ｓ３５（第２の書込み手段）で書込みデータＤ２に対して上述のステップＳ２３、Ｓ３３と同様の書込み処理を行い、ステップＳ２８で書換え信号２ａをＯＦＦさせ全ての書換え処理を終了し、エンジン制御装置１も上記書換え信号２ａのＯＦＦを受け全ての書き換え処理を終了する。
ここで、書込みデータ２ａは、エンジン制御装置１が正常な制御量を演算処理するに最低必要な制御プログラムの内容であり、図２のメモリマップのリセットベクタ領域３３ａに格納されるデータに相当する。
【００２７】
一方、ステップＳ２５で照合結果が不一致となった場合は、ステップＳ２６で書換え装置２に書込み不良を表示させた後、上記で説明したステップＳ２８の処理を行い全ての書換え処理を終了する。
以上の処理にて、例えば、書込み時間の大半を占める書込みデータＤ１の書き込み途中で書換えライン（シリアル通信ライン２ｂ，２ｃ）が瞬断した場合等は、ステップＳ２５でチェックサム照合が一致しないため、リセットベクタ領域３３ａには正規データが書き込まれず、ステップＳ３２で消去処理された状態（ａｌｌ“１”）のままとなる。その結果、ＣＰＵ１０はリセット解除後、制御プログラムが実行開始するアドレスが正規に指定されないため、エンジン制御装置１は明らかに異常な制御量を出力することになる。
【００２８】
尚、図５において、書換え装置２から送られてくる信号が、ステップＳ４１、Ｓ４４、Ｓ４７、Ｓ５０の何れにも該当しない場合、ステップＳ５３で書換え装置２にエラーを返信し、ステップＳ５４で割り込み処理を終了する。
このエラー返信を受けて、書換え装置２では、図示しないが例えばステップＳ２５でのチェックサム不一致時と同一処理をすることも可能である。
【００２９】
このように本実施の形態では、電気的に書き換え可能な不揮発性メモリに格納された制御プログラムを、外部の書換え装置に格納された書換え用プログラムに書き換えする書換え処理手段を設け、この書換え処理手段は、不揮発性メモリを消去後、第１のメモリ領域即ちメモリ領域３３を書き込み、正しく書き込み処理が実行された場合のみ、制御装置が正常な制御量を演算処理するために最低必要な制御プログラムが格納される第２のメモリ領域即ちリセットベクタ領域３３ａを書き込み実行するので、不揮発性メモリ即ちＲＯＭを取り外さずに制御プログラムの書き換えが可能になる他、何らかの要因で書き込み不良が発生した場合、メモリを消去後、大半の制御プログラムを書き込んだ後、正しく書き込まれた場合のみ、制御装置が正常な動作をするために最低必要な制御プログラムを書き込む、即ち、正しく書き込めなかった場合は、制御装置が正常に動作するための最低必要な制御プログラムが書き込まれないため、その後の工程で書き込み不良を容易に発見でき、不良品の市場への流出が防止できる。
【００３０】
実施の形態２．
なお、上記実施の形態１では、エンジン制御装置が正常な制御量を演算処理するに最低必要な制御プログラム（書き込みデータＤ２）を書き込む領域として、リセットベクタ領域３３ａを用いる場合について説明したが、これに限定されるものでなく、上記したＳＣＩ等の各種割込が発生した時にジャンプ先を指定するためのベクタアドレス領域としてもよい。
また、上記実施の形態１では、エンジン制御の代表的な制御である燃料噴射制御について説明したが、さらに入出力信号を追加して、点火制御、アイドルの空気量を制御するアイドル回転数制御を行うことも可能である。
さらに、上記実施の形態１では、この発明をエンジン制御装置に適用した場合について説明したが、これに限定されることなく、車両用のその他の制御装置例えばトランスミッション制御装置やパワーステアリング制御装置等にも同様に適用可能である。
【００３１】
【発明の効果】
以上のように、請求項１の発明によれば、車両用の制御プログラムが格納された記憶手段と、記憶手段に格納された制御プログラムの大半部分を書き換え、書き換えられた制御プログラムの大半部分が正常の場合に、制御プログラムの残余の部分を書き換える書換え処理手段とを備え、書き換えられた制御プログラムに従って車両の運転状態に基づき演算処理し制御量を出力する車両用制御装置であって、記憶手段は、制御プログラムの大半部分を格納する第１のメモリ領域と、制御装置が正常な制御量を演算処理するために最低必要な残りの制御プログラム部分を格納する第２のメモリ領域とを含み、書換え処理手段は、記憶手段の内容を消去処理する消去手段と、消去手段による消去処理後、第１のメモリ領域の書き込み処理を行う第１の書込み手段と、第１の書込み手段による書き込み処理後、第１のメモリ領域が正しく書き込み処理されたかをチェックする照合手段と、照合手段による結果が期待値と合致した場合にのみ、第２のメモリ領域の書き込み処理を行う第２の書込み手段とを含むので、何らかの要因で制御データの変更が必要となった場合、記憶手段を取り外さずに制御プログラムの書き換えが可能になり、以て、記憶手段変更時の工数が低減する他、車載状態でも書き換え可能なため、市場での不具合処置を敏速に行うことができるという効果がある。
また、書き換えの際、何らかの要因で書き込み不良が発生した場合、記憶手段の内容を消去後、大半部分の制御プログラムを書き込んだ後、正しく書き込まれた場合のみ、制御プログラムの残余の部分即ち制御装置が正常な動作をするために最低必要な制御プログラムを書き込む、つまり、正しく書き込めなかった場合は制御装置が正常に動作するための最低必要な制御プログラムが書き込まれないため、書き換え後の工程で書き込み不良を容易に発見でき、不良品の市場への流出が防止でき、特に、市場での不具合処置において、制御装置を車両に搭載した状態で書き換える場合に有効で、非常に信頼性の高い書き換えを行うことができるという効果がある。
また、何らかの要因で制御データの変更が必要となった場合、記憶手段を取り外さずに制御プログラムの書き換えが可能になり、以て、記憶手段変更時の工数が低減する他、車載状態でも書き換え可能なため、市場での不具合処置を敏速に行うことができるという効果がある。
さらに、書き換えの際、何らかの要因で書き込み不良が発生した場合、記憶手段を消去後、大半の制御プログラムを第１のメモリ領域に書き込んだ後、正しく書き込まれた場合のみ、制御装置が正常な動作をするために最低必要な制御プログラムを第２のメモリ領域に書き込む、即ち、正しく書き込めなかった場合は制御装置が正常に動作するための最低必要な制御プログラムが書き込まれないため、書き換え後の工程で書き込み不良を容易に発見でき、不良品の市場への流出が防止でき、特に、市場での不具合処置において、制御装置を車両に搭載した状態で書き換える場合に有効で、非常に信頼性の高い書き換えを行うことができるという効果がある。
また、第２のメモリ領域は、制御プログラムが一番最初に実行開始されるメモリ領域であるので、書き換え後の工程で書き込み不良を容易に発見でき、不良品の市場への流出が確実に防止できるという効果がある。
【００３４】
請求項２の発明によれば、照合手段は、書き換えされるプログラムコードのチェックサムであるので、書き換えの信頼性をより向上できるという効果がある。
【００３６】
請求項３の発明によれば、記憶手段は、電気的に書き換え可能な不揮発性メモリであるので、制御プログラムの書き換えを効率よく行うことができるという効果がある。
【図面の簡単な説明】
【図１】この発明の一実施の形態を示す構成図である。
【図２】この発明の一実施の形態におけるメモリのアドレス割付を示す図である。
【図３】この発明の一実施の形態における書換え処理を示すフローチャートである。
【図４】この発明の一実施の形態における書換えのための通信シーケンスを示す図である。
【図５】この発明の一実施の形態におけるシリアル通信を用いた書換え処理を示すフローチャートである。
【図６】この発明の一実施の形態における書込み処理を示すフローチャートである。
【符号の説明】
１  エンジン制御装置、２  書換え装置、１０  ＣＰＵ、１１  不揮発生メモリ（ＰＲＯＭ）、１２  マスクＲＯＭ、１３  ＲＡＭ、１５  切換回路、２０  書換え用プログラム。
【図１】
0003626328.tif 000002
【図２】
0003626328.tif 000003
【図３】
0003626328.tif 000004
【図４】
0003626328.tif 000005
【図５】
0003626328.tif 000006
【図６】
0003626328.tif 000007