(57)【特許請求の範囲】
【請求項１】
エンジン停止操作、又は、少なくとも電動機を含む走行システムの停止操作を受け付けたタイミングで第一の記憶装置のデータを第二の記憶装置に書き出す情報処理装置であって、
エンジン停止操作若しくはエンジン始動操作、又は、少なくとも電動機を含む前記走行システムの停止操作若しくは始動操作を受け付ける操作受け付け手段と、
前記操作受け付け手段がエンジン停止操作又は前記走行システムの停止操作を受け付けてから所定時間内にエンジン始動操作又は前記走行システムの始動操作を受け付けた特定操作を記録すると共に、前記操作受け付け手段がエンジン停止操作又は前記走行システムの停止操作を受け付けてから所定時間経過後に前記特定操作の記録を消去する停止始動操作記録手段と、
前記第一の記憶装置のデータを前記第二の記憶装置に書き出すデータ書き出し手段と、を有し、
前記データ書き出し手段は、エンジン停止操作、又は、前記走行システムの停止操作を受け付けたタイミングに、前記特定操作の記録がある場合には前記第一の記憶装置から前記第二の記憶装置へのデータの書き出しを取り消し、前記特定操作の記録が消去されてからデータの書き出しを行う、ことを特徴とする情報処理装置。
【請求項２】
前記特定操作の記録がある間、電源から前記第一の記憶装置への電源供給を維持する電源制御手段、を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記データ書き出し手段が前記第一の記憶装置から前記第二の記憶装置へのデータの書き出しを終了した場合、前記電源制御手段は、電源から前記第一の記憶装置への電源供給を停止する、ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記停止始動操作記録手段は、最も新しい、エンジン停止操作又は前記走行システムの停止操作から、所定時間内にエンジン始動操作又は前記走行システムの始動操作を受け付けた場合に前記特定操作を記録する、
ことを特徴とする請求項１〜３いずれか１項記載の情報処理装置。
【請求項５】
前記停止始動操作記録手段は、前記特定操作の記録がある状態で、前記操作受け付け手段がエンジン停止操作又は前記走行システムの停止操作を受け付けた場合、最後のエンジン停止操作又は前記走行システムの停止操作から所定時間の経過後に前記特定操作の記録を消去する、ことを特徴とする請求項１〜４いずれか１項記載の情報処理装置。
【請求項６】
第一のマイコンと、
第二のマイコンと、
前記第一のマイコンから前記第二のマイコンへデータを送信するデータ送信手段と、を有し、
前記データ書き出し手段は、前記第一のマイコンが有する前記第一の記憶装置から前記第二のマイコンが有する前記第二の記憶装置にデータを書き込む、
ことを特徴とする請求項１〜５いずれか１項記載の情報処理装置。
【請求項７】
エンジン停止操作、又は、少なくとも電動機を含む走行システムの停止操作を受け付けたタイミングで第一の記憶装置のデータを第二の記憶装置に書き出す情報処理装置のデータ記録方法であって、
操作受け付け手段が、エンジン停止操作若しくはエンジン始動操作、又は、少なくとも電動機を含む前記走行システムの停止操作若しくは始動操作を受け付けるステップと、
停止始動操作記録手段が、前記操作受け付け手段がエンジン停止操作又は前記走行システムの停止操作を受け付けてから、所定時間内にエンジン始動操作又は前記走行システムの始動操作を受け付けた特定操作を記録するステップと、
前記操作受け付け手段がエンジン停止操作又は前記走行システムの停止操作を受け付けてから所定時間経過後に前記特定操作の記録を消去するステップと、
前記第一の記憶装置のデータを前記第二の記憶装置に書き出すデータ書き出し手段が、エンジン停止操作、又は、前記走行システムの停止操作を受け付けたタイミングに、前記特定操作の記録がある場合には前記第一の記憶装置から前記第二の記憶装置へのデータの書き出しを取り消し、前記特定操作の記録が消去されてからデータの書き出しを行うステップと、
を有するデータ記録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
エンジン停止操作、又は、少なくとも電動機を含む走行システムの停止操作を受け付けたタイミングで第一の記憶装置のデータを第二の記憶装置に書き出す情報処理装置に関する。
【背景技術】
【０００２】
車両の走行中に得られたデータを永続化するため、ＲＡＭなどの揮発メモリに記憶しておいたデータをあるタイミングで不揮発メモリに退避することが行われる。不揮発メモリにはＨＤＤ（Hard  Disk  Drive）、ＥＥＰＲＯＭ、フラッシュメモリなどがあるが、書き込み速度、容量、安定性などの総合的な優位性からフラッシュメモリが使用されることが多い。
【０００３】
しかしながら、フラッシュメモリはデータの書込み回数に制限があるため、書き込み回数をなるべく抑制しておくことが要請される。車両の運用年数は数年以上なので、フラッシュメモリへの書き込み回数も車両の運用期間は超えないようにしたい。一方、書き込み回数を抑制しすぎるとデータの有効性が薄れてしまう。このような考えから、車両においては、エンジンキースイッチのオフ（IG‐OFF）を契機に、マイコンがＲＡＭのデータをフラッシュメモリに退避する処理を開始する設計が多く採用される。
【０００４】
しかし、業務用の車両や運転者によっては頻繁にIG‐OFFされることもあり、書き込み回数が多くなるおそれがある。この点について、書き込み回数や書き込みのデータ量を制御する技術が提案されている（例えば、特許文献１参照。）。特許文献１には、不揮発性半導体メモリの書込みタイミング時に、エンジンキーのオンから不揮発性半導体メモリの書込みタイミングに至る間の車両状態をクラス分けしておき、該当するクラスに対し予め定められたデータ項目の収集データのみを不揮発性半導体メモリに書き込む車両用電子制御ユニットが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９‐２１４５９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の電子制御ユニットでは、データの不整合を防止できないという問題がある。
【０００７】
図１は、データの不整合を説明する図の一例である。マイコンは、IG‐OFFを検出すると、ＳＲＡＭ（Static  Random  Access  Memory）内に収集したデータをフラッシュメモリに退避し始める。全てのデータを退避するこの処理には、ある程度の時間（システムによるが数秒から十秒弱）が必要である。
【０００８】
データの退避の最中に、運転者がIG‐ONして簡単な作業を行い（例えばドアウィンドウを開閉した）、再度、IG‐OFFするような、短時間のIG‐ON、IG‐OFFの繰り返しが生じることがある。例えば、マイコンが１〜５までのデータを退避した段階で、運転者がIG‐ONを行い短時間にIG‐OFFを行った場合、マイコンは最初からデータの退避を始めようとする。
【０００９】
この場合、途中まで書き込まれたデータの退避はそこで終了してしまうので、本来退避されるべき、データ（図では６〜１０）が退避されないことになってしまう。また、次にIG‐ONされた後に、ＳＲＡＭのデータが書き換えられるおそれがある。このため、マイコンが、再度、データを退避しようとしても、ＳＲＡＭの元のデータを全て退避できるとは限らない。以下、このようにＳＲＡＭのデータとデータフラッシュに記憶されるデータの違いをデータの不整合という。
【００１０】
また、近年、半導体集積回路の微細化が進み、１つの電子制御ユニットに複数のＣＰＵ又はマイコンが搭載されることも少なくなくなった。また、車載されるＥＣＵの数を低減する試みも継続的に行われている。このため、ＥＣＵ内のあるマイコンが別のマイコンのデータフラッシュにデータを退避するという状況が生じるようになった。この場合、データを退避する制御を行うマイコンと、データフラッシュを持つマイコンが別体なので、上述した問題がさらに生じやすくなる。
【００１１】
本発明は、上記課題に鑑み、短時間にIG‐ON、IG‐OFFが繰り返されても、データの不整合を防止することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、エンジン停止操作、又は、少なくとも電動機を含む走行システムの停止操作を受け付けたタイミングで第一の記憶装置のデータを第二の記憶装置に書き出す情報処理装置であって、エンジン停止操作若しくはエンジン始動操作、又は、少なくとも電動機を含む前記走行システムの停止操作若しくは始動操作を受け付ける操作受け付け手段と、前記操作受け付け手段がエンジン停止操作又は前記走行システムの停止操作を受け付けてから所定時間内にエンジン始動操作又は前記走行システムの始動操作を受け付けた特定操作を記録すると共に、前記操作受け付け手段がエンジン停止操作又は前記走行システムの停止操作を受け付けてから所定時間経過後に前記特定操作の記録を消去する停止始動操作記録手段と、前記第一の記憶装置のデータを前記第二の記憶装置に書き出すデータ書き出し手段と、を有し、  前記データ書き出し手段は、エンジン停止操作、又は、前記走行システムの停止操作を受け付けたタイミングに、前記特定操作の記録がある場合には第一の記憶装置から第二の記憶装置へのデータの書き出しを取り消し、前記特定操作の記録が消去されてからデータの書き出しを行う、ことを特徴とする。
【発明の効果】
【００１３】
データ退避中に短時間にIG‐ON、IG‐OFFが繰り返されても、データの不整合を防止することができる情報処理装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】データの不整合を説明する図の一例である。
【図２】本実施形態のデータ記憶方法の概略的な特徴を説明する図の一例である。
【図３】車載ネットワークの概略構成図の一例である。
【図４】データ記録ＥＣＵのハードウェア構成図の一例である。
【図５】メインマイコン及びサブマイコンの機能ブロック図の一例である。
【図６】データ記録ＥＣＵがデータをＳＲＡＭに記録する手順を示すフローチャート図の一例である。
【図７】フラグ設定部がIG‐ONとIG‐OFFの頻繁な繰り返しの有無を判定する手順を示すフローチャート図の一例である。
【図８】所定時間を説明する図の一例である。
【図９】データ記録ＥＣＵがフラグＡ、Ｂを参照して、ＳＲＡＭのデータをデータフラッシュに格納する手順を示すフローチャート図の一例である。
【図１０】IG‐ON、IG‐OFFとデータ記録の関係を説明する図の一例である。
【図１１】データ記録ＥＣＵの構成例を説明する図の一例である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について図面を参照しながら説明する。
図２は、本実施形態のデータ記憶方法の概略的な特徴を説明する図の一例である。
Ｓ１：マイコンはIG‐OFFになったか否かを監視している。
Ｓ２：IG‐OFFになった場合（Ｓ１のＹｅｓ）、マイコンはそのIG‐OFFが頻繁なIG‐ONとIG‐OFFの繰り返しか否かを判定する。頻繁なIG‐ONとIG‐OFFの繰り返しとは、最後のIG‐OFFから所定時間内にIG‐ONかつIG‐OFFされるこという。
Ｓ３：頻繁なIG‐ONとIG‐OFFの繰り返しが検出された場合（Ｓ２のＹｅｓ）、マイコンはＳＲＡＭに記憶されたデータを保持する。すなわち、データフラッシュへの退避を開始することなく、ＳＲＡＭへの電源供給を維持（リフレッシュして揮発を防ぐ）するなどしてＳＲＡＭにデータを保全する。
Ｓ４：頻繁なIG‐ONとIG‐OFFの繰り返しが検出されない場合（Ｓ２のＮｏ）、マイコンはＳＲＡＭに記憶されたデータのデータフラッシュへの記録を開始する。
【００１６】
最後のIG‐OFFから十分に時間が経過すれば、Ｓ２の判定はＮｏになるので、マイコンは最後のIG‐OFFから十分に時間が経過した状態のIG‐ON→IG‐OFFであれば、IG‐OFFの直後にデータの記録を開始する。これに対し、最後のIG‐OFFから所定時間内のIG‐ON→IG‐OFFでは、データの記録を行わないので、すでに行われているデータの記録が終わるまでに次のデータの記録を開始することを抑制できる。したがって、ＳＲＡＭのデータとデータフラッシュのデータの不整合の発生を抑制できる。
【００１７】
〔構成例〕
図３は、車載ネットワーク２００の概略構成図の一例を示す。車載ネットワーク２００は、複数のＥＣＵ（Electronic  Control  Unit）を電気的に接続し、所定のプロトコルに基づき、互いのＥＣＵが通信データを送受信することを可能にしている。本実施形態では、データ記録ＥＣＵ１００が、他のＥＣＵ（ＥＣＵ１、ＥＣＵ２）１１０から取得したデータ、及び、データ記録ＥＣＵ１００が演算したデータをデータ記録ＥＣＵ１００のデータフラッシュに記憶するものとする。車載ネットワーク２００に接続されるＥＣＵは、いくつでもよく、また、ゲートウェイ経由のＥＣＵが接続されていてもよい。
【００１８】
記憶されるデータは例えば、データ記憶日時、走行距離、走行時間、最高車速、平均車速、最高エンジン回転数、平均燃費、水温、排ガス濃度、位置情報、エアバッグの展開などのイベント等である。この他、車両の状態を特定するために有効なデータは記憶対象となりうる。
【００１９】
車載ネットワーク２００のプロトコルには、ＣＡＮ（Controller  Area  Network）、ＬＩＮ（Local  Interconnect  Network）、ＦｒｅｘＲａｙ等があるが、本実施形態では、各ＥＣＵはＣＡＮプロトコルにより通信するものとする。各ＥＣＵには、ドアＥＣＵ、パワーシートＥＣＵ、ライトＥＣＵ、エアコンＥＣＵ、メータＥＣＵなどのボディ系、エンジンＥＣＵ、ＨＶーＥＣＵ、ブレーキＥＣＵ、パワステＥＣＵ、トランスミッションＥＣＵ、エアバッグＥＣＵ等の制御系、ナビＥＣＵ、外部との通信を行う通信ＥＣＵ、オーディオ機器を制御するＡＶ用ＥＣＵ等の情報・ＡＶ系、などがある。
【００２０】
図４は、本実施形態のデータ記録ＥＣＵ１００のハードウェア構成図の一例を示す。データ記録ＥＣＵ１００は、複数のマイコン（区別するためメインマイコン１０とサブマイコン２０と称す）、ＣＡＮドライバ３１、及び、電源ＩＣ３２を有している。本実施形態では、メインマイコン１０がデータ記録制御を行い、サブマイコン２０がデータを記録するためのデータフラッシュ３０を有している。したがって、メインマイコン１０はデータ記録を行うタイミングか否かを判定し、データ記録を行うタイミングであると判定すると、データをサブマイコン２０に送信する。
【００２１】
サブマイコン２０がデータ記録を行うタイミングであるか否かを判断することも可能であるし、メインマイコン１０がデータフラッシュ３０を有している場合はメインマイコン単体でデータ記録のタイミングの決定及びデータの記録を行うことも可能である。図示するように実装されるのは、メインマイコン１０にはデータ記録の他にも多くの処理が要求されるため、データ記録のタイミングの判断とデータの保管とを別々のマイコンが受け持つ方が設計上好ましいためであるに過ぎない。
【００２２】
メインマイコン１０は、コア１３、ＡＤＣ（Analog  Digital  Converter）１１、ＷＤＴ（Watch  Dog  Timer）１４、ＳＲＡＭ１２、ＲＯＭ１５、ＲＡＭ１６、Ｉ／Ｏ２７、ＣＡＮＣ（ＣＡＮ  Controller）１８及びＤＭＡＣ（ＤＭＡ  Controller）１９を有する。コア１３は例えばＲＯＭ１５に記憶されたプログラムを、ＲＡＭ１６を作業メモリにして実行するＣＰＵである。ＲＯＭ１５に記憶されているプログラムにはデータ記録を行う機能が含まれている。また、プログラムにはメインマイコン１０に特有の処理を行う機能が含まれている。なお、サブマイコン２０の構成は、データフラッシュ３０を有する以外はメインマイコン１０とほぼ同様である。
【００２３】
ＡＤＣ１１，２１はＡ／Ｄコンバータであり、不図示のセンサが検出したアナログデータをデジタルデータに変換する。ＷＤＴ１４，２４はコア１３，２３によるプログラムの実行状態を監視するタイマであり、予め決められた時間内にコア１３，２３がリセットしないことから、コア１３，２３の異常を検出し、リセットするなどの処理を行う。
【００２４】
ＣＡＮＣ１８，２８は、ＣＡＮプロトコルに従って他のＥＣＵ１１０等と通信する通信装置である。ＣＡＮＣ１８，２８はＣＡＮドライバ３１と接続されている。ＣＡＮドライバ３１は、データの送信時、通信データを差動電圧に変換してＣＡＮバスに出力する。また、データの受信時、差動電圧が所定の電圧範囲に含まれるように整形して受信信号を生成し、ＣＡＮＣ１８，２８に出力する。
【００２５】
ＳＲＡＭ１２はＲＡＭの一種であり、本実施形態ではデータを一時的に保持するために使用される。ＳＲＡＭ２２は、サブマイコン２０がデータを一時的に保持するために使用可能であるが、サブマイコン２０にはなくてもよい。Ｉ／Ｏ１７にはメインマイコン１０が演算に用いる信号を検出する各種のセンサ、メインマイコン１０が制御するアクチュエータやアクチュエータのドライバ回路等が接続されている。Ｉ／Ｏ２７についても同様である。なお、ＡＤＣ１１やＣＡＮＣ１８はＩ／Ｏ１７に接続されていてもよい。
【００２６】
ＤＭＡＣ１９は、Ｉ／Ｏ１７から入力されたデータを、コア１３を介さずにＲＡＭ１６やＳＲＡＭ１２に記録し、コア１３からの要求を受け付けてＲＡＭ１６やＳＲＡＭ１２の指定アドレスからセンサやアクチュエータにデータを転送する。本実施形態では、メインマイコン１０とサブマイコン２０の間の通信もＤＭＡＣ１９を介して行われる。この場合、コア１３はＤＭＡＣ１９に、データの転送元としてＳＲＡＭ１２を指定するアドレスとデータサイズを、データの転送先としてサブマイコン２０のデータフラッシュ３０のアドレスをそれぞれ設定する。したがって、メインマイコン１０のＤＭＡＣ１９はサブマイコン２０のデータフラッシュ３０をメインマイコン１０の一部のようにアクセスできる。
【００２７】
また、メインマイコン１０のＤＭＡＣ１９が直接、サブマイコン２０のデータフラッシュ３０にアクセスするのでなく、メインマイコン１０のＤＭＡＣ１９がサブマイコン２０のＤＭＡＣ２９に、データフラッシュ３０へのデータ転送を依頼してもよい。また、必ずしもＤＭＡＣ１９、２９を使用するのでなく、ＵＡＲＴ（Universal  Asynchronous  Receiver  Transmitter）やＩ２Ｃ（Inter‐Integrated  Circuit）を利用して通信してもよい。
【００２８】
電源ＩＣ３２は、不図示のバッテリから電力供給を受けてマイコン駆動用の電圧・電流を生成する。IG‐ON時は、ＥＣＵ内の全ての回路を通常モードで動作させるために必要な大容量の電圧・電流を生成し、IG‐OFF時は、メインマイコン１０・サブマイコン２０の回路の一部を省電力モードに保持するために必要な最小限の電圧・電流を生成する。また、電源ＩＣ３２は、メインマイコン１０又はサブマイコン２０からの制御を取得して、バッテリから、メインマイコン１０及びサブマイコン２０への電力供給を遮断及び維持することができる。
【００２９】
サブマイコン２０が有するデータフラッシュ３０は、データの消去及び書き込みを行うことができる不揮発メモリである。ＮＡＮＤ型、ＮＯＲ型のいずれでもよい。また、フラッシュメモリでなく、ＥＥＰＲＯＭ、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）、FeRAMOUM（相変化メモリ）など書き換え可能な不揮発メモリであればよい。
【００３０】
図５は、メインマイコン１０及びサブマイコン２０の機能ブロック図の一例を示す。図５において、図４と同一構成物には同一の符号を付しその説明は省略する。メインマイコン１０は、コア１３がＲＯＭ１５に記憶されたプログラムを実行することでソフト的に実現される、ＩＧ状態検出部４１、フラグ設定部４２、データ記録部４３、リレー操作部４４、及び、データ収集部４５を有する。
【００３１】
＜データ収集＞
まず、データ収集部４５によるデータ収集について説明する。
図６は、データ記録ＥＣＵ１００がデータをＳＲＡＭ１２に記録する手順を示すフローチャート図の一例である。
【００３２】
IG‐ONの間、ＥＣＵ１，ＥＣＵ２はそれぞれＣＡＮバスにデータを送信する（Ｓ１０）。ＥＣＵ１，ＥＣＵ２が送信するデータは予めＥＣＵ１，２に設定されている。
【００３３】
データ記録ＥＣＵ１００のＣＡＮＣ１８は予め定められたＣＡＮ ＩＤのデータを選択的に受信して、コア１３に受信割込みする。コア１３は受信割込みに対しデータ収集部４５などを起動させるので、データ収集部４５はＣＡＮ
ＩＤに基づき記録すべきデータとして選択したデータをＳＲＡＭ１２に記憶する（Ｓ２０）。
【００３４】
データにはIG‐ONの直後に一度だけ取得すればよいもの（例えば、カレンダ情報、ＩＧオン時刻）、周期的に送信されるが最新のデータで置き換えるもの（例えば、走行距離、走行時間）、過去の履歴を含め記憶しておくもの（例えば、位置情報）、IG‐OFF時に取得すべきもの（例えば、IG‐OFF時刻、データ記憶日時、平均車速、平均燃費）、特別のイベントが発生した場合に記憶されるもの（例えば、故障情報、エアバッグの展開）などがある。データ収集部４５は、これらを判別してＳＲＡＭ１２に記憶していく。
【００３５】
データ収集部４５が収集するデータにはこのような性格があるので、ＳＲＡＭ１２に記憶されるデータ量が一定であるとは限らない。このためデータ記録時間も一定とは限らない。
【００３６】
そして、データ記録ＥＣＵ１００のＩＧ状態検出部４１がIG‐OFFを検出すると、メインマイコン１０はＳＲＡＭ１２からデータフラッシュ３０へのデータを記録するタイミングか否かを判定する。記録するタイミングであると判定されれば、データ記録部４３がデータの記録を開始する。
【００３７】
＜IGーON、IGーOFFについて＞
図５に戻り、ＩＧ状態検出部４１は、IG‐ON及びIG‐OFFを検出する。本実施形態ではIGーONを走行可能な状態（又は走行可能な状態にするための操作）と定義する。このため、エンジンのみを動力源とする車両と、電気モータを一部の動力源とするハイブリッド車、又は、電気モータを全ての動力源とする電気自動車とでは、IG‐ONの検出方法が異なっている。
【００３８】
・エンジン車両のIG‐ON
運転者がメカニカルキーでIG‐ON／IG‐OFFを操作する車両の場合、IG‐ON状態とはメカニカルキーがキーシリンダ５１のＩＧ位置にあり、かつ、エンジンが作動していることをいう。運転者は、エンジン始動の際、ブレーキペダルを踏みながら、メカニカルキーをIG‐ONを超えてＳＴ位置まで回転させＩＧ位置まで戻す。エンジンは完爆すると完爆信号を出力するので、ＩＧ状態検出部４１この信号からIG‐ONを検出する。
【００３９】
運転者がプッシュボタン５２でIG‐ON／IG‐OFFを操作する車両の場合も、操作が異なるだけで、IG‐ONの定義は同じである。運転者は、エンジン始動の際、ブレーキペダルを踏みながら、プッシュボタン５２を押下する。これにより、所定のＥＣＵがＳＴリレーをオンにしてエンジン始動を開始する。エンジンは完爆すると完爆信号を出力するので、ＩＧ状態検出部４１この信号からIG‐ONを検出する。
【００４０】
・ハイブリッド車又は電気自動車のIG‐ON
ハイブリッド車は、運転者がIG‐ON操作をしてもエンジンが作動するとは限らず、電気自動車の場合はそもそもエンジンが搭載されていない。このため、ハイブリッド車又は電気自動車のIGーONとは、IG‐ONモード（Ready‐ON状態）であると定義する。IG‐ONモード（Ready‐ON状態）について簡単に説明する。ハイブリッド車又は電気自動車は、エンジン車両のIG‐ONに対応する２つの状態を有する。それぞれをIG‐ONモード（Ready‐ON状態）、IG‐ONモード（Ready‐OFF状態）という。IG‐ONモード（Ready‐ON状態）は、走行を司るＨＶーＥＣＵが正常に起動し、エンジン走行やモータ走行により車両を走行させることが可能な状態である。IG‐ONモード（Ready‐OFF状態）は、ＨＶ‐ＥＣＵが正常に動作していない状態である。したがって、IG‐ONモード（Ready‐ON状態）であれば、走行可能であるといえる。
【００４１】
運転者の操作は上記と同様である。すなわち、運転者がブレーキペダルを踏み込んだ状態でプッシュボタン５２を押下した場合、所定のＥＣＵがメインリレーをオンにして、ＨＶーＥＣＵに起動信号を出力する。ＨＶ‐ＥＣＵは、プログラムを読み出して初期処理や自己診断を実行し、正常に起動完了するとReady‐ON信号を他のＥＣＵ１１０に出力する。ＩＧ状態検出部４１はこのReady‐ON信号を受信することでIG‐ONを検出する。
【００４２】
・エンジン車両、ハイブリッド車又は電気自動車のIG‐OFF
本実施形態では、IG‐OFFを運転者がIG‐OFF操作をしたこと、と定義する。したがって、IGーOFFの定義は、エンジン車両、ハイブリッド車又は電気自動車に共通である。
【００４３】
運転者がメカニカルキーでIG‐ON／IG‐OFFを操作する車両の場合、運転者は、シフトポジションをP（パーキング）に設定し、メカニカルキーをキーシリンダ５１のLock位置まで回転させる。運転者がプッシュボタン５２でIG‐ON／IG‐OFFを操作する車両の場合、シフトポジションをP（パーキング）に設定し、プッシュボタン５２を押下する。
【００４４】
エンジン車両の場合、いずれの場合も所定のＥＣＵがメインリレーをオフにするのでエンジンは作動状態を維持できなくなりエンジンが停止する。ハイブリッド車又は電気自動車の場合、ＨＶ‐ＥＣＵがReady‐ON信号の出力を停止するので、車両は走行できない状態になる。したがって、IG‐OFFについては、ＩＧ状態検出部４１は運転者がIG‐OFF操作をしたことからIG‐OFFを検出する。
【００４５】
なお、厳密にはIG‐OFFにもIG‐ONにも含まれない状態が存在しうるが（例えば、メカニカルキーがＡＣＣの位置）、この場合は直前の状態であると判定するものとする（つまり、その前の状態がIG‐ONであったならIG‐ON、その前の状態がIG‐OFFであったならIG‐OFFであると判定する）。
【００４６】
＜フラグの設定＞
ＩＧ状態検出部４１は、IG‐ON又はIG‐OFFを検出すると、フラグ設定部４２に通知する。フラグ設定部４２は、IG‐ON又はIG‐OFFの検出結果に応じてフラグＡのＯＮ／ＯＦＦを切り換える。また、IG‐ON又はIG‐OFFの検出結果、及び、フラグＡのＯＮ／ＯＦＦに応じてフラグＢをＯＮ／ＯＦＦを切り換える。
【００４７】
なお、フラグＡはIG‐ONとIG‐OFFの検出結果により遷移し、以下の意味を持つ。
フラグＡ  ＯＮ  ：最後のIG‐OFFから所定時間内にIG‐ONが検出された
フラグＡ  ＯＦＦ：最後のIG‐OFFから所定時間が経過
最後のIG‐OFFから所定時間内であるがIG‐ONされていない
フラグＢはデータ退避が可能か否かの判定結果により遷移し、以下の意味を持つ。
フラグＢ  ＯＮ  ：ＳＲＡＭ１２のデータをデータフラッシュ３０に記録可能
フラグＢ  ＯＦＦ：ＳＲＡＭ１２のデータをデータフラッシュ３０に記録不可
フラグＡがＯＮのまま、フラグＢがＯＮとなることはない。フラグＢがＯＦＦであれば、フラグＡの状態に関係なくＳＲＡＭ１２からデータフラッシュ３０にデータが記録されることはない。なお、フラグＡ、Ｂの初期状態はＯＦＦである。
【００４８】
フラグ設定部４２は、ＩＧ状態検出部４１が検出したIG‐OFFの時刻（以下、IG‐OFF時刻という）を記録している。IG‐OFF時刻は時計上の時刻である必要はなく、IG‐OFFとなった時に例えばゼロであることを示す情報でよい。フラグ設定部４２は、IG‐OFF時刻を基準に数秒から数十秒の予め決められた所定時間を計測する。また、IG‐OFF時刻は、この予め決められた時間でもよく、フラグ設定部４２は予め決められた時間からカウントダウンを開始しゼロになったことを検出する。
【００４９】
＜データ記録＞
データ記録部４３はフラグＢがＯＮであると、ＳＲＡＭ１２に記憶されたデータをサブマイコン２０のデータフラッシュ３０に記録する。データ記録はIG‐OFF後に行われるので、電源ＩＣ３２がメインマイコン１０やサブマイコン２０への電源をカットするおそれが生じる。IG‐OFF後でも、常に一部の回路（例えば、割込みを受け付けるためのコア）にはバッテリから電源が供給されるＥＣＵだとしても、常にＳＲＡＭ１２に電源が供給されるとは限らない。そこで、データ記録の前に、データ記録部４３はリレー操作部４４にＩＧＣＴリレー５３のオンを保持する保持指示を出力する。リレー操作部４４は電源ＩＣ３２にＩＧＣＴリレー５３のＯＮを保持させる。
【００５０】
この後、データ記録部４３はＤＭＡＣ１９を使用して、ＳＲＡＭ１２のデータをサブマイコン２０のデータフラッシュ３０に記録させる。ＤＭＡＣ１９はＳＲＡＭ１２のデータを読み出して、サブマイコン２０のデータフラッシュ３０に記録する。ＤＭＡＣ１９は要求されたデータの記録が終了したことをデータ記録部４３に通知する。
【００５１】
データの記録が終了すると、データ記録部４３は、リレー操作部４４にＩＧＣＴリレー５３のオンの保持を解除する解除指示を出力する。リレー操作部４４は電源ＩＣ３２にＩＧＣＴリレー５３のＯＮを保持する必要がないことを通知する。この後、電源ＩＣ３２がＩＧＣＴリレー５３をＯＦＦするかどうかは車両状態に応じる。
【００５２】
なお、データフラッシュ３０がメインマイコン１０内にあっても、同様の手順で不都合なくデータの記録が可能である。したがって、データ記録ＥＣＵ１００は１つのマイコンのみを有していてもよい。
【００５３】
〔動作手順〕
図７は、フラグ設定部４２がIG‐ONとIG‐OFFの頻繁な繰り返しの有無を判定する手順を示すフローチャート図の一例である。
【００５４】
フラグ設定部４２は、ＩＧ状態検出部４１が検出したIG‐OFF時刻を記録している。これを利用してフラグ設定部４２はIG‐OFF時刻から所定時間以上が経過したか否かを判定する（Ｓ１１０）。この所定時間は、IG‐OFFから短時間にIG‐ONされたか否かを判定するための時間である。所定時間はデータ記録時間より長いことが好ましく、例えば、数秒から数十秒とする。所定時間については次述する。
【００５５】
所定時間以上、経過するまで場合（Ｓ１１０のＮｏ）、フラグ設定部４２は、ＩＧ状態検出部４１からIG‐ONが通知されたか否かを判定する（Ｓ１２０）。すなわち、ステップＳ１１０、Ｓ１２０の判定により、IGーOFFから所定時間内にIG‐ONされたか否かが判定される。
【００５６】
ＩＧ状態検出部４１からIG‐ONが通知された場合（Ｓ１２０のＹｅｓ）、フラグ設定部４２はフラグＡをＯＮに設定する（Ｓ１３０）。このように、フラグＡはIGーOFFから所定時間内にIGーONされた場合にＯＮになるので、フラグＡがＯＮか否かにより短時間にIGーOFF→IGーON操作が行われたか否かが判定される。
【００５７】
一方、ステップＳ１１０において、IG‐OFF時刻から所定時間以上が経過した場合（Ｓ１１０のＹｅｓ）、フラグ設定部４２はフラグＡにＯＦＦを設定する（Ｓ１４０）。すなわち、フラグＡがＯＮに設定されても、IG‐OFFから所定時間が経過すると自動的にＯＦＦになる。
【００５８】
また、ステップＳ１２０において、所定時間内にＩＧ状態検出部４１からIG‐ONが通知されない場合（Ｓ１２０のＮｏ）、フラグ設定部４２はフラグＡにＯＦＦを設定したままにする（Ｓ１４０）。すなわち、フラグＡは、IG‐OFFから所定時間が経過するまでにIG‐ONが検出されなければ、常にＯＦＦとなる。
【００５９】
図８を用いて、ステップＳ１１０の所定時間について説明する。図８は、所定時間を説明する図の一例である。図９にて説明するように、データ記録部４３は一度開始したデータ記録が完了するまでデータ記録を継続するので、データ記録中のIG‐OFFの直後にIG‐ONが検出されても、データ記録が中断・開始されることなく、データ不整合が生じるおそれはない。しかし、IG‐OFFから短時間にIG‐ON→IG‐OFFに操作されると、データ記録部４３がデータ記録を開始するタイミングになってしまう。
【００６０】
図８（ａ）は、所定時間が短く、短時間にIG‐ON→IG‐OFFの操作が行われた場合を示す。フラグＡはIGーOFFからの所定時間内のIG‐ONによりＯＮになり、“最後の”IG‐OFFから所定時間後にＯＦＦとなる。図８（ａ）では所定時間が短いため、データ記録中にフラグＡがＯＦＦになっている。この場合、記録中のデータは継続して記録されるが、フラグＡの趣旨から好ましくないと言える。
【００６１】
そこで、所定時間は、図８（ｂ）に示すように、データ記録時間と同程度かやや長めであることが好ましい。このように所定時間を決定しておくことで、データ記録中にフラグＡがＯＮとなることを防止できる。したがって、仮にデータ記録部４３が一度開始したデータ記録が完了するまでデータ記録を継続しない場合でも、データ記録が中断・開始され、データ不整合が生じることを防止できる。
【００６２】
なお、所定時間は、予め固定に設定しておくのでなく、データ転送部４３がＳＲＡＭのデータ量に応じて決定してもよい。
【００６３】
図９は、データ記録ＥＣＵ１００がフラグＡ、Ｂを参照して、ＳＲＡＭ１２のデータをデータフラッシュ３０に格納する手順を示すフローチャート図の一例である。
【００６４】
データ記録部４３は、原則的にIG‐OFFを契機にＳＲＡＭ１２のデータをデータフラッシュ３０に記録するので、データ記録部４３はIG‐OFF状態か否かを判定する（Ｓ２１０）。
【００６５】
IG‐OFF状態でない場合（Ｓ２１０のＮｏ）、IG‐ON状態となるので、ＳＲＡＭ１２のデータをデータフラッシュ３０に退避するタイミングでない。このためフラグ設定部４２はフラグＢをＯＦＦに設定する（Ｓ２２０）。
【００６６】
IG‐OFF状態の場合（Ｓ２１０のＹｅｓ）、データ記録部４３は、IG‐ONからIG‐OFFに操作された直後か否かを判定する（Ｓ２３０）。IGーOFF直後の場合（Ｓ２３０のＹｅｓ）、データ記録部４３はフラグＡがＯＮか否かを判定する（Ｓ２４０）。
【００６７】
フラグＡがＯＮの場合（Ｓ２４０のＹｅｓ）、IG‐OFFから所定時間内にIG‐ONとなっており、さらに、所定時間内にIG‐OFFとなったことになる。したがって、データ不整合の発生を抑制するため、データ記録部４３はデータを記録すべきでない。しかし、IG‐OFFによりデータの記録前にＳＲＡＭ１２のデータが消去されるおそれがあるため、データ記録部４３はＳＲＡＭ１２のデータを保持する（Ｓ２５０）。具体的には、データ記録部４３はリレー操作部４４に、電源ＩＣ３２にＩＧＣＴリレー５３をＯＦＦにさせないように保持指示を出力する（ＩＧＣＴリレー５３をオンに維持させる）。これにより電源ＩＣ３２はIG‐OFFを検出しても、ＩＧＣＴリレー５３をＯＮに維持するので、バッテリ５４からメインマイコン１０及びサブマイコン２０に電力が供給され、ＳＲＡＭ１２の内容が消去されない。
【００６８】
また、フラグ設定部４２はフラグＡがＯＮであることから、IG‐OFFから短時間のIG‐ON→IG‐OFFであると判定し、フラグＢをＯＦＦに設定する（Ｓ２６０）。したがって、この場合、データ記録部４３はデータを記録できない。
【００６９】
一方、ステップＳ２４０にてフラグＡがＯＮでない場合（Ｓ２４０のＮｏ）、IG‐OFFから所定時間にIG‐ONとなっていないか、又は、所定時間以上経過しているので、フラグ設定部４２はフラグＢをＯＮに設定する（Ｓ２７０）。この場合、データ記録部４３はデータ記録が可能になる。
【００７０】
また、ステップＳ２３０にて、IG‐ONからIG‐OFFに操作された直後でない場合（Ｓ２３０のＮｏ）、データ記録部４３はフラグＡがＯＮからＯＦＦに遷移したか否かを判定する（Ｓ２８０）。上記のようにフラグＡは、IG‐OFFから所定時間が経過するとＯＦＦになるので、フラグＡがＯＮだった場合でも、いずれフラグＡはＯＦＦになる。フラグＡがＯＮからＯＦＦになった場合（Ｓ２８０のＹｅｓ）、データ記録部４３はデータを記録してよいので、フラグ設定部４２はフラグＢをＯＮに設定する（Ｓ２９０）。これにより、IG‐OFFから短時間のIG‐ONであると判定され、その後、短時間にIG‐OFFに操作されても、いずれは（最初のIG‐OFFから所定時間経過後）データの記録が可能になる。
【００７１】
フラグＡがＯＮからＯＦＦになっていない場合（Ｓ２８０のＮｏ）、フラグＡはＯＮのまま処理はステップＳ３１０に進む。
【００７２】
ステップＳ３１０以降はデータ記録の処理となる。
データ記録部４３はフラグＢがＯＮか否かを判定する（Ｓ３１０）。フラグＢがＯＮの場合（Ｓ３１０のＹｅｓ）、データ記録が許可されているので、データ記録部４３はＳＲＡＭ１２のデータを保持して、データ記録を開始する（Ｓ３２０）。具体的には、データ記録部４３はリレー操作部４４に、ＩＧＣＴリレー５３をオンに維持させる。これにより電源ＩＣ３２はIG‐OFFを検出しても、ＩＧＣＴリレー５３をＯＮに維持するので、バッテリ５４からメインマイコン１０及びサブマイコン２０に電力が供給され、ＳＲＡＭ１２の内容が消去されない。
【００７３】
データ記録部４３は、ＳＲＡＭ１２のデータを全て記録したか否かを判定する（Ｓ３３０）。ＳＲＡＭ１２のデータを全て記録するまでの間（Ｓ３３０のＮｏ）、データの記録を継続する（Ｓ３１０、Ｓ３２０）。
【００７４】
データ記録の間に（IG‐OFFから所定時間内に）、運転者がIG‐ONの操作をする可能性がある。フラグＡの操作はデータ記録とは独立なので、フラグＡはＯＮになる場合があるが、データ記録は連続して行われるので、データ記録部４３はＳＲＡＭ１２のデータを全てデータフラッシュ３０に記録することができる。また、データ記録の間に（IG‐OFFから所定時間内に）、運転者がIG‐ON→IG‐OFFの操作をした場合、最後のIG‐OFFから所定時間の間はフラグＡはＯＮのままなので、記録中のデータの送信が中断されるようなことは生じない。
【００７５】
データ記録部４３がＳＲＡＭ１２のデータを全て記録した場合（Ｓ３３０のＹｅｓ）、データ記録部４３は、データ記録のためのＳＲＡＭ１２のデータの保持を終了する（Ｓ３４０）。具体的には、データ記録部４３はリレー操作部４４に、ＩＧＣＴリレー５３をオフにすることを許可する。これにより電源ＩＣ３２は、IG‐OFF、ACC‐ON、ACC‐OFF、車両状態等に基づく独自の基準により、ＩＧＣＴリレー５３をＯＦＦにすることができる。
【００７６】
フラグ設定部４２は、データ記録部４３からデータの記録の終了の通知を取得すると、フラグＢをＯＦＦに設定する（Ｓ３５０）。すなわち、フラグＢがＯＦＦになることで、データの記録が終了したため、データ記録が不要になったことを記録できる。
【００７７】
図１０は、IG‐ON、IG‐OFFとデータ記録の関係を説明する図の一例である。図１０（ａ）は、運転者がIGーOFFから所定時間内にIG‐ONしない場合を示す。この場合、フラグＡはＯＮとなることなくＯＦＦを維持する。したがって、図７，９に示したように、車両の走行後、初めて運転者がIGーOFFに操作した場合、Ｓ２１０、Ｓ２３０の判定はＹｅｓ、Ｓ２４０の判定はＮｏ、Ｓ３１０の判定はＹｅｓとなる。このため、頻繁なIG‐ON、IG‐OFFの繰り返しでないIG‐OFFの場合は、IG‐OFFの後、すぐにＳＲＡＭ１２の全てのデータがデータフラッシュ３０に記録される。
【００７８】
図１０（ｂ）は運転者がIG‐OFFから所定時間内にIG‐ONした場合を示す。IG‐OFFから所定時間内に、運転者がIG‐OFFからIG‐ONに操作した場合、フラグＡは所定時間内に限りＯＮになる。データ記録部４３は、ＳＲＡＭ１２のデータを全て記録することを、次のデータの記録の判定より優先するので、この場合もＳＲＡＭ１２のデータは全てデータフラッシュ３０に記録され、データに不整合は生じない。
【００７９】
図１０（ｃ）は運転者がIG‐OFFから所定時間内にIG‐ONして、所定時間内にIG‐OFFした場合を示す。IG‐OFFからの所定時間内のIG‐ONによりフラグＡがＯＮになることは図１０（ｂ）と同じである。
【００８０】
しかし、IG‐OFFから所定時間内にIG‐OFFとなるため、フラグＡがＯＮのままIG‐OFFとなる。フラグＡはIG‐OFFから所定時間経過しないとＯＦＦにならないので、IG‐ONを起点に、２度目のIG‐OFFから所定時間が経過するまでフラグＡはＯＮを継続する。
【００８１】
したがって、２度目のIG‐OFFが検出されても、データ記録部４３がＳＲＡＭ１２からデータフラッシュ３０へのデータ記録を開始するのは、フラグＡがＯＦＦになってからである。したがって、このような場合でも、本実施形態のデータ記録方法では、ＳＲＡＭ１２のデータとデータフラッシュ３０のデータに不整合が生じることはない。
【００８２】
以上説明したように、本実施形態のデータ記憶方法は、IG‐ONとIG‐OFFが頻繁に繰り返されても、IG‐OFFから所定時間はデータ記録しないので、データの不整合が生じる可能性を低減できる。
【００８３】
〔その他の構成例〕
図１１（ａ）はデータ記録ＥＣＵ１００が３つのマイコンを有する場合の構成例を示す図である。図１１（ａ）では最右のサブマイコン２０がデータフラッシュ３０を有しており、メインマイコン１０は最右のサブマイコン２０にデータを記録する。このように、データ記録ＥＣＵ１００が有するマイコンの数は３つでもよく、４つ以上でもよい。
【００８４】
また、データ記録ＥＣＵ１００が２つ以上のサブマイコン２０を有する場合、データを記録するサブマイコン２０は１つである必要はない。例えば、２つのサブマイコン２０が同じデータを重複して記録することで、データの信頼性や安全性が高まる。
【００８５】
図１１（ｂ）はデータ記録ＥＣＵ１００とは別のＥＣＵがデータフラッシュ３０を有する場合の構成例を示す図である。図１１（ｂ）ではＥＣＵ１のマイコンがデータフラッシュ３０を有している。このような場合、データ記録ＥＣＵ１００は、上記に説明したタイミングでＥＣＵ１へのデータの記録を開始する。この場合は、ＤＭＡＣ１９ではなくＣＡＮ通信を使用すればよく、データの記録方法が異なっても、車載ネットワーク２００の機能でデータ記録が可能である。ただし、データ記録ＥＣＵ１００のＳＲＡＭ１２のデータをＥＣＵ１に記録するまでは、ＥＣＵ１に電源を供給しておくことが望ましいため、データ記録時には、リレー操作部４４はＥＣＵ1に対し電源を保持するように要求しておく。これにより、ＥＣＵ１もデータ記録ＥＣＵ１００からデータを受信してデータフラッシュ３０に記録するまで電源が供給される。
【００８６】
なお、データ記録ＥＣＵ１００とは別のＥＣＵがデータフラッシュ３０を有する場合も、複数のＥＣＵがデータフラッシュ３０を有することで、データの信頼性や安全性を高めることができる
【符号の説明】
【００８７】
１０      メインマイコン
１２，２２  ＳＲＡＭ
１３，２３  コア（ＣＰＵ）
１８，２８  ＣＡＮＣ
１９，２９  ＤＭＡＣ
２０      サブマイコン
３０      データフラッシュ
３１      ＣＡＮドライバ
３２      電源ＩＣ
１００    データ記録ＥＣＵ
２００    車載ネットワーク
【図１】
0005803466.tif 000002
【図２】
0005803466.tif 000003
【図３】
0005803466.tif 000004
【図４】
0005803466.tif 000005
【図５】
0005803466.tif 000006
【図６】
0005803466.tif 000007
【図７】
0005803466.tif 000008
【図８】
0005803466.tif 000009
【図９】
0005803466.tif 000010
【図１０】
0005803466.tif 000011
【図１１】
0005803466.tif 000012