(57)【要約】【課題】異常発生時に実行されるべき処理について、適当な時期に当該処理の異常有無を検査可能な車載装置を提供する。【解決手段】電子制御装置は、マイコンに異常が発生すると（Ｓ２５０でＹｅｓ）、ＷＤ異常出力処理を実行することにより、監視回路からマイコンに対してリセットがかかるようにする。また、車両始動時には、車両始動回数Ｃｎｔが所定の判定基準値Ｎ以上であるか否かを判断し（Ｓ２１０）、判定基準値Ｎ以上である場合には（Ｓ２１０でＹｅｓ）、マイコンに異常が発生していなくても、検査のために、ＷＤ異常出力処理を実行する（Ｓ２６０でＹｅｓ）。そして、リセット後に、当該リセットに関する処理の異常有無を、ダイアグ情報としてＥＥＰＲＯＭに記録する（Ｓ２４０）。【選択図】図４
2011121553.tif 000002
【特許請求の範囲】
【請求項１】
車両内の監視対象部位の異常に対応した特定処理を実行する処理実行手段と、
前記監視対象部位での異常が検知された際に、前記処理実行手段に前記特定処理を実行させる異常時対応手段と、
前記特定処理の検査時期が到来したか否かを判断する時期判断手段と、
前記検査時期が到来したと判断される度に、前記異常の有無に拘らず前記処理実行手段に前記特定処理を実行させて、前記特定処理の異常有無を検査する検査手段と、
を備えることを特徴とする車載装置。
【請求項２】
前記車載装置の稼動量を表す情報を取得する稼動量取得手段
を備え、
前記時期判断手段は、前記稼動量取得手段の取得情報が表す稼動量が所定条件を満足する度、前記検査時期が到来したと判断すること
を特徴とする請求項１記載の車載装置。
【請求項３】
前記稼動量取得手段は、複数種類の前記稼動量を表す情報を取得し、
前記時期判断手段は、前記稼動量の種類毎に、前記稼動量取得手段の取得情報が表す前記稼動量が予め当該種類の稼動量に対し個別に設定された条件を満足したか否かを判断して、前記複数種類の前記稼動量の全てについての前記条件が満足される度、前記検査時期が到来したと判断すること
を特徴とする請求項２記載の車載装置。
【請求項４】
前記車載装置の稼動量を表す情報を取得する稼動量取得手段と、
現在日時を表す情報を取得する日時取得手段と、
を備え、
前記時期判断手段は、前記稼動量取得手段の取得情報が表す前記稼動量が予め設定された第一の条件を満足、且つ、前記日時取得手段の取得情報が表す前記現在日時が予め設定された第二の条件を満足する度に、前記検査時期が到来したと判断すること
を特徴とする請求項１記載の車載装置。
【請求項５】
全ての前記条件が満足されて前記検査時期が到来したと判断されるタイミング、及び、前記各条件が個別に満足されるタイミングの時間的なズレに基づき、前記各条件を補正する補正手段
を備えることを特徴とする請求項３又は請求項４記載の車載装置。
【請求項６】
前記補正手段は、前記各条件が満足されるまでの要する時間を、全ての前記条件が満足されるまでに要した時間に近づける方向に、前記各条件を補正すること
を特徴とする請求項５記載の車載装置。
【請求項７】
前記時期判断手段は、前記稼動量の種類毎に、当該種類の稼動量に対し個別に設定された規定量、前記稼動量取得手段の取得情報が表す前記稼動量が増加したか否かを判断することにより、前記稼動量の種類毎に、当該種類の稼動量が前記条件を満足したか否かを判断し、
前記車載装置は、更に、
前記稼動量の種類毎に、前記稼動量取得手段の取得情報が表す前記稼動量が個別の前記条件を満足した時点から前記各種類の稼動量に対応した前記条件の全てが満足されるまでの期間に増加した当該種類の稼動量の増加量に基づき、この増加量の所定割合を、当該種類の稼動量に対応する前記規定量に加算して、前記規定量を補正する補正手段
を備えること
を特徴とする請求項３記載の車載装置。
【請求項８】
前記時期判断手段は、前記稼動量取得手段の取得情報が表す前記稼動量が予め設定された第一の規定量増加すると前記第一の条件が満足されたと判断し、前記日時取得手段の取得情報が表す前記現在日時が予め設定された第二の規定量増加すると前記第二の条件が満足されたと判断し、
当該車載装置は、更に、
前記稼動量取得手段の取得情報が表す前記稼動量が前記第一の条件を満足した後に前記第二の条件が満足された場合には、前記稼動量取得手段の取得情報が表す前記稼動量が前記第一の条件を満足した時点から前記第一及び第二の条件の両者が満足されるまでの期間に増加した当該稼動量の増加量の所定割合を、前記第一の規定量に加算して、前記第一の規定量を補正し、前記日時取得手段の取得情報が表す前記現在日時が予め設定された第二の条件を満足した後に前記第一の条件が満足された場合には、前記第二の条件が満足された時点から前記第一及び第二の条件の両者が満足されるまでの期間に経過した時間の所定割合を、前記第二の規定量に加算することで、前記第二の規定量を補正する補正手段
を備えること
を特徴とする請求項４記載の車載装置。
【請求項９】
前記稼動量取得手段は、前記稼動量を表す情報として、前記車両の始動回数を取得すること
を特徴とする請求項２〜請求項８のいずれか一項に記載の車載装置。
【請求項１０】
前記稼動量取得手段は、前記稼動量を表す情報として、前記車両の走行距離を取得すること
を特徴とする請求項２〜請求項８のいずれか一項に記載の車載装置。
【請求項１１】
前記稼動量取得手段は、前記稼動量を表す情報として、前記車両の累積稼動時間を取得すること
を特徴とする請求項２〜請求項８のいずれか一項に記載の車載装置。
【請求項１２】
現在日時を表す情報を取得する日時取得手段
を備え、
前記時期判断手段は、前記日時取得手段の取得情報が表す現在日時が所定条件を満足する度に、前記検査時期が到来したと判断すること
を特徴とする請求項１記載の車載装置。
【請求項１３】
前記検査手段の検査結果を表す情報を、車両外の装置に出力する外部出力手段
を備えることを特徴とする請求項１〜請求項１２のいずれか一項に記載の車載装置。
【請求項１４】
前記時期判断手段は、車両の始動時又は運転終了時に限って単発的に動作すること
を特徴とする請求項１〜請求項１３のいずれか一項に記載の車載装置。
【請求項１５】
前記車載装置は、
内蔵するプログラム領域に格納されたプログラムを実行するマイクロコンピュータ
を備え、前記プログラム領域に格納された車両制御用のプログラムを前記マイクロコンピュータで実行して、所定の車両制御を実現する構成にされ、
更に、
前記プログラム領域には、前記マイクロコンピュータを前記各手段として機能させるためのプログラムが記憶されており、
前記特定処理は、前記監視対象部位としての前記マイクロコンピュータをリセットするための処理であること
を特徴とする請求項１〜請求項１４のいずれか一項に記載の車載装置。
【請求項１６】
前記特定処理に対応するプログラムの先頭には、ノンオペレーションコードが挿入されており、当該ノンオペレーションコードにより前記プログラム領域の空き領域が充填されていること
を特徴とする請求項１５記載の車載装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載装置に関する。
【背景技術】
【０００２】
車載装置としては、イグニッションスイッチの回数に応じて処理を切り替える装置（特許文献１参照）や、イグニッションスイッチがオンするとマイクロコンピュータのプログラムメモリ（プログラムが格納されたメモリ領域）を検査することでマイクロコンピュータの異常有無を検査する装置（特許文献２参照）や、発生した異常に対応するフェールセーフ処理を実行する装置などが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２１２７８４号公報
【特許文献２】特開平０７−０４２６０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、フェールセーフ処理は、異常による危険を回避するための処理であるので、フェールセーフ処理の実行に関わる部位に異常が発生して、フェールセーフ処理が適切に実行されない事態は、車両安全上好ましくない。
【０００５】
しかしながら、従来技術としては、商品の出荷検査時にフェールセーフ処理の正常／異常を確認する技術が知られている程度であり、出荷後にフェールセーフ処理の異常有無を適切に検査するための技術については、知られていない。
【０００６】
本発明は、こうした問題に鑑みなされたものであり、異常発生時に実行されるべき処理について、出荷後の適当な時期に当該処理の異常有無を検査可能な車載装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
かかる目的を達成するためになされた本発明の車載装置は、車両内の監視対象部位の異常に対応した特定処理を実行する処理実行手段と、この異常が検知された際に、処理実行手段に上記特定処理を実行させる異常時対応手段と、検査時期が到来したか否かを判断する時期判断手段と、検査時期が到来したと判断される度、上記異常の有無に拘らず、上記処理実行手段に上記特定処理を実行させて、上記特定処理の異常有無を検査する検査手段と、を備えるものである。
【０００８】
この車載装置によれば、所定のアルゴリズムに従って適当な時期に上記特定処理の異常有無を検査することができるので、上記特定処理が正常に実行されない車両安全上好ましくない異常な事態が放置されるのを抑えることができる。従って、この車載装置によれば、車両の安全性を高めることができる。
【０００９】
具体的に、上記車載装置は、現在日時を表す情報を取得する日時取得手段を備え、日時取得手段の取得情報が表す現在日時が所定条件を満足する度、検査時期が到来したと判断する構成にすることができる。この他、上記車載装置は、当該車載装置の稼動量を表す情報を取得する稼動量取得手段を備え、稼動量取得手段の取得情報が表す稼動量が所定条件を満足する度、検査時期が到来したと判断する構成にすることができる。
【００１０】
異常の発生確率は、車載装置の累積稼動時間に応じて高くなるが、日時を指標とする前者の手法では、ユーザによる利用頻度の少ない車両で、必要以上に検査が実行されてしまう可能性がある。一方、後者の手法のように稼動量に基づき検査時期を調整すると、日時を指標とする前者の手法よりも、適切な頻度で特定処理を検査することができる。
【００１１】
尚、ここでいう車載装置の稼動量を表す情報は、直接的又は間接的に車載装置の稼動量を表すものであればよい。例えば、車両の稼動量は、車載装置の稼動量を間接的に表す。このため、稼動量取得手段は、車載装置の稼動量を表す情報として、車両の始動回数（例えば、イグニッションスイッチやアクセサリスイッチのオン回数）や、車両の走行距離、車両の累積稼動時間などを取得することができる。
【００１２】
上述したように、異常は車載装置の累積稼動時間に応じて発生する確率が高くなるので、始動回数や走行距離を指標に、検査時期が到来したか否かを判断すれば、適切な時期に特定処理を検査することができる。また、累積稼動時間を指標に、検査時期が到来したか否かを判断すると、一層、適切な時期に特定処理を検査することができる。
【００１３】
また、稼動量取得手段は、複数種類の稼動量を表す情報を取得し、時期判断手段は、稼動量の種類毎に、稼動量取得手段の取得情報が表す稼動量が予め当該種類の稼動量に対し個別に設定された条件を満足したか否かを判断し、複数種類の稼動量の全てについての上記条件が満足される度、検査時期が到来したと判断する構成にすることができる。
【００１４】
複数の稼動量に基づき、検査時期が到来したか否かを判断するように車載装置を構成すれば、単一種類の稼動量を表す情報に基づき、検査時期が到来したか否かを判断するよりも、一層適切な時期に特定処理の検査を行うことができる。
【００１５】
即ち、上記検査は必要十分な頻度で行われるのが好ましく、検査時期が到来したと判断するタイミングが早い場合には、検査頻度が不要に高くなり、検査に時間をとられることで、ユーザに不満が及ぶ可能性がある一方で、条件を緩くして検査するタイミングが遅くなると、危険回避に悪影響が及ぶ可能性がある。
【００１６】
このため、車両の走行距離や始動回数用いて、検査時期を判断する場合には、ユーザによる車両の利用形態のバラツキを考慮して、厳しく条件を設定する必要がある。ちなみに、検査時期の到来を判断する指標として、車両の累積稼動時間を採用する場合には、上記条件を、車両の走行距離や始動回数を用いるよりも予め適切に設定できるが、車両の稼動時間の累積を逐一演算する必要があり処理負荷が大きいといった短所もある。
【００１７】
一方、複数種の稼動量を用いて検査時期の到来を上述したように判断すれば、各稼動量に対応する条件の内、条件を満足するまでに要する時間の長い条件に合わせて、検査が行われる。即ち、ユーザの利用形態に一番適切な条件に合わせて、検査が行われる。従って、複数種類の稼動量を用いれば、単一種類の稼動量を表す情報に基づき、検査時期が到来したか否かを判断するよりも、一層適切な時期に特定処理の検査を行うことができる。
【００１８】
尚、車載装置は、稼動量取得手段及び日時取得手段を備え、時期判断手段は、稼動量取得手段の取得情報が表す稼動量が予め設定された第一の条件を満足、且つ、日時取得手段の取得情報が表す現在日時が予め設定された第二の条件を満足する度に、検査時期が到来したと判断する構成にされてもよい。この車載装置によれば、同様の理由により、走行距離などの単一種類の稼動量を表す情報に基づき、検査時期が到来したか否かを判断するよりも、一層適切な時期に特定処理の検査を行うことができる。
【００１９】
また、複数条件の満足／不満足により検査時期が到来したか否かを判断する車載装置には、全条件が満足されて検査時期が到来したと判断されるタイミング、及び、各条件が個別に満足されるタイミングの時間的なズレに基づき、各条件を補正する補正手段を設けるとよい。上記補正手段を設ければ、ユーザによる車両の利用形態のバラツキにも一層適切に対応して、適切な時期に検査を行うことができる。
【００２０】
尚、上述したように、設計段階では、ユーザによる車両の利用形態のバラツキを考慮して上記条件を厳しく設定するのが好ましいが、このように初期の条件を設定する場合には、補正手段を次のように構成することができる。
【００２１】
即ち、補正手段は、上記各条件が満足されるまでの要する時間を、全ての条件が満足されるまでに要した時間に近づける方向に、各条件を補正する構成にすることができる。このようにすれば、ユーザの利用形態のバラツキを勘定して厳しく設定した各条件を、ユーザの利用形態に合わせて適切な条件に補正することができて、必要十分な間隔で、検査を行うことができる。
【００２２】
具体的に、複数種類の稼動量に基づき検査時期が到来したか否かを判断する場合、上述の時期判断手段は、稼動量の種類毎に、当該種類の稼動量に対し個別に設定された規定量、当該種類の稼動量が増加したか否かを判断することにより、当該種類の稼動量が上記条件を満足したか否かを判断する構成にすることができる。
【００２３】
そして、補正手段は、稼動量の種類毎に、当該稼動量が個別の上記条件を満足した時点から各種類の稼動量に対応した条件の全てが満足されるまでの期間に増加した当該種類の稼動量の増加量を特定し、この増加量の所定割合を、当該種類の稼動量に対応する上記規定量に加算して、上記規定量を補正する構成にすることができる。
【００２４】
同様に、稼動量及び日時に基づき検査時期が到来したか否かを判断する場合、上述の時期判断手段は、当該稼動量が予め設定された第一の規定量増加すると上記第一の条件が満足されたと判断し、日時取得手段の取得情報が表す現在日時が予め設定された第二の規定量増加すると上記第二の条件が満足されたと判断することができる。
【００２５】
そして、補正手段は、稼動量が第一の条件を満足した後に第二の条件が満足された場合には、当該稼動量が第一の条件を満足した時点から第一及び第二の条件の両者が満足されるまでの期間に増加した当該稼動量の増加量の所定割合を、第一の規定量に加算して、第一の規定量を補正し、日時取得手段の取得情報が表す現在日時が予め設定された第二の条件を満足した後に第一の条件が満足された場合には、当該第二の条件が満足された時点から第一及び第二の条件の両者が満足されるまでの期間に経過した時間の所定割合を、第二の規定量に加算することで、第二の規定量を補正する構成にすることができる。
【００２６】
ところで、上記車載装置は、検査手段による検査結果を、車両内の警告ランプ等で車両乗員に報知する構成にすることができるが、検査手段による検査結果を表す情報を車両外の装置に出力する外部出力手段を備える構成にされてもよい。このように車載装置を構成すれば、車検時やディーラ等での車両診断時に上記特定処理の異常を作業者に報知することができ、異常部位の修理を促すことができて、車両の安全確保に役立つ。
【００２７】
また、時期判断手段は、車両の始動時又は運転終了時に限って単発的に動作する構成にされるのが好ましい。このように、時期判断手段の動作を車両始動時又は運転終了時に限れば、検査のために、車両走行時に突然上記特定処理が行われるのを回避することができ、車両の安全を確保することができる時期に、検査を行うことができる。
【００２８】
また、上述した発明は、内蔵するプログラム領域に格納されたプログラムを実行するマイクロコンピュータを備え、プログラム領域に格納された車両制御用のプログラムをマイクロコンピュータで実行して、所定の車両制御を実現する構成にされた車載装置に適用することができる。
【００２９】
そして、この種の車載装置に、本発明を適用する場合には、マイクロコンピュータを上記各手段として機能させるためのプログラムを上記プログラム領域に格納して、マイクロコンピュータに上記各手段としての機能を実現させるように、車載装置を構成することができる。
【００３０】
また、監視対象部位は、マイクロコンピュータとすることができ、特定処理は、監視対象部位としてのマイクロコンピュータをリセットするための処理とすることができる。尚、特定処理に対応するプログラムの先頭には、ノンオペレーションコードを挿入して、当該ノンオペレーションコードによりプログラム領域の空き領域を充填するとよい。このように、特定処理に対応するプログラムを構成すれば、マイクロコンピュータによるプログラム領域を隅々まで検査することができる。
【図面の簡単な説明】
【００３１】
【図１】電子制御装置１の構成を表すブロック図である。
【図２】ウォッチドッグ（ＷＤ）信号の出力波形を表す図である。
【図３】ＣＰＵ１８１が実行するＷＤ異常出力処理を表すフローチャートである。
【図４】ＣＰＵ１８１が実行するメインルーチンを表すフローチャートである。
【図５】ＣＰＵ１８１が実行する通常処理ルーチンを表すフローチャートである。
【図６】第二実施例のメインルーチンを表すフローチャートである。
【図７】第三実施例のメインルーチンを表すフローチャートである。
【図８】第四実施例のメインルーチンを表すフローチャートである。
【図９】第五実施例の電子制御装置１’の構成を表すブロック図である。
【図１０】第五実施例のメインルーチンを表すフローチャートである。
【図１１】第六実施例のメインルーチンを表すフローチャートである。
【図１２】第七実施例のメインルーチンを表すフローチャートである。
【図１３】第八実施例のメインルーチンを表すフローチャートである。
【図１４】ノンオペレーションコードを挿入した例に関する説明図である。
【発明を実施するための形態】
【００３２】
以下に本発明の実施例について、図面と共に説明する。
［第一実施例］
図１に示すように、本実施例の電子制御装置１は、電源・監視回路１１と、入出力回路１３と、送受信回路１５と、ＥＥＰＲＯＭ１７と、マイクロコンピュータ１８（以下、マイコンと称する。）と、を備える。この電子制御装置１は、車両（四輪自動車）に搭載されて、車両制御を実現する。
【００３３】
電源・監視回路１１は、電源回路１１１及び監視回路１１３を内蔵するものであり、バッテリ３にイグニッションスイッチＳＷを介して接続される。電源回路１１１は、イグニッションスイッチＳＷがオンにされているとき、バッテリ３からの入力電圧を５Ｖ電圧に変換し、マイコン１８等を含む装置内各部に電力供給する。
【００３４】
一方、監視回路１１３は、マイコン１８にリセット信号を入力するものである。電源・監視回路１１は、ウォッチドッグ（ＷＤ）信号が出力されるマイコン１８のＷＤ端子に接続されている。監視回路１１３は、マイコン１８のＷＤ端子から出力されるウォッチドッグ信号に基づき、リセット信号としてハイ／ロウ信号をマイコン１８のＲＥＳオーバーライン端子に入力する。
【００３５】
具体的には、図２（ａ）に示すように、ウォッチドッグ信号が一定時間Ｔ０内にハイ／ロウ信号に切り替わる正常な信号である場合、リセット信号としてハイ信号をマイコン１８に入力する。一方、図２（ｂ）に示すように、ウォッチドッグ信号が上記一定時間Ｔ０よりも長い時間ハイ信号（又はロウ信号）を継続する異常な信号である場合、リセット信号としてロウ信号をマイコン１８に入力する。
【００３６】
マイコン１８は、電源・監視回路１１からリセット信号としてロウ信号が入力されると自己のリセット動作を行う。このため、ウォッチドッグ信号が異常である場合、監視回路１１３の上記動作により、マイコン１８は、リセットされる。
【００３７】
また、入出力回路１３は、センサや制御対象に接続されて、これらの装置とマイコン１８との間の信号入出力を行うものである。本実施例の入出力回路１３には、電子制御装置１が制御する対象である電動ステアリング装置４が接続されている。即ち、本実施例の電子制御装置１は、入出力回路１３を介して、電動ステアリング装置４に制御信号を入力することにより、上記車両制御として、ステアリング制御を実現する。
【００３８】
この他、送受信回路１５は、通信信号を送受信して、車内ＬＡＮに接続されたノードとの通信を実現する回路である。車内ＬＡＮには、自車の走行距離等の情報を管理するメータＥＣＵ５が設けられており、電子制御装置１が備える送受信回路１５は、このメータＥＣＵ５と通信可能に設置されている。この他、車内ＬＡＮには、車外装置を車内ＬＡＮに接続するためのコネクタＣＮが設けられており、送受信回路１５は、このコネクタＣＮを通じて車外装置と通信可能に設置されている。コネクタＣＮには、例えば、車両診断装置（所謂ダイアグ装置）７が接続される。
【００３９】
また、マイコン１８に接続された電気的にデータ書換可能な不揮発性メモリであるＥＥＰＲＯＭ１７は、データ記憶領域として機能する。例えば、ＥＥＰＲＯＭ１７には、マイコン１８による処理実行時に更新されるデータであって、イグニッションスイッチがオフにされた際にも記憶保持すべきデータが格納される（詳細後述）。
【００４０】
マイコン１８は、ＣＰＵ１８１と、ＲＯＭ１８２と、ＣＰＵ１８１による各種処理実行時に作業領域として使用されるＲＡＭ１８３と、ウォッチドッグ（ＷＤ）信号を電源・監視回路１１に出力するＷＤ出力回路１８５と、割込コントローラ１８７と、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）コントローラ１８９と、を備える。
【００４１】
ＲＯＭ１８２は、ＣＰＵ１８１が実行するプログラムを記憶するものであり、プログラム記憶領域として機能する。具体的に、ＲＯＭ１８２には、電子制御装置１の主たる機能を実現するためのメインプログラムＰｒ１の他、異常発生時にウォッチドッグ信号を異常出力するためのプログラムであるＷＤ異常出力処理プログラムＰｒ２が格納されている。
【００４２】
この他、ＷＤ出力回路１８５は、ＣＰＵ１８１によってハイに設定された場合、ＷＤ端子からウォッチドック信号としてハイ信号を出力し、ＣＰＵ１８１によってロウに設定された場合には、ＷＤ端子からウォッチドック信号としてロウ信号を出力する回路である。
【００４３】
また、ＣＡＮコントローラ１８９は、ＣＡＮプロトコルに従う通信制御回路であり、送受信回路１５を通じて車内ＬＡＮに接続されたノードと通信する。この他、割込コントローラ１８７は、マイコン１８のＩＮＴオーバーライン端子（以下、単に「ＩＮＴ端子」と表現する。）から入力される信号がハイからロウ信号に切り替わることによって生じる立下りエッジを検出したことを契機に、ＣＰＵ１８１に割込信号を入力する。
【００４４】
ＣＰＵ１８１は、割込信号の入力を受けると、ＲＯＭ１８２が記憶するベクタテーブルに登録されたアドレスにジャンプし、当該アドレスに対応するプログラムに従う処理を実行する。具体的に、ベクタテーブルには、上記ＷＤ異常出力処理プログラムＰｒ２に対応するメモリアドレスが登録されており、ＣＰＵ１８１は、割込信号が入力されると、ＷＤ異常出力処理プログラムＰｒ２に従うＷＤ異常出力処理（図３参照：詳細後述）を実行する。
【００４５】
尚、本実施例の電子制御装置１においては、図１に示すように、マイコン１８の稼動時、ＩＮＴ端子には通常ハイ信号が入力される。即ち、ＷＤ異常出力処理をマイコン１８に実行させるための割込信号は通常時発生しないように電子制御装置１は設計されている。
【００４６】
この割込信号は、電子制御装置１の製品出荷時に、出荷検査装置９によりＩＮＴ端子が接地されることで発生し、このとき、マイコン１８ではＷＤ異常出力処理が実行される。即ち出荷時には、上記接地により、ウォッチドッグ信号を異常出力させて、正常にフェールセーフ処理が働き、マイコン１８がリセットされるか否かを検査する。尚、本実施例では、ＷＤ異常出力処理の実行を契機としてマイコン１８がリセットされるまでの一連の処理を、フェールセーフ処理と表現する。
【００４７】
この出荷検査装置９は、コネクタＣＮにも接続され、出荷時の検査によるＷＤ異常出力処理の実行結果は、車内ＬＡＮを通じて出荷検査装置９に提供される。これにより、ＷＤ異常出力処理の実行によるマイコン１８のリセット動作が正常であるか否かが検査者により判断される。
【００４８】
ちなみに、ＩＮＴ端子を通じた割込による上記検査は、出荷検査装置９のような専用ツールを用いた特殊な作業となる。このため、当該作業は、基本的に出荷時のみに行われる。換言すると、本実施例では、出荷後にディーラ等がＩＮＴ端子を通じた割込により上記検査を行うことは、特殊な場合を除いてできないことを想定している。本実施例では、このような不都合を解消するため、適当な時期に自動的に検査を行う機能を電子制御装置１に設けている。この機能を実現するための処理の詳細については、後述する。
【００４９】
続いて、ＷＤ異常出力処理プログラムＰｒ２に基づき、ＣＰＵ１８１が実行するＷＤ異常出力処理の詳細を説明する。図３に示すＷＤ異常出力処理を開始すると、ＣＰＵ１８１は、ＷＤ出力回路１８５をハイに設定する（Ｓ１１０）。
【００５０】
本実施例の電子制御装置１では、メインルーチンに、ウォッチドッグ信号のハイ／ロウを一定時間Ｔ０内に切り替えるための手順が組み込まれており、メインルーチンの実行時には、ウォッチドッグ信号の正常出力を目的として、ウォッチドッグ信号のハイ／ロウ切替が一定時間内Ｔ０に行われる。但し、ＷＤ異常出力処理とメインルーチンとが並列動作することはない。
【００５１】
このため、Ｓ１１０でＷＤ出力回路１８５がハイに設定されると、ＷＤ異常出力処理の実行中には、ＷＤ出力回路１８５の設定がハイに維持され、ＷＤ端子からはウォッチドッグ信号がハイ信号で継続的に出力される。即ち、Ｓ１１０の処理は、マイコン１８から電源・監視回路１１に対してウォッチドッグ信号を異常出力するためのものであって、マイコン１８のリセット動作に関する異常の有無を検査するトリガとなる処理である。
【００５２】
Ｓ１１０での処理を終えると、ＣＰＵ１８１は、ＥＥＰＲＯＭ１７が記憶するフラグｆ（後述するＳ２３０参照）を、オフを表す値に更新すると共に（Ｓ１２０）、割込フラグＩｎｔをオフに設定する（Ｓ１３０）。尚、割込フラグＩｎｔは、割込コントローラ１８７が有するものであり、ＩＮＴ端子から立下りエッジが入力されるとオンに設定される。ここでは、割込によるＷＤ異常出力処理に対応するため、割込フラグＩｎｔをオフに設定する。
【００５３】
Ｓ１３０での処理を終えると、ＣＰＵ１８１は、変数ｉの値（以下、値ｉと表現する。）をゼロに初期化し（Ｓ１４０）、Ｓ１５０に移行する。そして、Ｓ１５０では、値ｉが予め定められた定数Ｔ１を超えたか否かを判断し（Ｓ１５０）、超えていない場合には（Ｓ１５０でＮｏ）、値ｉを１カウントアップし（Ｓ１８０）、Ｓ１５０に移行する。
【００５４】
一方、値ｉが定数Ｔ１を超えている場合には（Ｓ１５０でＹｅｓ）、値ｉをゼロに初期化し（Ｓ１６０）、ＥＥＰＲＯＭ１７が記憶する変数ｌｏｏｐの値（以下、値ｌｏｏｐと表現する。）を１加算した値に更新する（Ｓ１７０）。その後、Ｓ１８０に移行する。
【００５５】
このようにして、Ｓ１４０からＳ１５０への移行後は、値ｉを周期的にカウントアップし（Ｓ１８０）、一定時間（定数Ｔ１に対応する時間）の経過毎に、ＥＥＰＲＯＭ１７が記憶する値ｌｏｏｐを１カウントアップする処理を実行する。
【００５６】
尚、このＷＤ異常出力処理は、無限ループで構成されるため、一旦実行されるとマイコン１８がリセットされるまで継続的に実行される。そして、リセットされるまでに要した時間に対応する値ｌｏｏｐが、リセット後においても揮発せずにＥＥＰＲＯＭ１７に記憶保持される。ちなみに、値ｉは、ＲＡＭ１８３に記憶保持されるため、リセットと共に揮発する。
【００５７】
続いて、ＣＰＵ１８１が起動と共に、ＲＯＭ１８２が記憶するメインプログラムＰｒ１に従って実行を開始するメインルーチンについて説明する。上述したように、メインルーチンには、ウォッチドッグ信号のハイ／ロウを一定時間Ｔ０内に切り替えるための手順が組み込まれているが、図４に示すフローチャートでは、この手順に係るステップを省略する。
【００５８】
図４に示すメインルーチンを開始すると、ＣＰＵ１８１は、ＥＥＰＲＯＭ１７が記憶する車両の始動回数を表す変数Ｃｎｔの値（以下、車両始動回数Ｃｎｔと表現する。）及び判定基準値Ｎを読出し、車両始動回数Ｃｎｔが判定基準値Ｎ以上であるか否かを判断することで、検査時期の判断を行う（Ｓ２１０）。尚、判定基準値Ｎは、車両始動回数Ｃｎｔからフェールセーフ処理の検査時期を判断するためのものであり、設計段階で定められる。
【００５９】
そして、車両始動回数Ｃｎｔが判定基準値Ｎ未満である場合には、検査時期が到来していないと判断して（Ｓ２１０でＮｏ）、ＥＥＰＲＯＭ１７が記憶する車両始動回数Ｃｎｔを１加算した値に更新し（Ｓ２２０）、Ｓ２４０に移行する。一方、車両始動回数Ｃｎｔが判定基準値Ｎ以上である場合には、検査時期が到来したと判断して（Ｓ２１０でＹｅｓ）、ＥＥＰＲＯＭ１７が記憶する車両始動回数Ｃｎｔ及び値ｌｏｏｐを初期化すると共に、ＥＥＰＲＯＭ１７が記憶するフラグｆ及びフラグｒｅｓをオンを表す値に更新し（Ｓ２３０）、その後、Ｓ２４０に移行する。
【００６０】
Ｓ２４０に移行すると、ＣＰＵ１８１は、図５に示す通常処理ルーチンを実行し、Ｓ２４０の処理実行後には、この通常処理ルーチンの実行結果に基づき、マイコン１８に異常が発生しているか否かを判断する（Ｓ２５０）。Ｓ２５０では、例えば、後述するＳ３１０の処理の実行結果が正常であるか否かを判断することで、マイコン１８に異常が発生しているか否かを判断する。
【００６１】
そして、マイコン１８に異常が発生していると判断すると（Ｓ２５０でＹｅｓ）、上述したＷＤ異常出力処理にジャンプして、当該メインルーチンを終了すると共に、図３に示すＷＤ異常出力処理を実行する。
【００６２】
一方、マイコン１８に異常が発生していないと判断すると（Ｓ２５０でＮｏ）、ＣＰＵ１８１は、ＥＥＰＲＯＭ１７が記憶するフラグｆを読出して、フラグｆがオンに設定されているか否かを判断し（Ｓ２６０）、フラグｆがオンに設定されている場合には（Ｓ２６０でＹｅｓ）、Ｓ２７０に移行して、上述したＷＤ異常出力処理にジャンプし、メインルーチンを終了すると共に、図３に示すＷＤ異常出力処理を実行する。
【００６３】
この他、フラグｆがオフに設定されている場合には（Ｓ２６０でＮｏ）、Ｓ２４０に移行して、マイコン１８に異常が発生するかフラグｆがオンに設定されるまで、繰返し図５に示す通常処理ルーチンを実行する。但し、フラグｆをオンに設定する動作は、Ｓ２３０でマイコン起動時に一度のみ実行されるため、マイコン起動時にＳ２３０の処理が実行されない場合には、その後、マイコン１８が再起動されるまで、フラグｆがオンに設定されることはない。このような処理手順により、本実施例では、車両走行中に検査目的でＷＤ異常出力処理が実行されないようにしている。
【００６４】
続いて、図５を用いて通常処理ルーチンの内容を説明する。図５に示す通常処理ルーチンを開始すると、ＣＰＵ１８１は、電子制御装置１の主機能にかかる処理一般を実行する（Ｓ３１０）。
【００６５】
また、Ｓ３１０の処理後には、Ｓ３２０に移行し、ウォッチドッグ信号が正常出力されていると判断して、マイコン１８によるウォッチドッグ信号の正常出力動作が「正常」である旨のダイアグ情報を、ＥＥＰＲＯＭ１７に記録する（Ｓ３２０）。
【００６６】
ここで、ウォッチドッグ信号が正常出力されていると判断する理由は、Ｓ３１０の処理時間が上述したウォッチドッグ信号の異常出力が検知される時間Ｔ０よりも十分長いためである。即ち、ウォッチドッグ信号が正常出力されていない場合には、Ｓ３２０の実行前に、マイコン１８がリセットされて、Ｓ３２０の処理を実行することができない。このことを理由として、Ｓ３２０では、ウォッチドッグ信号が正常出力されていると判断する。
【００６７】
Ｓ３２０での処理を終えると、ＣＰＵ１８１は、Ｓ３３０に移行し、ＥＥＰＲＯＭ１７が記憶するフラグｆ及びフラグｒｅｓを読出して、フラグｆがオフに設定され、且つ、フラグｒｅｓがオンに設定されているか否かを判断する。尚、検査時期が到来したことによりＷＤ異常出力処理が実行され、これに起因してマイコン１８がリセットされた後の初回の通信処理ルーチン実行時には、フラグｆがオフ且つフラグｒｅｓがオンに設定されている状態となる。このとき、ＣＰＵ１８１は、Ｓ３３０で肯定判断してＳ３４０に移行し、上記状態以外の場合には、Ｓ３３０で否定判断してＳ４００に移行する。
【００６８】
Ｓ３４０に移行すると、ＣＰＵ１８１は、ＥＥＰＲＯＭ１７が記憶するフラグｒｅｓの値を、オフを表す値に更新して、Ｓ３５０に移行し、ＥＥＰＲＯＭ１７が記憶する値ｌｏｏｐが予め定められた判定基準値ｌｏｏｐ０を超えているか否かを判断する。尚、判定基準値ｌｏｏｐ０は、監視回路１１３がウォッチドッグ信号の異常出力を検知しマイコン１８をリセットするのに要する時間を考慮して設計段階で定められる。
【００６９】
そして、ＥＥＰＲＯＭ１７が記憶する値ｌｏｏｐが予め定められた判定基準値ｌｏｏｐ０を超えている場合には（Ｓ３５０でＹｅｓ）、ＥＥＰＲＯＭ１７が記憶する値ｌｏｏｐをゼロに初期化すると共に（Ｓ３６０）、フェールセーフ処理に異常は認められないとして、マイコン１８によるウォッチドッグ信号の異常出力動作が「正常」である旨のダイアグ情報を、ＥＥＰＲＯＭ１７に記録する（Ｓ３７０）。その後、Ｓ４００に移行する。
【００７０】
一方、ＥＥＰＲＯＭ１７が記憶する値ｌｏｏｐが予め定められた判定基準値ｌｏｏｐ０以下である場合には（Ｓ３５０でＮｏ）、ＥＥＰＲＯＭ１７が記憶する値ｌｏｏｐをゼロに初期化すると共に（Ｓ３８０）、フェールセーフ処理に異常が認められるとして、マイコン１８によるウォッチドッグ信号の異常出力動作が「異常」である旨のダイアグ情報を、ＥＥＰＲＯＭ１７に記録する（Ｓ３９０）。その後、Ｓ４００に移行する。
【００７１】
尚、Ｓ３９０では、併せて、車両運転席前方にある表示手段等を利用して異常をユーザに報知するとよい。具体的には、警告灯を点灯させる処理を実行することができる。
ちなみに、ｌｏｏｐ≦ｌｏｏｐ０である場合にフェールセーフ処理が異常であると取り扱うのは、マイコン１８がリセットされるまでの時間が、正常時に予想される時間よりも早いと、フェールセーフ処理が実行する必要のない時期にも実行されて、マイコン１８がリセットされることで、車両安全上の問題が発生する可能性があるためである。一方、ｌｏｏｐ＞ｌｏｏｐ０である場合には、上記問題が発生する可能性がないため、「正常」であると取り扱う。
【００７２】
また、リセット動作そのものが働かない場合には、検査開始後において通常処理ルーチンが実行されないため、ここでは、リセット動作そのものが働かない異常を考慮しない。但し、リセット動作そのものが働かない場合には、マイコン１８がリセットされないことからメインルーチンそのものが実行されないし、検査自体はマイコン起動時の車両安全上問題のない時期に行われるため、このことが車両安全上大きな問題となることはない。
【００７３】
更に、検査目的で図３に示すＷＤ異常出力処理を実行する際には、Ｓ２６０で肯定判断した後、Ｓ２７０に移行するまでのプロセスで、検査を開始する旨のメッセージを上記表示手段に表示するなどして、この旨をユーザに報知し、Ｓ３７０，Ｓ３９０で、ＥＥＰＲＯＭ１７に記録するダイアグ情報と同内容の検査結果を、上記表示手段等を通じてユーザに報知すれば、いつまでも検査結果が報知されない事象により、フェールセーフ処理の異常をユーザに間接的に報知することができる。
【００７４】
Ｓ４００に移行すると、ＣＰＵ１８１は、車内ＬＡＮを通じて車両診断装置７等の車外装置からダイアグ情報を要求する旨の要求信号を受信したか否かを判断し（Ｓ４００）、要求信号を受信した場合には（Ｓ４００でＹｅｓ）、Ｓ４１０に移行して、要求信号に対応するダイアグ情報をＥＥＰＲＯＭ１７から読み出し、これを車内ＬＡＮを通じて要求元装置に送信する。具体的には、ウォッチドッグの異常出力に関するダイアグ情報の要求信号を受信した場合には、Ｓ３７０，Ｓ３９０でＥＥＰＲＯＭ１７に記録したダイアグ情報を、要求元装置に送信する。その後、通常処理ルーチンを一旦終了する。
【００７５】
一方、上記要求信号を受信していない場合には、Ｓ４１０に移行することなく、当該通常処理ルーチンを一旦終了する。
以上、本実施例の電子制御装置１について説明したが、「特許請求の範囲」記載の特定処理は、ＷＤ異常出力処理に対応する。また、異常時対応手段としての機能は、Ｓ２５０で処理を切り替える動作により実現され、時期判断手段としての機能は、Ｓ２１０，Ｓ２６０の処理により実現され、検査手段は、Ｓ２６０での判断結果に従い処理を切り替える動作及びＳ３３０〜Ｓ３９０の処理により実現され、稼動量取得手段は、Ｓ２２０の処理及びＳ２１０でＥＥＰＲＯＭ１７から車両始動回数Ｃｎｔの情報を取得する動作にて実現されている。また、外部出力手段は、Ｓ４１０の処理により実現されている。
【００７６】
本実施例の電子制御装置１によれば、フェールセーフ処理の検査を、車両始動回数Ｃｎｔに基づいて適切な時期に自動で実行することができ、フェールセーフ処理が正常実行されない車両安全上好ましくない状態が放置されるのを抑えることができる。従って、この電子制御装置１によれば、車両の安全性を高めることができる。
【００７７】
尚、判定基準値Ｎは、機能安全規格（ＩＥＣ６１５０８）の考え方に従って、検査の実行間隔が、異常（ランダムフォルト）が発生するまでの車載装置（電子制御装置１）の平均稼動時間Ｔの１／２時間（Ｔ／２）を超えないように設計段階で定められるのが好ましい。但し、高頻度に検査を行うと、ユーザに不満が及ぶので、検査の実行間隔が短すぎるのは好ましくない。従って、判定基準値Ｎは、想定される車両の利用形態での車両始動回数と電子制御装置１の稼動時間との対応関係に従って、適切に定められるのが好ましい。
【００７８】
また、始動一回当りの電子制御装置１の稼働時間はユーザ毎に異なるので、判定基準値Ｎの調整により検査間隔を調整するのにも限界がある。従って、電子制御装置１は、車両の走行距離に基づいて、検査時期が到来したか否かを判断する構成にされてもよい。
【００７９】
［第二実施例］
続いて、車両の走行距離に基づいて検査間隔を調整する第二実施例の電子制御装置１について説明する。但し、第二実施例の電子制御装置１は、ＣＰＵ１８１が実行するメインルーチンの内容が異なる程度であり、他の構成は、第一実施例と基本的に同じである。従って、以下では、図６を用いて第二実施例のメインルーチンの内容を選択的に説明する。
【００８０】
本実施例の電子制御装置１におけるＣＰＵ１８１は、図６に示すように、メインルーチンを開始すると、ＥＥＰＲＯＭ１７が記憶する車両の走行距離を表す変数Ｔｒｉの値（以下、走行距離Ｔｒｉと表現する。）及びＥＥＰＲＯＭ１７が記憶する判定基準値Ｋを読出し、走行距離Ｔｒｉが、判定基準値Ｋ以上であるか否かを判断する（Ｓ５１０）。
【００８１】
尚、出荷時においてＥＥＰＲＯＭ１７が記憶する走行距離Ｔｒｉは値ゼロ、判定基準値Ｋは値ΔＫである。本実施例では、走行距離Ｔｒｉが所定距離増加する度、検査時期が到来したと判断するが、値ΔＫは、その検査時期が到来したと判断する走行距離Ｔｒｉの増加量である。値ΔＫは、第一実施例と同様の思想に基づき設計段階で予め定めることができる。即ち、想定される車両の利用形態の範囲で、検査の実行間隔が異常（ランダムフォルト）が発生するまでの電子制御装置１の平均稼動時間Ｔの１／２時間（Ｔ／２）を超えないように定めることができる。
【００８２】
走行距離Ｔｒｉが判定基準値Ｋ未満である場合、ＣＰＵ１８１は、検査時期が到来していないと判断して（Ｓ５１０でＮｏ）、Ｓ５３０に移行する。一方、走行距離Ｔｒｉが判定基準値Ｋ以上である場合には、検査時期が到来したと判断して（Ｓ５１０でＹｅｓ）、Ｓ５２０に移行し、ＥＥＰＲＯＭ１７が記憶する判定基準値Ｋを、値ΔＫ加算した値に更新すると共に、ＥＥＰＲＯＭ１７が記憶する値ｌｏｏｐを値ゼロに初期化する。更に、ＥＥＰＲＯＭ１７が記憶するフラグｆ及びフラグｒｅｓを、オンを表す値に更新する。その後、Ｓ５３０に移行する。
【００８３】
Ｓ５３０では、ＣＡＮコントローラ１８９及び送受信回路１５を通じて、車内ＬＡＮに接続されたメータＥＣＵ５から、現時点での車両の走行距離（累積）を表す値Ｍ＿Ｔｒｉを取得し、ＥＥＰＲＯＭ１７が記憶する走行距離Ｔｒｉを、メータＥＣＵ５からの取得値Ｍ＿Ｔｒｉに更新する（Ｓ５３０）。その後、Ｓ５４０〜Ｓ５７０の処理を実行する。
【００８４】
尚、Ｓ５４０〜Ｓ５７０の処理は、第一実施例におけるＳ２４０〜Ｓ２７０の処理と同様である。即ち、Ｓ５２０でフラグｆをオンに設定した場合又はマイコン１８に異常が発生した場合には、ＷＤ異常出力処理にジャンプし、それ以外の場合には、通常処理ルーチンを繰返し実行する。
【００８５】
以上、第二実施例について説明したが、「特許請求の範囲」記載の異常時対応手段としての機能は、本実施例においてＳ５５０で処理を切り替える動作により実現され、時期判断手段としての機能は、Ｓ５１０，Ｓ５６０の処理で実現され、検査手段は、Ｓ５６０での判断結果に従い処理を切り替える動作及びＳ３３０〜Ｓ３９０の処理により実現され、稼動量取得手段は、Ｓ５３０の処理にて実現されている。
【００８６】
本実施例によれば、車両始動回数Ｃｎｔに代えて走行距離Ｔｒｉに基づき、検査時期が到来したか否かを判断するので、車両始動回数Ｃｎｔに基づいて検査時期が到来したか否かを判断する場合よりも、ユーザによる車両利用形態のバラツキの影響を抑えて、適切な時間間隔で検査をすることができる。
【００８７】
即ち、値ΔＫを、検査間隔が、ランダムフォルトが発生するまでの電子制御装置１の平均稼動時間Ｔの１／２時間（Ｔ／２）を超えず、且つ、冗長に短くならない適切な値に設定することができる。但し、本実施例の場合にはメータＥＣＵ５にアクセスする必要があるので、第一実施例よりも検査時期を調整するための処理が複雑になる。
【００８８】
この他、電子制御装置１は、日時の情報に基づいて、検査時期が到来したか否かを判断する構成にされてもよい。
［第三実施例］
続いて、第三実施例について説明する。但し、第三実施例の電子制御装置１は、ＣＰＵ１８１が実行するメインルーチンの内容が異なる程度であり、他の構成は、第一実施例の電子制御装置１と基本的に同じである。従って、以下では、図７を用いて、第三実施例のメインルーチンの内容を選択的に説明する。
【００８９】
本実施例の電子制御装置１におけるＣＰＵ１８１は、メインルーチンを開始すると、ＥＥＰＲＯＭ１７が記憶する車両（換言すれば電子制御装置１）の前回始動日時を表す変数Ｄａｔの値（以下、前回始動日時Ｄａｔと表現する。）及びＥＥＰＲＯＭ１７が記憶する判定基準日時Ｄを読出し、前回始動日時Ｄａｔが判定基準日時Ｄに到達したか否かを判断する（Ｓ６１０）。
【００９０】
尚、出荷時においてＥＥＰＲＯＭ１７が記憶する前回始動日時Ｄａｔは、出荷検査日時Ｄ０に設定され、判定基準日時Ｄは、出荷検査日時Ｄ０より値ΔＤ大きい値（Ｄ０＋ΔＤ）に設定されている。
【００９１】
本実施例では、所定時間経過する度、検査時期が到来したと判断するが、値ΔＤは、その所定時間に対応するものであり、第一実施例と同様の思想に基づき設計段階で予め定められる。即ち、値ΔＤについては、想定される車両の利用形態の範囲で、検査の実行間隔が、異常（ランダムフォルト）が発生するまでの電子制御装置１の平均稼動時間Ｔの１／２時間（Ｔ／２）を超えないように設計段階で定めることができる。
【００９２】
前回始動日時Ｄａｔが判定基準日時Ｄに到達していない場合、ＣＰＵ１８１は、検査時期が到来していないと判断して（Ｓ６１０でＮｏ）、Ｓ６３０に移行する。一方、前回始動日時Ｄａｔが判定基準日時Ｄに到達している場合、ＣＰＵ１８１は、検査時期が到来したと判断して（Ｓ６１０でＹｅｓ）、Ｓ６２０に移行する。
【００９３】
Ｓ６２０では、ＥＥＰＲＯＭ１７が記憶する判定基準日時Ｄを、値ΔＤ加算した値に更新すると共に、ＥＥＰＲＯＭ１７が記憶する値ｌｏｏｐを値ゼロに初期化する。更に、ＥＥＰＲＯＭ１７が記憶するフラグｆ及びフラグｒｅｓを、オンを表す値に更新する。その後、Ｓ６３０に移行する。
【００９４】
また、Ｓ６３０では、ＣＡＮコントローラ１８９及び送受信回路１５を通じて、メータＥＣＵ５から、メータＥＣＵ５が保持する現在日時ＮＴの情報を取得し、ＥＥＰＲＯＭ１７が記憶する前回始動日時Ｄａｔを、メータＥＣＵ５からの取得値ＮＴに更新する（Ｓ６３０）。その後、Ｓ６４０〜Ｓ６７０の処理を実行する。尚、Ｓ６４０〜Ｓ６７０の処理は、第一実施例におけるＳ２４０〜Ｓ２７０の処理と同様である。
【００９５】
以上、第三実施例について説明したが、「特許請求の範囲」記載の異常時対応手段としての機能は、本実施例においてＳ６５０で処理を切り替える動作により実現され、時期判断手段としての機能は、Ｓ６１０，Ｓ６６０で実現され、検査手段は、Ｓ６６０の判断結果に従い処理を切り替える動作及びＳ３３０〜Ｓ３９０の処理により実現され、稼動量取得手段は、Ｓ６３０の処理にて実現されている。
【００９６】
本実施例によっても、他の実施例と程度の差はあるものの適切な時期に検査を自動で実行することができて、車両の安全性を高めることができる。
［第四実施例］
続いて、第四実施例について説明する。但し、第四実施例の電子制御装置１は、ＣＰＵ１８１が実行するメインルーチンの内容が異なる程度であり、他の構成は、第一実施例の電子制御装置１と基本的に同じである。従って、以下では、図８を用いて、第四実施例のメインルーチンの内容を選択的に説明する。
【００９７】
図８に示すように、本実施例の電子制御装置１におけるＣＰＵ１８１は、メインルーチンを開始すると、ＥＥＰＲＯＭ１７が記憶する累積稼動時間を表す変数Ａｃｃの値（以下、累積稼動時間Ａｃｃと表現する。）及びＥＥＰＲＯＭ１７が記憶する判定基準値Ａを読出し、累積稼動時間Ａｃｃが判定基準値Ａ以上であるか否かを判断する（Ｓ７１０）。
【００９８】
尚、出荷時においてＥＥＰＲＯＭ１７が記憶する累積稼動時間Ａｃｃは値ゼロに設定され、判定基準値Ａは、第一実施例と同様の思想に基づき予め定められる。例えば、判定基準値Ａは、検査の実行間隔が異常（ランダムフォルト）が発生するまでの累積稼動時間Ａｃｃの平均Ｔの１／２時間（Ｔ／２）に定められる。
【００９９】
そして、累積稼動時間Ａｃｃが判定基準値Ａ未満である場合には、検査時期が到来していないと判断して（Ｓ７１０でＮｏ）、Ｓ７３０に移行する。一方、累積稼動時間Ａｃｃが判定基準値Ａ以上である場合には、検査時期が到来したと判断して（Ｓ７１０でＹｅｓ）、Ｓ７２０に移行する。
【０１００】
Ｓ７２０では、ＥＥＰＲＯＭ１７が記憶する累積稼動時間Ａｃｃ及び値ｌｏｏｐを値ゼロに初期化すると共に、ＥＥＰＲＯＭ１７が記憶するフラグｆ及びフラグｒｅｓを、オンを表す値に更新する。その後、Ｓ７３０に移行する。
【０１０１】
Ｓ７３０では、累積稼動時間Ａｃｃの前回更新時点から、予め定められた時間ΔＡが経過したか否かを判断する。そして時間ΔＡが経過している場合には（Ｓ７３０でＹｅｓ）、Ｓ７３５に移行して、ＥＥＰＲＯＭ１７が記憶する累積稼動時間Ａｃｃを値ΔＡ加算した値に更新した後、Ｓ７４０に移行し、経過していない場合には（Ｓ７３０でＮｏ）、Ｓ７３５の処理を実行することなくＳ７４０に移行する。その後、Ｓ７４０〜Ｓ７７０の処理を実行する。尚、図８に示すＳ７４０〜Ｓ７７０の処理は、第一実施例におけるＳ２４０〜Ｓ２７０の処理と同様である。
【０１０２】
以上、第四実施例について説明したが、「特許請求の範囲」記載の異常時対応手段としての機能は、本実施例においてＳ７５０で処理を切り替える動作により実現され、時期判断手段としての機能は、Ｓ７１０，Ｓ７６０の処理で実現され、検査手段は、Ｓ７６０での判断結果に従い処理を切り替える動作及びＳ３３０〜Ｓ３９０の処理により実現され、稼動量取得手段は、Ｓ７３０，Ｓ７３５の処理及びＳ７１０でＥＥＰＲＯＭ１７から累積稼動時間Ａｃｃを取得する動作にて実現されている。
【０１０３】
本実施例によれば、累積稼動時間Ａｃｃに基づき、検査時期が到来したか否かを判断するので、車両始動回数Ｃｎｔや走行距離Ｔｒｉ等に基づいて検査時期が到来したか否かを判断する場合よりも、利用形態のバラツキの影響を抑えて、適切な時間間隔で検査をすることができる。即ち、ランダムフォルトが発生するまでの電子制御装置１の平均稼動時間Ｔの１／２時間（Ｔ／２）間隔で、検査を行うことができる。
【０１０４】
但し、ＥＥＰＲＯＭ１７が記憶する累積稼動時間Ａｃｃを、短い時間間隔ΔＡで更新すると、ＥＥＰＲＯＭ１７の寿命が早く到来してしまい、電子制御装置１としての耐用年数が短くなる。従って、累積稼動時間Ａｃｃに基づき検査時期が到来したか否かを判断する場合には、イグニッションスイッチＳＷがオフにされた後もマイコン１８に電力を供給して、イグニッションスイッチＳＷがオフにされた時点で、ＥＥＰＲＯＭ１７が記憶する累積稼動時間Ａｃｃを更新するように電子制御装置を構成するとよい。
【０１０５】
［第五実施例］
続いて、第五実施例について説明する。但し、第五実施例の電子制御装置１’は、イグニッションスイッチＳＷがオフされた後にもマイコン１８に電力供給するための遅延回路１９を備える点、及び、第四実施例とは異なる内容のメインルーチンをＣＰＵ１８１にて実行する構成にされている点を除けば、第四実施例の電子制御装置１と同様の構成にされている。従って、以下では、第五実施例の電子制御装置１’の説明として、図９及び図１０を用いて遅延回路１９の構成及びメインルーチンの構成を選択的に説明する。
【０１０６】
図９に示すように電子制御装置１’に設けられた遅延回路１９は、イグニッションスイッチＳＷのオン／オフを表す状態信号をマイコン１８に入力するＩＧ入力回路１９１と、リレー回路１９３と、リレー回路１９３の接点のオン／オフを制御するための制御信号を出力するＲＬＹ出力回路１９５と、ダイオード１９７，１９９と、を備える。
【０１０７】
ＩＧ入力回路１９１は、入力端がイグニッションスイッチＳＷを介してバッテリ３に接続され、出力端がマイコン１８に接続されたものであり、イグニッションスイッチＳＷがオンされると、上記状態信号として、イグニッションスイッチＳＷがオンされた状態であることを表すオン信号をマイコン１８に入力し、イグニッションスイッチＳＷがオフにされると、イグニッションスイッチＳＷがオフにされた状態であることを表すオフ信号をマイコン１８に入力する。
【０１０８】
一方、リレー回路１９３は、コイルにより発生する電磁場を利用して接点（ａ接点）を閉じる周知のリレー回路である。コイルの一端は、バッテリ３からイグニッションスイッチＳＷを介してＩＧ入力回路１９１に接続される線路Ｌ１にダイオード１９７を介して接続され、コイルの他端は、接地されている。一方、接点の一端は、バッテリ３に繋がる線路Ｌ２に接続され、接点の他端は、電源・監視回路１１に接続されている。尚、コイルの上記一端は、更に、ダイオード１９９を介してＲＬＹ出力回路１９５に接続されている。
【０１０９】
即ち、リレー回路１９３は、イグニッションスイッチＳＷがオンにされているとき、又は、ＲＬＹ出力回路１９５から上記制御信号としてオン信号が入力されているとき、接点を閉じて、電源・監視回路１１にバッテリ３からの電力を供給し、イグニッションスイッチＳＷがオフにされ更にＲＬＹ出力回路１９５から上記制御信号としてオフ信号が入力されているとき、接点を開いて、バッテリ３から電源・監視回路１１への電力供給（ひいてはマイコン１８の電力供給）を遮断する構成にされたものである。
【０１１０】
この他、ＲＬＹ出力回路１９５は、マイコン１８によりオンに設定されているとき、上記制御信号として、リレー回路１９３の接点を閉じるためのオン信号をリレー回路１９３に入力し、マイコン１８によりオフに設定されているとき、制御信号として、リレー回路１９３の接点を開くためのオフ信号をリレー回路１９３に入力する構成にされたものである。
【０１１１】
このように、遅延回路１９は、イグニッションスイッチＳＷがオフにされたときの電源・監視回路１１（ひいてはマイコン１８）への電力供給を制御するための回路として構成されている。
【０１１２】
一方、マイコン１８は、ＣＰＵ１８１で図１０に示すメインルーチンを実行する構成にされている。具体的に、図１０に示すメインルーチンを開始すると、ＣＰＵ１８１は、ＥＥＰＲＯＭ１７が記憶する累積稼動時間Ａｃｃ及び判定基準値Ａを読出し、累積稼動時間Ａｃｃが判定基準値Ａ以上であるか否かを判断する（Ｓ７１０）。
【０１１３】
そして、累積稼動時間Ａｃｃが判定基準値Ａ未満である場合には（Ｓ７１０でＮｏ）、Ｓ８３０に移行し、累積稼動時間Ａｃｃが判定基準値Ａ以上である場合には（Ｓ７１０でＹｅｓ）、Ｓ７２０に移行して、ＥＥＰＲＯＭ１７が記憶する累積稼動時間Ａｃｃ及び値ｌｏｏｐを値ゼロに初期化すると共に、ＥＥＰＲＯＭ１７が記憶するフラグｆ及びフラグｒｅｓを、オンを表す値に更新した後、Ｓ８３０に移行する。
【０１１４】
Ｓ８３０に移行すると、ＣＰＵ１８１は、ＲＬＹ出力回路１９５をオンに設定する。その後、Ｓ８３１で、変数ｔにＥＥＰＲＯＭ１７が記憶する累積稼動時間Ａｃｃをセットする。以下、変数ｔの値を、単に値ｔと表現する。値ｔは、ＥＥＰＲＯＭ１７ではなくＲＡＭ１８３に保持される。
【０１１５】
その後、ＣＰＵ１８１は、Ｓ８３２に移行して、イグニッションスイッチＳＷがオフであるか否かを判断し、イグニッションスイッチＳＷがオンである場合には（Ｓ８３２でＮｏ）、値ｔの更新時から時間ΔＴが経過したか否かを判断する（Ｓ８３３）。そして、時間ΔＴが経過した場合には（Ｓ８３３でＹｅｓ）、値ｔをΔＴ加算した値に更新した後（Ｓ８３４）、Ｓ８４０に移行し、経過していない場合には（Ｓ８３３でＮｏ）、Ｓ８３４の処理を実行することなく、Ｓ８４０に移行する。
【０１１６】
Ｓ８４０に移行すると、ＣＰＵ１８１は、図５に示す通常処理ルーチンを実行した後、マイコン１８に異常が発生しているか否かを判断し（Ｓ８５０）、異常が発生している場合には（Ｓ８５０でＹｅｓ）、ＷＤ異常出力処理にジャンプして（Ｓ８７０）、当該メインルーチンを終了する。
【０１１７】
一方、マイコン１８に異常が発生していない場合には（Ｓ８５０でＮｏ）、ＥＥＰＲＯＭ１７が記憶するフラグｆがオンに設定されているか否かを判断し（Ｓ８６０）、フラグｆがオンに設定されている場合には（Ｓ８６０でＹｅｓ）、Ｓ８７０に移行して、ＷＤ異常出力処理にジャンプし、フラグｆがオフに設定されている場合には（Ｓ８６０でＮｏ）、Ｓ８３２に移行する。
【０１１８】
このようにして、イグニッションスイッチＳＷがオンである期間には、マイコン１８が正常でありフラグｆがオフに設定されている場合、値ｔを逐次更新することで、現在までの累積稼動時間をＲＡＭ１８３に記憶する。そして、イグニッションスイッチＳＷがオフに設定されると、Ｓ８３２で肯定判断してＳ８８０に移行し、ＥＥＰＲＯＭ１７が記憶する値Ａｃｃを、ＲＡＭ１８３が記憶する現在までの累積稼動時間を表す値ｔに更新する。その後、ＲＬＹ出力回路１９５をオフに設定して（Ｓ８９０）、電源・監視回路１１から電子制御装置１’各部への電力供給を停止する。その後、メインルーチンを終了する。
【０１１９】
以上、第五実施例の電子制御装置１’について説明したが、電子制御装置１’によれば、ＥＥＰＲＯＭ１７が記憶する累積稼動時間Ａｃｃの更新頻度を抑えることができ、累積稼動時間Ａｃｃを用いることによりＥＥＰＲＯＭ１７の寿命が短くなって装置の耐用年数が下がるのを抑えることができる。
【０１２０】
［第六実施例］
続いて、第六実施例について説明する。但し、第六実施例の電子制御装置１’は、第五実施例とは異なる内容のメインルーチンをＣＰＵ１８１にて実行する点を除けば、第五実施例の電子制御装置１’と同様の構成にされている。従って、以下では、図１１を用いて、ＣＰＵ１８１が実行する本実施例のメインルーチンの内容を選択的に説明する。
【０１２１】
図１１に示すように、本実施例では、Ｓ７１０，Ｓ７２０の処理を実行せずに、Ｓ８３０でＲＬＹ出力回路１９５をオンに設定し、その後のＳ８３１で、変数ｔにＥＥＰＲＯＭ１７が記憶する累積稼動時間Ａｃｃをセットする。
【０１２２】
Ｓ８３１の処理後、ＣＰＵ１８１は、Ｓ８３２に移行して、イグニッションスイッチＳＷがオフであるか否かを判断し、イグニッションスイッチＳＷがオンである場合には（Ｓ８３２でＮｏ）、第五実施例と同様に、Ｓ８３３以降の処理を実行する。但し、本実施例では、Ｓ８６０の処理を実行しないため、Ｓ８５０でＮｏと判断した場合には、Ｓ８３２に移行する。
【０１２３】
一方、Ｓ８３２でイグニッションスイッチＳＷがオフであると判断すると、ＣＰＵ１８１は、Ｓ８８０に移行して、ＥＥＰＲＯＭ１７が記憶する値Ａｃｃを、ＲＡＭ１８３が記憶する現在までの累積稼動時間を表す値ｔに更新する。その後、Ｓ８８１に移行する。
【０１２４】
また、Ｓ８８１では、ＥＥＰＲＯＭ１７が記憶する累積稼動時間Ａｃｃ及びＥＥＰＲＯＭ１７が記憶する判定基準値Ａを読出し、累積稼動時間Ａｃｃが判定基準値Ａ以上であるか否かを判断する。
【０１２５】
そして、累積稼動時間Ａｃｃが判定基準値Ａ未満である場合には、検査時期が到来していないと判断して（Ｓ８８１でＮｏ）、Ｓ８８５に移行する。一方、累積稼動時間Ａｃｃが判定基準値Ａ以上である場合には、検査時期が到来したと判断して（Ｓ８８１でＹｅｓ）、Ｓ８８３に移行する。
【０１２６】
Ｓ８８３では、ＥＥＰＲＯＭ１７が記憶する累積稼動時間Ａｃｃ及び値ｌｏｏｐを値ゼロに初期化すると共に、ＥＥＰＲＯＭ１７が記憶するフラグｆ及びフラグｒｅｓを、オンを表す値に更新する。その後、Ｓ８８５に移行する。
【０１２７】
また、Ｓ８８５では、ＥＥＰＲＯＭ１７が記憶するフラグｆがオンに設定されているか否かを判断し、フラグｆがオンに設定されている場合には（Ｓ８８５でＹｅｓ）、Ｓ８７０に移行して、ＷＤ異常出力処理にジャンプし、フラグｆがオフに設定されている場合には（Ｓ８８５でＮｏ）、Ｓ８９０に移行して、ＲＬＹ出力回路１９５をオフに設定する。その後、メインルーチンを終了する。
【０１２８】
以上、第六実施例の電子制御装置１’について説明したが、本実施例によれば、検査を、車両の運転終了時（イグニッションスイッチＳＷのオフ時）に実行することができる。
［第七実施例］
続いて、第七実施例について説明する。但し、第七実施例の電子制御装置１は、検査時期を車両始動回数Ｃｎｔと走行距離Ｔｒｉとに基づいて判断する構成にされ、判定基準値Ｎ及び値ΔＫを学習更新可能な構成にされている他は、第一実施例と同様の構成にされている。換言すると、第七実施例の電子制御装置１は、メインルーチン及びＷＤ異常出力処理及び通常処理ルーチンの内容が第一実施例と異なる程度のものである。従って、以下では、第七実施例のメインルーチン及びＷＤ異常出力処理及び通常処理ルーチンを選択的に説明する。
【０１２９】
本実施例の電子制御装置１におけるＣＰＵ１８１は、図１２に示すように、メインルーチンを開始すると、ＥＥＰＲＯＭ１７が記憶する車両始動回数Ｃｎｔ及び判定基準値Ｎ並びにＥＥＰＲＯＭ１７が記憶するフラグｆ１を読出し、車両始動回数Ｃｎｔが判定基準値Ｎ以上であり、且つ、フラグｆ１がオフに設定されているか否かを判断する（Ｓ９１１）。ここでＣｎｔ＜Ｎ又はｆ１＝ＯＮである場合には（Ｓ９１１でＮｏ）、Ｓ９１５に移行する。
【０１３０】
一方、Ｃｎｔ≧Ｎ且つｆ１＝ＯＦＦである場合には（Ｓ９１１でＹｅｓ）、ＥＥＰＲＯＭ１７が記憶するフラグｆ１を、オンを表す値に更新すると共に、ＥＥＰＲＯＭ１７が記憶する変数Ｍｉｎ＿Ｃの値（以下、値Ｍｉｎ＿Ｃと表現する。）を、現時点での車両始動回数Ｃｎｔに更新する（Ｓ９１３）。その後、Ｓ９１５に移行する。
【０１３１】
Ｓ９１５に移行すると、ＣＰＵ１８１は、ＥＥＰＲＯＭ１７が記憶する走行距離Ｔｒｉ及び判定基準値Ｋ並びにＥＥＰＲＯＭ１７が記憶するフラグｆ２を読出し、走行距離Ｔｒｉが判定基準値Ｋ以上であり、且つ、フラグｆ２がオフに設定されているか否かを判断する。
【０１３２】
ここでＴｒｉ＜Ｋ又はｆ２＝ＯＮである場合には（Ｓ９１５でＮｏ）、Ｓ９２１に移行し、Ｔｒｉ≧Ｋ且つｆ２＝ＯＦＦである場合には（Ｓ９１５でＹｅｓ）、Ｓ９１７に移行する。そして、Ｓ９１７では、ＥＥＰＲＯＭ１７が記憶するフラグｆ２を、オンを表す値に更新すると共に、ＥＥＰＲＯＭ１７が記憶する変数Ｍｉｎ＿Ｔの値（以下、値Ｍｉｎ＿Ｔと表現する。）を、現時点での走行距離Ｔｒｉに更新する。その後、Ｓ９２１に移行する。
【０１３３】
Ｓ９２１に移行すると、ＣＰＵ１８１は、フラグｆ１及びフラグｆ２の両者がオンに設定されているか否かを判断し（Ｓ９２１）、いずれか一方がオフに設定されている場合には（Ｓ９２１でＮｏ）、ＥＥＰＲＯＭ１７が記憶する車両始動回数Ｃｎｔを１加算した値に更新した後（Ｓ９２３）、Ｓ９３０に移行する。
【０１３４】
一方、両者がオンに設定されている場合には（Ｓ９２１でＹｅｓ）、Ｓ９２５に移行して、ＥＥＰＲＯＭ１７が記憶する値ｌｏｏｐを値ゼロに初期化すると共に、ＥＥＰＲＯＭ１７が記憶するフラグｒｅｓを、オンを表す値に更新する。
【０１３５】
この他、ＥＥＰＲＯＭ１７が記憶する判定基準値Ｎを、現時点でＥＥＰＲＯＭ１７が記憶する車両始動回数Ｃｎｔ及び値Ｍｉｎ＿Ｃを用いて、次式に従う値に更新する。
Ｎ←Ｍｉｎ＿Ｃ＋（Ｃｎｔ−Ｍｉｎ＿Ｃ）／２
同様に、ＥＥＰＲＯＭ１７が記憶する値ΔＫを、現時点でＥＥＰＲＯＭ１７が記憶する走行距離Ｔｒｉ及び値Ｍｉｎ＿Ｔ及び値ΔＫを用いて、次式に従う値に更新する。
【０１３６】
ΔＫ←ΔＫ＋（Ｔｒｉ−Ｍｉｎ＿Ｔ）／２
最後に、車両始動回数Ｃｎｔを値ゼロに初期化する。
このようにして、Ｓ９２５での処理を終えると、ＣＰＵ１８１は、Ｓ９２５で更新した値ΔＫを用いて、更に、ＥＥＰＲＯＭ１７が記憶する判定基準値Ｋを、走行距離Ｔｒｉから値ΔＫ加算した値に更新する（Ｓ９２７）。その後、Ｓ９３０に移行する。
【０１３７】
また、Ｓ９３０では、車内ＬＡＮに接続されたメータＥＣＵ５から、現時点での車両の走行距離（累積）を表す値Ｍ＿Ｔｒｉを取得し、ＥＥＰＲＯＭ１７が記憶する走行距離Ｔｒｉを、メータＥＣＵ５からの取得値Ｍ＿Ｔｒｉに更新する。
【０１３８】
Ｓ９４０に移行すると、ＣＰＵ１８１は、図５に示す通常処理ルーチンを実行する。但し、Ｓ３３０では、ＥＥＰＲＯＭ１７が記憶するフラグｆ１，ｆ２及びフラグｒｅｓを読出して、フラグｆ１，ｆ２が共にオフに設定され、且つ、フラグｒｅｓがオンに設定されているか否かを判断する。
【０１３９】
通常処理ルーチンの実行後、ＣＰＵ１８１は、マイコン１８に異常が発生しているか否かを判断し（Ｓ９５０）、異常が発生している場合には（Ｓ９５０でＹｅｓ）、図３に示すＷＤ異常出力処理にジャンプして（Ｓ９７０）、メインルーチンを終了すると共に、当該ＷＤ異常出力処理を実行する。但し、Ｓ１２０では、ＥＥＰＲＯＭ１７が記憶するフラグｆ１及びフラグｆ２の両者をオフに設定する（オフを表す値に更新する）ものとする。
【０１４０】
一方、マイコン１８に異常が発生していない場合には（Ｓ９５０でＮｏ）、ＥＥＰＲＯＭ１７が記憶するフラグｆ１及びフラグｆ２の両者がオンに設定されているか否かを判断し（Ｓ９６０）、両者がオンに設定されている場合には（Ｓ９６０でＹｅｓ）、Ｓ９７０に移行して、ＷＤ異常出力処理にジャンプし、フラグｆ１及びフラグｆ２のいずれか一方がオフに設定されている場合には（Ｓ９６０でＮｏ）、Ｓ９４０に移行する。
【０１４１】
以上、第七実施例について説明したが、「特許請求の範囲」記載の異常時対応手段としての機能は、本実施例においてＳ９５０で処理を切り替える動作により実現され、時期判断手段としての機能は、Ｓ９１１〜Ｓ９２１，Ｓ９６０の処理で実現され、検査手段は、Ｓ９６０の判断結果に従い処理を切り替える動作及びＳ３３０〜Ｓ３９０の処理により実現され、稼動量取得手段は、Ｓ９２３，Ｓ９３０の処理及びＳ９１１，Ｓ９１５でＥＥＰＲＯＭ１７から車両始動回数Ｃｎｔ及び走行距離Ｔｒｉの情報を取得する動作にて実現されている。この他、補正手段は、Ｓ９１３，Ｓ９１７，Ｓ９２５の処理により実現されている。
【０１４２】
本実施例によれば、検査時期を車両始動回数Ｃｎｔと走行距離Ｔｒｉとに基づいて判断するので、第一実施例及び第二実施例よりもユーザの利用形態のバラツキに対応して、適切な時期に検査を行うことができる。
【０１４３】
例えば、長距離の移動に車両を多用するユーザに関しては、車両始動１回当りの電子制御装置１の稼動時間が長い傾向にあるが、高速走行が多いので、走行距離に対する電子制御装置１の稼動時間については、短い傾向にある。一方、近距離の移動に車両を多用するユーザに関しては、車両始動１回当りの電子制御装置１の稼動時間が短い傾向にあるが、低速走行が多いので、走行距離に対する電子制御装置１の稼動時間については、長い傾向にある。
【０１４４】
よって、第一実施例のように車両始動回数Ｃｎｔのみに基づいて検査時期を判断する場合には、例えば、長距離の移動に車両を多用するユーザが電子制御装置１を利用する場合でも、検査間隔が、異常（ランダムフォルト）が発生するまでの電子制御装置１の平均稼動時間Ｔの１／２時間（Ｔ／２）を超えないように、判定基準値Ｎを厳しく設定することになる。一方、第二実施例のように車両走行距離Ｔｒｉのみに基づいて検査時期を判断する場合には、例えば、近距離の移動に車両を多用するユーザが電子制御装置１を利用する場合でも、検査間隔が、異常（ランダムフォルト）が発生するまでの電子制御装置１の平均稼動時間Ｔの１／２時間（Ｔ／２）を超えないように、値ΔＫを厳しく設定する必要がある。
【０１４５】
これに対し、本実施例によれば、設計段階で判定基準値Ｎ及び値ΔＫをユーザの利用形態のバラツキを考慮して厳しく設定しても、第一の条件Ｃｎｔ≧Ｎ及び第二の条件Ｔｒｉ≧Ｋが満足されない限り、検査は行われない。即ち、本実施例によれば、上記第一の条件及び第二の条件の内、ユーザの利用形態に適当な条件に従って、検査を行うことができる。よって、ユーザの利用形態のバラツキにも適切に対応して、適切な時期に、検査を行うことができる。
【０１４６】
また、本実施例によれば、第一の条件Ｃｎｔ≧Ｎが満足された時点の車両始動回数Ｍｉｎ＿Ｃと、第二の条件Ｔｒｉ≧Ｋが満足された時点の走行距離Ｍｉｎ＿Ｔと、第一の条件及び第二の条件の両者が満足された時点の車両始動回数Ｃｎｔ及び走行距離Ｔｒｉとに基づいて、判定基準値Ｎを、差（Ｃｎｔ−Ｍｉｎ＿Ｃ）が縮まる方向に更新すると共に、値ΔＫを、差（Ｔｒｉ＿Ｍｉｎ＿Ｔ）が縮まる方向に更新する。従って、判定基準値Ｎ及び値ΔＫを、検査間隔が、ランダムフォルトが発生するまでの電子制御装置１の平均稼動時間Ｔの１／２時間（Ｔ／２）を超えないようにしつつ時間Ｔ／２に近づくように、ユーザの利用形態に合わせて補正することができる。
【０１４７】
よって、本実施例によれば、一層適切な時期に（換言すれば必要十分なタイミングで）検査を行うことができる。
［第八実施例］
続いて第八実施例について説明する。但し、第八実施例の電子制御装置１は、検査時期を車両始動回数Ｃｎｔと前回始動日時Ｄａｔに基づいて判断する構成にされ、判定基準値Ｎ及び値ΔＤを学習更新する構成にされたものであり、メインルーチンの内容が第七実施例と異なる程度のものである。従って、以下では、図１３を用いて第八実施例のメインルーチンを選択的に説明する。
【０１４８】
本実施例の電子制御装置１におけるＣＰＵ１８１は、図１３に示すように、メインルーチンを開始すると、第七実施例のＳ９１１と同様の判断を行い（Ｓ１０１１）、Ｃｎｔ＜Ｎ又はｆ１＝ＯＮである場合には（Ｓ１０１１でＮｏ）、Ｓ１０１５に移行し、Ｃｎｔ≧Ｎ且つｆ１＝ＯＦＦである場合には（Ｓ１０１１でＹｅｓ）、Ｓ１０１３に移行して、ＥＥＰＲＯＭ１７が記憶するフラグｆ１を、オンを表す値に更新すると共に、ＥＥＰＲＯＭ１７が記憶する値Ｍｉｎ＿Ｃを、現時点での車両始動回数Ｃｎｔに更新する（Ｓ１０１３）。その後、Ｓ１０１５に移行する。
【０１４９】
Ｓ１０１５に移行すると、ＣＰＵ１８１は、ＥＥＰＲＯＭ１７が記憶する前回始動日時Ｄａｔ及び判定基準日時Ｄ及びフラグｆ２を読出し、前回始動日時Ｄａｔが判定基準日時Ｄに到達し、且つ、フラグｆ２がオフに設定されているか否かを判断する。
【０１５０】
そして、Ｄａｔ＜Ｄ又はｆ２＝ＯＮである場合には（Ｓ１０１５でＮｏ）、Ｓ１０２１に移行し、Ｄａｔ≧Ｄ且つｆ２＝ＯＦＦである場合には（Ｓ１０１５でＹｅｓ）、ＥＥＰＲＯＭ１７が記憶するフラグｆ２を、オンを表す値に更新すると共に、ＥＥＰＲＯＭ１７が記憶する変数Ｍｉｎ＿Ｄの値（以下、値Ｍｉｎ＿Ｄと表現する。）を、現時点での前回始動日時Ｄａｔに更新した後（Ｓ１０１７）、Ｓ１０２１に移行する。
【０１５１】
Ｓ１０２１に移行すると、ＣＰＵ１８１は、フラグｆ１及びフラグｆ２の両者がオンに設定されているか否かを判断し、いずれか一方がオフに設定されている場合には（Ｓ１０２１でＮｏ）、ＥＥＰＲＯＭ１７が記憶する車両始動回数Ｃｎｔを１加算した値に更新した後（Ｓ１０２３）、Ｓ１０３０に移行する。
【０１５２】
一方、両者がオンに設定されている場合には（Ｓ１０２１でＹｅｓ）、Ｓ１０２５に移行して、ＥＥＰＲＯＭ１７が記憶する値ｌｏｏｐを値ゼロに初期化すると共に、ＥＥＰＲＯＭ１７が記憶するフラグｒｅｓを、オンを表す値に更新する。
【０１５３】
この他、ＥＥＰＲＯＭ１７が記憶する判定基準値Ｎを、現時点でＥＥＰＲＯＭ１７が記憶する車両始動回数Ｃｎｔ及び値Ｍｉｎ＿Ｃを用いて、次式に従う値に更新する。
Ｎ←Ｍｉｎ＿Ｃ＋（Ｃｎｔ−Ｍｉｎ＿Ｃ）／２
同様に、ＥＥＰＲＯＭ１７が記憶する値ΔＤを、ＥＥＰＲＯＭ１７が記憶する前回始動日時Ｄａｔ及び値Ｍｉｎ＿Ｄ及び値ΔＤを用いて、次式に従う値に更新する。
【０１５４】
ΔＤ←ΔＤ＋（Ｄａｔ−Ｍｉｎ＿Ｄ）／２
最後に、車両始動回数Ｃｎｔを値ゼロに初期化する。
このようにしてＳ１０２５での処理を終えると、ＣＰＵ１８１は、Ｓ１０２５で更新した値ΔＤを用いて、ＥＥＰＲＯＭ１７が記憶する判定基準日時Ｄを、前回始動日時Ｄａｔから値ΔＤ加算した値に更新した後（Ｓ１０２７）、Ｓ１０３０に移行する。
【０１５５】
また、Ｓ１０３０では、車内ＬＡＮに接続されたメータＥＣＵ５から、メータＥＣＵ５が保持する現在日時ＮＴの情報を取得し、ＥＥＰＲＯＭ１７が記憶する前回始動日時Ｄａｔを、メータＥＣＵ５からの取得値ＮＴに更新する（Ｓ１０３０）。
【０１５６】
その後、ＣＰＵ１８１は、第七実施例におけるＳ９４０〜Ｓ９７０と同内容の処理として、Ｓ１０４０〜Ｓ１０７０の処理を実行する。
以上、第八実施例について説明したが、「特許請求の範囲」記載の異常時対応手段としての機能は、本実施例においてＳ１０５０で処理を切り替える動作により実現され、時期判断手段としての機能は、Ｓ１０１１〜Ｓ１０２１，Ｓ１０６０の処理により実現され、検査手段は、Ｓ１０６０の判断結果に従い処理を切り替える動作及びＳ３３０〜Ｓ３９０の処理により実現され、稼動量取得手段は、Ｓ１０２３の処理及びＳ１０１１でＥＥＰＲＯＭ１７から車両始動回数Ｃｎｔの情報を取得する動作にて実現され、日時取得手段は、Ｓ１０３０の処理及びＳ１０１５でＥＥＰＲＯＭ１７から前回始動日時Ｄａｔの情報を取得する動作にて実現されている。この他、補正手段は、Ｓ１０１３，Ｓ１０１７，Ｓ１０２５の処理により実現されている。
【０１５７】
第八実施例によれば、第七実施例と同様の効果を得ることができる。
＜最後に＞
以上、第一から第八実施例の電子制御装置１，１’について説明したが、検査に係る処理の複雑度についてまとめると、第一実施例は、メータＥＣＵ５へのアクセスを伴わないものでありＥＥＰＲＯＭ１７へのアクセス頻度も低いものであるため、検査に係る処理の複雑度は、上記第一から第八実施例の中で最も低い。また、第二実施例及び第三実施例は、メータＥＣＵ５へのアクセスが必要なものであるため、処理の複雑度は、第一実施例より高い。
【０１５８】
この他、第七実施例及び第八実施例は、メータＥＣＵ５へのアクセスが必要であり、第二実施例及び第三実施例よりも処理量が多いため、検査に係る処理の複雑度は、第二実施例及び第三実施例よりも高い。
【０１５９】
この他、第四実施例は、累積演算を伴うものであり、ＥＥＰＲＯＭ１７へのアクセス頻度が高いものであるので、検査に係る処理の複雑度は、第一〜第三実施例及び第七及び第八実施例よりも高いといえる。但し、検査を適切な時期に行うことができるといった点では、他の実施例よりも優れている。また、第五及び第六実施例は、遅延回路１９が必要である点で、複雑度は、第一実施例〜第八実施例の中で最も高いといえる。
【０１６０】
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記各実施例においては、図１４に示すように、ＷＤ異常出力処理に対応するプログラムであるＷＤ異常出力処理プログラムＰｒ２の先頭にノンオペレーションコード（ＮＯＰ）を挿入し、マイコン１８のプログラム領域（ＲＯＭ１８２）の空き領域を、ノンオペレーションコードで充填するとよい。このように、プログラム領域の空きを無くせば、マイコン１８のプログラム領域のハードウェア的な異常を余りなく検査することができる。
【０１６１】
この他、上述した電子制御装置は、バッテリが接続されたことをトリガとして、検査（ＷＤ異常出力処理）を開始する構成にされてもよい。即ち、Ｓ２１０（図４参照）では、バッテリの取り外しがあったか否かを判断し、あった場合には（Ｓ２１０でＹｅｓ）、Ｓ２３０に移行し、なかった場合には（Ｓ２１０でＮｏ）、Ｓ２４０に移行するように、メインルーチンを変更してもよい。このようにすれば、車検時に、自動でフェールセーフ処理の検査を行うことができる。但し、バッテリが接続されたか否かを判断するためのハードウェア構成を、電子制御装置１に導入する必要はある。
【符号の説明】
【０１６２】
１，１’…電子制御装置、３…バッテリ、４…電動ステアリング装置、５…メータＥＣＵ、７…車両診断装置、９…出荷検査装置、１１…電源・監視回路、１３…入出力回路、１５…送受信回路、１７…ＥＥＰＲＯＭ、１８…マイクロコンピュータ、１９…遅延回路、１１１…電源回路、１１３…監視回路、１８１…ＣＰＵ、１８２…ＲＯＭ、１８３…ＲＡＭ、１８５…ＷＤ出力回路、１８７…割込コントローラ、１８９…ＣＡＮコントローラ、１９１…ＩＧ入力回路、１９３…リレー回路、１９５…ＲＬＹ出力回路、１９７，１９９…ダイオード、ＣＮ…コネクタ、Ｌ１，Ｌ２…線路、Ｐｒ１…メインプログラム、Ｐｒ２…ＷＤ異常出力処理プログラム、ＳＷ…イグニッションスイッチ
【図１】
2011121553.tif 000003
【図２】
2011121553.tif 000004
【図３】
2011121553.tif 000005
【図４】
2011121553.tif 000006
【図５】
2011121553.tif 000007
【図６】
2011121553.tif 000008
【図７】
2011121553.tif 000009
【図８】
2011121553.tif 000010
【図９】
2011121553.tif 000011
【図１０】
2011121553.tif 000012
【図１１】
2011121553.tif 000013
【図１２】
2011121553.tif 000014
【図１３】
2011121553.tif 000015
【図１４】
2011121553.tif 000016