車載用ECU
【課題】内部のマイコンの動作不要時における消費電力を最小限に抑えた車載用ECUを得る。
【解決手段】不揮発性RAMへの書込みの必要性が生じると、ステップST74で使用ブロックであるブロックBK0が状態MC6(使用中で記憶領域MAが全て使用済み)であるか(Yes)否か(No)がチェックされる。ステップST74でNoの場合に実行されるステップST75において、使用ブロックに未使用の記憶領域MAが残存しているため、使用ブロックに対する判別用データCDの書込みが行われる。ステップST74でYesの場合に実行されるステップST76において、使用ブロックの記憶領域MA2〜MAmが全て使用済みであり、未使用の記憶領域MAが残存していないため、使用ブロックを一方のブロックから他方のブロックに切り換える。
【解決手段】不揮発性RAMへの書込みの必要性が生じると、ステップST74で使用ブロックであるブロックBK0が状態MC6(使用中で記憶領域MAが全て使用済み)であるか(Yes)否か(No)がチェックされる。ステップST74でNoの場合に実行されるステップST75において、使用ブロックに未使用の記憶領域MAが残存しているため、使用ブロックに対する判別用データCDの書込みが行われる。ステップST74でYesの場合に実行されるステップST76において、使用ブロックの記憶領域MA2〜MAmが全て使用済みであり、未使用の記憶領域MAが残存していないため、使用ブロックを一方のブロックから他方のブロックに切り換える。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、車両に搭載される車載用ECU(Electronic Control Unit)に関する。
【背景技術】
【0002】
従来、車両には車載用ECUと呼ばれる電子装置が複数搭載されており、各車載用ECUがCAN(Controller Area Network)などのネットワークを介して情報を交換しながら協調動作することによって、車両の走行に係る制御及び車室内などの快適性に係る制御等を実現している。また各車載用ECUは、車両のバッテリ又はオルタネータ等の電源に電力線を介して接続され、電源から供給される電力により動作している。近年では、車両に搭載される車載用ECUの数が増大しているため省電力化が求められている。
【0003】
そして、車両の高機能化に伴い、車載用ECUに高機能なマイクロコンピュータ(以下、「マイコン」と略記する。)が多数搭載されるようになった。これらマイコンを駆動させるため消費電力や暗電流が増加し、バッテリ上がりや燃費悪化の一因となっている。そこで、マイコンのモードをHALTモード(CPUの命令実行を中断するモード)やSTOPモード(CPUおよび周辺回路の動作を停止するモード)にして、通常モード中に上述したHALTモード(STOPモード)を挿入して、マイコンによる通常モード動作を間欠動作させることが一般的に行われている。
【0004】
また、電力消費を低減することができる車載用ECUとして、例えば特許文献1で開示された車載機器の駆動制御装置が挙げられる。この制御装置は、車両に接近する物体を検出するための接近センサが設けられ、コントローラはスイッチを間欠的にオンして上記接近センサを間欠的に駆動させる。コントローラは、上記接近センサを間欠的に駆動させた時において上記接近センサにより車両に接近する物体を検出すると、それまで駆動を停止させていた駆動制御対象の侵入センサの駆動を開始させている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第4149879号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、マイコンのHALTモードやSTOPモードではマイコンの主要動作は停止するが、マイコン自体には常に電源が供給されているため、HALTモードやSTOPモード期間中においても“0”でない電力が消費されることになるという問題点があった。
【0007】
同様なことが特許文献1で開示された上記制御装置においても当てはまる。すなわち、接近センサや浸入センサを駆動させるコントローラ(マイコンに相当)及びコントローラを制御するセキュリティECUには、常時電源が供給されており、この点において消費電力を抑制できていないという問題点があった。
【0008】
この発明は上記問題点を解決するためになされたもので、内部のマイコンの動作不要時における消費電力を最小限に抑えた車載用ECUを得ることを目的とする。
【課題を解決するための手段】
【0009】
この発明に係る請求項1記載の車載用ECUは、動作電源の供給時に動作状態となり、動作中において所定条件成立時に、非通常モード設定を行うマイコンと、通常モード設定時において前記マイコンに前記動作電源を供給し、前記非通常モード設定時において少なくとも一部期間において前記マイコンへの前記動作電源の供給を停止する電源部とを備え、前記マイコンは内部に不揮発性メモリを有し、前記不揮発性メモリは、各々が複数の記憶領域からなる少なくとも2つのブロックそれぞれに対する一括消去動作、及び前記記録領域単位の個別書込み動作が可能であり、前記マイコンは、前記非通常モード設定時に、前記個別書込み動作によって、非通常モードを指示する判別用データを書込む第1の書込み処理を実行し、前記非通常モード設定から前記通常モード設定に改める際、前記個別書込み動作によって、前記通常モードを指示する前記判別用データを書込む第2の書込み処理を実行し、前記動作電源の供給開始時において、前記不揮発性メモリ内の前記判別用データを参照して、前記非通常モード設定及び通常モード設定のうち一方の設定を認識し、前記第1及び第2の書込み処理は、前記少なくとも2つのブロックからなるブロック群のうち一のブロックを使用ブロックとして設定し、該使用ブロックにおける前記一括消去動作後に書込みが一度も行われていない未使用の前記記憶領域に対する前記個別書込み動作によって行われ、前記使用ブロック内の複数の記憶領域が全て書込まれた全使用済み状態のとき、前記使用ブロックを要消去ブロックとし、前記ブロック群のうち他のブロックを新たな使用ブロックとして切り換え設定可能なことを特徴とする。
【0010】
請求項2記載の車載用ECUは、請求項1記載の車載用ECUであって、前記一括消去動作は前記記憶領域単位で順次消去されることにより行われ、前記一括消去動作は、前記マイコンが通常モード設定時に、前記要消去ブロックに対し前記記憶領域の消去完了毎に通常動作が実行可能に行われる。
【発明の効果】
【0011】
請求項1記載の本願発明の車載用ECUにおいて、電源部は、非通常モード設定時において少なくとも一部期間においてマイコンへの動作電源の供給を停止するため、マイコンの動作不要時は動作電源の供給を遮断して非通常モード設定時におけるマイコンの消費電力を最小限に抑えることができる。
【0012】
請求項1記載の車載用ECUは、使用ブロック内の複数の記憶領域が全て書込まれた全使用済み状態のとき、使用ブロックを要消去ブロックとし、ブロック群のうち他のブロックを新たな使用ブロックとして切り換え設定可能である。
【0013】
したがって、いかなるタイミングで第1及び第2の書込み処理が実行されても、速やかに判別用データを不揮発性メモリに書込みことができるため、非通常モード設定時及び非通常モード設定から通常モード設定に改める時における不揮発性メモリへのアクセス時間のさらなる向上を図ることができる。
【0014】
加えて、使用ブロックは全使用済み状態になるまで他のブロックに切り換えられないため、ブロック群の各ブロック内の複数の記憶領域内に判別用データを均一に分散記憶することができ、その結果、判別用データの書き換え回数の許容回数を大幅に向上させることができる。
【0015】
請求項2記載の本願発明において、一括消去動作は、マイコンが通常モード設定時に実行されるため、非通常モード,通常モード間の切換時に実行される起動処理に影響を与えることなく、比較的時間を要する一括消去動作を行うことができる。
【0016】
さらに、請求項2記載の本願発明は、記憶領域の消去毎に通常動作を実行可能に一括消去動作が行われるため、一括消去動作期間中においても支障なく通常動作を行うことができる。
【図面の簡単な説明】
【0017】
【図1】この発明の実施の形態1である車載用ECUの内部構成を示すブロック図である。
【図2】実施の形態1の車載用ECUのマイコン内の不揮発性RAMの内部構成の概略を示す説明図である。
【図3】実施の形態1の車載用ECUの間欠動作に関連する一連の処理を示すフローチャートである。
【図4】実施の形態1の車載用ECUの間欠動作に関連する一連の処理を示すフローチャートである。
【図5】この発明の実施の形態2である車載用ECUの内部構成を示すブロック図である。
【図6】実施の形態2の車載用ECUの間欠動作に関連する一連の処理の一部を示すフローチャートである。
【図7】この発明の実施の形態3である車載用ECUの内部構成を示すブロック図である。
【図8】図7で示した外部変化検出部の内部構成を示す回路図である。
【図9】実施の形態3の車載用ECUのマイコンOFFモードに移行する処理を示すフローチャートである。
【図10】実施の形態3における電源ON直後のマイコンの動作を示すフローチャートである。
【図11】不揮発性RAMの内部構成を示す説明図である。
【図12】実施の形態4の車載用ECUにおける不揮発性RAMにおける判別用データCのブロック割り当て内容を示す説明図である。
【図13】判別用データ用のフロック群を構成する各ブロックの状態を表形式で示す説明図である。
【図14】実施の形態4の車載用ECUで行われる不揮発性RAM15における判別用データ用のブロック群の管理方法を示すフローチャートである。
【図15】図14で示した実施の形態4の不揮発性RAMにおける管理方法による不揮発性RAMの使用による状態変化を模式的に示す説明図である。
【発明を実施するための形態】
【0018】
<実施の形態1>
図1はこの発明の実施の形態1である車載用ECUの内部構成を示すブロック図である。実施の形態1の車載用ECU10は、内部にマイコン1、間欠動作用クロック生成部2、切換回路3、電源IC4、論理回路5、及び抵抗部8を有している。
【0019】
マイコン1は電源入力部VCCへの動作電源V4の供給時に動作状態となり、動作状態時に内部発振器11により発生されるクロックで動作し、スイッチ群SW1〜SWnで検出される車両に関する外部入力の経時変化を監視し、スイッチ群SW1〜SWnの状態(車両に関連する状態)いずれかの経時変化を検出すると、変化が検出された外部入力内容に応じた所定の動作制御を行う。なお、スイッチ群SW1〜SWnは車両における環境変化を外部入力として取り込めれば良く、パワーウィンドウのスイッチ入力等、一般的なスイッチは勿論、センサ等を含む。例えば、スイッチSW1がドアに設けられたセンサであり、スイッチSW1のON/OFFでドアの「開」/「閉」状態を指示する場合、マイコン1は、スイッチSW1がON(ドア「開」)状態からオフ(ドア「閉」状態)への経時変化を検知したとき、あるいはOFF(ドア「閉」)状態からON(ドア「開」状態の経時変化を検知したとき、変化が検出されたスイッチSW1の経時変化内容に応じた所定の動作制御を行う。
【0020】
さらに、マイコン1は、スイッチ群SW1〜SWnの状態を検知電圧V11〜V1nに変換して認識することができる。例えば、前述したように、スイッチSW1がドアに設けられたセンサである場合、マイコン1は、スイッチSW1がONのとき(ドア「開」状態を検知したとき)検知電圧V11を“H”に設定し、OFFのとき(ドア「閉」状態を検知したとき)検知電圧V11を“L”に設定する。以降、スイッチ群SW1〜SWnに対応する検知電圧V11〜V1nを総称して端子情報IPと呼ぶ。したがって、マイコン1は、通常動作時において内部の揮発性メモリ、レジスタ等(いずれも図示せず)に端子情報IPを定期的に記憶することにより、検知電圧V11〜V1nの経時変化を認識することができる。
【0021】
そして、マイコン1は、電源OFF条件成立時に、不揮発性RAM15に判別用データCDをセット状態に設定する(第1の書込み処理)とともに、端子情報IPを不揮発性RAM15に書き込む、書込み動作を行う。
【0022】
さらに、マイコン1は、間欠動作時に、不揮発性RAM15に保存した端子情報IP(検知電圧V11〜V1n)と現在のスイッチ群SW1〜SWnから取得した端子情報IPとを比較し、比較結果に相違点を検出すると、起動要因ありと判断し、通常モードに復帰するための処理を行い、判別用データCDをクリア状態に設定する(第2の書込み処理)書込み動作を実行する。
【0023】
加えて、マイコン1は、電源OFF状態から電源が投入された電源ON復帰時において、不揮発性RAM15に格納された判別用データCDの内容に基づき、通常のリセット動作(その後の定周期処理)あるいは間欠動作モード設定時における間欠時動作を実行する。
【0024】
図2は不揮発性RAM15の内部構造を模式的に示す説明図である。同図に示すように、不揮発性RAM15はブロックIDが0〜n(≧1)からなるブロックBK0〜BKnに分割され、ブロックBK0〜BKnはそれぞれ複数の記憶領域MA1〜MAm(m≧2)から構成される。なお、記憶領域MAとしては例えば2バイトの大きさが設定され、mは“16”等に設定される。
【0025】
不揮発性RAM15は、フラッシュメモリ等の名称で呼ばれ、一のブロックBKに対する一括消去動作と、ブロックBK内における一の記憶領域MAに対する個別書込み動作が可能である。
【0026】
実施の形態1では、判別用データCDの書込み対象のブロックBK(所定のブロック)として例えばブロックBK0が割り当てられる。
【0027】
そして、不揮発性RAM15に対し、判別用データCDをセット状態に設定する第1の書込み処理、及び判別用データCDをクリア状態に設定する第2の書込み処理は共に、ブロックBK0の記憶領域MA1〜MAmのうち、一括消去動作後に書込みが一度も行われていない未使用の記憶領域MAに対して行われる。
【0028】
なお、未使用の記憶領域MAは、記憶領域MA1〜MAmをMA1,MA2,…,MAmの順でサーチして、最初に未使用と認識された記憶領域MAを意味する。
【0029】
例えば、記憶領域MA1に対して既に書込み処理が行われている使用済み状態であり、記憶領域MA2が未使用の場合、記憶領域MA2に対して第1あるいは第2の書込み処理が実行されることになる。したがって、その次に第1あるいは第2の書込み処理が実行される際は、記憶領域MA2でなく記憶領域MA3に書き込まれることになる。
【0030】
一方、不揮発性RAM15に対する一括消去動作は一のブロックBKに対し、記憶領域MA単位で順次消去されることにより行われる。例えば、ブロックBK0に対する一括消去動作は、まず、ブロックBK0の記憶領域MA1に対し消去動作を行った後、次に記憶領域MA2に対し消去動作を行う。以下、記憶領域MA3、記憶領域MA4、…の順で消去動作を行い、最後の記憶領域MAmに対する消去動作を終了により、ブロックBK0に対する一括消去動作を完了する。
【0031】
そして、判別用データCDを記憶領域MA単位で格納するブロックBK0に対する一括消去動作は、通常動作時の定周期処理として行われる。さらに、一括消去動作期間中においても、記憶領域MAの消去動作完了毎にアプリ処理等の通常動作を実行可能にする。
【0032】
間欠動作用クロック生成部2は電源入力部VCCに外部電源EVCが供給されると動作状態となり、動作状態時に間欠制御クロックC2を生成する。間欠制御クロックC2は電源ON復帰時あるいはリセット設定時において、“L”から始まり所定周期で“H”/“L”を繰り返す。なお、間欠制御クロックC2の周波数はマイコン1の内部発振器11の動作周波数に比べて小さくなるように設定されている。
【0033】
切換回路3は端子P31〜P36を有し、端子P31は、外部電源EVCが供給される電源線LVCに接続され、端子P32は間欠動作用クロック生成部2の電源入力部VCCに接続され、端子P33は抵抗部8を介して接地される。また、切換回路3の端子P34は間欠制御クロックC2を入力し、端子P35から得られる信号を切換回路出力信号S3として論理回路5に出力する。さらに、切換回路3の制御端子P36がマイコン1の切換回路制御端子PCに接続される。なお、切換回路3は端子P31より外部電源EVCを受けることにより後述する通常モード設定時及び間欠動作モード設定時のいずれにおいても動作状態である。
【0034】
このような構成の切換回路3は、制御端子P36に接続される切換回路制御端子PCが“H”の時、端子P31,P32間及び端子P34,P35間を電気的に接続する(図1において実線で示す)第1の切換設定(間欠動作モード設定)を行う。
【0035】
一方、切換回路3は、切換回路制御端子PCが“L”の時、端子P32,P33間及び端子P33,P35間を電気的に接続する(図1において破線で示す)第2の切換設定(通常動作用モード設定)を行う。
【0036】
論理回路5は切換回路3からの切換回路出力信号S3及びマイコン1の電源制御端子PVから得られるマイコン出力信号S1を受け、マイコン出力信号S1及び切換回路出力信号S3のうち少なくとも一つが“H”の時“H”の論理回路出力信号S5を出力し、マイコン出力信号S1及び切換回路出力信号S3の双方が“L”のとき、“L”の論理回路出力信号S5を出力する。なお、図示していないが論理回路5には常時電源が供給されている。
【0037】
電源IC4は制御入力部VCに論理回路出力信号S5を受け、論理回路出力信号S5が“H”の時、電源入力部VIより電源線LVCの電源を電圧変換して電源出力部VOから動作電源V4をマイコン1の電源入力部VCC及びスイッチ群SW1〜SWnに供給する。
【0038】
図3及び図4は実施の形態1の車載用ECU10の間欠動作に関連する一連の処理を示すフローチャートである。
【0039】
以下、図3及び図4を参照して、実施の形態1の車載用ECU10の間欠動作に関する一連の処理手順を説明する。
【0040】
まず、ステップST3においてマイコン1は所定の電源OFF条件の成立を認識すると(Yes)、通常動作から間欠動作に移行すべく、ステップST4以降の処理に移行する。一方、所定の電源OFF条件が成立しない場合(No)、ステップST32以降の通常動作における定周期処理に移行する。なお、定周期処理については後に詳述する。
【0041】
電源OFF条件成立後に実施されるステップST4において、マイコン1は、上述した第1の書込み処理を実行して、不揮発性RAM15のブロックBK0内の記憶領域MAに格納する判別用データCDをセット状態に設定するとともに、端子情報IPを不揮発性RAM15に書き込む、書込み動作を行う。
【0042】
セット状態に設定する判別用データCDの不揮発性RAM15への書込みは、前述したように、ブロックBK0のうち、記憶領域MA1,MA2,…の順にサーチして、未使用状態が最初に認識された記憶領域MAである書込み対象記憶領域MAw(w=1〜mのいずれか)に対して行う。
【0043】
端子情報IPの書込みは不揮発性RAM15のブロックBK0以外の他のブロックBKに対しても行っても良い。また、判別用データCD及び端子情報IP双方がいずれも認識可能な合成データとして、上記書込み対象記憶領域MAwに同時に書き込むようにしても良い。例えば、記憶領域MAが2バイト(16ビット)構成の場合、上位4ビットで判別用データCDを示し、残りの12ビットで端子情報IPを示す合成データを書き込むようにしても良い。
【0044】
そして、ステップST4を経た後、ステップST5において、マイコン1は電源制御端子PV(マイコン出力信号S1)を“L”にして、論理回路7の論理回路出力信号S5が切換回路出力信号S3(間欠制御クロックC2)の“H”,“L”で決定するようにする。
【0045】
その後、ステップST6において、マイコン1は切換回路制御端子PCを“H”にする。
【0046】
すると、ステップST7において、切換回路3は第2の切換設定から第1の切換設定(間欠動作モード設定)に切り換わる。その結果、外部電源EVCが電源入力部VCCに供給される間欠動作用クロック生成部2が動作状態となり間欠制御クロックC2を生成し、この間欠制御クロックC2が切換回路3から切換回路出力信号S3として出力される。
【0047】
その後、ステップST8において、間欠制御クロックC2が電源ON復帰によりリセットされて、初期状態“L”から始まる間欠制御クロックC2を生成する。
【0048】
その結果、ステップST9において、電源IC4は動作電源V4の生成を停止するため、マイコン1の電源入力部VCCへの動作電源V4の供給が止まり、マイコン1は完全に電源OFFする。このとき、スイッチ群SW1〜SWnへの動作電源V4の供給も停止する。
【0049】
そして、ステップST10において、所定の電源OFF時間の経過が確認される(Yes)まで、ステップST9,ステップST10が繰り返される。
【0050】
ステップST10において、所定の電源OFF時間の経過が確認される(Yes)と、ステップST11に移行し、間欠制御クロックC2は“H”に変化する。
【0051】
その結果、ステップST12において、論理回路出力信号S5が“L”から“H”に変化し、電源IC4が動作電源V4の生成を再開するため、マイコン1の電源入力部VCCへの動作電源V4の供給が再開し、マイコン1は電源ON復帰状態となる。
【0052】
そして、ステップST13において、マイコン1は不揮発性RAM15に格納された判別用データCD及び端子情報IPの読み出し処理を実行する。読み出し処理は不揮発性RAM15のブロックBK0の記憶領域MA1〜MAmのうち、最後に使用済み状態となっている記憶領域MAである読み出し対象記憶領域MArの格納データを判別用データCDとして読み出すことにより行われる。この際、当該格納データが判別用データCD及び端子情報IPの合成データである場合、端子情報IPも同時に読み出される。
【0053】
次に、ステップST21において、判別用データCDがセット状態である場合(Yes)、ステップST22以降の処理に移行する。一方、ステップST21において、判別用データCDがセット状態でない場合(No)、ステップST31以降のリセット動作及び定周期処理を行う。
【0054】
ステップST21でYesの場合に実行されるステップST22において、間欠用初期化処理を実行する。
【0055】
その後、ステップST23において、マイコン1は内部発振器11の動作クロックにより間欠時動作における起動要因のチェック動作を実行する。すなわち、現在のスイッチ群SW1〜SWnの状態を検知電圧V11〜V1nからなる端子情報IPとして認識する。
【0056】
そして、ステップST24において不揮発性RAM15から読み出された端子情報IPと、ステップST23においてスイッチ群SW1〜SWnから得られる端子情報IPとの比較結果に基づく、マイコン1の内部起動要因の有無を判断する。
【0057】
すなわち、上記比較結果において、端子情報IP内の検知電圧V11〜V1nのいずれかが変化しておれば起動要因有り(Yes)と判断し、検知電圧V11〜V1nのいずれの値も変化していなければ起動要因無し(No)と判断する。
【0058】
ステップST24でNoの場合、再び、ステップST8に戻り、間欠制御クロックC2をリセットして、マイコン1への動作電源V4の供給を完全遮断する処理に戻る。
【0059】
一方、ステップST24でYesの場合、マイコン1は通常モードに復帰すべく、ステップST25以降の処理を行う。
【0060】
まず、ステップST25において、マイコン1は電源制御端子PVを“H”にして、論理回路出力信号S5を“H”固定し、電源IC4から動作電源V4が常時、電源入力部VCCに供給されるようにする。
【0061】
その後、ステップST26において、マイコン1は切換回路制御端子PCを“L”にする。
【0062】
すると、ステップST27において、切換回路3は第1の切換設定から第2の切換設定(通常動作モード設定)に切り換わる。その結果、間欠動作用クロック生成部2が非動作状態となり間欠制御クロックC2の生成は終了し、切換回路出力信号S3が“L”固定される。
【0063】
その後、ステップST28において、マイコン1は不揮発性RAM15に書き込む判別用データCDをクリア状態に設定する第2の書込み処理を行い、ステップST32以降の定周期処理に移行する。
【0064】
クリア状態に設定する判別用データCDの不揮発性RAM15への書込みは、セット状態に設定する第1の書込み処理と同様、ブロックBK0のうち、記憶領域MA1,MA2,…の順にサーチして、未使用状態が最初に認識された記憶領域MAである書込み対象記憶領域MAwに対して行う。この際、上述した判別用データCD及び端子情報IP双方がいずれも認識可能な合成データでの読み書きを採用している場合、上記書込み対象記憶領域MAwに判別用データCD及び端子情報IPを含む合成データが書き込まれる。
【0065】
以下、ステップST21でNoの場合に実行されるリセット動作及び定周期処理について説明する。
【0066】
まず、ステップST31において、車載用ECU10が通常モード時に実行する種々のアプリケーション処理(アプリ処理)の初期化等の通常のリセット用初期化処理を実行する。そして、ステップST32〜ST38からなる定周期処理を実行する。
【0067】
まず、ステップST32において、通常モード時に車載用ECU10が実行する種々のアプリ処理等を実行する。
【0068】
そして、ステップST33において、「判別用データCDの書込みブロックであるブロックBK0の記憶領域MA1〜MAmの全てが使用済みである」という第1の一括消去動作実行条件と、「マイコン1内にある揮発性RAM(図示せず)内に格納する不揮発性RAM消去中フラグが“1”である」という第2の一括消去動作実行条件のうち、いずれかを満足するか否かをチェックする。
【0069】
第1の一括消去動作条件の成立は、ブロックBK0の記憶領域MA1〜MAmが全て使用済みの場合、次に第1あるいは第2の書込み処理を実行する際、判別用データCD(あるいは上記合成データ)の書込み先がなくなるため、不揮発性RAM15のブロックBK0の一括消去動作を行う必要があることを意味する。したがって、第1の一括消去動作条件成立によりが一括消去動作の起動条件となる。
【0070】
そして、ステップST33において、上述した第1及び第2の一括消去動作実行条件のいずれかを満足した場合(Yes)はステップST34に移行し、いずれも満足しなかった場合(No)は、一括消去動作を行う必要はないのでステップST3に戻る。
【0071】
ステップST33にYesの場合に実行されるステップST34において、不揮発性RAM消去中フラグを“1”にセットする。この不揮発性RAM消去中フラグは一括消去動作の実行中は“1”を示し、そうでない場合は“0”を示す。
【0072】
その後、ステップST35において、消去対象記憶領域に対し消去動作を行う。上記第1の一括消去動作条件成立直後は、消去位置カウンタCTは“1”に初期設定されているため、消去対象記憶領域である記憶領域MA1に対する消去動作を実行する。
【0073】
次に、ステップST36において、ブロックBK0の記憶領域MA1〜MAmの全ての消去が完了したか否か(ブロック消去完了の有無)をチェックし、ブロック消去完了が確認されれば(Yes)ステップST38に移行し、不揮発性RAM消去中フラグを“0”に戻した後、ステップST3に戻る。
【0074】
一方、ステップST36において、ブロック消去完了が確認されなければ(No)ステップS37に移行する。
【0075】
ステップST37において、マイコン1は内部の消去位置カウンタCTをインクリメントし、ステップST32の定周期処理に戻る。例えば、消去位置カウンタCT=1からCT=2にインクリメントされた後、定周期処理に戻る。
【0076】
すると、再び、ステップST32おいて、マイコン1はアプリ処理を実行する。したがって、マイコン1は不揮発性RAM消去中フラグ=“1”となる一括消去動作実行中においても、消去対象記録領域に対する消去動作終了毎にアプリ処理を実行することができる。
【0077】
次に、ステップST33において、上述した第1及び第2の一括消去動作条件のチェックがされる。例えば、記憶領域MA1の消去動作の終了直後(消去位置カウンタCT=2)であれば、第1の一括消去動作条件は不成立となるが、不揮発性RAM消去中フラグが“1”のため、第2の一括消去動作条件が成立するため、ステップST33はYesとなる。このように、第2の一括消去動作条件は一括消去動作の継続条件として働く。
【0078】
以降、記憶領域MAmまでの消去動作が終了し、ステップST36でブロック消去完了が確認されるまで、ステップST32〜ST37の処理が繰り返される。
【0079】
上述したように、実施の形態1の車載用ECU10は、間欠動作モード設定時において、マイコン1の動作不要時には電源入力部VCCへの動作電源V4の供給を完全に停止させることにより、マイコン1の消費電力を“0”に抑えることができる。
【0080】
加えて、実施の形態1の車載用ECU10は、マイコン1による間欠動作モード設定時の間欠時動作実行後に起動要因の発生を検知した場合、ステップST25〜ST28を実行することにより、単独で間欠動作モード設定から通常モード設定に復帰することができる。
【0081】
そして、車載用ECU10におけるマイコン1は、不揮発性RAM15に端子情報IPを書き込んだ後、間欠動作モード設定に移行し、間欠時動作における起動要因の有無をスイッチ群SW1〜SWnの経時変化の有無に基づき認識している。例えば、スイッチSW1がドアの開閉スイッチの場合、ドアが開状態から閉状態に変化したとき、あるいはドアが閉状態から開状態に変化したときのみ、起動要因有りと認識することができる。
【0082】
すなわち、実施の形態1の車載用ECU10におけるマイコン1は、電源OFF後に実行される間欠動作時においても、不揮発性RAM15の端子情報IPを活用することにより、車両に関連する状態の経時変化を起動要因として、確実に通常モード設定に復帰することができる。
【0083】
さらに、実施の形態1の車載用ECU10は、間欠動作モード(非通常モード)を指示するセット状態の判別用データCDを書込む第1の書込み処理、及び通常モードを指示するクリア状態の判別用データCDを書込む第2の書込み処理を共に個別書込み動作によって実現している。
【0084】
一括消去動作は比較的時間を要する(40mmsec程度)を要するが、個別書込み動作は一括消去動作に比べて数mmsec程度の短時間で実行可能である。したがって、同一フロックの同一の記憶領域MAに対し個別書込み及び一括消去動作を行って第1及び第2の書込み処理を行う場合に比べて時間短縮を図ることができる。
【0085】
このため、間欠時動作の実現に伴う間欠動作モード設定時(ステップST4)及び間欠動作モード設定から通常モード設定に改める時(ステップST28)における不揮発性RAM15へのアクセス時間を必要最小限に抑えることにより、間欠動作モード,通常モード間の切換時に実行される起動処理に要する時間を最小限に抑えることができる。
【0086】
さらに、実施の形態1の車載用ECU10において、一括消去動作は、マイコン1が通常モード設定時の定周期処理として実行されるため、間欠動作モード,通常モード間の切換時に実行される起動処理に影響を与えることなく、比較的時間を要する一括消去動作を行うことができる。
【0087】
加えて、実施の形態1の車載用ECU10は、記憶領域MAの消去毎に通常動作(ステップST32のアプリ処理)を実行可能に一括消去動作が行われるため、一括消去動作期間中においても支障なく通常動作を行うことができる。
【0088】
加えて、実施の形態1の車載用ECU10において、判別用データCDをセット状態及びクリア状態に設定する第1及び第2の書込み処理を記憶領域MA1〜MAmの順で行われ、ブロックBK0の記憶領域MA1〜MAmの全てが使用済み状態になるまで、ブロックBK0に対する一括消去動作は実行されない。このため、ブロックBK0内の記憶領域MA1〜MAmに判別用データCDを均一に分散記憶することができ、その結果、判別用データの書き換え回数の許容回数を大幅(一の記憶領域MAの許容書き換え回数×m倍)に向上させることができる。
【0089】
さらに、実施の形態1の車載用ECU10は、不揮発性RAM15から読み出した端子情報IPと、間欠時動作中に取得した端子情報IPとの比較結果に基づき起動要因の有無を検出することにより、間欠時動作を行っている。
【0090】
したがって、車載用ECU10は、車両に関連する状態の経時変化を起動要因として、確実にマイコンを起動させることができる効果を奏する。
【0091】
加えて、車載用ECU10は、端子情報IPの書込み処理を、判別用データCDを書込む第1及び第2の書込み処理に含ませているため、間欠動作モード,通常モード間の切換時に実行される起動処理に要する時間を最小限に抑えることができる。
【0092】
<実施の形態2>
図5はこの発明の実施の形態2である車載用ECUの内部構成を示すブロック図である。実施の形態2の車載用ECU20は、内部にマイコン1、間欠動作用クロック生成部2、切換回路3、電源IC4、通信部6、論理回路7、及び抵抗部8を有している。なお、図1で示した車載用ECU10と同様な構成は同一符号を付して説明を適宜省略する。
【0093】
通信部6は通信線9を介して外部の他の車載用ECU等と通信可能である。通信部6及び通信線9として、例えばCAN(Controller Area Network)IC及びCAN用の通信線(CAN−H,CAN−L)等が考えられる。この通信部6はマイコン1の通信用端子PTとの間でデータの送受信が可能である。また、通信部6の電源入力部VCCには電源線LVCを介して外部電源EVCが供給される。
【0094】
通信部6は「通信線9から所定期間信号入力が無い」等のスリープ条件の成立の有無を検知し、上記スリープ条件の成立を検出するとスリープ条件成立を指示する通信部情報D6をマイコン1の通信用端子PTに出力するとともに、通常は“H”の通信部出力信号S6を“L”に変化させる。
【0095】
さらに、通信部6は動作時において、通信部起動要因(第1の条件)を検出すると、通信部起動要因の発生を指示する通信部情報D6をマイコン1の通信用端子PTに出力するとともに、“H”の通信部出力信号S6を出力する。
【0096】
論理回路7は切換回路3からの切換回路出力信号S3、マイコン1の電源制御端子PVから得られるマイコン出力信号S1及び通信部6からの通信部出力信号S6を受け、マイコン出力信号S1、切換回路出力信号S3及び通信部出力信号S6のうち少なくとも一つが“H”の時“H”の論理回路出力信号S5を出力し、マイコン出力信号S1、切換回路出力信号S3及び通信部出力信号S6の全て“L”のとき、“L”の論理回路出力信号S5を出力する。なお、図示していないが論理回路7には常時電源が供給されている。
【0097】
図6は実施の形態2の車載用ECU20の間欠動作に関連する一連の処理の一部を示すフローチャートである。なお、図3及び図4で示したフローチャートと同内容の処理は同一符号を付して説明を適宜省略する。
【0098】
以下、図6及び実施の形態1で用いた図4を参照して、実施の形態2の車載用ECU20の間欠動作に関する一連の処理手順を説明する。
【0099】
まず、ステップST1において通信線9上におけるスリープ条件の成立を検出すると(Yes)、ステップST2に移行する。一方、スリープ条件が成立しない場合(No)、ステップST32以降の定周期処理(図4参照)に移行する。
【0100】
ステップST1でYesの場合に実行されるステップST2において、通信部6は通信部出力信号S6を“L”に設定するとともに、スリープ条件成立を指示する通信部情報D6をマイコン1の通信用端子PTに出力する。
【0101】
そして、ステップST3においてマイコン1は所定の電源OFF条件(第2の条件)の成立を認識すると(Yes)、通常動作から間欠動作に移行すべく、ステップST4以降の処理に移行する。一方、所定の電源OFF条件が成立しない場合(No)、ステップST32(図4参照)に移行する。
【0102】
したがって、ステップST3でYesとなるのは、通信線9上におけるスリープ条件が成立し(ステップST1でYes)、かつ、実施の形態1と同じ電源OFF条件が成立する場合である。
【0103】
すなわち、車載用ECU20において、通常モード設定から間欠動作モード設定に移行する条件(所定条件)は、通信部6の通信線9からの受信内容に関する第1の条件(スリープ条件)と、マイコン1内部における第2の条件(電源OFF条件)との組合せ条件となる。
【0104】
そして、実施の形態1と同様にステップST4を経た後、ステップST5において、マイコン1は電源制御端子PV(マイコン出力信号S1)を“L”にして、論理回路7の論理回路出力信号S7が切換回路出力信号S3(間欠制御クロックC2)の“H”,“L”で決定するようにする。
【0105】
その後、実施の形態1と同様、ステップST6,ステップST7を経た後、ステップST8において、間欠制御クロックC2が電源ON復帰によりリセットされて、初期状態“L”から始まる間欠制御クロックC2を生成する。このとき、マイコン出力信号S1、通信部出力信号S6及び切換回路出力信号S3(間欠制御クロックC2)が全て“L”となるため、論理回路出力信号S7は“L”となる。
【0106】
その結果、ステップST9において、電源IC4は動作電源V4の生成を停止するため、マイコン1の電源入力部VCCへの動作電源V4の供給が止まり、マイコン1は完全に電源OFFする。このとき、スイッチ群SW1〜SWnへの動作電源V4の供給も停止する。
【0107】
そして、ステップST10において、所定の電源OFF時間の経過が確認される(Yes)まで、ステップST9,ステップST10が繰り返される。
【0108】
ステップST10において、所定の電源OFF時間の経過が確認される(Yes)と、ステップST11に移行し、間欠制御クロックC2は“H”に変化する。
【0109】
その結果、ステップST12において、論理回路出力信号S7が“L”から“H”に変化し、電源IC4が動作電源V4の生成を再開するため、マイコン1の電源入力部VCCへの動作電源V4の供給が再開し、マイコン1及び通信部6は電源ON復帰状態となる。
【0110】
その後、実施の形態1と同様、ステップST13以降の処理が実行されるともに、ステップST21でYesの場合にステップST22後に実行されるステップST23において、マイコン1は内部発振器11の動作クロックにより間欠時動作を実行する。
【0111】
一方、外部電源EVCが常時供給されている通信部6は単独で通信線9より得られる信号に基づき通信部起動要因の有無を判定している。
【0112】
そして、ステップST24で、スイッチ群SW1〜SWnのいずれかの外部入力変化の有無に基づく、マイコン1の内部起動要因の有無を判断する。さらに、通信用端子PTより得られる通信部情報D6に基づき通信部起動要因の有無を認識する。そして、上記内部起動要因及び通信部起動要因のうち、少なくとも一つの要因が検出されたとき、起動要因有りと判断する。
【0113】
すなわち、スイッチ群SW1〜SWnのいずれかの外部入力変化が認識される、あるいは通信部情報D6が通信部起動要因を指示すれば起動要因有り(Yes)と判断し、そうでなければ動要因無し(No)と判断する。このように、ステップST24における起動要因の判断基準が実施の形態1と異なる。
【0114】
ステップST24でNoの場合、再び、ステップST8に戻り、間欠制御クロックC2をリセットして、マイコン1への動作電源V4の供給を完全遮断する処理に戻る。
【0115】
一方、ステップST24でYesの場合、実施の形態1と同様、ステップST25〜ST28の処理を終えた後、ステップST31〜ST38の処理に移行する。
【0116】
このように、車載用ECU20における電源IC4は、間欠動作モード設定時において電源供給制御信号となる論理回路出力信号S7(=間欠制御クロックC2)が電源オン期間を指示する“H”ときにのみマイコン1に動作電源V4の供給を行うため、間欠動作モード設定時におけるマイコン1の消費電力を最小限に抑えながら、マイコン1に内部起動要因の有無を検出する間欠時動作を実行させることができる。
【0117】
すなわち、実施の形態2の車載用ECU20は、間欠動作モード設定時において、マイコン1の動作不要時には電源入力部VCCへの動作電源V4の供給を完全に停止させることにより、マイコン1の消費電力を“0”に抑えることができる。マイコン1の消費電力は車載用ECU20全体の消費電力における主要な割合を占めるため、マイコン1の動作不要時に消費電力を“0”に抑えることにより、車載用ECU20全体の低消費電力化を効果的に図ることができる。
【0118】
また、実施の形態2の車載用ECU20は、実施の形態1の車載用ECU10で述べた同様な効果も併せて奏する。
【0119】
さらに、実施の形態2の車載用ECU20は、マイコン1の内部要因に加えて、通信線9より得られる外部情報によって、間欠動作モード設定を行うことができる。
【0120】
加えて、通信部6は間欠動作モードから通常モードへの戻すモード変換機能を有することにより、マイコン1によらず通信部6単独で電源IC4をON状態に復帰させることができる効果を奏する。
【0121】
<実施の形態3>
図7はこの発明の実施の形態3である車載用ECUの内部構成を示すブロック図である。実施の形態3の車載用ECU30は、内部にマイコン101、外部変化検出部103、及び電源IC104(電源部)を有している。
【0122】
マイコン101は内部に内部発振器111、CPU112及び不揮発性RAM115を有する。不揮発性RAM115は図2で示した実施の形態1のマイコン1で用いられる不揮発性RAM15と等価な構成を呈しており、フラッシュメモリ等の名称で呼ばれ、一のブロックBKに対する一括消去動作と、あるブロックBK内における一の記憶領域MAに対する個別書込み動作が可能である。
【0123】
マイコン101は電源入力部VCCへの動作電源V104の供給時に動作状態となり、動作状態時に内部発振器111により発生されるクロックでCPU112が動作し、CPU112の制御下で図示しないスイッチ群で検出される車両に関する外部入力を監視し、当該スイッチ群のいずれかから外部入力(の発生)を検出すると、検出した外部入力内容に応じた所定の動作制御を行う。なお、スイッチ群は車両における環境変化を外部入力として取り込めれば良く、パワーウィンドウのスイッチ入力等、一般的なスイッチは勿論、センサ等を含む。
【0124】
さらに、CPU112はマイコンOFFモード移行時における電源OFFモードを指示する判別用データCDの不揮発性RAM115への書込み、電源ON復帰時における不揮発性RAM115から読み出した判別用データCDの内容チェック処理及び必要に応じて通常動作モードを指示する判別用データCDの不揮発性RAM115への書込みを行う。
【0125】
電源IC104は内部に内部発振器141、CPU142及び通信部146を有する。動作状態時に内部発振器141により発生されるクロックでCPU142が動作する。
【0126】
電源IC104は通常モード時に、電源入力部VIより電源線LVCから外部電源EVCを電圧変換して電源出力部VO1から動作電源V104をマイコン101の電源入力部VCCに供給する。このとき、電源出力部VO2からの外部変化検出部103の電源入力部VCCへの電源供給は行わない。
【0127】
電源IC104は制御入力部VCにマイコン101の電源制御端子PVが接続され、制御入力部VCが“L”の時、通常動作モードからマイコンOFFモードに切り換え、電源出力部VO1からの動作電源V104の供給を停止する。このとき、電源出力部VO2からの外部変化検出部103の電源入力部VCCへの電源供給を行う。
【0128】
電源IC104はマイコンOFFモード時において、外部変化検出部103より受ける検出信号S103をCPU142の入力端子PIに受け、CPU142の制御下で検出信号S103に基づき、マイコンOFFモードから通常動作モードに改める。
【0129】
通信部146は通信線9を介して外部の他の車載用ECU等と通信可能である。通信部146及び通信線9として、例えばCANIC及びCAN用の通信線(CAN−H,CAN−L)等が考えられる。この通信部146はマイコン101の通信用端子PTとの間でデータの送受信が可能である。
【0130】
通信部146は「通信線9から所定期間信号入力が無い」等のスリープ条件の成立の有無を検知し、上記スリープ条件(第1の条件)の成立を検出するとスリープ条件成立を指示する通信部情報D146をマイコン101の通信用端子PTに出力する。
【0131】
さらに、通信部146は動作時において、マイコンOFFモード時に通信部起動要因を検出すると、CPU142の制御下で通常動作モードに改められる。
【0132】
外部変化検出部103はマイコンOFFモード時に電源IC104の電源出力部VO2より電源入力部VCCに電源供給を受けて動作状態となる。
【0133】
図8は外部変化検出部103の内部構成を示す回路図である。同図に示すように、外部変化検出部103は、複数のスイッチ群XSW1〜XSWnと論理回路135とから構成される。スイッチ群XSW1〜XSWnはマイコン101に用いられるスイッチ群(マイコン1のスイッチ群SW1〜SWnに相当)と基本的に等価な構成を呈しており、車両における環境変化を示す外部入力内容に応じてON/OFF状態となる。例えば、スイッチXSW1がドアスイッチの場合、ドア「開」/ドア「閉」状態でON/OFF状態となる。すなわち、スイッチ群XSW1〜XSWnのON/OFF状態が車両に関連する外部入力内容を示す外部入力情報となる。
【0134】
スイッチ群XSW1〜XSWnはそれぞれ一端が接地され、他端はそれぞれ電源入力部VCCにプルアップ抵抗R1〜Rnを介して共通接続される。スイッチ群XSW1〜XSWnの他端側の配線L1〜Lnは論理回路135の入力に接続される。
【0135】
論理回路135は配線L1〜Lnの信号を受け、配線L1〜Lnの全てが“H”のとき、“L”となり、配線L1〜Lnのいずれかが“L”のとき(スイッチ群XSW1〜XSWnのいずれかがON状態のとき)“H”となる検出信号S103を出力する。したがって、検出信号S103の“L”から“H”への立ち上がりエッジを検出することにより、スイッチ群XSW1〜XSWnのいずれかのOFF状態からON状態への変化を検出することができる。
【0136】
ここで、スイッチ群XSW1〜XSWnのいずれかがOFF状態からON状態への変化が、マイコンOFFモードで電源OFF状態のマイコン101の起動要因とすべき起動要因変化となるように設定している。
【0137】
このように、外部変化検出部103は、スイッチ群XSW1〜XSWnのいずれかがOFF状態からON状態に変化したとき、検出信号S103を“L”から“H”に変化させる“H”立ち上がり変化を呈することにより、検出信号S103によって、外部入力情報(スイッチ群XSW1〜XSWnのON/OFF状態)におけるマイコン101の起動要因とすべき起動要因変化を指示することができる。
【0138】
図9は実施の形態3の車載用ECU30のマイコンOFFモードに移行する処理を示すフローチャートである。
【0139】
まず、ステップST51において、電源IC104の通信部146が通信線9上におけるスリープ条件(第1の条件)の成立を検出すると(Yes)、ステップST52に移行する。一方、スリープ条件が成立しない場合(No)、ステップST51が繰り返され、車載用ECU30は通常動作を続ける。
【0140】
ステップST51でYesの場合に実行されるステップST52において、通信部146はスリープ条件成立を指示する通信部情報D6をマイコン101の通信用端子PTに出力する。
【0141】
そして、ステップST53においてマイコン101は、マイコン101の不要判定条件である所定の電源OFF条件(第2の条件)の成立を認識すると(Yes)、通常動作モードからマイコンOFFモードに移行すべく、ステップST54以降の処理に移行する。すなわち、上記第1及び第2の条件からなる組合せ条件が成立するとステップST54以降の処理に移行する。
【0142】
一方、所定の電源OFF条件が成立しない場合(No)、ステップST51に戻り、車載用ECU30は通常動作を続行する。
【0143】
ステップST53でYesの場合に実行されるステップST54において、マイコン101は電源OFF状態に移る準備処理として不揮発性RAM115に書き込む判別用データCDをセット状態(マイコンOFFモードを指示)に設定する、判別用データCDの書込み処理を実行する。
【0144】
セット状態に設定する判別用データCDの不揮発性RAM115への書込みは、実施の形態1と同様、不揮発性RAM115におけるブロックBK0のうち、記憶領域MA1,MA2,…の順にサーチして、未使用状態が最初に認識された記憶領域MAである書込み対象記憶領域MAw(w=1〜mのいずれか)に対して行う。
【0145】
次に、ステップST55において、マイコン101は電源制御端子PV(マイコン出力信号S1)を“L”にして、電源IC104に通常動作モードからマイコンOFFモードへの変更を指示する。
【0146】
その後、ステップST56において、電源IC104はマイコン101の動作電源V104の供給を停止し、マイコン101は電源OFF状態となる。
【0147】
以降、マイコン101は完全に動作を停止する。電源IC104は外部変化検出部103の検出信号S103を監視し、検出信号S103の“H”立ち上がり(スイッチ群XSW1〜XSWnによる外部入力情報における起動要因変化)を検知するまで、マイコンOFFモードも維持し、マイコン101は電源OFF状態である。
【0148】
そして、電源IC104は、検出信号S103の“H”立ち上がりを検知すると,マイコンOFFモードから通常動作モードに改め、マイコン101への動作電源V104の供給を再開し、マイコン101を動作状態に復帰させる。
【0149】
一方、電源IC104内の通信部146は単独で通信線9より得られる信号に基づき通信部起動要因の有無を判定している。
【0150】
したがって、マイコンOFFモード時において、通信部146が通信部起動要因を判定したとき、その判定結果をCPU142に通知することにより、CPU142の制御下で、通常動作モードに改め、マイコン101への動作電源V104の供給を再開することができる。
【0151】
図10は実施の形態3における電源ON直後のマイコン101の動作を示すフローチャートである。
【0152】
同図に示すように、ステップST61において、マイコン101は不揮発性RAM115から判別用データCDを読み出す。
【0153】
読み出し処理は不揮発性RAM115のブロックBK0の記憶領域MA1〜MAmのうち、記憶領域MA1〜MAmの順でサーチして、最後に使用済み状態となっている記憶領域MAである読み出し対象記憶領域MArの格納データを判別用データCDとして読み出す。
【0154】
次に、ステップST62において、判別用データCDがセット状態である場合(Yes)、ステップST63に移行する。一方、ステップST62において、判別用データCDがセット状態でない場合(No)、ステップST64に移行する。
【0155】
ステップST62でYesの場合に実行されるステップST63において、マイコン101は不揮発性RAM115に書き込む判別用データCDをクリア状態に設定する第2の書込み処理を行い終了する(通常動作に戻る)。
【0156】
クリア状態に設定する判別用データCDの不揮発性RAM115への第2の書込み処理は、実施の形態1と同様、不揮発性RAM115におけるブロックBK0のうち、記憶領域MA1,MA2,…の順にサーチして、未使用状態が最初に認識された記憶領域MAである書込み対象記憶領域MAw(w=1〜mのいずれか)に対して行う。
【0157】
ステップST62でNoの場合に実行されるステップST64において、車載用ECU10が通常モード時に実行する種々のアプリケーション処理(アプリ処理)の初期化等の通常のリセット用初期化処理を実行し終了する。
【0158】
このように、検出信号S103がスイッチ群XSW1〜XSWnによる外部入力情報の起動要因変化を指示するとき、あるいは通信部146が通信部起動要因を指示するとき、電源IC104はCPU142の制御下でマイコンOFFモードから通常動作モードに改める。
【0159】
したがって、電源IC104は、マイコンOFFモード設定時においてマイコン101への動作電源V104の供給を完全に遮断するため、マイコンOFFモード設定時におけるマイコン101の消費電力を“0”に抑えることができる。そして、電源IC104は検出信号S103を監視することにより、車両に関連する外部入力内容を示す外部入力情報(スイッチ群XSW1〜XSWnのON/OFF状態)における起動要因とすべき起動要因変化を検出して、適切なタイミングでマイコンOFFモードから通常動作モードに改めることができる。
【0160】
マイコン101のCPU112は、電源IC104のCPU142より回路構成が大きく、マイコン101の消費電力は車載用ECU30全体の消費電力における主要な割合を占めるため、マイコンOFFモード時に消費電力を“0”に抑えることにより、車載用ECU30全体の低消費電力化を効果的に図ることができる。
【0161】
加えて、実施の形態3の車載用ECU30の電源IC104は、マイコンOFFモード設定時において、検出信号S103に基づき起動要因変化を検知した場合、電源IC104単独でマイコンOFFモード設定から通常モード設定に復帰することができる。
【0162】
さらに、実施の形態3の車載用ECU30の電源IC104は、マイコン101の内部要因に加えて、通信部146によって通信線9より得られる外部情報によって、マイコンOFFモード設定を行うことができる。
【0163】
加えて、通信部146による通信起動要因の判定時においても、マイコン101によらず電源IC1046単独で通常動作モードに復帰させることができる効果を奏する。すなわち、通信部146は、CPU142に通信起動要因判定を通知することにより、マイコンOFFモードから通常動作モードに設定変更可能なモード変換機能を有している。
【0164】
すなわち、マイコン101の内部要因(第2の条件)に加えて、外部情報(第1の条件)によって、マイコンOFFモード設定を行うとともに、マイコンOFFモード設定から通常モード設定への解除設定を行うことができる。
【0165】
なお、外部変化検出部103はマイコンOFFモード時のみ、電源IC104より電源供給を受けたが、常時電源供給を受けるように構成しても良い。すなわち、外部変化検出部103は、少なくともマイコンOFFモード時に動作状態となればよい。
【0166】
<判別用データCDの書き換え回数の確保>
図11は実施の形態1〜実施の形態3のマイコン1(101)に内蔵した不揮発性RAM15(115)の内部構成を示す説明図である。同図に示すように、不揮発性RAM15はブロックBK0〜BKnに区分され、各ブロックBKにKバイト(例えば32バイト(byte))割り当てられる。
【0167】
マイコン1(101)に内蔵される不揮発性RAM15(115)は処理速度や実装面積の効率化の点で優れているが、マイコン1に内蔵という制約を受け不揮発性RAM15内の格納領域を有効利用できない可能性がある。
【0168】
特に、判別用データCDのように、セット状態であるかクリア状態であるかを示すフラグデータはデータ長が1ビット〜1バイト程度で抑えられる反面、書き換え回数が比較的多く、不揮発性RAM15の許容書き換え回数を超えて使用され使用不能となると、不揮発性RAM15を内蔵するマイコン1自体が使用不能となってしまう懸念材料がある。この懸念材料は車載用ECU10〜30が搭載される車両の寿命により不揮発性RAM15の寿命が短い場合に顕著となる。
【0169】
通常、車両寿命より長く不揮発性RAM15の寿命を持たせるための不揮発性RAM基準を満足するには、50万回程度の書き換え回数を確保する必要がある。しかしながら、一般的な不揮発性RAM15では、書き換え回数は同一記憶領域において10万回程度がせいぜいであるため、単純に不揮発性RAM15の同一記憶領域に判別用データCDを書き換える方法では上述した不揮発性RAM基準を満足させることはできない。
【0170】
一方、車載用ECU10〜30で用いられる不揮発性RAM15(115)には、上述した端子情報IPに加え、車両情報を記憶する必要があるため、判別用データCD用に多くのブロックBKを割り当てることは困難である。また、判別用データCD用に多くのブロックBLを割り当てるため不揮発性RAM15の記憶領域を拡張することはコストアップにつながるため現実的ではない。すなわち、不揮発性RAM15において判別用データCD用には必要最小限のブロックBKを割り当てる必要がある。
【0171】
一方、実施の形態1〜実施の形態3では、判別用データCDに対し一のブロックBK0を割り当て、第1及び第2の書込み処理を記憶領域MA1,MA2,…,MAmの順で行っている(図2等参照)。このように、ブロックBK0の記憶領域MA1〜MAmに対する分散書込みを実現しているため、判別用データCDの書き換え回数をm×10万回に増やすことができる。
【0172】
したがって、記憶領域MAの大きさを2バイトとすると、図11の例でK=32バイトの場合、m=16となり、判別用データCDに関し160万回の書き換え回数が許容されるため、上記不揮発性RAM基準を満足することができる。
【0173】
このように、実施の形態1〜実施の形態3の車載用ECU10〜30は、判別用データCDの書き換え回数強化処理が図られている。
【0174】
<実施の形態4>
実施の形態4は実施の形態1〜実施の形態3の車載用ECU10〜30それぞれにおける上述した判別用データCDの書き換え回数強化処理のさらなる改善を図った車載用ECUである。したがって、車載用ECU10〜30のいずれにおいても、実施の形態4の判別用データCDの書き換え回数強化処理を適用することができる。
【0175】
図12は実施の形態4の車載用ECUにおける不揮発性RAM15(115)における判別用データCD用のブロックBK割り当て内容を示す説明図である。
【0176】
同図に示すように、判別用データCDの格納用にブロックBK0及びBK1を割り当てている。そして、ブロックBK0及びBK1それぞれにおいて、記憶領域MA1を消去兼使用フラグEUFに割り当て、記憶領域MA2〜MAmを判別用データ領域ACDに割り当てている。なお、図12において、m=16の場合を示している。
【0177】
したがって、2バイトの消去兼使用フラグEUFにより、当該ブロックBKが「消去中」、「使用中」及び「非消去未使用状態」のうちいずれであるかを指示することができる。
【0178】
一方、判別用データ領域ACDにおける記憶領域MA2〜MAmに対する書込み順は、記憶領域MA2,MA2,…,MAmの順となる。すなわち、消去兼使用フラグEUFが使用中を指示するブロックBKi(i=0,1のいずれか)のうち、判別用データ領域ACDの記憶領域MA2〜MAmをMA2,MA2,…,MAmの順でサーチして、最初に未使用と認識された記憶領域MAを書込み対象記憶領域MAwとして判別用データCDを書き込む。
【0179】
また、判別用データCDの読み出し処理は、不揮発性RAM15(115)の使用中ブロックBKiの記憶領域MA2〜MAmのうち、最後の使用済み状態となっている記憶領域MAである読み出し対象記憶領域MArの格納データを判別用データCDとして読み出すことにより行われる。
【0180】
図13は判別用データCD用のフロック群を構成するブロックBK0及びBK1それぞれの状態MCを表形式で示す説明図である。同図に示すように、消去兼使用フラグEUFに示す状態(消去中、使用中、(非消去)未使用)と判別用データ領域ACDの状態(全未使用、一部使用、全使用済み)との組合せにより9個の状態MC1〜MC9に分類される。
【0181】
なお、全未使用とは、判別用データ領域ACD内の記憶領域MA2〜MAmが全て消去後に書込みがなされていない状態(0xFFFF)を意味する。一部使用とは判別用データ領域ACD内の記憶領域MA2〜MAmの一部に書込み(“1”,“0”の設定、例えば“1”をセット状態、“0”をクリア状態とする等)、他の一部が(0xFFFF)状態であることを意味する。全使用とは、判別用データ領域ACD内の記憶領域MA2〜MAmが全て書込まれている状態(“1”,“0”の設定)を意味する。
【0182】
図14は実施の形態4の車載用ECUで行われる不揮発性RAM15における判別用データCD用のブロック群(ブロックBK0及びBK1)の管理方法を示すフローチャートである。以下、同図を参照して管理方法の処理手順を説明する。
【0183】
まず、ステップST71において、不揮発性RAM15の初期化処理を行い、ブロックBK0及びBK1を初期化する。通常この処理は工場出荷時等の最初に一回だけ行われる。
【0184】
次に、ステップST72において、初期設定として、ブロックBK0を使用ブロックに設定する。すなわち、ブロックBK0の消去兼使用フラグEUFに「使用中」を設定する。一方、ブロックBK1の消去兼使用フラグEUFは消去直後の内容である「(非消去)未使用」となっている。
【0185】
そして、ステップST73で実施の形態1〜実施の形態3の車載用ECU10〜30の判別用データCDの書込み処理(第1及び第2の書込み処理)の必要性の有無をチェックする。すなわち、第1及び第2の書込み処理の実行の有無をチェックする。ステップST73は判別用データCDの書込み処理の必要性が有ると判断されるまで繰り返し継続される。
【0186】
ステップST73で第1及び第2の書込み処理の実行の必要性がチェックされる(Yes)と、ステップST74で使用ブロックであるブロックBK0が状態MC6(使用中で記憶領域MAが全て使用済み)であるか(Yes)否か(No)がチェックされる。
【0187】
ステップST74でNoの場合に実行されるステップST75において、使用ブロックに未使用の記憶領域MAが残存しているため、使用ブロックであるブロックBK0に対する判別用データCDの書込みが行われる。この際、判別用データ領域ACDの記憶領域MA2〜MAmをMA2,MA2,…,MAmの順でサーチして、最初に未使用と認識された記憶領域MAを書込み対象記憶領域MAwとして判別用データCDを書き込みが行われる。その後、ステップST73に戻り、再び、第1あるいは第2の書込み処理の実行の必要性を待つ。
【0188】
ステップST74でYesの場合に実行されるステップST76において、使用ブロックの記憶領域MA2〜MAmが全て使用済みであり、未使用の記憶領域MAが残存していないため、使用ブロックを一方のブロックBK0から他方のブロックBK1に切り換える。すなわち、ブロックBK0の消去兼使用フラグEUFは「使用中」の内容を「消去中」に書き換えられ、ブロックBK1の消去兼使用フラグEUFは「未使用」から「使用中」に書き換えられる。
【0189】
そして、ステップST75において、新たに使用ブロックとなったブロックBK1に対し、判別用データCDの書込み処理が行われ、ステップST73に戻る。
【0190】
一方、ステップST77において、新たに要消去ブロックとなったブロックBK0に対し一括消去動作が実行される。この一括消去動作は、図4で示した定周期処理のように、マイコン1(101)の通常動作時に行う。ただし、消去順は判別用データ領域ACDの記憶領域MA2〜記憶領域MAm、次いで、消去兼使用フラグEUFの記憶領域MA1MA1の順で行われる。
【0191】
図15は図14で示した実施の形態4の不揮発性RAM管理方法による不揮発性RAM15(115)の使用による状態変化を模式的に示す説明図である。以下、同図及び図14を参照して不揮発性RAM15の使用例を説明する。同図(a) はマイコン1(101)のイベント変化を示しており、同図(b) はブロックBK0及びBK1の状態変化を示している。
【0192】
まず、イベントEV0の工場出荷時に不揮発性RAM15の初期化処理を行われる。その結果、ステップST72(図14参照)の実行によって、ブロックBK0が使用ブロック(消去兼使用フラグEUFが「使用中」を指示)となり、BK1は未使用ブロック(消去兼使用フラグEUFが「未使用」を指示)となる。したがって、ブロックBK0は状態MC4、ブロックBK1は状態MC7となる。
【0193】
マイコン1(101)におけるスリーブOK(図1,図6のステップST3のYes時、図9のステップST51のYes時)をトリガとして、イベントEV1において、ステップST75(図14参照)を実行して、セット状態の判別用データCDを不揮発性RAM15に書き込む。この際、使用フロックであるブロックBK0に対する書込みが行われる。その結果、ブロックBK0は状態MC4から状態MC5に変化する。
【0194】
マイコン1(101)におけるウェイク条件成立(図4のステップST24のYes時、図10のステップST62のYes時)をトリガとして、イベントEV2において、ステップST75(図14参照)を実行して、クリア状態の判別用データCDを不揮発性RAM15に書き込む。この際、使用フロックであるブロックBK0に対する書込みが行われる。その結果、ブロックBK0は未使用の記憶領域MAを減少させながら状態MC5を維持する。なお、ブロックBK1は状態MC7のままである。
【0195】
そして、イベントEV1,イベントEV2と同様なイベントが繰り返された後、スリーブOKをトリガとして、イベントEV3において、ステップST75(図14参照)を実行して、セット状態の判別用データCDを不揮発性RAM15に書き込む。この際、使用フロックであるブロックBK0に対する書込みが行われる。その結果、ブロックBK0は全ての記憶領域MA2〜MAmが使用済みとなる状態MC6に達する。なお、ブロックBK1は状態MC7のままである。
【0196】
その後、マイコン1におけるウェイク条件成立をトリガとして、イベントEV4において、クリア状態の判別用データCDを不揮発性RAM15に書き込む。この際、使用フロックであるブロックBK0は状態MC6であるので、ステップST76で使用ブロックをブロックBK1に切り換えた後、ブロックBK1に対する書込みが行われる。すなわち、ブロックBK0の消去兼使用フラグEUFが「消去中」に書き換えられ、ブロックBK1の消去兼使用フラグEUFが「使用中」に書き換えられる。その結果、ブロックBK1は状態MC7から状態MC4を経て状態MC5に変化する。なお、ブロックBK0は状態MC3に変化する。
【0197】
さらに、ブロックBK0に対しては、マイコン1の通常動作時に図4で示した定周期処理による一括消去動作が実行され、状態が状態MC3から状態MC2を経て状態MC1となる。
【0198】
ブロックBK0の一括消去動作の終了後において、マイコン1はスリーブOKをトリガとして、イベントEV5において、ステップST75(図14参照)を実行して、セット状態の判別用データCDを不揮発性RAM15に書き込む。この際、使用フロックであるブロックBK1に対する書込みが行われる。その結果、ブロックBK1は未使用の記憶領域MAを減少させながら状態MC5を維持する。一方、ブロックBK0は一括消去動作が完了したため、消去兼使用フラグEUFが消去直後の内容である「未使用」に設定され、状態MC7となる。すなわち、ブロックBK0の消去兼使用フラグEUFの「未使用」設定は、例えば、実施の形態1の図4で示すステップST35において記憶領域MA1の消去兼使用フラグEUFの初期化動作によって行われる。
【0199】
このように、実施の形態4の不揮発性メモリ管理方法を採用した車載用ECUは、ブロックBK0及びBK1からなるブロック群のうち使用ブロック内の判別用データ領域ACDの記憶領域MA2〜MAmが全て書込まれた全使用済み状態のとき、使用ブロックを要消去ブロック(消去中)とし、上記ブロック群のうち他のブロックを新たな使用ブロックとして切り換え設定可能である。
【0200】
したがって、いかなるタイミングで第1及び第2の書込み処理が実行されても、遅延無く速やかに判別用データCDを不揮発性RAM15(115)に書込みことができるため、非通常モード(間欠動作モード,電源OFFモード)設定時及び非通常モード設定から通常モード設定に改める時における不揮発性メモリへのアクセス時間のさらなる向上を図ることができる。
【0201】
加えて、上記ブロック群内において使用ブロックは全使用済み状態になるまで他のブロックに切り換えられないため、上記ブロック群の各ブロック内の判別用データ領域ACD内の記憶領域MA2〜MAm内に判別用データCDを均一に分散記憶することができ、その結果、判別用データCDの書き換え回数の許容回数を大幅に向上させることができる。
【0202】
例えば、図12で示すブロックBK0及びBK1の場合、一の記憶領域MAの許容書き換え回数を10万回とすると、10万×15×2の300万回の判別用データCDの許容書き換え回数を確保することができる。
【0203】
また、実施の形態1〜実施の形態3で述べた通り、実施の形態4においても、一括消去動作は、マイコンが通常モード設定時に実行されるため、非通常モード,通常モード間の切換時に実行される起動処理に影響を与えることなく、比較的時間を要する一括消去動作を行うことができる。
【0204】
さらに、実施の形態1〜実施の形態3で述べた通り、実施の形態4においても、一記憶領域の消去毎に通常動作を実行可能に一括消去動作が行われるため、一括消去動作期間中においても支障なく通常動作を行うことができる。
【0205】
実施の形態4では、消去兼使用フラグEUFとして一つの記憶領域MA1を割り当て、記憶領域MA1に対し「使用中」書込みに加え、「消去中」書込み行っている。この方法に代えて、消去兼使用フラグEUFとして二つの記憶領域MA1及びMA2を割り当て、「使用中」書込みを記憶領域MA1に、「消去中」書込みを記憶領域MA2に対して行うようにしても良い。
【0206】
<その他>
この発明は、単体の車載用ECUに適用することができ、マイコン1(101)を間欠動作させる必要のある全ての車載用ECUに適用することができる。すなわち、車載用ECUとして走行中に用いる、停車中に用いる等の種類に関係なく本発明を適用可能である。
【0207】
図5で示した実施の形態2の構成では、通信部6の通信部出力信号S6を論理回路7に入力することにしたが、スリープ条件や通信部起動要因の有無を指示する通信部情報D6に基づき、マイコン1が電源制御端子PV(マイコン出力信号S1)や切換回路制御端子PCを設定することにより、通信部出力信号S6を用いることなく車載用ECU20と等価なECUを実現することができる。
【0208】
また、車載用ECU10あるいは車載用ECU20における間欠動作用クロック生成部2を他のマイコン(CPU)で代用することもできる。すなわち、マイコン1に比べ消費電力が小さい上記他のマイコンを間欠動作用クロック生成部2として用いることにより間欠動作モード設定時における消費電力を抑えることができる。この場合、間欠動作モード設定時だけでなく通常モード設定時においても上記他のマイコンを活用することができる。
【0209】
また、図1及び図5で示した構成では、マイコン1自体が、スイッチ群SW1〜SWnの状態に基づき検知電圧V11〜V1nを設定していた。この構成以外にも、スイッチ群SW1〜SWnの状態に基づき、検知電圧V11〜V1nを生成する検知電圧発生回路を、スイッチ群SW1〜SWnとマイコン1との間に設けるように構成することも可能である。
【符号の説明】
【0210】
1,101 マイコン
2 間欠動作用クロック生成部
3 切換回路
4,104 電源IC
5 論理回路
6 通信部
7 論理回路
8 抵抗部
9 通信線
10,20,30 車載用ECU
15,115 不揮発性RAM
103 外部変化検出部
【技術分野】
【0001】
この発明は、車両に搭載される車載用ECU(Electronic Control Unit)に関する。
【背景技術】
【0002】
従来、車両には車載用ECUと呼ばれる電子装置が複数搭載されており、各車載用ECUがCAN(Controller Area Network)などのネットワークを介して情報を交換しながら協調動作することによって、車両の走行に係る制御及び車室内などの快適性に係る制御等を実現している。また各車載用ECUは、車両のバッテリ又はオルタネータ等の電源に電力線を介して接続され、電源から供給される電力により動作している。近年では、車両に搭載される車載用ECUの数が増大しているため省電力化が求められている。
【0003】
そして、車両の高機能化に伴い、車載用ECUに高機能なマイクロコンピュータ(以下、「マイコン」と略記する。)が多数搭載されるようになった。これらマイコンを駆動させるため消費電力や暗電流が増加し、バッテリ上がりや燃費悪化の一因となっている。そこで、マイコンのモードをHALTモード(CPUの命令実行を中断するモード)やSTOPモード(CPUおよび周辺回路の動作を停止するモード)にして、通常モード中に上述したHALTモード(STOPモード)を挿入して、マイコンによる通常モード動作を間欠動作させることが一般的に行われている。
【0004】
また、電力消費を低減することができる車載用ECUとして、例えば特許文献1で開示された車載機器の駆動制御装置が挙げられる。この制御装置は、車両に接近する物体を検出するための接近センサが設けられ、コントローラはスイッチを間欠的にオンして上記接近センサを間欠的に駆動させる。コントローラは、上記接近センサを間欠的に駆動させた時において上記接近センサにより車両に接近する物体を検出すると、それまで駆動を停止させていた駆動制御対象の侵入センサの駆動を開始させている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第4149879号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、マイコンのHALTモードやSTOPモードではマイコンの主要動作は停止するが、マイコン自体には常に電源が供給されているため、HALTモードやSTOPモード期間中においても“0”でない電力が消費されることになるという問題点があった。
【0007】
同様なことが特許文献1で開示された上記制御装置においても当てはまる。すなわち、接近センサや浸入センサを駆動させるコントローラ(マイコンに相当)及びコントローラを制御するセキュリティECUには、常時電源が供給されており、この点において消費電力を抑制できていないという問題点があった。
【0008】
この発明は上記問題点を解決するためになされたもので、内部のマイコンの動作不要時における消費電力を最小限に抑えた車載用ECUを得ることを目的とする。
【課題を解決するための手段】
【0009】
この発明に係る請求項1記載の車載用ECUは、動作電源の供給時に動作状態となり、動作中において所定条件成立時に、非通常モード設定を行うマイコンと、通常モード設定時において前記マイコンに前記動作電源を供給し、前記非通常モード設定時において少なくとも一部期間において前記マイコンへの前記動作電源の供給を停止する電源部とを備え、前記マイコンは内部に不揮発性メモリを有し、前記不揮発性メモリは、各々が複数の記憶領域からなる少なくとも2つのブロックそれぞれに対する一括消去動作、及び前記記録領域単位の個別書込み動作が可能であり、前記マイコンは、前記非通常モード設定時に、前記個別書込み動作によって、非通常モードを指示する判別用データを書込む第1の書込み処理を実行し、前記非通常モード設定から前記通常モード設定に改める際、前記個別書込み動作によって、前記通常モードを指示する前記判別用データを書込む第2の書込み処理を実行し、前記動作電源の供給開始時において、前記不揮発性メモリ内の前記判別用データを参照して、前記非通常モード設定及び通常モード設定のうち一方の設定を認識し、前記第1及び第2の書込み処理は、前記少なくとも2つのブロックからなるブロック群のうち一のブロックを使用ブロックとして設定し、該使用ブロックにおける前記一括消去動作後に書込みが一度も行われていない未使用の前記記憶領域に対する前記個別書込み動作によって行われ、前記使用ブロック内の複数の記憶領域が全て書込まれた全使用済み状態のとき、前記使用ブロックを要消去ブロックとし、前記ブロック群のうち他のブロックを新たな使用ブロックとして切り換え設定可能なことを特徴とする。
【0010】
請求項2記載の車載用ECUは、請求項1記載の車載用ECUであって、前記一括消去動作は前記記憶領域単位で順次消去されることにより行われ、前記一括消去動作は、前記マイコンが通常モード設定時に、前記要消去ブロックに対し前記記憶領域の消去完了毎に通常動作が実行可能に行われる。
【発明の効果】
【0011】
請求項1記載の本願発明の車載用ECUにおいて、電源部は、非通常モード設定時において少なくとも一部期間においてマイコンへの動作電源の供給を停止するため、マイコンの動作不要時は動作電源の供給を遮断して非通常モード設定時におけるマイコンの消費電力を最小限に抑えることができる。
【0012】
請求項1記載の車載用ECUは、使用ブロック内の複数の記憶領域が全て書込まれた全使用済み状態のとき、使用ブロックを要消去ブロックとし、ブロック群のうち他のブロックを新たな使用ブロックとして切り換え設定可能である。
【0013】
したがって、いかなるタイミングで第1及び第2の書込み処理が実行されても、速やかに判別用データを不揮発性メモリに書込みことができるため、非通常モード設定時及び非通常モード設定から通常モード設定に改める時における不揮発性メモリへのアクセス時間のさらなる向上を図ることができる。
【0014】
加えて、使用ブロックは全使用済み状態になるまで他のブロックに切り換えられないため、ブロック群の各ブロック内の複数の記憶領域内に判別用データを均一に分散記憶することができ、その結果、判別用データの書き換え回数の許容回数を大幅に向上させることができる。
【0015】
請求項2記載の本願発明において、一括消去動作は、マイコンが通常モード設定時に実行されるため、非通常モード,通常モード間の切換時に実行される起動処理に影響を与えることなく、比較的時間を要する一括消去動作を行うことができる。
【0016】
さらに、請求項2記載の本願発明は、記憶領域の消去毎に通常動作を実行可能に一括消去動作が行われるため、一括消去動作期間中においても支障なく通常動作を行うことができる。
【図面の簡単な説明】
【0017】
【図1】この発明の実施の形態1である車載用ECUの内部構成を示すブロック図である。
【図2】実施の形態1の車載用ECUのマイコン内の不揮発性RAMの内部構成の概略を示す説明図である。
【図3】実施の形態1の車載用ECUの間欠動作に関連する一連の処理を示すフローチャートである。
【図4】実施の形態1の車載用ECUの間欠動作に関連する一連の処理を示すフローチャートである。
【図5】この発明の実施の形態2である車載用ECUの内部構成を示すブロック図である。
【図6】実施の形態2の車載用ECUの間欠動作に関連する一連の処理の一部を示すフローチャートである。
【図7】この発明の実施の形態3である車載用ECUの内部構成を示すブロック図である。
【図8】図7で示した外部変化検出部の内部構成を示す回路図である。
【図9】実施の形態3の車載用ECUのマイコンOFFモードに移行する処理を示すフローチャートである。
【図10】実施の形態3における電源ON直後のマイコンの動作を示すフローチャートである。
【図11】不揮発性RAMの内部構成を示す説明図である。
【図12】実施の形態4の車載用ECUにおける不揮発性RAMにおける判別用データCのブロック割り当て内容を示す説明図である。
【図13】判別用データ用のフロック群を構成する各ブロックの状態を表形式で示す説明図である。
【図14】実施の形態4の車載用ECUで行われる不揮発性RAM15における判別用データ用のブロック群の管理方法を示すフローチャートである。
【図15】図14で示した実施の形態4の不揮発性RAMにおける管理方法による不揮発性RAMの使用による状態変化を模式的に示す説明図である。
【発明を実施するための形態】
【0018】
<実施の形態1>
図1はこの発明の実施の形態1である車載用ECUの内部構成を示すブロック図である。実施の形態1の車載用ECU10は、内部にマイコン1、間欠動作用クロック生成部2、切換回路3、電源IC4、論理回路5、及び抵抗部8を有している。
【0019】
マイコン1は電源入力部VCCへの動作電源V4の供給時に動作状態となり、動作状態時に内部発振器11により発生されるクロックで動作し、スイッチ群SW1〜SWnで検出される車両に関する外部入力の経時変化を監視し、スイッチ群SW1〜SWnの状態(車両に関連する状態)いずれかの経時変化を検出すると、変化が検出された外部入力内容に応じた所定の動作制御を行う。なお、スイッチ群SW1〜SWnは車両における環境変化を外部入力として取り込めれば良く、パワーウィンドウのスイッチ入力等、一般的なスイッチは勿論、センサ等を含む。例えば、スイッチSW1がドアに設けられたセンサであり、スイッチSW1のON/OFFでドアの「開」/「閉」状態を指示する場合、マイコン1は、スイッチSW1がON(ドア「開」)状態からオフ(ドア「閉」状態)への経時変化を検知したとき、あるいはOFF(ドア「閉」)状態からON(ドア「開」状態の経時変化を検知したとき、変化が検出されたスイッチSW1の経時変化内容に応じた所定の動作制御を行う。
【0020】
さらに、マイコン1は、スイッチ群SW1〜SWnの状態を検知電圧V11〜V1nに変換して認識することができる。例えば、前述したように、スイッチSW1がドアに設けられたセンサである場合、マイコン1は、スイッチSW1がONのとき(ドア「開」状態を検知したとき)検知電圧V11を“H”に設定し、OFFのとき(ドア「閉」状態を検知したとき)検知電圧V11を“L”に設定する。以降、スイッチ群SW1〜SWnに対応する検知電圧V11〜V1nを総称して端子情報IPと呼ぶ。したがって、マイコン1は、通常動作時において内部の揮発性メモリ、レジスタ等(いずれも図示せず)に端子情報IPを定期的に記憶することにより、検知電圧V11〜V1nの経時変化を認識することができる。
【0021】
そして、マイコン1は、電源OFF条件成立時に、不揮発性RAM15に判別用データCDをセット状態に設定する(第1の書込み処理)とともに、端子情報IPを不揮発性RAM15に書き込む、書込み動作を行う。
【0022】
さらに、マイコン1は、間欠動作時に、不揮発性RAM15に保存した端子情報IP(検知電圧V11〜V1n)と現在のスイッチ群SW1〜SWnから取得した端子情報IPとを比較し、比較結果に相違点を検出すると、起動要因ありと判断し、通常モードに復帰するための処理を行い、判別用データCDをクリア状態に設定する(第2の書込み処理)書込み動作を実行する。
【0023】
加えて、マイコン1は、電源OFF状態から電源が投入された電源ON復帰時において、不揮発性RAM15に格納された判別用データCDの内容に基づき、通常のリセット動作(その後の定周期処理)あるいは間欠動作モード設定時における間欠時動作を実行する。
【0024】
図2は不揮発性RAM15の内部構造を模式的に示す説明図である。同図に示すように、不揮発性RAM15はブロックIDが0〜n(≧1)からなるブロックBK0〜BKnに分割され、ブロックBK0〜BKnはそれぞれ複数の記憶領域MA1〜MAm(m≧2)から構成される。なお、記憶領域MAとしては例えば2バイトの大きさが設定され、mは“16”等に設定される。
【0025】
不揮発性RAM15は、フラッシュメモリ等の名称で呼ばれ、一のブロックBKに対する一括消去動作と、ブロックBK内における一の記憶領域MAに対する個別書込み動作が可能である。
【0026】
実施の形態1では、判別用データCDの書込み対象のブロックBK(所定のブロック)として例えばブロックBK0が割り当てられる。
【0027】
そして、不揮発性RAM15に対し、判別用データCDをセット状態に設定する第1の書込み処理、及び判別用データCDをクリア状態に設定する第2の書込み処理は共に、ブロックBK0の記憶領域MA1〜MAmのうち、一括消去動作後に書込みが一度も行われていない未使用の記憶領域MAに対して行われる。
【0028】
なお、未使用の記憶領域MAは、記憶領域MA1〜MAmをMA1,MA2,…,MAmの順でサーチして、最初に未使用と認識された記憶領域MAを意味する。
【0029】
例えば、記憶領域MA1に対して既に書込み処理が行われている使用済み状態であり、記憶領域MA2が未使用の場合、記憶領域MA2に対して第1あるいは第2の書込み処理が実行されることになる。したがって、その次に第1あるいは第2の書込み処理が実行される際は、記憶領域MA2でなく記憶領域MA3に書き込まれることになる。
【0030】
一方、不揮発性RAM15に対する一括消去動作は一のブロックBKに対し、記憶領域MA単位で順次消去されることにより行われる。例えば、ブロックBK0に対する一括消去動作は、まず、ブロックBK0の記憶領域MA1に対し消去動作を行った後、次に記憶領域MA2に対し消去動作を行う。以下、記憶領域MA3、記憶領域MA4、…の順で消去動作を行い、最後の記憶領域MAmに対する消去動作を終了により、ブロックBK0に対する一括消去動作を完了する。
【0031】
そして、判別用データCDを記憶領域MA単位で格納するブロックBK0に対する一括消去動作は、通常動作時の定周期処理として行われる。さらに、一括消去動作期間中においても、記憶領域MAの消去動作完了毎にアプリ処理等の通常動作を実行可能にする。
【0032】
間欠動作用クロック生成部2は電源入力部VCCに外部電源EVCが供給されると動作状態となり、動作状態時に間欠制御クロックC2を生成する。間欠制御クロックC2は電源ON復帰時あるいはリセット設定時において、“L”から始まり所定周期で“H”/“L”を繰り返す。なお、間欠制御クロックC2の周波数はマイコン1の内部発振器11の動作周波数に比べて小さくなるように設定されている。
【0033】
切換回路3は端子P31〜P36を有し、端子P31は、外部電源EVCが供給される電源線LVCに接続され、端子P32は間欠動作用クロック生成部2の電源入力部VCCに接続され、端子P33は抵抗部8を介して接地される。また、切換回路3の端子P34は間欠制御クロックC2を入力し、端子P35から得られる信号を切換回路出力信号S3として論理回路5に出力する。さらに、切換回路3の制御端子P36がマイコン1の切換回路制御端子PCに接続される。なお、切換回路3は端子P31より外部電源EVCを受けることにより後述する通常モード設定時及び間欠動作モード設定時のいずれにおいても動作状態である。
【0034】
このような構成の切換回路3は、制御端子P36に接続される切換回路制御端子PCが“H”の時、端子P31,P32間及び端子P34,P35間を電気的に接続する(図1において実線で示す)第1の切換設定(間欠動作モード設定)を行う。
【0035】
一方、切換回路3は、切換回路制御端子PCが“L”の時、端子P32,P33間及び端子P33,P35間を電気的に接続する(図1において破線で示す)第2の切換設定(通常動作用モード設定)を行う。
【0036】
論理回路5は切換回路3からの切換回路出力信号S3及びマイコン1の電源制御端子PVから得られるマイコン出力信号S1を受け、マイコン出力信号S1及び切換回路出力信号S3のうち少なくとも一つが“H”の時“H”の論理回路出力信号S5を出力し、マイコン出力信号S1及び切換回路出力信号S3の双方が“L”のとき、“L”の論理回路出力信号S5を出力する。なお、図示していないが論理回路5には常時電源が供給されている。
【0037】
電源IC4は制御入力部VCに論理回路出力信号S5を受け、論理回路出力信号S5が“H”の時、電源入力部VIより電源線LVCの電源を電圧変換して電源出力部VOから動作電源V4をマイコン1の電源入力部VCC及びスイッチ群SW1〜SWnに供給する。
【0038】
図3及び図4は実施の形態1の車載用ECU10の間欠動作に関連する一連の処理を示すフローチャートである。
【0039】
以下、図3及び図4を参照して、実施の形態1の車載用ECU10の間欠動作に関する一連の処理手順を説明する。
【0040】
まず、ステップST3においてマイコン1は所定の電源OFF条件の成立を認識すると(Yes)、通常動作から間欠動作に移行すべく、ステップST4以降の処理に移行する。一方、所定の電源OFF条件が成立しない場合(No)、ステップST32以降の通常動作における定周期処理に移行する。なお、定周期処理については後に詳述する。
【0041】
電源OFF条件成立後に実施されるステップST4において、マイコン1は、上述した第1の書込み処理を実行して、不揮発性RAM15のブロックBK0内の記憶領域MAに格納する判別用データCDをセット状態に設定するとともに、端子情報IPを不揮発性RAM15に書き込む、書込み動作を行う。
【0042】
セット状態に設定する判別用データCDの不揮発性RAM15への書込みは、前述したように、ブロックBK0のうち、記憶領域MA1,MA2,…の順にサーチして、未使用状態が最初に認識された記憶領域MAである書込み対象記憶領域MAw(w=1〜mのいずれか)に対して行う。
【0043】
端子情報IPの書込みは不揮発性RAM15のブロックBK0以外の他のブロックBKに対しても行っても良い。また、判別用データCD及び端子情報IP双方がいずれも認識可能な合成データとして、上記書込み対象記憶領域MAwに同時に書き込むようにしても良い。例えば、記憶領域MAが2バイト(16ビット)構成の場合、上位4ビットで判別用データCDを示し、残りの12ビットで端子情報IPを示す合成データを書き込むようにしても良い。
【0044】
そして、ステップST4を経た後、ステップST5において、マイコン1は電源制御端子PV(マイコン出力信号S1)を“L”にして、論理回路7の論理回路出力信号S5が切換回路出力信号S3(間欠制御クロックC2)の“H”,“L”で決定するようにする。
【0045】
その後、ステップST6において、マイコン1は切換回路制御端子PCを“H”にする。
【0046】
すると、ステップST7において、切換回路3は第2の切換設定から第1の切換設定(間欠動作モード設定)に切り換わる。その結果、外部電源EVCが電源入力部VCCに供給される間欠動作用クロック生成部2が動作状態となり間欠制御クロックC2を生成し、この間欠制御クロックC2が切換回路3から切換回路出力信号S3として出力される。
【0047】
その後、ステップST8において、間欠制御クロックC2が電源ON復帰によりリセットされて、初期状態“L”から始まる間欠制御クロックC2を生成する。
【0048】
その結果、ステップST9において、電源IC4は動作電源V4の生成を停止するため、マイコン1の電源入力部VCCへの動作電源V4の供給が止まり、マイコン1は完全に電源OFFする。このとき、スイッチ群SW1〜SWnへの動作電源V4の供給も停止する。
【0049】
そして、ステップST10において、所定の電源OFF時間の経過が確認される(Yes)まで、ステップST9,ステップST10が繰り返される。
【0050】
ステップST10において、所定の電源OFF時間の経過が確認される(Yes)と、ステップST11に移行し、間欠制御クロックC2は“H”に変化する。
【0051】
その結果、ステップST12において、論理回路出力信号S5が“L”から“H”に変化し、電源IC4が動作電源V4の生成を再開するため、マイコン1の電源入力部VCCへの動作電源V4の供給が再開し、マイコン1は電源ON復帰状態となる。
【0052】
そして、ステップST13において、マイコン1は不揮発性RAM15に格納された判別用データCD及び端子情報IPの読み出し処理を実行する。読み出し処理は不揮発性RAM15のブロックBK0の記憶領域MA1〜MAmのうち、最後に使用済み状態となっている記憶領域MAである読み出し対象記憶領域MArの格納データを判別用データCDとして読み出すことにより行われる。この際、当該格納データが判別用データCD及び端子情報IPの合成データである場合、端子情報IPも同時に読み出される。
【0053】
次に、ステップST21において、判別用データCDがセット状態である場合(Yes)、ステップST22以降の処理に移行する。一方、ステップST21において、判別用データCDがセット状態でない場合(No)、ステップST31以降のリセット動作及び定周期処理を行う。
【0054】
ステップST21でYesの場合に実行されるステップST22において、間欠用初期化処理を実行する。
【0055】
その後、ステップST23において、マイコン1は内部発振器11の動作クロックにより間欠時動作における起動要因のチェック動作を実行する。すなわち、現在のスイッチ群SW1〜SWnの状態を検知電圧V11〜V1nからなる端子情報IPとして認識する。
【0056】
そして、ステップST24において不揮発性RAM15から読み出された端子情報IPと、ステップST23においてスイッチ群SW1〜SWnから得られる端子情報IPとの比較結果に基づく、マイコン1の内部起動要因の有無を判断する。
【0057】
すなわち、上記比較結果において、端子情報IP内の検知電圧V11〜V1nのいずれかが変化しておれば起動要因有り(Yes)と判断し、検知電圧V11〜V1nのいずれの値も変化していなければ起動要因無し(No)と判断する。
【0058】
ステップST24でNoの場合、再び、ステップST8に戻り、間欠制御クロックC2をリセットして、マイコン1への動作電源V4の供給を完全遮断する処理に戻る。
【0059】
一方、ステップST24でYesの場合、マイコン1は通常モードに復帰すべく、ステップST25以降の処理を行う。
【0060】
まず、ステップST25において、マイコン1は電源制御端子PVを“H”にして、論理回路出力信号S5を“H”固定し、電源IC4から動作電源V4が常時、電源入力部VCCに供給されるようにする。
【0061】
その後、ステップST26において、マイコン1は切換回路制御端子PCを“L”にする。
【0062】
すると、ステップST27において、切換回路3は第1の切換設定から第2の切換設定(通常動作モード設定)に切り換わる。その結果、間欠動作用クロック生成部2が非動作状態となり間欠制御クロックC2の生成は終了し、切換回路出力信号S3が“L”固定される。
【0063】
その後、ステップST28において、マイコン1は不揮発性RAM15に書き込む判別用データCDをクリア状態に設定する第2の書込み処理を行い、ステップST32以降の定周期処理に移行する。
【0064】
クリア状態に設定する判別用データCDの不揮発性RAM15への書込みは、セット状態に設定する第1の書込み処理と同様、ブロックBK0のうち、記憶領域MA1,MA2,…の順にサーチして、未使用状態が最初に認識された記憶領域MAである書込み対象記憶領域MAwに対して行う。この際、上述した判別用データCD及び端子情報IP双方がいずれも認識可能な合成データでの読み書きを採用している場合、上記書込み対象記憶領域MAwに判別用データCD及び端子情報IPを含む合成データが書き込まれる。
【0065】
以下、ステップST21でNoの場合に実行されるリセット動作及び定周期処理について説明する。
【0066】
まず、ステップST31において、車載用ECU10が通常モード時に実行する種々のアプリケーション処理(アプリ処理)の初期化等の通常のリセット用初期化処理を実行する。そして、ステップST32〜ST38からなる定周期処理を実行する。
【0067】
まず、ステップST32において、通常モード時に車載用ECU10が実行する種々のアプリ処理等を実行する。
【0068】
そして、ステップST33において、「判別用データCDの書込みブロックであるブロックBK0の記憶領域MA1〜MAmの全てが使用済みである」という第1の一括消去動作実行条件と、「マイコン1内にある揮発性RAM(図示せず)内に格納する不揮発性RAM消去中フラグが“1”である」という第2の一括消去動作実行条件のうち、いずれかを満足するか否かをチェックする。
【0069】
第1の一括消去動作条件の成立は、ブロックBK0の記憶領域MA1〜MAmが全て使用済みの場合、次に第1あるいは第2の書込み処理を実行する際、判別用データCD(あるいは上記合成データ)の書込み先がなくなるため、不揮発性RAM15のブロックBK0の一括消去動作を行う必要があることを意味する。したがって、第1の一括消去動作条件成立によりが一括消去動作の起動条件となる。
【0070】
そして、ステップST33において、上述した第1及び第2の一括消去動作実行条件のいずれかを満足した場合(Yes)はステップST34に移行し、いずれも満足しなかった場合(No)は、一括消去動作を行う必要はないのでステップST3に戻る。
【0071】
ステップST33にYesの場合に実行されるステップST34において、不揮発性RAM消去中フラグを“1”にセットする。この不揮発性RAM消去中フラグは一括消去動作の実行中は“1”を示し、そうでない場合は“0”を示す。
【0072】
その後、ステップST35において、消去対象記憶領域に対し消去動作を行う。上記第1の一括消去動作条件成立直後は、消去位置カウンタCTは“1”に初期設定されているため、消去対象記憶領域である記憶領域MA1に対する消去動作を実行する。
【0073】
次に、ステップST36において、ブロックBK0の記憶領域MA1〜MAmの全ての消去が完了したか否か(ブロック消去完了の有無)をチェックし、ブロック消去完了が確認されれば(Yes)ステップST38に移行し、不揮発性RAM消去中フラグを“0”に戻した後、ステップST3に戻る。
【0074】
一方、ステップST36において、ブロック消去完了が確認されなければ(No)ステップS37に移行する。
【0075】
ステップST37において、マイコン1は内部の消去位置カウンタCTをインクリメントし、ステップST32の定周期処理に戻る。例えば、消去位置カウンタCT=1からCT=2にインクリメントされた後、定周期処理に戻る。
【0076】
すると、再び、ステップST32おいて、マイコン1はアプリ処理を実行する。したがって、マイコン1は不揮発性RAM消去中フラグ=“1”となる一括消去動作実行中においても、消去対象記録領域に対する消去動作終了毎にアプリ処理を実行することができる。
【0077】
次に、ステップST33において、上述した第1及び第2の一括消去動作条件のチェックがされる。例えば、記憶領域MA1の消去動作の終了直後(消去位置カウンタCT=2)であれば、第1の一括消去動作条件は不成立となるが、不揮発性RAM消去中フラグが“1”のため、第2の一括消去動作条件が成立するため、ステップST33はYesとなる。このように、第2の一括消去動作条件は一括消去動作の継続条件として働く。
【0078】
以降、記憶領域MAmまでの消去動作が終了し、ステップST36でブロック消去完了が確認されるまで、ステップST32〜ST37の処理が繰り返される。
【0079】
上述したように、実施の形態1の車載用ECU10は、間欠動作モード設定時において、マイコン1の動作不要時には電源入力部VCCへの動作電源V4の供給を完全に停止させることにより、マイコン1の消費電力を“0”に抑えることができる。
【0080】
加えて、実施の形態1の車載用ECU10は、マイコン1による間欠動作モード設定時の間欠時動作実行後に起動要因の発生を検知した場合、ステップST25〜ST28を実行することにより、単独で間欠動作モード設定から通常モード設定に復帰することができる。
【0081】
そして、車載用ECU10におけるマイコン1は、不揮発性RAM15に端子情報IPを書き込んだ後、間欠動作モード設定に移行し、間欠時動作における起動要因の有無をスイッチ群SW1〜SWnの経時変化の有無に基づき認識している。例えば、スイッチSW1がドアの開閉スイッチの場合、ドアが開状態から閉状態に変化したとき、あるいはドアが閉状態から開状態に変化したときのみ、起動要因有りと認識することができる。
【0082】
すなわち、実施の形態1の車載用ECU10におけるマイコン1は、電源OFF後に実行される間欠動作時においても、不揮発性RAM15の端子情報IPを活用することにより、車両に関連する状態の経時変化を起動要因として、確実に通常モード設定に復帰することができる。
【0083】
さらに、実施の形態1の車載用ECU10は、間欠動作モード(非通常モード)を指示するセット状態の判別用データCDを書込む第1の書込み処理、及び通常モードを指示するクリア状態の判別用データCDを書込む第2の書込み処理を共に個別書込み動作によって実現している。
【0084】
一括消去動作は比較的時間を要する(40mmsec程度)を要するが、個別書込み動作は一括消去動作に比べて数mmsec程度の短時間で実行可能である。したがって、同一フロックの同一の記憶領域MAに対し個別書込み及び一括消去動作を行って第1及び第2の書込み処理を行う場合に比べて時間短縮を図ることができる。
【0085】
このため、間欠時動作の実現に伴う間欠動作モード設定時(ステップST4)及び間欠動作モード設定から通常モード設定に改める時(ステップST28)における不揮発性RAM15へのアクセス時間を必要最小限に抑えることにより、間欠動作モード,通常モード間の切換時に実行される起動処理に要する時間を最小限に抑えることができる。
【0086】
さらに、実施の形態1の車載用ECU10において、一括消去動作は、マイコン1が通常モード設定時の定周期処理として実行されるため、間欠動作モード,通常モード間の切換時に実行される起動処理に影響を与えることなく、比較的時間を要する一括消去動作を行うことができる。
【0087】
加えて、実施の形態1の車載用ECU10は、記憶領域MAの消去毎に通常動作(ステップST32のアプリ処理)を実行可能に一括消去動作が行われるため、一括消去動作期間中においても支障なく通常動作を行うことができる。
【0088】
加えて、実施の形態1の車載用ECU10において、判別用データCDをセット状態及びクリア状態に設定する第1及び第2の書込み処理を記憶領域MA1〜MAmの順で行われ、ブロックBK0の記憶領域MA1〜MAmの全てが使用済み状態になるまで、ブロックBK0に対する一括消去動作は実行されない。このため、ブロックBK0内の記憶領域MA1〜MAmに判別用データCDを均一に分散記憶することができ、その結果、判別用データの書き換え回数の許容回数を大幅(一の記憶領域MAの許容書き換え回数×m倍)に向上させることができる。
【0089】
さらに、実施の形態1の車載用ECU10は、不揮発性RAM15から読み出した端子情報IPと、間欠時動作中に取得した端子情報IPとの比較結果に基づき起動要因の有無を検出することにより、間欠時動作を行っている。
【0090】
したがって、車載用ECU10は、車両に関連する状態の経時変化を起動要因として、確実にマイコンを起動させることができる効果を奏する。
【0091】
加えて、車載用ECU10は、端子情報IPの書込み処理を、判別用データCDを書込む第1及び第2の書込み処理に含ませているため、間欠動作モード,通常モード間の切換時に実行される起動処理に要する時間を最小限に抑えることができる。
【0092】
<実施の形態2>
図5はこの発明の実施の形態2である車載用ECUの内部構成を示すブロック図である。実施の形態2の車載用ECU20は、内部にマイコン1、間欠動作用クロック生成部2、切換回路3、電源IC4、通信部6、論理回路7、及び抵抗部8を有している。なお、図1で示した車載用ECU10と同様な構成は同一符号を付して説明を適宜省略する。
【0093】
通信部6は通信線9を介して外部の他の車載用ECU等と通信可能である。通信部6及び通信線9として、例えばCAN(Controller Area Network)IC及びCAN用の通信線(CAN−H,CAN−L)等が考えられる。この通信部6はマイコン1の通信用端子PTとの間でデータの送受信が可能である。また、通信部6の電源入力部VCCには電源線LVCを介して外部電源EVCが供給される。
【0094】
通信部6は「通信線9から所定期間信号入力が無い」等のスリープ条件の成立の有無を検知し、上記スリープ条件の成立を検出するとスリープ条件成立を指示する通信部情報D6をマイコン1の通信用端子PTに出力するとともに、通常は“H”の通信部出力信号S6を“L”に変化させる。
【0095】
さらに、通信部6は動作時において、通信部起動要因(第1の条件)を検出すると、通信部起動要因の発生を指示する通信部情報D6をマイコン1の通信用端子PTに出力するとともに、“H”の通信部出力信号S6を出力する。
【0096】
論理回路7は切換回路3からの切換回路出力信号S3、マイコン1の電源制御端子PVから得られるマイコン出力信号S1及び通信部6からの通信部出力信号S6を受け、マイコン出力信号S1、切換回路出力信号S3及び通信部出力信号S6のうち少なくとも一つが“H”の時“H”の論理回路出力信号S5を出力し、マイコン出力信号S1、切換回路出力信号S3及び通信部出力信号S6の全て“L”のとき、“L”の論理回路出力信号S5を出力する。なお、図示していないが論理回路7には常時電源が供給されている。
【0097】
図6は実施の形態2の車載用ECU20の間欠動作に関連する一連の処理の一部を示すフローチャートである。なお、図3及び図4で示したフローチャートと同内容の処理は同一符号を付して説明を適宜省略する。
【0098】
以下、図6及び実施の形態1で用いた図4を参照して、実施の形態2の車載用ECU20の間欠動作に関する一連の処理手順を説明する。
【0099】
まず、ステップST1において通信線9上におけるスリープ条件の成立を検出すると(Yes)、ステップST2に移行する。一方、スリープ条件が成立しない場合(No)、ステップST32以降の定周期処理(図4参照)に移行する。
【0100】
ステップST1でYesの場合に実行されるステップST2において、通信部6は通信部出力信号S6を“L”に設定するとともに、スリープ条件成立を指示する通信部情報D6をマイコン1の通信用端子PTに出力する。
【0101】
そして、ステップST3においてマイコン1は所定の電源OFF条件(第2の条件)の成立を認識すると(Yes)、通常動作から間欠動作に移行すべく、ステップST4以降の処理に移行する。一方、所定の電源OFF条件が成立しない場合(No)、ステップST32(図4参照)に移行する。
【0102】
したがって、ステップST3でYesとなるのは、通信線9上におけるスリープ条件が成立し(ステップST1でYes)、かつ、実施の形態1と同じ電源OFF条件が成立する場合である。
【0103】
すなわち、車載用ECU20において、通常モード設定から間欠動作モード設定に移行する条件(所定条件)は、通信部6の通信線9からの受信内容に関する第1の条件(スリープ条件)と、マイコン1内部における第2の条件(電源OFF条件)との組合せ条件となる。
【0104】
そして、実施の形態1と同様にステップST4を経た後、ステップST5において、マイコン1は電源制御端子PV(マイコン出力信号S1)を“L”にして、論理回路7の論理回路出力信号S7が切換回路出力信号S3(間欠制御クロックC2)の“H”,“L”で決定するようにする。
【0105】
その後、実施の形態1と同様、ステップST6,ステップST7を経た後、ステップST8において、間欠制御クロックC2が電源ON復帰によりリセットされて、初期状態“L”から始まる間欠制御クロックC2を生成する。このとき、マイコン出力信号S1、通信部出力信号S6及び切換回路出力信号S3(間欠制御クロックC2)が全て“L”となるため、論理回路出力信号S7は“L”となる。
【0106】
その結果、ステップST9において、電源IC4は動作電源V4の生成を停止するため、マイコン1の電源入力部VCCへの動作電源V4の供給が止まり、マイコン1は完全に電源OFFする。このとき、スイッチ群SW1〜SWnへの動作電源V4の供給も停止する。
【0107】
そして、ステップST10において、所定の電源OFF時間の経過が確認される(Yes)まで、ステップST9,ステップST10が繰り返される。
【0108】
ステップST10において、所定の電源OFF時間の経過が確認される(Yes)と、ステップST11に移行し、間欠制御クロックC2は“H”に変化する。
【0109】
その結果、ステップST12において、論理回路出力信号S7が“L”から“H”に変化し、電源IC4が動作電源V4の生成を再開するため、マイコン1の電源入力部VCCへの動作電源V4の供給が再開し、マイコン1及び通信部6は電源ON復帰状態となる。
【0110】
その後、実施の形態1と同様、ステップST13以降の処理が実行されるともに、ステップST21でYesの場合にステップST22後に実行されるステップST23において、マイコン1は内部発振器11の動作クロックにより間欠時動作を実行する。
【0111】
一方、外部電源EVCが常時供給されている通信部6は単独で通信線9より得られる信号に基づき通信部起動要因の有無を判定している。
【0112】
そして、ステップST24で、スイッチ群SW1〜SWnのいずれかの外部入力変化の有無に基づく、マイコン1の内部起動要因の有無を判断する。さらに、通信用端子PTより得られる通信部情報D6に基づき通信部起動要因の有無を認識する。そして、上記内部起動要因及び通信部起動要因のうち、少なくとも一つの要因が検出されたとき、起動要因有りと判断する。
【0113】
すなわち、スイッチ群SW1〜SWnのいずれかの外部入力変化が認識される、あるいは通信部情報D6が通信部起動要因を指示すれば起動要因有り(Yes)と判断し、そうでなければ動要因無し(No)と判断する。このように、ステップST24における起動要因の判断基準が実施の形態1と異なる。
【0114】
ステップST24でNoの場合、再び、ステップST8に戻り、間欠制御クロックC2をリセットして、マイコン1への動作電源V4の供給を完全遮断する処理に戻る。
【0115】
一方、ステップST24でYesの場合、実施の形態1と同様、ステップST25〜ST28の処理を終えた後、ステップST31〜ST38の処理に移行する。
【0116】
このように、車載用ECU20における電源IC4は、間欠動作モード設定時において電源供給制御信号となる論理回路出力信号S7(=間欠制御クロックC2)が電源オン期間を指示する“H”ときにのみマイコン1に動作電源V4の供給を行うため、間欠動作モード設定時におけるマイコン1の消費電力を最小限に抑えながら、マイコン1に内部起動要因の有無を検出する間欠時動作を実行させることができる。
【0117】
すなわち、実施の形態2の車載用ECU20は、間欠動作モード設定時において、マイコン1の動作不要時には電源入力部VCCへの動作電源V4の供給を完全に停止させることにより、マイコン1の消費電力を“0”に抑えることができる。マイコン1の消費電力は車載用ECU20全体の消費電力における主要な割合を占めるため、マイコン1の動作不要時に消費電力を“0”に抑えることにより、車載用ECU20全体の低消費電力化を効果的に図ることができる。
【0118】
また、実施の形態2の車載用ECU20は、実施の形態1の車載用ECU10で述べた同様な効果も併せて奏する。
【0119】
さらに、実施の形態2の車載用ECU20は、マイコン1の内部要因に加えて、通信線9より得られる外部情報によって、間欠動作モード設定を行うことができる。
【0120】
加えて、通信部6は間欠動作モードから通常モードへの戻すモード変換機能を有することにより、マイコン1によらず通信部6単独で電源IC4をON状態に復帰させることができる効果を奏する。
【0121】
<実施の形態3>
図7はこの発明の実施の形態3である車載用ECUの内部構成を示すブロック図である。実施の形態3の車載用ECU30は、内部にマイコン101、外部変化検出部103、及び電源IC104(電源部)を有している。
【0122】
マイコン101は内部に内部発振器111、CPU112及び不揮発性RAM115を有する。不揮発性RAM115は図2で示した実施の形態1のマイコン1で用いられる不揮発性RAM15と等価な構成を呈しており、フラッシュメモリ等の名称で呼ばれ、一のブロックBKに対する一括消去動作と、あるブロックBK内における一の記憶領域MAに対する個別書込み動作が可能である。
【0123】
マイコン101は電源入力部VCCへの動作電源V104の供給時に動作状態となり、動作状態時に内部発振器111により発生されるクロックでCPU112が動作し、CPU112の制御下で図示しないスイッチ群で検出される車両に関する外部入力を監視し、当該スイッチ群のいずれかから外部入力(の発生)を検出すると、検出した外部入力内容に応じた所定の動作制御を行う。なお、スイッチ群は車両における環境変化を外部入力として取り込めれば良く、パワーウィンドウのスイッチ入力等、一般的なスイッチは勿論、センサ等を含む。
【0124】
さらに、CPU112はマイコンOFFモード移行時における電源OFFモードを指示する判別用データCDの不揮発性RAM115への書込み、電源ON復帰時における不揮発性RAM115から読み出した判別用データCDの内容チェック処理及び必要に応じて通常動作モードを指示する判別用データCDの不揮発性RAM115への書込みを行う。
【0125】
電源IC104は内部に内部発振器141、CPU142及び通信部146を有する。動作状態時に内部発振器141により発生されるクロックでCPU142が動作する。
【0126】
電源IC104は通常モード時に、電源入力部VIより電源線LVCから外部電源EVCを電圧変換して電源出力部VO1から動作電源V104をマイコン101の電源入力部VCCに供給する。このとき、電源出力部VO2からの外部変化検出部103の電源入力部VCCへの電源供給は行わない。
【0127】
電源IC104は制御入力部VCにマイコン101の電源制御端子PVが接続され、制御入力部VCが“L”の時、通常動作モードからマイコンOFFモードに切り換え、電源出力部VO1からの動作電源V104の供給を停止する。このとき、電源出力部VO2からの外部変化検出部103の電源入力部VCCへの電源供給を行う。
【0128】
電源IC104はマイコンOFFモード時において、外部変化検出部103より受ける検出信号S103をCPU142の入力端子PIに受け、CPU142の制御下で検出信号S103に基づき、マイコンOFFモードから通常動作モードに改める。
【0129】
通信部146は通信線9を介して外部の他の車載用ECU等と通信可能である。通信部146及び通信線9として、例えばCANIC及びCAN用の通信線(CAN−H,CAN−L)等が考えられる。この通信部146はマイコン101の通信用端子PTとの間でデータの送受信が可能である。
【0130】
通信部146は「通信線9から所定期間信号入力が無い」等のスリープ条件の成立の有無を検知し、上記スリープ条件(第1の条件)の成立を検出するとスリープ条件成立を指示する通信部情報D146をマイコン101の通信用端子PTに出力する。
【0131】
さらに、通信部146は動作時において、マイコンOFFモード時に通信部起動要因を検出すると、CPU142の制御下で通常動作モードに改められる。
【0132】
外部変化検出部103はマイコンOFFモード時に電源IC104の電源出力部VO2より電源入力部VCCに電源供給を受けて動作状態となる。
【0133】
図8は外部変化検出部103の内部構成を示す回路図である。同図に示すように、外部変化検出部103は、複数のスイッチ群XSW1〜XSWnと論理回路135とから構成される。スイッチ群XSW1〜XSWnはマイコン101に用いられるスイッチ群(マイコン1のスイッチ群SW1〜SWnに相当)と基本的に等価な構成を呈しており、車両における環境変化を示す外部入力内容に応じてON/OFF状態となる。例えば、スイッチXSW1がドアスイッチの場合、ドア「開」/ドア「閉」状態でON/OFF状態となる。すなわち、スイッチ群XSW1〜XSWnのON/OFF状態が車両に関連する外部入力内容を示す外部入力情報となる。
【0134】
スイッチ群XSW1〜XSWnはそれぞれ一端が接地され、他端はそれぞれ電源入力部VCCにプルアップ抵抗R1〜Rnを介して共通接続される。スイッチ群XSW1〜XSWnの他端側の配線L1〜Lnは論理回路135の入力に接続される。
【0135】
論理回路135は配線L1〜Lnの信号を受け、配線L1〜Lnの全てが“H”のとき、“L”となり、配線L1〜Lnのいずれかが“L”のとき(スイッチ群XSW1〜XSWnのいずれかがON状態のとき)“H”となる検出信号S103を出力する。したがって、検出信号S103の“L”から“H”への立ち上がりエッジを検出することにより、スイッチ群XSW1〜XSWnのいずれかのOFF状態からON状態への変化を検出することができる。
【0136】
ここで、スイッチ群XSW1〜XSWnのいずれかがOFF状態からON状態への変化が、マイコンOFFモードで電源OFF状態のマイコン101の起動要因とすべき起動要因変化となるように設定している。
【0137】
このように、外部変化検出部103は、スイッチ群XSW1〜XSWnのいずれかがOFF状態からON状態に変化したとき、検出信号S103を“L”から“H”に変化させる“H”立ち上がり変化を呈することにより、検出信号S103によって、外部入力情報(スイッチ群XSW1〜XSWnのON/OFF状態)におけるマイコン101の起動要因とすべき起動要因変化を指示することができる。
【0138】
図9は実施の形態3の車載用ECU30のマイコンOFFモードに移行する処理を示すフローチャートである。
【0139】
まず、ステップST51において、電源IC104の通信部146が通信線9上におけるスリープ条件(第1の条件)の成立を検出すると(Yes)、ステップST52に移行する。一方、スリープ条件が成立しない場合(No)、ステップST51が繰り返され、車載用ECU30は通常動作を続ける。
【0140】
ステップST51でYesの場合に実行されるステップST52において、通信部146はスリープ条件成立を指示する通信部情報D6をマイコン101の通信用端子PTに出力する。
【0141】
そして、ステップST53においてマイコン101は、マイコン101の不要判定条件である所定の電源OFF条件(第2の条件)の成立を認識すると(Yes)、通常動作モードからマイコンOFFモードに移行すべく、ステップST54以降の処理に移行する。すなわち、上記第1及び第2の条件からなる組合せ条件が成立するとステップST54以降の処理に移行する。
【0142】
一方、所定の電源OFF条件が成立しない場合(No)、ステップST51に戻り、車載用ECU30は通常動作を続行する。
【0143】
ステップST53でYesの場合に実行されるステップST54において、マイコン101は電源OFF状態に移る準備処理として不揮発性RAM115に書き込む判別用データCDをセット状態(マイコンOFFモードを指示)に設定する、判別用データCDの書込み処理を実行する。
【0144】
セット状態に設定する判別用データCDの不揮発性RAM115への書込みは、実施の形態1と同様、不揮発性RAM115におけるブロックBK0のうち、記憶領域MA1,MA2,…の順にサーチして、未使用状態が最初に認識された記憶領域MAである書込み対象記憶領域MAw(w=1〜mのいずれか)に対して行う。
【0145】
次に、ステップST55において、マイコン101は電源制御端子PV(マイコン出力信号S1)を“L”にして、電源IC104に通常動作モードからマイコンOFFモードへの変更を指示する。
【0146】
その後、ステップST56において、電源IC104はマイコン101の動作電源V104の供給を停止し、マイコン101は電源OFF状態となる。
【0147】
以降、マイコン101は完全に動作を停止する。電源IC104は外部変化検出部103の検出信号S103を監視し、検出信号S103の“H”立ち上がり(スイッチ群XSW1〜XSWnによる外部入力情報における起動要因変化)を検知するまで、マイコンOFFモードも維持し、マイコン101は電源OFF状態である。
【0148】
そして、電源IC104は、検出信号S103の“H”立ち上がりを検知すると,マイコンOFFモードから通常動作モードに改め、マイコン101への動作電源V104の供給を再開し、マイコン101を動作状態に復帰させる。
【0149】
一方、電源IC104内の通信部146は単独で通信線9より得られる信号に基づき通信部起動要因の有無を判定している。
【0150】
したがって、マイコンOFFモード時において、通信部146が通信部起動要因を判定したとき、その判定結果をCPU142に通知することにより、CPU142の制御下で、通常動作モードに改め、マイコン101への動作電源V104の供給を再開することができる。
【0151】
図10は実施の形態3における電源ON直後のマイコン101の動作を示すフローチャートである。
【0152】
同図に示すように、ステップST61において、マイコン101は不揮発性RAM115から判別用データCDを読み出す。
【0153】
読み出し処理は不揮発性RAM115のブロックBK0の記憶領域MA1〜MAmのうち、記憶領域MA1〜MAmの順でサーチして、最後に使用済み状態となっている記憶領域MAである読み出し対象記憶領域MArの格納データを判別用データCDとして読み出す。
【0154】
次に、ステップST62において、判別用データCDがセット状態である場合(Yes)、ステップST63に移行する。一方、ステップST62において、判別用データCDがセット状態でない場合(No)、ステップST64に移行する。
【0155】
ステップST62でYesの場合に実行されるステップST63において、マイコン101は不揮発性RAM115に書き込む判別用データCDをクリア状態に設定する第2の書込み処理を行い終了する(通常動作に戻る)。
【0156】
クリア状態に設定する判別用データCDの不揮発性RAM115への第2の書込み処理は、実施の形態1と同様、不揮発性RAM115におけるブロックBK0のうち、記憶領域MA1,MA2,…の順にサーチして、未使用状態が最初に認識された記憶領域MAである書込み対象記憶領域MAw(w=1〜mのいずれか)に対して行う。
【0157】
ステップST62でNoの場合に実行されるステップST64において、車載用ECU10が通常モード時に実行する種々のアプリケーション処理(アプリ処理)の初期化等の通常のリセット用初期化処理を実行し終了する。
【0158】
このように、検出信号S103がスイッチ群XSW1〜XSWnによる外部入力情報の起動要因変化を指示するとき、あるいは通信部146が通信部起動要因を指示するとき、電源IC104はCPU142の制御下でマイコンOFFモードから通常動作モードに改める。
【0159】
したがって、電源IC104は、マイコンOFFモード設定時においてマイコン101への動作電源V104の供給を完全に遮断するため、マイコンOFFモード設定時におけるマイコン101の消費電力を“0”に抑えることができる。そして、電源IC104は検出信号S103を監視することにより、車両に関連する外部入力内容を示す外部入力情報(スイッチ群XSW1〜XSWnのON/OFF状態)における起動要因とすべき起動要因変化を検出して、適切なタイミングでマイコンOFFモードから通常動作モードに改めることができる。
【0160】
マイコン101のCPU112は、電源IC104のCPU142より回路構成が大きく、マイコン101の消費電力は車載用ECU30全体の消費電力における主要な割合を占めるため、マイコンOFFモード時に消費電力を“0”に抑えることにより、車載用ECU30全体の低消費電力化を効果的に図ることができる。
【0161】
加えて、実施の形態3の車載用ECU30の電源IC104は、マイコンOFFモード設定時において、検出信号S103に基づき起動要因変化を検知した場合、電源IC104単独でマイコンOFFモード設定から通常モード設定に復帰することができる。
【0162】
さらに、実施の形態3の車載用ECU30の電源IC104は、マイコン101の内部要因に加えて、通信部146によって通信線9より得られる外部情報によって、マイコンOFFモード設定を行うことができる。
【0163】
加えて、通信部146による通信起動要因の判定時においても、マイコン101によらず電源IC1046単独で通常動作モードに復帰させることができる効果を奏する。すなわち、通信部146は、CPU142に通信起動要因判定を通知することにより、マイコンOFFモードから通常動作モードに設定変更可能なモード変換機能を有している。
【0164】
すなわち、マイコン101の内部要因(第2の条件)に加えて、外部情報(第1の条件)によって、マイコンOFFモード設定を行うとともに、マイコンOFFモード設定から通常モード設定への解除設定を行うことができる。
【0165】
なお、外部変化検出部103はマイコンOFFモード時のみ、電源IC104より電源供給を受けたが、常時電源供給を受けるように構成しても良い。すなわち、外部変化検出部103は、少なくともマイコンOFFモード時に動作状態となればよい。
【0166】
<判別用データCDの書き換え回数の確保>
図11は実施の形態1〜実施の形態3のマイコン1(101)に内蔵した不揮発性RAM15(115)の内部構成を示す説明図である。同図に示すように、不揮発性RAM15はブロックBK0〜BKnに区分され、各ブロックBKにKバイト(例えば32バイト(byte))割り当てられる。
【0167】
マイコン1(101)に内蔵される不揮発性RAM15(115)は処理速度や実装面積の効率化の点で優れているが、マイコン1に内蔵という制約を受け不揮発性RAM15内の格納領域を有効利用できない可能性がある。
【0168】
特に、判別用データCDのように、セット状態であるかクリア状態であるかを示すフラグデータはデータ長が1ビット〜1バイト程度で抑えられる反面、書き換え回数が比較的多く、不揮発性RAM15の許容書き換え回数を超えて使用され使用不能となると、不揮発性RAM15を内蔵するマイコン1自体が使用不能となってしまう懸念材料がある。この懸念材料は車載用ECU10〜30が搭載される車両の寿命により不揮発性RAM15の寿命が短い場合に顕著となる。
【0169】
通常、車両寿命より長く不揮発性RAM15の寿命を持たせるための不揮発性RAM基準を満足するには、50万回程度の書き換え回数を確保する必要がある。しかしながら、一般的な不揮発性RAM15では、書き換え回数は同一記憶領域において10万回程度がせいぜいであるため、単純に不揮発性RAM15の同一記憶領域に判別用データCDを書き換える方法では上述した不揮発性RAM基準を満足させることはできない。
【0170】
一方、車載用ECU10〜30で用いられる不揮発性RAM15(115)には、上述した端子情報IPに加え、車両情報を記憶する必要があるため、判別用データCD用に多くのブロックBKを割り当てることは困難である。また、判別用データCD用に多くのブロックBLを割り当てるため不揮発性RAM15の記憶領域を拡張することはコストアップにつながるため現実的ではない。すなわち、不揮発性RAM15において判別用データCD用には必要最小限のブロックBKを割り当てる必要がある。
【0171】
一方、実施の形態1〜実施の形態3では、判別用データCDに対し一のブロックBK0を割り当て、第1及び第2の書込み処理を記憶領域MA1,MA2,…,MAmの順で行っている(図2等参照)。このように、ブロックBK0の記憶領域MA1〜MAmに対する分散書込みを実現しているため、判別用データCDの書き換え回数をm×10万回に増やすことができる。
【0172】
したがって、記憶領域MAの大きさを2バイトとすると、図11の例でK=32バイトの場合、m=16となり、判別用データCDに関し160万回の書き換え回数が許容されるため、上記不揮発性RAM基準を満足することができる。
【0173】
このように、実施の形態1〜実施の形態3の車載用ECU10〜30は、判別用データCDの書き換え回数強化処理が図られている。
【0174】
<実施の形態4>
実施の形態4は実施の形態1〜実施の形態3の車載用ECU10〜30それぞれにおける上述した判別用データCDの書き換え回数強化処理のさらなる改善を図った車載用ECUである。したがって、車載用ECU10〜30のいずれにおいても、実施の形態4の判別用データCDの書き換え回数強化処理を適用することができる。
【0175】
図12は実施の形態4の車載用ECUにおける不揮発性RAM15(115)における判別用データCD用のブロックBK割り当て内容を示す説明図である。
【0176】
同図に示すように、判別用データCDの格納用にブロックBK0及びBK1を割り当てている。そして、ブロックBK0及びBK1それぞれにおいて、記憶領域MA1を消去兼使用フラグEUFに割り当て、記憶領域MA2〜MAmを判別用データ領域ACDに割り当てている。なお、図12において、m=16の場合を示している。
【0177】
したがって、2バイトの消去兼使用フラグEUFにより、当該ブロックBKが「消去中」、「使用中」及び「非消去未使用状態」のうちいずれであるかを指示することができる。
【0178】
一方、判別用データ領域ACDにおける記憶領域MA2〜MAmに対する書込み順は、記憶領域MA2,MA2,…,MAmの順となる。すなわち、消去兼使用フラグEUFが使用中を指示するブロックBKi(i=0,1のいずれか)のうち、判別用データ領域ACDの記憶領域MA2〜MAmをMA2,MA2,…,MAmの順でサーチして、最初に未使用と認識された記憶領域MAを書込み対象記憶領域MAwとして判別用データCDを書き込む。
【0179】
また、判別用データCDの読み出し処理は、不揮発性RAM15(115)の使用中ブロックBKiの記憶領域MA2〜MAmのうち、最後の使用済み状態となっている記憶領域MAである読み出し対象記憶領域MArの格納データを判別用データCDとして読み出すことにより行われる。
【0180】
図13は判別用データCD用のフロック群を構成するブロックBK0及びBK1それぞれの状態MCを表形式で示す説明図である。同図に示すように、消去兼使用フラグEUFに示す状態(消去中、使用中、(非消去)未使用)と判別用データ領域ACDの状態(全未使用、一部使用、全使用済み)との組合せにより9個の状態MC1〜MC9に分類される。
【0181】
なお、全未使用とは、判別用データ領域ACD内の記憶領域MA2〜MAmが全て消去後に書込みがなされていない状態(0xFFFF)を意味する。一部使用とは判別用データ領域ACD内の記憶領域MA2〜MAmの一部に書込み(“1”,“0”の設定、例えば“1”をセット状態、“0”をクリア状態とする等)、他の一部が(0xFFFF)状態であることを意味する。全使用とは、判別用データ領域ACD内の記憶領域MA2〜MAmが全て書込まれている状態(“1”,“0”の設定)を意味する。
【0182】
図14は実施の形態4の車載用ECUで行われる不揮発性RAM15における判別用データCD用のブロック群(ブロックBK0及びBK1)の管理方法を示すフローチャートである。以下、同図を参照して管理方法の処理手順を説明する。
【0183】
まず、ステップST71において、不揮発性RAM15の初期化処理を行い、ブロックBK0及びBK1を初期化する。通常この処理は工場出荷時等の最初に一回だけ行われる。
【0184】
次に、ステップST72において、初期設定として、ブロックBK0を使用ブロックに設定する。すなわち、ブロックBK0の消去兼使用フラグEUFに「使用中」を設定する。一方、ブロックBK1の消去兼使用フラグEUFは消去直後の内容である「(非消去)未使用」となっている。
【0185】
そして、ステップST73で実施の形態1〜実施の形態3の車載用ECU10〜30の判別用データCDの書込み処理(第1及び第2の書込み処理)の必要性の有無をチェックする。すなわち、第1及び第2の書込み処理の実行の有無をチェックする。ステップST73は判別用データCDの書込み処理の必要性が有ると判断されるまで繰り返し継続される。
【0186】
ステップST73で第1及び第2の書込み処理の実行の必要性がチェックされる(Yes)と、ステップST74で使用ブロックであるブロックBK0が状態MC6(使用中で記憶領域MAが全て使用済み)であるか(Yes)否か(No)がチェックされる。
【0187】
ステップST74でNoの場合に実行されるステップST75において、使用ブロックに未使用の記憶領域MAが残存しているため、使用ブロックであるブロックBK0に対する判別用データCDの書込みが行われる。この際、判別用データ領域ACDの記憶領域MA2〜MAmをMA2,MA2,…,MAmの順でサーチして、最初に未使用と認識された記憶領域MAを書込み対象記憶領域MAwとして判別用データCDを書き込みが行われる。その後、ステップST73に戻り、再び、第1あるいは第2の書込み処理の実行の必要性を待つ。
【0188】
ステップST74でYesの場合に実行されるステップST76において、使用ブロックの記憶領域MA2〜MAmが全て使用済みであり、未使用の記憶領域MAが残存していないため、使用ブロックを一方のブロックBK0から他方のブロックBK1に切り換える。すなわち、ブロックBK0の消去兼使用フラグEUFは「使用中」の内容を「消去中」に書き換えられ、ブロックBK1の消去兼使用フラグEUFは「未使用」から「使用中」に書き換えられる。
【0189】
そして、ステップST75において、新たに使用ブロックとなったブロックBK1に対し、判別用データCDの書込み処理が行われ、ステップST73に戻る。
【0190】
一方、ステップST77において、新たに要消去ブロックとなったブロックBK0に対し一括消去動作が実行される。この一括消去動作は、図4で示した定周期処理のように、マイコン1(101)の通常動作時に行う。ただし、消去順は判別用データ領域ACDの記憶領域MA2〜記憶領域MAm、次いで、消去兼使用フラグEUFの記憶領域MA1MA1の順で行われる。
【0191】
図15は図14で示した実施の形態4の不揮発性RAM管理方法による不揮発性RAM15(115)の使用による状態変化を模式的に示す説明図である。以下、同図及び図14を参照して不揮発性RAM15の使用例を説明する。同図(a) はマイコン1(101)のイベント変化を示しており、同図(b) はブロックBK0及びBK1の状態変化を示している。
【0192】
まず、イベントEV0の工場出荷時に不揮発性RAM15の初期化処理を行われる。その結果、ステップST72(図14参照)の実行によって、ブロックBK0が使用ブロック(消去兼使用フラグEUFが「使用中」を指示)となり、BK1は未使用ブロック(消去兼使用フラグEUFが「未使用」を指示)となる。したがって、ブロックBK0は状態MC4、ブロックBK1は状態MC7となる。
【0193】
マイコン1(101)におけるスリーブOK(図1,図6のステップST3のYes時、図9のステップST51のYes時)をトリガとして、イベントEV1において、ステップST75(図14参照)を実行して、セット状態の判別用データCDを不揮発性RAM15に書き込む。この際、使用フロックであるブロックBK0に対する書込みが行われる。その結果、ブロックBK0は状態MC4から状態MC5に変化する。
【0194】
マイコン1(101)におけるウェイク条件成立(図4のステップST24のYes時、図10のステップST62のYes時)をトリガとして、イベントEV2において、ステップST75(図14参照)を実行して、クリア状態の判別用データCDを不揮発性RAM15に書き込む。この際、使用フロックであるブロックBK0に対する書込みが行われる。その結果、ブロックBK0は未使用の記憶領域MAを減少させながら状態MC5を維持する。なお、ブロックBK1は状態MC7のままである。
【0195】
そして、イベントEV1,イベントEV2と同様なイベントが繰り返された後、スリーブOKをトリガとして、イベントEV3において、ステップST75(図14参照)を実行して、セット状態の判別用データCDを不揮発性RAM15に書き込む。この際、使用フロックであるブロックBK0に対する書込みが行われる。その結果、ブロックBK0は全ての記憶領域MA2〜MAmが使用済みとなる状態MC6に達する。なお、ブロックBK1は状態MC7のままである。
【0196】
その後、マイコン1におけるウェイク条件成立をトリガとして、イベントEV4において、クリア状態の判別用データCDを不揮発性RAM15に書き込む。この際、使用フロックであるブロックBK0は状態MC6であるので、ステップST76で使用ブロックをブロックBK1に切り換えた後、ブロックBK1に対する書込みが行われる。すなわち、ブロックBK0の消去兼使用フラグEUFが「消去中」に書き換えられ、ブロックBK1の消去兼使用フラグEUFが「使用中」に書き換えられる。その結果、ブロックBK1は状態MC7から状態MC4を経て状態MC5に変化する。なお、ブロックBK0は状態MC3に変化する。
【0197】
さらに、ブロックBK0に対しては、マイコン1の通常動作時に図4で示した定周期処理による一括消去動作が実行され、状態が状態MC3から状態MC2を経て状態MC1となる。
【0198】
ブロックBK0の一括消去動作の終了後において、マイコン1はスリーブOKをトリガとして、イベントEV5において、ステップST75(図14参照)を実行して、セット状態の判別用データCDを不揮発性RAM15に書き込む。この際、使用フロックであるブロックBK1に対する書込みが行われる。その結果、ブロックBK1は未使用の記憶領域MAを減少させながら状態MC5を維持する。一方、ブロックBK0は一括消去動作が完了したため、消去兼使用フラグEUFが消去直後の内容である「未使用」に設定され、状態MC7となる。すなわち、ブロックBK0の消去兼使用フラグEUFの「未使用」設定は、例えば、実施の形態1の図4で示すステップST35において記憶領域MA1の消去兼使用フラグEUFの初期化動作によって行われる。
【0199】
このように、実施の形態4の不揮発性メモリ管理方法を採用した車載用ECUは、ブロックBK0及びBK1からなるブロック群のうち使用ブロック内の判別用データ領域ACDの記憶領域MA2〜MAmが全て書込まれた全使用済み状態のとき、使用ブロックを要消去ブロック(消去中)とし、上記ブロック群のうち他のブロックを新たな使用ブロックとして切り換え設定可能である。
【0200】
したがって、いかなるタイミングで第1及び第2の書込み処理が実行されても、遅延無く速やかに判別用データCDを不揮発性RAM15(115)に書込みことができるため、非通常モード(間欠動作モード,電源OFFモード)設定時及び非通常モード設定から通常モード設定に改める時における不揮発性メモリへのアクセス時間のさらなる向上を図ることができる。
【0201】
加えて、上記ブロック群内において使用ブロックは全使用済み状態になるまで他のブロックに切り換えられないため、上記ブロック群の各ブロック内の判別用データ領域ACD内の記憶領域MA2〜MAm内に判別用データCDを均一に分散記憶することができ、その結果、判別用データCDの書き換え回数の許容回数を大幅に向上させることができる。
【0202】
例えば、図12で示すブロックBK0及びBK1の場合、一の記憶領域MAの許容書き換え回数を10万回とすると、10万×15×2の300万回の判別用データCDの許容書き換え回数を確保することができる。
【0203】
また、実施の形態1〜実施の形態3で述べた通り、実施の形態4においても、一括消去動作は、マイコンが通常モード設定時に実行されるため、非通常モード,通常モード間の切換時に実行される起動処理に影響を与えることなく、比較的時間を要する一括消去動作を行うことができる。
【0204】
さらに、実施の形態1〜実施の形態3で述べた通り、実施の形態4においても、一記憶領域の消去毎に通常動作を実行可能に一括消去動作が行われるため、一括消去動作期間中においても支障なく通常動作を行うことができる。
【0205】
実施の形態4では、消去兼使用フラグEUFとして一つの記憶領域MA1を割り当て、記憶領域MA1に対し「使用中」書込みに加え、「消去中」書込み行っている。この方法に代えて、消去兼使用フラグEUFとして二つの記憶領域MA1及びMA2を割り当て、「使用中」書込みを記憶領域MA1に、「消去中」書込みを記憶領域MA2に対して行うようにしても良い。
【0206】
<その他>
この発明は、単体の車載用ECUに適用することができ、マイコン1(101)を間欠動作させる必要のある全ての車載用ECUに適用することができる。すなわち、車載用ECUとして走行中に用いる、停車中に用いる等の種類に関係なく本発明を適用可能である。
【0207】
図5で示した実施の形態2の構成では、通信部6の通信部出力信号S6を論理回路7に入力することにしたが、スリープ条件や通信部起動要因の有無を指示する通信部情報D6に基づき、マイコン1が電源制御端子PV(マイコン出力信号S1)や切換回路制御端子PCを設定することにより、通信部出力信号S6を用いることなく車載用ECU20と等価なECUを実現することができる。
【0208】
また、車載用ECU10あるいは車載用ECU20における間欠動作用クロック生成部2を他のマイコン(CPU)で代用することもできる。すなわち、マイコン1に比べ消費電力が小さい上記他のマイコンを間欠動作用クロック生成部2として用いることにより間欠動作モード設定時における消費電力を抑えることができる。この場合、間欠動作モード設定時だけでなく通常モード設定時においても上記他のマイコンを活用することができる。
【0209】
また、図1及び図5で示した構成では、マイコン1自体が、スイッチ群SW1〜SWnの状態に基づき検知電圧V11〜V1nを設定していた。この構成以外にも、スイッチ群SW1〜SWnの状態に基づき、検知電圧V11〜V1nを生成する検知電圧発生回路を、スイッチ群SW1〜SWnとマイコン1との間に設けるように構成することも可能である。
【符号の説明】
【0210】
1,101 マイコン
2 間欠動作用クロック生成部
3 切換回路
4,104 電源IC
5 論理回路
6 通信部
7 論理回路
8 抵抗部
9 通信線
10,20,30 車載用ECU
15,115 不揮発性RAM
103 外部変化検出部
【特許請求の範囲】
【請求項1】
動作電源の供給時に動作状態となり、動作中において所定条件成立時に、非通常モード設定を行うマイコンと、
通常モード設定時において前記マイコンに前記動作電源を供給し、前記非通常モード設定時において少なくとも一部期間において前記マイコンへの前記動作電源の供給を停止する電源部とを備え、
前記マイコンは内部に不揮発性メモリを有し、前記不揮発性メモリは、各々が複数の記憶領域からなる少なくとも2つのブロックそれぞれに対する一括消去動作、及び前記記録領域単位の個別書込み動作が可能であり、
前記マイコンは、
前記非通常モード設定時に、前記個別書込み動作によって、非通常モードを指示する判別用データを書込む第1の書込み処理を実行し、
前記非通常モード設定から前記通常モード設定に改める際、前記個別書込み動作によって、前記通常モードを指示する前記判別用データを書込む第2の書込み処理を実行し、
前記動作電源の供給開始時において、前記不揮発性メモリ内の前記判別用データを参照して、前記非通常モード設定及び通常モード設定のうち一方の設定を認識し、
前記第1及び第2の書込み処理は、前記少なくとも2つのブロックからなるブロック群のうち一のブロックを使用ブロックとして設定し、該使用ブロックにおける前記一括消去動作後に書込みが一度も行われていない未使用の前記記憶領域に対する前記個別書込み動作によって行われ、
前記使用ブロック内の複数の記憶領域が全て書込まれた全使用済み状態のとき、前記使用ブロックを要消去ブロックとし、前記ブロック群のうち他のブロックを新たな使用ブロックとして切り換え設定可能なことを特徴とする、
車載用ECU。
【請求項2】
請求項1記載の車載用ECUであって、
前記一括消去動作は前記記憶領域単位で順次消去されることにより行われ、
前記一括消去動作は、前記マイコンが通常モード設定時に、前記要消去ブロックに対し前記記憶領域の消去完了毎に通常動作が実行可能に行われる、
車載用ECU。
【請求項1】
動作電源の供給時に動作状態となり、動作中において所定条件成立時に、非通常モード設定を行うマイコンと、
通常モード設定時において前記マイコンに前記動作電源を供給し、前記非通常モード設定時において少なくとも一部期間において前記マイコンへの前記動作電源の供給を停止する電源部とを備え、
前記マイコンは内部に不揮発性メモリを有し、前記不揮発性メモリは、各々が複数の記憶領域からなる少なくとも2つのブロックそれぞれに対する一括消去動作、及び前記記録領域単位の個別書込み動作が可能であり、
前記マイコンは、
前記非通常モード設定時に、前記個別書込み動作によって、非通常モードを指示する判別用データを書込む第1の書込み処理を実行し、
前記非通常モード設定から前記通常モード設定に改める際、前記個別書込み動作によって、前記通常モードを指示する前記判別用データを書込む第2の書込み処理を実行し、
前記動作電源の供給開始時において、前記不揮発性メモリ内の前記判別用データを参照して、前記非通常モード設定及び通常モード設定のうち一方の設定を認識し、
前記第1及び第2の書込み処理は、前記少なくとも2つのブロックからなるブロック群のうち一のブロックを使用ブロックとして設定し、該使用ブロックにおける前記一括消去動作後に書込みが一度も行われていない未使用の前記記憶領域に対する前記個別書込み動作によって行われ、
前記使用ブロック内の複数の記憶領域が全て書込まれた全使用済み状態のとき、前記使用ブロックを要消去ブロックとし、前記ブロック群のうち他のブロックを新たな使用ブロックとして切り換え設定可能なことを特徴とする、
車載用ECU。
【請求項2】
請求項1記載の車載用ECUであって、
前記一括消去動作は前記記憶領域単位で順次消去されることにより行われ、
前記一括消去動作は、前記マイコンが通常モード設定時に、前記要消去ブロックに対し前記記憶領域の消去完了毎に通常動作が実行可能に行われる、
車載用ECU。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2013−82375(P2013−82375A)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2011−224621(P2011−224621)
【出願日】平成23年10月12日(2011.10.12)
【出願人】(395011665)株式会社オートネットワーク技術研究所 (2,668)
【出願人】(000183406)住友電装株式会社 (6,135)
【出願人】(000002130)住友電気工業株式会社 (12,747)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願日】平成23年10月12日(2011.10.12)
【出願人】(395011665)株式会社オートネットワーク技術研究所 (2,668)
【出願人】(000183406)住友電装株式会社 (6,135)
【出願人】(000002130)住友電気工業株式会社 (12,747)
[ Back to top ]