(57)【特許請求の範囲】
【請求項１】
外部信号に応じて動作及び動作を停止する制御部（１０）と、
前記制御部の動作中及び停止中にかかわらず時間を計測し、計測時間が前記制御部から設定された設定時間に達すると前記制御部を起動させる計時部（２０）と、
前記計時部と別体に設けられ、前記制御部の動作中及び停止中にかかわらず記憶内容を保持でき、前記制御部が前記計時部に設定した前記設定時間を記憶する記憶部（１１）と、を備えた電子制御装置であって、
前記制御部は、前記設定時間として前記制御部が停止中に前記計時部に計測させる時間を設定するものであり、
前記制御部が前記計時部と前記記憶部に前記設定時間を設定した後であり、且つ、前記制御部が動作を停止している状態から前記外部信号に応じて動作を開始した後、前記計時部に設定されている前記設定時間又は前記計時部で計測された前記計測時間を前記計時部から読み取る読取部（Ｓ４０、Ｓ４２）と、
前記記憶部に記憶された前記設定時間と前記読取部の読み取り結果とに基づいて、前記読取部の読み取り結果が前記計時部の異常を示しているか否かを確認し、異常を示している場合に前記計時部に異常が発生していると判定する異常判定部（Ｓ４４、Ｓ４５、Ｓ４１、Ｓ４９）と、を備え、
前記電子制御装置は、主バッテリ（４００）と、前記主バッテリから充電可能な補機バッテリ（３００）とともに、被搭載機に搭載されており、
前記記憶部は、前記制御部が停止してから前記設定時間が経過した時点における前記補機バッテリの予測電圧を記憶しており、
前記制御部は、
前記計測時間が前記設定時間に達した場合に前記計時部から起動されると、前記主バッテリから前記補機バッテリを充電するための処理を行うものであり、
前記計時部から起動されると前記補機バッテリのバッテリ電圧を検出し、検出した前記バッテリ電圧と、前記予測電圧とを比較する比較部（Ｓ６１）と、
前記比較部の比較結果に基づいて、前記計時部による前記制御部の起動タイミングが正常であるか否かを判定する起動判定部（Ｓ６２〜Ｓ６６）と、を備え、
前記起動判定部は、
前記バッテリ電圧と前記予測電圧とが一致している場合は正常と判定し、前記バッテリ電圧が前記予測電圧よりも高い場合は前記起動タイミングが早い異常であると判定する電子制御装置。
【請求項２】
前記異常判定部（Ｓ４１、Ｓ４９）は、前記記憶部に記憶された前記設定時間と、前記読取部で読み取られた前記設定時間とが異なる場合に、前記読取部の読み取り結果が前記計時部の異常を示しているとみなして、前記計時部に異常が発生していると判定する請求項１に記載の電子制御装置。
【請求項３】
前記異常判定部（Ｓ４４、Ｓ４５）は、前記読取部で読み取られた前記計測時間が前記設定時間を超えていた場合に、前記読取部の読み取り結果が前記計時部の異常を示しているとみなして、前記計時部に異常が発生していると判定する請求項１又は２に記載の電子制御装置。
【請求項４】
前記読取部で前記設定時間又は前記計測時間が読み取れていなかった場合に、前記計時部に通信異常が発生していると判定する通信異常判定部（Ｓ４３）を備えている請求項１乃至３のいずれか一項に記載の電子制御装置。
【請求項５】
前記制御部は、
動作中において、前記計時部に対して確認用設定時間を設定する設定部（Ｓ１０）と、
動作中において、前記設定部で前記確認用設定時間を設定した後に、前記計時部から前記制御部を起動させる起動指示があるか否かを確認する確認部（Ｓ１２）と、
前記確認用設定時間を設定してから前記起動指示があるまでの経過時間を計測する経過時間計測部（Ｓ１１）と、
前記経過時間が前記確認用設定時間と一致、もしくは前記経過時間が前記確認用設定時間に対して所定範囲内の誤差であった場合、前記計時部での計測精度が正常であると判定する精度判定部（Ｓ１３）と、を備えている請求項１乃至４のいずれか一項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御部と時間を計測する計時部とを備えた電子制御装置に関する。
【背景技術】
【０００２】
従来、制御部と時間を計測する計時部とを備えた電子制御装置の一例として、特許文献１に開示されたエンジン制御用電子制御装置がある。
【０００３】
エンジン制御用電子制御装置は、イグニッションスイッチがオンになると動作してエンジン制御に関するデータ演算や制御を実施するとともに、イグニッションスイッチがオフになると停止する制御部と、イグニッションスイッチのオンオフに関わらず継続的に時間を計測し、エンジン停止中の時間経過を計測する計時部とを備えている。制御部は、所定の時間間隔でカウントアップされる内部タイマを有し、所定期間の時間を内部タイマにより計測し、所定期間内に計時部により計測される時間と内部タイマにより計測された所定期間の時間とに基づいて計時部の異常を判定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３４８９５４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、エンジン制御用電子制御装置は、制御部が停止している間に、計時部に異常が発生して停止することもありうる。この場合、エンジン制御用電子制御装置は、制御部が停止しているため、計時部の異常を検出できないという問題がある。
【０００６】
本開示は、上記問題点に鑑みなされたものであり、制御部が動作を停止している間に発生した計時部の異常を検出できる電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本開示は、
外部信号に応じて動作及び動作を停止する制御部（１０）と、
制御部の動作中及び停止中にかかわらず時間を計測し、計測時間が制御部から設定された設定時間に達すると制御部を起動させる計時部（２０）と、
計時部と別体に設けられ、制御部の動作中及び停止中にかかわらず記憶内容を保持でき、制御部が計時部に設定した設定時間を記憶する記憶部（１１）と、を備えた電子制御装置であって、
制御部は、設定時間として制御部が停止中に計時部に計測させる時間を設定するものであり、
制御部が計時部と記憶部に設定時間を設定した後であり、且つ、制御部が動作を停止している状態から外部信号に応じて動作を開始した後、計時部に設定されている設定時間又は計時部で計測された計測時間を計時部から読み取る読取部（Ｓ４０、Ｓ４２）と、
記憶部に記憶された設定時間と読取部の読み取り結果とに基づいて、読取部の読み取り結果が計時部の異常を示しているか否かを確認し、異常を示している場合に計時部に異常が発生していると判定する異常判定部（Ｓ４４、Ｓ４５、Ｓ４１、Ｓ４９）と、を備え、
電子制御装置は、主バッテリ（４００）と、主バッテリから充電可能な補機バッテリ（３００）とともに、被搭載機に搭載されており、
記憶部は、制御部が停止してから設定時間が経過した時点における補機バッテリの予測電圧を記憶しており、
制御部は、
計測時間が設定時間に達した場合に計時部から起動されると、主バッテリから補機バッテリを充電するための処理を行うものであり、
計時部から起動されると補機バッテリのバッテリ電圧を検出し、検出したバッテリ電圧と、予測電圧とを比較する比較部（Ｓ６１）と、
比較部の比較結果に基づいて、計時部による制御部の起動タイミングが正常であるか否かを判定する起動判定部（Ｓ６２〜Ｓ６６）と、を備え、
起動判定部は、
バッテリ電圧と予測電圧とが一致している場合は正常と判定し、バッテリ電圧が予測電圧よりも高い場合は起動タイミングが早い異常であると判定することを特徴とする。
【０００８】
このように、制御部は、制御部が停止中に計時部に計測させる時間である設定時間を、計時部に設定する。そして、計時部は、制御部が停止している間に計測した時間が制御部から設定された設定時間に達すると、制御部を起動させる。ところが、計時部は、制御部が停止している間に計時部に異常が発生することもある。
【０００９】
そこで、制御部は、外部信号に応じて動作を開始した後、計時部に設定されている設定時間又は計時部で計測された計測時間を計時部から読み取る。この読み取り結果と記憶部に記憶された設定時間との関係は、計時部が正常な場合と、計時部に異常が発生した場合とで異なる。よって、制御部は、記憶部に記憶された設定時間と読取部の読み取り結果とに基づいて、読み取り結果が計時部の異常を示しているか否かを確認し、異常を示している場合に計時部に異常が発生していると判定する。これによって、本開示は、制御部が動作を停止している間に発生した計時部の異常を検出できる。
【００１０】
なお、特許請求の範囲、及びこの項に記載した括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１１】
【図１】実施形態における電子制御装置の概略構成を示すブロック図である。
【図２】実施形態におけるマイコンのオフ後処理を示すフローチャートである。
【図３】実施形態におけるマイコンの起動時処理の一部を示すフローチャートである。
【図４】実施形態におけるマイコンの起動時処理のその他の一部を示すフローチャートである。
【図５】実施形態におけるマイコンの計測時間判定処理を示すフローチャートである。
【図６】実施形態におけるマイコンのダイアグ記憶処理を示すフローチャートである。
【図７】実施形態における正常時の電子制御装置の動作を示すタイムチャートである。
【図８】実施形態における異常時の電子制御装置の動作を示すタイムチャートである。
【発明を実施するための形態】
【００１２】
以下において、図面を参照しながら、発明を実施するための形態を説明する。本実施形態では、一例として、本発明を図１に示す電子制御装置１００に適用した例を採用する。また、電子制御装置１００は、例えば、内燃機関と電動機とを動力源とした所謂ハイブリッド車（プラグインハイブリッド車を含む）に搭載される。なお、ハイブリッド車は、被搭載機に相当する。
【００１３】
まず、図１を用いて、電子制御装置１００の構成に関して説明する。電子制御装置１００は、図１に示すように、イグニッションスイッチ２００、補機バッテリ３００が接続されており、且つ、ＤＣ‐ＤＣコンバータを介して主バッテリ４００が接続されている。電子制御装置１００は、これらとともにハイブリッド車に搭載されている。
【００１４】
電子制御装置１００は、イグニッションスイッチ２００のオンオフに応じて、イグニッションスイッチ２００のオンを示すＩＧ信号（例えばハイや１）、及びイグニッションスイッチ２００のオフを示すＩＧ信号（例えばローや０）が入力される。また、電子制御装置１００は、補機バッテリ３００から電源供給されるとともに、主バッテリ４００から補機バッテリ３００を充電するための処理を行う。なお、充電するための処理（以下、充電制御）に関しては、後程説明する。
【００１５】
主バッテリ４００は、例えば３００Ｖ程度であり、動力源としての電動機に対する電源供給を行う。一方、補機バッテリ３００は、例えば１２Ｖ程度であり、主バッテリ４００から充電可能に構成されており、電子制御装置１００や、ハイブリッド車に搭載される各種機器（補機系負荷）に対する電源供給を行う。このように、主バッテリ４００は、補機バッテリ３００よりも電圧が高く、高電圧バッテリとも言える。これに対して、補機バッテリ３００は、低電圧バッテリとも言える。
【００１６】
電子制御装置１００は、図１に示すように、主に、マイコン１０、タイマＩＣ２０、電源ＩＣ３０などを備えて構成されている。これらは、互いに電気的に接続されている。なお、マイコンは、マイクロコンピュータの略称である。
【００１７】
また、電子制御装置１００は、アクセル開度センサ及び車速センサなどの各種センサや各種電子制御ユニットが、直接又は車内ネットワーク経由で電気的に接続されている。電子制御装置１００は、各種センサの検出信号及び各種電子制御ユニットから入力されるデータなどを用いつつ動力源である内燃機関や電動機に対する制御信号を出力する。よって、電子制御装置１００は、ハイブリッドＥＣＵとも言える。また、電子制御装置１００は、マイコン１０が動作を停止している間に発生したタイマＩＣ２０の異常を検出するように構成されている。
【００１８】
電源ＩＣ３０は、電源供給部に相当する。電源ＩＣ３０は、補機バッテリ３００からバッテリ電圧が供給されて、マイコン１０とタイマＩＣ２０に供給する電源を生成し、マイコン１０とタイマＩＣ２０に電源を供給する。詳述すると、電源ＩＣ３０は、マイコン１０に対して動作時の動作電源を供給するとともに、メモリ１１とタイマＩＣ２０に対して常時電源を供給する。よって、メモリ１１とタイマＩＣ２０は、マイコン１０に対して動作電源が供給されておらずマイコン１０が停止している間も電源が供給される。
【００１９】
このように、本実施形態では、メモリ１１とタイマＩＣ２０とに共通の電源を供給する例を採用している。つまり、メモリ１１とタイマＩＣ２０は、同一電源となるように構成されている。よって、電子制御装置１００は、補機バッテリ３００が外れると、メモリ１１の記憶内容が消去されるとともに、タイマＩＣ２０が停止する。
【００２０】
また、電源ＩＣ３０は、オア回路３１とバッテリ外れ検出部３２を備えている。オア回路３１は、入力端子にイグニッションスイッチ２００とタイマＩＣ２０が接続されており、出力端子がマイコン１０に接続されている。オア回路３１は、イグニッションスイッチ２００からのオンを示すＩＧ信号と、タイマＩＣ２０からの起動信号（例えばハイや１）の少なくとも一方が入力されていると、マイコン１０に対して動作を指示する指示信号（例えばハイや１）を出力する。バッテリ外れ検出部３２は、補機バッテリ３００が電子制御装置１００から取り外されたことを検出する。
【００２１】
マイコン１０は、制御部に相当する。マイコン１０は、例えばＣＰＵ、ＲＯＭ、ＲＡＭ、及びこれらを接続するバスラインなどのハードを備えて構成されている。さらに、マイコン１０は、内部タイマを備えている。よって、マイコン１０は、内部タイマによって、時間を計測できる。内部タイマは、例えば、所定の時間間隔でカウントアップするものを採用できる。なお、マイコン１０は、図７のタイミングｔ４に示すように、タイマＩＣ２０をリセット可能に構成されている。
【００２２】
マイコン１０は、ＣＰＵがＲＯＭからプログラムや各種データを読み出す。ＣＰＵは、プログラムを実行するとともに読み出したデータや入力されるデータなどを用いて、ＲＡＭを一時的な記憶手段として利用しつつ所定の演算を行うように構成されている。このようにして、マイコン１０は、上記制御信号の出力などの各種処理を実行する。また、マイコン１０は、補機バッテリ３００のバッテリ電圧を検出したり、バッテリ外れ検出部３２の検出結果を取得したりする処理を実行するように構成されている。
【００２３】
マイコン１０は、後程説明するメモリ１１に対して常時電源が供給され、且つ、メモリ１１に対する電源とは別に電源ＩＣ３０から動作電源が供給される。マイコン１０は、動作電源が供給されて動作している状態と、動作電源が供給されておらず停止している状態をとることができる。
【００２４】
マイコン１０は、停止している状態において、イグニッションスイッチ２００がオンされたり、タイマＩＣ２０から起動信号が出力されたりすると、電源ＩＣ３０から動作電源が供給されるとともに指示信号が入力されて起動して動作を開始する。また、マイコン１０は、起動した際に、所定の起動時処理を実行した後に、制御信号を出力など通常処理を行うように構成されている。
【００２５】
なお、マイコン１０は、車内のネットワークに接続されている場合、車内ネットワークにおける他の電子制御ユニットから出力された起動信号が入力された場合に、起動するように構成されていてもよい。オンを示すＩＧ信号や他の制御装置から出力された起動信号は、外部信号に相当する。
【００２６】
また、マイコン１０は、動作している状態において、イグニッションスイッチ２００がオフされると、電源ＩＣ３０から指示信号が入力されなくなるとともに動作電源が供給されなくなり停止する。詳述すると、マイコン１０は、電源ＩＣ３０から指示信号が入力されなくなると、所定のオフ後処理を実行した後に、動作電源が供給されなくなり停止するように構成されている。このように、マイコン１０は、イグニッションスイッチ２００がオンからオフに切り換わっても、オフ後処理が終了するまで動作中となる。なお、マイコン１０は、電源ＩＣ３０に対して、マイコン１０への動作電源の供給を停止する指示を行うことで、動作電源が供給されなくなる。
【００２７】
マイコン１０は、常時、電源ＩＣ３０から電源供給されるメモリ１１を備えている。メモリ１１は、記憶部に相当し、上記ＲＯＭなどである。メモリ１１は、電源供給されている間、記憶内容を保持可能に構成されている。マイコン１０は、上記のようにメモリ１１に対して常時電源が供給され、且つ、メモリ１１に対する電源とは別に電源ＩＣ３０から動作電源が供給される。よって、メモリ１１は、マイコン１０の動作中及び停止中にかかわらず記憶内容を保持できる。なお、メモリ１１は、マイコン１０の外部に設けられていてもよい。
【００２８】
メモリ１１は、タイマＩＣ２０に設定する設定値を記憶している。この設定値は、設定時間に相当する。また、設定値は、マイコン１０が停止している間に、タイマＩＣ２０に計測させる時間である。
【００２９】
また、マイコン１０は、停止しているマイコン１０を、タイマＩＣ２０に起動させるために設定値を設定する。よって、設定値は、マイコン１０が停止してから、停止しているマイコン１０を起動させるまでの時間的間隔とも言える。また、設定値は、起動予定時間とも言える。
【００３０】
このように、メモリ１１に記憶された設定値と、タイマＩＣ２０に設定された設定値とは、異常が発生していない場合、同じ値である。以下においては、これらを区別するために、タイマＩＣ２０に設定された設定値をタイマ設定値、メモリ１１に記憶された設定値をマイコン設定値とも称する。なお、本実施形態では、一例として、設定値として５日を採用する。
【００３１】
さらに、メモリ１１は、補機バッテリ３００の予測電圧やダイアグ情報などを記憶している。予測電圧は、マイコン１０が停止した後で、且つ、設定値が示す時間が経過した時点における補機バッテリ３００のバッテリ電圧を予測した値である。つまり、予測電圧は、マイコン１０が停止してから５日後における、電圧が低下した状態の補機バッテリ３００のバッテリ電圧の予測値である。ダイアグ情報は、後程説明する各異常検出の結果、すなわち異常履歴を示す情報である。しかしながら、本発明は、予測電圧やダイアグ情報を記憶していなくても、マイコン１０が動作を停止している間に発生したタイマＩＣ２０の異常を検出できる。
【００３２】
タイマＩＣ２０は、計時部に相当する。タイマＩＣ２０は、図７に示すように、マイコン１０の動作中及び停止中にかかわらず時間を計測することができる。タイマＩＣ２０は、マイコン１０から設定値が設定される。例えば、タイマＩＣ２０は、マイコン１０からタイマ設定値が設定された場合、タイマ設定値をレジスタなどに格納する。タイマＩＣ２０は、図７に示すように、計測時間がタイマ設定値に達すると（タイミングｔ３）、起動信号を出力することでマイコン１０を起動させる。
【００３３】
なお、計測時間は、タイマ値とも言える。また、タイマ値は、マイコン１０から読み取られる。よって、タイマ値は、読み取り時間とも称することができる。
【００３４】
次に、図２〜図８を用いて、電子制御装置１００の処理動作に関して説明する。なお、マイコン１０は、以下のフローチャートで示す処理の他にも処理を行う。例えば、マイコン１０は、通常処理として、動作中におけるタイマＩＣ２０の異常判定を行う。この場合、マイコン１０は、所定期間の時間を内部タイマにより計測する。そして、マイコン１０は、所定期間内にタイマＩＣ２０で計測された時間と内部タイマで計測された時間とを比較することで、タイマＩＣ２０の異常を判定する。例えば、マイコン１０は、所定期間として、図７のタイミングｔ１〜ｔ２や図８のタイミングｔ１１〜ｔ１２の時間を計測する。そして、マイコン１０は、タイミングｔ２において、タイマＩＣ２０で計測された時間と内部タイマで計測された時間とを比較する。また、マイコン１０は、タイミングｔ１２で計測された時間と内部タイマで計測された時間とを比較する。
【００３５】
まず、図２を用いて、マイコン１０のオフ後処理に関して説明する。マイコン１０は、イグニッションスイッチ２００がオンからオフに切り換わると、図２のフローチャートに示す処理をスタートする。
【００３６】
ステップＳ１０では、タイマＩＣ２０に１秒を設定する（設定部）。この１秒は、確認用設定時間に相当する。つまり、マイコン１０は、動作中において、タイマＩＣ２０に対して確認用設定時間を設定する。マイコン１０は、動作を停止する前に、タイマＩＣ２０が正常に起動信号を出力できるか否かを確認するために確認用設定時間を設定する。
【００３７】
この確認用設定時間は、タイマＩＣ２０に計測させる時間である。また、確認用設定時間は、タイマＩＣ２０に、確認用設定時間が経過すると起動信号を出力させるための時間である。よって、タイマＩＣ２０は、マイコン１０から１秒が設定されると、時間を計測する。そして、タイマＩＣ２０は、タイマＩＣ２０で計測した時間が１秒に達すると起動信号を出力する。
【００３８】
なお、確認用設定時間は、一例として１秒を採用しているがこれに限定されない。しかしながら、マイコン１０は、確認用設定時間に長い時間が設定されると、その分、オフ後処理の時間が長くなる。このため、確認用設定時間は、１秒程度が好ましい。また、マイコン１０は、タイマＩＣ２０が正常に起動信号を出力できるか否かを確認するために確認用設定時間を設定するため、上記タイマ設定値よりも十分に短い時間を採用する。
【００３９】
ステップＳ１１では、時間を計測する（経過時間計測部）。マイコン１０は、ステップＳ１０で１秒を設定してから起動指示があるまでの経過時間を、内部タイマで計測する。つまり、マイコン１０は、ステップＳ１０で１秒を設定してからタイマＩＣ２０から起動信号が出力されるまでの時間を計測する。ステップＳ１１は、タイマＩＣ２０における時間の計測精度を確認するためである。
【００４０】
ステップＳ１２では、タイマＩＣ２０から起動信号が有るか否かを判定する（確認部）。つまり、マイコン１０は、ステップＳ１０で確認用設定時間を設定した後に、タイマＩＣ２０からマイコン１０を起動させる起動指示があるか否かを確認する。そして、マイコン１０は、起動信号有りと判定した場合はステップＳ１３へ進み、起動信号有りと判定してない場合はステップＳ２０へ進む。なお、このときのマイコン１０は、動作中であるため、起動信号有りと判定しても、後程説明する起動時処理を行うことはない。
【００４１】
これによって、マイコン１０は、タイマＩＣ２０から正常に起動信号が出力されるか否かを、動作を停止する前に判定できる。よって、マイコン１０は、タイマＩＣ２０に対してタイマ設定値を設定したにもかかわらず、タイマＩＣ２０から起動されない起動不良を抑制できる。
【００４２】
ステップＳ１３では、０．９５秒≦起動時間≦１．０５秒であるか否かを判定する（精度判定部）。この起動時間は、ステップＳ１１で計測を開始してから起動信号が出力されるまので時間である。よって、タイマＩＣ２０における時間の計測精度が正常であれば、起動時間は、１秒となるはずである。ステップＳ１３は、タイマＩＣ２０における時間の計測精度を確認するための判定処理である。
【００４３】
マイコン１０は、０．９５秒≦起動時間≦１．０５秒であると判定した場合、タイマＩＣ２０の計測精度が正常であるとみなしてステップＳ１４へ進む。このように、マイコン１０は、ステップＳ１０で設定してから起動信号が出力されるまでの経過時間が１秒と一致、もしくは経過時間が１秒に対して所定範囲内の誤差であった場合、タイマＩＣ２０の計測精度が正常であると判定する。一方、マイコン１０は、０．９５秒≦起動時間≦１．０５秒であると判定しなった場合、タイマＩＣ２０の計測精度が正常でないとみなしてステップＳ１７へ進む。なお、ここでは、誤差の範囲の一例として±５％を採用しているが、これに限定されない。
【００４４】
ステップＳ１４では、タイマＩＣ２０に５日を設定する。この５日は、タイマ設定値に相当する。マイコン１０は、タイマ設定値として５日を、タイマＩＣ２０に設定する。つまり、マイコン１０は、５日後にマイコン１０を起動させるように、タイマＩＣ２０に指示する。これによって、タイマＩＣ２０は、レジスタなどにタイマ設定値として５日を示す値（時間）を格納する。
【００４５】
このステップＳ１４は、イグニッションスイッチ２００がオフされている間にマイコン１０を起動させて、充電制御を行うためである。補機バッテリ３００は、イグニッションスイッチ２００がオフされている間にも電力を消費する。このため、補機バッテリ３００は、イグニッションスイッチ２００がオフされている状態が継続されると、バッテリあがりが起こる可能性がある。そこで、マイコン１０は、補機バッテリ３００がバッテリあがりとならないように、充電制御を行うためにステップＳ１４を行う。よって、タイマ設定値は、補機バッテリ３００がバッテリあがりを起こさず、充電が頻繁に行われない程度の値が設定される。
【００４６】
ステップＳ１５では、５日設定履歴を記憶する。マイコン１０は、ステップＳ１４でタイマＩＣ２０に設定したタイマ設定値と同じ値を示すマイコン設定値をメモリ１１に記憶する。これによって、メモリ１１には、マイコン設定値として５日を示す値が記憶される。
【００４７】
ステップＳ１６では、マイコン１０は処理を終了し、電源がオフされる。つまり、マイコン１０は、オフ後処理を終了すると、マイコン１０への動作電源の供給を停止させる。このようにすることで、マイコン１０は、タイマＩＣ２０が正常にマイコン１０を起動させることができることを確認したうえで、マイコン１０の処理を終了させることができる。
【００４８】
一方、ステップＳ１７では、タイマＩＣ２０の精度異常と判定する。そして、ステップＳ１８では、精度異常履歴を記憶する。マイコン１０は、タイマＩＣ２０の計測精度が異常であることをメモリ１１に記憶する。ここで記憶する異常履歴は、他の異常履歴と区別するために第１異常履歴とも称する。
【００４９】
なお、マイコン１０は、メモリ１１に異常履歴を記憶する際には、異常履歴が何回記憶されたかを判断できるように記憶すると好ましい。例えば、マイコン１０は、第１異常履歴が何回記憶されたかを判断できるように記憶する。これは、後程説明する他の異常履歴を記憶する場合も同様である。つまり、マイコン１０は、メモリ１１に各異常履歴を記憶する場合、各異常履歴が何回記憶されたかを判断できるように記憶すると好ましい。
【００５０】
ステップＳ１９では、タイマＩＣ２０をリセットする。つまり、マイコン１０は、計測精度が異常であるタイマＩＣ２０を初期化する。タイマＩＣ２０は、リセットによって計測精度が正常に戻る可能性がある。
【００５１】
ステップＳ２０では、１．０５秒＜計測時間であるか否かを判定する。マイコン１０は、ステップＳ１１で計測を開始してからの計測時間が１．０５秒を超えたと判定していない場合はステップＳ１２へ戻る。一方、マイコン１０は、計測時間が１．０５秒を超えたと判定した場合はステップＳ２１へ進む。このように、１秒後に起動信号を出力するようにタイマＩＣ２０に指示したにもかかわらず、タイマＩＣ２０から起動信号が出力されずに、計測時間が１．０５秒を超えた場合、何らかの異常が発生していると考えられる。よって、マイコン１０は、計測時間が１．０５秒を超えたと判定した場合、何らかの異常が発生しているとみなしてステップＳ２１へ進む。
【００５２】
ステップＳ２１では、時間読み取りを行う。マイコン１０は、タイマＩＣ２０からタイマ値を読み取る。これは、タイマＩＣ２０の計測精度の確認、タイマＩＣ２０の起動機能の確認、及びマイコン１０とタイマＩＣ２０との間の通信状態の確認を行うためである。
【００５３】
ステップＳ２２では、読み取り可であるか否かを判定する。マイコン１０は、タイマＩＣ２０からタイマ値を読み取れたか否かを判定し、タイマ値を読み取れたと判定した場合はステップＳ２３へ進み、タイマ値を読み取れたと判定してない場合はステップＳ２７へ進む。
【００５４】
ステップＳ２３では、読み取り時間≦１．０５秒であるか否かを判定する。つまり、マイコン１０は、読み取れたタイマ値が１．０５秒以下であるか否かを判定する。そして、マイコン１０は、１．０５秒以下であると判定した場合はステップＳ１７へ進み、タイマＩＣ２０の精度異常と判定する。一方、マイコン１０は、１．０５秒以下であると判定しなかった場合はステップＳ２４へ進む。
【００５５】
ステップＳ２４では、タイマＩＣ２０の起動異常と判定する。つまり、マイコン１０は、タイマＩＣ２０の計測精度は正常であるが、起動信号を出力する機能、すなわちマイコン１０を起動させる機能に異常が生じていると判定する。
【００５６】
ステップＳ２５では、起動異常履歴を記憶する。マイコン１０は、タイマＩＣ２０が起動異常であることをメモリ１１に記憶する。ここで記憶する異常履歴は、他の異常履歴と区別するために第２異常履歴とも称する。なお、ステップＳ２６では、ステップＳ１９と同様にタイマＩＣ２０をリセットする。
【００５７】
ステップＳ２７では、タイマＩＣ２０の通信異常と判定する。つまり、マイコン１０は、タイマＩＣ２０との通信状態に異常が生じていると判定する。通信状態の異常は、タイマＩＣ２０の通信機能の異常に加えて、マイコン１０とタイマＩＣ２０との間の通信経路の異常が考えられる。
【００５８】
ステップＳ２８では、通信異常履歴を記憶する。マイコン１０は、タイマＩＣ２０が通信異常であることをメモリ１１に記憶する。ここで記憶する異常履歴は、他の異常履歴と区別するために第３異常履歴とも称する。なお、ステップＳ２９では、ステップＳ１９と同様にタイマＩＣ２０をリセットする。
【００５９】
なお、マイコン１０は、ステップＳ１９、Ｓ２６、Ｓ２９に進んだ場合、タイマＩＣ２０をリセットした後に、ステップＳ１６へ進んでもよい。また、マイコン１０は、ステップＳ１９、Ｓ２６、Ｓ２９に進んだ場合、ステップＳ１０へ戻り、再度、ステップＳ１９、Ｓ２６、Ｓ２９に進んだ場合、ステップＳ１６へ進んでもよい。
【００６０】
次に、図３〜図６を用いて、マイコン１０の起動時処理に関して説明する。マイコン１０は、起動すると図３のフローチャートに示す処理をスタートする。なお、図３のフローチャートと図４のフローチャートは、マイコン１０の一連の起動時処理を示している。つまり、マイコン１０は、図３のステップＳ３０でＮＯ判定すると（Ａ点）、図４のステップＳ３９（Ａ点）へ進む。また、マイコン１０は、図４のステップＳ４７、Ｓ５１を終了すると（Ｂ点）、図３のエンド（Ｂ点）へ進む。
【００６１】
ステップＳ３０では、タイマＩＣ２０から起動信号有りか否かを判定する。マイコン１０は、タイマＩＣ２０から起動信号有りか否かを判定することで、タイマＩＣ２０から起動されたか、外部信号によって起動したのかを判定する。マイコン１０は、タイマＩＣ２０から起動信号有りと判定しなかった場合、外部信号によって起動したとみなしてステップＳ３９へ進む。つまり、マイコン１０は、図８のタイミングｔ１４に示すように、停止中にイグニッションスイッチ２００がオフからオンに切り換わると、すなわち、ステップＳ３０でＮＯ判定の場合、起動して動作を開始する。
【００６２】
一方、マイコン１０は、タイマＩＣ２０から起動信号有りと判定した場合、タイマＩＣ２０から起動されたとみなしてステップＳ３１へ進む。なお、マイコン１０は、上記のように、タイマＩＣ２０から起動信号有りと判定した場合、充電制御を行うことになる。
【００６３】
マイコン１０は、図７のタイミングｔ３に示すように、停止中にタイマＩＣ２０から起動信号が出力されると、すなわち、ステップＳ３０でＹＥＳ判定の場合、起動して動作を開始する。タイマＩＣ２０から起動信号が出力されたということは、タイマ値が設定時間に達したと、タイマＩＣ２０によって判定されたということである。このように、マイコン１０は、タイマＩＣ２０から起動されると、上記のように充電制御を行う。しかしながら、本発明はこれに限定されない。つまり、本発明は、充電制御を行わなくても、マイコン１０が動作を停止している間に発生したタイマＩＣ２０の異常を検出できる。
【００６４】
マイコン１０は、タイマＩＣ２０から起動信号有りと判定した場合、ステップＳ３１〜Ｓ３８を行うことになる。ステップＳ３１では、タイマＩＣ２０から時間を読み取る。つまり、マイコン１０は、タイマＩＣ２０からタイマ値を読みる。
【００６５】
ステップＳ３２では、通信異常処理を行う。マイコン１０は、ステップＳ３１において、タイマＩＣ２０からタイマ値を読み取ることができなかった場合、ステップＳ２７と同様に、タイマＩＣ２０との通信状態に異常が生じていると判定する。そして、マイコン１０は、ステップＳ２８と同様に、通信異常であることをメモリ１１に記憶してもよい。なお、ここで記憶する異常履歴は、他の異常履歴と区別するために第４異常履歴とも称する。しかしながら、マイコン１０は、タイマＩＣ２０からタイマ値を読み取ることができた場合、ステップＳ３２を行うことなく、ステップＳ３３へ進む。
【００６６】
ステップＳ３３では、読み取り時間が５日±５％以内であるか否かを判定する。マイコン１０は、ステップＳ３１で読み取ったタイマ値が５日±５％以内であるか否かを判定する。マイコン１０は、タイマ値が５日±５％以内であると判定した場合はステップＳ３４へ進み、タイマ値が５日±５％以内であると判定しなかった場合はステップＳ３６へ進む。ステップＳ３３は、タイマＩＣ２０における時間の計測精度を確認するための判定処理である。
【００６７】
ステップＳ３４では、計測時間判定処理を行う。そして、マイコン１０は、ステップＳ３４が終了すると、ステップＳ３５において、タイマＩＣ２０をリセットする。
【００６８】
ここで、図５を用いて、ステップＳ３４の計測時間判定処理に関して説明する。マイコン１０は、予め設定しておいた設定値（５日）で起動できたと判定した場合に、計測時間判定処理を行う。詳述すると、マイコン１０は、タイマＩＣ２０から起動されて充電制御を行う前にステップＳ３４を行う。
【００６９】
ステップＳ６０では、電圧を検出する。マイコン１０は、主バッテリ４００から補機バッテリ３００を充電する前に、補機バッテリ３００のバッテリ電圧を検出する。つまり、マイコン１０は、マイコン１０が停止した後で、且つ、設定値が示す時間が経過した時点における、電圧が低下した状態の補機バッテリ３００のバッテリ電圧を検出する。このため、タイマＩＣ２０が正常に動作してマイコン１０を起動させている場合、ここで検出された検出電圧は、メモリ１１に記憶された予測電圧と同等になる。
【００７０】
ステップＳ６１では、比較する（比較部）。マイコン１０は、メモリ１１に記憶されている予測電圧と、ステップＳ７０で検出された検出電圧とを比較する。このように予測電圧と検出電圧とを比較するのは、タイマＩＣ２０によるマイコン１０の起動タイミングが正常であるか否かを判定するである。
【００７１】
ステップＳ６２では、予測電圧と検出電圧が一致しているか否かを判定する（起動判定部）。マイコン１０は、ステップＳ６１での比較結果に基づいて、予測電圧と検出電圧が一致していると判定した場合はステップＳ６３へ進み、予測電圧と検出電圧が一致していると判定しなかった場合はステップＳ６４へ進む。なお、ステップＳ６２では、予測電圧と検出電圧とが完全に一致している場合だけでなく、予測電圧と検出電圧との差が誤差程度であれば一致しているとみなしてもよい。
【００７２】
ステップＳ６３では、正常と判定する（起動判定部）。マイコン１０は、予測電圧と検出電圧とが一致した場合は、タイマＩＣ２０が正常に動作してマイコン１０を起動させていると判定する。言い換えると、マイコン１０は、タイマＩＣ２０による起動タイミングが正常であると判定する。
【００７３】
ステップＳ６４では、検出電圧が予測電圧よりも高いか否かを判定する（起動判定部）。マイコン１０は、ステップＳ６１での比較結果に基づいて、検出電圧が予測電圧よりも高いと判定した場合はステップＳ６５へ進み、検出電圧が予測電圧よりも高いと判定しなかった場合はステップＳ６６へ進む。
【００７４】
ステップＳ６５では、起動タイミングが予定よりも早いと判定する（起動判定部）。検出電圧が予測電圧よりも高い場合、マイコン１０が設定した本来のタイマ設定値が経過する前に、補機バッテリ３００が充電されている可能性がある。このため、マイコン１０は、検出電圧が予測電圧よりも高い場合、タイマＩＣ２０による起動タイミングが、本来の起動タイミングよりも早い異常と判定する。これは、タイマＩＣ２０が時間の計測を開始してからタイマ設定値に達するまでの本来の時間よりも早いタイミングでタイマ設定値に達したと判定してしまう異常がタイマＩＣ２０に発生しているとみなすことができる。
【００７５】
これによって、マイコン１０は、予定よりも短い間隔で補機バッテリ３００の充電が行われていることを検出できる。つまり、マイコン１０は、補機バッテリ３００の充電回数が予定よりも増えていることを検出できる。
【００７６】
補機バッテリ３００は、充電回数が増えるにつれて寿命が短くなる。このため、マイコン１０は、充電回数が予定よりも増えたことを検出できるため、充電回数が意図せず増えたことによる補機バッテリ３００の短寿命化を抑制する効果も期待できる。
【００７７】
なお、マイコン１０は、ステップＳ６５において異常と判定した場合に起動異常履歴をメモリ１１に記憶してもよい。また、マイコン１０は、ステップＳ６５において、検出電圧が予測電圧よりも極端に高い場合のみ異常と判定してもよい。これによって、マイコン１０は、検出電圧と予測電圧との差がわずかであるにもかかわらず異常と判定、すなわち誤判定することを抑制できる。さらに、マイコン１０は、誤判定を抑制できるため、起動異常履歴の記憶を抑制できる。
【００７８】
ステップＳ６６では、起動タイミングが予定よりも遅いと判定する（起動判定部）。検出電圧が予測電圧よりも低い場合、マイコン１０が設定した本来のタイマ設定値が経過しても補機バッテリ３００が充電されてない可能性がある。このため、マイコン１０は、検出電圧が予測電圧よりも低い場合、タイマＩＣ２０による起動タイミングが、本来の起動タイミングよりも遅い異常と判定する。これは、タイマＩＣ２０が時間の計測を開始してからタイマ設定値に達するまでの本来の時間よりも遅いタイミングでタイマ設定値に達したと判定してしまう異常がタイマＩＣ２０に発生しているとみなすことができる。
【００７９】
なお、マイコン１０は、ステップＳ６６において異常と判定した場合に起動異常履歴をメモリ１１に記憶してもよい。また、マイコン１０は、ステップＳ６６において、検出電圧が予測電圧よりも極端に低い場合のみ異常と判定してもよい。これによって、マイコン１０は、検出電圧と予測電圧との差がわずかであるにもかかわらず異常と判定、すなわち誤判定することを抑制できる。さらに、マイコン１０は、誤判定を抑制できるため、起動異常履歴の記憶を抑制できる。
【００８０】
ここで、図３のフローチャートの説明に戻る。ステップＳ３６では、タイマＩＣ２０の起動異常と判定する。マイコン１０は、タイマＩＣ２０から起動されたものの、予定していた時間に起動されなかったため、タイマＩＣ２０の起動異常と判定する。つまり、マイコン１０は、マイコン１０を起動させることができるものの、予め設定された時間に起動させることができない異常が、タイマＩＣ２０に生じていると判定する。ここでの起動異常は、タイマＩＣ２０の精度異常とみなすことができる。
【００８１】
ステップＳ３７では、起動異常履歴を記憶する。マイコン１０は、タイマＩＣ２０が起動異常であることをメモリ１１に記憶する。また、マイコン１０は、タイマＩＣ２０が精度異常であることをメモリ１１に記憶してもよい。ここで記憶する異常履歴は、他の異常履歴と区別するために第５異常履歴とも称する。なお、ステップＳ３８では、ステップＳ３５と同様にタイマＩＣ２０をリセットする。
【００８２】
また、マイコン１０は、ステップＳ３０でタイマＩＣ２０から起動信号有りと判定しなかった場合、ステップＳ３９〜Ｓ５１を行うことになる。
【００８３】
ステップＳ３９では、マイコン外起動と判定する。マイコン１０は、タイマＩＣ２０によって起動されたのではなく、イグニッションスイッチ２００がオフからオンに切り換わるなど外部信号に応じて起動したと判定する。例えば、マイコン１０は、図８のタイミングｔ１４に示すようにイグニッションスイッチ２００がオフからオンに切り換わると、ステップＳ４０〜Ｓ５１を行う。
【００８４】
ところで、タイマＩＣ２０は、電源ＩＣ３０から常時電源が供給されており、マイコン１０の動作中及び停止中にかかわらず時間を計測することができる。しかしながら、タイマＩＣ２０は、図８のタイミングｔ１３に示すように、マイコン１０の停止中に、タイマＩＣ２０に異常が発生してタイマ設定値やタイマ値が消失することも起こりうる。なお、タイマＩＣ２０は、電源ＩＣ３０から供給されている電源が瞬間的に停止した場合であっても、タイマ設定値やタイマ値が消失する可能性がある。
【００８５】
マイコン１０は、タイマＩＣ２０に異常が発生していない場合、タイミングｔ１３〜ｔ１４の間にタイマ値がタイマ設定値に達して、タイマＩＣ２０から起動される可能性がある。しかしながら、マイコン１０は、タイマＩＣ２０に異常が発生した場合、タイマＩＣ２０から起動される予定のタイミングで起動されずに、イグニッションスイッチ２００がオフからオンに切り換わるタイミングｔ１４で起動することが起こりうる。
【００８６】
そこで、マイコン１０は、外部信号に応じて起動した場合、以下に説明するように、マイコン１０が動作を停止している間に発生したタイマＩＣ２０の異常を検出する。ステップＳ４０では、タイマＩＣ２０から設定値を読み取る（読取部）。つまり、マイコン１０は、マイコン１０がタイマＩＣ２０に設定したタイマ設定値を、タイマＩＣ２０から読み取る。このタイマ設定値は、読み取り結果の一つである。
【００８７】
ステップＳ４１では、マイコン設定値と一致しているか否かを判定する。マイコン１０は、ステップＳ４０で読み取ったタイマ設定値と、メモリ１１に記憶しているマイコン設定値とを比較して、これらが一致しているか否かを判定する。つまり、マイコン１０は、タイマ設定値が５日であるか否かを判定する。例えば、マイコン１０は、図８のタイミングｔ１５などで、マイコン設定値とタイマ設定値とを比較する。
【００８８】
タイマＩＣ２０は、異常が発生した場合、タイマ設定値が消失したり変化したりすることが考えられる。よって、タイマ設定値とマイコン設定値とが一致していなかった場合、ステップＳ４０で読み取った読み取り結果は、タイマＩＣ２０の異常を示しているとみなすことができる。よって、マイコン１０は、ステップＳ４０で読み取った読み取り結果が、タイマＩＣ２０の異常を示しているか否かを確認するとも言える。なお、タイマ設定値の変化とは、タイマ設定値が意図せず変化したことを示しており、タイマ設定値が化けた、とも言える。
【００８９】
そして、マイコン１０は、タイマ設定値とマイコン設定値とが一致していると判定した場合、読み取り結果がタイマＩＣ２０の異常を示していないとみなして、ステップＳ４２へ進む。一方、マイコン１０は、タイマ設定値とマイコン設定値とが一致していないと判定した場合、読み取り結果がタイマＩＣ２０の異常を示しているとみなして、ステップＳ４８へ進む。
【００９０】
ステップＳ４２では、タイマＩＣ２０から時間を読み取る（読取部）。つまり、マイコン１０は、タイマＩＣ２０で計測されたタイマ値を、タイマＩＣ２０から読み取る。このタイマ値は、読み取り結果の一つである。
【００９１】
ステップＳ４３では、通信異常処理を行う（通信異常判定部）。マイコン１０は、ステップＳ４２において、タイマＩＣ２０からタイマ値を読み取ることができなかった場合、タイマＩＣ２０との通信に異常が生じていると判定する。そして、マイコン１０は、タイマＩＣ２０との通信に異常が生じていることをメモリ１１に記憶してもよい。よって、マイコン１０は、タイマＩＣ２０からタイマ値を読み取ることができた場合、ステップＳ４３を行うことなく、ステップＳ４４へ進む。
【００９２】
なお、マイコン１０は、ステップＳ４０でタイマＩＣ２０からタイマ設定値を読み取れなかった場合も通信異常と判定してもよい。この場合も、マイコン１０は、タイマＩＣ２０との通信に異常が生じていることをメモリ１１に記憶してもよい。
【００９３】
つまり、マイコン１０は、タイマＩＣ２０からタイマ設定値又はタイマ値を読み取ることができなかった場合に、通信に異常が生じていると判定する。このように、マイコン１０は、外部信号に応じて動作を開始した後に通信異常の判定を行う場合、タイマ設定値又はタイマ値を、タイマＩＣ２０から読み取ることで通信異常であるか否かを判定できる。また、マイコン１０は、通信異常であるか否かを判定することで、異常が、タイマＩＣ２０との通信異常であると特定できる。
【００９４】
ステップＳ４４では、（５日＋５％）＜読み取り時間であるか否かを判定する（異常判定部）。マイコン１０は、（５日＋５％）＜タイマ値であるか否かを判定する。つまり、マイコン１０は、読み取り結果であるタイマ値がタイマＩＣ２０の異常を示しているか否かを確認する。なお、５％は、誤差を示している。つまり、本実施形態では、マイコン設定値とタイマ設定値が一致しているとみなす。しかしながら、本発明は、誤差を考慮することなく、ステップＳ４４において５日＜タイマ値であるか否か判定してもよい。
【００９５】
（５日＋５％）＜タイマ値の場合、マイコン１０は、タイマＩＣ２０に５日後に起動するように設定して停止したにもかかわらず、５日を過ぎてもタイマＩＣ２０から起動されなかったことになる。つまり、タイマＩＣ２０は、マイコン１０から設定された５日でマイコン１０を起動できておらず、マイコン１０の停止中に異常が発生しているとみなせる。よって、マイコン１０は、（５日＋５％）＜タイマ値であると判定した場合、読み取り結果であるタイマ値がタイマＩＣ２０の異常を示しているとみなしてステップＳ４５へ進む。
【００９６】
一方、（５日＋５％）＜タイマ値でない場合、マイコン１０は、タイマＩＣ２０に設定した５日が経過する前に、外部信号によって起動したことになる。よって、タイマＩＣ２０は、マイコン１０の停止中に異常が発生しているとみなさない。よって、マイコン１０は、（５日＋５％）＜タイマ値であると判定しなかった場合、読み取り結果であるタイマ値がタイマＩＣ２０の異常を示しているとみなすことなく、ステップＳ４７へ進む。
【００９７】
ステップＳ４５では、タイマＩＣ２０が起動異常であると判定する（異常判定部）。タイマＩＣ２０は、異常が発生した場合、タイマ値がタイマ設定値に達しても、マイコン１０を起動できないことが考えられる。なお、この異常は、起動異常と言える。このため、マイコン設定値とタイマ設定値とが一致し、且つ、タイマ値がマイコン設定値を超えていた場合は、読み取り結果がタイマＩＣ２０の異常を示しているとみなすことができる。
【００９８】
よって、マイコン１０は、マイコン設定値とタイマ設定値とが一致し、且つ、タイマ値がマイコン設定値を超えていた場合、タイマＩＣ２０に異常が発生していると判定する。このように、マイコン１０は、タイマＩＣ２０における起動異常を検出できる。また、マイコン１０は、タイマＩＣ２０との通信異常などではなく、タイマＩＣ２０における起動異常であると特定できる。ここでの起動異常は、タイマＩＣ２０の精度異常とみなすことができる。
【００９９】
なお、マイコン１０は、マイコン設定値とタイマ設定値とが一致しているか否かに関係なく、タイマ値がマイコン設定値を超えていた場合、タイマＩＣ２０に異常が発生していると判定してもよい（異常判定部）。
【０１００】
ステップＳ４６では、起動異常履歴を記憶する。マイコン１０は、タイマＩＣ２０が起動異常であることをメモリ１１に記憶する。また、マイコン１０は、タイマＩＣ２０が精度異常であることをメモリ１１に記憶してもよい。ここで記憶する異常履歴は、他の異常履歴と区別するために第６異常履歴とも称する。なお、ステップＳ４７では、ステップＳ３５と同様にタイマＩＣ２０をリセットする。
【０１０１】
ステップＳ４８では、バッテリ外れ検出有りか否かを判定する（バッテリ検出部）。マイコン１０は、バッテリ外れ検出部３２の検出結果によって、バッテリ外れ検出有りか否かを判定する。マイコン１０は、バッテリ外れ検出部３２の検出結果が、補機バッテリ３００が電子制御装置１００から取り外されたこを示している場合、バッテリ外れ検出有りと判定してステップＳ４７へ進む。また、マイコン１０は、バッテリ外れ検出部３２の検出結果が、補機バッテリ３００が電子制御装置１００から取り外されたこを示していない場合、バッテリ外れ検出有りと判定せずにステップＳ４９へ進む。
【０１０２】
ところで、補機バッテリ３００を交換する場合など、電子制御装置１００から補機バッテリ３００が取り外された場合、タイマＩＣ２０は、正常であるにもかかわらず、タイマ設定値が消える。また、後程説明するが、マイコン１０は、ステップＳ４９でタイマＩＣ２０が設定値異常であると判定する。
【０１０３】
そこで、本実施形態では、マイコン設定値とタイマ設定値とが一致しておらず、且つ、ステップＳ４８でＹＥＳ判定した場合は、ステップＳ４９へ進むことなくステップＳ４７へ進む例を採用している。つまり、本実施形態では、マイコン設定値とタイマ設定値とが不一致であっても、電子制御装置１００から補機バッテリ３００が取り外されていた場合はタイマＩＣ２０の異常とみなさい（異常判定部）。
【０１０４】
これによって、マイコン１０は、タイマＩＣ２０が正常であるにもかかわらず、タイマＩＣ２０に異常が発生していると誤判定することを抑制できる。さらに、マイコン１０は、ステップＳ５０で起動異常履歴を記憶することを防止でき、後程説明するダイアグ情報を記憶することを抑制できる。なお、マイコン１０は、ステップＳ４４でＹＥＳ判定した際に、電子制御装置１００から補機バッテリ３００が取り外されていた場合はタイマＩＣ２０の異常とみなさいようにしてもよい。
【０１０５】
なお、本発明は、ステップＳ４８を行わなくても、マイコン１０が動作を停止している間に発生したタイマＩＣ２０の異常を検出できる。よって、マイコン１０は、ステップＳ４１でＮＯ判定した場合、ステップＳ４９に進んでもよい。
【０１０６】
ステップＳ４９では、タイマＩＣ２０が設定値異常であると判定する（異常判定部）。マイコン１０は、マイコン設定値とタイマ設定値とが異なる場合、タイマＩＣ２０に異常が発生していると判定する。つまり、マイコン１０は、タイマＩＣ２０におけるタイマ設定値の喪失や変化を検出できる。また、マイコン１０は、タイマＩＣ２０との通信異常などではなく、タイマ設定値の異常であると特定できる。
【０１０７】
ステップＳ５０では、起動異常履歴を記憶する。マイコン１０は、タイマＩＣ２０が起動異常であることをメモリ１１に記憶する。また、マイコン１０は、タイマＩＣ２０がタイマ設定異常であることをメモリ１１に記憶してもよい。ここで記憶する異常履歴は、他の異常履歴と区別するために第７異常履歴とも称する。なお、ステップＳ５１では、ステップＳ３５と同様にタイマＩＣ２０をリセットする。
【０１０８】
本発明は、異常判定部として、ステップＳ４１とＳ４４とＳ４５、ステップＳ４１とＳ４９のいずれか一方を備えていればよい。このため、マイコン１０は、異常判定部としてステップＳ４１とＳ４４とＳ４５のみを備えている場合、外部信号に応じて動作を開始した後にタイマ設定値とタイマ値をタイマＩＣ２０から読み取る。一方、マイコン１０は、異常判定部としてステップＳ４１とＳ４９のみを備えている場合、外部信号に応じて動作を開始した後にタイマ設定値のみをタイマＩＣ２０から読み取る。つまり、電子制御装置１００は、タイマ設定値又はタイマ値をタイマＩＣ２０から読み取ることで、マイコン１０が動作を停止している間に発生したタイマＩＣ２０の異常を検出できる。さらに、本発明は、異常判定部として、ステップＳ４４とＳ４５のみを備えていてもよい。
【０１０９】
ところで、電子制御装置１００は、上記のように、メモリ１１とタイマＩＣ２０とが同一電源となるように構成されている。このため、電子制御装置１００は、補機バッテリ３００が外れたときに、メモリ１１のマイコン設定値などの記憶内容が消去されるとともに、タイマＩＣ２０が停止してタイマ設定値が消去される。
【０１１０】
これに対して、電子制御装置１００は、メモリ１１とタイマＩＣ２０が同一電源でない場合、メモリ１１とタイマＩＣ２０の一方にだけ電源が供給されないことが起こりうる。この場合、電子制御装置１００は、例えば、メモリ１１のマイコン設定値が消えておらず、タイマＩＣ２０のタイマ設定値のみが消えることが考えられる。よって、電子制御装置１００は、メモリ１１とタイマＩＣ２０が同一電源でない場合、タイマＩＣ２０に電源が供給されていないだけであるにもかかわらず、タイマＩＣ２０が異常であると誤判定してしまう可能性がある。
【０１１１】
しかしながら、電子制御装置１００は、補機バッテリ３００が外れたときに、メモリ１１のマイコン設定値などの記憶内容が消去されるとともに、タイマＩＣ２０が停止してタイマ設定値が消去される。このため、電子制御装置１００は、上記のような誤判定を抑制できる。これに伴って、電子制御装置１００は、タイマＩＣ２０が異常でないにもかかわらず、異常履歴を記憶することを抑制できる。なお、本発明は、メモリ１１とタイマＩＣ２０に異なる電源が供給されていても、マイコン１０が動作を停止している間に発生したタイマＩＣ２０の異常を検出できる。
【０１１２】
ここで、図６を用いて、ダイアグ記憶処理に関して説明する。マイコン１０は、オフ後処理時と起動時処理時に、図６に示すダイアグ記憶処理を行う。
【０１１３】
ステップＳ７０では、タイマＩＣ２０の異常履歴が２回異常であるか否かを判定する。マイコン１０は、ステップＳ１８、Ｓ２５、Ｓ２８、Ｓ３２、Ｓ３７、Ｓ４６、Ｓ５０の夫々で記憶された異常履歴の記憶回数を個別にカウントして、そのカウント値が２以上であるか否かを判定する。つまり、マイコン１０は、第１異常履歴〜第７異常履歴の夫々が記憶された回数を個別に数えて、各異常履歴が２回以上記憶されているか否かを判定する。ここでの判定基準値は、２回に限定されず、３回以上であっても採用できる。
【０１１４】
そして、マイコン１０は、記憶された回数が２回以上であると判定した場合はステップＳ７１へ進み、履歴が２回以上でないと判定した場合はダイアグ記憶処理を終了する。つまり、マイコン１０は、第１異常履歴を対象としてダイアグ記憶処理を開始した場合、第１異常履歴の記憶回数が２回以上であると判定した場合、ステップＳ７１へ進み、２回以上であると判定しなかった場合、ダイアグ記憶処理を終了する。そして、マイコン１０は、同様の判定を第２異常履歴〜第７異常履歴の夫々を対象として個別に行う。なお、本発明は、ステップＳ６５、Ｓ６６で記憶した異常履歴を対象に含めることもできる。
【０１１５】
ステップＳ７１では、タイマＩＣ２０を異常と判定する。マイコン１０は、異常履歴の記憶回数が２回以上であった場合、タイマＩＣ２０が異常であると判定する。例えば、マイコン１０は、第１異常履歴の記憶回数が２回以上であった場合、タイマＩＣ２０が精度異常であると判定する。また、マイコン１０は、第２異常履歴の記憶回数が２回以上であった場合、タイマＩＣ２０が起動異常であると判定する。
【０１１６】
ステップＳ７２では、ダイアグを記憶する。マイコン１０は、ステップＳ７１で異常であると判定した場合、タイマＩＣ２０に異常が生じていることを示すダイアグ情報をメモリ１１に記憶する。例えば、マイコン１０は、第１異常履歴の記憶回数が２回以上であった場合、タイマＩＣ２０が精度異常であることを示すダイアグ情報をメモリ１１に記憶する。また、マイコン１０は、第２異常履歴の記憶回数が２回以上であった場合、タイマＩＣ２０が起動異常であることを示すダイアグ情報をメモリ１１に記憶する。
【０１１７】
マイコン１０は、第１異常履歴〜第７異常履歴の夫々を対象としてダイアグ記憶処理を行うため、第１異常履歴〜第７異常履歴の夫々に対応したダイアグ情報をメモリ１１に記憶できる。これによって、ディーラなどでの故障診断では、タイマＩＣ２０の異常が、精度異常、起動異常、通信異常、タイマ設定異常のいずれであるかを容易に判断できる。
【０１１８】
なお、マイコン１０は、精度異常の履歴と、通信異常の履歴と、タイマ設定値異常の履歴の夫々を対象として、ダイアグ記憶処理を個別に行う。つまり、マイコン１０は、同種の異常である異常履歴を纏めてカウントし、そのカウント値が判定基準値以上である場合に、ダイアグ情報を記憶してもよい。例えば、マイコン１０は、第１異常履歴の記憶回数、第５異常履歴の記憶回数、第６異常履歴の記憶回数の合計が、判定基準値以上である場合に、精度異常であることを示すダイアグ情報を記憶してもよい。
【０１１９】
また、マイコン１０は、第１異常履歴〜第７異常履歴の夫々が記憶された異常履歴の総数をカウントしてもよい。この場合、マイコン１０は、総数が判定基準値を超えた場合に、タイマＩＣ２０に異常が発生していることを示すダイアグ情報をメモリ１１に記憶する。これによって、ディーラなどでの故障診断では、タイマＩＣ２０の異常が発生していることを判断できる。マイコン１０は、メモリ１１におけるダイアグ情報の容量を減らすことができる。
【０１２０】
以上のように、電子制御装置１００は、マイコン１０とタイマＩＣ２０とを備えて構成されている。マイコン１０は、マイコン１０が停止中にタイマＩＣ２０に計測させる時間であるタイマ設定値を、タイマＩＣ２０に設定する。そして、タイマＩＣ２０は、マイコン１０が停止している間に計測した時間がタイマ設定値に達すると、マイコン１０を起動させる。ところが、タイマＩＣ２０は、マイコン１０が停止している間にタイマＩＣ２０に異常が発生することもある。
【０１２１】
そこで、マイコン１０は、ＩＧ信号などの外部信号に応じて動作を開始した後、タイマＩＣ２０に設定されているタイマ設定値やタイマＩＣ２０で計測されたタイマ値をタイマＩＣ２０から読み取る。この読み取り結果は、タイマＩＣ２０が正常な場合と、タイマＩＣ２０に異常が発生した場合とで異なる。よって、マイコン１０は、読み取り結果がタイマＩＣ２０の異常を示しているか否かを確認し、異常を示している場合にタイマＩＣ２０に異常が発生していると判定する。これによって、電子制御装置１００は、マイコン１０が動作を停止している間に発生したタイマＩＣ２０の異常を検出できる。
【０１２２】
さらに、本実施形態では、マイコン１０が動作を停止している間に発生したタイマＩＣ２０の異常検出を、起動時処理時に行う例を採用している。このため、マイコン１０は、いち早くタイマＩＣ２０の異常を検出できる。つまり、マイコン１０は、通常処理を行う前に、タイマＩＣ２０の異常を検出できる。
【０１２３】
以上、本発明の好ましい実施形態について説明した。しかしながら、本発明は、上記実施形態に何ら制限されることはなく、本発明の趣旨を逸脱しない範囲において、種々の変形が可能である。
【符号の説明】
【０１２４】
１０…マイコン、１１…メモリ、２０…タイマＩＣ、３０…電源ＩＣ、１００…電子制御装置、２００…イグニッションスイッチ、３００…補機バッテリ、４００…主バッテリ
【図１】
0006665632.tif 000002
【図２】
0006665632.tif 000003
【図３】
0006665632.tif 000004
【図４】
0006665632.tif 000005
【図５】
0006665632.tif 000006
【図６】
0006665632.tif 000007
【図７】
0006665632.tif 000008
【図８】
0006665632.tif 000009