(57)【要約】【課題】この発明は、不揮発性メモリのプログラムの書換え時の信頼性を向上し、製造ラインや整備ラインでの工程設定の自由度を増すことを目的とする。【解決手段】この発明は、ブロック単位で、プログラム、あるいはデータの書込みや消去が可能な不揮発性メモリを備える車両用制御装置において、外部装置から書換えを指示されたときには、前記外部装置から送られた更新プログラムやデータを、ブロック毎に書換え処理を実行し、書込まれる更新プログラムを、更新されるプログラムが格納されたブロックではなく任意の空いたブロックに書込むように制御する書換え制御手段を備えていることを特徴とする。【選択図】図１
2008291666.tif 000002
【特許請求の範囲】
【請求項１】
ブロック単位で、プログラム、あるいはデータの書込みや消去が可能な不揮発性メモリを備える車両用制御装置において、外部装置から書換えを指示されたときには、前記外部装置から送られた更新プログラムやデータを、ブロック毎に書換え処理を実行し、書込まれる更新プログラムを、更新されるプログラムが格納されたブロックではなく任意の空いたブロックに書込むように制御する書換え制御手段を備えていることを特徴とする車両用制御装置。
【請求項２】
前記書換え制御手段は、エンジン稼動中においても書換え処理を実施可能であることを特徴とする請求項１に記載の車両用制御装置。
【請求項３】
前記書換え制御手段は、前記更新されるプログラムを、更新プログラムが書込まれた後であって、消去可能条件を満たす場合に消去することを特徴とする請求項１に記載の車両用制御装置。
【請求項４】
前記書換え制御手段は、イグニッション信号がオンあるいはオフした場合、又は外部装置から消去指令が入力された場合に、前記消去可能条件が満たされたと判断することを特徴とする請求項３に記載の車両用制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は車両用制御装置に係り、特に、制御プログラムを保存するための、ブロック単位で書換え可能な不揮発性メモリについて、書換え時の信頼性向上を図った車両用制御装置に関する。
【背景技術】
【０００２】
車両においては、近年、電子制御化が進み、車載用の電子制御装置として、例えば、エンジンを制御するエンジンコントローラ、自動変速機を制御するトランスミッションコントローラ、パワーステアリングを制御するパワステコントローラ等が搭載されている。これらの車両用制御装置は、ブロック単位で、プログラムあるいはデータの書き込みや消去が可能なフラッシュメモリと呼ばれる不揮発性メモリを備え、エンジン等の制御プログラムを書き換えて更新可能としている。
【０００３】
従来の車両用制御装置には、不揮発性メモリ書換え要求が入力されると、メモリ書込動作中継続的にエンジンを動作させるようにバックアップしてから、不揮発性メモリの書換えを行うことで、不揮発性メモリの書換え中にエンジンを常時回転させて安定した動作電圧を供給し、プログラムの書換え不良をなくすものがある。
【特許文献１】特開平１０−１６１９４１号公報
【０００４】
従来の車両用制御装置には、外部から不揮発性メモリに供給する書込み電圧を監視し、書込み電圧が正確に供給されなかったときは書込み動作を行わず、誤書込みを防止するものがある。
【特許文献２】特開平９−２１３０８８号公報
【０００５】
従来の車両用制御装置には、不揮発性メモリの非書換え領域に、メモリ書換え制御プログラムとともに書換え中にエンジン制御を行わせるための書換え時用のエンジン回転制御プログラムを格納し、書換え指令時にエンジンが運転中であれば、書換え対象であるエンジン回転制御プログラムに代えて書換え時用のエンジン回転制御プログラムを実行し、バッテリの電圧低下による書換えの失敗を阻止するものがある。
【特許文献３】特開２００４−３４６７８９号公報
【０００６】
従来の車両用制御装置には、不揮発性メモリを書き換える際に、制御装置に接続した書換え機によってエンジン制御ファクタとは独立したデータを入力し、不揮発性メモリの書換え可能なブロックのデータを書き換えることで、ディーラが独自に必要とする車両の個別データを書き換え可能且つ読み出し可能とし、顧客の車両管理やアフターサービスに活用できるようにしたものがある。
【特許文献４】特開２００４−１３７９５号公報
【０００７】
従来の車両用制御装置には、不揮発性メモリを書き換え用電源またはコントロールユニット供給電源を検出し、検出電源が所定値以下のときは不揮発性メモリのデータ書換えを禁止することで、書換えの失敗を未然に防止するものがある。
【特許文献５】特開平１１−６２９６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、車両用制御装置においては、フラッシュメモリと呼ばれる書換え可能な不揮発性メモリが使用されるようになった。不揮発性メモリの使用によって、これまで半導体メーカや車載用電子コントローラメーカで実施されていた、プログラムの書込みは、車両メーカの工場でも行なえるようになった。また、車両の販売後にプログラムの不具合が発見された場合には、車両修理業者によってプログラムの書込み（書換え）が行なわれるようになった。
図４に示すように、不揮発性メモリ１０１は、書換え可能なメモリ空間（非保護領域）１０２と書換え不可能なメモリ空間（保護領域）１０３とを備えている。書換え可能なメモリ空間１０２には、車両用制御装置の制御用のプログラムが配置される。書換え可能なメモリ空間１０２は、最下位アドレスから最上位アドレスに向かって、例えばブロック１〜ブロック５までの複数の連続した領域に割り付けられる。
また、最上位アドレスの書換え不可能なメモリ空間１０３には、プログラムの書換えを実施するため、最低限の消去されては機能しないプログラム（例えば、通信プログラム、書換えプログラム）が配置される。保護領域である書換え不可能なメモリ空間は、不揮発性メモリ以外の別のデバイス（マスクＲＯＭ等）が使用される場合もあるが、不揮発性メモリの１ブロックを適用する場合もある。後者の方式では、最低限消去されては機能しないプログラムが誤って消去されないよう、ソフトウエア上保護されている。
【０００９】
車両用制御装置は、外部に接続された書換え用の外部装置から書換え要求を受信すると、図５に示すように、書換え処理を開始し（Ａ０１）、外部装置からのエンジン動作状態の問い合わせへ応答し（Ａ０２）、エンジン停止中かを判断する（Ａ０３）。
エンジン停止中（Ａ０３：ＹＥＳ）の場合は、外部装置からの書込み状態の問い合わせへ応答し（Ａ０４）、外部装置から指定された書換え可能なメモリ空間１０２のブロックを消去し（Ａ０５）、外部装置から受信した更新プログラムを書換え可能なメモリ空間１０２の消去したブロックに書込み（Ａ０６）、書換え可能なメモリ空間１０２のデータをベリファイ（検証）し（Ａ０７）、処理を終了する（Ａ０８）。一方、エンジン駆動中（Ａ０３：ＮＯ）の場合は、書換え処理を拒否し（Ａ０９）、処理を終了する（Ａ０８）。
このように、車両用制御装置の外部に接続された書換え用の外部装置は、車両用制御装置に対し書換え要求を送信し、車両用制御装置から書換え許可が返信されると、車両用制御装置用の更新プログラムを車両用制御装置に転送する。車両用制御装置は、まずブロック単位で書換え可能な不揮発性メモリの書換え可能なメモリ空間の書換え対象ブロック全域を一括消去したあと、書換え対象のブロックに車両用制御装置用の更新プログラムを書き込む。消去および書込みは、ブロック単位で行われる。
【００１０】
ところが、不揮発性メモリへのプログラムの書込みを従来技術で実施する場合には、書き込まれる更新プログラムを書込む直前に、書換え前の更新されるプログラムの一部または全てが消去されるため、書換え中に書込み用の外部装置が恒久的な故障状態になった場合、その車両のエンジンは始動不可能となる問題があった。
また、更新プログラムの書換えは、エンジンが停止状態で行われ、書換えに必要な電源をバッテリからのみ供給してるので、更新プログラムの書換え中のバッテリ電力消費によって電圧低下を招き、書換えが中断されたり書換えに失敗する場合があり、書換えの失敗により車両のエンジンが始動不可能となる問題がある。
さらに、車両メーカでのプログラムの書込みは、エンジンが停止状態である組立て工程で実施されており、書換えの工程（時間）の制限が厳しく、書換え時間の確保が困難な問題があった。
【００１１】
この発明は、不揮発性メモリのプログラムの書換え時の信頼性を向上し、製造ラインや整備ラインでの工程設定の自由度を増すことを目的とする。
【課題を解決するための手段】
【００１２】
この発明は、ブロック単位で、プログラム、あるいはデータの書込みや消去が可能な不揮発性メモリを備える車両用制御装置において、外部装置から書換えを指示されたときには、前記外部装置から送られた更新プログラムやデータを、ブロック毎に書換え処理を実行し、書込まれる更新プログラムを、更新されるプログラムが格納されたブロックではなく任意の空いたブロックに書き込むように制御する書換え制御手段を備えていることを特徴とする。
【発明の効果】
【００１３】
この発明の車両用制御装置は、不揮発性メモリへのプログラム書込み中において、書換え用の外部装置が故障してしまっても、書換え前の更新されるプログラムが消去されていないため、車両運転時に支障となることはない。これにより、この車両用制御装置は、不揮発性メモリの書換え時の信頼性向上に貢献できる。さらに、この発明の車両用制御装置は、不揮発性メモリの書換えを実際に行う場合において、書換えが完了していない状態で自由に車両を移動可能なため、ディーラ等の整備業者や、車両製造ラインにとって好都合なシステムである。
【発明を実施するための最良の形態】
【００１４】
以下、図面に基づいてこの発明の実施例を説明する。
【実施例】
【００１５】
図１〜図３は、実施例を示すものである。図１は実施例を示す車両用制御装置のブロック図、図２は不揮発性メモリの書換え時のメモリ空間レイアウトを示す図、図３は不揮発性メモリの書換え時のフローチャートである。
図１において、１は車両に搭載された車両用制御装置、２は外部装置、３はコネクタ装置である。車両用制御装置１は、記憶した制御プログラムにより制御対象を制御するものであり、例えば、エンジンを制御するエンジンコントローラ、自動変速機を制御するトランスミッションコントローラ、パワーステアリングを制御するパワステコントローラ等がある。
外部装置２は、車両用制御装置１に記憶したプログラムを書換えるものであり、故障診断テスタ、コンピュータ、専用機等がある。車両用制御装置１には、コネクタ装置３の制御装置側コネクタ４を設けている。外部装置２には、コネクタ装置３の外部装置側コネクタ５を設けている。車両用制御装置１と外部装置２とは、コネクタ装置３の制御装置側コネクタ４と外部装置側コネクタ５とを結合・離脱することにより、接続・切断可能に設けている。
車両用制御装置１は、外部装置２との間でコネクタ装置３を介してデータ通信を行う通信ポート６を設け、後述の入力処理回路１１からの信号に基づいて制御対象に対する最適制御量を演算し、この演算結果に基づいた制御信号を出力する中央処理装置であるＣＰＵ７を設け、制御対象を制御するための制御用のプログラムを記憶する不揮発性メモリ（フラッシュメモリ）８を設け、ＣＰＵ７が演算を行うためのデータを保存する書換え可能なメモリ（ＲＡＭ）９を設けている。
また、車両用制御装置１は、制御用のデータを検出するセンサ（例えば、エンジン回転数センサ、エンジン水温センサ、バッテリ電圧センサ等）１０からの信号を入力して波形処理する入力処理回路１１を設け、ＣＰＵ７からの制御信号を受けて制御用のアクチュエータ（例えば、アイドルスピードコントロールバルブ等）１２を駆動する出力制御回路１３を設け、他の制御装置（例えば、エンジンコントローラ、トランスミッションコントローラ、パワステコントローラ等）１４との間でデータ通信を行う通信ポート１５を設けている。
前記外部装置２は、車両用制御装置１とコネクタ装置３を介してデータ通信を行う通信ポート１６を設け、車両用制御装置１に対して更新プログラムの書換え用の制御信号を出力するを中央処理装置であるＣＰＵ１７を設け、車両用制御装置１の更新プログラムあるいは更新データのファイルを記憶した記憶媒体１８を設け、ＣＰＵ１７による書換え制御用のプログラムを記憶したメモリ（ＲＯＭ）１９を設け、ＣＰＵ１７が演算を行うためのデータを保存する書換え可能なメモリ（ＲＡＭ）２０を設けている。外部装置２は、ＣＰＵ１７によって、車両用制御装置１の不揮発性メモリ８に記憶されたプログラムあるいはデータを、記憶媒体１８に記憶した更新プログラムあるいは更新データに繰り返し書換える処理を実施することができる。
【００１６】
前記車両用制御装置１の不揮発性メモリ８は、ＣＰＵ７による制御用のプログラムを記憶する一方で、ブロック単位で、記憶しているプログラム、あるいはデータの書込みや消去が可能である。不揮発性メモリ８は、図２に示すように、書換え可能なメモリ空間（非保護領域）２１と書換え不可能なメモリ空間（保護領域）２２とを備えている。
書換え可能なメモリ空間２１には、ＣＰＵ７による制御用（例えば、エンジンコントローラならエンジン制御用）のプログラム、外部装置２との通信プログラム、プログラム書換えを実施するための書換えプログラム等が配置される。制御用のプログラムは、再配置可能なデータ形式とし、任意の空きブロックにデータを書込まれる。書換え可能なメモリ空間２１は、図２に示すように、最下位アドレスから最上位アドレスに向かって、例えばブロック１〜ブロック８までの複数の連続した領域に割り付けられる。ブロック１〜３には、エンジン制御用のプログラム１〜３が保存される。ブロック４には、通信プログラム、書換えプログラム等が保存される。ブロック５〜８は、空きブロックとなっている。
また、最上位アドレスの書換え不可能なメモリ空間２２には、メモリ管理を行うメモリ管理システム（オペレーティングシステム）が保存される。メモリ管理システムは、メモリ再配置情報や識別番号情報（プログラム管理情報）を利用して、どの領域にどの様なプログラムが保存されているか、どの順序でプログラムを起動するかを判断・管理する。なお、再配置情報は、不揮発性メモリ８の書換え可能なメモリ空間２１の一部に書込むが、ＥＥＰＲＯＭ等の読書き可能な不揮発性メモリに保存することができる。
【００１７】
前記車両用制御装置１は、書換え制御手段２３を備えている。書換え制御手段２３は、外部装置２から書換えを指示されたときには、外部装置２から送られた更新プログラムやデータを、ブロック毎に書換え処理を実行し、不揮発性メモリ８に書込まれる更新プログラムを、更新されるプログラムが格納されたブロックではなく、任意の空いたブロックに書込むように制御する。この書換え制御手段２３は、エンジン稼動中においても書換え処理を実施可能である。また、書換え制御手段２３は、更新されるプログラムを、更新プログラムが書込まれた後であって、消去可能条件を満たす場合に消去する。さらに、書換え制御手段２３は、イグニッション信号がオンあるいはオフした場合、又は外部装置２から消去指令が入力された場合に、消去可能条件が満たされたと判断する。
【００１８】
次に作用を説明する。
車両用制御装置１は、外部装置２から書換え要求を受信すると、書換え制御手段２３によって書換え処理を実行する。
書換え処理手段２３は、外部に接続された書換え用の外部装置２から書換え要求を受信すると、図３に示すように、書換え処理を開始し（Ｂ０１）、エンジン動作状態はそのまま保持（エンジン稼働中は稼働状態、エンジン停止中は停止状態）して、外部装置２からの書込み状態の問い合わせへ応答し（Ｂ０２）、外部装置２からの更新プログラムを書換え可能なメモリ空間２１の空きブロック（例えば、ブロック５）へ書込み、再配置情報、プログラム管理情報の更新（例えば、ブロック４）を行う（Ｂ０３）。
その後、非保護領域（書換え可能なメモリ空間２１）のデータのベリファイを行い（Ｂ０４）、イグニッション信号がオンあるいはオフしたか、又は外部装置２から消去指令が入力されたかを判断する（Ｂ０５）。
イグニッション信号がオンあるいはオフし、又は外部装置２から消去指令が入力された（Ｂ０５：ＹＥＳ）の場合は、外部装置１から指定されたブロック（例えば、書換え対象のプログラムが記憶されたブロック３）を消去し、再配置情報、プログラム管理情報の更新を行い（Ｂ０６）、処理を終了する（Ｂ０７）。一方、イグニッション信号がオンあるいはオフせず、又は外部装置２から消去指令が入力しない（Ｂ０５：ＮＯ）の場合は、処理を終了する（Ｂ０７）。
【００１９】
図２に示す不揮発性メモリ８においては、書換え可能なメモリ空間（非保護領域）２１のブロック１〜４までの領域にプログラムが保存済みであり、ブロック５〜８は空いている。エンジン始動後は、通常、ブロック１〜３に記憶されたエンジン制御用のプログラムが稼働する。エンジン制御用のプログラムの稼働中に、外部装置２からの書換え処理の要求があった場合は、ブロック４に保存された書換えプログラム（最低限の通信機能を含む）も並行してマルチタスク処理される。この場合、空きブロックのブロック５〜８へは、エンジン稼働中でも書込みを行うことができる。
仮に、外部装置２がブロック３のエンジン制御用のプログラムを更新した場合は、更新プログラムを空きブロックのブロック５などに書込み、その後イグニション信号のオンあるいはオフ、又は外部装置２からの消去指令（トリガ）によって、ブロック３のプログラムを消去する。
但し、メモリ再配置情報などをＥＥＰＲＯＭのようにバイト単位で読書き可能な車両用制御装置の場合は、ブロック３を未使用として管理しておけば、直ちに消去する必要は無い。工場での書込みの場合など書込み工程の時間が限られている場合は、消去せずにおくことが有効である。
上記の例では、エンジン制御と書換えは別タスクで処理されるため、書換え開始時のエンジン稼動状態が保持される。そのため、バッテリ電源の低下の防止や、従来組み付け工程に限られていた書込み作業も、走行検査工程などの工程でも書換えができるといったメリットがある。
更新プログラムは、空き領域に書込まれ、イグニション信号のオンあるいはオフ、又は外部装置２からの消去指令によって、再配置情報やプログラム管理情報が更新されない限り、旧プログラムは消去されないし、更新プログラムも稼動しない。
車両用制御装置１のプログラムの書換えは、工場やディーラのような安定した環境での書換えを想定していたが、プログラムの書換えの裾野が運転者自身まで広がろうとしていおり、今後は不特定多数の運転者でも対応できる安定性が求められる。特に問題となるのは、書換え用の外部装置２などの何らかの問題で、書換え途中で書換え中断せざるを得ない状況となった場合、書換え前の状態に戻せないという問題であった。この車両用制御装置１は、そのような不便さを無くし、安心して書換えを行なえる。
また、従来、工場でのプログラムの書込み工程は、組み付け工程などで行なわれ、適用できる工程も時間も限られた。この車両用制御装置１は、例えばエンジン始動が可能で各種完成検査に対応した共通プログラムを書込み、そのプログラムがあれば、組み付け工程でなくともその後の車両検査工程などエンジン稼動してからの工程に移動し、そこで所定の検査を行ないながら、量産仕様のプログラムの書込みをすることが可能となり、書込み時間や工程の自由度が向上する。また、特に検査工程では、外部装置との通信を行なう設備が集中しており、書込みを検査工程で行なえば、設備の統合化が可能となり、作業効率が向上する。
【００２０】
このように、この車両用制御装置１は、書換え制御手段２３によって、不揮発性メモリ８に書込まれる更新プログラムを、更新されるプログラムが格納されたブロックではなく、任意の空いたブロックに書込むように制御するので、不揮発性メモリ８へのプログラム書込み中において、書換え用の外部装置２が故障してしまっても、書換え前の更新されるプログラムが消去されていないため、車両運転時に支障となることはない。これにより、この車両用制御装置１は、不揮発性メモリ８の書換え時の信頼性向上に貢献できる。さらに、この車両用制御装置１は、不揮発性メモリ８の書換えを実際に行う場合において、書換えが完了していない状態で自由に車両を移動可能なため、ディーラ等の整備業者や、車両製造ラインにとって好都合なシステムである。
車両用制御装置１の書換え制御手段２３は、エンジン稼動中においても書換え処理を実施可能であるので、バッテリ電源低下の心配はない。また、書換え制御手段２３は、更新されるプログラムを、更新プログラムが書込まれた後であって、消去可能条件を満たす場合に消去するので、更新プログラムが書込まれた後も消去可能条件を満たすまでは更新されるプログラムが消去されずに残るので、車両製造ラインでの書き込みのように充分な時間が確保できない状態では有効である。さらに、書換え制御手段２３は、イグニッション信号がオンあるいはオフした場合、又は外部装置２から消去指令が入力された場合に、消去可能条件が満たされたと判断するので、空きブロックに格納された更新プログラムが、プログラム管理上においても認識された場合のみ、消去可能である。このため、この車両用制御装置１は、更新プログラムが正常に働かない状態で、更新されたプログラムも消去されてしまう状態が起こることはない。
【産業上の利用可能性】
【００２１】
この発明の車両用制御装置は、エンジンコントローラに限らず、フラッシュメモリを用いたトランスミッションコントローラ等の車両用制御装置に展開可能なシステムである。
【図面の簡単な説明】
【００２２】
【図１】実施例を示す車両用制御装置のブロック図である。
【図２】実施例を示す不揮発性メモリの書換え時のメモリ空間レイアウトを示す図である。
【図３】実施例を示す不揮発性メモリの書換え時のフローチャートである。
【図４】従来例を示す不揮発性メモリの一般的なメモリ空間レイアウトを示す図である。
【図５】従来例を示す不揮発性メモリの書換え時のフローチャートである。
【符号の説明】
【００２３】
１  車両用制御装置
２  外部装置
３  コネクタ装置
６  通信ポート
７  ＣＰＵ
８  不揮発性メモリ
９  メモリ
１０  センサ
１１  入力処理回路
１２  アクチュエータ
１３  他の制御装置
１５  通信ポート
１６  通信ポート
１７  ＣＰＵ
１８  記憶媒体
１９  メモリ
２０  メモリ
２１  書換え可能なメモリ空間
２２  書換え不可能なメモリ空間
２３  書換え制御手段
【図１】
2008291666.tif 000003
【図２】
2008291666.tif 000004
【図３】
2008291666.tif 000005
【図４】
2008291666.tif 000006
【図５】
2008291666.tif 000007