(57)【特許請求の範囲】
【請求項１】
予め定められた車両状況が検出されると車両データを不揮発性のリングバッファに記憶する情報処理装置において、
前記車両状況を検出する車両状況検出手段と、
前記車両状況検出手段が前記車両状況を検出するまで、Ｔ１秒間の第一の車両データを古いものに上書きしながら揮発性メモリに記憶し、前記車両状況検出手段が前記車両状況を検出するとＴ２秒間の第二の車両データを揮発性メモリに記憶する車両データ収集手段と、
前記車両状況検出手段が前記車両状況を検出したことを契機に、前記第一の車両データを揮発性メモリから不揮発性メモリに記録する車両データ記録手段と、を有し、
前記車両データ記録手段は、前記車両データ収集手段がＴ２秒間全ての前記第二の車両データを揮発性メモリに記憶する前に、前記第二の車両データを随時、揮発性メモリから不揮発性メモリに記録するものであり、
前記車両データ収集手段は、１つ以上の要素データの組をＴ２秒間に渡って複数組収集して前記第二の車両データとして揮発性メモリに記憶すると共に、アドレスを示す第１のポインタを更新し、
前記車両データ記録手段は、揮発性メモリから不揮発性メモリに１組の前記要素データを記録する毎に、不揮発性メモリへの記録が完了した揮発性メモリのアドレスを示す第２のポインタを更新し、前記第１のポインタが前記第２のポインタよりも大きい間、揮発性メモリから不揮発性メモリに前記要素データを記録することを継続する、ことを特徴とする情報処理装置。
【請求項２】
予め定められた車両状況が検出されると車両データを不揮発性のリングバッファに記憶する情報処理装置において、
前記車両状況を検出する車両状況検出手段と、
前記車両状況検出手段が前記車両状況を検出するまで、Ｔ１秒間の第一の車両データを古いものに上書きしながら揮発性メモリに記憶し、前記車両状況検出手段が前記車両状況を検出するとＴ２秒間の第二の車両データを揮発性メモリに記憶する車両データ収集手段と、
前記車両状況検出手段が前記車両状況を検出したことを契機に、前記第一の車両データを揮発性メモリから不揮発性メモリに記録する車両データ記録手段と、を有し、
前記車両データ記録手段は、前記車両データ収集手段がＴ２秒間全ての前記第二の車両データを揮発性メモリに記憶する前に、前記第二の車両データを随時、揮発性メモリから不揮発性メモリに記録するものであり、
前記車両データ収集手段は、１つ以上の要素データの組をＴ２秒間に渡って複数組収集して前記第二の車両データとして揮発性メモリに記憶し、
前記車両データ記録手段が、前記車両データ収集手段が１組の前記要素データを揮発性メモリに記憶する毎に、揮発性メモリから不揮発性メモリに１組の前記要素データを記録する際、
前記車両データ収集手段は、１組の前記要素データを揮発性メモリに記憶する毎に、前記車両データ記録手段に不揮発性メモリへの記録を要求し、
前記車両データ記録手段は１組の前記要素データを不揮発性メモリに記録すると、車両データ収集手段に記録完了を通知し、
前記車両データ収集手段は、前記車両データ記録手段から記録完了の通知を取得してから、次の１組の前記要素データを不揮発性メモリに記録するよう前記車両データ記録手段に要求する、ことを特徴とする情報処理装置。
【請求項３】
予め定められた車両状況が検出されると車両データを不揮発性のリングバッファに記憶する情報処理装置において、
前記車両状況を検出する車両状況検出手段と、
前記車両状況検出手段が前記車両状況を検出するまで、Ｔ１秒間の第一の車両データを古いものに上書きしながら揮発性メモリに記憶し、前記車両状況検出手段が前記車両状況を検出するとＴ２秒間の第二の車両データを揮発性メモリに記憶する車両データ収集手段と、
前記車両状況検出手段が前記車両状況を検出したことを契機に、前記第一の車両データを揮発性メモリから不揮発性メモリに記録する車両データ記録手段と、を有し、
前記車両データ記録手段は、前記車両データ収集手段がＴ２秒間全ての前記第二の車両データを揮発性メモリに記憶する前に、前記第二の車両データを随時、揮発性メモリから不揮発性メモリに記録するものであり、
前記車両データ収集手段は、１つ以上の要素データの組をＴ２秒間に渡って複数組収集して前記第二の車両データとして揮発性メモリに記憶し、
前記車両データ記録手段が、前記車両データ収集手段が１組の前記要素データを揮発性メモリに記憶する毎に、揮発性メモリから不揮発性メモリに１組の前記要素データを記録する際、
前記車両データ収集手段は、１組の前記要素データを揮発性メモリに記憶する毎に、前記車両データ記録手段に不揮発性メモリへの記録を要求し、
前記車両データ記録手段は記録の要求を取得した回数だけ、１組の前記要素データを揮発性メモリから不揮発性メモリに記録する、
ことを特徴とする情報処理装置。
【請求項４】
予め定められた車両状況が検出されると車両データを不揮発性のリングバッファに記憶する情報処理装置のデータ記録方法において、
前記車両状況を検出する車両状況検出ステップと、
前記車両状況検出ステップにおいて前記車両状況が検出されるまで、Ｔ１秒間の第一の車両データを古いものに上書きしながら揮発性メモリに記憶する車両データ記憶ステップと、
前記車両状況検出ステップにおいて前記車両状況が検出されると、Ｔ２秒間の第二の車両データを揮発性メモリに記憶する車両データ収集ステップと、
前記車両状況が検出されたことを契機に、前記第一の車両データを揮発性メモリから不揮発性メモリに記録するステップと、
Ｔ２秒間全ての前記第二の車両データが揮発性メモリに記憶される前に、前記第二の車両データを随時、揮発性メモリから不揮発性メモリに記録するステップと、を有し、
前記車両データ収集ステップでは、１つ以上の要素データの組をＴ２秒間に渡って複数組収集して前記第二の車両データとして揮発性メモリに記憶すると共に、アドレスを示す第１のポインタを更新し、
前記車両データ記憶ステップでは、揮発性メモリから不揮発性メモリに１組の前記要素データを記録する毎に、不揮発性メモリへの記録が完了した揮発性メモリのアドレスを示す第２のポインタを更新し、前記第１のポインタが前記第２のポインタよりも大きい間、揮発性メモリから不揮発性メモリに前記要素データを記録することを継続する、ことを特徴とするデータ記録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め定められた車両状況が検出されると車両データを不揮発性のリングバッファに記憶する情報処理装置に関する。
【背景技術】
【０００２】
走行中の車両データは、メーカ等が故障の原因を特定したり不具合の発生当時の状況を解析するために役立つことが多い。このため、車両に、車両データを記録する車両データ記録装置が搭載されることがある。車両データには車載された各種のセンサの検出値が含まれる。車両データはイベントの発生を契機にして記録されるため、走行している限り不定期に発生しうる。
【０００３】
車両データ記録装置の記録媒体としては、IG‐OFF後も記録を保持するように、不揮発性メモリが利用される。不揮発性メモリにはフラッシュメモリ、ＨＤＤ、ＥＥＰＲＯＭ等があるが、サイズ、安定性、コスト、及び、書き込み速度などの点からフラッシュメモリが採用されることが少なくない。
【０００４】
メーカ等が、故障の原因を特定したり不具合の発生当時の状況を解析するためには、イベント発生後の車両データだけでなく、イベント発生前の車両データも記録されている方が有効である。イベント発生前に運転者がどのような操作を行ったか、又は、車両がどのような状態であったかを把握できるためである。このため、車両データ記録装置は、イベント発生前から車両データを収集しておき、イベント発生によりフラッシュメモリに記憶させるという処理を行っている（例えば、特許文献１参照。）。
【０００５】
特許文献１には、障害物を検出すると揮発性メモリからなる記録手段に記録を開始し、自動ブレーキが検出されると、揮発性メモリから不揮発性メモリに画像などの記録内容を退避させるドライブレコーダ装置が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１‐０３９８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示されたドライブレコーダ装置の記録方法では、揮発性メモリに記録された車両データが消失するおそれがあるという問題がある。
【０００８】
図１は、従来の記録方法の問題を説明する図の一例である。車両データ記録装置はイベント発生前後の合計Ｔ秒の車両データを１つの車両データとして記録する。車両データのうちイベントが発生するまでの部分をプレトリガデータ、イベント発生後の部分をポストトリガデータという。プレトリガデータとポストトリガデータの長さは均等である必要はないがここでは例えばそれぞれがＴ／２秒であるとする。
【０００９】
イベントが発生するタイミングは不明なので、車両データ記録装置はプレトリガデータを揮発性メモリに記録する処理を繰り返している。このため、揮発性メモリには常に最新のプレトリガデータが記憶されている。
【００１０】
イベントが発生すると、車両データ記録装置はポストトリガデータの収集を開始し、揮発性メモリに記憶する。揮発性メモリにはＴ／２秒分の最も新しいプレトリガデータが記録されたままである。したがって、イベントの発生により、プレトリガデータ及びポストトリガデータが揮発性メモリに記憶される。
【００１１】
全体でＴ秒間の車両データ（プレトリガデータ及びポストトリガデータ）のバッファリングが完了すると、車両データ記録装置は車両データをフラッシュメモリに書き込む。図の１〜Ｎは、１つの車両データ又は１つの車両データのサイズを意味し、図ではＮ番目の車両データが記録されている。なお、フラッシュメモリはリングバッファになっており、古い順に上書きされる。
【００１２】
しかしながら、車両データ記録装置が揮発性メモリにバッファリングしている間に、何らかの異常が生じると、揮発性メモリ全体の車両データが全くフラッシュメモリに記録されなくなってしまう。図の例では、ポストトリガデータの半分くらいが揮発性メモリに記録されているが、その前後で異常が生じたため、揮発性メモリ全体の車両データが全くフラッシュメモリに記録されなくなる。
【００１３】
これは、車両データ記録装置が、１つの車両データの全体を揮発性メモリにバッファリングしてから、フラッシュメモリに記録するためである。異常からの復帰後に車両データ記録装置が揮発性メモリに途中までバッファリングされた車両データをフラッシュメモリに記録しようとしても、IG‐ON等により車両データはすでに消失しているおそれがある（揮発性メモリがバッテリによってバックアップされてもIG‐ON等により初期化されるおそれがある）。
【００１４】
本発明は、上記課題に鑑み、揮発性メモリの車両データを可能な限り不揮発性メモリに記憶可能な車両データ記録装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明は、予め定められた車両状況が検出されると車両データを不揮発性のリングバッファに記憶する情報処理装置において、前記車両状況を検出する車両状況検出手段と、前記車両状況検出手段が前記車両状況を検出するまで、Ｔ１秒間の第一の車両データを古いものに上書きしながら揮発性メモリに記憶し、前記車両状況検出手段が前記車両状況を検出するとＴ２秒間の第二の車両データを揮発性メモリに記憶する車両データ収集手段と、  前記車両状況検出手段が前記車両状況を検出したことを契機に、前記第一の車両データを揮発性メモリから不揮発性メモリに記録する車両データ記録手段と、を有し、前記車両データ記録手段は、前記車両データ収集手段がＴ２秒間全ての前記第二の車両データを揮発性メモリに記憶する前に、前記第二の車両データを随時、揮発性メモリから不揮発性メモリに記録するものであり、前記車両データ収集手段は、１つ以上の要素データの組をＴ２秒間に渡って複数組収集して前記第二の車両データとして揮発性メモリに記憶すると共に、アドレスを示す第１のポインタを更新し、前記車両データ記録手段は、揮発性メモリから不揮発性メモリに１組の前記要素データを記録する毎に、不揮発性メモリへの記録が完了した揮発性メモリのアドレスを示す第２のポインタを更新し、前記第１のポインタが前記第２のポインタよりも大きい間、揮発性メモリから不揮発性メモリに前記要素データを記録することを継続する、ことを特徴とする。
【発明の効果】
【００１６】
揮発性メモリの車両データを可能な限り不揮発性メモリに記憶可能な車両データ記録装置を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】従来の記録方法の問題を説明する図の一例である。
【図２】車両データ記録装置の概略的特徴を説明する図の一例である。
【図３】本実施形態の車両データ記録装置の構成図の一例である。
【図４】車両データ記録装置の機能ブロック図の一例である。
【図５】車両データ記録装置の動作手順を示すフローチャート図の一例である。
【図６】ＲＡＭのポインタＰ１を模式的に説明する図の一例である。
【図７】車両データ記録装置の動作手順を示すフローチャート図の一例である。
【図８】ＲＡＭを模式的に説明する図の一例である。
【図９】車両データ記録装置の動作手順を示すフローチャート図の一例である。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態について図面を参照しながら説明する。
図２は、車両データ記録装置の概略的特徴を説明する図の一例である。
（１）車両データ記録装置は、イベントが発生するまで、プレトリガデータを揮発性メモリに記録することを繰り返す。揮発性メモリにはＴ１秒分の最も新しいプレトリガデータが記録されている。
（２）イベントが発生すると、車両データ記録装置は、プレトリガデータのみを揮発性メモリからフラッシュメモリに記録する。
（３）その後、車両データ記録装置は、ポストトリガデータを収集して揮発性メモリに記録する。車両データ記録装置は、随時、揮発性メモリのポストトリガデータを不揮発性メモリに記録することを繰り返す。
【００１９】
すなわち、イベント発生により、プレトリガデータのみを不揮発性メモリに記録することで、異常が生じても高確率でプレトリガデータは不揮発性メモリに退避できる。また、その後、随時、ポストトリガデータを不揮発性メモリに記録することで、異常が生じるまでのポストトリガデータを可能な限り不揮発性メモリに退避できる。
【００２０】
〔構成例〕
図３は、本実施形態の車両データ記録装置１００の構成図の一例を示す。車両データ記録装置１００は、１つ以上のＥＣＵ（Electronic  Control  Unit）により構成され、各ＥＣＵは車載ネットワーク１３を介して接続されている。車載ネットワーク１３のプロトコルには、ＣＡＮ（Controller  Area  Network）、ＦｌｅｘＲａｙ、Ｌｉｎ（Local  Interconnect  Network）等があるが、本実施形態ではＣＡＮを例にして説明する。
【００２１】
送信制御ＥＣＵ１２はＣＡＮデータ（車両データ）を受信制御ＥＣＵ１１に送信するＥＣＵである。図では１つの送信制御ＥＣＵ１２しかないが、車両データを生成するＥＣＵは２台以上あってもよい。送信制御ＥＣＵ１２のハード的な構成は受信制御ＥＣＵ１１と同等なので図示は省略した。なお、受信制御ＥＣＵ１１及び送信制御ＥＣＵ１２は機能的な呼称であり、車載装置を制御するＥＣＵが受信制御ＥＣＵ１１及び送信制御ＥＣＵ１２を兼ねることができる。受信制御ＥＣＵ１１としては、例えば、メータＥＣＵ、ボディＥＣＵ、ナビＥＣＵ、通信制御ＥＣＵ等が挙げられる。送信制御ＥＣＵ１２としては、エンジンＥＣＵ、ブレーキＥＣＵ、パワステＥＣＵ、エアバッグＥＣＵ、トランスミッションＥＣＵ等が挙げられる。受信制御ＥＣＵ自身が車両データを生成することもある。
【００２２】
メータＥＣＵは、スイッチ類（例えば、ターンシグナルスイッチ、ハンドブレーキスイッチ等）の操作状態、他のＥＣＵから取得した信号（車速、エンジン回転数、ドアロック状態、シートベルト装着状態、ワイパ作動状態等）を数値や揺動する針の指針位置に変換して表示する。ボディＥＣＵは、カーテシスイッチのオン／オフを検出したり、車内灯を制御したり、乗員の操作に基づきドアロック／アンロック等を行う。ナビＥＣＵは、ＧＮＳＳ（Global  Navigation  Satellite  Systems）などを使用して車両の位置情報を検出し、周辺の道路地図と自車位置アイコンを液晶ディスプレイなどの表示装置に表示する。また、目的地までの経路を算出し右左折や車線変更などの経路案内を行う。ナビＥＣＵにはラジオやテレビの受信機能、ＣＤ，ＤＶＤ，ＢＤプレーヤなどのオーディオビジュアル機能が搭載されることがある。通信制御ＥＣＵは、携帯電話網や無線ＬＡＮ、ＷＩＭＡＸなどの無線通信網に接続して、各種のサーバと通信する。不揮発性メモリ２３に記憶された車両データの一部又は全体を外部のサーバに送信することがある。
【００２３】
エンジンＥＣＵは、アクセル開度等を検出してスロットル開度や燃料噴射量を決定し、また、クランク角に基づき点火タイミングを制御する。ブレーキＥＣＵは各車輪の回転速度からスリップを検出し、スリップしている車輪の制動力を低減することで車輪ロックを回避するＡＢＳ（Anti‐lock  Brake  System）制御や、発信時の車輪の空転を検出した場合に車輪に制動力を加えるＴＲＣ（Traction  Control）制御を行う。この他、ヨーレート、ステアリング舵角、車輪速度等に基づき、各輪の制動力を調整するＥＳＣ（Electronic  Stability  Control）制御を行う。パワステＥＣＵは運転者の操舵トルクを検出して、モータを駆動させ運転者の操舵方向にステアリングシャフトを回転させる操舵支援を行う。また、ＬＫＡ（Lane  Keeping  Assist  system）が作動している間は、カメラＥＣＵが認識した走行レーンの略中央を走行するようにステアリングシャフトを回転駆動する。エアバッグＥＣＵは、車両に働いた加減速度や横減速度を解析して対応するエアバッグ（運転席、助手席、サイドエアバッグ、カーテンエアバッグ等）を展開する。トランスミッションＥＣＵは、アクセル開度やブレーキ操作によるエンジン回転数の増減、加速度、及び、車速等に応じてトランスミッションフルードが通過するバルブを開閉してギアを切り換える。
【００２４】
受信制御ＥＣＵ１１は、ＯＳ／ＣＡＮドライバ２５、マイコン２４、ＲＡＭ２１、ＲＯＭ２２、及び、不揮発性メモリ２３を有する。ＯＳはマイコン２４の汎用的な機能を抽象化してＣＰＵが実行するプログラムがマイコン２４の機能を利用することを可能にする。また、ＯＳは、マルチタスク環境ではタスク管理したり、タスク毎にデータを保護したり、タスク間通信を行う。
【００２５】
ＣＡＮドライバは、不図示のＣＡNコントローラにＣＡＮデータの送信を要求したり、ＣＡＮコントローラが受信したＣＡＮデータからデータ部分を取り出す。すなわち、ＣＡＮドライバは、プログラムが送信要求したデータを、ＣＡＮプロトコルのフォーマットに格納し、ＣＡＮコントローラのバッファに設定する。また、ＣＡＮコントローラが予め定められたＣＡＮ  ＩＤのＣＡＮデータを受信した場合、ＣＡＮドライバはＣＡＮプロトコルのフォーマットに従いＣＡＮデータから取り出したデータをプログラムに送出する。
【００２６】
マイコン２４は、主にＣＰＵ、不図示のＲＡＭ、ＲＯＭ、ＤＭＡＣ（Direct  Memory  Access）、ＩＮＴＣ（Interrupt  Controller)を有する。また、図では、受信制御ＥＣＵ１１がマイコン２４の外部に、ＲＡＭ２１、ＲＯＭ２２、及び、不揮発性メモリ２３を有するが、これらをマイコン２４内に格納して、１つのマイコン２４として構成することもできる。ＲＡＭ２１はプログラム（車載されたアプリケーション）が使用する揮発性の記憶手段であり、車両データを一時的に記憶するために使用される。ＲＯＭ２２は車載されたプログラムを記憶する不揮発性の記憶手段である。不揮発性メモリ２３は、車両データを記憶する本実施形態のフラッシュメモリである。不揮発性メモリ２３は、消去単位であるブロック毎に論理的な順番が付与されており、リングバッファを構成している。
【００２７】
図４は、車両データ記録装置１００の機能ブロック図の一例である。図４の各機能はＲＯＭ２２に記憶されたプログラムをマイコン２４のＣＰＵが実行し、不揮発性メモリ２３や、ＤＭＡＣ及びＣＡＮコントローラなどのＩＣと協働することで実現される。
【００２８】
受信制御ＥＣＵ１１は、イベント検出部３１、車両データ収集部３２、及び、車両データ書き込み部３３を有する。イベント検出部３１は、車両データを不揮発性メモリ２３に記憶する契機となるイベントの発生を検出する。イベントには、例えば、ＩＧ‐ＯＮ、ＩＧ‐ＯＦＦ、車速が発進したこと、停止したこと、走行中に車速が所定値以上になったこと、加速度／減速度／横加速度が所定値以上になったこと、ヨーレートが所定値以上になったころ、ＡＢＳ・ＥＳＣが働いたこと、エアバッグが展開したこと、等がある。イベント検出部３１は、センサが検出した検出信号や送信制御ＥＣＵ１２が送信するＣＡＮデータに基づきイベントを検出する。また、送信制御ＥＣＵ１２からイベント発生の通知そのものを取得してもよい。イベント検出部３１は、イベントを検出すると車両データ収集部３２及び車両データ書き込み部３３にイベント通知を送出する。
【００２９】
車両データ収集部３２は、送信制御ＥＣＵ１２から車両データを収集する。記憶される車両データの内容は、車速、加速度（減速度）、アクセル開度、プレーキペダルの踏み込み量、エンジン回転数、ヨーレート、位置情報などである。さらに、カメラが撮影した車両前方、側方、後方等の画像を記録してもよい。車両データ収集部３２は、車速〜位置情報を１セットに、Ｔ秒間にわたり複数セットの車速〜位置情報を収集する。この１セットの車両データの内容を、１セットのプレトリガデータ、又は、１セットのポストトリガデータと称する。
【００３０】
車両データの内容はイベントの種類に関係なく固定である。しかし、車両データの内容はイベントの種類により変えてもよいし、車両データのサイズを変えることは困難ではない。しかし、イベント毎にデータサイズが変わってしまうと、後の解析の際にどのアドレスでイベントが切り替わったのかを判別しにくい。よって、車両データの内容がイベントの種類により変わったとしても、車両データのサイズは共通であることが好ましい。
【００３１】
また、イベントの種類により車両データのサイズを変える場合、車両データにイベントＩＤを追加することが好適である。イベントＩＤにより、1回の車両データのサイズが定まるので、不揮発性メモリ２３の車両データがどのアドレスで次の車両データに切り替わったのかを判別できる。
【００３２】
また、車両データ収集部３２は、イベント発生前のプレトリガデータとイベント発生後のポストトリガデータとをそれぞれ収集する。本実施形態では、プレトリガデータとポストトリガデータを合計でＴ秒間、収集する。また、プレトリガデータとポストトリガデータの長さはそれぞれＴ１、Ｔ２秒であるとする。
【００３３】
プレトリガデータとしては、車速、加速度（減速度）、アクセル開度やブレーキペダルの踏み込み量などが挙げられる。ポストトリガデータとしては、エンジン回転数、ヨーレート、位置情報などが挙げられる。ただし、プレトリガデータとポストトリガデータで同じデータを収集することを妨げるものではない。
【００３４】
イベントが発生するタイミングは不明なので、車両データ収集部３２はイベントの発生が検出される前から、例えば定期的に、古いものから上書きしながらＲＡＭ２１にプレトリガデータを記憶していく。このため、ＲＡＭ２１には常に最新のプレトリガデータが記憶されている。
【００３５】
イベントの発生が検出されると、車両データ収集部３２は、ポストトリガデータをＲＡＭ２１に記憶することを開始する。
【００３６】
車両データ書き込み部３３は、ＲＡＭ２１に記憶されたプレトリガデータ及びポストトリガデータを不揮発性メモリ２３に書き込む。具体的には、例えば以下のように記録する。
(i)  イベント通知を取得すると、車両データ書き込み部３３はＲＡＭ２１のプレトリガデータを全て不揮発性メモリ２３に書き込む。
(ii)  車両データ収集部３２はイベント発生後、予め決められた時間（Ｔ２秒間）、ポストトリガデータを繰り返し収集しＲＡＭ２１に記憶するので、例えば１セットのポストトリガデータをＲＡＭ２１に記録する毎に、車両データ書き込み部３３に通知する。これにより、車両データ書き込み部３３は、ＲＡＭ２１に記憶された１セットのポストトリガデータをＲＡＭ２１から不揮発性メモリ２３に記憶する。このように、ポストトリガデータは随時、ＲＡＭ２１から不揮発性メモリ２３に記録される。
【００３７】
〔動作手順〕
図５は、本実施形態の車両データ記録装置１００の動作手順を示すフローチャート図の一例である。図５の手順は、例えばＩＧ‐ＯＮ後（ハイブリッド車や電気自動車の場合はシステムの起動後）繰り返し実行される。
【００３８】
イベント検出部３１がイベントの発生を検出するまでの間、車両データ収集部３２は、イベント前のプレトリガデータを収集する（Ｓ１０）。
【００３９】
車両データ収集部３２は、１セットのプレトリガデータが収集できたか否か判定する（Ｓ２０）。１セットのプレトリガデータは例えば、車速、加速度（減速度）、アクセル開度、ブレーキペダルの踏み込み量であり、これらを１セット収集できると（ＳＳ２０のＹｅｓ）、車両データ収集部３２は１セットのプレトリガデータをＲＡＭ２１に記録する（Ｓ３０）。
【００４０】
図６（ａ）は車両データ収集部３２が保持するＲＡＭ２１のポインタＰ１を模式的に説明する図の一例である。車両データ収集部３２は、ＲＡＭ２１の予め決められた領域にＴ１秒分のプレトリガデータを記録する。図の斜線領域がプレトリガデータ領域である。プレトリガデータ領域の最初のアドレスと最後のアドレスの範囲でアドレス順に１セットのプレトリガデータを記録する。プレトリガデータ領域のサイズは有限なので、最後のアドレスまで到達すると最初のアドレスから上書きしながらプレトリガデータを記録する。プレトリガデータ領域のうち、最新のプレトリガデータが記録されたアドレスを監視するため、車両データ収集部３２はポインタＰ１を管理している。ポインタＰ１には、次にプレトリガデータを記録するアドレスが記憶されている。車両データ収集部３２はポインタＰ１のアドレスから１セットのプレトリガデータを記録する。
【００４１】
図５に戻り、車両データ収集部３２は、プレトリガデータを収集しながら、イベント検出部３１がイベントの発生を検出したか否かを判定する（Ｓ４０）。イベント検出部３１がイベントの発生を検出しない場合（Ｓ４０のＮｏ）、車両データ収集部３２はプレトリガデータの収集を継続する。
【００４２】
イベント検出部３１はイベントの発生を検出すると、車両データ収集部３２と車両データ書き込み部３３に通知する（Ｓ３００）。
【００４３】
イベント検出部３１がイベントの発生を検出した場合（Ｓ４０のＹｅｓ）、車両データ収集部３２はポストトリガデータの収集を開始する（Ｓ５０）。
【００４４】
次に、車両データ収集部３２は、１セットのポストトリガデータを収集できたか否かを判定する（Ｓ６０）。
【００４５】
１セットのポストトリガデータを収集した場合（Ｓ６０のＹｅｓ）、車両データ収集部３２はＲＡＭ２１のポストトリガデータ領域に、１セットのポストトリガデータを記録する（Ｓ７０）。
【００４６】
図６（ｂ）はポストトリガデータ領域への記録を模式的に示す図の一例である。プレトリガデータ領域に続いて、Ｔ２秒分のポストトリガデータ領域が確保されている。車両データ収集部３２は１セットずつポストトリガデータをＲＡＭ２１に記憶する。
【００４７】
なお、Ｔ２秒分のポストトリガデータが記録されるＲＡＭ２１の領域は予め定められていなくてもよい。この場合、１セットのポストトリガデータがＲＡＭ２１に記録される毎に、車両データ書き込み部３３がＲＡＭ２１から不揮発性メモリ２３に１セットのポストトリガデータを記憶する。ＲＡＭ２１の１セットのポストトリガデータは、車両データ書き込み部３３が不揮発性メモリ２３に書き込むと、車両データ収集部３２により上書きされる。したがって、このデータ記録方法ではＲＡＭ２１の領域を節約できるという効果がある。
【００４８】
図５に戻り、車両データ収集部３２は、確実にポストトリガデータを記録するため、車両データ書き込み部３３からポストトリガデータの要求通知を取得したか否かを判定する（Ｓ８０）。要求通知は、車両データ書き込み部３３がポストトリガデータの書き込み準備ができていることを車両データ収集部３２に通知するものである。
【００４９】
車両データ収集部３２は要求通知を確認した場合にのみ（Ｓ８０のＹｅｓ）、車両データ書き込み部３３に記録を要求する（Ｓ９０）。
【００５０】
車両データ収集部３２はイベント発生からＴ２秒が経過したか否かを判定し（Ｓ１００）、Ｔ２秒が経過するまではステップＳ５０からの処理を繰り返す。イベント発生からＴ２秒が経過した場合（Ｓ１００のＹｅｓ）、図５の処理は終了する。
【００５１】
一方、車両データ書き込み部３３は、イベント検出部３１がイベントの発生を検出するまで待機し、イベント通知を取得したか否かを判定している（Ｓ２１０）。
【００５２】
車両データ書き込み部３３は、イベント通知を取得すると（Ｓ２１０のＹｅｓ）、Ｔ１秒分のプレトリガデータをＲＡＭ２１から不揮発性メモリ２３に記録する（Ｓ２２０）。
【００５３】
具体的には、車両データ収集部３２からポインタＰ１を取得する。ポインタＰ１には次にプレトリガデータを記録するＲＡＭ２１のアドレス（＝最も古いプレトリガデータが記録されているＲＡＭ２１のアドレス）が記憶されている。このため、図６（ａ）に示すように、ポインタＰ１のアドレスからプレトリガデータ領域の最後のアドレスまでのプレトリガデータ、を先に読み出し、不揮発性メモリ２３のアドレス順に不揮発性メモリ２３に記録する。次に、プレトリガデータ領域の最初のアドレスからポインタＰ１が示すアドレスの１つ前のアドレスまでのプレトリガデータを読み出し、不揮発性メモリ２３のアドレス順に不揮発性メモリ２３に記録する。こうすることで、Ｔ１秒間のプレトリガデータを時系列に読み出し、時系列に不揮発メモリ２３に記憶することができる。
【００５４】
なお、車両データ書き込み部３３がＲＡＭ２１からプレトリガデータを読み出す際、ポインタＰ１が示すアドレスの１つ前のアドレスからプレトリガデータ領域の最初のアドレスまで、次いで、プレトリガデータ領域の最後のアドレスからポインタＰ１が示すアドレスまで、プレトリガデータを時系列に遡って読み出してもよい。この場合、最も最後に読み出した１セットのプレトリガデータ（最も古い１セットのプレトリガデータ）から順番に、不揮発性メモリ２３のアドレス順に不揮発性メモリ２３に記録する。
【００５５】
なお、車両データ書き込み部３３は、図６（ａ）に示すように、不揮発性メモリ２３において次にプレトリガデータ又はポストトリガデータを記憶すべきポインタＰ２を管理している。このため、Ｔ１秒間のプレトリガデータを不揮発性メモリ２３に記録するとポインタＰ２を更新する。また、プレトリガデータの記録完了により車両データ収集部３２にポストトリガデータを要求しておく。
【００５６】
次に、車両データ書き込み部３３は、車両データ収集部３２から記録要求を取得したか否かを判定する（Ｓ２３０）。
【００５７】
記録要求により記録すべきポストトリガデータがＲＡＭ２１に記憶されていることを検出して、車両データ書き込み部３３は、車両データ収集部３２からポインタＰ１を取得する。図６（ｂ）に示すように、ポインタＰ１のアドレスの１つ前のアドレスから、１セットのポストトリガデータを読み出し、ポインタＰ２が示す不揮発性メモリ２３のアドレスに記録する（Ｓ２４０）。
【００５８】
車両データ書き込み部３３は、１セットのプレトリガデータを不揮発性メモリ２３に記録するとポインタＰ２を更新する。
【００５９】
車両データ書き込み部３３は１セットのポストトリガデータを不揮発性メモリ２３に記録すると、車両データ収集部３２に次のポストトリガデータを要求する（Ｓ２５０）。
【００６０】
以上説明したように、本実施形態の車両データ記録装置１００は、イベント発生の直後にＲＡＭ２１のプレトリガデータを不揮発性メモリ２３に記録するので、異常が生じてもプレトリガデータを不揮発性メモリ２３に記録する可能性を高めることができる。また、イベント発生の後は、１セットのポストトリガデータがＲＡＭ２１に記憶される毎に、不揮発性メモリ２３に記録するので、異常が生じても可能な限りポストトリガデータを不揮発性メモリ２３に記録することができる。
【００６１】
また、図では１セットのポストトリガデータ単位で記録したが、ステップＳ６０の判定で２セット以上のポストトリガデータを収集できたことを判定条件とすれば、２セット以上のポストトリガデータ単位で記録することができる。
【００６２】
＜動作手順の変形例１＞
図５，６では、車両データ収集部３２と車両データ書き込み部３３が同期を取りながら１セットのポストトリガデータを不揮発性メモリ２３に記録していた。しかし、車両データ収集部３２と車両データ書き込み部３３が同期を取りながら処理するとどちらかがボトルネックとなり記録に時間がかかるおそれがある。
【００６３】
そこで、車両データ収集部３２と車両データ書き込み部３３が非同期に１セットのポストトリガデータを不揮発性メモリ２３に記録する車両データ記録装置１００について説明する。
【００６４】
図７は、本実施形態の車両データ記録装置１００の動作手順を示すフローチャート図の一例である。図７の手順は、Ｓ５０までの処理は図５と同様である。
【００６５】
イベントが発生し、ポストトリガデータの収集を開始すると（Ｓ５０）、車両データ収集部３２は、１セットのポストトリガデータを収集できたか否かを判定する（Ｓ６０）。
【００６６】
１セットのポストトリガデータを収集した場合（Ｓ６０のＹｅｓ）、車両データ収集部３２はＲＡＭ２１に１セットのポストトリガデータを記録する（Ｓ７０）。
【００６７】
図８はＲＡＭ２１を模式的に説明する図の一例である。図８では、ＲＡＭ２１にＴ２秒分のポストトリガデータが記録される領域が予め定められている。図７の手順では、最大で、Ｔ２秒分のポストトリガデータがＲＡＭ２１に記録される可能性があるためである。車両データ収集部３２は、次に１セットのポストトリガデータを記憶するＲＡＭ２１のアドレスをポインタＰ１に格納することでＰ１を更新する（Ｓ７２）。
【００６８】
車両データ収集部３２はイベント発生からＴ２秒が経過したか否かを判定し（Ｓ１１０）、Ｔ２秒が経過するまではステップＳ５０からの処理を繰り返す。イベント発生からＴ２秒が経過した場合（Ｓ１１０のＹｅｓ）、図７の処理は終了する。
【００６９】
一方、車両データ書き込み部３３は、イベント検出部３１がイベントの発生を検出するまで待機し、イベント通知を取得したか否かを判定している（Ｓ２１０）。
【００７０】
車両データ書き込み部３３は、イベント通知を取得すると（Ｓ２１０のＹｅｓ）、Ｔ１秒分のプレトリガデータをＲＡＭ２１から不揮発性メモリ２３に記録する（Ｓ２２０）。記録方法は、図５と同様である。
【００７１】
そして、図７の手順では車両データ書き込み部３３は車両データ収集部３２からの記録要求の通知に関係なく、ＲＡＭ２１から不揮発性メモリ２３へポストトリガデータを記録する。車両データ書き込み部３３は、図８に示すポインタＰ３を管理している。ポインタＰ３には、車両データ書き込み部３３が、次にＲＡＭ２１から不揮発性メモリ２３に記録する１セットのポストトリガデータのアドレス（最後にＲＡＭ２１から不揮発性メモリ２３に記録された１セットのポストトリガデータのアドレスの次のアドレス）が格納される。
【００７２】
したがって、ＲＡＭ２１のアドレスの昇順にポストトリガデータが記憶されるとすると、車両データ書き込み部３３は、
Ｐ１＞Ｐ３の場合：車両データ書き込み部３３が不揮発性メモリ２３に記録していないポストトリガデータがＲＡＭ２１にある
Ｐ１＝Ｐ３の場合：車両データ書き込み部３３はＲＡＭ２１の全てのポストトリガデータを不揮発性メモリ２３に記録した
と判定できる。なお、Ｐ１＜Ｐ３となることは生じないとしている。
【００７３】
車両データ書き込み部３３はポインタＰ１，Ｐ３の関係を利用して、Ｐ１＞Ｐ３か否かを判定する（Ｓ２３５）。
【００７４】
Ｐ１＞Ｐ３の場合（Ｓ２３５のＹｅｓ）、車両データ書き込み部３３は、ポインタＰ３が示すＲＡＭ２１のアドレスの１セットのポストトリガデータを不揮発性メモリ２３に記録する（Ｓ２４０）。
【００７５】
車両データ書き込み部３３はＲＡＭ２１のポインタＰ３を更新する（Ｓ２４２）。更新によりポインタＰ３がポインタＰ１に追いついた可能性があるので、車両データ書き込み部３３はステップＳ２３５から処理を繰り返す。
【００７６】
このように図７の手順では、車両データ収集部３２と車両データ書き込み部３３が非同期にポストトリガデータのバッファリングと不揮発性メモリ２３への記録を行うので、処理を高速化できる。
【００７７】
＜動作手順の変形例２＞
図５では、車両データ収集部３２が車両データ書き込み部３３から要求を待って、記録要求を車両データ書き込み部３３に通知した。しかし、車両データ書き込み部３３に不具合が生じる可能性は十分に小さいので、車両データ書き込み部３３から要求を待たずに処理を高速化することが好ましい場合もある。
【００７８】
図９は、本実施形態の車両データ記録装置１００の動作手順を示すフローチャート図の一例である。図９の手順は、Ｓ８０及びＳ２５０がない点が図５の手順と異なっている。
【００７９】
すなわち、車両データ収集部３２はポストトリガデータを収集しＲＡＭ２１に記録すると（Ｓ７０）、その都度、記録要求を車両データ書き込み部３３に通知する（Ｓ９０）。車両データ収集部３２はＴ２秒が経過するまで、１セットのポストトリガデータのＲＡＭ２１への記録（Ｓ７０）、記録要求の通知（Ｓ９０）を繰り返す。なお、図９においても、車両データ収集部３２は複数セット毎に、記録要求を車両データ書き込み部３３に通知することができる。
【００８０】
一方、車両データ書き込み部３３は、車両データ収集部３２から記録要求を取得する毎に（Ｓ２３０のＹｅｓ）、車両データ収集部３２からポインタＰ１を取得し、ポインタＰ２が示す不揮発性メモリ２３のアドレスに記録する（Ｓ２４０）。
【００８１】
この後、車両データ書き込み部３３は、次のポストトリガデータを車両データ収集部３２に要求しないが、車両データ収集部３２から随時、記録要求を取得することができる。
【００８２】
なお、図９の手順では、車両データ収集部３２によるポインタＰ１の更新に、車両データ書き込み部３３の書き込みが間に合わないおそれがある。しかし、車両データ書き込み部３３は、ポストトリガデータの書き込みの開始時に１度、ポインタＰ１を取得すれば、次の１セットのポストトリガデータが記憶されているＲＡＭ２１のアドレスを計算できる。車両データ書き込み部３３は、記録要求を取得した回数をカウントしておき、カウントした回数だけＲＡＭ２１のアドレスを計算して、ＲＡＭ２１から不揮発性メモリ２３にポストトリガデータを記録すればよい。こうすることで、ポインタＰ１の更新に、車両データ書き込み部３３の書き込みが間に合わなくても、ＲＡＭ２１のポストトリガデータと不揮発性メモリ２３への記録の整合性を保つことができる。また、車両データ収集部３２と車両データ書き込み部３３が同期を取らないので、高速に車両データを退避できる。
【００８３】
したがって、図９のような手順では、車両データ収集部３２は高速に車両データを収集しながら、車両データ書き込み部３３も高速に車両データを不揮発性メモリに記録することができる。
【符号の説明】
【００８４】
１１      受信制御ＥＣＵ
１２      送信制御ＥＣＵ
１３      車載ネットワーク
２１      ＲＡＭ
２２      ＲＯＭ
２３      不揮発メモリ
２４      マイコン
２５      ＯＳ／ＣＡＮドライバ
３１      イベント検出部
３２      車両データ収集部
３３      車両データ書き込み部
１００    車両データ記録装置
【図１】
0005696636.tif 000002
【図２】
0005696636.tif 000003
【図３】
0005696636.tif 000004
【図４】
0005696636.tif 000005
【図５】
0005696636.tif 000006
【図６】
0005696636.tif 000007
【図７】
0005696636.tif 000008
【図８】
0005696636.tif 000009
【図９】
0005696636.tif 000010