(57)【特許請求の範囲】
【請求項１】
電気的に消去及び書き込みが可能な不揮発性メモリを備えたマイクロコンピュータを含む自動車用電子制御装置であって、
前記マイクロコンピュータが外部機器からの前記不揮発性メモリのユーザ領域の書き込み要求に応答しない状態が所定回数以上に継続するときに、前記マイクロコンピュータを、前記不揮発性メモリのユーザ領域の書き換えを可能とするブートモードに設定するブートモード設定ユニットを有する、自動車用電子制御装置。
【請求項２】
前記ブートモード設定ユニットは、前記マイクロコンピュータが前記外部機器からの前記不揮発性メモリのユーザ領域の書き込み要求に応答しない状態が所定回数以上に継続するときに、前記マイクロコンピュータを、前記不揮発性メモリのユーザ領域の書き換えを可能とするブートモードに設定するとともに、前記マイクロコンピュータのリセット信号の発生が所定回数以上に継続するときに、前記マイクロコンピュータを、前記不揮発性メモリのユーザ領域の書き換えを可能とするブートモードに設定する、請求項１記載の自動車用電子制御装置。
【請求項３】
前記ブートモード設定ユニットは、前記外部機器と前記マイクロコンピュータとの間での通信を媒介する通信インターフェースを構成し、前記通信インターフェースは、前記マイクロコンピュータのリセット信号及び前記マイクロコンピュータが前記外部機器に向けて送信する応答信号を入力し、前記マイクロコンピュータを前記ブートモードに設定するための制御信号を出力する、請求項２記載の自動車用電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車用電子制御装置に関し、詳しくは、電気的に消去及び書き込みが可能な不揮発性メモリに外部からデータを書き込む処理に関する。
【背景技術】
【０００２】
特許文献１には、プログラムが記憶されていない状態のＲＯＭを実装した場合又はプログラム更新のために旧プログラムに上書きする必要がある場合に、ＲＯＭの内容に依存せずに外部通信インターフェース手段を通して直接ＣＰＵに命令を与えて動作させ制御装置がプログラムをもっていなくてもＲＯＭに書き込むことができるようにした、ＢＯＯＴローダー回路が開示されている。
【０００３】
特許文献２には、動作モードを選択する動作モード選択スイッチによりＩＰＬ（イニシャル・プログラム・ローディング）動作モードが選択された場合に、ＣＰＵの動作を停止させ、ＲＡＭをＩＰＬ動作モードに応じたエリアにマッピングし、通信手段を介して外部より転送されるＩＰＬプログラムをＲＡＭに書き込んだ後に、ＣＰＵの動作の停止を解除する動作モード制御ユニットを備え、ＲＡＭに書き込まれたＩＰＬプログラムをＣＰＵにより実行して、システムプログラムをダウンロードする、プロセッサシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１４９３７６号公報
【特許文献２】特許第４９０８６６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、電気的に消去及び書き込みが可能な不揮発性メモリを備えたマイクロコンピュータ（以下、マイコンという）を含む自動車用電子制御装置において、例えば、不揮発性メモリのユーザ領域に格納されている制御プログラムの不具合によりプログラムリセットと復帰とが繰り返されるループ状態になると、マイコンは、外部からの制御プログラムの書き換え要求に応答して書き換えを実行することができなくなり、結果、不具合プログラムの書き換えが不能になって電子制御装置が使用不能になるという問題があった。
【０００６】
本発明は上記問題点に鑑みなされたものであり、制御プログラムの不具合などによりマイコンが正常動作しない場合であっても外部からのプログラムの書き換えを可能にできる、自動車用電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
そのため、本願発明に係る自動車用電子制御装置は、電気的に消去及び書き込みが可能な不揮発性メモリを備えたマイクロコンピュータを含む自動車用電子制御装置であって、前記マイクロコンピュータが外部機器からの前記不揮発性メモリのユーザ領域の書き込み要求に応答しない状態が所定回数以上に継続するときに、前記マイクロコンピュータを、前記マイクロコンピュータが特定処理を繰り返すループ状態になったときに、前記不揮発性メモリのユーザ領域の書き換えを可能とするブートモードに設定するブートモード設定ユニットを有する。
【発明の効果】
【０００８】
上記発明によると、制御プログラムの不具合などによりマイコンが正常動作しない場合であっても外部からのプログラムの書き換えを可能にできる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る自動車用電子制御装置の一例を示す概略構成図である。
【図２】本発明に係る自動車用電子制御装置の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に本発明の実施の形態を説明する。
図１は、本発明に係る自動車用電子制御装置の一例を示すブロック図である。
図１の自動車用電子制御装置１は、エンジン、自動変速機、エアコンディショナーなどの車両搭載機器を制御する装置であり、マイクロコンピュータ２、監視ＩＣ３、外部通信インターフェース４（ブートモード設定ユニット）などを備える。
【００１１】
マイクロコンピュータ（以下、「マイコン」という）２は、ＣＰＵ（中央演算処理装置）２１、フラッシュＲＯＭ（不揮発性メモリ）２２、ＲＡＭ（揮発性メモリ）２３などを含んで構成される。
フラッシュＲＯＭ２２は電気的に消去及び書き込みが可能な不揮発性メモリであり、フラッシュＲＯＭに代えてＥＥＰＲＯＭなどの他の不揮発性メモリを用いることができる。
【００１２】
監視ＩＣ（ウォッチドッグタイマ）３は、マイコン２が出力するプログラムラン信号Ｐ−ＲＵＮを入力し、プログラムラン信号Ｐ−ＲＵＮに異常が生じるとマイコン２にリセット信号を出力する。
外部通信インターフェース４には、フラッシュＲＯＭ２２に格納されている制御プログラムやデータなどを書き換えるための外部機器である書き込みツール６などが直接又はＣＡＮ（Controller Area Network）を介して接続される。
【００１３】
書き込みツール６は、書き込みデータをマイコン２に転送する外部ツールであり、例えば、自動車の組み立て工場や整備工場などに配備され、フラッシュＲＯＭ２２に格納されているプログラムやデータを書き換える場合に電子制御装置１に接続され、書き込みツール６とマイコン２との間における信号の送受信は外部通信インターフェース４を介して行われる。
【００１４】
書き込みツール６とマイコン２との間で送受信される信号には、書き込みツール６がマイコン２に向けて送信する書き込みデータ（更新プログラム、修正データなど）の他、書き込みツール６がマイコン２に向けて送信する書き込み要求信号や、マイコン２が書き込みツール６に向けて送信する応答信号などが含まれる。
外部通信インターフェース４は、書き込みツール６からの書き込みデータや書き込み要求信号を入力してこれらの信号をマイコン２に送信し、マイコン２からの応答信号を入力して係る応答信号を書き込みツール６に送信する。
【００１５】
マイコン２は、書き込みツール６から送信された書き込み要求信号に基づき書き込みプログラムを起動し、フラッシュＲＯＭ２２のユーザ領域のデータを書き込みツール６から送信される書き込みデータに基づき書き換えると共に、書き込みツール６に向けて応答信号（書き込みデータの送信要求信号、書き込み単位領域毎の書き込み完了信号など）を送信する。
なお、フラッシュＲＯＭ２２には、データ書き換えを行わない書き換え禁止領域（システム領域、システムメモリ領域）が設定され、この書き換え禁止領域には、フラッシュＲＯＭ２２のユーザ領域（ユーザメモリ領域、書き換え領域）でのデータの消去・書き込みを制御する書き込みプログラムが格納される。
【００１６】
そして、マイコン２は、不揮発性メモリ２２の書き換え禁止領域に格納されている書き込みプログラムに従って不揮発性メモリ２２のユーザ領域に格納されているデータや制御プログラムなどの書き換えを行う。
また、外部通信インターフェース４は、監視ＩＣ３によるリセット信号を入力し、マイコン２の起動時のＲＯＭ読み出しを指定するモード切替要求信号を出力する機能（ブートモード設定ユニット、ＲＯＭ読み出し選択回路としての機能）を有している。
【００１７】
起動時のＲＯＭ読み出しとして、ユーザ領域（ユーザフラッシュメモリ）からプログラムを読み出し始める通常モードと、システム領域（システムメモリ）からプログラムを読み始めることでユーザ領域の書き換えを可能にするブートモード（書き換えモード）とのいずれかがモード切替要求信号（ブートモード制御信号）により設定される。
そして、外部通信インターフェース４は、マイコン２のリセット信号やマイコン２が書き込みツール６に向けて送信する応答信号などに基づいて、通常モードとブートモードとのいずれかを選択し、当該選択に応じたモード切替要求信号をマイコン２に送信する。
【００１８】
このように、外部通信インターフェース４は、マイコン２と外部の書き込みツール６との間での通信を媒介する本来的な機能の他に、マイコン２の起動時におけるモードを決定し、当該決定に基づきマイコン２の起動時のＲＯＭ読み出しを制御するブートモード設定ユニットとしての機能を有している。
【００１９】
次に、マイコン２の起動時のＲＯＭ読み出しを選択する制御、換言すれば、通常モードとブートモードとの選択制御の一例を、図２のフローチャートに従って詳述する。
図２のフローチャートは、外部通信インターフェース４によるブートモード設定ユニットとしての処理の流れを示す。
【００２０】
まず、外部通信インターフェース４は、ステップＳ１０１にて、書き込みツール６の書き込み要求（不揮発性メモリ２２の書き換え要求、更新要求）がマイコン２に向けて送信されているか否かを検出する。
そして、書き込み要求がない場合、つまり、書き込みツール６を用いたメモリ書き換えが行われない場合、外部通信インターフェース４は、ステップＳ１０２に進み、マイコン２をリセットするリセット信号が発生しているか否か（監視ＩＣ３がリセット信号をマイコン２に出力しているか否か）を検出する。
【００２１】
書き込み要求がなくかつリセット信号の発生がない場合、外部通信インターフェース４は、ステップＳ１０３にて、起動モードとして通常モードを選択するモード切替要求信号を出力する。つまり、不揮発性メモリ２２の書き換えが行われず、マイコン２が正常に動作する状態（監視ＩＣ３によってマイコン２がリセットされない状態）では、外部通信インターフェース４は、マイコン２が通常モードで起動するように設定する。
【００２２】
一方、マイコン２をリセットするリセット信号が発生している場合、外部通信インターフェース４は、ステップＳ１０４に進み、リセット信号の発生が所定以上に継続しているか否かを検出する。
外部通信インターフェース４は、例えば、所定時間ｍの間でリセット信号の発生数を計数し、リセット信号がｎ（ｎ≧２）回以上連続して発生したときに、リセット信号の発生が所定以上に継続していることを検出する。
なお、リセット信号の発生が所定以上に継続している状態は、マイコン２が特定処理（リセットと起動）を繰り返すループ状態である。
【００２３】
リセット信号が発生したものの、所定以上の継続状態に達していない単発的なリセット信号の発生状態である場合、制御プログラムの不具合やユーザ領域の故障などに因り今後もリセットが繰り返される場合と、リセット信号の発生が制御プログラムの不具合などに因る恒常的なものではなく、リセット信号の発生が一時的であってリセット信号の発生が途絶える場合との双方の可能性がある。
そこで、外部通信インターフェース４は、リセット信号の発生数の計数値を保持したままステップＳ１０１へ戻り、書き込み要求の有無を検出し、書き込み要求が無い状態であれば、リセット信号の発生が所定以上継続しているか否かを再度検出する。
【００２４】
そして、書き込み要求がなく、かつ、リセット信号の発生が所定以上継続しているループ状態になると、外部通信インターフェース４は、ステップＳ１０７に進み、ブートモードの設定を指令するモード切替要求信号をマイコン２に出力する。
つまり、リセット信号の発生が所定以上継続していてマイコン２がループ状態になっている場合、フラッシュＲＯＭ２２のユーザ領域に格納されている制御プログラムの不具合（無限ループやゼロ割りなど）によって、監視ＩＣ３によるリセットが繰り返し実施されている可能性がある。
【００２５】
そこで、外部通信インターフェース４は、ブートモードでのマイコン２の起動を要求するモード切替要求信号を出力して、マイコン２の起動時にフラッシュＲＯＭ２２のシステム領域（システムメモリ）からプログラムを読み始めるようにする。フラッシュＲＯＭ２２のシステム領域は、フラッシュＲＯＭ２２のユーザ領域を書き換えるための書き換えプログラム（フラッシュブートローダ）が格納される領域であり、マイコン２を書き換えモードで起動させることで、フラッシュＲＯＭ２２のユーザ領域の書き換えが可能になる。
【００２６】
制御プログラムの無限ループやゼロ割りなどの不具合によってマイコン２のリセットが継続して繰り返されるループ状態になると、マイコン２は外部通信インターフェース４を介して書き込みツール６と通信することができなくなるため、不具合プログラムの書き換え（書き込み要求の受信に基づく書き込みプログラムの実行）が不能となる。
【００２７】
これに対し、外部通信インターフェース４は、マイコン２のリセットが継続的に繰り返されるループ状態になると、マイコン２をブートモードに移行させるので、マイコン２は、リセットによる再起動時においてフラッシュＲＯＭ２２のシステム領域（システムメモリ）からプログラムを読み始めるようになる。
つまり、マイコン２は、書き換えプログラムに基づいて書き込みツール６と通信して、フラッシュＲＯＭ２２のユーザ領域に格納されている不具合プログラムを書き換えることができるようになる。
【００２８】
一方、書き込みツール６の書き込み要求が発生すると、外部通信インターフェース４は、ステップＳ１０１からステップＳ１０５に進み、書き込みツール６の書き込み要求に呼応して、マイコン２が書き込みツール６に向けて応答信号を出力しているか否かを検出する。
マイコン２が書き込みツール６に向けて所期の応答信号を出力している状態は、正常に不揮発性メモリ２２の書き換えが進められる状態であり、マイコン２をブートモードに移行させる必要はない。
【００２９】
そこで、外部通信インターフェース４は、ステップＳ１０３に進み、通常モードを選択するモード切替要求信号をマイコン２に出力する。
つまり、ステップＳ１０５からステップＳ１０３に進む状況は、通常モードで起動したマイコン２が、書き込みツール６からの書き込み要求を受けて応答信号を書き込みツール６側に返信し、フラッシュＲＯＭ２２のシステム領域から書き込みプログラムを読み出してフラッシュＲＯＭ２２のユーザ領域の制御プログラムなどを書き替えることができる状態である。そこで、外部通信インターフェース４は、マイコン２の起動モードを通常モードに保持させる。
【００３０】
一方、マイコン２が書き込みツール６に向けて所期の応答信号を出力していない場合、換言すれば、マイコン２と書き込みツール６との間での通信が成立していない場合、外部通信インターフェース４は、ステップＳ１０６に進み、マイコン２の応答信号がなかった状態が所定回数ｘ（ｘ≧２）以上連続しているか否かを検出する。
なお、書き込みツール６の書き込み要求に対してマイコン２が応答しない状態が所定以上に継続している状態は、マイコン２が特定処理（リセットと起動）を繰り返すループ状態である。
【００３１】
ここで、マイコン２からの応答がない状態が所定回数ｘ以上連続していない場合、つまり、無応答状態の連続回数が所定回数ｘ未満である場合、応答信号が出力されない状態が一時的であってマイコン２が応答信号を出力するようになる可能性があると共に、このまま無応答の状態を継続する可能性もある。
そこで、外部通信インターフェース４は、無応答の連続回数の計数値を保持したまま、ステップＳ１０１に戻り、書き込みツール６からの書き込み要求が継続していれば、再度ステップＳ１０５に進んで、マイコン２が無応答であるか否かを検出する。
【００３２】
一方、マイコン２からの応答がない状態が所定回数ｘ以上連続している場合、マイコン２が不具合プログラムによって書き込みツール６に対して所期の応答をできない状態であって、マイコン２と書き込みツール６との間で通信によってフラッシュＲＯＭ２２のユーザ領域を書き換えることは不能である可能性が高い。
そこで、外部通信インターフェース４は、マイコン２からの応答がない状態が所定回数ｘ以上連続している場合、ステップＳ１０７に進み、ブートモードを選択するモード切替要求信号を出力する。
【００３３】
これにより、マイコン２は、起動時にフラッシュＲＯＭ２２のシステム領域からプログラムの読み出しを開始し、システム領域に格納される書き換えプログラムによってフラッシュＲＯＭ２２のユーザ領域の書き換えを行えるようになる。
フラッシュＲＯＭ２２のユーザ領域に格納される制御プログラムの不具合によってマイコン２のリセットが繰り返されるループ状態では、マイコン２は、書き込みツール６と通信が行えず、書き込み要求に対して所期の応答信号を出力することができなくなり、書き換え処理が不能となる。
【００３４】
外部通信インターフェース４は、係る書き換え不能状態を、書き込み要求に対してマイコン２が連続して応答しないループ状態として検出し、マイコン２をブートモードに強制的に移行させる。
これにより、マイコン２は、リセットされたときにフラッシュＲＯＭ２２のシステム領域（書き換えプログラムの格納領域）からプログラムの読み出しを開始し、書き換えプログラムを読み出して、書き込みツール６との通信及びフラッシュＲＯＭ２２のユーザ領域の書き換えが行えるようになる。
【００３５】
以上、好ましい実施形態を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば種々の変形態様を採り得ることは自明である。
外部通信インターフェース４は、リセット信号の発生が所定以上に継続しているか否かに基づく起動モードの設定と、書き込みツール６の書き込み要求に対する無応答状態が所定以上に継続しているか否かに基づく起動モードの設定とのいずれか一方のみを実施することができる。
【００３６】
また、外部通信インターフェース４とは別に、上記のブートモード設定ユニットを、マイコン２と対を成すように設けることができる。この場合、ブートモード設定ユニットは、マイコン２側からリセット信号を入力し、また、マイコン２から外部通信インターフェース４に向けて送信される“書き込み要求に対する応答信号”を読み込み、マイコン２にモード切替要求信号を出力する。
更に、外部通信インターフェース４以外の監視ＩＣ３などのマイコン周辺装置が、上記のブートモード設定ユニットとしての機能を備えることができる。
【符号の説明】
【００３７】
１…自動車用電子制御装置、２…マイクロコンピュータ、３…監視ＩＣ、４…外部通信インターフェース、６…書き込みツール、２１…ＣＰＵ、２２…フラッシュＲＯＭ、２３…ＲＡＭ
【図１】
0006415990.tif 000002
【図２】
0006415990.tif 000003