(57)【要約】【課題】データの信頼性を確保しつつ、誤った故障履歴の取得を防止することができる車両用電子制御装置及び故障情報のチェック方法を提供する。【解決手段】故障履歴データの読出し時、ＥＥＰＲＯＭの分割された３領域より第１データ〜第３データを取得し、多数決処理を実施した後、多数決時に不一致データがなかった場合、多数決結果が「１」か否かを判定することにより、故障情報を「１（故障履歴あり）」または「０（故障履歴なし）」と確定する（ステップ101〜106）。一方、不一致データが有った場合、多数決結果が「１」であると、ＥＥＰＲＯＭに故障関連データが記憶されているか否かを判定し、故障関連データが記憶されていると判定した場合のみ、「１（故障履歴あり）」と確定する（ステップ107、108）。【選択図】図２
2007315212.tif 000002
【特許請求の範囲】
【請求項１】
同じ故障履歴データを複数個記憶した記憶手段から故障履歴データを取得し、取得した故障履歴データの多数決処理により故障履歴をチェックする制御手段を備えた車両用電子制御装置であって、
故障履歴が故障有りと判定され、故障履歴データに不一致があった場合、上記制御手段が故障時に記憶された故障関連データの有無により故障ありか否かを確定することを特徴とする車両用電子制御装置。
【請求項２】
同じ故障履歴データを複数個記憶した記憶手段から故障履歴データを取得し、取得した故障履歴データの多数決処理により故障履歴をチェックする制御手段を備えた車両用電子制御装置であって、
故障履歴が故障有りと判定され、故障履歴データに不一致があった場合、上記制御手段が、その時点の故障関連データ値の異常の有無により故障ありか否かを確定することを特徴とする車両用電子制御装置。
【請求項３】
同じ故障履歴データを複数個記憶した記憶手段から故障履歴データを取得し、取得した故障履歴データの多数決処理により故障履歴をチェックする制御手段を備えた車両用電子制御装置であって、
故障履歴データに不一致があった場合、上記制御手段が、故障履歴データの再読み出し処理を実行し、多数決処理を再実行することを特徴とする車両用電子制御装置。
【請求項４】
同じ故障履歴データを複数個記憶した記憶手段から故障履歴データを取得し、取得した故障履歴データの多数決処理により故障履歴をチェックする故障情報のチェック方法であって、
故障履歴が故障有りと判定され、故障履歴データに不一致があった場合、故障時に記憶された故障関連データの有無により故障ありか否かを確定することを特徴とする故障情報のチェック方法。
【請求項５】
同じ故障履歴データを複数個記憶した記憶手段から故障履歴データを取得し、取得した故障履歴データの多数決処理により故障履歴をチェックする故障情報のチェック方法であって、
故障履歴が故障有りと判定され、故障履歴データに不一致があった場合、その時点の故障関連データ値の異常の有無により故障ありか否かを確定することを特徴とする故障情報のチェック方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常診断処理機能を備えた車両用電子制御装置及び故障情報のチェック方法に関する。
【背景技術】
【０００２】
車両の電子制御装置（以下、ＥＣＵという）は、車両の制御機構との間で信号のやり取りを行って車両の電子制御を行うものであり、例えば、エンジン制御ＥＣＵには車両に装備されているセンサ群で検出された、車速、エンジン回転数、空気流入量等の情報が入力され、エンジン制御ＥＣＵはこれらの情報に基づいて所定の演算処理を行い、その演算結果（例えば、燃料噴射量やバイパス空気量などを制御するための信号）を車両に装備された、電動スロットルやインジェクター等の制御機構へ送出し、燃料の噴射量や流入空気量の制御などを行っている。
【０００３】
このようなＥＣＵは、ＥＣＵ内の各部の異常検出を行わないと、走行上の不具合を引き起こす可能性があり、場合によっては走行不能となることもあるため、各ＥＣＵに自己診断機能を備えることにより、信頼性の向上が図られている。すなわち、各ＥＣＵはＣＰＵやセンサ類の動作状態を適当な周期で自動的にチェックし、故障時には異常ランプを点灯したり、その故障内容が修理業者に分かるように異常コード（ＤＴＣ）を記憶したりするダイアグノーシス（以下、ダイアグという）処理を行っている。
【０００４】
そして、従来の異常診断システムにおいては、車両内において、異常が発生した場合、その異常事象を判別し、異常発生時の前後における主要なデータを記憶している。
上記の異常事象としては、吸気圧センサ異常、回転角センサ異常、カム角センサ異常、ノックセンサ異常、フロントＯ2センサ異常、リアＯ2センサ異常、燃料系異常、圧力センサ異常、スロットルセンサ異常、水温センサ異常、吸気温センサ異常、車速センサ異常、スタータ異常、ＩＳＣ（アイドルスピードコントロール）異常等がある。
【０００５】
また、故障発生時には、水温、吸気圧、エンジン回転数、車速、点火時期進角、吸気温、スロットル位置、フロントＯ2センサ出力、リアＯ2センサ出力、バッテリ電圧、電気負荷（エアコン、デフォッガ等）のオンオフ情報、アイドルＳＷ、燃料噴射時間、ＩＳＣ開度等の故障関連データが記憶手段に記憶される。
そして、車両用電子制御装置には、外部装置であるダイアグツールが接続可能となっており、記憶手段に記憶された故障履歴を読み出して取得し、故障解析等に利用できるようになっている。
【０００６】
このような異常診断システムにおいて、故障履歴情報は通常、バッテリ電圧により電源が常時供給されるスタンバイＲＡＭ（ＳＲＡＭ、バックアップＲＡＭともいう）に記憶しており、スタンバイＲＡＭを搭載しないマイコンを用いる場合には、記憶媒体としてスタンバイＲＡＭに代えてマイコン外付けの不揮発性メモリを使用している。
【０００７】
不揮発性メモリを使用する場合、マイコンの入出力回路（Ｉ／Ｏ）や基板上を信号が通過し、データにノイズがのる可能性があるので、データの信頼性を確保するため、３個の不揮発性メモリに同じデータを書き込んで、３つのデータの多数決をとることにより誤ったデータを取得しないようにしたり（例えば、特許文献１参照）、不揮発性メモリ内を３領域に分割し、それぞれの領域に同じデータを書き込み、３つのデータの多数決をとることにより誤ったデータを取得しないようにしている（例えば、特許文献２参照）。
【特許文献１】特開昭６３−１３６１５４号公報
【特許文献２】特開昭６３−４９８６０号公報
【０００８】
この三箇所書込みによる多数決処理は、同一データをメモリ内の三箇所または３つのメモリに同時に書き込み、読み出し時にデータの相異があった場合には、一致している二箇所のデータを採用するものである。
すなわち、図６に示すように、三箇所のデータ（第１データ〜第３データ）をそれぞれビット単位で比較し、不一致の場合には、二箇所が一致したデータを真としてデータを確定するものである。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記のように、従来の異常診断システムにおいては、故障情報の同一データをメモリ内の三箇所または３つのメモリに同時に書き込み、多数決処理によってデータの信頼性を確保するようにしているが、２箇所にエラーが生じた場合、真の値が「０」にも関わらず、多数決の結果、「１」と判定される場合もあり、例えば、故障情報（故障履歴の有無）において、真の値が「０（故障なし）」の場合に、「１（故障あり）」と判定されると、故障履歴を誤って取得することになってしまう、という問題があった。
【００１０】
本発明は、上記の問題に鑑みてなされたもので、データの信頼性を確保しつつ、誤った故障履歴の取得を防止することができる車両用電子制御装置及び故障情報のチェック方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述の目的を達成するため、本発明に係る車両用電子制御装置（１）は、
同じ故障履歴データを複数個記憶した記憶手段から故障履歴データを取得し、取得した故障履歴データの多数決処理により故障履歴をチェックする制御手段を備えた車両用電子制御装置であって、
故障履歴が故障有りと判定され、故障履歴データに不一致があった場合、上記制御手段が故障時に記憶された故障関連データの有無により故障ありか否かを確定することを特徴とする。
【００１２】
また、本発明に係る車両用電子制御装置（２）は、
同じ故障履歴データを複数個記憶した記憶手段から故障履歴データを取得し、取得した故障履歴データの多数決処理により故障履歴をチェックする制御手段を備えた車両用電子制御装置であって、
故障履歴が故障有りと判定され、故障履歴データに不一致があった場合、上記制御手段が、その時点の故障関連データ値の異常の有無により故障ありか否かを確定することを特徴とする。
【００１３】
さらに、本発明に係る車両用電子制御装置（３）は、
同じ故障履歴データを複数個記憶した記憶手段から故障履歴データを取得し、取得した故障履歴データの多数決処理により故障履歴をチェックする制御手段を備えた車両用電子制御装置であって、
故障履歴データに不一致があった場合、上記制御手段が、故障履歴データの再読み出し処理を実行し、多数決処理を再実行することを特徴とする。
【００１４】
また、本発明に係る故障情報のチェック方法（１）は、
同じ故障履歴データを複数個記憶した記憶手段から故障履歴データを取得し、取得した故障履歴データの多数決処理により故障履歴をチェックする故障情報のチェック方法であって、
故障履歴が故障有りと判定され、故障履歴データに不一致があった場合、故障時に記憶された故障関連データの有無により故障ありか否かを確定することを特徴とする。
【００１５】
さらに、本発明に係る故障情報のチェック方法（２）は、
同じ故障履歴データを複数個記憶した記憶手段から故障履歴データを取得し、取得した故障履歴データの多数決処理により故障履歴をチェックする故障情報のチェック方法であって、
故障履歴が故障有りと判定され、故障履歴データに不一致があった場合、その時点の故障関連データ値の異常の有無により故障ありか否かを確定することを特徴とする。
【発明の効果】
【００１６】
本発明に係る車両用電子制御装置（１）、（２）及び故障情報のチェック方法（１）、（２）によれば、多数決処理により故障履歴をチェックしたとき、故障履歴が故障有りと判定され、故障履歴データに不一致があった場合、故障時に記憶された故障関連データの有無、その時点の故障関連データ値の異常の有無あるいはその他の共連れ故障履歴の有無により故障ありか否かが確定されるので、故障情報を記憶手段に保存する場合の故障履歴データの信頼性を向上し、故障情報の誤判定を防止することができる。
【００１７】
また、本発明に係る車両用電子制御装置（３）によれば、多数決処理により故障履歴をチェックしたとき、故障データに不一致があった場合、故障履歴データの再読み出しまたは不一致になった箇所のみ再読み出し処理が実行され、データ不確定となった故障履歴データのみの再読み出しを実施するので、データ再読み出し時間の短縮を図ることができるとともに、複数回再読み出しを実行してもデータ不一致が継続する場合には、故障なしと確定されるので、データ不一致の場合の故障情報の誤出力を防止することができる。
【実施例１】
【００１８】
以下、本発明の車両用電子制御装置をエンジン制御ＥＣＵに適用した実施例について、図面を用いて説明する。
図１はエンジン制御ＥＣＵに表示装置としてのダイアグツールを接続したシステム構成を示す図であり、エンジン制御ＥＣＵ１はＣＰＵ１１、ＲＯＭ（Read  Only  Memory）１２、ＲＡＭ（Random  Access  Memory）１３、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read-Only  Memory）１４、入出力部１５等から構成され、これらの各部がバス１６により接続されている。
【００１９】
ＣＰＵ１１はバス１６を介してエンジン制御ＥＣＵ１のハードウェア各部を制御するとともに、ＲＯＭ１２に記憶されたプログラムに基づいて各種のプログラムを実行し、ＲＯＭ１２はエンジン制御プログラムや異常診断プログラムとともに、故障履歴有無判定プログラムを記憶している。
【００２０】
また、ＲＡＭ１３はプログラムの実行時に発生する一時的なデータを記憶し、ＥＥＰＲＯＭ１４は内部が３領域に分割されており、異常が発生した際に、その異常事象を表すダイアグコードと、異常発生時の前後における主要なデータを上記の３領域のそれぞれに記憶する。
【００２１】
一方、入出力部１５には、エアーフローメータ２１、吸気温センサ２２、スロットルセンサ２３、空燃比（Ａ／Ｆ）センサ２４、ノックセンサ２５、水温センサ２６、回転角センサ２７、Ｏ２センサ２８、ブレーキセンサ２９等の各種センサの信号が入力され、これらのセンサからの信号がＣＰＵ１１に入力される。また、触媒コンバータ３０からの排気温信号等も入出力部１５を介してＣＰＵ１１に入力される。
また、この入出力部１５には、インジェクター３２や点火プラグ３３等の各種アクチュエータが接続されるとともに、エンジンの絞り弁をバイパスしてエンジンの燃焼室に空気を供給するアイドルスピードコントロール(ＩＳＣ）装置のバルブ３４が接続されている。
【００２２】
このエンジン制御ＥＣＵ１は、上記の各種センサの検出信号に基づいてエンジンの運転状態に対応した燃料噴射量等を演算し、エンジンの複数の気筒それぞれに設定されるインジェクター３２に対して燃料噴射指令を、点火プラグ３３に対して点火指令信号を、また、ＩＳＣバルブ３４には制御信号を出力してエンジンの運転制御を実行する。
【００２３】
また、エンジン制御ＥＣＵ１は、車両の各部位の診断を各センサ群からの検出信号に基づいて実行しており、異常が発生した場合、その異常事象を判別し、異常履歴情報及び異常発生時の前後における主要なデータをＥＥＰＲＯＭ１４内の分割された３領域のそれぞれに記憶する。
【００２４】
一方、エンジン制御ＥＣＵ１による車両の各部位の診断に基づく情報を外部から読み出せるように、エンジン制御ＥＣＵ１に対して入出力部１５を介してダイアグツール２が接続できるようになっており、ダイアグツール２が接続された場合には、エンジン制御ＥＣＵ１はダイアグツール２との間でデータ通信を行い、ダイアグツール２から要求される情報を出力する。
【００２５】
次に、起動時にＥＥＰＲＯＭ１４に記憶されているデータを読み出してＲＡＭ１３に記憶する場合、あるいは、ダイアグツール２から情報出力を要求された場合に、ＥＥＰＲＯＭ１４に記憶された故障情報のデータを読み出すときのＣＰＵ１１の作用について説明する。
故障履歴データの読出し時には、ＣＰＵ１１は、図２のフローチャートに示す故障履歴有無判定プログラムを実行し、このプログラムを開始すると、まず、ＥＥＰＲＯＭ１４の分割された３領域より第１データ〜第３データを取得した（ステップ１０１）後、第１データ〜第３データの多数決処理を実施する（ステップ１０２）。
【００２６】
なお、本実施例では、図６に示すデータの各ビットが吸気圧センサ異常、回転角センサ異常、カム角センサ異常、ノックセンサ異常等、各種のセンサ等のそれぞれの異常有無を示しており、「１」のとき「故障あり」、「０」のとき「故障なし」、を表しているものとし、各ビットごとに図２に示すフローチャートのプログラムを実行して故障履歴が「１」か「０」かを判定するものとする。
【００２７】
多数決処理を実施した後、ＣＰＵ１１は、多数決時に不一致データが有ったか否かを判定し（ステップ１０３）、不一致データがなかったと判定した場合、多数決結果が「１」か否かを判定する（ステップ１０４）。そして、多数決結果が「１」であると判定した場合、ＣＰＵ１１は、そのビットの情報を「１（故障履歴あり）」と確定してＲＡＭ１３に記憶、または、入出力部１５を介してダイアグツール２に出力する（ステップ１０５）。また、多数決結果が「０」であると判定した場合、ＣＰＵ１１は、そのビットの情報を「０（故障履歴なし）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ１０６）。
【００２８】
一方、ステップ１０３で不一致データが有ったと判定した場合、ＣＰＵ１１は、多数決結果が「１」か否かを判定し（ステップ１０７）、多数決結果が「０」であると判定した場合、ＣＰＵ１１は、そのビットの情報を「０（故障履歴なし）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ１０６）。
【００２９】
また、ステップ１０７で多数決結果が「１」であると判定した場合、ＣＰＵ１１は、ＥＥＰＲＯＭ１４に故障関連データが記憶されているか否かを判定し（ステップ１０８）、ＥＥＰＲＯＭ１４に故障関連データが記憶されていると判定した場合、そのビットの情報を「１（故障履歴あり）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ１０５）。また、ＥＥＰＲＯＭ１４に故障関連データが記憶されていないと判定した場合、ＣＰＵ１１は、そのビットの情報を「０（故障履歴なし）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ１０６）。
【００３０】
以上のように、複数の故障履歴が同時にＥＥＰＲＯＭ１４に記憶されることは稀であるので、多数決時に不一致データが有った場合、多数決結果が「１」のときは故障時に記憶された故障関連データの有無によって、故障履歴の有無を確定し、多数決結果が「０」のときは故障履歴なしと確定するようにしたので、故障履歴データに不一致があった場合、誤って故障履歴を出力することを防止することができる。
【００３１】
なお、上記の実施例では、多数決結果が「１」の場合のみ、故障時に記憶された故障関連データを確認したが、これは多数決結果が「０」の場合、故障履歴を誤ってありとすることがないためであるが、故障時に記憶された故障関連データの有無を重視する場合には、上記のステップ１０７で多数決結果が「０」と判定した場合にも、故障時に記憶された故障関連データを確認して故障履歴の有無を確定するようにすることもできる。
【実施例２】
【００３２】
上記の実施例では、多数決時に不一致データが有った場合、多数決結果が「１」のとき、故障時に記憶された故障関連データの有無によって故障履歴の有無を確定したが、現在の故障関連データが異常か否かを判定することにより、故障履歴の有無を確定することもでき、以下、図３のフローチャートにより、現在の故障関連データ値に基づいて故障履歴の有無を確定する場合のＣＰＵ１１の作用を説明する。
なお、この実施例のシステム構成は図１と同じであるので、説明は省略する。
【００３３】
故障履歴データの読出し時には、ＣＰＵ１１は、故障履歴データのビット毎に、図３のフローチャートに示す故障履歴有無判定プログラムを実行し、このプログラムを開始すると、まず、ＥＥＰＲＯＭ１４の分割された３領域より第１データ〜第３データを取得した（ステップ２０１）後、第１データ〜第３データの多数決処理を実施する（ステップ２０２）。
【００３４】
多数決処理を実施した後、ＣＰＵ１１は、多数決時に不一致データが有ったか否かを判定し（ステップ２０３）、不一致データがなかったと判定した場合、多数決結果が「１」か否かを判定する（ステップ２０４）。そして、多数決結果が「１」であると判定した場合、ＣＰＵ１１は、そのビットの情報を「１（故障履歴あり）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ２０５）。また、多数決結果が「０」であると判定した場合、ＣＰＵ１１は、そのビットの情報を「０（故障履歴なし）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ２０６）。
【００３５】
一方、ステップ２０３で不一致データが有ったと判定した場合、ＣＰＵ１１は、多数決結果が「１」か否かを判定し（ステップ２０７）、多数決結果が「０」であると判定した場合、ＣＰＵ１１は、そのビットの情報を「０（故障履歴なし）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ２０６）。
【００３６】
また、ステップ２０７で多数決結果が「１」であると判定した場合、ＣＰＵ１１は、現在の故障関連データ、例えば、判定しているビットが水温センサ異常の故障履歴であった場合には、水温センサ２６の出力を入出力部１５を介して取り込み、そのデータ値が異常か否かを判定する（ステップ２０８）。現在の故障関連データが異常と判定した場合、ＣＰＵ１１は、そのビットの情報を「１（故障履歴あり）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力し（ステップ２０５）、現在値データが異常でないと判定した場合、ＣＰＵ１１は、そのビットの情報を「０（故障履歴なし）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ２０６）。
【００３７】
以上のように、故障履歴がありの場合、通常、点検時点でもその故障履歴ありと判定されたセンサ等の出力が異常であることが多いので、故障履歴データに不一致があった場合、多数決結果が「１」のときは現在の故障関連データの異常の有無を判定することにより故障履歴の有無を確定することができ、誤って故障履歴を出力することを防止することができる。
【実施例３】
【００３８】
さらに、ある故障が発生した場合、その故障に伴って発生する故障（以下、共連れ故障という）、例えば、ＥＥＰＲＯＭ通信異常の場合のイモビライザ通信異常、燃料系異常の場合のＯ2センサ異常等、があるので、多数決時に不一致データが有った場合、多数決結果が「１」のとき、共連れ故障の故障履歴があるか否かを判定することにより、故障履歴の有無を確定することもでき、以下、図４のフローチャートにより、共連れ故障の有無により故障履歴の有無を確定する場合のＣＰＵ１１の作用を説明する。
なお、この実施例のシステム構成も図１と同じであるので、説明は省略する。
【００３９】
故障履歴データの読出し時には、ＣＰＵ１１は、故障履歴データのビット毎に、図４のフローチャートに示す故障履歴有無判定プログラムを実行し、このプログラムを開始すると、まず、ＥＥＰＲＯＭ１４の分割された３領域より第１データ〜第３データを取得した（ステップ３０１）後、第１データ〜第３データの多数決処理を実施する（ステップ３０２）。
【００４０】
多数決処理を実施した後、ＣＰＵ１１は、多数決時に不一致データが有ったか否かを判定し（ステップ３０３）、不一致データがなかったと判定した場合、多数決結果が「１」か否かを判定する（ステップ３０４）。そして、多数決結果が「１」であると判定した場合、ＣＰＵ１１は、そのビットの情報を「１（故障履歴あり）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ３０５）。また、多数決結果が「０」であると判定した場合、ＣＰＵ１１は、そのビットの情報を「０（故障履歴なし）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ３０６）。
【００４１】
一方、ステップ３０３で不一致データが有ったと判定した場合、ＣＰＵ１１は、多数決結果が「１」か否かを判定し（ステップ３０７）、多数決結果が「０」であると判定した場合、ＣＰＵ１１は、そのビットの情報を「０（故障履歴なし）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ３０６）。
【００４２】
また、ステップ３０７で多数決結果が「１」であると判定した場合、ＣＰＵ１１は、共連れ故障の履歴、例えば、判定しているビットがＯ2センサ異常の故障履歴であった場合には、燃料系異常の故障履歴があるか否かを判定する（ステップ３０８）。共連れ故障の故障履歴があると判定した場合、ＣＰＵ１１は、そのビットの情報を「１（故障履歴あり）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力し（ステップ３０５）、共連れ故障の故障履歴がないと判定した場合、ＣＰＵ１１は、そのビットの情報を「０（故障履歴なし）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ３０６）。
【００４３】
以上のように、共連れ故障の有無を判定することによって故障履歴の有無を確定することにより、故障履歴データに不一致があった場合に、誤って故障履歴を出力することを防止することができる。
【実施例４】
【００４４】
以上の実施例では、故障履歴が故障有りと判定され、故障データに不一致があった場合、故障時に記憶された故障関連データの有無、その時点の故障関連データ値の異常の有無あるいはその他の共連れ故障履歴の有無により故障履歴ありか否かを確定したが、故障データに不一致があった場合、データの再読み出しまたは不一致になった箇所のみ再読み出し処理を実行して故障履歴ありか否かを確定することもでき、以下、多数決処理による故障履歴のチェック時に故障データに不一致があったとき、データの再読み出し処理を実行する場合のＣＰＵ１１の作用を図５のフローチャートにより説明する。
なお、この実施例のシステム構成も図１と同じであるので、説明は省略する。
【００４５】
故障履歴データの読出し時には、ＣＰＵ１１は、故障履歴データのビット毎に、図５のフローチャートに示す故障履歴有無判定プログラムを実行し、このプログラムを開始すると、まず、ＥＥＰＲＯＭ１４の分割された３領域より第１データ〜第３データを取得した（ステップ４０１）後、第１データ〜第３データの多数決処理を実施する（ステップ４０２）。
【００４６】
多数決処理を実施した後、ＣＰＵ１１は、多数決時に不一致データが有ったか否かを判定し（ステップ４０３）、不一致データがなかったと判定した場合、多数決結果が「１」か否かを判定する（ステップ４０４）。そして、多数決結果が「１」であると判定した場合、ＣＰＵ１１は、そのビットの情報を「１（故障履歴あり）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ４０５）。また、多数決結果が「０」であると判定した場合、ＣＰＵ１１は、そのビットの情報を「０（故障履歴なし）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ４０６）。
【００４７】
一方、ステップ４０３で不一致データが有ったと判定した場合、ＣＰＵ１１は、リトライ回数が制限回数を超えたか否かを判定し（ステップ４０７）、リトライ回数が制限回数を超えていないと判定した場合、リトライ回数を１だけカウントアップした（ステップ４０８）後、ステップ４０１に戻って再びＥＥＰＲＯＭ１４から第１データ〜第３データを取得する。
そして、ステップ４０７でリトライ回数が制限回数、例えば３回を超えたと判定した場合、ＣＰＵ１１は、そのビットの情報を「０（故障履歴なし）」と確定してＲＡＭ１３に記憶、または、ダイアグツール２に出力する（ステップ４０６）。
【００４８】
以上のように、多数決処理により故障履歴をチェックしたとき、故障履歴データに不一致があった場合、データの再読み出しを実行し、所定回数再読み出しを実行してもデータ不一致が継続する場合には、故障なしと確定されるので、データ不一致の場合の故障情報の誤出力を防止することができる。
なお、上記の実施例では、多数決処理により故障履歴をチェックしたとき、故障履歴データに不一致があった場合、３つのデータの再読み出しを行ったが、不一致になった箇所のみ再読み出し処理を実行するようにすることもでき、このようにすれば、データ再読み出し時間の短縮を図ることができる。
【００４９】
また、以上の実施例では、故障履歴データの各ビットが各種のセンサ等のそれぞれの異常有無を示している場合の例について説明したが、ビット毎でなく、図６のデータの上位バイトと下位バイトで一つの故障履歴データ、例えば、ダイアグコードを構成する場合には、各データの８ビットを同時に読み出して比較することにより、データが一致しているか否かを判定することができる。
【００５０】
さらに、以上の実施例では、一つのＥＥＰＲＯＭ内を３領域に分割しそれぞれに同じデータを書き込んだが、３個のＥＥＰＲＯＭに同じデータを書き込むようにした異常診断システムにも本発明を適用することができ、また、同じデータを書き込む箇所の個数は３に限らず、奇数個であれば、任意の個数を記憶することが可能である。
【００５１】
また、以上の実施例では、起動時にＥＥＰＲＯＭ１４に記憶されている故障履歴データを読み出してＲＡＭ１３に記憶するとき、または、ダイアグツール２から情報出力を要求された場合に、故障履歴有無判定を実行する例について説明したが、故障情報をナビゲーション装置に送信してナビの画面に表示する場合や、故障情報をセンターに送信する場合等に、ＥＥＰＲＯＭ１４に記憶されている故障情報を読み出す場合にも、本発明を適用することが可能である。
【００５２】
さらに、以上の実施例では、故障情報を記憶するものとして、ＥＥＰＲＯＭを示しているが、これに限らず故障情報をスタンバイＲＡＭに記憶する場合にも、本発明を適用することができ、また、以上の実施例では、本発明の車両用電子制御装置をエンジン制御ＥＣＵに適用した例について説明したが、その他のＥＣＵにも本発明を適用することが可能である。
【図面の簡単な説明】
【００５３】
【図１】本発明の車両用電子制御装置を適用したエンジン制御ＥＣＵにダイアグツールを接続したシステム構成を示す図である。
【図２】故障履歴有無判定時の作用を示すフローチャートである。
【図３】現在の故障関連データ値に基づいて故障履歴の有無を確定する場合の作用を示すフローチャートである。
【図４】共連れ故障の有無により故障履歴の有無を確定する場合の作用を示すフローチャートである。
【図５】故障データに不一致があった場合、データの再読み出し処理を実行する場合の作用を示すフローチャートである。
【図６】三箇所書込みによる多数決処理時のデータの一例を示す図である。
【符号の説明】
【００５４】
１  エンジン制御ＥＣＵ
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  ＥＥＰＲＯＭ
１５  入出力部
１６  バス
２  ダイアグツール
【図１】
2007315212.tif 000003
【図２】
2007315212.tif 000004
【図３】
2007315212.tif 000005
【図４】
2007315212.tif 000006
【図５】
2007315212.tif 000007
【図６】
2007315212.tif 000008