(57)【要約】【課題】  移動体内のセンサにより電子制御機器の異常状態を検知した際に、不揮発性メモリに保存されるデータにより自己診断を行う電子制御装置、および電子制御機器のデータ保存方法に関し、ＣＰＵの処理負荷やＲＯＭの容量を増大させずに、電子制御機器の異常発生の原因の解析を正確に行って異常発生の経緯を早期に特定することを目的とする。【解決手段】  移動体内のセンサにより取得されるデータを一時的に保持する第１のデータ保存手段２と、電子制御機器９の異常状態が検知されたときに、第１のデータ保存手段内のデータを所定のサンプリング間隔で保存する不揮発性の第２のデータ保存手段３と、センサにより取得されるデータに関連した複数のデータ項目を予め格納する格納手段８とを備え、格納手段内の複数のデータ項目から選択された特定のデータ項目に関係するデータが、第１のデータ保存手段から取り出されて第２のデータ保存手段に送り込まれる。【選択図】      図１
2006336564.tif 000002
【特許請求の範囲】
【請求項１】
移動体内の電子制御機器を制御して前記電子制御機器の自己診断を行う機能を有する電子制御装置において、
移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、
前記電子制御機器の異常状態が検知されたときに、前記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、
前記複数のセンサにより取得されるデータに関連した複数のデータ項目を予め格納しておく格納手段とを備え、
前記格納手段に格納されている複数のデータ項目から特定のデータ項目が選択され、前記特定のデータ項目に関係するデータが前記第１のデータ保存手段から取り出されて前記第２のデータ保存手段に送り込まれるように構成されることを特徴とする電子制御装置。
【請求項２】
前記格納手段が、前記電子制御機器の自己診断を支援する外部検査ツールに設けられており、前記外部検査ツールにより、前記格納手段に格納されている複数のデータ項目から前記特定のデータ項目が選択されるようになっていることを特徴とする請求項１記載の電子制御装置。
【請求項３】
移動体内の電子制御機器を制御して前記電子制御機器の自己診断を行う機能を有する電子制御装置において、
移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、
前記電子制御機器の異常状態が検知されたときに、前記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、
前記複数のセンサにより取得されるデータを複数のバイト数のグループに分け、前記複数のバイト数のグループを予め格納しておく格納手段とを備え、
前記格納手段に格納されている複数のバイト数のグループから特定のバイト数のグループが選択され、前記特定のバイト数のグループに関係するデータが前記第１のデータ保存手段から取り出されて前記第２のデータ保存手段に送り込まれるように構成されることを特徴とする電子制御装置。
【請求項４】
前記格納手段が、前記電子制御機器の自己診断を支援する外部検査ツールに設けられており、前記外部検査ツールにより、前記格納手段に格納されている複数のバイト数のグループから前記特定のバイト数のグループが選択されるようになっていることを特徴とする請求項３記載の電子制御装置。
【請求項５】
移動体内の電子制御機器を制御して前記電子制御機器の自己診断を行う機能を有する電子制御装置において、
移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、
前記電子制御機器の異常状態が検知されたときに、前記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、
前記第１のデータ保存手段を構成する記憶部のアドレスを予め格納しておく格納手段とを備え、
前記格納手段に格納されている前記記憶部のアドレスから特定のアドレスが選択され、前記特定のアドレスに関係するデータが前記第１のデータ保存手段から取り出されて前記第２のデータ保存手段に送り込まれるように構成されることを特徴とする電子制御装置。
【請求項６】
前記格納手段が、前記電子制御機器の自己診断を支援する外部検査ツールに設けられており、前記外部検査ツールにより、前記格納手段に格納されている前記記憶部のアドレスから特定のアドレスが選択されるようになっていることを特徴とする請求項５記載の電子制御装置。
【請求項７】
移動体内の電子制御機器を制御して前記電子制御機器の自己診断を行う機能を有する電子制御装置において、
移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、
前記電子制御機器の異常状態が検知されたときに、前記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、
前記複数のセンサにより取得されるデータを複数の系列のグループに分け、前記複数の系列のグループを予め格納しておく格納手段とを備え、
前記格納手段に格納されている複数の系列のグループから特定の系列のグループが選択され、前記特定の系列のグループに関係するデータが前記第１のデータ保存手段から取り出されて前記第２のデータ保存手段に送り込まれるように構成されることを特徴とする電子制御装置。
【請求項８】
前記格納手段が、前記電子制御機器の自己診断を支援する外部検査ツールに設けられており、前記外部検査ツールにより、前記格納手段に格納されている複数の系列のグループから特定の系列のグループが選択されるようになっていることを特徴とする請求項７記載の電子制御装置。
【請求項９】
移動体内の電子制御機器を制御して前記電子制御機器の自己診断を行う機能を有する電子制御装置において、
移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、
前記電子制御機器の異常状態が検知されたときに、前記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、
前記第１のデータ保存手段に保持されている全てのデータを一括して指定する旨の指示内容を予め格納しておく格納手段とを備え、
前記格納手段に格納されている前記指示内容に従って、前記第１のデータ保存手段から全てのデータが取り出され、前記第２のデータ保存手段に送り込まれるように構成されることを特徴とする電子制御装置。
【請求項１０】
前記格納手段が、前記電子制御機器の自己診断を支援する外部検査ツールに設けられており、前記外部検査ツールにより、前記格納手段に格納されている前記指示内容が読み出されるようになっていることを特徴とする請求項９記載の電子制御装置。
【請求項１１】
移動体内の電子制御機器を制御して前記電子制御機器の自己診断を行う機能を有する電子制御装置において、
移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、
前記電子制御機器の異常状態が検知されたときに、前記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、
前記第１のデータ保存手段を構成する記憶部の先頭アドレスから所定のバイト数分のアドレスを予め格納しておく格納手段とを備え、
前記格納手段に格納されている前記記憶部の前記所定のバイト数分のアドレスから特定のアドレスが選択され、前記特定のアドレスに関係するデータが前記第１のデータ保存手段から取り出されて前記第２のデータ保存手段に送り込まれるように構成されることを特徴とする電子制御装置。
【請求項１２】
前記格納手段が、前記電子制御機器の自己診断を支援する外部検査ツールに設けられており、前記外部検査ツールにより、前記格納手段に格納されている前記記憶部の前記所定のバイト数分のアドレスから前記特定のアドレスが選択されるようになっていることを特徴とする請求項１１記載の電子制御装置。
【請求項１３】
移動体内の電子制御機器を制御して前記電子制御機器の自己診断を行う機能を有する電子制御装置において、
移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、
前記電子制御機器の異常状態が検知されたときに、前記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、
前記第１のデータ保存手段に保存されているデータの最大値および最小値の少なくとも一方を予め格納しておく格納手段とを備え、
前記格納手段に格納されているデータの最大値および最小値の少なくとも一方が取り出され、前記第２のデータ保存手段に送り込まれるように構成されることを特徴とする電子制御装置。
【請求項１４】
前記格納手段が、前記電子制御機器の自己診断を支援する外部検査ツールに設けられており、前記外部検査ツールにより、前記格納手段に格納されている前記データの最大値および最小値の少なくとも一方が読み出されるようになっていることを特徴とする請求項１３記載の電子制御装置。
【請求項１５】
移動体内の電子制御機器を制御して前記電子制御機器の自己診断を行う機能を有する電子制御装置において、
移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、
前記電子制御機器の異常状態が検知されたときに、前記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、
前記電子制御装置の前記機能を実現するために使用されるプログラムのプログラムポインタを予め格納しておく格納手段とを備え、
前記格納手段に格納されているプログラムのプログラムポインタが取り出され、前記第１のデータ保存手段内のデータと共に前記第２のデータ保存手段に送り込まれるように構成されることを特徴とする電子制御装置。
【請求項１６】
前記格納手段が、前記電子制御機器の自己診断を支援する外部検査ツールに設けられており、前記外部検査ツールにより、前記格納手段に格納されているプログラムのプログラムポインタが読み出されるようになっていることを特徴とする請求項１５記載の電子制御装置。
【請求項１７】
移動体内の電子制御機器を制御して前記電子制御機器の自己診断を行う機能を有する電子制御装置において、
移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、
前記電子制御機器の異常状態が検知されたときに、前記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、
前記第１のデータ保存手段を構成する記憶部の複数のセクションを予め格納しておく格納手段とを備え、
前記格納手段に格納されている前記記憶部の複数のセクションから特定のセクションが選択され、前記特定のセクションに関係するデータが前記第１のデータ保存手段から取り出されて前記第２のデータ保存手段に送り込まれるように構成されることを特徴とする電子制御装置。
【請求項１８】
前記格納手段が、前記電子制御機器の自己診断を支援する外部検査ツールに設けられており、前記外部検査ツールにより、前記格納手段に格納されている前記記憶部の複数のセクションから前記特定のセクションが選択されるようになっていることを特徴とする請求項１７記載の電子制御装置。
【請求項１９】
移動体内の電子制御機器を制御して前記電子制御機器の自己診断を行う機能を有する電子制御装置において、
移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、
前記電子制御機器の異常状態が検知されたときに、前記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、
前記第１のデータ保存手段を構成する記憶部の複数のセクション、および、各々の前記セクションの先頭アドレスから所定のバイト数分のアドレスを予め格納しておく格納手段とを備え、
前記格納手段に格納されている前記記憶部の複数のセクションから特定のセクションが選択されると共に、前記所定のバイト数分のアドレスから特定のアドレスが選択され、前記特定のセクションおよび前記特定のアドレスに関係するデータが前記第１のデータ保存手段から取り出されて前記第２のデータ保存手段に送り込まれるように構成されることを特徴とする電子制御装置。
【請求項２０】
前記格納手段が、前記電子制御機器の自己診断を支援する外部検査ツールに設けられており、前記外部検査ツールにより、前記格納手段に格納されている前記記憶部の複数のセクションから前記特定のセクションが選択されると共に、前記所定のバイト数分のアドレスから前記特定のアドレスが選択されるようになっていることを特徴とする請求項１９記載の電子制御装置。
【請求項２１】
移動体内の電子制御機器を制御して前記電子制御機器の自己診断を行う機能を有する電子制御装置において、前記機能を実現するために使用されるプログラムが、複数のモジュールにより構成されており、
移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、
前記電子制御機器の異常状態が検知されたときに、前記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、
前記複数のモジュールの各々について、前記第１のデータ保存手段を構成する記憶部のアドレスを保持するための補助情報保存手段とを備え、
前記複数のモジュール中の特定のモジュールで前記異常状態を示すフラグが検出されたときに、前記特定のモジュールで使用されている前記記憶部のアドレスが前記補助情報保存手段から読み出され、当該記憶部のアドレスに関係するデータが前記第１のデータ保存手段から取り出されて前記第２のデータ保存手段に送り込まれるように構成されることを特徴とする電子制御装置。
【請求項２２】
移動体内の電子制御機器を制御して前記電子制御機器の自己診断を行う機能を有する電子制御装置において、前記機能を実現するために使用されるプログラムが、複数のモジュールにより構成されており、
移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、
前記電子制御機器の異常状態が検知されたときに、前記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、
前記複数のモジュールの各々について、前記第１のデータ保存手段を構成する記憶部に保持されているデータの最大値および最小値の少なくとも一方を保持するための補助情報保存手段とを備え、
前記複数のモジュール中の特定のモジュールで前記異常状態を示すフラグが検出されたときに、前記特定のモジュールで使用されている前記記憶部に保持されているデータの最大値および最小値の少なくとも一方が前記補助情報保存手段から読み出され、前記第２のデータ保存手段に送り込まれるように構成されることを特徴とする電子制御装置。
【請求項２３】
前記複数のモジュールの各々について、前記記憶部のアドレス、および、前記記憶部に保持されているデータの最大値および最小値の少なくとも一方を含む補助情報が、テーブルの形式で前記補助情報保存手段に保持されていることを特徴とする請求項２１または２２記載の電子制御装置。
【請求項２４】
移動体内の電子制御機器を制御して前記電子制御機器の自己診断を行う機能を有する電子制御装置において、前記機能を実現するために使用されるプログラムが、複数のモジュールにより構成されており、
移動体に取り付けられた複数のセンサにより取得されるデータ、および、前記電子制御装置の前記機能を実現するために使用されるプログラムのプログラムポインタを一時的に保持するための第１のデータ保存手段と、
前記電子制御機器の異常状態が検知されたときに、前記第１のデータ保存手段内のデータおよびプログラムのプログラムポインタを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段とを備え、
前記複数のモジュール中の特定のモジュールで前記異常状態を示すフラグが検出されたときに、前記第１のデータ保存手段に保持されているプログラムポインタの中で、前記特定のモジュールで使用されているプログラムのプログラムポインタが、前記第１のデータ保存手段から取り出されて前記第２のデータ保存手段に送り込まれるように構成されることを特徴とする電子制御装置。
【請求項２５】
移動体に取り付けられた複数のセンサにより取得されるデータを第１のデータ保存手段に一時的に保持するステップと、
移動体内の電子制御機器の異常状態が検知されたときに、不揮発性の第２のデータ保存手段により、前記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するステップと、
前記第２のデータ保存手段に保存されるデータに基づいて、前記電子制御機器の自己診断を行うステップと、
前記電子制御機器の自己診断を行うためのプログラムを構成する複数のモジュールの各々について、前記第１のデータ保存手段を構成する記憶部のアドレスを補助情報保存手段に保持するステップとを含み、
前記複数のモジュール中の特定のモジュールで前記異常状態を示すフラグが検出されたときに、前記特定のモジュールで使用されている前記記憶部のアドレスが前記補助情報保存手段から読み出され、当該記憶部のアドレスに関係するデータが前記第１のデータ保存手段から取り出されて前記第２のデータ保存手段に送り込まれることを特徴とする電子制御機器のデータ保存方法。
【請求項２６】
移動体に取り付けられた複数のセンサにより取得されるデータを第１のデータ保存手段に一時的に保持するステップと、
移動体内の電子制御機器の異常状態が検知されたときに、不揮発性の第２のデータ保存手段により、前記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するステップと、
前記第２のデータ保存手段に保存されるデータに基づいて、前記電子制御機器の自己診断を行うステップと、
前記電子制御機器の自己診断を行うためのプログラムを構成する複数のモジュールの各々について、前記第１のデータ保存手段を構成する記憶部に保持されているデータの最大値および最小値の少なくとも一方を補助情報保存手段に保持するステップとを含み、
前記複数のモジュール中の特定のモジュールで前記異常状態を示すフラグが検出されたときに、前記特定のモジュールで使用されている前記記憶部に保持されているデータの最大値および最小値の少なくとも一方が前記補助情報保存手段から読み出され、前記第２のデータ保存手段に送り込まれることを特徴とする電子制御機器のデータ保存方法。
【請求項２７】
移動体に取り付けられた複数のセンサにより取得されるデータ、および、移動体内の電子制御機器の自己診断を行う機能を実現するための複数のモジュールからなるプログラムのプログラムポインタを第１のデータ保存手段に一時的に保持するステップと、
移動体内の電子制御機器の異常状態が検知されたときに、不揮発性の第２のデータ保存手段により、前記第１のデータ保存手段内のデータおよびプログラムのプログラムポインタを所定のサンプリング間隔で保存するステップと、
前記複数のモジュールの各々について、前記第１のデータ保存手段を構成する記憶部のアドレスを補助情報保存手段に保持するステップと、
前記第２のデータ保存手段に保存されるデータおよびプログラムのプログラムポインタに基づいて、前記電子制御機器の自己診断を行うステップとを含み、
前記複数のモジュール中の特定のモジュールで前記異常状態を示すフラグが検出されたときに、前記第１のデータ保存手段に保持されているプログラムポインタの中で、前記特定のモジュールで使用されているプログラムのプログラムポインタが、前記第１のデータ保存手段から取り出されて前記第２のデータ保存手段に送り込まれることを特徴とする電子制御機器のデータ保存方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両等の移動体内の複数のセンサ等により移動体内の電子制御機器の異常状態を検知した際に、予め定められたデータをＳＲＡＭ（Stand-by Random Access Memory ：スタンバイ・ランダム・アクセス・メモリ）またはＥＥＰＲＯＭ（Electrically Erasable and Programmable Read-only Memory：電気的に消去可能なプログラマブル・リード・オンリ・メモリ）等の不揮発性メモリに保存し、この不揮発性メモリに保存されているデータに基づいて当該電子制御機器の自己診断を行う機能を有する電子制御装置、および電子制御機器のデータ保存方法に関する。
【背景技術】
【０００２】
一般に、車両等の移動体内には、通常ＥＣＵ（Electronic Control Unit ：電子制御ユニット）とも呼ばれるコンピュータが内蔵された電子制御装置が設けられている。このような電子制御装置においては、運転者等が快適な運転を行えるようにするために、移動体内の電子制御機器（例えば、電子制御式エンジン）を正しく制御して当該電子制御機器の適切な自己診断を行う機能、すなわち、ダイアグノーシス機能が組み込まれている。
【０００３】
このダイアグノーシス機能に関連して、車両等の移動体内には、電子制御機器の現在の状態を正確に把握することができるようにするために、Ａ／Ｆセンサ（空燃比センサ）や水温センサや吸気温センサ等の各種のセンサが取り付けられている。このような各種のセンサにより検出された検出信号は、Ａ／Ｄコンバータ（アナログ／ディジタルコンバータ）等によりディジタル信号に変換された後に、センサ検出データとして、コンピュータ内のＮＲＡＭ（Normal Random Access Memory ：ノーマル・ランダム・アクセス・メモリ、通常、単にＲＡＭと略記される））等の主記憶装置に一時的に保持される。このようなＮＲＡＭ等の主記憶装置は、一般に揮発性メモリと呼ばれており、車両等の移動体のイグニッションスイッチがオンになっている期間だけ、各々のセンサ検出データが更新されるタイミングに応じた周期でセンサ検出データを保持するようになっている。それゆえに、イグニッションスイッチがオフになったときに、ＮＲＡＭ等に保持されているセンサ検出データは全て消失する。
【０００４】
また一方で、移動体内の電子制御装置において、ＮＲＡＭ等に保持されているセンサ検出データに基づいて移動体の電子制御機器に何らかの異常が発生している（すなわち、電子制御機器が異常状態になっている）ことが検知された場合、ＮＲＡＭ等に保持されているセンサ検出データから予め定められたデータを取り出し、コンピュータ内のＳＲＡＭ等やＥＥＰＲＯＭ等の不揮発性メモリに一定のサンプリング間隔（例えば、５００ｍｓｅｃ（ミリ秒））で保存するようになっている。
【０００５】
上記のように、移動体内の電子制御機器の異常状態が検知されたときに、ＮＲＡＭから取り出されたデータをＳＲＡＭまたはＥＥＰＲＯＭ等の不揮発性メモリに保存する処理は、通常「フリーズ」と呼ばれている。
【０００６】
ＮＲＡＭから取り出されたデータのフリーズ処理を行う際に使用されるＳＲＡＭは、通常、移動体内のバッテリに接続されており、このバッテリからバックアップ用の電源電圧が常時供給されるようになっている。それゆえに、イグニッションスイッチがオフになっても、ＳＲＡＭに保存されているデータは消失しない。したがって、整備工場等において、ＳＲＡＭに保存されているデータを読み出して電子制御機器の異常発生の原因の解析や異常発生の経緯の特定に役立てることにより、当該電子制御機器の自己診断を行うことができるようになる。
【０００７】
代替的に、ＮＲＡＭから取り出されたデータのフリーズ処理を行う際に使用されるＥＥＰＲＯＭは、電気的にデータを書き込んだり消去したりすることが可能であるＲＯＭ（Read-only Memory：リード・オンリ・メモリ）からなる。イグニッションスイッチがオンになっている期間で、移動体内の電子制御機器の異常状態が検知されたときに、ＮＲＡＭから取り出されたデータがＥＥＰＲＯＭに保存される。また一方で、イグニッションスイッチがオフになっている期間では、ＥＥＰＲＯＭに保存されているデータは消失することなくそのまま保持される。したがって、この場合も、前述のＳＲＡＭを使用した場合と同様に、整備工場等において、ＥＥＰＲＯＭに保存されているデータを読み出して電子制御機器の異常発生の原因の解析や異常発生の経緯の特定に役立てることにより、当該電子制御機器の自己診断を行うことができるようになる。
【０００８】
従来の電子制御装置においてＮＲＡＭ内のデータのフリーズ処理を行う場合、このフリーズ処理の対象とするデータのデータ項目（例えば、エンジン回転数、水温および吸気温）等は、電子制御装置内のコンピュータのソフトウェアにより規定されている。換言すれば、フリーズ処理の対象とするデータのデータ項目等は、電子制御機器の自己診断を実行させるためのプログラムが格納されているＲＯＭの内容により予め定められており、発生する異常によって任意に選択することができない。それゆえに、従来の電子制御装置では、新たなデータ項目等をフリーズ処理の対象として追加したり現在定められているデータ項目等を一部変更したりすることはできず、どのような異常が発生しても、フリーズ処理の対象とするデータのデータ項目等は一定である。
【０００９】
しかしながら、本来は、ＮＲＡＭ内のデータのフリーズ処理を行う目的は、移動体の電子制御機器に何らかの異常が発生した後に異常発生の経緯を早期に特定することである。このため、発生する異常に関係するＮＲＡＭ内のデータのデータ項目等をより絞り込んで限定する処理を行うことにより、異常発生の経緯の早期特定につなげることが重要になってくる。しかしながら、この場合、新たなデータ項目の追加によりＲＯＭの容量が増大したり、現在のデータ項目を変更する際のコンピュータのＣＰＵ（Central Processing Unit ：中央演算処理装置）等の処理負荷が増大したりすることになるので、現状では、上記のような処理を行うことができない。
【００１０】
それゆえに、従来の電子制御装置においては、電子制御機器に何らかの異常が発生した後に、電子制御機器の異常発生の原因の解析に時間がかかり、異常発生の経緯を早期に特定することが困難になるという問題が生じてきた。
【００１１】
さらに、従来の電子制御装置においては、フリーズ処理時にＮＲＡＭ内のデータしか不揮発性メモリに保存することができないので、ソフトウェア（プログラム）の実行経緯を追跡することにより異常発生の経緯の早期特定に結びつけることができないという問題も生じてきた。
【００１２】
ここで、参考のため、従来の電子制御装置に関連した技術内容が記載された特許文献１（特開２００４−２３２４９８号公報）および特許文献２（特開平７−４６６７６号公報）を呈示する。
【００１３】
特許文献１においては、各種のセンサからのセンサ検出データを含む複数種類の要保存データが、それぞれ変化する時間変化の大小を基準にグループ分けし、グループ毎に要保存データをバックアップ用のＲＡＭに保存する際のバックアップ周期（サンプリング間隔）を設定するようにしたダイアグノーシス機能を有する車両用電子制御装置の構成が開示されている。
【００１４】
特許文献２においては、診断装置から選択された電子制御装置に対して送信される要求メッセージの中に、要求する診断処理の内容に合わせて、その診断継続時間を指定する診断継続時間情報を組み込むようにし、選択された電子制御装置において、上記要求メッセージを受信した後、診断継続時間情報によって指定された時間に達するまで当該診断処理を実行するような車両診断用通信システムの構成が開示されている。
【００１５】
しかしながら、特許文献１および特許文献２のいずれにおいても、電子制御機器の異常発生後に異常発生の原因の解析に時間がかかり、異常発生の経緯を早期に特定することが困難になるという問題に対処するための方策には一切言及していない。
【００１６】
【特許文献１】特開２００４−２３２４９８号公報
【特許文献２】特開平７−４６６７６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明は上記問題点に鑑みてなされたものであり、コンピュータのＣＰＵ等の処理負荷やＲＯＭの容量を増大させることなく、車両等の移動体内の電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することを可能にするような電子制御装置、および電子制御機器のデータ保存方法を提供することを目的とするものである。
【課題を解決するための手段】
【００１８】
上記問題点を解決するために、本発明の第１の態様に係る電子制御装置は、移動体内の電子制御機器を制御して上記電子制御機器の自己診断を行う機能を有し、移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段（例えば、ＮＲＡＭ等の主記憶装置）と、上記電子制御機器の異常状態が検知されたときに、上記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段（例えば、ＳＲＡＭまたはＥＥＰＲＯＭ等の不揮発性メモリ）と、上記複数のセンサにより取得されるデータに関連した複数のデータ項目を予め格納しておく格納手段とを備え、上記格納手段に格納されている複数のデータ項目から特定のデータ項目が選択され、上記特定のデータ項目に関係するデータが上記第１のデータ保存手段から取り出されて上記第２のデータ保存手段に送り込まれるように構成される。
【００１９】
好ましくは、本発明の電子制御装置において、上記格納手段が、上記電子制御機器の自己診断を支援する外部検査ツール（例えば、ダイアグスキャンツール）に設けられており、上記外部検査ツールにより、上記格納手段に格納されている複数のデータ項目から上記特定のデータ項目が選択されるようになっている。
【００２０】
さらに、本発明の第２の態様に係る電子制御装置は、移動体内の電子制御機器を制御して上記電子制御機器の自己診断を行う機能を有し、移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、上記電子制御機器の異常状態が検知されたときに、上記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、上記複数のセンサにより取得されるデータを複数のバイト数のグループに分け、上記複数のバイト数のグループを予め格納しておく格納手段とを備え、上記格納手段に格納されている複数のバイト数のグループから特定のバイト数のグループが選択され、上記特定のバイト数のグループに関係するデータが上記第１のデータ保存手段から取り出されて上記第２のデータ保存手段に送り込まれるように構成される。
【００２１】
好ましくは、本発明の電子制御装置において、上記格納手段が、上記電子制御機器の自己診断を支援する外部検査ツールに設けられており、上記外部検査ツールにより、上記格納手段に格納されている複数のバイト数のグループから上記特定のバイト数のグループが選択されるようになっている。
【００２２】
さらに、本発明の第３の態様に係る電子制御装置は、移動体内の電子制御機器を制御して上記電子制御機器の自己診断を行う機能を有し、移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、上記電子制御機器の異常状態が検知されたときに、上記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、上記第１のデータ保存手段を構成する記憶部のアドレスを予め格納しておく格納手段とを備え、上記格納手段に格納されている上記記憶部のアドレスから特定のアドレスが選択され、上記特定のアドレスに関係するデータが上記第１のデータ保存手段から取り出されて上記第２のデータ保存手段に送り込まれるように構成される。
【００２３】
好ましくは、本発明の電子制御装置において、上記格納手段が、上記電子制御機器の自己診断を支援する外部検査ツールに設けられており、上記外部検査ツールにより、上記格納手段に格納されている上記記憶部のアドレスから特定のアドレスが選択されるようになっている。
【００２４】
さらに、本発明の第４の態様に係る電子制御装置は、移動体内の電子制御機器を制御して上記電子制御機器の自己診断を行う機能を有し、移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、上記電子制御機器の異常状態が検知されたときに、上記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、上記複数のセンサにより取得されるデータを複数の系列のグループに分け、上記複数の系列のグループを予め格納しておく格納手段とを備え、上記格納手段に格納されている複数の系列のグループから特定の系列のグループが選択され、上記特定の系列のグループに関係するデータが上記第１のデータ保存手段から取り出されて上記第２のデータ保存手段に送り込まれるように構成される。
【００２５】
好ましくは、本発明の電子制御装置において、上記格納手段が、上記電子制御機器の自己診断を支援する外部検査ツールに設けられており、上記外部検査ツールにより、上記格納手段に格納されている複数の系列のグループから特定の系列のグループが選択されるようになっている。
【００２６】
さらに、本発明の第５の態様に係る電子制御装置は、移動体内の電子制御機器を制御して上記電子制御機器の自己診断を行う機能を有し、移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、上記電子制御機器の異常状態が検知されたときに、上記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、上記第１のデータ保存手段に保持されている全てのデータを一括して指定する旨の指示内容を予め格納しておく格納手段とを備え、上記格納手段に格納されている上記指示内容に従って、上記第１のデータ保存手段から全てのデータが取り出され、上記第２のデータ保存手段に送り込まれるように構成される。
【００２７】
好ましくは、本発明の電子制御装置において、上記格納手段が、上記電子制御機器の自己診断を支援する外部検査ツールに設けられており、上記外部検査ツールにより、上記格納手段に格納されている上記指示内容が読み出されるようになっている。
【００２８】
さらに、本発明の第６の態様に係る電子制御装置は、移動体内の電子制御機器を制御して上記電子制御機器の自己診断を行う機能を有し、移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、上記電子制御機器の異常状態が検知されたときに、上記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、上記第１のデータ保存手段を構成する記憶部の先頭アドレスから所定のバイト数分のアドレスを予め格納しておく格納手段とを備え、上記格納手段に格納されている上記記憶部の上記所定のバイト数分のアドレスから特定のアドレスが選択され、上記特定のアドレスに関係するデータが上記第１のデータ保存手段から取り出されて上記第２のデータ保存手段に送り込まれるように構成される。
【００２９】
好ましくは、本発明の電子制御装置において、上記格納手段が、上記電子制御機器の自己診断を支援する外部検査ツールに設けられており、上記外部検査ツールにより、上記格納手段に格納されている上記記憶部の上記所定のバイト数分のアドレスから上記特定のアドレスが選択されるようになっている。
【００３０】
さらに、本発明の第７の態様に係る電子制御装置は、移動体内の電子制御機器を制御して上記電子制御機器の自己診断を行う機能を有し、移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、上記電子制御機器の異常状態が検知されたときに、上記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、上記第１のデータ保存手段に保存されているデータの最大値および最小値の少なくとも一方を予め格納しておく格納手段とを備え、上記格納手段に格納されているデータの最大値および最小値の少なくとも一方が取り出され、上記第２のデータ保存手段に送り込まれるように構成される。
【００３１】
好ましくは、本発明の電子制御装置において、上記格納手段が、上記電子制御機器の自己診断を支援する外部検査ツールに設けられており、上記外部検査ツールにより、上記格納手段に格納されている上記データの最大値および最小値の少なくとも一方が読み出されるようになっている。
【００３２】
さらに、本発明の第８の態様に係る電子制御装置は、移動体内の電子制御機器を制御して上記電子制御機器の自己診断を行う機能を有し、移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、上記電子制御機器の異常状態が検知されたときに、上記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、上記電子制御装置の上記機能を実現するために使用されるプログラムのプログラムポインタを予め格納しておく格納手段とを備え、上記格納手段に格納されているプログラムのプログラムポインタが取り出され、上記第１のデータ保存手段内のデータと共に上記第２のデータ保存手段に送り込まれるように構成される。
【００３３】
好ましくは、本発明の電子制御装置において、上記格納手段が、上記電子制御機器の自己診断を支援する外部検査ツールに設けられており、上記外部検査ツールにより、上記格納手段に格納されているプログラムのプログラムポインタが読み出されるようになっている。
【００３４】
さらに、本発明の第９の態様に係る電子制御装置は、移動体内の電子制御機器を制御して上記電子制御機器の自己診断を行う機能を有し、移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、上記電子制御機器の異常状態が検知されたときに、上記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、上記第１のデータ保存手段を構成する記憶部の複数のセクションを予め格納しておく格納手段とを備え、上記格納手段に格納されている上記記憶部の複数のセクションから特定のセクションが選択され、上記特定のセクションに関係するデータが上記第１のデータ保存手段から取り出されて上記第２のデータ保存手段に送り込まれるように構成される。
【００３５】
好ましくは、本発明の電子制御装置において、上記格納手段が、上記電子制御機器の自己診断を支援する外部検査ツールに設けられており、上記外部検査ツールにより、上記格納手段に格納されている上記記憶部の複数のセクションから上記特定のセクションが選択されるようになっている。
【００３６】
さらに、本発明の第１０の態様に係る電子制御装置は、移動体内の電子制御機器を制御して上記電子制御機器の自己診断を行う機能を有し、移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、上記電子制御機器の異常状態が検知されたときに、上記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、上記第１のデータ保存手段を構成する記憶部の複数のセクション、および、各々の上記セクションの先頭アドレスから所定のバイト数分のアドレスを予め格納しておく格納手段とを備え、上記格納手段に格納されている上記記憶部の複数のセクションから特定のセクションが選択されると共に、上記所定のバイト数分のアドレスから特定のアドレスが選択され、上記特定のセクションおよび上記特定のアドレスに関係するデータが上記第１のデータ保存手段から取り出されて上記第２のデータ保存手段に送り込まれるように構成される。
【００３７】
好ましくは、本発明の電子制御装置において、上記格納手段が、上記電子制御機器の自己診断を支援する外部検査ツールに設けられており、上記外部検査ツールにより、上記格納手段に格納されている上記記憶部の複数のセクションから上記特定のセクションが選択されると共に、上記所定のバイト数分のアドレスから上記特定のアドレスが選択されるようになっている。
【００３８】
さらに、本発明の第１１の態様に係る電子制御装置は、移動体内の電子制御機器を制御して上記電子制御機器の自己診断を行う機能を有し、当該機能を実現するために使用されるプログラムが、複数のモジュール（または複数のロジック）により構成されており、移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、上記電子制御機器の異常状態が検知されたときに、上記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、上記複数のモジュールの各々について、上記第１のデータ保存手段を構成する記憶部のアドレスを保持するための補助情報保存手段とを備え、上記複数のモジュール中の特定のモジュール（または特定のロジック）で上記異常状態を示すフラグが検出されたときに、上記特定のモジュールで使用されている上記記憶部のアドレスが上記補助情報保存手段から読み出され、当該記憶部のアドレスに関係するデータが上記第１のデータ保存手段から取り出されて上記第２のデータ保存手段に送り込まれるように構成される。
【００３９】
さらに、本発明の第１２の態様に係る電子制御装置は、移動体内の電子制御機器を制御して上記電子制御機器の自己診断を行う機能を有し、上記機能を実現するために使用されるプログラムが、複数のモジュールにより構成されており、移動体に取り付けられた複数のセンサにより取得されるデータを一時的に保持するための第１のデータ保存手段と、上記電子制御機器の異常状態が検知されたときに、上記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段と、上記複数のモジュールの各々について、上記第１のデータ保存手段を構成する記憶部に保持されているデータの最大値および最小値の少なくとも一方を保持するための補助情報保存手段とを備え、上記複数のモジュール中の特定のモジュールで上記異常状態を示すフラグが検出されたときに、上記特定のモジュールで使用されている上記記憶部に保持されているデータの最大値および最小値の少なくとも一方が上記補助情報保存手段から読み出され、上記第２のデータ保存手段に送り込まれるように構成される。
【００４０】
好ましくは、本発明の電子制御装置における上記複数のモジュールの各々について、上記記憶部のアドレス、および、上記記憶部に保持されているデータの最大値および最小値の少なくとも一方を含む補助情報が、テーブルの形式で上記補助情報保存手段に保持されている。
【００４１】
さらに、本発明の第１３の態様に係る電子制御装置は、移動体内の電子制御機器を制御して上記電子制御機器の自己診断を行う機能を有し、上記機能を実現するために使用されるプログラムが、複数のモジュールにより構成されており、移動体に取り付けられた複数のセンサにより取得されるデータ、および、上記電子制御装置の上記機能を実現するために使用されるプログラムのプログラムポインタを一時的に保持するための第１のデータ保存手段と、上記電子制御機器の異常状態が検知されたときに、上記第１のデータ保存手段内のデータおよびプログラムのプログラムポインタを所定のサンプリング間隔で保存するための不揮発性の第２のデータ保存手段とを備え、上記複数のモジュール中の特定のモジュールで上記異常状態を示すフラグが検出されたときに、上記第１のデータ保存手段に保持されているプログラムポインタの中で、上記特定のモジュールで使用されているプログラムのプログラムポインタが、上記第１のデータ保存手段から取り出されて上記第２のデータ保存手段に送り込まれるように構成される。
【００４２】
また一方で、本発明の電子制御機器のデータ保存方法は、移動体に取り付けられた複数のセンサにより取得されるデータを第１のデータ保存手段に一時的に保持するステップと、移動体内の電子制御機器の異常状態が検知されたときに、不揮発性の第２のデータ保存手段により、上記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するステップと、上記第２のデータ保存手段に保存されるデータに基づいて、上記電子制御機器の自己診断を行うステップと、上記電子制御機器の自己診断を行うためのプログラムを構成する複数のモジュールの各々について、上記第１のデータ保存手段を構成する記憶部のアドレスを補助情報保存手段に保持するステップとを含み、上記複数のモジュール中の特定のモジュールで上記異常状態を示すフラグが検出されたときに、上記特定のモジュールで使用されている上記記憶部のアドレスが上記補助情報保存手段から読み出され、当該記憶部のアドレスに関係するデータが上記第１のデータ保存手段から取り出されて上記第２のデータ保存手段に送り込まれる。
【００４３】
さらに、本発明の電子制御機器のデータ保存方法は、移動体に取り付けられた複数のセンサにより取得されるデータを第１のデータ保存手段に一時的に保持するステップと、移動体内の電子制御機器の異常状態が検知されたときに、不揮発性の第２のデータ保存手段により、上記第１のデータ保存手段内のデータを所定のサンプリング間隔で保存するステップと、上記第２のデータ保存手段に保存されるデータに基づいて、上記電子制御機器の自己診断を行うステップと、上記電子制御機器の自己診断を行うためのプログラムを構成する複数のモジュールの各々について、上記第１のデータ保存手段を構成する記憶部に保持されているデータの最大値および最小値の少なくとも一方を補助情報保存手段に保持するステップとを含み、上記複数のモジュール中の特定のモジュールで上記異常状態を示すフラグが検出されたときに、上記特定のモジュールで使用されている上記記憶部に保持されているデータの最大値および最小値の少なくとも一方が上記補助情報保存手段から読み出され、上記第２のデータ保存手段に送り込まれる。
【００４４】
さらに、本発明の電子制御機器のデータ保存方法は、移動体に取り付けられた複数のセンサにより取得されるデータ、および、移動体内の電子制御機器の自己診断を行う機能を実現するための複数のモジュールからなるプログラムのプログラムポインタを第１のデータ保存手段に一時的に保持するステップと、移動体内の電子制御機器の異常状態が検知されたときに、不揮発性の第２のデータ保存手段により、上記第１のデータ保存手段内のデータおよびプログラムのプログラムポインタを所定のサンプリング間隔で保存するステップと、上記複数のモジュールの各々について、上記第１のデータ保存手段を構成する記憶部のアドレスを補助情報保存手段に保持するステップと、上記第２のデータ保存手段に保存されるデータおよびプログラムのプログラムポインタに基づいて、上記電子制御機器の自己診断を行うステップとを含み、上記複数のモジュール中の特定のモジュールで上記異常状態を示すフラグが検出されたときに、上記第１のデータ保存手段に保持されているプログラムポインタの中で、上記特定のモジュールで使用されているプログラムのプログラムポインタが、上記第１のデータ保存手段から取り出されて上記第２のデータ保存手段に送り込まれる。
【発明の効果】
【００４５】
要約すれば、本発明では、第１に、車両等の移動体内の電子制御機器の異常状態が検知された場合、コンピュータのソフトウェアにより固定されているデータ項目ではなく、外部検査ツール等の登録手段に登録されている複数のデータ項目から指定された特定のデータ項目に従って、この特定のデータ項目に関係するデータを第１のデータ保存手段から取り出して第２のデータ保存手段に保存するようにしている。
【００４６】
これによって、フリーズ処理の対象とするデータ項目を任意に選択することができるようになり、コンピュータのＣＰＵ等の処理負荷やＲＯＭの容量を増大させることなく、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【００４７】
さらに、本発明では、第２に、車両等の移動体内の電子制御機器の異常状態が検知された場合、コンピュータのソフトウェアにより固定されているデータ項目に制約されずに、外部検査ツール等の登録手段に登録されている複数のバイト数のグループから指定された特定のバイト数のグループに従って、この特定のバイト数のグループに関係するデータを第１のデータ保存手段から取り出して第２のデータ保存手段に保存するようにしている。
【００４８】
これによって、フリーズ処理の対象とするバイト数のグループを任意に選択することができるようになり、コンピュータのＣＰＵ等の処理負荷やＲＯＭの容量を増大させることなく、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【００４９】
さらに、本発明では、第３に、車両等の移動体内の電子制御機器の異常状態が検知された場合、コンピュータのソフトウェアにより固定されているデータ項目に制約されずに、外部検査ツール等の登録手段に登録されているＲＡＭ等の記憶部のアドレスから指定された特定のアドレスに従って、この特定のアドレスに関係するデータを第１のデータ保存手段から取り出して第２のデータ保存手段に保存するようにしている。
【００５０】
これによって、フリーズ処理の対象とするＲＡＭ等の記憶部のアドレスを任意に選択することができるようになり、コンピュータのＣＰＵ等の処理負荷やＲＯＭの容量を増大させることなく、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【００５１】
さらに、本発明では、第４に、車両等の移動体内の電子制御機器の異常状態が検知された場合、コンピュータのソフトウェアにより固定されているデータ項目に制約されずに、外部検査ツール等の登録手段に登録されている複数の系列のグループから指定された特定の系列のグループに従って、この特定の系列のグループに関係するデータを第１のデータ保存手段から取り出して第２のデータ保存手段に保存するようにしている。
【００５２】
これによって、フリーズ処理の対象とする系列のグループを任意に選択することができるようになり、コンピュータのＣＰＵ等の処理負荷やＲＯＭの容量を増大させることなく、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【００５３】
さらに、本発明では、第５に、車両等の移動体内の電子制御機器の異常状態が検知された場合、コンピュータのソフトウェアにより固定されているデータ項目に制約されずに、外部検査ツール等の登録手段に登録されている指示内容に従って、第１のデータ保存手段から全てのデータを一括して取り出して第２のデータ保存手段に保存するようにしている。
【００５４】
これによって、フリーズ処理の対象とする全てのデータを一括して選択することができるようになり、コンピュータのＣＰＵ等の処理負荷やＲＯＭの容量を増大させることなく、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【００５５】
さらに、本発明では、第６に、車両等の移動体内の電子制御機器の異常状態が検知された場合、コンピュータのソフトウェアにより固定されているデータ項目に制約されずに、外部検査ツール等の登録手段に登録されているＲＡＭ等の記憶部の先頭アドレスより所定のバイト数分のアドレスから指定された特定のアドレスに従って、この特定のアドレスに関係するデータを第１のデータ保存手段から取り出して第２のデータ保存手段に保存するようにしている。
【００５６】
これによって、フリーズ処理の対象とするＲＡＭ等の記憶部の先頭アドレスから所定のバイト数分のアドレスを任意に選択することができるようになり、コンピュータのＣＰＵ等の処理負荷やＲＯＭの容量を増大させることなく、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【００５７】
さらに、本発明では、第７に、車両等の移動体内の電子制御機器の異常状態が検知された場合、コンピュータのソフトウェアにより固定されているデータ項目に制約されずに、外部検査ツール等の登録手段に登録されている第２のデータ保存手段内のデータの最大値または最小値を取り出して第２のデータ保存手段に保存するようにしている。
【００５８】
これによって、フリーズ処理の対象とする第２のデータ保存手段内のデータの最大値または最小値を選択することができるようになり、コンピュータのＣＰＵ等の処理負荷やＲＯＭの容量を増大させることなく、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【００５９】
さらに、本発明では、第８に、車両等の移動体内の電子制御機器の異常状態が検知された場合、外部検査ツール等の登録手段に格納されているプログラムのプログラムポインタを取り出して第２のデータ保存手段に保存するようにしている。
【００６０】
これによって、電子制御機器の自己診断を行う機能を実現するためのプログラムの流れを明確に把握することができるようになり、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析に役立てることが可能になる。
【００６１】
さらに、本発明では、第９に、車両等の移動体内の電子制御機器の異常状態が検知された場合、コンピュータのソフトウェアにより固定されているデータ項目に制約されずに、外部検査ツール等の登録手段に登録されているＲＡＭ等の記憶部の複数のセクションから指定された特定のセクションに従って、この特定のセクションに関係するデータを第１のデータ保存手段から取り出して第２のデータ保存手段に保存するようにしている。
【００６２】
これによって、フリーズ処理の対象とするＲＡＭ等の記憶部のセクションを任意に選択することができるようになり、コンピュータのＣＰＵ等の処理負荷やＲＯＭの容量を増大させることなく、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【００６３】
さらに、本発明では、第１０に、車両等の移動体内の電子制御機器の異常状態が検知された場合、コンピュータのソフトウェアにより固定されているデータ項目に制約されずに、外部検査ツール等の登録手段に登録されているＲＡＭ等の記憶部の複数のセクションから指定された特定のセクション、および上記特定のセクションの先頭アドレスから特定のバイト数分のアドレスに従って、上記特定のセクションの先頭アドレスから所定のバイト数分のアドレスに関係するデータを第１のデータ保存手段から取り出して第２のデータ保存手段に保存するようにしている。
【００６４】
これによって、フリーズ処理の対象とするＲＡＭ等の記憶部のセクションの先頭アドレスから所定のバイト数分のアドレスを任意に選択することができるようになり、コンピュータのＣＰＵ等の処理負荷やＲＯＭの容量を増大させることなく、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【００６５】
さらに、本発明では、第１１に、電子制御機器の自己診断を行うためのプログラムにおける特定のモジュール（または特定のロジック）で車両等の移動体内の電子制御機器の異常発生の兆候が見出された場合（すなわち、上記特定のモジュールで電子制御機器の異常状態を示すフラグが検出された場合）、上記特定のモジュールで使用されているＲＡＭ等の記憶部のアドレスを補助情報保存手段から読み出し、当該記憶部のアドレスに関係するデータを第１のデータ保存手段から取り出して第２のデータ保存手段に保存するようにしている。
【００６６】
これによって、電子制御機器の異常発生の兆候が見出された時点で、この異常発生の兆候に関係する特定のモジュールで使用されているＲＡＭ等の記憶部のアドレスを選択することができるようになり、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【００６７】
さらに、本発明では、第１２に、電子制御機器の自己診断を行うためのプログラムにおける特定のモジュールで車両等の移動体内の電子制御機器の異常発生の兆候が見出された場合、上記特定のモジュールで使用されているＲＡＭ等の記憶部のデータの最大値または最小値を補助情報保存手段から読み出して第２のデータ保存手段に保存するようにしている。
【００６８】
これによって、電子制御機器の異常発生の兆候が見出された時点で、この異常発生の兆候に関係する特定のモジュールで使用されているＲＡＭ等の記憶部のデータの最大値または最小値を選択することができるようになり、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【００６９】
さらに、本発明では、第１３に、電子制御機器の自己診断を行うためのプログラムにおける特定のモジュールで車両等の移動体内の電子制御機器の異常発生の兆候が見出された場合、上記特定のモジュールで使用されているプログラムのプログラムポインタを第１のデータ保存手段から取り出して上記第２のデータ保存手段に保存するようにしている。
【００７０】
これによって、電子制御機器の異常発生の兆候が見出された時点で、この異常発生の兆候に関係する特定のモジュールで使用されているプログラムの流れを明確に把握することができるようになり、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析に役立てることが可能になる。
【発明を実施するための最良の形態】
【００７１】
以下、添付図面（図１〜図１５）を参照しながら、本発明の好ましい実施形態（実施例）を説明する。
【００７２】
図１は、本発明の一実施例に係る電子制御装置の構成を示すブロック図である。ただし、ここでは、電子制御式エンジン等の電子制御機器９を制御するための電子制御装置１の構成を簡略化して示す。なお、これ以降、前述した構成要素と同様のものについては、同一の参照番号を付して表すこととする。
【００７３】
図１に示すように、車両等の移動体には、電子制御式エンジン等の電子制御機器９の現在の状態を正確に把握して電子制御機器９に何らかの異常が発生したこと（すなわち、電子制御機器が異常状態になっていること）を検知することができるようにするために、各種のセンサを含むセンサ部５が設けられている。
【００７４】
上記の各種のセンサとして、電子制御式エンジン等の空気対燃料比を感知するＡ／Ｆセンサ５０、電子制御式エンジン等に使用される水温を感知する水温センサ５１、電子制御式エンジン等に使用される酸素の濃度を感知する酸素濃度センサ５２、車両等のノッキングを感知するノッキングセンサ５３、電子制御式エンジン等に使用されるオイルの温度を感知する油温センサ５４、電子制御式エンジン等の排気温を感知する排気温センサ５５、電子制御式エンジン等の吸気温を感知する吸気温センサ５６、車両等のトルクを感知するトルクセンサ５７、車両等のクランク角を感知するクランク角センサ５８、車両等の走行速度（またはエンジン回転数）を感知する車速センサ５９、および車両等のスロットルポジションを感知するスロットルポジションセンサ６０等が挙げられる。
【００７５】
図１の電子制御装置１は、電子制御式エンジン等の電子制御機器９を制御して電子制御機器９の自己診断を行う機能（すなわち、ダイアグノーシス機能）を有するＣＰＵ４と、電子制御機器９の自己診断を実行させるためのプログラムを含む各種のプログラムを格納するＲＯＭ４と、各種のプログラムに関連したデータや各種のセンサにより取得されるセンサ検出データを一時的に保持するための主記憶装置である第１のデータ保存手段２と、センサ検出データ等に基づいて電子制御機器９の異常状態が検知されたときに、第１のデータ保存手段２内の予め定められたデータを所定のサンプリング間隔で保存するための不揮発性メモリである第３のデータ保存手段３とを備えている。
【００７６】
好ましくは、上記の第１のデータ保存手段２は、ＲＡＭにより構成され、第２のデータ保存手段は、バックアップ機能付きのＳＲＡＭ、または電気的にデータを書き込んだり消去したりすることが可能なＥＥＰＲＯＭにより構成される。
【００７７】
さらに、図１の電子制御装置１は、入力側の各種のセンサおよびバッテリ７とのインタフェースを取る入力インタフェース回路１１と、一部のセンサ（例えば、Ａ／Ｆセンサ５０、水温センサ５１および油温センサ５４等）からのアナログ形式の検出信号をディジタル形式の検出信号に変換するＡ／Ｄコンバータ１２と、出力側の電子制御機器９とのインタフェースを取る出力インタフェース回路１３とを備えている。
【００７８】
例えば、図１の電子制御装置１では、Ａ／Ｆセンサ５０、水温センサ５１、酸素濃度センサ５２、ノッキングセンサ５３、油温センサ５４、排気温センサ５５および吸気温センサ５６等の各種のセンサにより検出されたアナログ形式の検出信号が、入力インタフェース回路１１を介してＡ／Ｄコンバータ１２に入力され、このＡ／Ｄコンバータ１２によりディジタル形式の検出信号に変換された後に、ＣＰＵ４に入力される。また一方で、トルクセンサ５７、クランク角センサ５８、車速センサ５９およびスロットルポジションセンサ６０等により検出されたディジタル形式の検出信号が、入力インタフェース回路１１を介してＣＰＵ４に入力される。
【００７９】
さらに、図１の電子制御装置１は、バッテリ７を使用してＣＰＵ４および第１のデータ保存手段２等に一定の電圧を供給する定電圧電源７０と、バッテリ７を使用して第２のデータ保存手段３にバックアップ用の電源電圧を供給するバックアップ電源７１とを備えている。定電圧電源７０は、車両等の移動体のイグニッションスイッチがオンになっている期間だけ、ＣＰＵ４および第１のデータ保存手段２等に一定の電圧を供給している。また一方で、バックアップ電源７１は、イグニッションスイッチのオン／オフに関係なく、第１のデータ保存手段３にバックアップ用の電源電圧を常時供給している。このバックアップ用の電源電圧は、第２のデータ保存手段３がＳＲＡＭ等により構成される場合に特に有効に作用する。
【００８０】
さらに、図１の電子制御装置１において、ＣＰＵ４に入力されたディジタル形式の検出信号は、センサ検出データとして、ＲＡＭ等の第１のデータ保存手段２に一時的に保持される。前述のように、第１のデータ保存手段２では、車両等の移動体のイグニッションスイッチがオンになっている期間だけ、各々のセンサ検出データが更新されるタイミングに応じた周期でセンサ検出データを保持するようになっている。それゆえに、イグニッションスイッチがオフになったときに、第１のデータ保存手段２に保持されているセンサ検出データは全て消失する。ＲＡＭ等の第１のデータ保存手段２は、通常、揮発性メモリと呼ばれている。
【００８１】
また一方で、第１のデータ保存手段２に保持されているセンサ検出データ等に基づいて電子制御機器９に何らかの異常が発生していることが検知された場合、第１のデータ保存手段２に保持されているセンサ検出データの中から予め定められたデータを取り出し、第２のデータ保存手段３に一定のサンプリング間隔（例えば、５００ｍｓｅｃ）で保存するようになっている。
【００８２】
第２のデータ保存手段３がＳＲＡＭ等により構成される場合、前述のように、ＳＲＡＭ等の第２のデータ保存手段３では、バックアップ電源７１によって、バックアップ用の電源電圧が常時供給される。それゆえに、イグニッションスイッチがオフになっても、ＳＲＡＭ等の第２のデータ保存手段３に保存されているデータは消失しない。したがって、整備工場等において、ＳＲＡＭ等の第２のデータ保存手段３に保存されているデータを読み出して電子制御機器の異常発生の原因の解析や異常発生の経緯の特定に役立てることにより、当該電子制御機器の自己診断を行うことが可能になる。
【００８３】
好ましくは、電子制御装置１内の主記憶装置の容量の節減を図るために、ＲＡＭ等の第１のデータ保存手段２が全てＳＲＡＭ等の第２のデータ保存手段３の領域に含まれるような構成にすることもできる。このような構成では、ＲＡＭ等の第１のデータ保存手段２は、ＳＲＡＭ等の第２のデータ保存手段３の領域に対する電源の立ち上げ時（パワーオンのとき）に全てリセットされ、ＮＲＡＭとして使用される。ただし、本発明の実施例に係る電子制御装置は、上記のような構成に限定されるものではない。
【００８４】
あるいは、第２のデータ保存手段３がＥＥＰＲＯＭ等により構成される場合、イグニッションスイッチがオンになっている期間で、移動体内の電子制御機器の異常状態が検知されたときに、第１のデータ保存手段２から取り出されたデータがＥＥＰＲＯＭ等に保存される。また一方で、イグニッションスイッチがオフになっている期間では、バックアップ用の電源電圧が供給されなくても、ＥＥＰＲＯＭ等の第２のデータ保存手段３に保存されているデータは消失することなくそのまま保持される。したがって、この場合も、前述のＳＲＡＭ等を使用した場合と同様に、整備工場等において、ＥＥＰＲＯＭ等の第２のデータ保存手段３に保存されているデータを読み出して電子制御機器の異常発生の原因の解析や異常発生の経緯の特定に役立てることにより、当該電子制御機器の自己診断を行うことが可能になる。
【００８５】
さらに、図１の電子制御装置１には、ダイアグスキャンツール等の電子制御機器９の自己診断を支援する外部検査ツール８が接続されている。この外部検査ツール８には、ＳＲＡＭ等の不揮発性メモリを含む格納手段８０が設けられている。この格納手段８０には、移動体内の複数のセンサにより取得されるデータに関連した任意の関連項目（例えば、複数のデータ項目や複数のバイト数のグループ等）が予め格納されている。さらに、外部検査ツール８は、格納手段８０に格納されている任意の関連項目の中から特定の関連項目を指定して選択するための選択ボタン（選択スイッチ）を含む選択手段８１と、この選択手段８１により選択された特定の関連項目を表示画面に表示する表示手段８２とを具備している。上記の選択手段８１により選択された特定の関連項目は、入力インタフェース回路１１およびＣＰＵ４を介して、第２のデータ保存手段３に送り込まれ保存される。
【００８６】
その後、電子制御機器９の異常状態が検知されたときに、ＣＰＵ４は、第２のデータ保存手段３に保存されている特定の関連項目に従って、この特定の関連項目に関係するデータを第１のデータ保存手段２から取り出して第２のデータ保存手段３に保存するようにしている。
【００８７】
好ましい実施形態として、図１の電子制御装置１において、第１のデータ保存手段２内のデータのフリーズ処理を行う場合、外部検査ツール８の格納手段８０に格納されている複数のデータ項目（例えば、エンジン回転数、水温および吸気温）の中から選択された特定のデータ項目に従って、この特定のデータ項目に関係するデータが第１のデータ保存手段２から取り出されて第２のデータ保存手段３に保存される。このような実施形態は、ＣＰＵ４により、ＲＯＭ１０に格納されているプログラムを読み出して実行させることよって実施されることが可能である。
【００８８】
さらに、好ましい実施形態として、図１の電子制御装置１において、第１のデータ保存手段２内のデータのフリーズ処理を行う場合、外部検査ツール８の格納手段８０に格納されている複数のバイト数のグループ（例えば、１バイトのグループ、２バイトのグループおよび４バイトのグループ）の中から選択された特定のバイト数のグループに従って、この特定のバイト数のグループに関係するデータが第１のデータ保存手段２から取り出されて第２のデータ保存手段３に保存される。このような実施形態は、ＣＰＵ４により、ＲＯＭ１０に格納されているプログラムを読み出して実行させることによって実施されることが可能である。
【００８９】
さらに、好ましい実施形態として、図１の電子制御装置１において、第１のデータ保存手段２がＲＡＭ（記憶部）により構成される場合、第１のデータ保存手段２内のデータのフリーズ処理を行う際に、外部検査ツール８の格納手段８０に格納されているＲＡＭのアドレスの中から選択された特定のアドレスに従って、この特定のアドレスに関係するデータが第１のデータ保存手段２から取り出されて第２のデータ保存手段３に保存される。このような実施形態は、ＣＰＵ４により、ＲＯＭ１０に格納されているプログラムを読み出して実行させることによって実施されることが可能である。
【００９０】
さらに、好ましい実施形態として、図１の電子制御装置１において、第１のデータ保存手段２内のデータのフリーズ処理を行う場合、外部検査ツール８の格納手段８０に格納されている複数の系列のグループ（例えば、Ａ／Ｄ系データ、通信系データおよびモニタ系データ）の中から選択された特定の系列のグループに従って、この特定の系列のグループに関係するデータが第１のデータ保存手段２から取り出されて第２のデータ保存手段３に保存される。このような実施形態は、ＣＰＵ４により、ＲＯＭ１０に格納されているプログラムを読み出して実行させることによって実施されることが可能である。
【００９１】
さらに、好ましい実施形態として、図１の電子制御装置１において、第１のデータ保存手段２内のデータのフリーズ処理を行う場合、外部検査ツール８の格納手段８０に予め格納されている「第１のデータ保存手段２内の全てのデータを一括して指定する」旨の指示内容に従って、第１のデータ保存手段２から全てのデータが一括して取り出され、第２のデータ保存手段３に保存される。このような実施形態は、ＣＰＵ４により、ＲＯＭ１０に格納されているプログラムを読み出して実行させることによって実施されることが可能である。
【００９２】
さらに、好ましい実施形態として、図１の電子制御装置１において、第１のデータ保存手段２がＲＡＭ（記憶部）により構成される場合、第１のデータ保存手段２内のデータのフリーズ処理を行う際に、外部検査ツール８の格納手段８０に格納されているＲＡＭの先頭アドレスより所定のバイト数分のアドレスの中から選択された特定のアドレスに従って、この特定のアドレスに関係するデータが第１のデータ保存手段２から取り出されて第２のデータ保存手段３に保存される。このような実施形態は、ＣＰＵ４により、ＲＯＭ１０に格納されているプログラムを読み出して実行させることによって実施されることが可能である。
【００９３】
さらに、好ましい実施形態として、図１の電子制御装置１において、第１のデータ保存手段２内のデータのフリーズ処理を行う場合、外部検査ツール８の格納手段８０に格納されている第１のデータ保存手段２内のデータの最大値および最小値が取り出されて第２のデータ保存手段３に保存される。このような実施形態は、ＣＰＵ４により、ＲＯＭ１０に格納されているプログラムを読み出して実行させることによって実施されることが可能である。
【００９４】
さらに、好ましい実施形態として、図１の電子制御装置１において、第１のデータ保存手段２内のデータのフリーズ処理を行う場合、外部検査ツール８の格納手段８０に格納されているプログラムのプログラムポインタが取り出され、第２のデータ保存手段３に保存される。このような実施形態は、ＣＰＵ４により、ＲＯＭ１０に格納されているプログラムを読み出して実行させることによって実施されることが可能である。
【００９５】
さらに、好ましい実施形態として、図１の電子制御装置１において、第１のデータ保存手段２がＲＡＭ（記憶部）により構成される場合、第１のデータ保存手段２内のデータのフリーズ処理を行う際に、外部検査ツール８の格納手段８０に格納されているＲＡＭの複数のセクション（例えば、エンジンのセクション、無段変速機のセクションおよびプラットフォームのセクション）の中から選択された特定のセクションに従って、この特定のセクションに関係するデータが第１のデータ保存手段２から取り出されて第２のデータ保存手段３に保存される。このような実施形態は、ＣＰＵ４により、ＲＯＭ１０に格納されているプログラムを読み出して実行させることによって実施されることが可能である。
【００９６】
さらに、好ましい実施形態として、図１の電子制御装置１において、第１のデータ保存手段２がＲＡＭ（記憶部）により構成される場合、第１のデータ保存手段２内のデータのフリーズ処理を行う際に、外部検査ツール８の格納手段８０に格納されているＲＡＭの複数のセクションの中から選択された特定のセクション、および上記特定のセクションの先頭アドレスから特定のバイト数分のアドレスに従って、上記特定のセクションの先頭アドレスから特定のバイト数分のアドレスに関係するデータが第１のデータ保存手段２から取り出されて第２のデータ保存手段３に保存される。このような実施形態は、ＣＰＵ４により、ＲＯＭ１０に格納されているプログラムを読み出して実行させることによって実施されることが可能である。
【００９７】
ここで、図１の電子制御装置１において、電子制御機器９の自己診断を実行させるためのプログラムが、複数のモジュール（または複数のロジック）により構成される場合を想定する。この場合、図１の電子制御装置１は、ＳＲＡＭ等の不揮発性メモリからなる補助情報記憶手段６を備えている。好ましくは、この補助情報記憶手段６は、ＳＲＡＭ等の不揮発性メモリからなる第２のデータ保存手段３とは別個に設けられているが、補助情報記憶手段６および第２のデータ保存手段３を共用のＳＲＡＭに実装することも可能である。
【００９８】
上記の補助情報記憶手段６には、複数のモジュールの各々について、第１のデータ保存手段２を構成するＲＡＭ（記憶部）のアドレスや、当該ＲＡＭに保持されているデータの最大値または最小値や、電子制御機器の異常状態を示すフラグが予め格納されている。好ましくは、複数のモジュールの各々について、ＲＡＭのアドレスや、当該ＲＡＭに保持されているデータの最大値または最小値や、電子制御機器の異常状態を示すフラグを含む補助情報が、ＲＡＭ定義テーブルの形式で補助情報保存手段６に格納されている。
【００９９】
複数のモジュール中の特定のモジュールに関して、あるサンプリングの時刻で電子制御機器９に何らかの異常が発生した場合、この電子制御機器９に異常が発生したことを示すフラグが立つ。このフラグが検出された時点で、電子制御機器９に異常発生の兆候が見出されたものとみなされる。最終的に、予め定められたサンプリング時間（すなわち、あるサンプリングの時刻と他のサンプリングの時刻との間の時間）内で、電子制御機器９に異常が発生したことを示すフラグが所定の回数以上検出されたときに、電子制御機器９の異常状態が正式に検知されたものと判断される。
【０１００】
好ましい実施形態として、図１の電子制御装置１において、複数のモジュール中の特定のモジュールで電子制御機器９の異常状態を示すフラグが検出され、電子制御機器９の異常発生の兆候が見出された時点で、上記特定のモジュールで使用されているＲＡＭのアドレスが補助情報保存手段６から読み出され、このＲＡＭのアドレスに関係するデータが第１のデータ保存手段２から取り出されて第２のデータ保存手段３に保存される。このような実施形態は、ＣＰＵ４により、ＲＯＭ１０に格納されているプログラムを読み出して実行させることによって実施されることが可能である。
【０１０１】
さらに、好ましい実施形態として、図１の電子制御装置１において、複数のモジュール中の特定のモジュールで電子制御機器９の異常状態を示すフラグが検出され、電子制御機器９の異常発生の兆候が見出された時点で、上記特定のモジュールで使用されているＲＡＭ内のデータの最大値または最小値が補助情報保存手段６から読み出され、このＲＡＭ内のデータの最大値または最小値に関係するデータが第１のデータ保存手段２から取り出されて第２のデータ保存手段３に保存される。このような実施形態は、ＣＰＵ４により、ＲＯＭ１０に格納されているプログラムを読み出して実行させることによって実施されることが可能である。
【０１０２】
好ましくは、図１の電子制御装置１において、電子制御機器９の自己診断を実行させるための複数のモジュールからなるプログラムのプログラムポインタが、移動体内の複数のセンサにより取得されるデータと共に、第１のデータ保存手段２に保持されるようになっている。
【０１０３】
好ましい実施形態として、図１の電子制御装置１において、複数のモジュール中の特定のモジュールで電子制御機器９の異常状態を示すフラグが検出され、電子制御機器９の異常発生の兆候が見出された時点で、上記特定のモジュールで使用されているプログラムのプログラムポインタが第１のデータ保存手段２から取り出されて第２のデータ保存手段３に保存される。このような実施形態は、ＣＰＵ４により、ＲＯＭ１０に格納されているプログラムを読み出して実行させることによって実施されることが可能である。
【０１０４】
より具体的にいえば、図１の電子制御装置１内のＲＯＭ１０に格納されているプログラムは、移動体に取り付けられた複数のセンサにより取得されるデータを第１のデータ保存手段２に一時的に保持するステップと、移動体内の電子制御機器９の異常状態が検知されたときに、不揮発性の第２のデータ保存手段３により、第１のデータ保存手段２内のデータを所定のサンプリング間隔で保存するステップと、第２のデータ保存手段３に保存されるデータに基づいて、電子制御機器９の自己診断を行うステップと、電子制御機器９の自己診断を実行させるためのプログラムを構成する複数のモジュールの各々について、第１のデータ保存手段２を構成するＲＡＭのアドレスを補助情報保存手段６に保持するステップとを含み、複数のモジュール中の特定のモジュールで電子制御機器９の異常状態を示すフラグが検出されたときに、上記特定のモジュールで使用されているＲＡＭのアドレスが補助情報保存手段６から読み出され、当該記憶部のアドレスに関係するデータが第１のデータ保存手段２から取り出されて上記第２のデータ保存手段３に送り込まれるように設定されている。
【０１０５】
また一方で、図１の電子制御装置１内のＲＯＭ１０に格納されているプログラムは、移動体に取り付けられた複数のセンサにより取得されるデータを第１のデータ保存手段２に一時的に保持するステップと、移動体内の電子制御機器９の異常状態が検知されたときに、不揮発性の第２のデータ保存手段２により、第１のデータ保存手段２内のデータを所定のサンプリング間隔で保存するステップと、第２のデータ保存手段２に保存されるデータに基づいて、電子制御機器９の自己診断を行うステップと、電子制御機器９の自己診断を実行させるためのプログラムを構成する複数のモジュールの各々について、第１のデータ保存手段２を構成するＲＡＭに保持されているデータの最大値または最小値を補助情報保存手段６に保持するステップとを含み、複数のモジュール中の特定のモジュールで電子制御機器９の異常状態を示すフラグが検出されたときに、上記特定のモジュールで使用されているＲＡＭ内のデータの最大値または最小値が補助情報保存手段６から読み出され、第２のデータ保存手段３に送り込まれるように設定される。
【０１０６】
また一方で、図１の電子制御装置１内のＲＯＭ１０に格納されているプログラムは、移動体に取り付けられた複数のセンサにより取得されるデータ、および、移動体内の電子制御機器９の自己診断を行う機能を実現するための複数のモジュールからなるプログラムのプログラムポインタを第１のデータ保存手段２に一時的に保持するステップと、移動体内の電子制御機器９の異常状態が検知されたときに、不揮発性の第２のデータ保存手段３により、第１のデータ保存手段２内のデータおよびプログラムのプログラムポインタを所定のサンプリング間隔で保存するステップと、複数のモジュールの各々について、第１のデータ保存手段２を構成するＲＡＭのアドレスを補助情報保存手段６に保持するステップと、第２のデータ保存手段３に保存されるデータおよびプログラムのプログラムポインタに基づいて、電子制御機器９の自己診断を行うステップとを含み、複数のモジュール中の特定のモジュールで電子制御機器９の異常状態を示すフラグが検出されたときに、第１のデータ保存手段２に保持されているプログラムポインタの中で、上記特定のモジュールで使用されているプログラムのプログラムポインタが、第１のデータ保存手段２から取り出されて第２のデータ保存手段３に送り込まれるように設定される。
【０１０７】
さらに、図１の実施例では、コンピュータ読み取り可能な記憶媒体（または記録媒体）を使用して電子制御装置１を動作させる場合、前述のようなプログラムの内容を保持しているハードディスクのような記憶媒体（図示されていない）を用意することが好ましい。
【０１０８】
なお、図１の実施例で使用される記憶媒体は、上記したものに限らず、フロッピィディスクやＭＯ（Magneto-Optical Disk：光磁気ディスク）やＣＤ−Ｒ（Compact Disk-Recordable）やＣＤ−ＲＯＭ（Compact Disk Read-only Memory）等の可搬形媒体、その他の固定形媒体など種々の記憶媒体の形態で提供可能なものである。
【０１０９】
図１の実施例によれば、コンピュータのソフトウェアにより固定されているデータ項目に制約されずに、外部検査ツール等に登録されている関連項目（例えば、複数のデータ項目や複数のバイト数のグループ等）から指定された特定の関連項目（例えば、特定のデータ項目や特定のバイト数のグループ等）に従って、フリーズ処理の対象とするデータを任意に選択することができるので、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【０１１０】
さらに、図１の実施例によれば、ＲＡＭ内のデータのフリーズ処理を行う際に、外部検査ツール等に格納されているプログラムのプログラムポインタを取り出してＳＲＡＭまたはＥＥＰＲＯＭ等に保存するようにしているので、電子制御機器の自己診断を実行させるためのプログラムの流れを明確に把握することができるようになり、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析に役立てることが可能になる。
【０１１１】
さらに、図１の実施例によれば、電子制御機器の自己診断を実行させるためのプログラムにおける特定のモジュールで電子制御機器の異常発生の兆候が見出された時点で、この異常発生の兆候に関係する特定のモジュールで使用されているＲＡＭのアドレスまたはＲＡＭ内のデータの最大値もしくは最小値を選択することができるようになり、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【０１１２】
さらに、図１の実施例によれば、電子制御機器の自己診断を実行させるためのプログラムにおける特定のモジュールで電子制御機器の異常発生の兆候が見出された時点で、この異常発生の兆候に関係する特定のモジュールで使用されているプログラムの流れを明確に把握することができるようになり、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析に役立てることが可能になる。
【０１１３】
図２は、本発明の実施例にてフリーズ処理対象のデータ項目を選択する手順を示す模式図である。
【０１１４】
ここでは、移動体内のセンサにより取得されるデータに関連した複数のデータ項目がある程度絞り込まれ、外部検査ツール８の不揮発性メモリの格納手段８０（図１参照）に格納されている。より具体的には、図２の拡大された表示画面８４に表示されているように、「１．エンジン回転数、２．電子制御式エンジン等に使用される水温、３．電子制御式エンジン等の吸気温、４．アクセル開度…」が、複数のデータ項目ＤＩとして絞り込まれている。ユーザ等が選択ボタン８１を操作することによって、表示画面８４に表示されている複数のデータ項目ＤＩの中から、電子制御機器の異常発生に関係すると予想される特定のデータ項目（ここでは、３．電子制御式エンジン等の吸気温）が選択される。このようにして選択された特定のデータ項目は、電子制御装置（ＥＣＵ）１内の第２のデータ保存手段３（図１参照）の不揮発性メモリ（ＳＲＡＭまたはＥＥＰＲＯＭ等）３０に保存される。
【０１１５】
その後、電子制御機器の異常状態が正式に検知されたときに、ＣＰＵ４（図１参照）は、不揮発性メモリ３０に予め保存されている特定のデータ項目に従って、この特定のデータ項目に関係するデータを第１のデータ保存手段２（図１参照）から取り出して不揮発性メモリ３０に保存するようにしている。これによって、フリーズ処理の対象とするデータ項目を絞り込んで限定することができるようになり、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【０１１６】
図３は、本発明の実施例にてフリーズ処理対象のバイト数のグループを選択する手順を示す模式図である。
【０１１７】
ここでは、移動体内のセンサにより取得されるデータに関連した複数のバイト数のグループがある程度絞り込まれ、外部検査ツール８の不揮発性メモリの格納手段８０（図１参照）に格納されている。より具体的には、図３の拡大された表示画面８４に表示されているように、「１．１バイトグループ、２．２バイトグループ、３．４バイトグループ…」が、複数のバイト数のグループＢＧとして絞り込まれている。ユーザ等が選択ボタン８１を操作することによって、表示画面８４に表示されている複数のバイト数のグループＢＧの中から、電子制御機器の異常発生に関係すると予想される特定のバイト数のグループ（ここでは、２．２バイトグループ）が選択される。このようにして選択された特定のバイト数のグループは、電子制御装置１内の第２のデータ保存手段３（図１参照）の不揮発性メモリ３０（ＳＲＡＭまたはＥＥＰＲＯＭ等）に保存される。
【０１１８】
その後、電子制御機器の異常状態が正式に検知されたときに、ＣＰＵ４（図１参照）は、不揮発性メモリ３０に予め保存されている特定のバイト数のグループに従って、この特定のバイト数のグループに関係するデータを第１のデータ保存手段２（図１参照）から取り出して不揮発性メモリ３０に保存するようにしている。これによって、フリーズ処理の対象とするバイト数のグループを絞り込んで限定することができるようになり、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【０１１９】
図４は、本発明の実施例にてフリーズ処理対象のＲＡＭのアドレスを選択する手順を示す模式図である。
【０１２０】
図４において、第１のデータ保存手段２（図１参照）を構成するＲＡＭのアドレスがある程度絞り込まれ、外部検査ツール８の不揮発性メモリの格納手段８０（図１参照）に格納されている。より具体的には、図４の拡大された表示画面８４に表示されているように、「１．０ｘＦＦＦＦ８０００、２．０ｘＦＦＦＦ９２１０、３．０ｘＦＦＦＦＡ１４０および４．０ｘＦＦＦＦＢ２８０（全て１６進数で表示された値）…」が、複数のＲＡＭのアドレスＡＤとして絞り込まれている。ユーザ等が選択ボタン８１を操作することによって、表示画面８４に表示されている複数のＲＡＭのアドレスＡＤの中から、電子制御機器の異常発生に関係すると予想される特定のＲＡＭのアドレス（ここでは、３．０ｘＦＦＦＦＡ１４０）が選択される。このようにして選択された特定のＲＡＭのアドレスは、電子制御装置１内の第２のデータ保存手段３（図１参照）の不揮発性メモリ３０（ＳＲＡＭまたはＥＥＰＲＯＭ等）に保存される。
【０１２１】
その後、電子制御機器の異常状態が正式に検知されたときに、ＣＰＵ４（図１参照）は、不揮発性メモリ３０に予め保存されている特定のＲＡＭのアドレスに従って、この特定のＲＡＭのアドレスに関係するデータを第１のデータ保存手段２から取り出して不揮発性メモリ３０に保存するようにしている。これによって、フリーズ処理の対象とするＲＡＭのアドレスを絞り込んで限定することができるようになり、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【０１２２】
図５は、本発明の実施例にてフリーズ処理対象のデータのグループを選択する手順を示す模式図である。
【０１２３】
ここでは、移動体内のセンサにより取得されるデータに関連した複数の系列のグループがある程度絞り込まれ、外部検査ツール８の不揮発性メモリの格納手段８０（図１参照）に格納されている。より具体的には、図５の拡大された表示画面８４に表示されているように、「１．Ａ／Ｄ系データ、２．通信系データ、３．モニタ系データ…」が、複数の系列のグループＤＧとして絞り込まれている。ここで、Ａ／Ｄ系データは、アナログ／ディジタル変換処理を行う回路系のデータのグループを表しており、通信系データは、任意の信号の通信処理を行う回路系のデータのグループを表しており、モニタ系データは、接続部の断線等を検出する回路系のデータのグループを表している。
【０１２４】
ユーザ等が選択ボタン８１を操作することによって、表示画面８４に表示されている複数の系列のグループＤＧの中から、電子制御機器の異常発生に関係すると予想される特定の系列のグループ（ここでは、２．通信系データ）が選択される。このようにして選択された特定の系列のグループは、電子制御装置１内の第２のデータ保存手段３（図１参照）の不揮発性メモリ（ＳＲＡＭまたはＥＥＰＲＯＭ等）３０に保存される。
【０１２５】
その後、電子制御機器の異常状態が正式に検知されたときに、ＣＰＵ４（図１参照）は、不揮発性メモリ３０に予め保存されている特定の系列のグループに従って、この特定の系列のグループに関係するデータを第１のデータ保存手段２（図１参照）から取り出して不揮発性メモリ３０に保存するようにしている。これによって、フリーズ処理の対象とする系列のグループを絞り込んで限定することができるようになり、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【０１２６】
図６は、本発明の実施例にて本発明の実施例にてＲＡＭ内の全てのデータを選択する手順を示す模式図である。
【０１２７】
ここでは、第１のデータ保存手段２（図１参照）を構成するＲＡＭに保持されている全てのデータを一括して指定する場合を想定する。この場合は、図６の拡大された表示画面８４に表示されているように、「全データ指定（すなわち、ＲＡＭ内の全てのデータを一括して指定する旨」の指示内容ＷＤが、外部検査ツール８の不揮発性メモリの格納手段８０（図１参照）に格納されている。ユーザ等が選択ボタン８１を操作することによって、表示画面８４に表示されている「全データ指定」の指示内容ＷＤが選択される。このようにして選択された「全データ指定」の指示内容は、電子制御装置１内の第２のデータ保存手段３（図１参照）の不揮発性メモリ３０（ＳＲＡＭまたはＥＥＰＲＯＭ等）に保存される。
【０１２８】
その後、電子制御機器の異常状態が正式に検知されたときに、ＣＰＵ４（図１参照）は、不揮発性メモリ３０に予め保存されている「全データ指定」の指示内容に従って、ＲＡＭ内の全てのデータを第１のデータ保存手段２から取り出して不揮発性メモリ３０に保存するようにしている。これによって、フリーズ処理の対象とする全てのデータを一括して選択することができるようになり、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【０１２９】
図７は、本発明の実施例にてＲＡＭの先頭アドレスからバイト数分のアドレスを選択する手順を示す模式図である。
【０１３０】
図７において、第１のデータ保存手段２（図１参照）を構成するＲＡＭの先頭アドレスから所定のバイト数分のアドレスがある程度絞り込まれ、外部検査ツール８の不揮発性メモリの格納手段８０（図１参照）に格納されている。より具体的には、図７の拡大された表示画面８４に表示されているように、ＲＡＭの先頭アドレスからのバイト数（ＲＡＭの先頭アドレスから＊＊Ｂｙｔｅ）ＢＡが指定されるようになっている。ここで、ユーザ等が選択ボタン８１を操作して、ＲＡＭの先頭アドレスからのバイト数ＢＡを入力することによって、ＲＡＭの先頭アドレスから特定のバイト数分のアドレスが選択される。このようにして選択されたＲＡＭの先頭アドレスから特定のバイト数分のアドレスは、電子制御装置１内の第２のデータ保存手段３（図１参照）の不揮発性メモリ３０（ＳＲＡＭまたはＥＥＰＲＯＭ等）に保存される。
【０１３１】
その後、電子制御機器の異常状態が正式に検知されたときに、ＣＰＵ４（図１参照）は、不揮発性メモリ３０に予め保存されている上記特定のバイト数分のアドレスに従って、この特定のバイト数分のアドレスに関係するデータを第１のデータ保存手段２から取り出して不揮発性メモリ３０に保存するようにしている。これによって、フリーズ処理の対象とするＲＡＭの先頭アドレスからバイト数分のアドレスを絞り込んで限定することができるようになり、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【０１３２】
図８は、本発明の実施例にてＲＡＭ内のデータの最大値または最小値を指定する手順を示す模式図である。
【０１３３】
図８において、第１のデータ保存手段２（図１参照）を構成するＲＡＭに保存されているデータの最大値または最小値がある程度絞り込まれ、外部検査ツール８の不揮発性メモリの格納手段８０（図１参照）に格納されている。より具体的には、図８の拡大された表示画面８４において、格納手段８０に格納されているＲＡＭ内のデータの最大値または最小値ＭＡＸ，ＭＩＮが表示されている。ユーザ等が選択ボタン８１を操作することによって、表示画面８４に表示されているＲＡＭ内のデータの最大値または最小値ＭＡＸ，ＭＩＮが指定される。
【０１３４】
その後、電子制御機器の異常状態が正式に検知されたときに、ＣＰＵ４（図１参照）は、選択ボタン８１により指定されたＲＡＭ内のデータの最大値または最小値を格納手段８０から取り出して不揮発性メモリ３０に保存するようにしている。これによって、フリーズ処理の対象とするＲＡＭ内のデータの最大値または最小値を絞り込んで限定することができるようになり、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【０１３５】
図９は、本発明の実施例にてプログラムポインタを指定する手順を示す模式図である。
【０１３６】
ここでは、ＣＰＵ４（図１参照）が、電子制御機器の自己診断を実行させるためのプログラムのプログラムポインタ（通常、複数個のプログラムポインタが存在する）を常に把握している点に着目し、ＣＰＵ４により、外部検査ツール８の不揮発性メモリの格納手段８０（図１参照）に上記プログラムポインタを格納するようにしている。より具体的には、図９の拡大された表示画面８４において、格納手段８０に格納されているプログラムポインタＰＰが表示されている。ここで、「プログラムポインタ」とは、上記プログラムの各々の命令に対応するアドレスを指している。なお、このプログラムポインタの具体的な例は、後述の図１４および図１５に図示されている。
【０１３７】
ユーザ等が選択ボタン８１を操作することによって、表示画面８４に表示されているプログラムポインタＰＰが指定され、電子制御装置１内の第２のデータ保存手段３（図１参照）の不揮発性メモリ３０（ＳＲＡＭまたはＥＥＰＲＯＭ等）に保存される。
【０１３８】
その後、電子制御機器の異常状態が正式に検知されたときに、ＣＰＵ４は、不揮発性メモリ３０に予め保存されているプログラムポインタを第１のデータ保存手段２（図１参照）から取り出して不揮発性メモリ３０に保存するようにしている。これによって、電子制御機器の自己診断を実行させるためのプログラムの流れを明確に把握することができるようになり、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析に役立てることが可能になる。
【０１３９】
ここで、電子制御機器の自己診断を実行させるためのプログラムの各々の命令とプログラムポインタとが１対１に対応しているので、当該プログラムが現在どの命令を実行しているかはプログラムポインタを参照すれば容易にわかる。ただし、関数コール中は、その関数コールがなされているプログラムのアドレスがプログラムポインタに格納されているので、割り込みに入る前の実行アドレスを知るには、割り込み前のアドレスが格納されているリンクポインタを参照すればよい。
【０１４０】
プログラムポインタに対して途切れなくフリーズ処理を行うためには、プログラムの１命令毎にフリーズ処理を行って全てのプログラムポインタを不揮発性メモリ３０に保存することが必要である。しかしながら、全てのプログラムポインタのフリーズ処理を行うことは、処理速度の関係からして実際には難しいので、最速の割り込みのタイミングでリンクポインタのフリーズ処理を行うようにしている。
【０１４１】
図１０は、本発明の実施例にてＲＡＭのセクションの全バイト、またはセクションの先頭アドレスからバイト数分のアドレスを選択する手順を示す模式図である。
【０１４２】
図１０において、第１のデータ保存手段２（図１参照）を構成するＲＡＭの複数のセクション、および各々のセクションの先頭アドレスから所定のバイト数分のアドレスがある程度絞り込まれ、外部検査ツール８の不揮発性メモリの格納手段８０（図１参照）に格納されている。より具体的には、図１０の拡大された表示画面８４に表示されているように、「１．エンジン（ＥＮＧ）のセクション、２．無段変速機（ＣＶＴ）のセクション、３．プラットフォーム（ＰＦ）のセクション、４．ダイアグノーシス関係（ＯＢＤ）のセクション…」が、複数のセクションＳＥとして絞り込まれている。また一方で、各々のセクションの全てのバイト数、または各々のセクションの先頭アドレスからのバイト数（セクションの先頭アドレスから＊＊Ｂｙｔｅ）が指定されるようになっている。ここで、「セクション」とは、ＲＡＭ定義マップ内で定義されている複数のエリアを指している。
【０１４３】
ここで、ユーザ等が選択ボタン８１を操作することによって、表示画面８４に表示されている複数のセクションＳＥ中の特定のセクション（ここでは、２．無段変速機のセクション）における全てのＲＡＭのアドレス、または上記特定のセクションの先頭アドレスから特定のバイト数分のアドレスが選択される。このようにして選択された特定のセクションの全てのＲＡＭのアドレス、または上記特定のセクションの先頭アドレスから特定のバイト数分のアドレスが、電子制御装置１内の第２のデータ保存手段３（図１参照）の不揮発性メモリ３０（ＳＲＡＭまたはＥＥＰＲＯＭ等）に保存される。
【０１４４】
その後、電子制御機器の異常状態が正式に検知されたときに、ＣＰＵ４（図１参照）は、不揮発性メモリ３０に予め保存されている上記特定のセクションの全てのＲＡＭのアドレス、または上記特定のセクションの先頭アドレスから特定のバイト数分のアドレスに従って、前者のアドレスまたは後者のアドレスのいずれか一方に関係するデータを第１のデータ保存手段２から取り出して不揮発性メモリ３０に保存するようにしている。これによって、フリーズ処理の対象とするＲＡＭのセクション、またはＲＡＭのセクションの先頭アドレスからバイト数分のアドレスを絞り込んで限定することができるようになり、電子制御機器の異常発生の原因の解析を正確かつ迅速に行って異常発生の経緯を早期に特定することが可能になる。
【０１４５】
図１１は、異常状態の兆候があったときにモジュールで使用している全てのＲＡＭアドレス、またはＲＡＭ内のデータの最大値もしくは最小値を指定する方法を示すデータフォーマット図である。
【０１４６】
図１１において、移動体内の電子制御機器の自己診断を実行させるためのプログラムが、複数のモジュール（または複数のロジック）により構成される場合を想定する。前述のように、図１の電子制御装置１は、ＳＲＡＭ等の不揮発性メモリからなる補助情報記憶手段６（図１参照）を備えている。この補助情報記憶手段６には、複数のモジュールの各々について、第１のデータ保存手段２を構成するＲＡＭのアドレス、当該ＲＡＭに保持されているデータの最大値または最小値に対するピークホールドを行った値、および、電子制御機器に異常が発生したことを示すフラグを含む種々の補助情報が、ＲＡＭ定義テーブルＲＴの形式で補助情報保存手段６に格納されている。
【０１４７】
換言すれば、複数のモジュール（例えば、モジュール１〜モジュール５）の各々は、それぞれ個別にＲＡＭ定義テーブルＲＴを持っており、このＲＡＭ定義テーブルＲＴに基づいてＲＡＭ内のデータの値の読み出しおよび書き込みが行われる。
【０１４８】
より具体的にいえば、図１１に示すように、一つのモジュールに対するＲＡＭ定義テーブルＲＴには、管理ナンバー（例えば、Ｎｏ．１〜Ｎｏ．５）、ＲＡＭのアドレス（例えば、０ｘＦＦＦＦＡ８００、０ｘＦＦＦＦ９６１０、０ｘＦＦＦＦＡＢ１２８、０ｘＦＦＦＦＢＣ７１８および０ｘＦＦＦＦＢ８３７２（全て１６進数で表示された値））、ＲＡＭの型、ＲＡＭ内のデータの値のＡ／Ｄ変換を行う際の最小単位であるＬＳＢ（Least Significant Bit：最小量子化ビット）、ＲＡＭ内のデータの最大値（ＭＡＸ）または最小値（ＭＩＮ）に対するピークホールドを行った値とピークホールドの方向を定義した値、およびフリーズ処理を行う際のサンプリングのタイミング（サンプリング数）が格納されている。
【０１４９】
さらに詳しく説明すると、ＲＡＭ定義テーブルの「ＲＡＭの型」に関していえば、ＳＮ１〜ＳＮ４は、署名済みで（signed）定義されているマクロを表しており、ＳＮの後に付記された数字は、署名済みのマクロのバイト数を表している。また一方で、ＵＮ１〜ＵＮ４は、無署名で（unsigned）定義されているマクロを表しており、ＵＮの後に付記された数字は、無署名のマクロのバイト数を表している。また一方で、ＦＬＡＧは、電子制御機器に異常が発生したことを示すフラグを表している。
【０１５０】
さらに、ＲＡＭ定義テーブルの「ＬＳＢ」に関していえば、０ｘＦＦＦＦＡ８００、０ｘＦＦＦＦ９６１０、０ｘＦＦＦＦＡＢ１２８、０ｘＦＦＦＦＢＣ７１８および０ｘＦＦＦＦＢ８３７２により表示されるＲＡＭのアドレスに対応するデータは、それぞれ、５／１０２４、１００／２５５０、１／１、１／１０および０のＬＳＢに基づいてＡ／Ｄ変換が行われる。
【０１５１】
さらに、ＲＡＭ定義テーブルの「ＲＡＭ内のデータの最大値または最小値に対するピークホールドの方向」に関していえば、数字の１は、ＲＡＭ内のデータの最大値をピークホールドすることを意味しており、数字の２は、ＲＡＭ内のデータの最小値をピークホールドすることを意味しており、数字の０は、ピークホールドしないことを意味している。
【０１５２】
さらに、ＲＡＭ定義テーブルの「フリーズ処理を行う際のサンプリングのタイミング」に関していえば、数字の１は、ＲＡＭ内のデータに対して毎回サンプリングを行うことを意味しており、数字の２は、ＲＡＭ内のデータに対して２回に１回の割合でサンプリングを行うことを意味しており、数字の３は、ＲＡＭ内のデータに対して３回に１回の割合でサンプリングを行うことを意味しており、数字の４は、ＲＡＭ内のデータに対して４回に１回の割合でサンプリングを行うことを意味している。
【０１５３】
ここで、複数のモジュール中の特定のモジュールに関して、移動体内の複数のセンサにより取得されるデータに基づき、あるサンプリングの時刻で電子制御機器に何らかの異常が発生したことが検出された場合、ＲＡＭ定義テーブル内で電子制御機器に異常が発生したことを示すフラグが立つ。このフラグがＣＰＵにより検出された時点で、電子制御機器に異常発生の兆候があったものとみなされる。ただし、この時点では、ＲＡＭ内のデータのフリーズ処理はまだ開始しない。最終的に、予め定められたサンプリング時間内で、電子制御機器に異常が発生したことを示すフラグが所定の回数以上検出されたときに、電子制御機器の異常状態が正式に検知されたものとＣＰＵにより判断され、ＲＡＭ内のデータのフリーズ処理が行われる。
【０１５４】
好ましくは、図１１において、複数のモジュール中の特定のモジュールで電子制御機器の異常状態を示すフラグが検出され、電子制御機器の異常発生の兆候があったものとみなされた時点で、上記特定のモジュールで使用されているＲＡＭのアドレスがＲＡＭ定義テーブルから読み出され、このＲＡＭのアドレスに関係するデータが第１のデータ保存手段２（図１参照）から全て取り出されて第２のデータ保存手段３（図１参照）に保存される。上記のように、ＲＡＭ定義テーブルにより電子制御機器の異常発生の兆候が見出された時点で、この異常発生の兆候に関係する特定のモジュールで使用されているＲＡＭのアドレスを全て選択することによって、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行うことができるようになる。
【０１５５】
さらに、好ましくは、図１１において、複数のモジュール中の特定のモジュールで電子制御機器の異常状態を示すフラグが検出され、電子制御機器の異常発生の兆候があったものとみなされた時点で、上記特定のモジュールで使用されているＲＡＭ内のデータの最大値または最小値のピークホールドした値がＲＡＭ定義テーブルから読み出され、このＲＡＭ内のデータの最大値または最小値に関係するデータが第１のデータ保存手段２（図１参照）から取り出されて第２のデータ保存手段３（図１参照）に保存される。上記のように、ＲＡＭ定義テーブルにより電子制御機器の異常発生の兆候が見出された時点で、この異常発生の兆候に関係する特定のモジュールで使用されているＲＡＭ内のデータの最大値または最小値をピークホールドすることによって、電子制御機器の異常発生後に、電子制御機器の異常発生の原因の解析を正確かつ迅速に行うことができるようになる。
【０１５６】
図１２は、ＲＡＭ定義テーブルを使用してフリーズ処理を行う手順を説明するためのフローチャートである。ここでは、図１１のようなＲＡＭ定義テーブルにより特定のモジュールで電子制御機器の異常発生の兆候が見出された時点で、ＣＰＵ等によりフリーズ処理を行うための処理フローを説明する。
【０１５７】
図１２のフローチャートの開始の部分では、移動体のイグニッションスイッチがオンになっている期間に、移動体内の複数のセンサにより検出された検出信号が、センサ検出データとして、ＲＡＭ（第１のデータ保存手段）に一時的に保持される。また一方で、移動体内の電子制御機器の自己診断を実行させるためのプログラムを構成する複数のモジュールの各々について、ＲＡＭのアドレスおよびＲＡＭ内のデータの最大値または最小値を含む補助情報が、ＲＡＭ定義テーブルの形式で補助情報保存手段に格納される。
【０１５８】
さらに、図１２のステップＳ１１において、複数のモジュール中の特定のモジュールで電子制御機器の異常状態を示すフラグが立っているか否かがチェックされる。このフラグが立っていることが検出された場合、電子制御機器の異常発生の兆候があったものとみなされる。
【０１５９】
特定のモジュールで上記フラグが立っていることが検出された後、図１２のステップＳ１２において、特定のモジュールで使用されているＲＡＭのアドレス、または特定のモジュールで使用されているＲＡＭ内のデータの最大値もしくは最小値が指定されてＲＡＭ定義テーブルから読み出される。さらに、当該ＲＡＭのアドレス、または当該ＲＡＭ内のデータの最大値もしくは最小値に関係するデータがＲＡＭから取り出されて不揮発性メモリ（ＳＲＡＭまたはＥＥＰＲＯＭ等）に送り込まれ、フリーズ処理が実行される。このような処理は、フリーズ処理時に不揮発性メモリに保存されるべきデータがなくなるまで実行される（図１２のフローチャートの終了の部分）。
【０１６０】
図１３は、プログラムポインタを指定してフリーズ処理を行う手順を説明するためのフローチャートである。ここでは、複数のモジュール中の特定のモジュールで電子制御機器の異常発生の兆候が見出された時点で、ＣＰＵ等により、上記特定のモジュールで使用されているプログラムのプログラムポインタのフリーズ処理を行うための処理フローを説明する。
【０１６１】
図１３のフローチャートの開始の部分では、移動体のイグニッションスイッチがオンになっている期間に、電子制御機器の自己診断を実行させるための複数のモジュールからなるプログラムのプログラムポインタが、移動体内の複数のセンサにより取得されるデータと共に、ＲＡＭ（第１のデータ保存手段）に保持される。
【０１６２】
さらに、図１３のステップＳ２１において、複数のモジュール中の特定のモジュールで電子制御機器の異常状態を示すフラグが立っているか否かがチェックされる。このフラグが立っていることが検出された場合、電子制御機器の異常発生の兆候があったものとみなされる。
【０１６３】
特定のモジュールで上記フラグが立っていることが検出された後、図１２のステップＳ２２において、特定のモジュールで使用されているプログラムのプログラムポインタがＲＡＭから取り出されて不揮発性メモリ（ＳＲＡＭまたはＥＥＰＲＯＭ等）に送り込まれ、最速（最速＝割り込み頻度が多いこと）の割り込みのタイミングにてプログラムポインタのフリーズ処理が実行される。このような処理は、フリーズ処理時に不揮発性メモリに保存されるべきプログラムポインタがなくなるまで実行される（図１３のフローチャートの終了の部分）。
【０１６４】
上記のステップＳ２２では、電子制御機器の自己診断を実行させるためのプログラムの各々の命令とプログラムポインタとが１対１に対応しているので、当該プログラムが現在どの命令を実行しているかはプログラムポインタを参照すれば容易にわかる。ただし、関数コール中は、その関数コールがなされているプログラムのアドレスがプログラムポインタに格納されているので、割り込みに入る前の実行アドレスを知るには、割り込み前のアドレスが格納されているリンクポインタを参照すればよい。
【０１６５】
プログラムポインタに対して途切れなくフリーズ処理を行うためには、プログラムの１命令毎にフリーズ処理を実行して全てのプログラムポインタを不揮発性メモリに保存することが必要である。しかしながら、全てのプログラムポインタのフリーズ処理を実行することは事実上不可能なので、好ましくは、最速の割り込みのタイミングでリンクポインタのフリーズ処理が実行される。
【０１６６】
図１４および図１５は、本発明の実施例にてプログラムポインタを格納するまでの流れを説明するための流れ図（その１およびその２）である。
【０１６７】
図１４においては、移動体内の電子制御機器の自己診断を実行させるためのプログラムの一例が、あるソースのアセンブラ展開結果の形式で記述されている。このアセンブラ展開結果においては、左から「アドレス」、「機械語」および「アセンブル言語」が記載されている。ここで、プログラムポインタは、上記プログラムの各々の命令に対応するアドレスを指しており、一番左側の「アドレス」に相当する。
【０１６８】
さらに、図１５を参照しながら、プログラムポインタ（実際上はリンクポインタ）を不揮発性メモリに格納することでプログラムポインタのフリーズ処理を行うための流れを説明する。
【０１６９】
前述の図１４のプログラムで第１回目の割り込みが発生したときに、このときの割り込み前のアドレス（図１４の「アドレス」の０ｘ３０２６）が、リンクポインタ（レジスタ）に格納される。このような動作は、ＣＰＵにより自動的に実施される。さらに、第１回目の割り込み内の処理で、リンクポインタの値のフリーズ処理が実行される。その後は、発生した第１回目の割り込みに従って、割り込み処理が実施される。
【０１７０】
ついで、前述の図１４のプログラムで第２回目の割り込みが発生したときに、前述の第１回目の割り込みの場合と同様に、このときの割り込み前のアドレス（図１４の「アドレス」の０ｘ３０４ｅ）が、リンクポインタに格納される。このような動作は、同様にＣＰＵにより自動的に実施される。さらに、第２回目の割り込み内の処理で、リンクポインタの値のフリーズ処理が実行される。その後は、第２回目の割り込みに従って、割り込み処理が実行される。
【０１７１】
その後、前述の図１４のプログラムで第３回目の割り込みが発生したときに、前述の第１回目の割り込みの場合と同様に、このときの割り込み前のアドレス（図１４の「アドレス」の０ｘ３０６ａ）が、リンクポインタに格納される。このような動作は、同様にＣＰＵにより自動的に実施される。さらに、第３回目の割り込み内の処理で、リンクポインタの値のフリーズ処理が実行される。その後は、第３回目の割り込みに従って、割り込み処理が実行される。
【０１７２】
上記のように、プログラムポインタ（実際上はリンクポインタ）を最速の割り込みのタイミングでフリーズすることにより、プログラムの流れを容易に把握することができる。例えば、ソフトウェアがデッドロックした場合に、どういう流れでデッドロックが発生したかを正確に追跡することが可能になる。
【産業上の利用可能性】
【０１７３】
本発明は、車両等の移動体内の電子制御式エンジン等の電子制御機器を制御するためのコンピュータであって、移動体内の複数のセンサにより当該電子制御機器の異常状態を検知した際に、ＳＲＡＭやＥＥＰＲＯＭ等の不揮発性メモリに保存されているセンサ検出データに基づいて当該電子制御機器の自己診断を行う機能を有するコンピュータが内蔵された電子制御装置（ＥＣＵ）を含むエンジン制御用コンピュータシステムに適用することが可能である。
【図面の簡単な説明】
【０１７４】
【図１】本発明の一実施例に係る電子制御装置の構成を示すブロック図である。
【図２】本発明の実施例にてフリーズ処理対象のデータ項目を選択する手順を示す模式図である。
【図３】本発明の実施例にてフリーズ処理対象のバイト数のグループを選択する手順を示す模式図である。
【図４】本発明の実施例にてフリーズ処理対象のＲＡＭのアドレスを選択する手順を示す模式図である。
【図５】本発明の実施例にてフリーズ処理対象のデータのグループを選択する手順を示す模式図である。
【図６】本発明の実施例にてＲＡＭ内の全てのデータを一括して指定する手順を示す模式図である。
【図７】本発明の実施例にてＲＡＭの先頭アドレスからバイト数分のアドレスを選択する手順を示す模式図である。
【図８】本発明の実施例にてＲＡＭ内のデータの最大値または最小値を指定する手順を示す模式図である。
【図９】本発明の実施例にてプログラムポインタを指定する手順を示す模式図である。
【図１０】本発明の実施例にてＲＡＭのセクションの全バイト、またはセクションの先頭アドレスからバイト数分のアドレスを選択する手順を示す模式図である。
【図１１】異常状態の兆候があったときにモジュールで使用している全てのＲＡＭアドレス、またはＲＡＭ内のデータの最大値もしくは最小値を指定する方法を示すデータフォーマット図である。
【図１２】ＲＡＭ定義テーブルを使用してフリーズ処理を行う手順を説明するためのフローチャートである。
【図１３】プログラムポインタを指定してフリーズ処理を行う手順を説明するためのフローチャートである。
【図１４】本発明の実施例にてプログラムポインタを格納するまでの流れを説明するための流れ図（その１）である。
【図１５】本発明の実施例にてプログラムポインタを格納するまでの流れを説明するための流れ図（その２）である。
【符号の説明】
【０１７５】
１    電子制御装置
２    第１のデータ保存手段
３    第２のデータ保存手段
４    ＣＰＵ（中央演算処理装置）
５    センサ部
６    補助情報保存手段
７    バッテリ
８    外部検査ツール
９    電子制御機器
１０    ＲＯＭ（リード・オンリ・メモリ）
１１    入力インタフェース回路
１２    Ａ／Ｄコンバータ
１３    出力インタフェース回路
５０    Ａ／Ｆセンサ（空燃比センサ）
５１    水温センサ
５２    酸素濃度センサ
５３    ノッキングセンサ
５４    油温センサ
５５    排気温センサ
５６    吸気温センサ
５７    トルクセンサ
５８    クランク角センサ
５９    車速センサ
６０    スロットルポジションセンサ
７０    定電圧電源
７１    バックアップ電源
８０    格納手段
８１    選択手段
８２    表示手段
【図１】
2006336564.tif 000003
【図２】
2006336564.tif 000004
【図３】
2006336564.tif 000005
【図４】
2006336564.tif 000006
【図５】
2006336564.tif 000007
【図６】
2006336564.tif 000008
【図７】
2006336564.tif 000009
【図８】
2006336564.tif 000010
【図９】
2006336564.tif 000011
【図１０】
2006336564.tif 000012
【図１１】
2006336564.tif 000013
【図１２】
2006336564.tif 000014
【図１３】
2006336564.tif 000015
【図１４】
2006336564.tif 000016
【図１５】
2006336564.tif 000017