(57)【要約】  【課題】  マルチコア構成及びキャッシュメモリ搭載構成の少なくとも一方が採用されたマイクロコンピュータを備えたエンジン制御用電子制御装置において、エンジン停止中に車載バッテリの電源により特定の制御処理を行う際の消費電力を効果的に低減する。  【解決手段】  ２つのＣＰＵコアとＲＯＭキャッシュメモリ及びＲＡＭキャッシュメモリを備えたエンジン制御マイコンにおいて、エンジン制御中は、ＣＰＵコア及びキャッシュメモリをフルに使用して最高の処理能力を発揮できるエンジン制御モードが選択される（Ｓ１４０）。一方、ＩＧＳＷのＯＦＦ時（エンジン停止中）、ＡＣＣＳＷがＯＮされた場合はリプログモードが選択され（Ｓ１６０）、ＣＡＮ通信パケットが受信された場合はＣＡＮウェイクアップモードが選択され（Ｓ１８０）、ソークタイマＩＣにより所定時間経過が検知された場合はＫＥＹＯＦＦエバポモードが選択される（Ｓ２００）。【選択図】  図６
2008269487.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載され、外部から所定の起動用主スイッチ信号が入力されるか又は該起動用主スイッチ信号の入力とは別の起動条件が成立した場合に車載バッテリからの電源供給を受けて動作するマイクロコンピュータを備えると共に、該マイクロコンピュータが、前記起動用主スイッチ信号が入力された場合は前記車両のエンジンを制御し、前記起動条件が成立した場合には該起動条件に応じた特定の制御処理を行うよう構成されたエンジン制御用電子制御装置であって、
前記マイクロコンピュータは、
少なくとも１つのＣＰＵコアと、
前記ＣＰＵコアによりアクセスされ、該ＣＰＵコアの動作時に用いられるプログラム及びデータの少なくとも一方が記憶される記憶手段と、
前記ＣＰＵコアにより用いられ、前記記憶手段に対応して設けられたキャッシュメモリと、
前記起動条件の成立により前記特定の制御処理を行う際、当該マイクロコンピュータの動作モードを、前記起動用主スイッチ信号の入力による動作時よりも消費電力が低い低消費電力モードに設定する動作モード設定手段と、
を備え、
前記低消費電力モードは、前記ＣＰＵコアの使用数又はキャッシュメモリの使用有無が、前記起動用主スイッチ信号の入力による動作時とは異なるものである
ことを特徴とするエンジン制御用電子制御装置。
【請求項２】
請求項１記載のエンジン制御用電子制御装置であって、
前記マイクロコンピュータは、消費電力の異なる複数種類の前記低消費電力モードを有し、前記起動条件の成立時に該起動条件の種類に応じて異なる前記特定の制御処理を実行すると共に、該特定の制御処理毎に前記複数種類の低消費電力モードのいずれかが対応付けられており、
前記動作モード設定手段は、前記起動条件の成立により前記特定の制御処理を実行する際、前記マイクロコンピュータを、該実行する特定の制御処理に対応した前記低消費電力モードに設定する
ことを特徴とするエンジン制御用電子制御装置。
【請求項３】
請求項２記載のエンジン制御用電子制御装置であって、
前記マイクロコンピュータは、前記低消費電力モードとして、少なくとも、前記キャッシュメモリを全く使用しない又はその使用を制限するキャッシュメモリ使用制限モードを備えている
ことを特徴とするエンジン制御用電子制御装置。
【請求項４】
請求項２載のエンジン制御用電子制御装置であって、
前記マイクロコンピュータは、
前記記憶手段として、前記ＣＰＵコアが実行するプログラムが記憶されたＲＯＭ及び前記ＣＰＵコアが前記プログラムを実行する際に用いるデータが記憶されるＲＡＭを備え、
前記キャッシュメモリとして、前記ＲＯＭに対応したインストラクションキャッシュメモリ及び前記ＲＡＭに対応したデータキャッシュメモリを備え、
前記低消費電力モードとして、
前記各キャッシュメモリのいずれも使用しない第１低消費電力モードと、
前記データキャッシュメモリを使用せず前記インストラクションキャッシュメモリを使用する第２低消費電力モードと、
前記インストラクションキャッシュメモリを使用せず前記データキャッシュメモリを使用する第３低消費電力モードと、
のうち少なくとも１つを有している
ことを特徴とするエンジン制御用電子制御装置。
【請求項５】
請求項２〜４いずれかに記載のエンジン制御用電子制御装置であって、
前記マイクロコンピュータは、
前記ＣＰＵコアを複数備え、
前記低消費電力モードとして、複数の前記ＣＰＵコアのうち少なくとも１つを使用しないコア使用制限モードを有している
ことを特徴とするエンジン制御用電子制御装置。
【請求項６】
請求項２〜５いずれかに記載のエンジン制御用電子制御装置であって、
前記マイクロコンピュータは、
前記ＣＰＵコアを複数備え、
前記低消費電力モードとして、前記ＣＰＵコアを１つのみ使用するコア最小使用モードを有している
ことを特徴とするエンジン制御用電子制御装置。
【請求項７】
請求項２記載のエンジン制御用電子制御装置であって、
前記マイクロコンピュータは、
前記ＣＰＵコアを複数備え、
前記低消費電力モードとして、
前記ＣＰＵコアを１つのみ使用すると共に前記キャッシュメモリを全く使用しない第１低消費電力モードと、
前記ＣＰＵコアを１つのみ使用すると共に前記キャッシュメモリを使用する又はその使用を制限する第２低消費電力モードと、
前記ＣＰＵコアを２つ使用すると共に前記キャッシュメモリを全く使用しない又はその使用を制限する第３低消費電力モードと
を有している
ことを特徴とするエンジン制御用電子制御装置。
【請求項８】
請求項２記載のエンジン制御用電子制御装置であって、
前記マイクロコンピュータは、
前記ＣＰＵコアを複数備え、
前記記憶手段として、前記ＣＰＵコアが実行するプログラムが記憶されたＲＯＭ及び前記ＣＰＵコアが前記プログラムを実行する際に用いるデータが記憶されるＲＡＭを備え、
前記キャッシュメモリとして、前記ＲＯＭに対応したインストラクションキャッシュメモリ及び前記ＲＡＭに対応したデータキャッシュメモリを備え、
前記低消費電力モードとして、
前記ＣＰＵコアを１つのみ使用すると共に、前記インストラクションキャッシュメモリ及び前記データキャッシュメモリを共に使用しない第１低消費電力モードと、
前記ＣＰＵコアを１つのみ使用すると共に、前記データキャッシュメモリは使用せずに前記インストラクションキャッシュメモリを使用する第２低消費電力モードと、
前記ＣＰＵコアを２つ使用すると共に、前記インストラクションキャッシュメモリは使用せずに前記データキャッシュメモリを使用する第３低消費電力モードと
を有している
ことを特徴とするエンジン制御用電子制御装置。
【請求項９】
請求項４記載のエンジン制御用電子制御装置であって、
前記マイクロコンピュータは、前記ＣＰＵコアを１つ備えている
ことを特徴とするエンジン制御用電子制御装置。
【請求項１０】
請求項７〜９いずれかに記載のエンジン制御用電子制御装置であって、
当該装置への前記起動用主スイッチ信号の入力が停止されて当該装置による前記エンジンの制御が停止されてから所定時間が経過したことを検知する計時手段と、
当該装置による前記エンジンの制御の停止後、前記計時手段により前記所定時間の経過が検知されたとき、前記起動条件が成立したものとして前記車載バッテリの電源を前記マイクロコンピュータに供給して該マイクロコンピュータを動作させる電源制御手段と、
を備え、
前記計時手段が前記所定時間の経過を検知したことにより前記起動条件が成立したときは、前記動作モード設定手段が前記マイクロコンピュータを前記第１低消費電力モードに設定すると共に、該マイクロコンピュータは、前記特定の制御処理として、前記車両におけるエバポパージシステムの診断処理を行う
ことを特徴とするエンジン制御用電子制御装置。
【請求項１１】
請求項７〜９いずれかに記載のエンジン制御用電子制御装置であって、
外部装置とデータ通信できるよう構成されており、
前記外部装置からデータが受信された場合にこれを検知する受信検知手段と、
前記エンジンの制御が停止されているときに、前記受信検知手段により前記データの受信が検知されたとき、前記起動条件が成立したものとして前記車載バッテリの電源を前記マイクロコンピュータに供給して該マイクロコンピュータを動作させる電源制御手段と、
を備え、
前記受信検知手段が前記データの受信を検知したことにより前記起動条件が成立したときは、前記動作モード設定手段が前記マイクロコンピュータを前記第２低消費電力モードに設定すると共に、該マイクロコンピュータは、前記特定の制御処理として、前記受信されたデータに基づく処理を行う
ことを特徴とするエンジン制御用電子制御装置。
【請求項１２】
請求項７〜９いずれかに記載のエンジン制御用電子制御装置であって、
外部装置とデータ通信できるよう構成されており、
前記ＲＯＭは、記憶内容を電気的に書き換え可能に構成されており、
前記エンジンの制御が停止されているときに、外部から所定の起動用副スイッチ信号が入力されたとき、前記起動条件が成立したものとして前記車載バッテリの電源を前記マイクロコンピュータに供給して該マイクロコンピュータを動作させる電源制御手段と、
前記ＲＯＭの記憶内容を書き換えるべき旨の書換要求が前記外部装置から入力された場合にこれを検知する書換要求検知手段と、
を備え、
前記起動用副スイッチ信号の入力により前記起動条件が成立すると共に前記書換要求検知手段が前記書換要求の入力を検知したときは、前記動作モード設定手段が前記マイクロコンピュータを前記第３低消費電力モードに設定すると共に、該マイクロコンピュータは、前記特定の制御処理として、前記書換要求に基づいて前記ＲＯＭの記憶内容の書き換えを行う
ことを特徴とするエンジン制御用電子制御装置。
【請求項１３】
請求項２〜１２いずれかに記載のエンジン制御用電子制御装置であって、
前記複数種類の低消費電力モードには、各々、優先順位が設定されており、
前記動作モード設定手段は、前記起動条件が複数成立した場合には、該成立した複数の起動条件に対応した前記低消費電力モードのうち最も優先順位の高いモードに設定する
ことを特徴とするエンジン制御用電子制御装置。
【請求項１４】
請求項１〜１３いずれかに記載のエンジン制御用電子制御装置であって、
前記車載バッテリの電圧が所定の閾値以下であるか否かを判断するバッテリ電圧判断手段を備え、
前記低消費電力モードとして、前記特定の制御処理に対応付けられた低消費電力モードのうち最も消費電力の低いものと同じ消費電力か又はそれよりも消費電力の低い、電圧低下時動作モードを有し、
前記動作モード設定手段は、前記起動条件の成立により前記マイクロコンピュータが前記特定の制御処理を行う際、前記バッテリ電圧判断手段により前記車載バッテリの電圧が前記閾値以下と判断されたならば、前記動作モードを前記電圧低下時動作モードに設定する
ことを特徴とするエンジン制御用電子制御装置。
【請求項１５】
請求項１〜１４いずれかに記載のエンジン制御用電子制御装置であって、
前記動作モード設定手段は、前記マイクロコンピュータを前記低消費電力モードに設定している際に、前記起動用主スイッチ信号が入力されたならば、前記動作モードを、前記ＣＰＵコアおよび前記キャッシュメモリの全てを使用する通常動作モードに設定する
ことを特徴とするエンジン制御用電子制御装置。
【請求項１６】
請求項１〜１５いずれかに記載のエンジン制御用電子制御装置に搭載される前記マイクロコンピュータであって、１つの半導体チップ上に形成されてなることを特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両のエンジンを制御するエンジン制御用電子制御装置に関する。
【背景技術】
【０００２】
車両のエンジンを制御するエンジン制御用電子制御装置は、一般に、車両のイグニションスイッチがオンされてエンジンが動作している間は、オルタネータ（発電機）から電力供給を受けて燃料噴射制御や点火時期制御等の各種制御を行うよう構成されている。この種のエンジン制御用電子制御装置は、マイクロコンピュータを搭載し、このマイクロコンピュータが中心となって各種制御を実行する。なお、エンジン動作中は、オルタネータの発電電力により車載バッテリが充電される。
【０００３】
一方、この種のエンジン制御用電子制御装置に対しては、エンジン動作中に限らず、イグニションスイッチがオフされているエンジン停止中においても、あるタイミングで特定の制御処理を行わせたいという要望がある。
【０００４】
このような特定の制御処理として、例えば、イグニションスイッチのオフ時にエバポパージシステムのリークを検出するための処理（以下「ＫＥＹＯＦＦエバポダイアグ処理」という）がある。エバポパージシステムは、燃料タンクで発生する蒸発ガス燃料（以下「エバポガス」という）が大気中へ放出されるのを防ぐためのものである。エバポパージシステムの具体的な構成としては、エバポガスをキャニスタの吸着剤に一時的に吸着させ、そのキャニスタに吸着したエバポガスを、エンジンの運転状態に応じてキャニスタの大気孔から吸入する新気とともにエンジン吸気管内にパージして燃焼させるものがある。
【０００５】
このようなエバポパージシステムにおいて、そのシステムの系（例えば、燃料タンクや燃料タンクとキャニスタとの間のエバポ通路など）に穴や亀裂があると、当然のことながら、エバポガスがキャニスタに吸着されずに大気へ放出されてしまう。
【０００６】
そこで、こうしたエバポパージシステムの故障による大気汚染を防止するために、エンジン制御用電子制御装置では、エバポパージシステムのリークを検出するＫＥＹＯＦＦエバポダイアグ処理を実施するようにしている。つまり、この種のＫＥＹＯＦＦエバポダイアグ処理では、例えば、エバポパージシステムの系を電磁弁により閉塞した状態で、その系内の圧力変動を圧力センサで検出することにより、当該系の気密性（即ち、リークの有無）を検査する。
【０００７】
このようなＫＥＹＯＦＦエバポダイアグ処理は、エンジンの高負荷での長時間運転後などでは、燃料タンク内の燃料が蒸発し易いため正確な検査結果が得られ難い。そのため、エンジン制御用電子制御装置においては、ＫＥＹＯＦＦエバポダイアグ処理を、エンジン停止中の特定の制御処理として、エンジン停止後所定時間が経過してから行うようにしている。
【０００８】
一方、エンジンの停止中、エンジン制御用電子制御装置に上記ＫＥＹＯＦＦエバポダイアグ処理のような特定の制御処理を実行させるべく、車載バッテリの電源を供給してエンジン制御用電子制御装置を動作させたときに、ＫＥＹＯＦＦエバポダイアグ処理のみならず、イグニションスイッチがオンされたときと同様の各種制御処理まで実行されると、車載バッテリの電力が必要以上に消費され、バッテリ上がりを招くおそれがある。
【０００９】
そこで、エンジン停止中に特定の制御処理を行う際の、車載バッテリの消費電力を低減する方法として、その特定の制御処理のみを実行して他の処理は実行しないようにすることが知られている。具体的には、エンジン停止後所定時間が経過すると、エンジン制御用電子制御装置に車載バッテリからの電源が供給され、マイクロコンピュータをはじめ当該エンジン制御用電子制御装置内の各部に電源が供給されてその動作が開始される。このとき、マイクロコンピュータは、エンジン停止中でイグニションスイッチもオフされた状態での起動であることを判断し、予め設定された一連の初期処理の一部のみを行うと共に特定の制御処理のみを行い、それ以外の制御処理（モニタの点灯制御や燃料噴射制御、点火時期制御など）は行わない（例えば、特許文献１参照。）。
【特許文献１】特開２００３−２０５７９８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、近年、エンジン制御用のマイクロコンピュータは、より高い性能が要求されている。この要求に応えるために、例えば、１つの半導体チップ上にＣＰＵコアを複数搭載するマルチコア構成、及びキャッシュメモリを搭載する構成の少なくとも一方を採用することで、処理能力を向上させることが考えられている。このようにマルチコア構成及びキャッシュメモリ搭載構成の少なくとも一方が採用されたマイクロコンピュータ（以下「高性能マイクロコンピュータ」ともいう）をエンジン制御用電子制御装置に用いれば、従来から用いられている、ＣＰＵコアが１つでキャッシュメモリをもたないマイクロコンピュータに比べ、より高い処理能力が実現される。
【００１１】
そして、このような高性能マイクロコンピュータを搭載したエンジン制御用電子制御装置においても、上記特許文献１に記載の技術を適用して、エンジン停止中に車載バッテリの電力によって特定の制御処理を実行する際にはその特定の制御処理を含む必要最低限の制御処理のみを実行して他の制御処理を実行しないようにすれば、バッテリの消費電力を低減することができる。
【００１２】
しかしながら、ＣＰＵコアを複数搭載することやキャッシュメモリを搭載することは、いずれも、マイクロコンピュータの処理能力を向上させるための有効な方法である反面、電力を大きく消費する方法でもある。そのため、このような高性能マイクロコンピュータをエンジン制御に用いると、ＣＰＵコアが１つでキャッシュメモリを持たない従来のマイクロコンピュータを用いた場合に比べ、当然ながら、マイクロコンピュータの消費電力（ひいてはエンジン制御用電子制御装置の消費電力）は大きくなる。
【００１３】
しかも、近年のエンジン制御用電子制御装置は、エンジン停止中も低い消費電力で動作し続ける他の電子制御装置（例えばイモビライザー制御用やドア制御用の電子制御装置など）と協調制御を行うよう構成されているものが多い。そして、エンジン停止中にこれら他の電子制御装置から起動要求を受けて一時的に起動し、その起動要求に応じた特定の制御処理を車載バッテリの電源により行うことが増加しつつある。つまり、エンジン停止中に実行すべき特定の制御処理は、ＫＥＹＯＦＦエバポダイアグ処理以外にも種々のものがあり、今後ますます増加していくことも予想される。
【００１４】
そのため、高性能マイクロコンピュータをエンジン制御用電子制御装置に用いる場合は、上記特許文献１に記載のような、エンジン停止中に特定の制御処理を実行する際にその特定の制御処理を含む必要最低限の処理のみを行う、という手法だけでは、消費電力の低減は不十分であり、バッテリ上がりを招くおそれがある。
【００１５】
本発明は上記課題に鑑みなされたものであり、マルチコア構成及びキャッシュメモリ搭載構成の少なくとも一方が採用されたマイクロコンピュータを備えたエンジン制御用電子制御装置において、エンジン停止中に車載バッテリの電源により特定の制御処理を行う際の消費電力を効果的に低減することを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するためになされた請求項１記載の発明は、車両に搭載され、外部から所定の起動用主スイッチ信号が入力されるか又は該起動用主スイッチ信号の入力とは別の起動条件が成立した場合に車載バッテリからの電源供給を受けて動作するマイクロコンピュータを備えると共に、該マイクロコンピュータが、起動用主スイッチ信号が入力された場合は車両のエンジンを制御し、起動条件が成立した場合には該起動条件に応じた特定の制御処理を行うよう構成されたエンジン制御用電子制御装置である。
【００１７】
そして、マイクロコンピュータは、少なくとも１つのＣＰＵコアと、ＣＰＵコアによりアクセスされてそのＣＰＵコアの動作時に用いられるプログラム及びデータの少なくとも一方が記憶される記憶手段と、ＣＰＵコアにより用いられて記憶手段に対応して設けられたキャッシュメモリと、起動条件の成立により特定の制御処理を行う際、当該マイクロコンピュータの動作モードを低消費電力モードに設定する動作モード設定手段とを備えている。この低消費電力モードは、起動用主スイッチ信号の入力による動作時よりも消費電力が低い動作モードであり、より具体的には、ＣＰＵコアの使用数又はキャッシュメモリの使用有無が、起動用主スイッチ信号の入力による動作時とは異なるものである。
【００１８】
エンジン制御の停止中（つまりマイクロコンピュータの動作停止中）に起動条件が成立して特定の制御処理が実行される際は、エンジン動作中のようにオルタネータ等からの発電電力はなく、車載バッテリの充電も行われない。そのため、特定の制御処理の実行時におけるマイクロコンピュータの処理能力が高いほど、また、実行時間が長くなればなるほど、バッテリの充電電力はどんどん消費されていく。
【００１９】
そこで、エンジン制御の停止中に特定の制御処理を実行する際は、マイクロコンピュータの動作モードを、エンジン動作時（起動用主スイッチ信号の入力時）における動作モードとは異なる低消費電力モードに設定する。そして、消費電力を低減させるために、具体的には、マイクロコンピュータが使用するＣＰＵコアの数又はキャッシュメモリの使用有無を、起動用主スイッチ信号の入力時とは異なるものにするのである。
【００２０】
ＣＰＵコア及びキャッシュメモリは、いずれも、マイクロコンピュータにおいて消費電力の大きい要素である。そのため、これらＣＰＵコアの使用数やキャッシュメモリの使用有無をエンジン動作時とは異なるものにすることで、マイクロコンピュータの消費電力をエンジン動作時よりも低く抑えることができる。
【００２１】
従って、上記構成のエンジン制御用電子制御装置によれば、マイクロコンピュータは、エンジン制御の停止中に起動条件が成立して特定の制御処理を実行する際は、エンジン制御時（起動用主スイッチ信号の入力時）よりも消費電力の低い低消費電力モードで動作するため、エンジン制御停止中に車載バッテリの電源により特定の制御処理を行う際の消費電力を効果的に低減することが可能となる。
【００２２】
ここで、例えば特定の制御処理が複数種類ある場合に、低消費電力モードを一律固定にしてどの特定の制御処理を実行する際も同じ低消費電力モードで動作するようにすると、ある特定の制御処理に対しては消費電力が低すぎて十分な処理能力が得られなかったり、逆に、ある特定の制御処理に対しては処理能力が必要以上に大きくて電力が無駄に消費されてしまう、ということが起こりうる。
【００２３】
そこで、特定の制御処理が複数ある場合は、例えば請求項２に記載のように、低消費電力モードも複数用意するとよい。即ち、マイクロコンピュータは、消費電力の異なる複数種類の低消費電力モードを有し、起動条件の成立時に該起動条件の種類に応じて異なる特定の制御処理を実行すると共に、該特定の制御処理毎に複数種類の低消費電力モードのいずれかが対応付けられている。そして、動作モード設定手段は、起動条件の成立により特定の制御処理を実行する際、マイクロコンピュータを、該実行する特定の制御処理に対応した低消費電力モードに設定する。
【００２４】
このように構成されたエンジン制御用電子制御装置によれば、特定の制御処理の種類毎に適切な（或いは最適な）低消費電力モードに設定することができるため、特定の制御処理を行う際の消費電力をより効果的に低減することが可能となる。
【００２５】
マイクロコンピュータの低消費電力モードとして、具体的にどのようなモードを設定するか（即ち、ＣＰＵコアの使用数やキャッシュメモリの使用有無を具体的にどのように設定するか）は種々考えられるが、例えば請求項３記載のように、マイクロコンピュータは、低消費電力モードとして、少なくとも、キャッシュメモリを全く使用しない又はその使用を制限するキャッシュメモリ使用制限モードを備えたものとすることができる。
【００２６】
上記のように構成されたエンジン制御用電子制御装置によれば、エンジン制御停止中に特定の制御処理を実行する際、キャッシュメモリの動作に必要な電力の消費を抑えることができ、その分、消費電力を低減することが可能となる。
【００２７】
なお、キャッシュメモリ使用制限モードでの動作が有効となる特定の制御処理としては、例えば、高速処理性能が必ずしも要求されず処理速度が低速でもよい制御処理、キャッシュメモリを使用する効果が比較的小さい制御処理、又は終了するまで長時間必要（車載バッテリからの電源供給が長時間必要）な制御処理などがある。
【００２８】
マイクロコンピュータがキャッシュメモリを複数有する場合に、全てのキャッシュメモリを使用しないようにするか又は一部使用を制限するかは、実行する特定の制御処理に要求される処理能力や所要時間或いはキャッシュメモリの使用効果等に応じて適宜決めればよい。
【００２９】
キャッシュメモリとしては、例えば、ＣＰＵコアが実行するプログラムが格納されるいわゆるインストラクションキャッシュメモリや、ＣＰＵコアが各種制御処理を実行する際に生じるデータ等が格納されるいわゆるデータキャッシュメモリがよく知られている。マイクロコンピュータが上記のインストラクションキャッシュメモリ及びデータキャッシュメモリを備えている場合は、例えば請求項４のように低消費電力モードを設定してもよい。
【００３０】
即ち、請求項４記載のエンジン制御用電子制御装置は、マイクロコンピュータが、記憶手段として、ＣＰＵコアが実行するプログラムが記憶されたＲＯＭ及びＣＰＵコアがプログラムを実行する際に用いるデータが記憶されるＲＡＭを備え、キャッシュメモリとして、ＲＯＭに対応したインストラクションキャッシュメモリ及びＲＡＭに対応したデータキャッシュメモリを備えている。そして、低消費電力モードとして、各キャッシュメモリのいずれも使用しない第１低消費電力モードと、データキャッシュメモリを使用せずインストラクションキャッシュメモリを使用する第２低消費電力モードと、インストラクションキャッシュメモリを使用せずデータキャッシュメモリを使用する第３低消費電力モードと、のうち少なくとも１つを有している。
【００３１】
このように、インストラクションキャッシュメモリ及びデータキャッシュメモリの各々について使用有無の異なる複数種類の低消費電力モードを設定することで、上記請求項３と同様の効果が得られるのに加え、実行する特定の制御処理の種類に応じてより適切な（最適な）低消費電力モードを設定することが可能となる。つまり、特定の制御処理毎に、マイクロコンピュータに必要十分な処理能力を発揮させつつその消費電力を効果的に低減することが可能となる。
【００３２】
なお、第１低消費電力モード〜第３低消費電力モードのいずれかでの動作が有効となる特定の制御処理としては、上記請求項３と同様、例えば、高速処理性能が必ずしも要求されず処理速度が低速でもよい制御処理、キャッシュメモリを使用する効果が比較的小さい制御処理、又は終了するまで長時間必要（車載バッテリからの電源供給が長時間必要）な制御処理などがある。
【００３３】
また、第１低消費電力モードは、第２低消費電力モード及び第３低消費電力モードに比べて消費電力が最も小さい。そのため、例えば、実行すべき特定の制御処理が、処理能力よりもバッテリ消費電力を重視（消費電力を低減することを重視）するものである場合は第１低消費電力モードに設定し、処理能力を重視するものであれば第２低消費電力モード或いは第３低消費電力モードにするなど、低消費電力モードとしてどれを設定するかは、特定の制御処理毎に、要求される処理能力や所要時間等に応じて適宜決めればよい。
【００３４】
また、第２低消費電力モード又は第３低消費電力モードのどちらにするかについては、例えば、特定の制御処理毎に、どちらに設定した方が効果的か（つまり、どちらのキャッシュメモリを用いた方が効果的か）といったこと等を考慮して決めればよい。
【００３５】
上記請求項３，４に記載のエンジン制御用電子制御装置では、キャッシュメモリの使用を制限等することで消費電力の低減を実現したが、ＣＰＵコアを複数備えている場合は、例えば請求項５，６に記載のように、ＣＰＵコアの使用数を制限することで消費電力の低減を実現できる。
【００３６】
即ち、請求項５記載のエンジン制御用電子制御装置は、マイクロコンピュータが、ＣＰＵコアを複数備え、低消費電力モードとして、複数のＣＰＵコアのうち少なくとも１つを使用しないコア使用制限モードを有している。
【００３７】
このように、エンジン制御停止中に特定の制御処理を実行する際、ＣＰＵコアの使用数を制限することで、制限した分、消費電力を低減することが可能となる。
なお、このコア使用制限モードでの動作が有効となる特定の制御処理としては、例えば、高速処理性能が必ずしも要求されず処理速度が低速でもよい制御処理、複数のＣＰＵコアの全てを使用する効果が比較的小さい制御処理、又は終了するまで長時間必要（車載バッテリからの電源供給が長時間必要）な制御処理などがある。
【００３８】
この場合において、更に、請求項６記載のように、ＣＰＵコアを１つのみ使用するコア最小使用モードを有するようにすれば、ＣＰＵコアの使用数を制限することによる消費電力低減としては最もその低減量を大きくすることができ、より効果的となる。特定の制御処理がＣＰＵコア１つで十分なものである場合は、このコア最小使用モードにすることで、必要十分な処理性能を確保しつつ消費電力をより効果的に低減できる。
【００３９】
ここで、上記請求項３，４に記載のようにキャッシュメモリの使用を制限等することで消費電力を低減することと、上記請求項５，６に記載のようにＣＰＵコアの使用数を制限することで消費電力を低減することを適宜組み合わせることで、例えば請求項７〜９に記載のように、より多種多様な低消費電力モードを設定することが可能となる。
【００４０】
請求項７記載のエンジン制御用電子制御装置は、マイクロコンピュータが、ＣＰＵコアを複数備え、低消費電力モードとして、ＣＰＵコアを１つのみ使用すると共にキャッシュメモリを全く使用しない第１低消費電力モードと、ＣＰＵコアを１つのみ使用すると共にキャッシュメモリを使用する又はその使用を制限する第２低消費電力モードと、ＣＰＵコアを２つ使用すると共にキャッシュメモリを全く使用しない又はその使用を制限する第３低消費電力モードとを有している。
【００４１】
このように構成されたエンジン制御用電子制御装置によれば、ＣＰＵコアの使用数及びキャッシュメモリの使用有無等の組み合わせによって、特定の制御処理の種類毎により適した（最適な）低消費電力モードを設定することが可能となる。
【００４２】
また、請求項８記載のエンジン制御用電子制御装置は、マイクロコンピュータが、ＣＰＵコアを複数備え、記憶手段として、ＣＰＵコアが実行するプログラムが記憶されたＲＯＭ及びＣＰＵコアがプログラムを実行する際に用いるデータが記憶されるＲＡＭを備え、キャッシュメモリとして、ＲＯＭに対応したインストラクションキャッシュメモリ及びＲＡＭに対応したデータキャッシュメモリを備える。そして、低消費電力モードとして、ＣＰＵコアを１つのみ使用すると共に、インストラクションキャッシュメモリ及びデータキャッシュメモリを共に使用しない第１低消費電力モードと、ＣＰＵコアを１つのみ使用すると共に、データキャッシュメモリは使用せずにインストラクションキャッシュメモリを使用する第２低消費電力モードと、ＣＰＵコアを２つ使用すると共に、インストラクションキャッシュメモリは使用せずにデータキャッシュメモリを使用する第３低消費電力モードとを有している。
【００４３】
このように構成されたエンジン制御用電子制御装置によっても、ＣＰＵコアの使用数及びキャッシュメモリの使用有無等の組み合わせによって、特定の制御処理の種類毎により適した（最適な）低消費電力モードを設定することが可能となる。特に、キャッシュメモリについてはインストラクションキャッシュメモリ及びデータキャッシュメモリの個々について使用有無を設定している。そのため、例えば、ある特定の制御処理がいずれか一方のキャッシュメモリを不要とする（使用してもあまり効果がない等）場合にはその特定の制御処理についてはその不要キャッシュメモリを使用しない低消費電力モードに設定する、といったことが可能となるなど、キャッシュメモリの種類をも考慮したより適切な（最適な）低消費電力モードを設定することが可能となる。
【００４４】
また、請求項４記載のエンジン制御用電子制御装置は、例えば請求項９記載のように、マイクロコンピュータがＣＰＵコアを１つ備えたものであってもよい。マイクロコンピュータに要求される処理能力の程度によっては、例えば、ＣＰＵコアの数を増やす必要まではなくキャッシュメモリを設けるだけで十分、というケースもあり、そのような場合は、ＣＰＵコアが１つでキャッシュメモリを搭載したマイクロコンピュータが用いられることになる。このようにＣＰＵコアが１つのマイクロコンピュータにおいては、ＣＰＵコアの使用数を制限して消費電力低減するということはできないが、キャッシュメモリの使用有無を制限等することで、消費電力を低減することが可能となる。
【００４５】
そして、請求項７〜９いずれかに記載のエンジン制御用電子制御装置は、より具体的には、例えば請求項１０〜１２に記載のように構成できる。
請求項１０記載のエンジン制御用電子制御装置は、当該装置への起動用主スイッチ信号の入力が停止されて当該装置によるエンジンの制御が停止されてから所定時間が経過したことを検知する計時手段と、当該装置によるエンジンの制御の停止後、計時手段により上記所定時間の経過が検知されたとき、起動条件が成立したものとして車載バッテリの電源をマイクロコンピュータに供給して該マイクロコンピュータを動作させる電源制御手段と  を備えている。そして、計時手段が上記所定時間の経過を検知したことにより起動条件が成立したときは、動作モード設定手段がマイクロコンピュータを第１低消費電力モードに設定すると共に、マイクロコンピュータは、特定の制御処理として、車両におけるエバポパージシステムの診断処理を行う。
【００４６】
エバポパージシステムの診断処理は、例えば既述のＫＥＹＯＦＦエバポダイアグ処理のように、車両におけるエバポパージシステムのリークを検出するための処理である。この処理は、一般に、高速処理性能を必要とせず低速動作で十分であるが、診断処理にかかる時間は比較的長い（例えば数十分程度）。
【００４７】
そのため、エンジン制御停止中に車載バッテリの電力によってマイクロコンピュータがエバポパージシステムの診断処理を行う際には、マイクロコンピュータの動作モードを第１低消費電力モード（ＣＰＵコアを１つ使用し、キャッシュメモリは使用しないモード）とすることで、エバポパージシステムの診断処理に必要な処理能力を十分に確保しつつ、消費電力を効果的に低減することができる。
【００４８】
また、請求項１１記載のエンジン制御用電子制御装置は、外部装置とデータ通信できるよう構成されており、外部装置からデータが受信された場合にこれを検知する受信検知手段と、エンジンの制御が停止されているときに受信検知手段によりデータの受信が検知されたとき、起動条件が成立したものとして車載バッテリの電源をマイクロコンピュータに供給して該マイクロコンピュータを動作させる電源制御手段とを備えている。そして、受信検知手段がデータの受信を検知したことにより起動条件が成立したときは、動作モード設定手段がマイクロコンピュータを第２低消費電力モードに設定すると共に、マイクロコンピュータは、特定の制御処理として、その受信されたデータに基づく処理を行う。
【００４９】
エンジン制御用電子制御装置がエンジン制御停止中に外部装置との通信を行うケースとしては、例えば、既述の通り、車両に搭載された他の電子制御装置がエンジン制御用電子制御装置と協調制御を行う際にその電子制御装置との間でデータ通信を行うこと等が考えられる。このように、エンジン制御用電子制御装置が外部装置とデータ通信を行う場合、エンジン制御用電子制御装置における処理速度が外部装置の処理に影響を与える可能性があることから、処理速度はできる限り速い方が好ましい。一方、処理時間としては、比較的短くてすむことが多い（例えば数秒程度）。
【００５０】
しかし、マイクロコンピュータの通信装置を利用してデータの送受信を行う場合、通信データの処理速度については、通信速度、通信機能の性能に影響するところがほとんどである。従って、ＣＰＵコアを２個以上使用してもあまり処理速度の向上には繋がらない。一方、キャッシュメモリに関しては、マイクロコンピュータの通信装置に対しての送受信データの読み出し／書き込み速度が向上し、結果、全体の処理速度の向上が期待できる。
【００５１】
そのため、エンジン制御停止中に車載バッテリの電力によってマイクロコンピュータが外部装置とデータ通信を行う際には、マイクロコンピュータの動作モードを第２低消費電力モード（ＣＰＵコアを１つ使用し、キャッシュメモリは使用する又は使用を制限するモード）とすることで、データ通信に必要な処理能力を十分に確保しつつ、消費電力を効果的に低減することができる。
【００５２】
また、請求項１２記載のエンジン制御用電子制御装置は、外部装置とデータ通信できるよう構成されており、ＲＯＭは、記憶内容を電気的に書き換え可能に構成されており、エンジンの制御が停止されているときに外部から所定の起動用副スイッチ信号が入力されたとき、起動条件が成立したものとして車載バッテリの電源をマイクロコンピュータに供給して該マイクロコンピュータを動作させる電源制御手段と、ＲＯＭの記憶内容を書き換えるべき旨の書換要求が外部装置から入力された場合にこれを検知する書換要求検知手段と  を備えている。そして、起動用副スイッチ信号の入力により起動条件が成立すると共に書換要求検知手段が書換要求の入力を検知したときは、動作モード設定手段がマイクロコンピュータを第３低消費電力モードに設定すると共に、マイクロコンピュータは、特定の制御処理として、書換要求に基づいてＲＯＭの記憶内容の書き換えを行う。
【００５３】
外部装置を用いたＲＯＭの記憶内容の書き換えは、その書き換え作業の工数削減の観点では、高速処理能力が有効であり、例えば、ＣＰＵコアを２つ使用し、一方が記憶内容を書き換えて他方がそのベリファイチェックを行うようにすることで、高速処理能力を得ることができる。一方、ＲＯＭの記憶内容を書き換える制御処理を行う際は、その制御処理の性質上、インストラクションキャッシュメモリの使用効果はほとんどない。
【００５４】
そのため、エンジン制御停止中に車載バッテリの電力によってマイクロコンピュータが外部装置からの要求に従ってＲＯＭの記憶内容を書き換える際には、マイクロコンピュータの動作モードを第３低消費電力モード（ＣＰＵコアを２つ使用し、キャッシュメモリは使用しない又は使用を制限するモード）とすることで、データ通信に必要な処理能力を十分に確保しつつ、消費電力を効果的に低減することができる。
【００５５】
ところで、エンジン制御停止中に起動条件が複数成立した場合であって、各起動条件に応じた複数種類の特定の制御処理が実行される場合に、マイクロコンピュータの動作モード（低消費電力モード）をどのようにするかは種々考えられるが、例えば請求項１３記載のように設定することができる。即ち、複数種類の低消費電力モードに、各々、優先順位を設定しておき、動作モード設定手段が、起動条件が複数成立した場合には、該成立した複数の起動条件に対応した低消費電力モードのうち最も優先順位の高いモードに設定する。
【００５６】
優先順位の設定は、例えば、電力消費量が大きい特定の制御処理ほど優先順位が上位になるようにしてもよい。このようにすれば、特定の制御処理が複数実行される場合にどの制御処理においても所望の処理能力を得ることができる。また例えば、より重要な制御処理（優先して実行させるべき特定の制御処理）ほど優先順位が上位になるようにしてもよい。このようにすれば、重要度の高い制御処理ほど、その処理実行に必要な処理能力を確実に確保することができる。
【００５７】
また、上記請求項１〜１３いずれかに記載のエンジン制御用電子制御装置は、例えば請求項１４記載のように、車載バッテリの電圧が所定の閾値以下であるか否かを判断するバッテリ電圧判断手段を備え、低消費電力モードとして、特定の制御処理に対応付けられた低消費電力モードのうち最も消費電力の低いものと同じ消費電力か又はそれよりも消費電力の低い、電圧低下時動作モードを有し、動作モード設定手段は、起動条件の成立によりマイクロコンピュータが特定の制御処理を行う際、バッテリ電圧判断手段により車載バッテリの電圧が上記閾値以下と判断されたならば、動作モードを電圧低下時動作モードに設定するものとして構成するとよい。
【００５８】
車載バッテリの電圧が低下すると、エンジン制御用電子制御装置が行う上記特定の制御処理に影響が及ぶおそれがあるのに加え、車両における他の装置等の動作にも影響を及ぼすおそれが大きい。例えば、車載バッテリから常時電力供給を受けて各種データを記憶するバックアップＲＡＭを有している場合、車載バッテリの電圧が低下するとその記憶内容が消えてしまうおそれがある。
【００５９】
そこで、エンジン制御停止中に特定の制御処理を行う際、車載バッテリの電圧を判断し、所定の閾値を超えていれば、その特定の制御処理に対応した低消費電力モードに設定するが、車載バッテリの電圧が所定の閾値以下ならば、実行する特定の制御処理如何に関わらず電圧低下時動作モードに設定する。つまり、特定の制御処理に必要な最低限の処理能力は確保しつつ、車載バッテリの電圧低下を抑制することを優先するのである。
【００６０】
このように、車載バッテリの電圧が閾値以下の場合は動作モードを電圧低下時動作モードに設定することで、車載バッテリの電圧低下を抑制し、エンジン制御停止中に車載バッテリの電源により動作している他の装置等の動作に悪影響が及ぶのを防止することができる。
【００６１】
また、上記請求項１〜１４いずれかに記載のエンジン制御用電子制御装置は、例えば請求項１５記載のように、動作モード設定手段が、マイクロコンピュータを低消費電力モードに設定している際に、起動用主スイッチ信号が入力されたならば、動作モードを、ＣＰＵコアおよびキャッシュメモリの全てを使用する通常動作モードに設定するものとして構成することができる。
【００６２】
このように構成することで、低消費電力モードに設定されていても、起動用主スイッチ信号が入力されたならば、通常動作モード（ＣＰＵコアの使用数及びキャッシュメモリの使用有無の観点では最高の処理能力が得られる動作モード）に設定されるため、マイクロコンピュータは、エンジン制御用電子制御装置における主たる制御であるエンジンの制御を最高の処理能力で実行することができる。
【００６３】
請求項１６記載の発明は、請求項１〜１５いずれかに記載のエンジン制御用電子制御装置に搭載されるマイクロコンピュータであって、１つの半導体チップ上に形成されてなることを特徴とする。このように構成されたマイクロコンピュータによれば、請求項１〜１５いずれかに記載のエンジン制御用電子制御装置に適用でき、その場合、装置の小型化と車載バッテリの消費電力低減が共に可能となる。
【発明を実施するための最良の形態】
【００６４】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
［第１実施形態］
図１は、本実施形態のエンジン制御用電子制御装置（以下「エンジン制御ＥＣＵ」という）を表す構成図である。
【００６５】
図１に示すように、本実施形態のエンジン制御ＥＣＵ１０は、車両に搭載され、主として図示しないエンジンを制御するものであり、エンジンを制御するための各種処理を実行するエンジン制御用マイクロコンピュータ（以下「エンジン制御マイコン」という）２０と、エンジン制御マイコン２０を動作させるための主電源電圧Ｖａ，ｖｂを出力する主電源回路３１及びソークタイマＩＣ４０やメインリレー駆動回路２１等を動作させるための副電源電圧Ｖｓを出力する副電源回路３２を有する電源ＩＣ３０と、エンジン制御マイコン２０から出力される駆動制御信号に応じてＫＥＹＯＦＦエバポダイアグ処理に関わるアクチュエータ（図２のパージ弁１１３，電動ポンプ１１９，制御弁１２１。詳細は後述。）を駆動する駆動回路２３とを備えている。
【００６６】
ここで、電源ＩＣ３０の副電源回路３２には、車両のバッテリ４１のプラス端子の電圧（以下、「バッテリ電圧」という）が常時供給されている。そして、副電源回路３２は、そのバッテリ電圧から副電源電圧Ｖｓを常時生成して、エンジン制御マイコン２０を含むエンジン制御ＥＣＵ１０の各部へ出力する。
【００６７】
また、電源ＩＣ３０の主電源回路３１には、車両のイグニッションスイッチ（以下、「ＩＧＳＷ」と記す）４３がオンされるか、或いは、所定の起動条件が成立したことによって、メインリレー駆動回路２１からメインリレー駆動信号が出力された場合に、本エンジン制御ＥＣＵ１０の外部に設けられた給電用のメインリレー（ＭＬ）４２を介してバッテリ電圧が供給される。そして、主電源回路３１は、メインリレー４２を介して供給されるバッテリ電圧から主電源電圧Ｖａ，Ｖｂを生成して出力する。
【００６８】
具体的に説明すると、まず、本エンジン制御ＥＣＵ１０が搭載された車両は、運転者等がキーを挿入する周知のキーシリンダ（図示略）を備えている。そして、周知の如く、このキーシリンダにキーを挿入しただけの状態ではＯＦＦであり、その状態からキーを捻る毎に、アクセサリスイッチ（以下、「ＡＣＣＳＷ」と記す）４４がＯＮ、ＩＧＳＷ４３がＯＮし、更に捻るとスタータモータ(図示略)が回転してエンジンが始動する。なお、ＩＧＳＷ４３やＡＣＣＳＷ４４は、上記のようにキーシリンダにキーを挿入して操作するタイプのものに限らず、例えば、無線機能を備えたキーを携帯した運転者がキーを携帯したままの状態で車両のスイッチを操作することで上記同様のスイッチ操作を行えるタイプのもの等であってもよいことはいうまでもない。
【００６９】
そして、本エンジン制御ＥＣＵ１０には、ＩＧＳＷ４３及びＡＣＣＳＷ４４を介して、ＩＧＳＷ４３又はＡＣＣＳＷ４４のＯＮ／ＯＦＦ状態を示すＡＣＣＳＷ信号が入力されている。即ち、このＡＣＣＳＷ信号は、ＡＣＣＳＷ４４がＯＮされたとき又はＩＧＳＷ４３がＯＮされたときにハイレベルとなり、ＩＧＳＷ４３及びＡＣＣＳＷ４４が双方共にＯＦＦされたときにローレベルとなる。また、本エンジン制御ＥＣＵ１０には、ＩＧＳＷ４３を介して、ＩＧＳＷ４３のＯＮ／ＯＦＦ状態を示すＩＧＳＷ信号も入力されている。このＩＧＳＷ信号は、ＩＧＳＷ４３がＯＮされるとハイレベルになり、ＯＦＦされるとローレベルになる。
【００７０】
つまり、ＡＣＣＳＷ４４がＯＮされた状態では、ＩＧＳＷ信号はローレベルであるがＡＣＣＳＷ信号はハイレベルとなる。そして、ＩＧＳＷ４３がＯＮされた状態では、ＩＧＳＷ信号及びＡＣＣＳＷ信号が共にハイレベルとなる。
【００７１】
なお、本実施形態では、上記のように、ＡＣＣＳＷ４４がＯＮされたとき及びＩＧＳＷ４３がＯＮされたときのいずれにおいてもＡＣＣＳＷ信号が出力される構成としたが、これは一例であって、例えば、ＡＣＣＳＷ信号はＡＣＣＳＷ４４がＯＮされたときのみ出力されるようにすると共に、ＩＧＳＷ信号をメインリレー駆動回路２１にも入力するようにしてもよい。
【００７２】
そして、エンジン制御ＥＣＵ１０には、ＡＣＣＳＷ信号と、パケット検出部２２からのＣＡＮパケット検出信号と、ソークタイマＩＣ４０からのソークタイマ起動信号と、エンジン制御マイコン２０からのメインリレー保持信号と、のうち少なくとも一つがハイレベルである場合に、メインリレー４２のコイルに通電（メインリレー駆動信号を出力）して該メインリレー４２の接点を短絡（オン）させるメインリレー駆動回路２１が備えられている。尚、パケット検出部２２、ソークタイマＩＣ４０、メインリレー駆動回路２１はいずれも、副電源電圧Ｖｓを受けて動作するものである。
【００７３】
よって、ＡＣＣＳＷ信号、ＣＡＮパケット検出信号、ソークタイマ起動信号、及びメインリレー保持信号のうち何れかがハイレベルである場合に、メインリレー４２がオンして、主電源回路３１にバッテリ電圧が供給され、その主電源回路３１からエンジン制御マイコン２０へ主電源電圧Ｖａ，Ｖｂが出力されることとなる。
【００７４】
主電源回路３１は、より具体的には、１．５Ｖの主電源電圧Ｖａを生成し出力する１．５Ｖ系電源回路３５と、５Ｖの主電源電圧Ｖｂを生成し出力する５Ｖ系電源回路３６とを備えている。
【００７５】
また、電源ＩＣ３０は、主電源回路３１が主電源電圧Ｖａ，Ｖｂの出力を開始した時に、その主電源電圧Ｖａ，Ｖｂが安定すると見なされる微少時間だけエンジン制御マイコン２０にリセット信号を出力する、いわゆるパワーオンリセット機能も備えている。このため、エンジン制御マイコン２０は、主電源回路３１が主電源電圧Ｖａ，Ｖｂの出力を開始すると、初期状態から動作を開始（即ち、起動）することとなる。
【００７６】
一方、ソークタイマＩＣ４０は、図示は省略したものの、時間を計測するためのカウンタと、このカウンタのクロック源と、このカウンタのカウント値と比較される設定値が記憶されるレジスタと、カウンタ値とレジスタ内の設定値とを比較してカウンタ値が設定値と一致したらメインリレー駆動回路２１へのソークタイマ起動信号をハイレベルに保持する比較回路とを備えている。
【００７７】
そして更に、ソークタイマＩＣ４０は、以下の（Ａ）〜（Ｃ）の機能を有している。
（Ａ）エンジン制御マイコン２０から“タイマスタート指令”を受けると、カウンタ値を０にリセットして、カウンタをスタートさせる。
【００７８】
（Ｂ）レジスタには、エンジン制御マイコン２０によって任意の設定値が書き込まれる。
（Ｃ）比較回路は、エンジン制御マイコン２０から“出力リセット指令”を受けると、ソークタイマ起動信号の出力レベルをローレベルにリセットする。
【００７９】
（Ｄ）カウンタ値は、エンジン制御マイコン２０から読み出すことができる。
上記構成のソークタイマＩＣ４０は、ＩＧＳＷ４３がオフとなってエンジン制御マイコン２０へのＩＧＳＷ信号がローレベルになると、エンジン制御マイコン２０からのタイマスタート指令を受けてカウンタをスタートさせる。つまり、ＩＧＳＷ４３のＯＦＦ後（換言すればエンジン制御マイコン２０によるエンジン制御の停止後）の経過時間を計測開始する。
【００８０】
そして、カウンタのスタート後、そのカウンタ値がレジスタ内の設定値と一致したら（つまり設定値が示す所定時間が経過したら）、そのカウンタ値を履歴として残すと共に、メインリレー駆動回路２１へのソークタイマ起動信号をハイレベルに保持する。これにより、メインリレー駆動回路２１からメインリレーへのメインリレー駆動信号がハイレベルとなってバッテリ電圧がエンジン制御ＥＣＵ１０内に供給され、エンジン制御マイコン２０も起動することとなる。
【００８１】
つまり、本実施形態のエンジン制御ＥＣＵ１０は、ＩＧＳＷ４３及びＡＣＣＳＷ４４が共にＯＦＦされていて当該エンジン制御ＥＣＵ１０にバッテリ電圧が供給されずエンジン制御マイコン２０がその動作を停止しているときであっても、ＩＧＳＷ４３のＯＦＦ後、所定時間が経過したときは、ソークタイマＩＣ４０からのソークタイマ起動信号によってバッテリ電圧が供給され、エンジン制御マイコン２０が起動するのである。
【００８２】
そして、このようにソークタイマＩＣからのソークタイマ起動信号がハイレベルになること（以下、「ソークタイマ起動要因」ともいう）によってエンジン制御マイコン２０が起動した場合、エンジン制御マイコン２０は、通常のエンジン制御は行わず、そのソークタイマ起動要因に対応した特定の制御処理である、ＫＥＹＯＦＦエバポダイアグ処理を実行する。そして、そのＫＥＹＯＦＦエバポダイアグ処理が終了すると、エンジン制御マイコン２０は、ソークタイマＩＣ４０へ出力リセット指令を送信することで、ソークタイマ起動信号をローレベルにリセットする。なお、エンジン制御マイコン２０は、起動したときにソークタイマＩＣ４０のカウンタ値を読み出し、そのカウンタ値に基づいて、自身の起動がソークタイマ起動要因によるものであるか否かを判断する。
【００８３】
なお、エンジン制御マイコン２０は、後述するように、自身の動作中はメインリレー駆動回路２１へのメインリレー保持信号をハイレベルに保持する。これは、例えばＩＧＳＷ４３のＯＮによりメインリレー駆動回路２１へのＡＣＣＳＷ信号がハイレベルとなってエンジン制御ＥＣＵ１０へのバッテリ電圧の供給が開始された後に、ＩＧＳＷ４３がＯＮであるにも関わらずノイズ等の何らかの要因でＡＣＣＳＷ信号がローレベルに変化するおそれがあり、そうなるとエンジン制御中にエンジン制御ＥＣＵ１０へのバッテリ電圧供給が突然遮断されてしまう。このような、エンジン制御ＥＣＵ１０へのバッテリ電圧供給開始後に何らかの要因で意図せずバッテリ電圧の供給が遮断されてしまうのを防ぐために、エンジン制御マイコン２０は、バッテリ電圧の供給（ひいては主電源回路３１からの主電源電圧Ｖａ，Ｖｂの供給）が開始されてその動作を開始したら、メインリレー駆動回路２１へのメインリレー保持信号をハイレベルにすることで、動作中にバッテリ電圧の供給が遮断されないようにしているのである。
【００８４】
そのため、ソークタイマ起動要因によりエンジン制御マイコン２０が起動したら、ソークタイマＩＣ４０からのソークタイマ起動信号がハイレベルになると共に、エンジン制御マイコン２０からのメインリレー保持信号もハイレベルとなって、メインリレー駆動回路２１からメインリレー駆動信号が出力される。そして、ＫＥＹＯＦＦエバポダイアグ処理が終了すると、上記のようにソークタイマ起動信号がローレベルにリセットされると共に、エンジン制御マイコン２０からのメインリレー保持信号もローレベルとなって、メインリレー駆動回路２１からのメインリレー駆動信号がローレベルとなる。これにより、エンジン制御ＥＣＵ１０へのバッテリ電圧供給が停止され、エンジン制御マイコン２０はその動作を停止する。
【００８５】
また、本エンジン制御ＥＣＵ１０は、ＣＡＮネットワークＢＵＳ４５を介して、イモビライザーＥＣＵ（以下、「イモビＥＣＵ」と略す）４６や図示しないドアＥＣＵ等の他のＥＣＵと相互にデータ通信可能に構成されている。
【００８６】
そして、本エンジン制御ＥＣＵ１０が備えるパケット検出部２２は、ＣＡＮネットワークＢＵＳ４５を介して受信された通信パケットを検出するもの（通信ドライバ）であり、通信パケット受信したとき、その通信パケットのエラーをチェックして、エラーがなかった場合に、メインリレー駆動回路２１へのＣＡＮパケット検出信号をハイレベルにする。
【００８７】
なお、パケット検出部２２は、受信した通信パケットがエンジン制御ＥＣＵ１０宛の通信パケットか否かに関わらず、とにかく、通信パケットが受信されてそれが正常なＣＡＮの通信パケットであると判断したら、ＣＡＮパケット検出信号をハイレベルにしてメインリレー４２をＯＮさせ、電源ＩＣ３０にバッテリ電圧を供給させる。
【００８８】
つまり、ＩＧＳＷ４３及びＡＣＣＳＷ４４が共にＯＦＦされていてエンジン制御ＥＣＵ１０が動作停止しているときに、パケット検出部２２によって正常なＣＡＮ通信パケットが受信されたならば、バッテリ電圧がエンジン制御ＥＣＵ１０へ供給されると共にエンジン制御マイコン２０に主電源電圧Ｖａ，Ｖｂが供給され、エンジン制御マイコン２０も起動するのである。そして、その起動後に、受信した通信パケットが当該エンジン制御マイコン２０宛て（エンジン制御ＥＣＵ１０宛て）のものであるか否かの判断が行われる。
【００８９】
そして、エンジン制御の停止中、パケット検出部２２からのＣＡＮパケット検出信号がハイレベルになること（以下、「ＣＡＮウェイクアップ起動要因」ともいう）によってエンジン制御マイコン２０が起動した場合、エンジン制御マイコン２０は、通常のエンジン制御は行わず、そのＣＡＮウェイクアップ起動要因に対応した特定の処理である、ＣＡＮネットワークＢＵＳ４５を介して受信されたデータに基づく処理（以下、「ＣＡＮウェイクアップ処理」ともいう）を実行する。そして、そのＣＡＮウェイクアップ処理が終了すると、エンジン制御マイコン２０は、ソークタイマＩＣ４０へ出力リセット指令を送信することで、ソークタイマ起動信号をローレベルにリセットする。なお、エンジン制御マイコン２０は、起動したときに、自身に入力されているＣＡＮパケット検出信号のレベルに基づいて、自身の起動がＣＡＮウェイクアップ起動要因によるものであるか否かを判断する。
【００９０】
なお、エンジン制御マイコン２０は、ＣＡＮウェイクアップ起動要因によって起動した場合も、ソークタイマ起動要因による起動時と同様、メインリレー駆動回路２１へのメインリレー保持信号をハイレベルに保持する。そして、ＣＡＮウェイクアップ処理が終了して自身の動作を停止する際に、メインリレー保持信号をローレベルにする。これにより、エンジン制御ＥＣＵ１０へのバッテリ電圧供給が停止され、エンジン制御マイコン２０はその動作を停止する。
【００９１】
また、パケット検出部２２は、例えば、通信パケットを検出後、所定時間だけＣＡＮパケット検出信号をハイレベルにしてその後はローレベルにするものとしてもよいし、例えばソークタイマＩＣ４０と同じように、通信パケットの検出後、エンジン制御マイコン２０でのＣＡＮウェイクアップ処理が終了するまではハイレベルに保持し続けるものとしてもよい。
【００９２】
また、ＣＡＮネットワークＢＵＳ４５には、外部装置としてのダイアグチェッカ４８を接続するためのコネクタ４７が設けられている。このダイアグチェッカ４８は、コネクタ４７に接続することで、このコネクタ４７を介してＡＣＣ電源（ＡＣＣＳＷ４４のＯＮ時に供給される電源）が供給されることにより動作する。そして、例えば作業者等がこのダイアグチェッカ４８を操作することで、ＣＡＮネットワークＢＵＳ４５を介して、エンジン制御マイコン２０内のバックアップＲＡＭ６に記憶されたダイアグ情報を読み出したり、エンジン制御マイコン２０内のフラッシュＲＯＭ４のプログラムの書き換え（以下、「リプログ処理」ともいう）を行ったりすることができる。
【００９３】
つまり、本実施形態においては、ダイアグチェッカ４８を用いてエンジン制御ＥＣＵ１０に対する各種作業を行う場合は、ダイアグチェッカ４８をコネクタ４７に接続すると共に、ＡＣＣＳＷ４４をＯＮにする必要がある。
【００９４】
そして、エンジン制御の停止中であってエンジン制御ＥＣＵ１０にバッテリ電圧が供給されていないときに、リプログ処理を行うためにＡＣＣＳＷ４４をＯＮにすると、メインリレー駆動回路２１に入力されるＡＣＣＳＷ信号がハイレベルとなり、メインリレー駆動回路２１からのメインリレー駆動信号がハイレベルになって、エンジン制御ＥＣＵ１０へのバッテリ電圧供給が開始される。
【００９５】
このように、エンジン制御の停止中、ＡＣＣＳＷ信号がハイレベルになること（以下、「ＡＣＣＳＷ起動要因」ともいう）によってエンジン制御マイコン２０が起動した場合、エンジン制御マイコン２０は、通常のエンジン制御は行わず、そのＡＣＣＳＷ起動要因に対応した特定の制御処理（本実施形態ではリプログ処理）を実行する。具体的には、既述のように、ＡＣＣ電源の供給を受けて動作するダイアグチェッカ４８を作業者が操作することにより行われる。具体的には、ダイアグチェッカ４８を用いてプログラムの書換要求信号を送信すると共に書き換えるべきプログラムを送信する。エンジン制御マイコン２０は、この書換要求信号及び送信されてきたプログラムに基づき、フラッシュＲＯＭ４の記憶内容を書き換える。
【００９６】
そして、作業者の操作に従って所定のリプログ処理が終了し、作業者がＡＣＣＳＷ４４をＯＦＦすると、ＡＣＣＳＷ信号がローレベルになる。エンジン制御マイコン２０は、ＡＣＣＳＷ起動要因によって起動した場合も、ソークタイマ起動要因による起動時と同様、メインリレー駆動回路２１へのメインリレー保持信号をハイレベルに保持する。そして、リプログ処理が終了してＡＣＣＳＷ４４がＯＦＦされることによりＡＣＣＳＷ信号がローレベルになると、メインリレー保持信号をローレベルにする。これにより、エンジン制御ＥＣＵ１０へのバッテリ電圧供給が停止され、エンジン制御マイコン２０はその動作を停止する。
【００９７】
なお、エンジン制御マイコン２０は、起動したときに、自身に入力されているＡＣＣＳＷ信号のレベルに基づいて、自身の起動がＡＣＣＳＷ起動要因によるものであるか否かを判断する。
【００９８】
また、エンジンを始動させるべく、ＩＧＳＷ４３をＯＮしたときは、メインリレー駆動回路２１へのＡＣＣＳＷ信号がハイレベルになると共に、エンジン制御マイコン２０へ入力されるＩＧＳＷ信号もハイレベルになる。これにより、エンジン制御ＥＣＵ１０にバッテリ電圧が供給されてエンジン制御マイコン２０がその動作を開始する。このとき、エンジン制御マイコン２０は、自身に入力されているＩＧＳＷ信号がハイレベルになっていることに基づき、ＩＧＳＷ４３のＯＮによる起動であるものと判断して、各種のエンジン制御を実行する。
【００９９】
このように、本実施形態のエンジン制御マイコン２０では、ＩＧＳＷ４３がＯＮされたときにだけバッテリ電圧が供給されてその動作（エンジン制御）が開始されるだけでなく、エンジン制御が停止されてバッテリ電圧が供給されていないときであっても、上述したソークタイマ起動要因、ＣＡＮウェイクアップ起動要因、及びＡＣＣＳＷ起動要因のうちいずれかが生じた場合は、バッテリ電圧が供給されて、起動要因に応じた特定の制御処理（ＫＥＹＯＦＦエバポダイアグ処理、ＣＡＮウェイクアップ処理、又はリプログ処理）が行われる。
【０１００】
本実施形態のエンジン制御マイコン２０は、１つの半導体チップ上に形成され、ＣＰＵコアを２つ備えたいわゆるデュアルコア構成であると共に、キャッシュメモリを２つ備えている。即ち、エンジン制御マイコン２０は、ＣＰＵコアとしての第１ＣＰＵ１及び第２ＣＰＵ２と、フラッシュＲＯＭ４と、ＲＡＭ４と、バックアップＲＡＭ６と、Ａ／Ｄコンバータ７と、ＣＡＮ送受信回路８と、マイコン入出力ポート９とを備え、これらが内部バス１８を介して相互に接続されている。
【０１０１】
バックアップＲＡＭ６は、ＩＧＳＷ４３やＡＣＣＳＷ４４の状態に関係なく副電源回路３２からの副電源電圧Ｖｓの供給を常時受けて動作するものであり、ダイアグ情報等が記憶される。つまり、バッテリ電圧及び副電源回路３２が正常である限り、このバックアップＲＡＭ６には副電源電圧Ｖｓが供給され続ける。
【０１０２】
ＣＡＮ送受信回路８は、エンジン制御マイコン２０がＣＡＮネットワークＢＵＳ４５を介して他のＥＣＵ或いは外部装置等（ダイアグチェッカ４８等）とデータ通信を行うための通信インタフェースとして機能する。
【０１０３】
マイコン入出力ポート９は、当該エンジン制御マイコン２０とその外部との間で入出力される各種デジタル信号を処理する入出力インタフェースとして機能する。上述のメインリレー保持信号はこのマイコン入出力ポート９からメインリレー駆動回路２１へ出力される。また、上述のＡＣＣＳＷ信号、ＣＡＮパケット検出信号、ＩＧＳＷ信号は、このマイコン入出力ポート９を介してエンジン制御マイコン２０内へ入力される。また、エンジン制御マイコン２０とソークタイマＩＣとの間の通信（既述）も、このマイコン入出力ポート９を介して行われる。
【０１０４】
また、Ａ／Ｄコンバータ７には、エバポパージシステムを構成する圧力センサ２５からの信号をはじめ、各種のアナログ信号が入力される。これらアナログ信号は、このＡ／Ｄコンバータ７にてデジタルデータに変換された上で、エンジン制御マイコン２０内で各種制御処理に用いられる。なお、圧力センサ２５からの信号は、ＫＥＹＯＦＦエバポダイアグ処理の実行時に用いられる。
【０１０５】
フラッシュＲＯＭ４は、記憶内容を電気的に書き換え可能な周知の不揮発性メモリであり、主として、第１ＣＰＵ１及び第２ＣＰＵ２により実行される各種プログラムが記憶されている。ＲＡＭは、各ＣＰＵ１，２が各種プログラムを実行する際の作業領域として用いられ、各種データ等が一時的に記憶される。
【０１０６】
また、エンジン制御マイコン２０が備えるキャッシュメモリは、具体的には、フラッシュＲＯＭ４に対応して設けられ、フラッシュＲＯＭ４内のプログラムが格納されるインストラクションキャッシュメモリ１４と、ＲＡＭ５に対応して設けられ、ＲＡＭ５内のデータが格納されるデータキャッシュメモリ１５である。
【０１０７】
このように、本実施形態のエンジン制御マイコン２０は、デュアルコア構成であると共に２つのキャッシュメモリを有するキャッシュメモリ搭載構成となっており、ＩＧＳＷ４３のＯＮ時には、高い処理能力でエンジン制御を行う。
【０１０８】
一方、本実施形態のエンジン制御マイコン２０は、ＩＧＳＷ４３がＯＦＦされているときに上記いずれかの起動要因が生じて起動され、その起動要因に対応した特定の制御処理を実行する際には、実行する特定の制御処理の種類に応じて動作モードを設定するようにしている。
【０１０９】
即ち、ＩＧＳＷ４３のＯＮ時であってエンジン制御を行う際は、第１ＣＰＵ１及び第２ＣＰＵ２の双方を用いると共にインストラクションキャッシュメモリ１４及びデータキャッシュメモリ１５の双方を用いるエンジン制御モードとすることで、最高の処理能力を発揮させてエンジン制御を実行する。
【０１１０】
これに対し、ＩＧＳＷ４３がＯＦＦされているときに、ソークタイマ起動要因が生じたことによりエンジン制御マイコン２０が起動されたときは、エンジン制御マイコン２０は特定の制御処理としてＫＥＹＯＦＦエバポダイアグ処理を実行するわけだが、この場合、エンジン制御マイコン２０は、自身の動作モードをＫＥＹＯＦＦエバポモードに設定する。このＫＥＹＯＦＦエバポモードとは、２つのＣＰＵ（ＣＰＵコア）のうち第１ＣＰＵ１のみを用いると共に、キャッシュメモリはいずれも使用しない動作モードである。
【０１１１】
また、ＩＧＳＷ４３がＯＦＦされているときに、ＣＡＮウェイクアップ起動要因が生じたことによりエンジン制御マイコン２０が起動されたときは、エンジン制御マイコン２０は特定の制御処理としてＣＡＮウェイクアップ処理を実行するわけだが、この場合、エンジン制御マイコン２０は、自身の動作モードをＣＡＮウェイクアップモードに設定する。このＣＡＮウェイクアップモードとは、２つのＣＰＵ（ＣＰＵコア）のうち第１ＣＰＵ１のみを用いると共に、インストラクションキャッシュメモリ１４を使用してデータキャッシュメモリ１５は使用しない動作モードである。
【０１１２】
また、ＩＧＳＷ４３がＯＦＦされているときに、ＡＣＣＳＷ起動要因が生じたことによりエンジン制御マイコン２０が起動されたときは、エンジン制御マイコン２０は特定の制御処理としてリプログ処理を実行するわけだが、この場合、エンジン制御マイコン２０は、自身の動作モードをリプログモードに設定する。このリプログモードとは、２つのＣＰＵ（ＣＰＵコア）の双方を使用すると共に、データキャッシュメモリ１５を使用してインストラクションキャッシュメモリ１４は使用しない動作モードである。
【０１１３】
そして、上記のように動作モードを複数種類に設定（選択）できるよう、本実施形態のエンジン制御マイコン２０は、第２ＣＰＵ制御レジスタ１２と、インストラクションキャッシュ制御レジスタ１６と、データキャッシュ制御レジスタ１７を備えている。
【０１１４】
第２ＣＰＵ制御レジスタ１２は、第１ＣＰＵ１により制御される。第１ＣＰＵ１は、エンジン制御マイコン２０の起動時に、起動要因を判断（つまりどの制御をこれから行うのかを判断）し、起動要因に対応した動作モード（つまりこれから実行する制御処理の種類に対応した動作モード）に従い、第２ＣＰＵ制御レジスタ１２を介して第２ＣＰＵ２を動作又は休止させる。
【０１１５】
例えば、ＩＧＳＷ４３がＯＮされてエンジン制御が実行される場合（エンジン制御モード）、又はＡＣＣＳＷ起動要因によりリプログ処理が実行される場合（リプログモード）は、２つのＣＰＵを共に使用することから、第１ＣＰＵ１は、第２ＣＰＵ制御レジスタ１２を介して第２ＣＰＵ２を動作させる。一方、ソークタイマ起動要因によりＫＥＹＯＦＦエバポダイアグ処理が実行される場合（ＫＥＹＯＦＦエバポモード）、又はＣＡＮウェイクアップ起動要因によりＣＡＮウェイクアップ処理が実行される場合（ＣＡＮウェイクアップモード）は、第１ＣＰＵ１は第２ＣＰＵ制御レジスタ１２を介して第２ＣＰＵ２を休止させる。
【０１１６】
インストラクションキャッシュ制御レジスタ１６は、各ＣＰＵ１，２がフラッシュＲＯＭ４にアクセスしてその記憶内容（プログラム）を読み出すにあたり、インストラクションキャッシュメモリ１４を使用するか或いはフラッシュＲＯＭ４に直接アクセスするかを設定する（切り換える）ものであり、第１ＣＰＵ１により制御される。
【０１１７】
例えば、ＩＧＳＷ４３がＯＮされてエンジン制御が実行される場合（エンジン制御モード）は、２つのキャッシュメモリを共に使用することから、各キャッシュ制御レジスタ１６，１７は、いずれも、対応するキャッシュメモリを使用できるように設定する。また、ＡＣＣＳＷ起動要因によりリプログ処理が実行される場合（リプログモード）は、データキャッシュメモリ１５のみ使用することから、データキャッシュ制御レジスタ１７がデータキャッシュメモリ１５を使用できるよう設定する。また、ソークタイマ起動要因によりＫＥＹＯＦＦエバポダイアグ処理が実行される場合（ＫＥＹＯＦＦエバポモード）は、２つのキャッシュメモリを共に使用しないことから、各キャッシュ制御レジスタ１６，１７は、いずれも、対応するキャッシュメモリを使用しないように設定する。また、ＣＡＮウェイクアップ起動要因によりＣＡＮウェイクアップ処理が実行される場合（ＣＡＮウェイクアップモード）は、インストラクションキャッシュメモリ１４のみ使用することから、インストラクションキャッシュ制御レジスタ１６がインストラクションキャッシュメモリ１４を使用できるよう設定する。
【０１１８】
なお、エンジン制御マイコン２０において、各ＣＰＵ１，２、フラッシュＲＯＭ４、ＲＡＭ５、各キャッシュメモリ１４，１５、第２ＣＰＵ制御レジスタ１２、各キャッシュ制御レジスタ１６，１７は、１．５Ｖ系マイコンコア群を構成する要素であり、主電源回路３１内の１．５Ｖ系電源回路３５からの主電源電圧Ｖａにより動作する。一方、Ａ／Ｄコンバータ７、ＣＡＮ送受信回路８、マイコン入出力ポート９は、５Ｖ系Ｉ／Ｏを構成する要素であり、５Ｖ系電源回路３６からの主電源電圧Ｖｂにより動作する。
【０１１９】
また、エンジン制御ＥＣＵ１０には、ＫＥＹＯＦＦエバポダイアグ処理に関わるアクチュエータを駆動する駆動回路２３以外にも、エンジン制御に関わる各種電気負荷を駆動する各種駆動回路（図示略）が設けられている。また、図示は省略しているが、エンジン制御マイコン２０には、エンジンの水温を検出する水温センサからの信号や、車両の走行速度（車速）を検出する車速センサからの信号など、車両の運転状態を検出するための各種信号も、Ａ／Ｄコンバータ７或いはマイコン入出力ポート９を介して入力されるようになっている。
【０１２０】
ここで、エバポパージシステム及びＫＥＹＯＦＦエバポダイアグ処理について簡単に説明する。
図２に示すように、エバポパージシステムは、燃料タンク１０１にエバポ通路１０３を介して接続されたキャニスタ１０５と、キャニスタ１０５からエンジンの吸気管１０７におけるスロットル弁（スロットルバルブ）１０９の下流側にエバポガスをパージするためのパージ通路１１１と、そのパージ通路１１１を開閉する電磁式のパージ弁１１３と、キャニスタ１０５の大気孔１０５ａに新気（新たな大気）を導入するための新気導入通路１１５と、その新気導入通路１１５に設けられた大気フィルタ１１７と、キャニスタ１０５の大気孔１０５ａと新気導入通路１１５との接続部分に設けられ、キャニスタ１０５内に圧力を加えるための電動ポンプ１１９と、その電動ポンプ１１９と一体化されて設けられ、上記大気孔１０５ａを開閉させる電磁式の制御弁１２１と、その制御弁１２１と共に電動ポンプ１１９に一体化されて設けられ、キャニスタ１０５内の圧力を検出する圧力センサ２５とを備えている。
【０１２１】
このようなエバポパージシステムにおいて、通常は、パージ弁１１３を閉じると共に、制御弁１２１を開いてキャニスタ１０５の大気孔１０５ａを開放しておき、燃料タンク１０１で発生するエバポガスをキャニスタ１０５に吸着させる。そして、エンジンの運転状態に応じてパージ弁１１３を開くと、吸気管１０７内が負圧であるため、新気導入通路１１５からキャニスタ１０５の大気孔１０５ａに流入する空気とともに一度吸着されたエバポガスがキャニスタ１０５から脱離して、吸気管１０７へ搬送されてエンジンでの燃焼に供される。
【０１２２】
一方、このエバポパージシステムのリークを検出するためのエバポ診断処理は、以下の手順で実施される。
まず、パージ弁１１３を閉じると共に制御弁１２１を開き、電動ポンプ１１９によりキャニスタ１０５と燃料タンク１０１に圧力（この例では負圧）を加えた後、制御弁１２１を閉じる。その後、圧力センサ２５によりキャニスタ１０５及び燃料タンク１０１の圧力を例えば規定時間毎に測定し、その測定した各圧力値の変化状態から、当該システムの系内にリークがあるか否か（具体的には、燃料タンク１０１，エバポ通路１０３，キャニスタ１０５，及びパージ通路１１１の何れかに穴があるか否か）を判定する。つまり、系内にリークがあれば、圧力センサ２５によって検出される圧力が正常時よりも急速に大気へと近づいていくため、その現象を検知することでリークの発生を検出する。
【０１２３】
次に、エンジン制御ＥＣＵ１０へのバッテリ電圧供給が停止されてエンジン制御が停止されているときに上記いずれかの起動条件が生じてエンジン制御マイコン２０が起動する際の、動作モードについて、通常のエンジン制御時における動作モードと比較しつつ説明する。
【０１２４】
図３（ｂ）に示すように、ＡＣＣＳＷ４４及びＩＧＳＷ４３がいずれもＯＮでエンジンが動作し、エンジン制御ＥＣＵ１０によりエンジン制御が実行されている間は、図示しないオルタネータからの発電電力が得られ、この発電電力によってバッテリ４１の充電も行われる。そのため、エンジン制御ＥＣＵ１０を長時間動作させ続けても、バッテリ電圧は、満充電電圧から低下せずほぼ一定値（十分な電圧）を保持し、バックアップＲＡＭ保証限界電圧を下回ることはない。なお、バックアップＲＡＭ保証限界電圧とは、エンジン制御マイコン２０内のバックアップＲＡＭ６の記憶内容を保持するために最低限必要なバッテリ電圧である。バッテリ電圧がこのバックアップＲＡＭ保証限界電圧を下回ると、バックアップＲＡＭ６の記憶内容が消去されてしまうおそれがある。
【０１２５】
一方、図３（ａ）に示すように、ＡＣＣＳＷ４４がＯＦＦでＩＧＳＷ４３もＯＦＦの場合は、ユーザーの意思とは関係なく自動的にエンジン制御マイコン２０が起動する場合がある。具体的には、ソークタイマ起動要因によるＫＥＹＯＦＦエバポダイアグ処理、又は、ＣＡＮウェイクアップ起動要因によるＣＡＮウェイクアップ処理である。また、ＡＣＣＳＷ４４がＯＮでＩＧＳＷ４３がＯＦＦの場合は、ＡＣＣＳＷ起動要因によるリプログ処理が行われる。
【０１２６】
これら３つの制御処理は、エンジン停止中にエンジン制御マイコン２０が起動して実行されるものであるため、オルタネータからの発電電力は無く、バッテリ電力を消費することになる。そのため、これら制御処理のためにエンジン制御ＥＣＵ１０を長時間動作させ続けると、バッテリ電圧は、満充電電圧から次第に低下していき、ついにはバックアップＲＡＭ保証限界電圧を下回ってしまうおそれがある。そうなると、バックアップＲＡＭ６のダイアグ情報が消えてしまうなどエンジン制御ＥＣＵ１０に悪影響を及ぼしてしまうだけでなく、バッテリ電圧により駆動する他の装置等にも同様に悪影響を及ぼしてしまうおそれがある。
【０１２７】
ここで、エンジン制御の停止中に実行される上記３つの制御処理は、いずれも、エンジン制御に比べると、処理に要する時間が短くて済んだり、必ずしも高い処理能力を必要としない。つまり、エンジン制御に比べれば、エンジン制御マイコン２０の処理能力が低くても十分に対応できる。
【０１２８】
図４に、上記３つの特定の制御処理（エンジン停止中にバッテリ電圧により実行される制御処理）について、必要とされる高速動作性とその処理に要する時間を概略的に示す。
ＣＡＮウェイクアップ処理は、ＣＡＮネットワークＢＵＳ４５に流れる通信パケットがパケット検出部２２により検出された後にエンジン制御マイコン２０が起動して実行されるものである。この処理としては、例えば、エンジン停止中であっても低電力状態で動作し続ける他のＥＣＵ（例えばイモビＥＣＵ４６など）との間で通信経路故障診断などを行うものがある。この場合、エンジン制御ＥＣＵ１０は、通信相手のＥＣＵがデータ送受信を開始する前に、ＣＡＮネットワークへの加入手続きを所定の短時間（一般的に数十〜数百ｍｓ以内）に行う必要があるため、エンジン制御マイコン２０には高速動作性能が要求される。但し、処理時間としては通信データ（通信パケット）のやり取りであり、数秒程度で完了する。
【０１２９】
リプログ処理は、ＡＣＣＳＷ４４をＯＮとして、エンジン制御マイコン２０内のフラッシュＲＯＭ４の記憶内容を書き換えるものである。リプログ処理に掛かる作業者の工数を削減するためには高速動作性を追及してもよいが、リプログ処理の速度は、フラッシュＲＯＭ４自体の書き換え速度やＣＡＮの通信速度等に影響されるため、いかにマイコン内のＣＰＵ処理能力を高くしてもあまり効果が期待できない。そのため、ＣＡＮウェイクアップ処理ほどの高速動作性能は要求されない。また、処理に要する時間は、フラッシュＲＯＭ４の容量やＣＡＮ送受信回路８の性能等にもよるが、一般的に数分程度である。
【０１３０】
ＫＥＹＯＦＦエバポダイアグ処理は、エンジン停止後、ソークタイマＩＣ４０により数時間後に自動的に起動して実行される処理である。この処理は、高い性能は必要ないが、処理に要する時間は、電動ポンプ１１９の動作や圧力変化を測定する時間等に多くの時間を要する。そのため、燃料タンク１０１に残っている燃料の容量にもよるが、数十分程度の処理時間を要する。
【０１３１】
そこで、本実施形態のエンジン制御ＥＣＵ１０では、エンジン制御の停止中に上記いずれの起動条件によって上記いずれかの制御処理を実行する際は、エンジン制御マイコン２０が、エンジン制御時の動作モード（エンジン制御モード）よりも処理能力の低い（換言すれば消費電力が低い）動作モードに設定するようにしている。
【０１３２】
図５は、エンジン制御マイコン２０の動作パターンを各種制御処理別に説明する説明図であり、（ａ）はＣＰＵ（ＣＰＵコア）の動作パターン、（ｂ）はキャッシュメモリの動作パターンを示す。
【０１３３】
図５に示すように、ＩＧＳＷ４３のＯＮ時のエンジン制御では、２つのＣＰＵ（第１ＣＰＵ１，第２ＣＰＵ２）を共に使用し、インストラクション（ＲＯＭ）キャッシュメモリ１４及びデータ（ＲＡＭ）キャッシュメモリ１５を共にＯＮとする（使用する）ことで、最高動作性能で高いリアルタイム応答性を実現する。即ち、エンジン制御中はオルタネータで発電しており、その発電量はエンジン制御マイコン２０の消費する電力よりも十分に大きいため、高性能を追求する通常動モードに設定する。
【０１３４】
一方、エンジン制御停止中にソークタイマ起動要因が生じたことにより実行されるＫＥＹＯＦＦエバポダイアグ処理は、既述の通り低速動作でよいが数十分程度とかなり長い時間バッテリ駆動が必要となる。そのため、ＣＰＵは１個のみ（第１ＣＰＵ１のみ）使用し、キャッシュメモリはいずれもＯＦＦとする（使用しない）、消費電力が最低となる動作モード（ＫＥＹＯＦＦエバポモード）に設定する。つまり、処理性能を低く抑える代わりにバッテリ消費電力の低減を追及する。
【０１３５】
ＣＡＮウェイクアップ処理は、既述の通り高速動作が必要だが、処理時間は数秒程度と短い。この場合、エンジン制御時の動作モード（エンジン制御モード）と同様に、ＣＰＵを２個使用すると共に各キャッシュメモリ１４，１５を共にＯＮとする（使用する）高速動作モードとしてもよいのだが、２つのＣＰＵ１，２に対し、ＣＡＮ通信のＩ／ＯはＣＡＮ送受信回路８内に１つあるだけである。そのため、第１ＣＰＵ１と第２ＣＰＵ２がＩ／Ｏ資源アクセスで競合しないように、排他処理する必要がある。従って、仮に第１ＣＰＵ１と第２ＣＰＵ２を共に使用したとしても、ＣＡＮのＩ／Ｏへアクセスできるのはどちらか片方のＣＰＵであるため、本実施形態では、第１ＣＰＵ１のみを使用することとした。
【０１３６】
またキャッシュメモリについては、一般的にＲＩＳＣプロセッサはメモリマップドＩ／Ｏ方式のアーキテクチャを採用しており、Ｉ／Ｏへのアクセスも一つのメモリとしてアクセスする。その場合Ｉ／Ｏアクセスはキャッシュメモリ非対象領域として元々設定されているため（ハードウェアでデータが自動的に変わるＩ／Ｏレジスタのキャッシュは無意味）、データキャッシュメモリを有効としてもあまり高速動作性能は実現されない。そのため、本実施形態では、データ（ＲＡＭ）キャッシュメモリ１５は低消費電力化のためＯＦＦ（使用しない）とし、インストラクション（ＲＯＭ）キャッシュメモリ１４のみＯＮ（使用）するようにした。
【０１３７】
リプログ処理は、リプログ作業者の工数削減においては高速動作が有効であるため、２つのＣＰＵ（第１ＣＰＵ１，第２ＣＰＵ２）を共に使用する。これにより、例えば、第１ＣＰＵ１でフラッシュＲＯＭ４を書き換え、第２ＣＰＵ２でベリファイチェックを行うなど、マルチコア構成の効果は得られる。しかし、キャッシュ対象であるフラッシュＲＯＭ４の値（記憶内容）が書き換えられるというリプログ処理の性質上、ＲＯＭキャッシュメモリ１４を使用することはほとんど無意味である。そのため、無駄な電力消費を抑えるため、ＲＯＭキャッシュメモリ１４はＯＦＦとした。一方、リプログ処理を行う際は、一般的に、フラッシュＲＯＭ４に書き込むデータをＲＡＭ５にバッファリングしているため、そのＲＡＭ５へのアクセスが高速化されれば、結果として書き換え時間の短縮が図れる。そのため、ＲＡＭキャッシュメモリ１５をＯＮとした。
【０１３８】
図６に、本実施形態のエンジン制御マイコン２０にて実行される動作モード設定処理のフローチャートを示す。この動作モード設定処理は、エンジン制御マイコン２０に主電源回路３１からの主電源電圧Ｖａ，Ｖｂが供給されてパワーＯＮリセットされた後に実行されるものであり、パワーオンリセット後、この動作モード設定処理が開始されると、まず、一連のイニシャル処理（マイコンハードウェアの各種初期設定）が行われる（Ｓ１１０）。
【０１３９】
続いて、起動要因取得処理が行われる（Ｓ１２０）。これは、エンジン制御マイコン２０自身がどのような起動要因によって起動したのかを取得する処理である。このとき、エンジン制御マイコン２０に入力されるＩＧＳＷ信号がハイレベルであれば、ＩＧＳＷ４３のＯＮ（以下、「ＩＧＳＷ起動要因」ともいう）による起動であると判断する。また、エンジン制御マイコン２０に入力されるＩＧＳＷ信号がローレベルであってＡＣＣＳＷ信号がハイレベルであれば、ＡＣＣＳＷ起動要因による起動であると判断する。また、パケット検出部２２からエンジン制御マイコン２０に入力されるＣＡＮパケット検出信号がハイレベルであれば、ＣＡＮウェイクアップ起動要因による起動であると判断する。また、ソークタイマＩＣ４０内のカウンタ値を読み出して、その値が所定の設定値に達している場合は、ソークタイマ起動要因による起動であると判断する。そして、このＳ１２０の起動要因取得処理により取得された起動要因に基づき、Ｓ１３０以下の処理が実行される。
【０１４０】
なお、本実施形態では、上記４つの起動要因に優先順位が設定されている。具体的には、優先順位の最も高いのがＩＧＳＷ起動要因、次に高いのがＡＣＣＳＷ起動要因、次に高いのがＣＡＮウェイクアップ起動要因、そして最も低いのがソークタイマ起動要因である。この優先順位は、各起動要因の発生により実行される特定の制御処理の消費電力が大きい順（換言すれば、必要とする処理能力の大きい順）に設定されている。即ち、最も優先度の高い制御処理がエンジン制御であり、次に優先度の高い処理はリプログ処理であり、その次に優先度の高い処理はＣＡＮウェイクアップ処理であり、最も優先度の低い処理はＫＥＹＯＦＦエバポダイアグ処理である。
【０１４１】
Ｓ１２０の起動要因取得処理は、上述した４つの起動要因の全てについてその有無を判断してもよいが、設定されている優先順位（詳細は後述）の順に起動要因の有無を調べて、起動要因が取得された時点でＳ１３０以降の処理に進むようにしてもよい。
【０１４２】
Ｓ１２０の処理により起動要因が取得されると、まず、最も優先順位の高い起動要因であるＩＧＳＷ起動要因が取得されたか否か、即ち、ＩＧＳＷ３がＯＮされてＩＧＳＷ信号がハイレベルとなっていたか否かが判断される（Ｓ１３０）。ここで、ＩＧＳＷ起動要因が取得されていたならば（Ｓ１３０：ＹＥＳ）、エンジン制御マイコン２０の動作モードとしてエンジン制御モードを選択（設定）し（Ｓ１４０）、再びＳ１２０に戻る。これにより、エンジン制御マイコン２０は、第１ＣＰＵ１及び第２ＣＰＵ２の双方をＯＮする（使用する）と共にＲＯＭキャッシュメモリ１４及びＲＡＭキャッシュメモリ１５の双方をＯＮする（使用する）動作モードとなり、最高の処理能力を発揮してエンジン制御を実行することができる。
【０１４３】
一方、ＩＧＳＷ起動要因が取得されていない場合は（Ｓ１３０：ＮＯ）、次に優先順位の高い起動要因であるＡＣＣＳＷ起動要因が取得されたか否か、即ち、ＩＧＳＷ４３がＯＦＦでＡＣＣＳＷ４４がＯＮであってＡＣＣＳＷ信号がハイレベルとなっていたか否かが判断される（Ｓ１５０）。ここで、ＡＣＣＳＷ起動要因が取得されていたならば（Ｓ１５０：ＹＥＳ）、エンジン制御マイコン２０の動作モードとしてリプログモードを選択（設定）し（Ｓ１６０）、再びＳ１２０に戻る。これにより、エンジン制御マイコン２０は、第１ＣＰＵ１及び第２ＣＰＵ２の双方をＯＮする（使用する）と共にＲＡＭキャッシュメモリ１５をＯＮしてＲＯＭキャッシュメモリ１４はＯＦＦする動作モードとなる。このリプログモードは、リプログ処理に必要な性能を確保しつつエンジン停止中のバッテリ消費電力を効果的に低減することが可能なモードである。
【０１４４】
また、ＡＣＣＳＷ起動要因も取得されていない場合は（Ｓ１５０：ＮＯ）、次に優先順位の高い起動要因であるＣＡＮウェイクアップ起動要因が取得されたか否か、即ち、ＩＧＳＷ４３及びＡＣＣＳＷ４４が何れもＯＦＦであってパケット検出部２２からのＣＡＮパケット検出信号がハイレベルとなっていたか否かが判断される（Ｓ１７０）。ここで、ＣＡＮウェイクアップ起動要因が取得されていたならば（Ｓ１７０：ＹＥＳ）、エンジン制御マイコン２０の動作モードとしてＣＡＮウェイクアップモードを選択（設定）し（Ｓ１８０）、再びＳ１２０に戻る。これにより、エンジン制御マイコン２０は、２つのＣＰＵ１，２のうち第１ＣＰＵ１のみをＯＮすると共にＲＯＭキャッシュメモリ１４を使用してＲＡＭキャッシュメモリ１５は使用しない動作モードとなる。このＣＡＮウェイクアップモードは、ＣＡＮウェイクアップ処理に必要な性能を確保しつつエンジン停止中のバッテリ消費電力を効果的に低減することが可能なモードである。
【０１４５】
また、ＣＡＮウェイクアップ起動要因も取得されていない場合は（Ｓ１７０：ＮＯ）、次に優先順位の高い起動要因であるソークタイマ起動要因が取得されたか否か、即ち、ＩＧＳＷ４３及びＡＣＣＳＷ４４が何れもＯＦＦであってソークタイマＩＣ４０のカウンタ値が所定の設定値に達していたか否かが判断される（Ｓ１９０）。ここで、ソークタイマ起動要因が取得されていたならば（Ｓ１９０：ＹＥＳ）、エンジン制御マイコン２０の動作モードとしてＫＥＹＯＦＦエバポモードを選択（設定）し（Ｓ２００）、再びＳ１２０に戻る。これにより、エンジン制御マイコン２０は、２つのＣＰＵ１，２のうち第１ＣＰＵ１のみを用いると共にいずれのキャッシュメモリも使用しない動作モードとなる。このＫＥＹＯＦＦエバポモードは、ＫＥＹＯＦＦエバポダイアグ処理に必要な性能を確保しつつエンジン停止中のバッテリ消費電力を効果的に低減することが可能なモードである。
【０１４６】
このように、Ｓ１２０の起動要因取得後、その取得した起動要因に基づいて何れかの動作モードに設定されると、再びＳ１２０以下の処理が行われる。つまり、エンジン制御マイコン２０は、起動後にその起動要因に基づいて動作モードを設定した後も、起動要因を繰り返し取得すると共にその取得した起動要因に応じた動作モードに設定する。
【０１４７】
これにより、例えばリプログモードに設定された後にＩＧＳＷ４３がＯＮされた場合は、エンジン制御モードに設定変更される。この場合、実行中のリプログ処理は継続される。また例えば、ＫＥＹＯＦＦエバポモードに設定されてＫＥＹＯＦＦエバポダイアグ処理が実行されているときにＡＣＣＳＷ４４がＯＮされた場合は、リプログモードに設定変更されることになる。この場合も、実行中のＫＥＹＯＦＦエバポダイアグ処理はそのまま継続される。
【０１４８】
このように、ある動作モードが設定されている場合に、その動作モードよりも優先順位の高い動作モードに設定すべき起動要因が生じた場合は、その優先順位の高い起動要因に対応した動作モードに設定変更する。逆に、現在の動作モードよりも優先順位の低い起動要因が同時に生じた場合は、動作モードの設定変更は行わない。つまり、起動要因が複数生じて複数の制御処理を実行する必要のある場合は、その複数の起動要因（複数の制御処理）のうち最も優先順位の高い起動要因に対応した動作モードに設定されるのである。
【０１４９】
以上説明したように、本実施形態のエンジン制御ＥＣＵ１０は、エンジン制御マイコン２０が、ＣＰＵコアを２つ有するいわゆるデュアルコア構成になっていると共に、インストラクション（ＲＯＭ）キャッシュメモリ１４及びデータ（ＲＡＭ）キャッシュメモリ１５を備えたキャッシュメモリ搭載構成となっている。
【０１５０】
そして、ＩＧＳＷ４３のＯＮ（ＩＧＳＷ起動要因の発生）によりエンジン制御マイコン２０が起動した場合は、エンジン制御マイコン２０は２つのＣＰＵ１，２及び２つのキャッシュメモリ１４，１５をフルに使用して最高の処理能力を発揮できるエンジン制御モードに設定される。
【０１５１】
一方、ＩＧＳＷ４３がＯＦＦされてエンジン制御が停止されているときにも、所定の起動要因が発生した場合は、エンジン制御ＥＣＵ１０にバッテリ電圧が供給されてエンジン制御マイコン２０が起動し、バッテリ電圧による所定の制御処理（起動要因に応じた特定の制御処理）が実行される。
【０１５２】
この場合の起動要因として、本実施形態では、ＡＣＣＳＷ起動要因、ＣＡＮウェイクアップ起動要因、及びソークタイマ起動要因があり、これらは上記の順で優先順位が設定されている。そして、いずれかの起動要因が発生した場合、エンジン制御マイコン２０は、その起動要因に対応した特定の制御処理を実行すべく、自身をその起動要因に対応した（その特定の制御処理に対応した）動作モードに設定する。また、複数の起動要因が同時に発生している場合は、優先順位の最も高い起動要因に対応した動作モードに設定する。
【０１５３】
従って、本実施形態のエンジン制御ＥＣＵ１０によれば、エンジン制御マイコン２０は、エンジン制御の停止中にＩＧＳＷ起動要因以外の起動要因が発生して特定の制御処理を実行する際、エンジン制御時よりも消費電力の低い動作モードで動作するため、エンジン制御停止中にバッテリ電圧により特定の制御処理を行う際の消費電力を効果的に低減することができる。
【０１５４】
しかも、起動要因の種類毎に（実行すべき特定の制御処理の種類に応じて）その起動要因に適した（その制御処理に適した）動作モードが設定されるため、起動要因毎により効果的な消費電力の低減が可能となる。
【０１５５】
具体的には、本実施形態では、エンジン制御停止中に実行される特定の制御処理が３種類あるが、各制御処理毎に、その制御処理を実行するのに必要十分な処理能力が得られると共に消費電力を効果的に低減できるよう、ＣＰＵ（コア）の使用数やＲＯＭキャッシュメモリ１４及びＲＡＭキャッシュメモリ１５の使用有無が細かく設定されている。
【０１５６】
デュアルコア構成及びキャッシュメモリ搭載構成の高性能マイコンは、シングルコア及びキャッシュメモリを搭載しないマイコンに比べると当然ながら消費電力は大きい。そこで、本実施形態のように、ＣＰＵ（コア）の使用数及びキャッシュメモリの使用有無を切り換えて消費電力の低い動作モードを複数種類設定することで、実行する特定の制御処理毎に、エンジン制御マイコン２０に必要十分な処理能力を発揮させつつその消費電力を効果的に低減することが可能となる。
【０１５７】
特に、ＫＥＹＯＦＦエバポダイアグ処理は、処理完了まで長時間を要するが、使用するＣＰＵコアは第１ＣＰＵ１のみでキャッシュメモリは全く使用しないという、消費電力の最も低い（処理能力の最も低い）動作モードに設定されるため、長時間処理が実行されてもバッテリ電圧の低下を最小限に抑えることが可能となる。
【０１５８】
また、起動要因毎に優先順位を設定していることにより、起動要因が複数発生して複数の制御処理を行う必要がある場合であっても、その複数の制御処理がいずれも適切に実行されるような動作モード（上記実施形態では、実行される複数の制御処理のうち最も高い処理能力を必要とする制御処理に対応した動作モード）に設定される。そのため、起動要因が複数発生しても、消費電力を低減しつつ各制御処理を適切に実行することができる。
【０１５９】
ここで、本実施形態の構成要素と本発明の構成要素の対応関係を明らかにする。本実施形態において、第１ＣＰＵ１及び第２ＣＰＵ２はいずれも本発明のＣＰＵコアに相当し、ソークタイマＩＣ４０は本発明の計時手段に相当し、パケット検出部２２は本発明の受信検知手段に相当する。また、第１ＣＰＵ１，第２ＣＰＵ制御レジスタ１２，及び各キャッシュ制御レジスタ１６，１７により本発明の動作モード設定手段が構成され、メインリレー駆動回路２１，電源ＩＣ３０，及びメインリレー４２により本発明の電源制御手段が構成される。
【０１６０】
また、ＩＧＳＷ４３をＯＮすることにより生じるハイレベルのＩＧＳＷ信号及びＡＣＣＳＷ信号は、本発明の起動用主スイッチ信号に相当し、ＡＣＣＳＷ４４をＯＮすることにより生じるハイレベルのＡＣＣＳＷ信号は、本発明の起動用副スイッチ信号に相当する。
【０１６１】
さらに、ＩＧＳＷ起動要因を除く他の３つの起動要因（ＡＣＣＳＷ起動要因、ソークタイマ起動要因、ＣＡＮウェイクアップ起動要因）はいずれも本発明の起動条件に相当する。また、エンジン制御モードは本発明の通常動作モードに相当し、リプログモード、ＣＡＮウェイクアップモード、及びＫＥＹＯＦＦエバポモードはいずれも本発明の低消費電力モードに相当する。このうち特に、リプログモードは、本発明のキャッシュメモリ使用制限モード及び第３低消費電力モードに相当し、ＣＡＮウェイクアップモードは、本発明のキャッシュメモリ使用制限モード、コア使用制限モード、コア最小使用モード、及び第２低消費電力モードに相当し、ＫＥＹＯＦＦエバポモードは、本発明のキャッシュメモリ使用制限モード、コア使用制限モード、コア最小使用モード、及び第１低消費電力モードに相当する。
【０１６２】
［第２実施形態］
上記第１実施形態では、エンジン制御ＥＣＵに搭載されるエンジン制御マイコンが、ＣＰＵコアを２つ（第１ＣＰＵ１及び第２ＣＰＵ２）備えたデュアルコア構成のマイコンである場合を例に挙げて説明したが、本実施形態では、ＣＰＵコアは１つのみのシングルコア構成のマイコンをエンジン制御マイコンとして用いる場合について説明する。
【０１６３】
本実施形態のエンジン制御ＥＣＵは、上記第１実施形態のエンジン制御ＥＣＵ１０と比較して、ハードウェア的には、エンジン制御マイコンが備えるＣＰＵコアの数が異なるだけである。即ち、図７に示すように、本実施形態のエンジン制御マイコン６０は、ＣＰＵコア（ＣＰＵ６１）を１つ備えている。そのため、第１実施形態のエンジン制御マイコン２０が備えていた第２ＣＰＵ制御レジスタ１２も有しない。
【０１６４】
本実施形態のエンジン制御マイコン６０における、ＣＰＵ６１以外の他の構成については、第１実施形態のエンジン制御マイコン２０と同じであるため、第１実施形態と同じ符号を付し、その詳細説明を省略する。
【０１６５】
図８に、本実施形態のエンジン制御マイコン２０にて実行される動作モード設定処理のフローチャートを示す。この動作モード設定処理において、Ｓ２１０，Ｓ２２０，Ｓ２３０，Ｓ２５０，Ｓ２７０，Ｓ２９０の各処理は、それぞれ、第１実施形態の動作モード設定処理（図６参照）におけるＳ１１０，Ｓ１２０，Ｓ１３０，Ｓ１５０，Ｓ１７０，Ｓ１９０の処理と全く同じであるため、これら各処理についてはその詳細説明を省略する。
【０１６６】
図８の動作モード設定処理において、Ｓ２２０の処理により起動要因が取得されると、まず、ＩＧＳＷ起動要因が取得されたか否かが判断される（Ｓ２３０）。ここで、ＩＧＳＷ起動要因が取得されていたならば（Ｓ２３０：ＹＥＳ）、エンジン制御マイコン６０の動作モードとしてエンジン制御モードを選択（設定）し（Ｓ２４０）、再びＳ２２０に戻る。これにより、エンジン制御マイコン６０は、ＲＯＭキャッシュメモリ１４及びＲＡＭキャッシュメモリ１５の双方をＯＮする（使用する）動作モードとなり、最高の処理能力を発揮してエンジン制御を実行することができる。
【０１６７】
一方、ＩＧＳＷ起動要因が取得されていない場合は（Ｓ２３０：ＮＯ）、ＡＣＣＳＷ起動要因が取得されたか否かが判断される（Ｓ２５０）。ここで、ＡＣＣＳＷ起動要因が取得されていたならば（Ｓ２５０：ＹＥＳ）、エンジン制御マイコン２０の動作モードとしてリプログモードを選択（設定）し（Ｓ２６０）、再びＳ２２０に戻る。これにより、エンジン制御マイコン６０は、ＲＡＭキャッシュメモリ１５をＯＮしてＲＯＭキャッシュメモリ１４はＯＦＦする動作モードとなる。つまり、リプログするデータ（プログラム）がバッファリングされるＲＡＭ５に対応したキャッシュメモリ（ＲＡＭキャッシュメモリ１５）のみをＯＮとするのである。このリプログモードは、リプログ処理に必要な性能を確保しつつエンジン停止中のバッテリ消費電力を効果的に低減することが可能なモードである。
【０１６８】
また、ＡＣＣＳＷ起動要因も取得されていない場合は（Ｓ２５０：ＮＯ）、ＣＡＮウェイクアップ起動要因が取得されたか否かが判断される（Ｓ２７０）。ここで、ＣＡＮウェイクアップ起動要因が取得されていたならば（Ｓ２７０：ＹＥＳ）、エンジン制御マイコン６０の動作モードとしてＣＡＮウェイクアップモードを選択（設定）し（Ｓ２８０）、再びＳ２２０に戻る。これにより、エンジン制御マイコン６０は、ＲＯＭキャッシュメモリ１４を使用してＲＡＭキャッシュメモリ１５は使用しない動作モードとなる。このＣＡＮウェイクアップモードは、ＣＡＮウェイクアップ処理に必要な性能を確保しつつエンジン停止中のバッテリ消費電力を効果的に低減することが可能なモードである。
【０１６９】
また、ＣＡＮウェイクアップ起動要因も取得されていない場合は（Ｓ２７０：ＮＯ）、ソークタイマ起動要因が取得されたか否かが判断される（Ｓ２９０）。ここで、ソークタイマ起動要因が取得されていたならば（Ｓ２９０：ＹＥＳ）、エンジン制御マイコン６０の動作モードとしてＫＥＹＯＦＦエバポモードを選択（設定）し（Ｓ３００）、再びＳ２２０に戻る。これにより、エンジン制御マイコン６０は、いずれのキャッシュメモリも使用しない、消費電力の最も小さい動作モードとなる。このＫＥＹＯＦＦエバポモードは、ＫＥＹＯＦＦエバポダイアグ処理に必要な性能を確保しつつエンジン停止中のバッテリ消費電力を効果的に低減することが可能なモードである。
【０１７０】
なお、本実施形態のエンジン制御マイコン２０はシングルコア構成であるため、いずれの動作モードもＣＰＵ６１を使用することに変わりはない。そのため、上記各動作モードの違いは、キャッシュメモリの使用有無（より詳しくはＲＯＭキャッシュメモリ１４及びＲＡＭキャッシュメモリ１５の使用有無）による違いのみである。
【０１７１】
また、起動要因に基づいて動作モードを設定した後も、起動要因を繰り返し取得すると共にその取得した起動要因に応じた動作モードに設定することは、上記第１実施形態と同様である。
【０１７２】
従って、本実施形態のようにシングルコア構成のエンジン制御マイコン６０を備えたエンジン制御ＥＣＵにおいても、キャッシュメモリの使用有無が異なる複数の動作モードを用意すると共に、起動要因毎に適切な動作モードを設定するようにしている。そのため、第１実施形態と同様、エンジン制御停止中に実行される各特定の制御処理毎に、その特定の制御処理を実行するのに必要十分な処理能力が得られると共に消費電力を効果的に低減することができる。
【０１７３】
［第３実施形態］
次に、エンジン制御ＥＣＵに搭載されるエンジン制御マイコンが、ＣＰＵコアを３つ備えたマルチコア構成である場合について説明する。
【０１７４】
本実施形態のエンジン制御ＥＣＵは、上記第１実施形態のエンジン制御ＥＣＵ１０と比較して、ハードウェア的には、エンジン制御マイコンが備えるＣＰＵコアの数が異なるだけである。即ち、図９に示すように、本実施形態のエンジン制御マイコン８０は、ＣＰＵコアを３つ（第１ＣＰＵ８１、第２ＣＰＵ２、第３ＣＰＵ３）備えている。このうち、第１ＣＰＵ８１は、エンジン制御マイコン８０の動作時には常に動作するものであり、起動時の起動要因に応じて、他の第２ＣＰＵ２及び第３ＣＰＵ３を使用するか否かを切り換える。この切り換えは、第１ＣＰＵ８１が、第２ＣＰＵ制御レジスタ１２及び第３ＣＰＵ制御レジスタ１３を制御することにより実現される。
【０１７５】
本実施形態のエンジン制御マイコン８０における、各ＣＰＵ８１，２，３及び各ＣＰＵ制御レジスタ１２，１３以外の他の構成については、第１実施形態のエンジン制御マイコン２０と同じであるため、第１実施形態と同じ符号を付し、その詳細説明を省略する。
【０１７６】
図１０に、本実施形態のエンジン制御マイコンで実行される各種制御における、ＣＰＵコアの使用数を示す。図１０に示すように、ＫＥＹＯＦＦエバポダイアグ処理及びＣＡＮウェイクアップ処理の場合はＣＰＵコアを１つのみ（第１ＣＰＵ８１のみ）使用し、リプログ処理の場合はＣＰＵコアを２つ（第１ＣＰＵ８１及び第２ＣＰＵ２）使用することは、上記第１実施形態の場合と同様である。
【０１７７】
一方、第１実施形態と異なるのは、エンジン制御時におけるＣＰＵコアの使用数である。本実施形態では、エンジン制御時には、全てのＣＰＵコア（第１ＣＰＵ８１、第２ＣＰＵ２、第３ＣＰＵ３）を使用する。
【０１７８】
エンジン制御においては、燃料噴射制御、点火時期制御、さらにはエンジン回転数を算出する制御など、数十種類にものぼるタスクを並行して処理することが要求される。そこで、エンジン制御時には全てのＣＰＵコアをＯＮする（使用する）ことで、例えば第１ＣＰＵ８１が混合気に着火する点火時期制御を行い、同時に第２ＣＰＵ２がエンジン回転数の算出を行い、第３ＣＰＵ３も同時に電子スロットルの制御を行うなど、ＣＰＵコアをフルに使用した並列動作実行が可能となり、高いリアルタイム応答性を実現できる。
【０１７９】
そして、このようにエンジン制御では最高動作性能を実現する一方、エンジン停止中のバッテリ電圧による特定の制御処理においては、要求される動作性能に応じたＣＰＵコア数を割り当てることで、消費電力の低減も実現できる。
【０１８０】
図１１に、本実施形態のエンジン制御マイコン８０にて実行される動作モード設定処理のフローチャートを示す。この動作モード設定処理において、Ｓ３１０，Ｓ３２０，Ｓ３３０，Ｓ３５０，Ｓ３７０，Ｓ３９０の各処理は、それぞれ、第１実施形態の動作モード設定処理（図６参照）におけるＳ１１０，Ｓ１２０，Ｓ１３０，Ｓ１５０，Ｓ１７０，Ｓ１９０の処理と全く同じであるため、これら各処理についてはその詳細説明を省略する。
【０１８１】
図１１の動作モード設定処理において、Ｓ３２０の処理により起動要因が取得されると、まず、ＩＧＳＷ起動要因が取得されたか否かが判断される（Ｓ３３０）。ここで、ＩＧＳＷ起動要因が取得されていたならば（Ｓ３３０：ＹＥＳ）、エンジン制御マイコン８０の動作モードとしてエンジン制御モードを選択（設定）し（Ｓ３４０）、再びＳ３２０に戻る。これにより、エンジン制御マイコン８０は、３つのＣＰＵコア全てをＯＮする（使用する）と共にＲＯＭキャッシュメモリ１４及びＲＡＭキャッシュメモリ１５の双方もＯＮする（使用する）動作モードとなり、最高の処理能力を発揮してエンジン制御を実行することができる。
【０１８２】
一方、ＩＧＳＷ起動要因が取得されていない場合は（Ｓ３３０：ＮＯ）、ＡＣＣＳＷ起動要因が取得されたか否かが判断される（Ｓ３５０）。ここで、ＡＣＣＳＷ起動要因が取得されていたならば（Ｓ３５０：ＹＥＳ）、エンジン制御マイコン８０の動作モードとしてリプログモードを選択（設定）し（Ｓ３６０）、再びＳ３２０に戻る。これにより、エンジン制御マイコン８０は、第１ＣＰＵ８１及び第２ＣＰＵ２をＯＮして第３ＣＰＵ３はＯＦＦすると共にＲＡＭキャッシュメモリ１５をＯＮしてＲＯＭキャッシュメモリ１４はＯＦＦする動作モードとなる。
【０１８３】
また、ＡＣＣＳＷ起動要因も取得されていない場合は（Ｓ３５０：ＮＯ）、ＣＡＮウェイクアップ起動要因が取得されたか否かが判断される（Ｓ３７０）。ここで、ＣＡＮウェイクアップ起動要因が取得されていたならば（Ｓ３７０：ＹＥＳ）、エンジン制御マイコン８０の動作モードとしてＣＡＮウェイクアップモードを選択（設定）し（Ｓ３８０）、再びＳ３２０に戻る。これにより、エンジン制御マイコン８０は、第１ＣＰＵ８１をＯＮして第２ＣＰＵ２及び第３ＣＰＵ３はＯＦＦすると共にＲＯＭキャッシュメモリ１４をＯＮしてＲＡＭキャッシュメモリ１５はＯＦＦする動作モードとなる。
【０１８４】
また、ＣＡＮウェイクアップ起動要因も取得されていない場合は（Ｓ３７０：ＮＯ）、ソークタイマ起動要因が取得されたか否かが判断される（Ｓ３９０）。ここで、ソークタイマ起動要因が取得されていたならば（Ｓ３９０：ＹＥＳ）、エンジン制御マイコン８０の動作モードとしてＫＥＹＯＦＦエバポモードを選択（設定）し（Ｓ４００）、再びＳ３２０に戻る。これにより、エンジン制御マイコン８０は、第１ＣＰＵ８１をＯＮして第２ＣＰＵ２及び第３ＣＰＵ３はＯＦＦすると共にいずれのキャッシュメモリも使用しない、消費電力の最も小さい動作モードとなる。
【０１８５】
従って、本実施形態のようにマルチコア構成のエンジン制御マイコン８０を備えたエンジン制御ＥＣＵにおいても、第１実施形態と同様、エンジン制御停止中に実行される各特定の制御処理毎に、その特定の制御処理を実行するのに必要十分な処理能力が得られると共に消費電力を効果的に低減することができる。
【０１８６】
［変形例］
以上、本発明の実施の形態について説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
【０１８７】
例えば、上記第１実施形態において、エンジン停止中（ＩＧＳＷ４３がＯＦＦ中）に何らかの起動要因にてエンジン制御マイコンが起動する際、バッテリ電圧をみて、その電圧がある閾値よりも低下している場合には、起動要因に関係なく消費電力のより低い動作モードに設定するようにしてもよい。図１２に基づいてより具体的に説明する。
【０１８８】
図１２の動作モード遷移処理は、エンジン停止中に起動要因が発生してエンジン制御マイコンが起動した後、定期的に実行されるものである。この処理が開始されると、まず、エンジン制御マイコンが備えるＡ／Ｄコンバータ７によるバッテリ電圧のＡ／Ｄ変換処理が行われる（Ｓ４１０）。そして、得られたＡ／Ｄ変換結果がＲＡＭ６に格納される（Ｓ４２０）。
【０１８９】
そして、バッテリ電圧のＡ／Ｄ値、即ちＲＡＭ６に格納されたバッテリ電圧のＡ／Ｄ変換結果が、所定の基準閾値（本例では１０Ｖ）未満であって、且つ、ＩＧＳＷ４３がＯＦＦされているか否かが判断される（Ｓ４３０）。この基準閾値は、図３で説明したバックアップＲＡＭ保証限界電圧に相当するものである。また、このＳ４３０の処理は本発明のバッテリ電圧判断手段が実行する処理に相当する。
【０１９０】
このとき、バッテリ電圧が基準閾値以上であるか、又はＩＧＳＷ４３がＯＮされているならば（Ｓ４３０：ＮＯ）、通常の動作モード設定処理（図６）に移行する（Ｓ４４０）。一方、バッテリ電圧が基準閾値未満であって且つＩＧＳＷ４３がＯＦＦされているならば（Ｓ４３０：ＹＥＳ）、電圧低下時動作モードを選択する（Ｓ４５０）。つまり、消費電力の最も小さい動作モードであってＫＥＹＯＦＦエバポモードと同じモードに変更するのである。
【０１９１】
バッテリ電圧が低い場合に最も懸念される事項の１つが、バッテリ電圧による電源（詳しくはバッテリ電圧から生成される副電源電圧Ｖｓ）で動作（記憶）しているバックアップＲＡＭ６の記憶内容（ダイアグ情報）が消えてしまうことである。そこで、バッテリ電圧が低い場合は消費電力の最も小さい動作モードを選択する。そして、その後バッテリ電圧が十分に充電された後に、再び図６の動作モード設定手段に従って起動要因に対応した最適な動作モードを選択する。
【０１９２】
従って、上記のようにバッテリ電圧が基準閾値以下の場合は動作モードを電圧低下時動作モードに設定することで、バッテリ４１の電圧低下を抑制し、エンジン制御停止中にバッテリ４１の電源により動作している他の装置等（バックアップＲＡＭ６等）の動作に悪影響が及ぶのを防止することができる。
【０１９３】
また、上記各実施形態では、いずれも、キャッシュメモリとしてインストラクション（ＲＯＭ）キャッシュメモリ１４及びデータ（ＲＡＭ）キャッシュメモリ１５を用いた場合について説明したが、ＣＰＵコアを複数有すると共にキャッシュメモリを１つ用いたエンジン制御マイコン、或いは、キャッシュメモリを３つ以上用いたエンジン制御マイコンにおいても、本発明を適用できる。
【０１９４】
また、マルチコア構成のマイコンの場合、２コアだけでなく、将来的には、３コア、４コア、８コア構成などを採用していくことが予想される。そのような複数コアの場合であっても、上記各実施形態と同じように、特定の制御処理毎に、その制御処理に必要な処理能力や所要時間等を考慮して適切な（最適な）動作モードを選択することで、各制御処理を適切に実行させつつ消費電力を低減することが可能となる。
【図面の簡単な説明】
【０１９５】
【図１】第１実施形態のエンジン制御ＥＣＵを表す構成図である。
【図２】エバポパージシステムを説明する説明図である。
【図３】エンジン制御ＥＣＵで各種制御処理が実行されることによるバッテリ電圧の変化を説明する説明図であり、（ａ）はエンジン停止中にバッテリ電圧にて制御処理が実行されるときのバッテリ電圧の変化、（ｂ）はエンジン動作中のバッテリ電圧の変化を示す。
【図４】エンジン制御ＥＣＵで実行される各種制御処理に要求される高速動作性能と必要な処理時間を説明する説明図である。
【図５】第１実施形態のエンジン制御マイコンの動作パターンを各種制御処理別に説明する説明図であり、（ａ）はＣＰＵ（ＣＰＵコア）の動作パターン、（ｂ）はキャッシュメモリの動作パターンを示す。
【図６】第１実施形態のエンジン制御マイコンにて実行される動作モード設定処理を示すフローチャートである。
【図７】第２実施形態のエンジン制御マイコンを表す構成図である。
【図８】第２実施形態のエンジン制御マイコンにて実行される動作モード設定処理を示すフローチャートである。
【図９】第３実施形態のエンジン制御マイコンを表す構成図である。
【図１０】第３実施形態のエンジン制御マイコンにおけるＣＰＵ（ＣＰＵコア）の動作パターンを示す説明図である。
【図１１】第２実施形態のエンジン制御マイコンにて実行される動作モード設定処理を示すフローチャートである。
【図１２】動作モード遷移処理を表すフローチャートである。
【符号の説明】
【０１９６】
１，８１…第１ＣＰＵ、２…第２ＣＰＵ、３…第３ＣＰＵ、４…フラッシュＲＯＭ、５…ＲＡＭ、６…バックアップＲＡＭ、７…Ａ／Ｄコンバータ、８…ＣＡＮ送受信回路、９…マイコン入出力ポート、１０…エンジン制御ＥＣＵ、１２…第２ＣＰＵ制御レジスタ、１３…第３ＣＰＵ制御レジスタ、１４…インストラクションキャッシュメモリ、１５…データキャッシュメモリ、１６…インストラクションキャッシュ制御レジスタ、１７…データキャッシュ制御レジスタ、１８…内部バス、２０，６０，８０…エンジン制御マイコン、２１…メインリレー駆動回路、２２…パケット検出部、２３…駆動回路、２５…圧力センサ、３０…電源ＩＣ、３１…主電源回路、３２…副電源回路、３５…１．５Ｖ系電源回路、３６…５Ｖ系電源回路、４０…ソークタイマＩＣ、４１…バッテリ、４２…メインリレー、４３…ＩＧＳＷ、４４…ＡＣＣＳＷ、４５…ＣＡＮネットワークＢＵＳ、４６…イモビライザーＥＣＵ、４７…コネクタ、４８…ダイアグチェッカ、１０１…燃料タンク、１０３…エバポ通路、１０５…キャニスタ、１０５ａ…大気孔、１０７…吸気管、１１１…パージ通路、１１３…パージ弁、１１５…新気導入通路、１１７…大気フィルタ、１１９…電動ポンプ、１２１…制御弁
【図１】
2008269487.tif 000003
【図２】
2008269487.tif 000004
【図３】
2008269487.tif 000005
【図４】
2008269487.tif 000006
【図５】
2008269487.tif 000007
【図６】
2008269487.tif 000008
【図７】
2008269487.tif 000009
【図８】
2008269487.tif 000010
【図９】
2008269487.tif 000011
【図１０】
2008269487.tif 000012
【図１１】
2008269487.tif 000013
【図１２】
2008269487.tif 000014