(57)【要約】【課題】エンジン制御を許可するか禁止するかを示す制御可否情報をエンジンが停止されると電力供給が遮断される揮発性メモリに記憶し、エンジン制御を実行中にエンジン制御装置がリセットされても早くエンジン制御を開始する技術を提供する。【解決手段】本開示の一態様における車載のエンジン制御装置は、制御部と、揮発性メモリ１８と、メモリ管理部と、を備えている。揮発性メモリは、第１の記憶領域１００と第２の記憶領域１１０とを有し、制御部によるエンジン制御を許可するか禁止するかを示す制御可否情報１１２が第２の記憶領域に記憶される。メモリ管理部は、スタートスイッチによりエンジンの始動が指令される場合、第２の記憶領域を初期化してエンジン制御を禁止する値に制御可否情報を設定し、エンジン制御中に制御部がリセットされる場合の制御部の起動時に、第２の記憶領域を初期化せず制御可否情報を変更しない。【選択図】図２
2018135845.tif 000002
【特許請求の範囲】
【請求項１】
車載のエンジン制御装置（１０）であって、
エンジン制御を実行する制御部（１２、Ｓ４１０）と、
第１の記憶領域（１００）と第２の記憶領域（１１０）とを有し、前記制御部による前記エンジン制御を許可するか禁止するかを示す制御可否情報（１１２）が前記第２の記憶領域に記憶され、前記エンジンのスタートスイッチ（２）により前記エンジンの停止が指令されると電力供給が遮断されるように構成された揮発性メモリ（１８）と、
前記スタートスイッチにより前記エンジンの始動が指令される場合の前記制御部の第１の起動時と、前記エンジン制御の実行中に前記制御部がリセットされる場合の前記制御部の第２の起動時との両方で第１の記憶領域を初期化し、前記第１の起動時に前記第２の記憶領域を初期化して前記エンジン制御を禁止する値に前記制御可否情報を設定し、前記第２の起動時に前記第２の記憶領域を初期化せず前記制御可否情報を変更しないように構成されたメモリ管理部（１２、Ｓ４０２、Ｓ４０４、Ｓ４１６、Ｓ４３０〜Ｓ４３６）と、
を備えるエンジン制御装置。
【請求項２】
請求項１に記載のエンジン制御装置であって、
前記第１の起動時と前記第２の起動時とにおいて、イモビライザー（４）との間で照合処理を実行し、照合結果が正常であれば前記制御可否情報を前記エンジン制御を許可する値に設定するように構成された照合部（１２、Ｓ４２０〜Ｓ４２４）をさらに備える、
エンジン制御装置。
【請求項３】
請求項１または２に記載のエンジン制御装置であって、
前記メモリ管理部は、前記第２の起動時に、前記第２の記憶領域に対するデータチェックを実行し、データチェックの結果が異常であれば、前記第２の記憶領域を初期化して前記エンジン制御を禁止する値に前記制御可否情報を設定するように構成されている、
エンジン制御装置。
【請求項４】
請求項１から３のいずれか一項に記載のエンジン制御装置であって、
前記メモリ管理部は、前記スタートスイッチにより前記エンジンの停止が指令されると、前記第２の記憶領域を初期化して前記エンジン制御を禁止する値に前記制御可否情報を設定するように構成されている、
エンジン制御装置。
【請求項５】
請求項１から４のいずれか一項に記載のエンジン制御装置であって、
前記メモリ管理部は、前記第１の起動時と前記第２の起動時とにおいて、前記第２の記憶領域に記憶されているチェックコード（１１６、１１８）と、プログラムのチェックコード（１２０、１２２）とが不一致であれば、前記第２の記憶領域を初期化して前記エンジン制御を禁止する値に前記制御可否情報を設定するように構成されている、
エンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、エンジン制御中にエンジン制御装置がリセットされてもエンジン制御を早く開始する技術に関する。
【背景技術】
【０００２】
車載のエンジン制御装置の起動時に、盗難防止装置であるイモビライザーを含むエンジン制御装置以外の他の装置による照合結果または診断結果に基づいて、エンジン制御装置によるエンジン制御を許可するか禁止するかを判定することが知られている。
【０００３】
しかし、エンジン制御を実行中にエンジン制御装置のＣＰＵがリセットされてＣＰＵが起動する場合、他の装置による照合結果または診断結果に基づいてＣＰＵによるエンジン制御が許可されるまで、ＣＰＵがエンジン制御を開始できないという課題がある。
【０００４】
この課題を解決するため、下記の特許文献１には、エンジンのスタートスイッチがオフになりエンジンが停止しても電力が供給されるバックアップＲＡＭに、エンジン制御中のエンジン回転数または車速を定期的に記憶する技術が記載されている。
【０００５】
バックアップＲＡＭに記憶されているデータは、スタートスイッチがオフからオンになるとき、ならびにエンジン制御中に異常が発生した等の原因でＣＰＵがリセットされて起動するときに初期化されない。
【０００６】
特許文献１に記載の技術によると、ＣＰＵがリセットされて起動するときに、バックアップＲＡＭに記憶されているエンジン回転数または車速に基づいて車両が走行中であると判定されると、ＣＰＵによるエンジン制御が許可される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−１７５３３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載の技術のように、バックアップＲＡＭを搭載すると、スタートスイッチがオフになってもバックアップＲＡＭに電力が供給される。その結果、エンジンの停止中にバックアップＲＡＭのために電力が消費されるという課題がある。
【０００９】
また、バックアップＲＡＭの容量は電力の供給が遮断されると記憶データが消失するＲＡＭに比べて通常少ないので、車両が走行中であることを示すエンジン回転数または車速等の情報をバックアップＲＡＭに記憶することは避けたい。
【００１０】
本開示の一態様は、エンジン制御を許可するか禁止するかを示す制御可否情報をエンジンが停止されると電力供給が遮断される揮発性メモリに記憶し、エンジン制御を実行中にエンジン制御装置がリセットされても早くエンジン制御を開始する技術を提供できることが望ましい。
【課題を解決するための手段】
【００１１】
本開示の一態様における車載のエンジン制御装置（１０）は、制御部（１２、Ｓ４１０）と、揮発性メモリ（１８）と、メモリ管理部（１２、Ｓ４０２、Ｓ４０４、Ｓ４１６、Ｓ４３０〜Ｓ４３６）と、を備えている。
【００１２】
揮発性メモリは、第１の記憶領域（１００）と第２の記憶領域（１１０）とを有し、制御部によるエンジン制御を許可するか禁止するかを示す制御可否情報（１１２）が第２の記憶領域に記憶され、エンジンのスタートスイッチ（２）によりエンジンの停止が指令されると電力供給が遮断される。
【００１３】
メモリ管理部は、スタートスイッチによりエンジンの始動が指令される場合の制御部の第１の起動時と、エンジン制御中に制御部がリセットされる場合の制御部の第２の起動時との両方で第１の記憶領域を初期化し、第１の起動時に第２の記憶領域を初期化してエンジン制御を禁止する値に制御可否情報を設定し、第２の起動時に第２の記憶領域を初期化せず制御可否情報を変更しないように構成されている。
【００１４】
この構成によれば、制御部がリセットされる場合の制御部の第２の起動時に第２の記憶領域を初期化せず制御可否情報を変更しないので、制御部がリセットされて起動するときに揮発性メモリに記憶されている制御可否情報は制御部がリセットされる前の値である。制御部がリセットされる前は、エンジン制御装置によりエンジン制御が実行されており、制御可否情報はエンジン制御を許可する値になっている。
【００１５】
これにより、エンジンが停止されると電力供給が遮断される揮発性メモリに制御可否情報を記憶しても、制御部がリセットされて起動するときに制御可否情報はエンジン制御を許可する値になっている。したがって、制御部がリセットされて起動するときにエンジン制御を早く開始できる。
【００１６】
さらに、エンジン停止中に電力が供給される揮発性メモリを設置する必要がないので、エンジン停止中の電力消費を低減できる。
また、エンジン停止中に電力が供給される揮発性メモリが設置されていたとしても制御可否情報の記憶用には使用しないので、エンジン停止中に電力が供給される揮発性メモリを他の情報の記憶用に使用できる。
【００１７】
尚、この欄および特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１８】
【図１】本実施形態のエンジン制御装置を示すブロック図。
【図２】ＲＡＭの記憶領域を示す説明図。
【図３】エンジン制御処理を示すフローチャート。
【図４】イモビライザーとの照合処理を示すフローチャート。
【図５】ＣＰＵ起動時の初期化処理を示すフローチャート。
【図６】ＣＰＵの実行状態に応じた制御禁止フラグの値の変化を示すタイムチャート。
【発明を実施するための形態】
【００１９】
以下、本開示の実施形態を図に基づいて説明する。
［１．構成］
図１に示すＥＣＵ１０は車両に搭載され、エンジン制御を実行する。ＥＣＵはElectronic Control Unitの略である。ＥＣＵ１０が実行するエンジン制御は、例えば、エンジンのトルク制御である。エンジンとして、内燃機関、または内燃機関と電動モータとの併用、または電動モータのいずれが使用されてもよい。
【００２０】
ＥＣＵ１０は、エンジンのスタートスイッチ２がオンになりエンジンの始動が指令されると起動してエンジン制御を実行する。ＥＣＵ１０は、スタートスイッチ２がオフになりエンジンの停止が指令されるとエンジン制御を停止する。
【００２１】
ＥＣＵ１０は、起動時に盗難防止装置であるイモビライザー４と通信し、イモビライザー４側での照合が成功してイモビライザー４からエンジン制御を許可されると、エンジン制御を実行する。
【００２２】
ＥＣＵ１０は、ハードウェア構成として、ＣＰＵ１２とＲＯＭ１４とバックアップＲＡＭ１６と通常のＲＡＭ１８とフラッシュメモリ２０とバス２２等を備えるマイクロコンピュータを搭載している。ＲＯＭ１４とバックアップＲＡＭ１６とＲＡＭ１８とフラッシュメモリ２０とは、非遷移的実体的記録媒体である半導体メモリである。ＥＣＵ１０は、一つのマイコンを搭載してもよいし、複数のマイコンを搭載してもよい。
【００２３】
ＥＣＵ１０の各種機能は、ＣＰＵ１２が非遷移的実体的記録媒体に記憶されているプログラムを実行することにより実現される。このプログラムをＣＰＵ１２が実行することで、プログラムに対応する方法が実行される。
【００２４】
ＥＣＵ１０の各種機能を実現する手法は、ソフトウェアに限るものではなく、その一部または全部の要素を、論理回路やアナログ回路等を組み合わせたハードウェアを用いてもよい。
【００２５】
ＲＯＭ１４には、書き換えの不要なプログラムおよびデータ等が記憶されている。バックアップＲＡＭ１６には、スタートスイッチ２がオフになりメインリレーが遮断されても電力が供給される。したがって、バックアップＲＡＭ１６は揮発性メモリであるが、バックアップＲＡＭ１６には、スタートスイッチ２がオフになりメインリレーが遮断されても保存したいデータが記憶される。
【００２６】
ＲＡＭ１８は、スタートスイッチ２がオフになりメインリレーが遮断されると電力の供給が遮断される揮発性メモリである。ＲＡＭ１８には、ＣＰＵ１２がエンジン制御を実行中に一時的に記憶しておきたいデータが記憶される。
【００２７】
書き換え可能な不揮発性メモリであるフラッシュメモリ２０には、書き換えられる可能性があり、バッテリが交換されるなど、バッテリからの電力供給が遮断されても保存したいプログラムと、エンジン制御の学習値、診断情報等のデータとが記憶される。
【００２８】
図２に示すように、ＲＡＭ１８の記憶領域は、ノーマルＲＡＭ１００の記憶領域とプロテクトＲＡＭ１１０の記憶領域とに分けられている。ノーマルＲＡＭ１００には、ＣＰＵ１２がエンジン制御を実行中に一時的に保存するデータが記憶される。プロテクトＲＡＭ１１０には、制御禁止フラグ１１２とチェックサム１１４とチェックコード１１６、１１８とその他のデータとが記憶される。
【００２９】
制御禁止フラグ１１２は、オフであればＣＰＵ１２によるエンジン制御を許可し、オンであればＣＰＵ１２によるエンジン制御を禁止することを示している。制御禁止フラグ１１２は、プロテクトＲＡＭ１１０の初期化によりオンに設定される。つまり、プロテクトＲＡＭ１１０が初期化されると、ＣＰＵ１２によるエンジン制御は禁止される。
【００３０】
制御禁止フラグ１１２によりエンジン制御が禁止されると、例えばＣＰＵ１２は、駆動源として内燃機関を備える場合はインジェクタの噴射量を０に設定するか、駆動源として電動モータを備える場合は電動モータへの電力供給を遮断する。
【００３１】
チェックサム１１４は、プロテクトＲＡＭ１１０のデータをサムチェックするためのデータである。チェックサム１１４は、プロテクトＲＡＭ１１０が初期化される場合に更新される。
【００３２】
チェックサム１１４は、プロテクトＲＡＭ１１０のすべての記憶領域をチェックサム１１４の設定対象として１個設定されてもよいし、全てではなく一部の記憶領域を設定対象として１個設定されてもよい。また、チェックサム１１４は、チェックサム１１４の設定対象となるプロテクトＲＡＭ１１０の記憶領域を複数のブロックに分割し、ブロック毎に設定されてもよい。
【００３３】
プロテクトＲＡＭ１１０が初期化される場合、チェックコード１１６にはＲＯＭ１４に記憶されているプログラムのチェックコード１２０と同じコードが設定され、チェックコード１１８にはフラッシュメモリ２０に記憶されているプログラムのチェックコード１２２と同じコードが設定される。
【００３４】
ノーマルＲＡＭ１００は、スタートスイッチ２がオンになりエンジンが始動される場合のＣＰＵ１２の起動時と、エンジン制御中にＣＰＵ１２がリセットされる場合のＣＰＵ１２の起動時との両方で初期化される。
【００３５】
以下、スタートスイッチ２がオンになりエンジンが始動される場合のＣＰＵ１２の起動時を第２の起動時とも言い、エンジン制御中にＣＰＵ１２がリセットされる場合のＣＰＵ１２の起動時を第２の起動時とも言う。
【００３６】
プロテクトＲＡＭ１１０が初期化されるのは、スタートスイッチ２がオフになるとき、ならびに第１の起動時と第２の起動時とにおいて、プロテクトＲＡＭ１１０にＥＣＣエラーが発生するか、チェックサム１１４が不一致であるか、チェックコード１１６とチェックコード１２０とが不一致であるか、チェックコード１１８とチェックコード１２２とが不一致であるかの場合である。
【００３７】
スタートスイッチ２がオンになって起動する第１の起動時においてプロテクトＲＡＭ１１０のデータは不定であるから、チェックサム１１４が不一致であるか、チェックコード１１６とチェックコード１２０とが不一致であるか、チェックコード１１８とチェックコード１２２とが不一致であるかのいずれかが発生する。したがって、第１の起動時において、プロテクトＲＡＭ１１０は通常初期化される。
【００３８】
ＣＰＵ１２がリセットされて起動する第２の起動においてプロテクトＲＡＭ１１０には、ＣＰＵ１２がリセットされる前のデータが記憶されているので、プロテクトＲＡＭ１１０は、通常第２の起動時には初期化されない。
【００３９】
しかし、例えば、フラッシュメモリ２０のプログラムとチェックコード１２２とが書き換えられた状態でプロテクトＲＡＭ１１０のチェックコード１１８が更新されず、ＣＰＵ１２がリセットされることがある。この場合、第２の起動時において、プロテクトＲＡＭ１１０のチェックコード１１８とフラッシュメモリ２０のチェックコード１２２とは不一致なので、プロテクトＲＡＭ１１０は初期化される。
【００４０】
［２．処理］
（１）エンジン制御処理
図３のフローチャートに基づいて、ＥＣＵ１０が実行するエンジン制御処理を説明する。図３のフローチャートは、前述した第１の起動時と第２の起動時とに実行される。
【００４１】
Ｓ４００においてＣＰＵ１２は、ＥＣＵ１０のセットアップを実行する。ＣＰＵ１２は、セットアップとして、例えば、ノーマルＲＡＭ１００へのデータ書き込みチェック、ノーマルＲＡＭ１００からのデータ読みだしチェック、各種制御レジスタの値の設定、他の装置との通信の設定等を実行する。
【００４２】
Ｓ４０２においてＣＰＵ１２は、ノーマルＲＡＭ１００を０クリアして初期化する。Ｓ４０４においてＣＰＵ１２は、プロテクトＲＡＭ１１０にＥＣＣエラーが発生するか、チェックサム１１４が一致するか、チェックコード１１６とチェックコード１２０とが一致するか、チェックコード１１８とチェックコード１２２とが一致するかのデータチェックを行う。データチェックの結果が異常であれば、プロテクトＲＡＭ１１０は初期化され、制御禁止フラグはオンに設定される。Ｓ４０４の処理の詳細は後述される。
【００４３】
Ｓ４０６においてＣＰＵ１２は、不揮発性メモリであるＲＯＭ１４とフラッシュメモリ２０とに対し、サムチェック等によりデータチェックを実行する。
Ｓ４０６の処理の終了後、Ｓ４０８〜Ｓ４１４の処理と、図４に示す照合処理とが実行される。図４に示す照合処理は後述される。
【００４４】
Ｓ４０８においてＣＰＵ１２は、制御禁止フラグ１１２がオンか否かを判定する。Ｓ４０８の判定がＮｏであり、制御禁止フラグ１１２がオフの場合、エンジン制御は許可されているので、Ｓ４１０においてＣＰＵ１２はエンジン制御を実行する。
【００４５】
制御禁止フラグ１１２の値は、第１の起動時には不定である。後述するように、制御禁止フラグ１１２の値は、第１の起動後にイモビライザー４とＣＰＵ１２とによる照合の結果が正常な場合オフに設定される。制御禁止フラグ１１２の値は、図６に示すように、エンジン制御の実行中にＣＰＵ１２がリセットされても初期化されずオフのままであるから、第２の起動時にはオフに設定されている。
【００４６】
Ｓ４０８の判定がＹｅｓであり、制御禁止フラグ１１２がオンの場合、エンジン制御は禁止されているので、Ｓ４１２においてＣＰＵ１２はエンジン制御を実行しない。Ｓ４０８〜Ｓ４１２の処理は、スタートスイッチ２がオフになり、Ｓ４１４の判定がＹｅｓになるまで実行される。
【００４７】
Ｓ４１４の判定がＹｅｓであり、エンジン制御の実行中にスタートスイッチ２がオフになりプロテクトＲＡＭ１１０への電力供給が遮断されると、次にスタートスイッチ２がオンになりプロテクトＲＡＭ１１０に電力が供給されるときに、プロテクトＲＡＭ１１０の値は不定である。
【００４８】
したがって、制御禁止フラグ１１２がオンにされずにオフのままであると、スタートスイッチ２がオンになる第１の起動時において、制御禁止フラグ１１２がオフになっている可能性がある。さらに、第１の起動時にＳ４０４において前述したプロテクトＲＡＭ１１０のデータチェックを行っても、チェック結果が正常になり、制御禁止フラグ１１２がオンに設定されない可能性がある。
【００４９】
スタートスイッチ２がオンになりＣＰＵ１２が起動するときに、制御禁止フラグ１１２がオフになっていると、後述するイモビライザー４との照合処理の結果が異常であっても、ＣＰＵ１２によるエンジン制御が許可される。
【００５０】
そこで、Ｓ４１４の判定がＹｅｓであり、スタートスイッチ２がオフになると、Ｓ４１６においてＣＰＵ１２は、プロテクトＲＡＭ１１０を初期化し、制御禁止フラグ１１２をオンにする。これにより、スタートスイッチ２がオンになりＣＰＵ１２が起動するときに、制御禁止フラグ１１２がオフになっている可能性を低減できる。
【００５１】
さらに、Ｓ４１６においてＣＰＵ１２は、プロテクトＲＡＭ１１０を初期化するときに、プロテクトＲＡＭ１１０のチェックサムを算出し、チェックサム１１４を更新する。さらに、Ｓ４１６においてＣＰＵ１２は、プロテクトＲＡＭ１１０を初期化するときに、プロテクトＲＡＭ１１０のチェックコード１１６にＲＯＭ１４に記憶されているプログラムのチェックコード１２０を設定し、プロテクトＲＡＭ１１０のチェックコード１１８にフラッシュメモリ２０に記憶されているプログラムのチェックコード１２２を設定する。
【００５２】
Ｓ４１６においてＣＰＵ１２は、プロテクトＲＡＭ１１０を初期化するときに、制御禁止フラグ１１２とチェックサム１１４とチェックコード１１６、１１８と以外のプロテクトＲＡＭ１１０に記憶される他のデータを適宜適切な値に設定する。
【００５３】
Ｓ４１８においてＣＰＵ１２は、メインリレーをオフしてバッテリからＥＣＵ１０への電力供給を遮断する前に、ＥＣＵ１０が実行したエンジン制御の学習値、故障診断情報等をフラッシュメモリ２０に記憶する。
【００５４】
（２）照合処理
図４のフローチャートを実行するタスクは、Ｓ４０６の処理の終了後に起動される。
Ｓ４２０においてＣＰＵ１２は、イモビライザー４と通信により照合処理を実行する。Ｓ４２２においてＣＰＵ１２は、イモビライザー４との通信による照合処理の結果が正常であるか否かを判定する。Ｓ４２２の判定がＮｏであり、照合結果が正常ではなく異常の場合、ＣＰＵ１２は本処理を終了する。この場合、制御禁止フラグは変更されない。
【００５５】
Ｓ４２２の判定がＹｅｓであり、照合結果が正常であれば、Ｓ４２４においてＣＰＵ１２は、制御禁止フラグをオフにする。これにより、エンジン制御が許可される。
（３）プロテクトＲＡＭのデータチェック処理
図５のフローチャートは、図３のＳ４０４で実行される。
【００５６】
Ｓ４３０においてＣＰＵ１２は、プロテクトＲＡＭ１１０に記憶されているチェックコード１１６とＲＯＭ１４に記憶されているチェックコード１２０とが一致するか否か、ならびにプロテクトＲＡＭ１１０に記憶されているチェックコード１１８とフラッシュメモリ２０に記憶されているチェックコード１２２とが一致するか否かを判定する。チェックコードが一致しない理由として以下の（１）、（２）が考えられる。
【００５７】
（１）スタートスイッチ２がオフになりプロテクトＲＡＭ１１０への電力供給が遮断されたためにプロテクトＲＡＭ１１０のデータが消失した。
（２）エンジン制御の実行中にフラッシュメモリ２０のプログラムとチェックコード１２２とが書き換えられ、書き換えられたプログラムに対応するプロテクトＲＡＭ１１０のチェックコード１１８が更新されていない。
【００５８】
また、Ｓ４３２においてＣＰＵ１２は、プロテクトＲＡＭ１１０のデータのリード時にＥＣＣエラーが発生しているか否かを判定する。ＥＣＣエラーが発生する理由として、以下の（１）、（２）が考えられる。
【００５９】
（１）スタートスイッチ２がオフになりプロテクトＲＡＭ１１０への電力供給が遮断されたためにプロテクトＲＡＭ１１０のデータが消失した。
（２）プロテクトＲＡＭ１１０のビットデータが反転した。
【００６０】
さらに、Ｓ４３４においてＣＰＵ１２は、プロテクトＲＡＭ１１０に記憶されているチェックサム１１４がプロテクトＲＡＭ１１０に記憶されているデータから生成したチェックサムと一致するか否かを判定する。チェックサム１１４が一致しない理由として、スタートスイッチ２がオフになりプロテクトＲＡＭ１１０への電力供給が遮断されたためにプロテクトＲＡＭ１１０のデータが消失したことが考えられる。
【００６１】
Ｓ４３０またはＳ４３２またはＳ４３４の判定がＮｏになると、Ｓ４３６においてＣＰＵ１２は、プロテクトＲＡＭ１１０を初期化する。具体的には、ＣＰＵ１２は、制御禁止フラグ１１２をオンにし、プロテクトＲＡＭ１１０のデータからチェックサムを算出して予め設定されたプロテクトＲＡＭ１１０のチェックサム１１４に書き込み、ＲＯＭ１４とフラッシュメモリ２０とにそれぞれ記憶されているチェックコード１２０、１２２をプロテクトＲＡＭ１１０のチェックコード１１６、１１８に書き込む。
【００６２】
Ｓ４３６においてＣＰＵ１２は、プロテクトＲＡＭ１１０を初期化するときに、制御禁止フラグ１１２とチェックサム１１４とチェックコード１１６、１１８と以外のプロテクトＲＡＭ１１０に記憶される他のデータを適宜適切な値に設定する。
【００６３】
ここで、スタートスイッチ２がオンになると、ＣＰＵ１２とイモビライザー４との間で照合処理が行われる前に、図５のプロテクトＲＡＭのチェック処理が実行される。すると、Ｓ４３０またはＳ４３２またはＳ４３４の判定はＮｏになるので、図６に示すように、制御禁止フラグはオンに設定される。
【００６４】
そして、ＣＰＵ１２とイモビライザー４との間で照合処理が行われ、照合結果が正常であれば、図６に示すように制御禁止フラグはオフに設定される。これにより、ＣＰＵ１２によるエンジン制御は許可される。
【００６５】
図６に示すように、エンジン制御の実行中にＣＰＵ１２がリセットされても、プロテクトＲＡＭ１１０は初期化されないので、制御禁止フラグ１１２はオフのままである。チェックサム１１４にはプロテクトＲＡＭ１１０のデータから算出された正しい値が設定されている。チェックコード１１８には、フラッシュメモリ２０に記憶されているプログラムが書き換えられていない限り、正しい値が設定さている。
【００６６】
したがって、エンジン制御の実行中にＣＰＵ１２がリセットされても、図５のデータチェック処理において、Ｓ４３０とＳ４３２とＳ４３４とにおける判定はＹｅｓになり、制御禁止フラグ１１２はオフのままである。
【００６７】
これにより、ＣＰＵ１２がリセットされた後の第２の起動時に、ＣＰＵ１２とイモビライザー４との照合処理により制御禁止フラグ１１２がオフに設定されるのを待つことなく、図３のＳ４０８の判定はＹｅｓになる。したがって、第２の起動において、ＣＰＵ１２は早くエンジン制御を開始できる。
【００６８】
［３．効果］
以上説明した上記実施形態では、以下の効果を得ることができる。
（１）ＣＰＵ１２がエンジン制御を実行中にＣＰＵ１２がリセットされても、プロテクトＲＡＭ１１０は初期化されず、第２の起動時に制御禁止フラグ１１２とチェックサム１１４とチェックコード１１６、１１８とはＣＰＵ１２がリセットされる前の値に保持されている。
【００６９】
これにより、例えば車両が走行しておりＣＰＵ１２によるエンジン制御が実行中にＣＰＵ１２がリセットされても、第２の起動時にＣＰＵ１２とイモビライザー４との照合処理の結果が正常になるまで待機することなく、ＣＰＵＩ２は早くエンジン制御を開始できる。
【００７０】
（２）本実施形態のようにバックアップＲＡＭ１６が搭載されている構成でも、制御禁止フラグ１１２をバックアップＲＡＭ１６に記憶せず、プロテクトＲＡＭ１１０に記憶するので、バックアップＲＡＭ１６を他の情報を記憶するために使用できる。
【００７１】
（３）スタートスイッチ２がオフになると、ＣＰＵ１２は、プロテクトＲＡＭ１１０を初期化し、制御禁止フラグ１１２をオンにしてから電力供給の遮断処理を実行する。これにより、スタートスイッチ２がオンになりＣＰＵ１２が起動するときに、制御禁止フラグ１１２の値を極力オンに保持できる。その結果、スタートスイッチ２がオンになってからＣＰＵ１２とイモビライザー４との照合処理が正常にならないと、エンジン制御は禁止される。
【００７２】
（４）第１の起動時と第２の起動時とのいずれの起動時にも、ＥＣＣチェックとチェックサム１１４とによりプロテクトＲＡＭ１１０のデータの正当性がチェックされるので、プロテクトＲＡＭ１１０のデータが誤った値の場合、プロテクトＲＡＭ１１０を初期化できる。
【００７３】
（５）第１の起動時と第２の起動時とのいずれの起動時にも、ＲＯＭ１４に記憶されているチェックコード１２０とプロテクトＲＡＭ１１０に記憶されているチェックコード１１６とが一致しているか否か、ならびにフラッシュメモリ２０に記憶されているチェックコード１２２とプロテクトＲＡＭ１１０に記憶されているチェックコード１１８とが一致しているか否かが判定される。
【００７４】
これにより、例えばエンジン制御中にフラッシュメモリ２０に記憶されているプログラムとチェックコード１２２が書き換えられ、プロテクトＲＡＭ１１０に記憶されているチェックコード１１８が更新されない場合、チェックコード１１８が更新されていないことを検出できる。チェックコード１１８が更新されていない場合には、プロテクトＲＡＭ１１０が初期化されてチェックコード１１８が更新されるので、フラッシュメモリ２０とプロテクトＲＡＭ１１０とに記憶されているチェックコードの整合性を確保できる。
【００７５】
また、フラッシュメモリ２０に記憶されているプログラムとして、イモビライザー４との照合処理を実行するプログラムが書き換えられる場合、プロテクトＲＡＭ１１０に記憶されているチェックコード１１８が更新されていない場合には、ＣＰＵ１２の起動時に制御禁止フラグ１１２がオンに設定される。これにより、イモビライザー４と照合処理を実行するＥＣＵ１０のプログラムが正常に作動せず照合結果が正常にならない場合、エンジン制御を禁止できる。
【００７６】
以上説明した上記実施形態において、ＥＣＵ１０がエンジン制御装置に対応し、ＣＰＵ１２が制御部とメモリ管理部と照合部とに対応し、ＲＡＭ１８が不揮発性メモリに対応し、ノーマルＲＡＭ１００が第１の記憶領域に対応し、プロテクトＲＡＭ１１０が第２の記憶領域に対応し、制御禁止フラグ１１２が制御可否情報に対応する。
【００７７】
また、Ｓ４０２、Ｓ４０４、Ｓ４１６、Ｓ４３０〜Ｓ４３６がメモリ管理部の処理に対応し、Ｓ４１０が制御部の処理に対応し、Ｓ４２０〜Ｓ４２４が照合部の処理に対応する。
【００７８】
［４．他の実施形態］
（１）スタートスイッチ２がオフになっても、ＣＰＵ１２はプロテクトＲＡＭ１１０を初期化しなくてもよい。これは、スタートスイッチ２がオフになりプロテクトＲＡＭ１１０に電力が供給されないとプロテクトＲＡＭ１１０のデータが消失し、スタートスイッチ２がオンになるときに、図５に示すプロテクトＲＡＭ１１０のデータチェック処理により、プロテクトＲＡＭ１１０が通常初期化されるからである。
【００７９】
（２）プロテクトＲＡＭ１１０に制御禁止フラグ１１２を記憶するので、ＥＣＵ１０はバックアップＲＡＭ１６を搭載しない構成であってもよい。バックアップＲＡＭ１６を搭載しないことにより、スタートスイッチ２がオフになっている間、バックアップＲＡＭ１６に電力を供給する必要がないので、バッテリの電力消費を低減できる。
【００８０】
（３）イモビライザー４に限らず、ＥＣＵ１０の起動時に、他の車載の電子制御装置による起動時の診断処理がすべて正常でエンジン制御を開始できると判断してから、ＣＰＵ１２は制御禁止フラグをオフにしてもよい。
【００８１】
（４）上記実施形態における一つの構成要素が有する複数の機能を複数の構成要素によって実現したり、一つの構成要素が有する一つの機能を複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を一つの構成要素によって実現したり、複数の構成要素によって実現される一つの機能を一つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。尚、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【００８２】
（５）上述したＥＣＵ１０の他、当該ＥＣＵ１０を構成要素とするエンジン制御システム、当該ＥＣＵ１０としてコンピュータを機能させるためのエンジン制御プログラム、このエンジン制御プログラムを記録した記録媒体、エンジン制御方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【００８３】
２：スタートスイッチ、４：イモビライザー、１０：ＥＣＵ（エンジン制御装置）、１２：ＣＰＵ（制御部、メモリ管理部、照合部）、１８：ＲＡＭ（揮発性メモリ）、１００：ノーマルＲＡＭ（第１の記憶領域）１１０：プロテクトＲＡＭ（第２の記憶領域）、１１２：制御禁止フラグ（制御可否情報）
【図１】
2018135845.tif 000003
【図２】
2018135845.tif 000004
【図３】
2018135845.tif 000005
【図４】
2018135845.tif 000006
【図５】
2018135845.tif 000007
【図６】
2018135845.tif 000008