動作情報管理装置、動作情報管理方法及び動作情報管理プログラム
【課題】一時記憶部から外部記憶媒体へ動作情報を書き込み、動作情報を容易に取得する技術を提供する。
【解決手段】管理対象の機器から当該機器の動作に関する動作情報を取得し、前記機器の動作に関する動作情報を一時記憶部に記憶し、外部記憶媒体の当該機器の動作に関する動作領域に対して、前記一時記憶部内の当該機器の動作に関する動作情報を書き込む動作情報管理方法であって、前記外部記憶媒体の記憶領域のうち、前記動作領域を不可視領域、当該不可視領域以外を可視領域とする。
【解決手段】管理対象の機器から当該機器の動作に関する動作情報を取得し、前記機器の動作に関する動作情報を一時記憶部に記憶し、外部記憶媒体の当該機器の動作に関する動作領域に対して、前記一時記憶部内の当該機器の動作に関する動作情報を書き込む動作情報管理方法であって、前記外部記憶媒体の記憶領域のうち、前記動作領域を不可視領域、当該不可視領域以外を可視領域とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機器の動作情報を取得する技術に関する。
【背景技術】
【0002】
近年、車両に搭載される電子機器(以下車載器)は、音楽再生だけでなく、動画再生、ナビゲーション、通信等、多種の機能を搭載している。
【0003】
このように多機能化すると、構成が複雑化し、種々の原因で動作不具合を起こすことがあるので、この動作不具合の原因究明が難しくなっている。
【0004】
従来、エラー履歴や動作履歴等、動作不具合(エラー)発生時の製品動作を解析する情報(動作情報)をエラー情報として不揮発性メモリに保存し、このエラー情報に基づいて原因究明を行っていた。
【0005】
しかし、内蔵の不揮発性メモリは、コストや小型化のために記憶容量が小さく十分ではなかった。例えば、動作履歴を記録できる時間が、数分程度の場合もあり、長時間記録できるものではなかった。
【0006】
また、このエラー情報を閲覧するためには、当該車載器にPC(パーソナルコンピュー
タ)を接続して不揮発性メモリからエラー情報を読み出したり、SDカード等のリムーバ
ブル記憶媒体に書き出してPCで読み出したりしていた。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2009−186267号公報
【特許文献2】特開2001−236537号公報
【特許文献3】特開2008−269498号公報
【特許文献4】特開平7−210338号公報
【特許文献5】国際公開第2007/052535号公報
【特許文献6】特開2001−229423号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
動作不具合の原因を解析するために、エラー情報を随時リムーバブル記憶媒体(外部記憶媒体)に書き出すとしても、エラー情報には種々の情報が含まれるため、セキュリティ等の観点から誰もが自由にアクセスできるようにするのは望ましくない。このためエラー情報を外部記憶媒体に書き出す機能はメンテナンス者等が行うこととし、動作不具合を解明する場合には、メンテナンス者が現場に赴いて不揮発性メモリ内のエラー情報を外部記憶媒体に移して持ち帰る運用が採られていた。
【0009】
このためエラー情報を外部記憶媒体に書き出すためにメンテナンス者が現地に行く手間が生じてしまい、エラー情報を容易に取得できないという問題があった。
【0010】
また、メンテナンス者が操作したときにだけエラー情報を書き出す場合、内蔵の一時記憶部の記憶容量以上のエラー情報を取得することができないが、車載器は、エラー情報を記憶する内部の不揮発性メモリの記憶容量が小さいので、この場合、十分に動作履歴を記憶できないという問題点があった。特に、多機能化に伴い、記憶すべき動作履歴が増加し
ている。また、デットロック等、他の動作との組み合わせで発生するエラーは、長時間の動作履歴を検証する必要があった。
【0011】
従って、多くのエラー情報を記憶できる構成とすることが望まれるが、不具合は、発売前にほぼ取り除かれ、車載器が市場に出てからこの構成を利用することは非常に稀であるので、エラー情報を取得するために大容量の不揮発性メモリを全ての車載器に内蔵させるのは無駄である。
【0012】
このため、内蔵の不揮発性メモリに記憶されたエラー情報をメンテナンス者が操作したときだけではなく、随時外部記憶媒体に書き出すことで、内蔵の不揮発性メモリの記憶容量を増やさずに多くのエラー情報を記録できるようにすることが考えられる。
【0013】
しかし、エラー情報を随時外部記憶媒体に書き出すこととすると、書き込み中に外部記憶媒体を抜いた場合や、クランキング等で電圧が変動した場合に、外部記憶媒体が壊れてしまう可能性があった。更に、エラー情報を随時外部記憶媒体に書き出すためには、常に外部記憶媒体が車載器にセットされている必要があり、エラー情報を専用の外部記憶媒体に書き出す構成とすると、エラー情報を書き出すためだけに外部記憶媒体の読み書き部(リーダ・ライタ)を備えなければならず、装置構成が冗長になってしまう。このため、地図データや音楽データ等を記憶する外部記憶媒体に、エラー情報を書き込む構成が望ましいが、地図データや音楽データ等とエラー情報とが混在していると、地図データや音楽データ等を扱う際に誤ってエラー情報を変更(例えば削除)してしまわないように注意を払う必要があり、煩わしいという問題があった。
【0014】
そこで本発明は、一時記憶部から外部記憶媒体へ動作情報を書き込み、動作情報を容易に取得する技術の提供を課題とする。
【課題を解決するための手段】
【0015】
上記課題を解決するため、動作情報管理方法は、
管理対象の機器から当該機器の動作に関する動作情報を取得するステップと、
前記機器の動作に関する動作情報を一時記憶部に記憶するステップと、
外部記憶媒体の当該機器の動作に関する動作領域に対して、前記一時記憶部内の当該機器の動作に関する動作情報を書き込むステップと、を含み、
前記外部記憶媒体の記憶領域のうち、前記動作領域を不可視領域、当該不可視領域以外を可視領域とする。
【0016】
前記動作情報管理方法は、前記不可視領域が、前記可視領域と異なったフォーマットの領域であっても良い。
【0017】
前記動作情報管理方法は、所定の条件を満たした場合に、前記一時記憶部内の前記動作情報を前記外部記憶媒体の前記不可視領域に書き込んでも良い。
【0018】
前記動作情報管理方法は、前記管理対象の機器が、車両用機器であり、前記所定の条件が前記車両の走行状態に応じた条件であっても良い。
【0019】
前記動作情報管理方法は、前記管理対象の機器から取得した動作情報のうち所定の情報を抽出するステップを更に含み、抽出した動作情報を前記一時記憶部に記憶させても良い。
【0020】
また、本発明の動作情報管理装置は、
管理対象の機器から当該機器の動作に関する動作情報を取得する動作情報取得部と、
前記機器の動作に関する動作情報を記憶する一時記憶部と、
外部記憶媒体の当該機器の動作に関する動作領域に対して、前記一時記憶部内の当該機器の動作に関する動作情報を書き込む書き込み部と、
を備え、
前記外部記憶媒体の記憶領域のうち、前記動作領域を不可視領域、当該不可視領域以外を可視領域とする。
【0021】
前記動作情報管理装置は、前記不可視領域が、前記可視領域と異なったフォーマットの領域であっても良い。
【0022】
前記動作情報管理装置は、所定の条件を満たした場合に、前記一時記憶部内の前記動作情報を前記外部記憶媒体の前記不可視領域に書き込んでも良い。
【0023】
前記動作情報管理装置は、前記管理対象の機器が、車両用機器であり、前記所定の条件が前記車両の走行状態に応じた条件であっても良い。
【0024】
前記動作情報管理装置は、前記管理対象の機器から取得した動作情報のうち所定の情報を抽出し、抽出した動作情報を前記一時記憶部に記憶させても良い。
【0025】
また、上記課題を解決するため、本発明は、上記動作情報管理方法をコンピュータに実行させるための動作情報管理プログラムであっても良い。更に、この動作情報管理プログラムをコンピュータが読み取り可能な記録媒体に記録しても良い。コンピュータに、この記録媒体の動作情報管理プログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【0026】
ここで、コンピュータが読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体の内コンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、8mmテープ、メモリカード等がある。
【0027】
また、コンピュータに固定された記録媒体としてハードディスクやROM(リードオンリーメモリ)等がある。
【発明の効果】
【0028】
本発明によれば、一時記憶部から外部記憶媒体へ動作情報を書き込み、動作情報を容易に取得する技術を提供できる。
【図面の簡単な説明】
【0029】
【図1】動作情報管理装置を採用したAVN一体機の構成を示すブロック図
【図2】動作情報管理装置のハードウェア構成図
【図3】動作情報管理装置の機能ブロック図
【図4】動作情報管理方法の説明図
【図5】動作情報管理方法の説明図
【図6】外部記憶媒体90の接続部を覆うカバーの状態を示す図
【図7】変形例1の動作情報管理方法の説明図
【図8】動作情報を抽出する処理の説明図
【図9】変形例2の動作情報管理方法の説明図
【図10】変形例2の動作情報管理方法の説明図
【図11】変形例3の動作情報管理方法の説明図
【図12】変形例4の動作情報管理方法の説明図
【発明を実施するための形態】
【0030】
〈全体構成〉
まず、本発明の動作情報管理装置を備えた車載用オーディオ・ビジュアル・ナビゲーション一体機(以降、AVN一体機と称する)について説明する。なお、管理対象の機器は、AVN一体機自体である。
【0031】
図1は、AVN一体機の構成を示すブロック図である。
【0032】
100は、AVN一体機の各部或いは接続された外部機器からの信号、また使用者の操作に基づく各操作部からの操作指示信号等の入力を受け、それら信号に基づきAVN一体機の各部、或いは外部機器を統括的に制御する制御部で、例えばマイクロコンピュータ(マイコン)により構成され、ROM等のメモリに記憶されたプログラムに従い動作する。
【0033】
101は、外部記憶媒体90に記録された音楽、画像等のデータの再生や、ナビゲーションでの地図表示や経路探索等に用いられる地図データの読込み、また外部記憶媒体90に対するデータの書き込みを行なう外部媒体記録再生部(書き込み部を含む)で、外部記憶媒体90に対応したインターフェイス、データバッファメモリ、音楽・画像データのデコーダ等が内蔵されている。そして、制御部100の指令により外部媒体記録再生部101が外部記憶媒体90から読み込んだ音楽データ・画像データはデコーダで音声信号・画像信号に復号されて分配回路108を介して、音声・画像として再生される。
【0034】
また、制御部100の指令により外部媒体記録再生部101は外部記憶媒体90から音楽データ・画像データ以外の各種データ、例えば、地図データ、プログラムのバージョンアップデータを読込み、制御部100はこれら読み込んだデータを当該データに応じた用途、例えば、後述のナビゲーション部130での地図表示や経路探索、プログラムのバージョンアップ、各種データの更新等に用いる。外部記憶媒体90としては、例えばUSBメモリ、SDメモリカード(商標:SDカードアソシエーションによって規定されているSD規格に沿ったメモリーカード)等を適用でき、この場合インターフェイスは対応したインターフェイス、つまりUSBメモリインターフェイス、SDメモリカードインターフェイスを適用することになる。
【0035】
尚、本実施例の装置では、USBメモリとSDメモリカードの両方を搭載できるように、それぞれに対応するインターフェイス、コネクタ、バッファメモリ等が設けられており、USBメモリには音楽データや画像データをユーザがパーソナルコンピュータやデータ書き込み機能のあるオーディオ機器により自由に読み書きできる領域が設けられており、その領域に音楽データや画像データが記録されている。またSDメモリカードには地図データを読み書きできる領域が設けられておりナビゲーションに用いられる地図データが記録されている。尚、SDメモリカードに記録された地図データについては、新しくできた道路等に対応するため、パーソナルコンピュータ等を用いて新しい地図データへの書き換えが可能となっている。
【0036】
102は、アンテナにより受信された放送波から、特定の周波数の放送波を選択受信し、復調して当該放送の音声信号を出力するラジオ受信部であり、同調回路、復調・復号回路等により構成される。ラジオ受信部102は制御部100からの制御信号により、そのオン/オフ、受信周波数の選択(選局)等の各種動作が制御される。
【0037】
103は、セレクタ113を介して受信した放送波から、特定の周波数の放送波を選択受信し、復調して当該放送の音声信号および画像信号を出力するテレビジョン(TV)受
信部で、同調回路、復調回路(データ取得部)、フレーム管理回路、復号回路等により構成される。TV受信部103は制御部100からの制御信号により、そのオン/オフ、受信周波数の選択(選局)等の各種動作が制御される。
【0038】
104は、ディスクに記憶されているデータをピックアップにより読込み、読込んだデータに基づく音声信号、画像信号(例えばDVDやBD(Blu-ray Disc)の場合)の出力を行
うディスク再生部で、光学ピックアップ(データ取得部)、ピックアップ・ディスク駆動機構、ピックアップ・ディスク駆動機構の制御回路、フレーム管理回路、復号回路等により構成される。そして、ディスク再生部104は制御部100からの制御信号により、そのオン/オフ、読込み位置の指定等の各種動作が制御される。
【0039】
105は、磁気記録媒体であるハードディスク(HD)にMP3ファイル等の音楽データやJPEGファイル等の画像データ、MPEG4等の動画データ等が記憶され、記憶された各種データから所望のデータを読み出して出力するHD再生部であり、HDドライブ、当該HDドライブからデータを読み取るデータ取得回路、フレーム管理回路、復号回路等により構成される。そして、HD再生部105は制御部100からの制御信号により、そのオン/オフ、読み出すデータの選択等の各種動作が制御される。
【0040】
130は、地図上に自車位置や目的地までの経路を表示したり、交差点等で音声等により右左折等の進行方向案内を行い、また後述するVICS情報受信部106から交通情報、GPS情報受信部107から自車位置情報を入手して表示したりして、目的地までの経路案内を行うナビゲーション部で、ナビゲーションの為の各種演算処理を行うCPU、各種処理のためにデータを記憶するRAM等のメモリ等から構成され、制御部100からの制御信号に従って、そのオン/オフ、各種動作が制御される。
【0041】
また、ナビゲーション部130は、所謂半導体メモリ地図タイプのナビゲーションで、コネクタに接続された外部記憶媒体90から地図データを読み取り、ナビゲーション機能における地図表示、経路探索処理に用いる。なお、外部記憶媒体90としては、SDメモリカード等と言ったフラッシュメモリ等の不揮発性メモリが用いられる。またナビゲーション部130は、制御部100の指令により外部記憶媒体90に地図データ以外の各種データの読み書きもできるように、データの読み書きができるインターフェイスが搭載されている。
【0042】
106は、交通情報通信システム(VICS(登録商標))に係る交通情報を受信し、受信した交通情報を出力するVICS情報受信部で、交通情報通信システムからのデータを受信する受信機(FM受信機,電波ビーコン受信機,光ビーコン受信機)、受信したデータを復号する復号回路等から構成される。107は、GPS(登録商標)衛星からのGPS信号に基づき自車位置を検出し、検出した現在地情報を出力するGPS情報受信部で、GPS信号を受信するGPS信号受信回路、受信したGPS信号に基づき自車位置を算出する演算部から構成される。
【0043】
119は、車両の周囲を撮影し、動画データ(映像データ及び音声データ)を外部音声/映像入力部118を介して入力するカメラである。カメラ119で撮影した映像データは、分配回路108、画像調整回路109、画像出力部112を介して表示部113に表示され、駐車アシスト等に利用される。また、カメラ119で撮影した動画データは、ドライブレコーダ等のために分配回路108を介してHD再生部105内のHDドライブ或いはメモリ115に記録されても良い。
【0044】
108は、制御部100の制御信号により、出力することが指定された各種ソース(外部記憶媒体再生部101、ラジオ受信部102、TV受信部103、ディスク再生部10
4、HD再生部105及びナビゲーション部130)の音声信号と映像信号を音声調整回路110及び画像調整回路109に出力する分配回路であり、リレーあるいはスイッチングトランジスタ等の電子回路で構成されたスイッチ群で構成される。
【0045】
109は、制御部100の制御信号により、入力された画像信号に対し、輝度や色調、コントラストなどを調整し、調整した各画像信号を出力する画像調整回路で、画像データを記憶するメモリ、画像データを演算処理するデジタルシグナルプロセサ等の演算回路等により構成される。
【0046】
110は、制御部100の制御信号により、入力された音声信号に対し、音量、音声を調整し、調整した音声信号を出力する音声調整回路で、音声データを記憶するメモリ、画像データを演算処理するデジタルシグナルプロセサ等の演算回路、トランジスタ・抵抗・コンデンサ・コイル等により構成される増幅・減衰回路や共振回路等により構成される。111は、音声調整回路110により入力された音声信号を、音声出力するスピーカである。
【0047】
112は、画像調整部から入力された映像信号と、制御部100から表示部113に表示させる表示画像信号とを入力して画像合成等の処理を施し、当該処理を施した画像信号に基づき表示部113を駆動する画像出力部で、例えば、演算処理により画像処理を行なう画像用に特化された演算処理回路である画像ASIC、画像処理・出力用に画像データを記憶するビデオメモリ、画像出力用ビデオメモリに記憶された画像データに基づき表示部113を駆動する画像駆動回路等で構成される。
【0048】
表示部113は、タッチパネル131、液晶パネル132、及びバックライト133を備える。画像出力部112からの映像信号によって液晶パネル132に映像が描画され、これをバックライト133が背後から照明することで動画等の映像が表示される。また、表示部113は、操作メニュー等を液晶パネル132で表示し、ユーザがこの操作メニューに触れて選択する操作を液晶パネル132に重畳させたタッチパネル131で検出し、検出した操作信号を制御部100に入力する。
【0049】
尚、表示部113には、液晶パネル以外のフラットパネルディスレイ、例えば有機ELディスプレイパネル、プラズマディスプレイパネル、冷陰極フラットパネルディスプレイ等を用いることもできる。
【0050】
114は、装置の使用者が各種操作を行うため操作部で、例えば、押釦スイッチ、回転操作スイッチ、ジョイスティック等により構成される。115は、各種データや制御プログラムを記憶するメモリ(記憶媒体)で、例えばHDD(Hard Disk Drive)や、書換え
可能なフラッシュメモリ等により構成される。
【0051】
116は、自動車のインストルメントパネル等に設置されたAVN一体機本体から離れた場所、例えば運転席と助手席間のひじ掛け付近や、ステアリングホイールに設置され、使用者による入力操作の操作状態を出力する遠隔操作部(リモコン)で、本例では操作部の回転操作、傾動操作、押圧操作を検出する。尚、このような遠隔操作部は、回転操作量・方向に応じた信号を出力するロータリエンコーダや、感圧センサ、傾動操作方向に応じた信号を出力するジョイスティック等の傾動センサ、押圧操作によりオンオフ状態が変化する押圧スイッチにより構成される。リモコン116で検出した操作信号は、リモコン送受信部117に送られ、リモコン送受信部117を介して制御部100に入力される。
【0052】
120は、ETC(登録商標:Electronic Toll Collection)システムにおいて、ETCレーン側の端末と通信して料金を自動で支払うETC車載器である。
【0053】
121は、他の装置との通信を行う通信ユニットで、例えば、無線LANやWiMAX(Worldwide Interoperability for Microwave Access)アクセス網、携帯電話回線を介し
て通信を行う。
【0054】
〈動作情報管理装置の構成〉
上記外部媒体記録再生部101、制御部100は本実施形態の動作情報管理装置10の一部としても機能する。
【0055】
図2は、本実施形態の動作情報管理装置の概略構成図を示す。本実施形態の動作情報管理装置10としての制御部100は、CPU1、メインメモリ2、入出力インターフェイス3、補助記憶装置6を備える。
【0056】
メインメモリ2は、CPU1からの高速な読み書きを可能にするため揮発性のメモリ、例えばDRAMを採用した主記憶装置である。
【0057】
入出力インターフェイス3は、AVN一体機の各部と制御部100との間で情報を入出力するためのインターフェイスである。
【0058】
補助記憶装置6は、データやプログラムを記憶する不揮発性の書き換え可能な記憶手段、例えばフラッシュメモリ等である。なお、本実施形態では不揮発性メモリであり、以下不揮発性メモリ6と称する。
【0059】
CPU1は、プログラムに従って処理を実行する演算処理部であり、本実施形態では動作情報管理方法を実行するためのプログラム(動作情報管理プログラム)に従って、エラー検出部や、動作情報取得部、書き込み判定部、書き込み制御部、フォーマット制御部の機能等を実現する。図3は、動作情報管理方法を実行する際の機能ブロック図である。
【0060】
エラー検出部81としては、不具合(エラー)の発生を検出して動作情報取得部82に通知する。エラー検出部81は、例えばCPU例外といったCPU1が命令の実行を継続できないようなエラー(致命的エラー)や、通信エラー等のようにアプリケーションソフトウェアが規定の処理を継続できないようなエラーを検出する。
【0061】
動作情報取得部82としては、エラーの発生を通知された場合に、管理対象の機器から動作情報を取得し、一時記憶部に記憶させる。一時記憶部は、例えば不揮発性メモリ6である。また、一時記憶部は、不揮発性メモリ6に限らずメインメモリ2であっても良い。動作情報取得部82は、例えば取得した動作情報を不揮発性メモリ6のバッファとして確保したエリアへ書き込み、このインデックスをバッファ管理エリアに書き込む。そしてバッファが一杯になった場合、動作情報取得部82は、インデックスを参照し、古い動作情報を順次上書きして新しい動作情報を書き込む。
【0062】
なお、管理対象の機器とは、例えばカメラ119、外部音声/映像入力部118、分配回路108、外部媒体記録再生部101、ラジオ受信部102、TV受信部103、セレクタ113、ディスク再生部104、HD再生部105、ナビゲーション部130、VICS情報受信部106、GPS情報受信部107、メモリ115、操作部114、ETC車載器120、制御部自体100、リモコン送受信部117、通信ユニット121、音声調整回路110、画像調整回路109、画像出力部112、表示部113といったAVN一体機の各部である。これに限らず、管理対象の機器は、動作情報を制御部100に送信可能な機器であれば良い。また、管理対象の機器は、動作情報取得部で動作情報を取得できればAVN一体機以外の機器であっても良い。
【0063】
書き込み判定部83は、所定の書き込み条件を満たしているか否かを判定する。ここで所定の書き込み条件とは、書き込み制御部84が外部記憶媒体90へ動作情報を書き込む場合に、書き込み失敗の可能性が低い条件をいう。例えば、不揮発性メモリの抜き取りがない状態や、電源電圧の低下の可能性が低い状態と判断できる条件である。なお、書き込み条件の具体例については後述する。
【0064】
書き込み制御部84は、外部媒体記録再生部(書き込み部)101を制御し、可視領域及び不可視領域を有する外部記憶媒体90の不可視領域に対し、前記不揮発性メモリ(一時記憶部)6内の動作情報を所定の条件で書き込みさせる。
【0065】
フォーマット制御部は、外部媒体記録再生部101にUSBメモリやSDメモリカード等の外部記憶媒体90がセットされ、ユーザからフォーマッティングの指示があった場合に、外部媒体記録再生部101を制御し、外部記憶媒体90に複数のパーティションを設け、各パーティションを所定のフォーマットでフォーマッティングし、可視領域と不可視領域を作成する。
【0066】
図3の例では、外部記憶媒体90の記憶領域を2つのパーティションに分け、一方のパーティション(パーティション0)を、パソコンで一般的に使用されている形式、例えばFAT(File Allocation Table)32でフォーマッティングし、可視領域を作成する。
【0067】
そして、他方のパーティション(パーティション1)を、特殊な形式でフォーマッティングし、不可視領域を作成する。ここで、可視領域とは、ユーザが使用する一般的なコンピュータ(パソコン)で認識する形式でフォーマッティングした記憶領域であり、前述のように音楽データや画像データ、地図データをユーザがパソコンを用いて自由に読み書きできる領域である。一方、不可視領域とは、ユーザが使用する一般的なコンピュータが認識しない形式でフォーマッティングした記憶領域であり、動作情報を記憶する領域(動作領域)である。
【0068】
尚、この処理により不可視領域に記録されたデータの可視(アクセス)を完全に不可能にするのではなく、不可視領域の特殊な形式に対応していないユーザのパソコンに対して不可視(アクセスできないこと)とし、不可視領域の形式(フォーマット)に対応している自装置(動作情報管理装置10)や動作情報の解析を行うコンピュータでは、不可視領域に対するアクセスを可能とする。
【0069】
このように、ユーザのパソコンで認識しない不可視領域に動作情報を記憶することで、ユーザが可視領域に対して操作を行った際に誤って動作情報を変更(例えば削除)してしまうことを防止できる。
【0070】
従って、不可視領域は、ユーザが誤って変更しない程度にユーザのパソコンからアクセスできなければ良い。このアクセスの難易度は、不可視領域に採用した形式の情報の入手困難度、形式の複雑さ(解析困難性に影響)に応じて変わるので、所望の難易度に応じて不可視領域に採用する形式を任意に決定する。
【0071】
図2に示した本実施形態の動作情報管理装置10としての制御部100は、CPU1がソフトウェア(動作情報管理プログラム)に従って処理を実行するコンピュータであり、この処理によってエラー検出部81や、動作情報取得部82、書き込み判定部83、書き込み制御部84、フォーマット制御部の機能を実現するが、これに限らず、エラー検出部81、動作情報取得部82、書き込み判定部83、書き込み制御部84、フォーマット制御部の機能を専用のハードウェアで実現した装置であっても良い。
【0072】
ここでハードウェアは、例えば、FPGA[Field Programmable Gate Array]、AS
IC[Application Specific Integrated Circuit]、LSI[Large Scale Integration]といった回路で実現することも可能である。また、当該ハードウェアは、IC[Integrated Circuit]、ゲートアレイ、論理回路、信号処理回路、アナログ回路といった基本的な回路で実現することも可能である。
【0073】
論理回路としては、例えば、AND回路(論理積回路)、OR回路(論理和回路)、NOT回路(否定回路)、NAND回路(否定的論理積回路)、NOR回路(否定的論理和回路)、フリップフロップ回路、カウンタ回路がある。信号処理回路には、信号値に対し、例えば、加算、乗算、除算、反転、積和演算、微分、積分を実行する回路がある。アナログ回路には、例えば、信号値に対して、増幅、加算、乗算、微分、積分を実行する回路がある。
【0074】
〈動作情報管理方法〉
図4,図5は、上記構成のAVN一体機において、制御部100が実行する動作情報管理方法の説明図である。図4,図5は、CPU1が命令の実行を継続できないエラー、即ちAVN一体機のリブートが必要になるエラー(以下、致命的エラーと称す)が発生した場合の対処例を示し、図4はエラーを検出した際に動作情報を不揮発性のメモリに退避させ、リブートする処理のフローであり、図5はリブート後に動作情報を不揮発性のメモリから外部記録媒体に書き込む処理のフローである。
【0075】
図4,図5の処理は、車両のイグニッションキーがON又はACC位置となり、電力が供給されると、CPU1により繰り返し実行される。
【0076】
図4の処理が開始されると、CPU1は、命令を実行するにあたり、致命的エラーが発生したか否かを検出する(S10)。なお、致命的エラーが発生していなければ処理を終了し(S10,No)、イグニッションキーがON又はACC位置のままで、電力が供給されている間、CPU1は図4の処理を繰り返し実行する。この致命的エラーは、プログラムのバグやメモリのオーバーフロー等によって発生し、リブートを必要とするエラーである。例えば、CPU1が、16bit幅でアクセスするためにアドレスが2の倍数でなければならない仕様で、奇数アドレスから命令を実行した場合や、奇数アドレスからデータにアクセスしようとした場合、0で除算を行おうとした場合など所謂CPU例外といった所定の状態となった場合、正規の動作から外れて致命的エラーが発生したことを検出する。なお、どのような状態となった場合に、致命的エラーとして検出するかは、上記に限らずCPU1の仕様等に応じて設定できる。
【0077】
致命的エラーが発生した場合(S10,Yes)、CPU1は、エラー内容の解析を行い、エラーの種類を特定する(S20)。例えば、アドレスが2の倍数でなければならない仕様で、奇数アドレスから命令を実行した場合にアライメント例外(命令アドレスエラー)の発生とし、また、奇数アドレスからデータにアクセスしようとした場合や、読み出し専用に指定されている領域に書き込みを行おうとした場合、メモリやデバイスが存在しない領域にアクセスしようとした場合に、アドレス例外とする。更に、遅延スロットにある未定義命令を実行した場合にスロット不当命令例外、遅延スロット以外にある未定義命令を実行した場合に一般不当命令例外とする。
【0078】
次にCPU1は、管理対象の機器からエラー履歴や動作履歴等のログデータを動作情報として取得する(S30)。なお、図4の例では、管理対象が制御部100であるため、メインメモリ2やCPU1のレジスタから動作情報を取得する。ここで取得する動作情報は、例えばエラーを引き起こした命令を実行した関数、それを呼び出した関数、更にこの
関数を呼び出した関数のように、エラーが発生するまでに呼び出された関数の履歴(コールスタック)や、ローカル変数を格納したスタックメモリの状態、スタックポインタやアドレスレジスタ等の状態(レジスタ状態)である。
【0079】
また、CPU1は、取得した動作情報を不揮発性メモリ6のバッファとして確保したエリア(図3)へ書き込み、このインデックスをバッファ管理エリアに書き込む。また、CPU1は、不揮発性メモリ6等の所定の記憶領域に致命的エラー発生フラグを書き込むことで、致命的エラー発生フラグをONにする(S40)。
【0080】
そして、CPU1は、AVN一体機をリブート(再起動)し(S50)、図4の処理を終了する。
【0081】
AVN一体機のリブート後に図5の処理が開始されると、CPU1は、致命的エラーが発生して動作情報を退避させた状態(動作情報退避中)か否かを判定する(S60)。具体的には、不揮発性メモリ6の所定領域にアクセスし、致命的エラー発生フラグがONであるか否かを判定する。
【0082】
ここで動作情報退避中であれば(S60,Yes)、CPU1は、所定の書き込み条件が成立したかを判定する(S70)。
【0083】
書き込み条件が成立した場合(S70,Yes)、CPU1は不揮発性メモリ6のバッファ管理エリアを参照し、外部記憶媒体90へ書き込んでいない動作情報をバッファから読み出し、外部記憶媒体90の不可視領域に書き込む(S80)。なお、不揮発性メモリ6に記憶されている動作情報を一度に外部記憶媒体90へ書き込んでも良いが、バッファに格納する動作情報を複数のブロックに分け、このブロック単位で外部記憶媒体90に書き込みを行っても良い。例えば、外部記憶媒体90の最小書き込み単位を一ブロック(一段)とし、複数ブロック(複数段)に分け、ステップS70で書き込み条件が成立した場合、CPU1は、一ブロック分の動作情報を外部記憶媒体90に書き込ませ、このブロックのインデックスを書き込み済みに更新して図5のフローを終了する。そして、CPU1は、図5の処理を繰り返し、ステップS70で改めて書き込み条件が成立しているか否かを判定し、書き込み条件が成立していれば、インデックスを参照して次のブロックの動作情報を外部記憶媒体90に記憶させる。そして、不揮発性メモリ6のバッファから動作情報を全て外部記憶媒体90へ書き込んだ場合、CPU1は、所定領域の致命的エラー発生フラグを消去することにより致命的エラー発生フラグをOFFにし、図5のフローを終了する。
【0084】
なお、ステップS60にて動作情報退避中でないと判定した場合(S60,No)や、ステップS70で書き込み条件が成立していないと判定した場合(S70,No)、処理を終了し、イグニッションキーがON又はACC位置のままで、電力が供給されている間、CPU1は図5の処理を繰り返し実行する。
【0085】
ここで所定の書き込み条件とは、例えば、外部媒体記録再生部101における外部記憶媒体90の接続部を覆うカバーが閉じているか否か、即ち外部記憶媒体90が取り出し不可能な状態か否かである。図6は、外部記憶媒体90の接続部を覆うカバーの状態を示す図である。なお、図6の例では、表示部113が、この接続部(挿入口)71を覆うカバーを兼ねており、図6(A)がカバーの閉じている状態、図6(B)がカバーの開いている状態である。ナビゲーション用の地図を表示部113に表示する等の通常状態、即ち外部記憶媒体90を挿抜しないときには、表示部113が図6(A)に示すようにAV一体機の正面側(乗員側)を覆い、表示面を乗員側に向けている。
【0086】
そして、外部記憶媒体90を挿抜する場合、表示部113の下端部とヒンジ接続された指示部材78が、表示部113の下端部と共に前方(乗員側)へせり出し、ヒンジ(不図示)により、回動軸70を中心に表示部113が後傾し、表示面を上向きにして倒れることにより、表示部113の奥に配置した外部記憶媒体90の挿入口(メモリスロット)71が露出する。この挿入口71に外部記憶媒体90を挿入することで、外部記憶媒体90の読み書き用の接点が外部媒体記録再生部101のコネクタと電気的に接続し、外部媒体記録再生部101による外部記憶媒体90への動作情報の書き込みや、外部記憶媒体90のフォーマットが可能になる。
【0087】
この表示部113が外部記憶媒体90の挿入口71を覆っている状態(図6(A))であれば、挿入口71が隠れており、ユーザが外部記憶媒体90を挿入口71から抜くことができないため、外部記憶媒体90へ動作情報の書き込みを行っても、途中で外部記憶媒体90を誤って抜き、外部記憶媒体90が破損してしまう恐れがない。
【0088】
そこで、CPU1は、この挿入口71のカバー、即ち表示部113の開閉状態をセンサ73で検出し、表示部113が閉じた状態(図6(A))であれば書き込み条件が成立したと判定し、表示部113が開いた状態(図6(B))であれば書き込み条件が成立していないと判定する。
【0089】
なお、表示部(カバー)113を閉じた状態(図6(A))では、表示部113の裏面がセンサ(押圧スイッチ)73の突部73Aを押圧し、表示部113を開いた状態(図6(B))では、センサ73の突起73Aが解放されるので、センサ73によって、この突起73Aが押圧されているか、解放されているかを検出することによって、表示部(カバー)113の開閉状態を判定できる。なお、センサ73は、押圧スイッチに限らず、ヒンジの開き具合を検出するロータリエンコーダや、表示部113或いは指示部材78の位置を検出するフォトディテクタなど、表示部(カバー)113の開閉状態を検出できるセンサであれば良い。
【0090】
また、所定の書き込み条件として、車両の走行速度が閾値以上であるか否かに応じて書き込みを行うか行わないかを決定しても良い。
【0091】
即ち、車両が閾値を超えた速度で走行中であれば、動作情報の書き込みを開始しても途中でクランキングが行われて電圧変動が起こることがなく、動作情報の書き込みに支障は無いと判断できる。つまり、車両の速度が閾値以下の場合、動作情報の書き込みを開始してしまうと、途中でクランキングが行われて電圧が大きく変動する可能性があり、書き込みを失敗してしまったり、最悪の場合外部記憶媒体90の損傷を招いたりする恐れがあるため、動作情報の書き込みには適さないと判断する。
【0092】
なお、この閾値は、複数、そしてヒステリシスを設けても良く、例えば停止状態から第一の閾値(例えば30km/h)以上となった場合に書き込み可能と判定し、その後書き込み可能な状態から第二の閾値(例えば10km/h)未満となった場合に書き込み不可とする制御も好適なものである。
【0093】
なお、所定の書き込み条件は、上記条件に限らず、書き込みの失敗や、外部記憶媒体90の損傷を招かない条件であれば良い。また、これらの書き込み条件は、組み合わせて用いることができる。
【0094】
これにより動作情報を随時安全に外部記憶媒体90へ書き込むことができ、不揮発性メモリ6の記憶容量に制限されずに、多くの動作情報を取得できる。
【0095】
そして、AVN一体機の不具合を検証する必要が生じた場合に、ユーザが上述の処理により不可視領域に動作情報が書き込まれた外部記憶媒体90をメンテナンス者に送ることにより、メンテナンス者はスムーズな不具合対応を行なえることになる。
【0096】
なお、上記のように不可視領域をFATやNTFSと異なる特定のファイルシステムでフォーマットすれば、大部分のユーザのコンピュータで不可視とすること、またアクセスも困難にすることができ目的を達成できる。この場合、不可視領域のファイルシステム(特定のファイルシステム)は、FATやNTFS以外のファイルシステムを任意に設定して良く、例えばHFSやXFSである。
【0097】
また、可視領域のファイルシステムは、FAT,NTFSのほか、HFSやHFS+であっても良い。この場合、不可視領域のファイルシステムとは、HFSやHFS+と言った可視領域でのファイルシステム以外でアクセスの困難度が高い、例えばXFSやZFSである。これにより不可視領域を更に多くのユーザのコンピュータ上で不可視にできる。
【0098】
更に、可視領域のファイルシステムは、上記に加えて、JFS,XFS,ext2,ext3,ext4,ReiserFSとしても良い。この場合、不可視領域のファイルシステムとは、JFS,XFS,ext2,ext3,ext4,ReiserFSと言った可視領域でのファイルシステム以外でアクセスの困難度が高い、例えば、UFS2やZFSである。
【0099】
なお、不可視領域は、独自形式でフォーマットし、当該不可視領域に記憶した動作情報を専用ツールで読み出すようにしても良い。
【0100】
〈変形例1〉
図7は、上記実施形態の変形例の説明図である。本変形例は、動作情報取得部82(図3)が管理対象の機器から受けた情報のうち、優先度の高いものを抽出して動作情報とし、不揮発性メモリ6に記憶させる構成が前述の実施形態と異なっている。なお、その他の構成は同じである。
【0101】
図7の処理は、車両のイグニッションキーがON又はACC位置となり、本変形例のAVN一体機に電力が供給されると、CPU1により繰り返し実行される。
【0102】
図7の処理が開始されると、CPU1は、命令を実行するにあたり、致命的エラーが発生したか否かを検出する(S10)。なお、致命的エラーが発生していなければ処理を終了し(S10,No)、イグニッションキーがON又はACC位置のままで、電力が供給されている間、CPU1は図7の処理を繰り返し実行する。この致命的エラーは、プログラムのバグやメモリのオーバーフロー等によって発生し、リブートを必要とするエラーである。例えば、CPU1が、16bit幅でアクセスするためにアドレスが2の倍数でなければならない仕様で、奇数アドレスから命令を実行した場合や、奇数アドレスからデータにアクセスしようとした場合、0で除算を行おうとした場合など所謂CPU例外といった所定の状態となった場合、正規の動作から外れて致命的エラーが発生したことを検出する。なお、どのような状態となった場合に、致命的エラーとして検出するかは、上記に限らずCPU1の仕様等に応じて設定できる。
【0103】
致命的エラーが発生した場合(S10,Yes)、CPU1は、エラー内容の解析を行い、エラーの種類を特定する(S20)。例えば、アドレスが2の倍数でなければならない仕様で、奇数アドレスから命令を実行した場合にアライメント例外(命令アドレスエラー)の発生とし、また、奇数アドレスからデータにアクセスしようとした場合や、読み出し専用に指定されている領域に書き込みを行おうとした場合、メモリやデバイスが存在し
ない領域にアクセスしようとした場合に、アドレス例外とする。更に、遅延スロットにある未定義命令を実行した場合にスロット不当命令例外、遅延スロット以外にある未定義命令を実行した場合に一般不当命令例外とする。
【0104】
次にCPU1は、管理対象の機器からエラー履歴や動作履歴等のログデータを取得する(S30)。なお、図7の例では、管理対象が制御部100であるため、メインメモリ2やCPU1のレジスタからログデータを動作情報として取得する。
【0105】
更に、CPU1は、ステップS30で取得した動作情報のうち所定の情報を抽出することで動作情報を絞り込む(S35)。図8は、この動作情報を絞り込む処理の説明図である。図8に示すように、ステップS30で取得したログデータ61は、エラーの発生時にCPU1のレジスタやカーネルメモリといった所定の記憶領域に記憶されていた情報を読み出したものであり、種々の情報を含んでいるため、サイズが大きい。そこで、CPU1は、ログデータ61に含まれる各情報に付されたIDに基づいて、例えばコールスタック、イベント状態、タスク状態、レジスタ状態等の所定の情報を抽出し、抽出動作情報62とする。
【0106】
ここで、コールスタックは、エラーを引き起こした命令を実行した関数、それを呼び出した関数、更にこの関数を呼び出した関数のように、エラーが発生するまでに呼び出された関数の履歴を示す情報である。
【0107】
イベント状態は、割り込み禁止や、メッセージ、エラー情報等の情報である。
【0108】
タスク状態は、タスクがRUNかSLEEPか等の状態を示す情報である。
【0109】
レジスタ状態は、各機器のCPU(制御部100であればCPU1)のレジスタ状態を示す情報である。
【0110】
これらの情報を抽出して抽出動作情報62とすることで、不揮発性メモリ6に記憶させる情報量を数十分の一に低減できる。
【0111】
次にCPU1は、抽出動作情報62を不揮発性メモリ6のバッファとして確保したエリア(図3)へ書き込み、このインデックスをバッファ管理エリアに書き込む。また、CPU1は、不揮発性メモリ6等の所定の記憶領域に致命的エラー発生フラグを書き込むことで、致命的エラー発生フラグをONにする(S40)。
【0112】
そして、CPU1は、AVN一体機をリブート(再起動)し(S50)、図7の処理を終了する。
【0113】
なお、AVN一体機のリブート後に、不揮発性メモリ6から外部記憶媒体90へ抽出動作情報(動作情報)を書き込む処理は、図5と同じである。
【0114】
以上のように本変形例1によれば、内蔵の不揮発性メモリ6に書き込む動作情報の量が低減されるので、不揮発性メモリ6から外部記憶媒体90に書き込む時間が短縮され、途中で書き込みが中断される可能性が少なくなり、確実に外部記憶媒体90に書き込むことができる。
【0115】
また、動作情報の量が低減されたことにより、より長時間に渡る動作情報を不揮発性メモリ6でバッファリングでき、データの保持時間が長くなることから、渋滞等で車両の速度が上がらず書き込み条件が成立する機会が少なくなった場合であっても確実に動作情報
を記憶することができる。
【0116】
〈変形例2〉
図4,図7の例では、エラー発生時に動作情報を一時記憶部(不揮発性メモリ6)に記憶させたが、本変形例2では、動作情報を常時一時記憶部(不揮発性メモリ6)に記憶させておき、エラーが発生した場合に一時記憶部から外部記憶媒体90に動作情報を書き込む例を示す。
【0117】
図9,図10は、変形例2の動作情報管理方法の説明図である。図9,図10の処理は、車両のイグニッションキーがON又はACC位置となり、本変形例のAVN一体機に電力が供給されると、CPU1により繰り返し実行される。
【0118】
図9の処理が開始されると、CPU1は、管理対象の機器からエラー履歴や動作履歴等のログデータを取得する(S30)。なお、図9の例では、管理対象が制御部100であるため、メインメモリ2やCPU1のレジスタからログデータを動作情報として取得する。
【0119】
更に、CPU1は、ステップS30で取得した動作情報のうち所定の情報を抽出する(S35)。
【0120】
次にCPU1は、抽出動作情報62を不揮発性メモリ6のバッファとして確保したエリア(図3)へ書き込み、このインデックスをバッファ管理エリアに書き込み(S40A)、図9の処理を終了する。
【0121】
また、図10の処理が開始されると、CPU1は、命令を実行するにあたり、致命的エラーが発生したか否かを検出する(S10)。なお、致命的エラーが発生していなければ処理を終了し(S10,No)、イグニッションキーがON又はACC位置のままで、電力が供給されている間、CPU1は図10の処理を繰り返し実行する。
【0122】
致命的エラーが発生した場合(S10,Yes)、CPU1は、不揮発性メモリ6等の所定の記憶領域に致命的エラー発生フラグを書き込むことで、致命的エラー発生フラグをONにする(S40B)。
【0123】
そして、CPU1は、AVN一体機をリブート(再起動)し(S50)、図10の処理を終了する。
【0124】
なお、AVN一体機のリブート後に、不揮発性メモリ6から外部記憶媒体90へ抽出動作情報(動作情報)を書き込む処理は、図5と同じである。
【0125】
本変形例2によれば、動作情報を常時記憶しておくので、エラー発生時にAVN一体機の動作が不安定になったような場合であっても、確実に動作情報を取得することができる。
【0126】
本変形例2では、図9のステップS35にて、所定の動作情報を抽出して不揮発性メモリ6に記憶させる動作情報を絞り込んだが、これに限らず、ステップS35を省略しステップS30で取得した動作情報をステップS40Aで不揮発性メモリ6に書き込んでも良い。
【0127】
また、本変形例2では、図10のステップS10にて致命的エラーの発生を検出した場合、動作情報を取得せずにAVN一体機をリブート(S50)したが、これに限らず、図
10の処理に代えて図7の処理を行っても良い。即ち、図9の処理によって動作情報を常時不揮発性メモリ6に記憶させると共に、図7の処理によってエラー発生時の動作情報を不揮発性メモリ6に記憶させる。
【0128】
〈変形例3〉
本変形例3は、エラーが発生した場合に、外部記憶媒体90の有無を判定し、外部記憶媒体90が無ければ不揮発性メモリ6に記憶させる動作情報を絞り込み、外部記憶媒体90があれば動作情報を絞り込まずに不揮発性メモリ6に記憶させる例を示す。なお、この他の構成は前述の実施形態と同じであるため、同一の要素には同符号を付すなどして重複する説明を省略した。
【0129】
図11は、本変形例3の動作情報管理方法の説明図である。図11の処理は、車両のイグニッションキーがON又はACC位置となり、本変形例のAVN一体機に電力が供給されると、CPU1により繰り返し実行される。
【0130】
図11の処理が開始されると、CPU1は、命令を実行するにあたり、致命的エラーが発生したか否かを検出する(S10)。
【0131】
致命的エラーが発生した場合(S10,Yes)、CPU1は、外部記憶媒体90の有無、例えば外部記憶媒体90が外部媒体記録再生部101の挿入口71(図6(B))に挿入されているか否かを判定する(S15)。
【0132】
外部記憶媒体90が有る場合(S15,Yes)、CPU1は、図4のフローと同様にエラー内容を解析し(S20)、動作情報を取得して(S30)、不揮発性メモリ6に記憶させ(S40)、AVN一体機をリブートする(S50)。
【0133】
一方、外部記憶媒体90が無い場合(S15,No)、CPU1は、図7のフローと同様にエラー内容を解析し(S20)、動作情報を取得して(S30)、所定の動作情報に絞り込み(S35)、不揮発性メモリ6に記憶させ(S40)、AVN一体機をリブートする(S50)。
【0134】
なお、AVN一体機のリブート後に、不揮発性メモリ6から外部記憶媒体90へ抽出動作情報(動作情報)を書き込む処理は、図5と同じである。
【0135】
このように、本変形例3によれば、外部記憶媒体90が有る場合には絞り込まずに多くの動作情報を不揮発性メモリ6を介して外部記憶媒体90に記憶させるようにし、外部記憶媒体90が無い場合にはエラー解析に必要な動作情報に絞り込んで不揮発性メモリ6に記憶させることができる。即ち、外部記憶媒体90の有無に応じて適切な動作情報管理方法を選択的に実行できる。
【0136】
〈変形例4〉
図12は、アプリケーションレベルのエラー即ちAVN一体機のリブートが不要なエラーが発生した例を示す。
【0137】
図12の処理は、車両のイグニッションキーがON又はACC位置となり、電力が供給されると、CPU1により繰り返し実行される。
【0138】
図12の処理が開始されると、CPU1は、命令を実行するにあたり、エラーが発生したか否かを検出する(S110)。なお、致命的エラーが発生していなければ処理を終了し(S110,No)、イグニッションキーがON又はACC位置のままで、電力が供給
されている間、CPU1は図12の処理を繰り返し実行する。このエラーは、プログラムのバグや入出力信号の異常等によって発生し、AVN一体機自体のリブートをせずに動作情報の取得や書き込みといった他の処理が可能なものである。例えば、通信ユニット121と無線基地局(不図示)との接続が確立出来ない、或いは送信信号に対する応答(Acknowledgement)が無い、TV受信部103で受信した放送波が微弱で動画をデコードできな
い、外部媒体記録再生部101で読み出した音楽ファイルの形式がデコーダに対応しておらず再生できない、といった状態となった場合にCPU1がエラーとして検出する。なお、どのような状態となった場合に、エラーとして検出するかは、各アプリケーションの仕様等に応じて任意に設定して良い。なお、エラーの検出(S110)を図12のフローに含めず、各アプリケーションのプログラム上にエラー条件を定義しておき、エラーとなった場合に図12の処理を呼び出して、ステップS120以降を実行する構成としても良い。
【0139】
エラーが発生した場合(S110,Yes)、CPU1は、エラー内容の解析を行い、エラーの種類を特定する(S120)。例えば、エラーの種類毎にエラーコードを割り当て、エラーテーブルとして記憶しておき、ステップS110で検出したエラーの状態と対応するエラーコードを当該エラーテーブルから特定する。
【0140】
次にCPU1は、管理対象の機器からエラー履歴や動作履歴等のログデータを動作情報として取得する(S130)。例えば、管理対象が制御部100である場合、メインメモリ2やCPU1のレジスタから動作情報を取得する。ここで取得する動作情報は、例えばエラーを引き起こした命令を実行した関数、それを呼び出した関数、更にこの関数を呼び出した関数のように、エラーが発生するまでに呼び出された関数の履歴(コールスタック)や、ローカル変数を格納したスタックメモリの状態、スタックポインタやアドレスレジスタ等の状態(レジスタ状態)である。
【0141】
また、CPU1は、取得した動作情報をメインメモリ2のバッファとして確保したエリア(図3)へ書き込み、このインデックスをバッファ管理エリアに書き込む(S140)。本変形例4のフローでは、リブートを伴わないため、動作情報を揮発性のメインメモリ2に一時記憶させることができる。例えば、外部記憶媒体90の最小書き込み単位を一ブロック(一段)とし、複数ブロック(複数段)の動作情報をメインメモリ2のバッファに一時記憶させる構成とする。外部記憶媒体90がSDメモリカードであれば512kbiteを一ブロックとし、十ブロック程度の動作情報を一時記憶させることで、十時間程度の動作情報を一時記憶部としてのメインメモリ2に記憶させることができる。なお、本変形例4においても一時記憶部は、メインメモリ2に限らず、不揮発性メモリ6であっても良い。
【0142】
そして、CPU1は、所定の書き込み条件が成立したか否かを判定する(S170)。
【0143】
書き込み条件が成立した場合(S170,Yes)、CPU1はメインメモリ2のバッファ管理エリアを参照し、外部記憶媒体90へ書き込んでいないブロックの動作情報をバッファから読み出し、外部記憶媒体90の不可視領域に書き込む(S180)。なお、メインメモリ2のバッファに記憶されている動作情報を一度に外部記憶媒体90へ書き込んでも良いが、一ブロックずつ外部記憶媒体90に書き込みを行っても良い。例えば、ステップS170で書き込み条件が成立した場合、CPU1は、一ブロック分の動作情報を外部記憶媒体90に書き込ませ、このブロックのインデックスを書き込み済みに更新して図12のフローを終了する。そして、CPU1は、図12の処理を繰り返し、ステップS170で改めて書き込み条件が成立しているか否かを判定し、書き込み条件が成立していれば、インデックスを参照して次のブロックの動作情報を外部記憶媒体90に記憶させる。そして、メインメモリ2のバッファから動作情報を全て外部記憶媒体90へ書き込んだ場
合、CPU1は、図12のフローを終了する。
【0144】
なお、図12の例では、図4,図5の処理と同様に動作情報を取得して一時記憶部に書き込んだが、図7の処理と同様にステップS130で取得した動作情報から所定の動作情報を抽出して絞り込む構成としても良い。
【0145】
更に、図11と同様に、外部記憶媒体90が無い場合には動作情報を絞り込み、外部記憶媒体90が有る場合には動作情報を絞り込まずに一時記憶部に記憶させるようにしても良い。
【符号の説明】
【0146】
100 制御部
101 外部媒体記録再生部(書き込み部)
1 CPU
2 メインメモリ
3 入出力インターフェイス
6 不揮発性メモリ
【技術分野】
【0001】
本発明は、機器の動作情報を取得する技術に関する。
【背景技術】
【0002】
近年、車両に搭載される電子機器(以下車載器)は、音楽再生だけでなく、動画再生、ナビゲーション、通信等、多種の機能を搭載している。
【0003】
このように多機能化すると、構成が複雑化し、種々の原因で動作不具合を起こすことがあるので、この動作不具合の原因究明が難しくなっている。
【0004】
従来、エラー履歴や動作履歴等、動作不具合(エラー)発生時の製品動作を解析する情報(動作情報)をエラー情報として不揮発性メモリに保存し、このエラー情報に基づいて原因究明を行っていた。
【0005】
しかし、内蔵の不揮発性メモリは、コストや小型化のために記憶容量が小さく十分ではなかった。例えば、動作履歴を記録できる時間が、数分程度の場合もあり、長時間記録できるものではなかった。
【0006】
また、このエラー情報を閲覧するためには、当該車載器にPC(パーソナルコンピュー
タ)を接続して不揮発性メモリからエラー情報を読み出したり、SDカード等のリムーバ
ブル記憶媒体に書き出してPCで読み出したりしていた。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2009−186267号公報
【特許文献2】特開2001−236537号公報
【特許文献3】特開2008−269498号公報
【特許文献4】特開平7−210338号公報
【特許文献5】国際公開第2007/052535号公報
【特許文献6】特開2001−229423号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
動作不具合の原因を解析するために、エラー情報を随時リムーバブル記憶媒体(外部記憶媒体)に書き出すとしても、エラー情報には種々の情報が含まれるため、セキュリティ等の観点から誰もが自由にアクセスできるようにするのは望ましくない。このためエラー情報を外部記憶媒体に書き出す機能はメンテナンス者等が行うこととし、動作不具合を解明する場合には、メンテナンス者が現場に赴いて不揮発性メモリ内のエラー情報を外部記憶媒体に移して持ち帰る運用が採られていた。
【0009】
このためエラー情報を外部記憶媒体に書き出すためにメンテナンス者が現地に行く手間が生じてしまい、エラー情報を容易に取得できないという問題があった。
【0010】
また、メンテナンス者が操作したときにだけエラー情報を書き出す場合、内蔵の一時記憶部の記憶容量以上のエラー情報を取得することができないが、車載器は、エラー情報を記憶する内部の不揮発性メモリの記憶容量が小さいので、この場合、十分に動作履歴を記憶できないという問題点があった。特に、多機能化に伴い、記憶すべき動作履歴が増加し
ている。また、デットロック等、他の動作との組み合わせで発生するエラーは、長時間の動作履歴を検証する必要があった。
【0011】
従って、多くのエラー情報を記憶できる構成とすることが望まれるが、不具合は、発売前にほぼ取り除かれ、車載器が市場に出てからこの構成を利用することは非常に稀であるので、エラー情報を取得するために大容量の不揮発性メモリを全ての車載器に内蔵させるのは無駄である。
【0012】
このため、内蔵の不揮発性メモリに記憶されたエラー情報をメンテナンス者が操作したときだけではなく、随時外部記憶媒体に書き出すことで、内蔵の不揮発性メモリの記憶容量を増やさずに多くのエラー情報を記録できるようにすることが考えられる。
【0013】
しかし、エラー情報を随時外部記憶媒体に書き出すこととすると、書き込み中に外部記憶媒体を抜いた場合や、クランキング等で電圧が変動した場合に、外部記憶媒体が壊れてしまう可能性があった。更に、エラー情報を随時外部記憶媒体に書き出すためには、常に外部記憶媒体が車載器にセットされている必要があり、エラー情報を専用の外部記憶媒体に書き出す構成とすると、エラー情報を書き出すためだけに外部記憶媒体の読み書き部(リーダ・ライタ)を備えなければならず、装置構成が冗長になってしまう。このため、地図データや音楽データ等を記憶する外部記憶媒体に、エラー情報を書き込む構成が望ましいが、地図データや音楽データ等とエラー情報とが混在していると、地図データや音楽データ等を扱う際に誤ってエラー情報を変更(例えば削除)してしまわないように注意を払う必要があり、煩わしいという問題があった。
【0014】
そこで本発明は、一時記憶部から外部記憶媒体へ動作情報を書き込み、動作情報を容易に取得する技術の提供を課題とする。
【課題を解決するための手段】
【0015】
上記課題を解決するため、動作情報管理方法は、
管理対象の機器から当該機器の動作に関する動作情報を取得するステップと、
前記機器の動作に関する動作情報を一時記憶部に記憶するステップと、
外部記憶媒体の当該機器の動作に関する動作領域に対して、前記一時記憶部内の当該機器の動作に関する動作情報を書き込むステップと、を含み、
前記外部記憶媒体の記憶領域のうち、前記動作領域を不可視領域、当該不可視領域以外を可視領域とする。
【0016】
前記動作情報管理方法は、前記不可視領域が、前記可視領域と異なったフォーマットの領域であっても良い。
【0017】
前記動作情報管理方法は、所定の条件を満たした場合に、前記一時記憶部内の前記動作情報を前記外部記憶媒体の前記不可視領域に書き込んでも良い。
【0018】
前記動作情報管理方法は、前記管理対象の機器が、車両用機器であり、前記所定の条件が前記車両の走行状態に応じた条件であっても良い。
【0019】
前記動作情報管理方法は、前記管理対象の機器から取得した動作情報のうち所定の情報を抽出するステップを更に含み、抽出した動作情報を前記一時記憶部に記憶させても良い。
【0020】
また、本発明の動作情報管理装置は、
管理対象の機器から当該機器の動作に関する動作情報を取得する動作情報取得部と、
前記機器の動作に関する動作情報を記憶する一時記憶部と、
外部記憶媒体の当該機器の動作に関する動作領域に対して、前記一時記憶部内の当該機器の動作に関する動作情報を書き込む書き込み部と、
を備え、
前記外部記憶媒体の記憶領域のうち、前記動作領域を不可視領域、当該不可視領域以外を可視領域とする。
【0021】
前記動作情報管理装置は、前記不可視領域が、前記可視領域と異なったフォーマットの領域であっても良い。
【0022】
前記動作情報管理装置は、所定の条件を満たした場合に、前記一時記憶部内の前記動作情報を前記外部記憶媒体の前記不可視領域に書き込んでも良い。
【0023】
前記動作情報管理装置は、前記管理対象の機器が、車両用機器であり、前記所定の条件が前記車両の走行状態に応じた条件であっても良い。
【0024】
前記動作情報管理装置は、前記管理対象の機器から取得した動作情報のうち所定の情報を抽出し、抽出した動作情報を前記一時記憶部に記憶させても良い。
【0025】
また、上記課題を解決するため、本発明は、上記動作情報管理方法をコンピュータに実行させるための動作情報管理プログラムであっても良い。更に、この動作情報管理プログラムをコンピュータが読み取り可能な記録媒体に記録しても良い。コンピュータに、この記録媒体の動作情報管理プログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【0026】
ここで、コンピュータが読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体の内コンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、8mmテープ、メモリカード等がある。
【0027】
また、コンピュータに固定された記録媒体としてハードディスクやROM(リードオンリーメモリ)等がある。
【発明の効果】
【0028】
本発明によれば、一時記憶部から外部記憶媒体へ動作情報を書き込み、動作情報を容易に取得する技術を提供できる。
【図面の簡単な説明】
【0029】
【図1】動作情報管理装置を採用したAVN一体機の構成を示すブロック図
【図2】動作情報管理装置のハードウェア構成図
【図3】動作情報管理装置の機能ブロック図
【図4】動作情報管理方法の説明図
【図5】動作情報管理方法の説明図
【図6】外部記憶媒体90の接続部を覆うカバーの状態を示す図
【図7】変形例1の動作情報管理方法の説明図
【図8】動作情報を抽出する処理の説明図
【図9】変形例2の動作情報管理方法の説明図
【図10】変形例2の動作情報管理方法の説明図
【図11】変形例3の動作情報管理方法の説明図
【図12】変形例4の動作情報管理方法の説明図
【発明を実施するための形態】
【0030】
〈全体構成〉
まず、本発明の動作情報管理装置を備えた車載用オーディオ・ビジュアル・ナビゲーション一体機(以降、AVN一体機と称する)について説明する。なお、管理対象の機器は、AVN一体機自体である。
【0031】
図1は、AVN一体機の構成を示すブロック図である。
【0032】
100は、AVN一体機の各部或いは接続された外部機器からの信号、また使用者の操作に基づく各操作部からの操作指示信号等の入力を受け、それら信号に基づきAVN一体機の各部、或いは外部機器を統括的に制御する制御部で、例えばマイクロコンピュータ(マイコン)により構成され、ROM等のメモリに記憶されたプログラムに従い動作する。
【0033】
101は、外部記憶媒体90に記録された音楽、画像等のデータの再生や、ナビゲーションでの地図表示や経路探索等に用いられる地図データの読込み、また外部記憶媒体90に対するデータの書き込みを行なう外部媒体記録再生部(書き込み部を含む)で、外部記憶媒体90に対応したインターフェイス、データバッファメモリ、音楽・画像データのデコーダ等が内蔵されている。そして、制御部100の指令により外部媒体記録再生部101が外部記憶媒体90から読み込んだ音楽データ・画像データはデコーダで音声信号・画像信号に復号されて分配回路108を介して、音声・画像として再生される。
【0034】
また、制御部100の指令により外部媒体記録再生部101は外部記憶媒体90から音楽データ・画像データ以外の各種データ、例えば、地図データ、プログラムのバージョンアップデータを読込み、制御部100はこれら読み込んだデータを当該データに応じた用途、例えば、後述のナビゲーション部130での地図表示や経路探索、プログラムのバージョンアップ、各種データの更新等に用いる。外部記憶媒体90としては、例えばUSBメモリ、SDメモリカード(商標:SDカードアソシエーションによって規定されているSD規格に沿ったメモリーカード)等を適用でき、この場合インターフェイスは対応したインターフェイス、つまりUSBメモリインターフェイス、SDメモリカードインターフェイスを適用することになる。
【0035】
尚、本実施例の装置では、USBメモリとSDメモリカードの両方を搭載できるように、それぞれに対応するインターフェイス、コネクタ、バッファメモリ等が設けられており、USBメモリには音楽データや画像データをユーザがパーソナルコンピュータやデータ書き込み機能のあるオーディオ機器により自由に読み書きできる領域が設けられており、その領域に音楽データや画像データが記録されている。またSDメモリカードには地図データを読み書きできる領域が設けられておりナビゲーションに用いられる地図データが記録されている。尚、SDメモリカードに記録された地図データについては、新しくできた道路等に対応するため、パーソナルコンピュータ等を用いて新しい地図データへの書き換えが可能となっている。
【0036】
102は、アンテナにより受信された放送波から、特定の周波数の放送波を選択受信し、復調して当該放送の音声信号を出力するラジオ受信部であり、同調回路、復調・復号回路等により構成される。ラジオ受信部102は制御部100からの制御信号により、そのオン/オフ、受信周波数の選択(選局)等の各種動作が制御される。
【0037】
103は、セレクタ113を介して受信した放送波から、特定の周波数の放送波を選択受信し、復調して当該放送の音声信号および画像信号を出力するテレビジョン(TV)受
信部で、同調回路、復調回路(データ取得部)、フレーム管理回路、復号回路等により構成される。TV受信部103は制御部100からの制御信号により、そのオン/オフ、受信周波数の選択(選局)等の各種動作が制御される。
【0038】
104は、ディスクに記憶されているデータをピックアップにより読込み、読込んだデータに基づく音声信号、画像信号(例えばDVDやBD(Blu-ray Disc)の場合)の出力を行
うディスク再生部で、光学ピックアップ(データ取得部)、ピックアップ・ディスク駆動機構、ピックアップ・ディスク駆動機構の制御回路、フレーム管理回路、復号回路等により構成される。そして、ディスク再生部104は制御部100からの制御信号により、そのオン/オフ、読込み位置の指定等の各種動作が制御される。
【0039】
105は、磁気記録媒体であるハードディスク(HD)にMP3ファイル等の音楽データやJPEGファイル等の画像データ、MPEG4等の動画データ等が記憶され、記憶された各種データから所望のデータを読み出して出力するHD再生部であり、HDドライブ、当該HDドライブからデータを読み取るデータ取得回路、フレーム管理回路、復号回路等により構成される。そして、HD再生部105は制御部100からの制御信号により、そのオン/オフ、読み出すデータの選択等の各種動作が制御される。
【0040】
130は、地図上に自車位置や目的地までの経路を表示したり、交差点等で音声等により右左折等の進行方向案内を行い、また後述するVICS情報受信部106から交通情報、GPS情報受信部107から自車位置情報を入手して表示したりして、目的地までの経路案内を行うナビゲーション部で、ナビゲーションの為の各種演算処理を行うCPU、各種処理のためにデータを記憶するRAM等のメモリ等から構成され、制御部100からの制御信号に従って、そのオン/オフ、各種動作が制御される。
【0041】
また、ナビゲーション部130は、所謂半導体メモリ地図タイプのナビゲーションで、コネクタに接続された外部記憶媒体90から地図データを読み取り、ナビゲーション機能における地図表示、経路探索処理に用いる。なお、外部記憶媒体90としては、SDメモリカード等と言ったフラッシュメモリ等の不揮発性メモリが用いられる。またナビゲーション部130は、制御部100の指令により外部記憶媒体90に地図データ以外の各種データの読み書きもできるように、データの読み書きができるインターフェイスが搭載されている。
【0042】
106は、交通情報通信システム(VICS(登録商標))に係る交通情報を受信し、受信した交通情報を出力するVICS情報受信部で、交通情報通信システムからのデータを受信する受信機(FM受信機,電波ビーコン受信機,光ビーコン受信機)、受信したデータを復号する復号回路等から構成される。107は、GPS(登録商標)衛星からのGPS信号に基づき自車位置を検出し、検出した現在地情報を出力するGPS情報受信部で、GPS信号を受信するGPS信号受信回路、受信したGPS信号に基づき自車位置を算出する演算部から構成される。
【0043】
119は、車両の周囲を撮影し、動画データ(映像データ及び音声データ)を外部音声/映像入力部118を介して入力するカメラである。カメラ119で撮影した映像データは、分配回路108、画像調整回路109、画像出力部112を介して表示部113に表示され、駐車アシスト等に利用される。また、カメラ119で撮影した動画データは、ドライブレコーダ等のために分配回路108を介してHD再生部105内のHDドライブ或いはメモリ115に記録されても良い。
【0044】
108は、制御部100の制御信号により、出力することが指定された各種ソース(外部記憶媒体再生部101、ラジオ受信部102、TV受信部103、ディスク再生部10
4、HD再生部105及びナビゲーション部130)の音声信号と映像信号を音声調整回路110及び画像調整回路109に出力する分配回路であり、リレーあるいはスイッチングトランジスタ等の電子回路で構成されたスイッチ群で構成される。
【0045】
109は、制御部100の制御信号により、入力された画像信号に対し、輝度や色調、コントラストなどを調整し、調整した各画像信号を出力する画像調整回路で、画像データを記憶するメモリ、画像データを演算処理するデジタルシグナルプロセサ等の演算回路等により構成される。
【0046】
110は、制御部100の制御信号により、入力された音声信号に対し、音量、音声を調整し、調整した音声信号を出力する音声調整回路で、音声データを記憶するメモリ、画像データを演算処理するデジタルシグナルプロセサ等の演算回路、トランジスタ・抵抗・コンデンサ・コイル等により構成される増幅・減衰回路や共振回路等により構成される。111は、音声調整回路110により入力された音声信号を、音声出力するスピーカである。
【0047】
112は、画像調整部から入力された映像信号と、制御部100から表示部113に表示させる表示画像信号とを入力して画像合成等の処理を施し、当該処理を施した画像信号に基づき表示部113を駆動する画像出力部で、例えば、演算処理により画像処理を行なう画像用に特化された演算処理回路である画像ASIC、画像処理・出力用に画像データを記憶するビデオメモリ、画像出力用ビデオメモリに記憶された画像データに基づき表示部113を駆動する画像駆動回路等で構成される。
【0048】
表示部113は、タッチパネル131、液晶パネル132、及びバックライト133を備える。画像出力部112からの映像信号によって液晶パネル132に映像が描画され、これをバックライト133が背後から照明することで動画等の映像が表示される。また、表示部113は、操作メニュー等を液晶パネル132で表示し、ユーザがこの操作メニューに触れて選択する操作を液晶パネル132に重畳させたタッチパネル131で検出し、検出した操作信号を制御部100に入力する。
【0049】
尚、表示部113には、液晶パネル以外のフラットパネルディスレイ、例えば有機ELディスプレイパネル、プラズマディスプレイパネル、冷陰極フラットパネルディスプレイ等を用いることもできる。
【0050】
114は、装置の使用者が各種操作を行うため操作部で、例えば、押釦スイッチ、回転操作スイッチ、ジョイスティック等により構成される。115は、各種データや制御プログラムを記憶するメモリ(記憶媒体)で、例えばHDD(Hard Disk Drive)や、書換え
可能なフラッシュメモリ等により構成される。
【0051】
116は、自動車のインストルメントパネル等に設置されたAVN一体機本体から離れた場所、例えば運転席と助手席間のひじ掛け付近や、ステアリングホイールに設置され、使用者による入力操作の操作状態を出力する遠隔操作部(リモコン)で、本例では操作部の回転操作、傾動操作、押圧操作を検出する。尚、このような遠隔操作部は、回転操作量・方向に応じた信号を出力するロータリエンコーダや、感圧センサ、傾動操作方向に応じた信号を出力するジョイスティック等の傾動センサ、押圧操作によりオンオフ状態が変化する押圧スイッチにより構成される。リモコン116で検出した操作信号は、リモコン送受信部117に送られ、リモコン送受信部117を介して制御部100に入力される。
【0052】
120は、ETC(登録商標:Electronic Toll Collection)システムにおいて、ETCレーン側の端末と通信して料金を自動で支払うETC車載器である。
【0053】
121は、他の装置との通信を行う通信ユニットで、例えば、無線LANやWiMAX(Worldwide Interoperability for Microwave Access)アクセス網、携帯電話回線を介し
て通信を行う。
【0054】
〈動作情報管理装置の構成〉
上記外部媒体記録再生部101、制御部100は本実施形態の動作情報管理装置10の一部としても機能する。
【0055】
図2は、本実施形態の動作情報管理装置の概略構成図を示す。本実施形態の動作情報管理装置10としての制御部100は、CPU1、メインメモリ2、入出力インターフェイス3、補助記憶装置6を備える。
【0056】
メインメモリ2は、CPU1からの高速な読み書きを可能にするため揮発性のメモリ、例えばDRAMを採用した主記憶装置である。
【0057】
入出力インターフェイス3は、AVN一体機の各部と制御部100との間で情報を入出力するためのインターフェイスである。
【0058】
補助記憶装置6は、データやプログラムを記憶する不揮発性の書き換え可能な記憶手段、例えばフラッシュメモリ等である。なお、本実施形態では不揮発性メモリであり、以下不揮発性メモリ6と称する。
【0059】
CPU1は、プログラムに従って処理を実行する演算処理部であり、本実施形態では動作情報管理方法を実行するためのプログラム(動作情報管理プログラム)に従って、エラー検出部や、動作情報取得部、書き込み判定部、書き込み制御部、フォーマット制御部の機能等を実現する。図3は、動作情報管理方法を実行する際の機能ブロック図である。
【0060】
エラー検出部81としては、不具合(エラー)の発生を検出して動作情報取得部82に通知する。エラー検出部81は、例えばCPU例外といったCPU1が命令の実行を継続できないようなエラー(致命的エラー)や、通信エラー等のようにアプリケーションソフトウェアが規定の処理を継続できないようなエラーを検出する。
【0061】
動作情報取得部82としては、エラーの発生を通知された場合に、管理対象の機器から動作情報を取得し、一時記憶部に記憶させる。一時記憶部は、例えば不揮発性メモリ6である。また、一時記憶部は、不揮発性メモリ6に限らずメインメモリ2であっても良い。動作情報取得部82は、例えば取得した動作情報を不揮発性メモリ6のバッファとして確保したエリアへ書き込み、このインデックスをバッファ管理エリアに書き込む。そしてバッファが一杯になった場合、動作情報取得部82は、インデックスを参照し、古い動作情報を順次上書きして新しい動作情報を書き込む。
【0062】
なお、管理対象の機器とは、例えばカメラ119、外部音声/映像入力部118、分配回路108、外部媒体記録再生部101、ラジオ受信部102、TV受信部103、セレクタ113、ディスク再生部104、HD再生部105、ナビゲーション部130、VICS情報受信部106、GPS情報受信部107、メモリ115、操作部114、ETC車載器120、制御部自体100、リモコン送受信部117、通信ユニット121、音声調整回路110、画像調整回路109、画像出力部112、表示部113といったAVN一体機の各部である。これに限らず、管理対象の機器は、動作情報を制御部100に送信可能な機器であれば良い。また、管理対象の機器は、動作情報取得部で動作情報を取得できればAVN一体機以外の機器であっても良い。
【0063】
書き込み判定部83は、所定の書き込み条件を満たしているか否かを判定する。ここで所定の書き込み条件とは、書き込み制御部84が外部記憶媒体90へ動作情報を書き込む場合に、書き込み失敗の可能性が低い条件をいう。例えば、不揮発性メモリの抜き取りがない状態や、電源電圧の低下の可能性が低い状態と判断できる条件である。なお、書き込み条件の具体例については後述する。
【0064】
書き込み制御部84は、外部媒体記録再生部(書き込み部)101を制御し、可視領域及び不可視領域を有する外部記憶媒体90の不可視領域に対し、前記不揮発性メモリ(一時記憶部)6内の動作情報を所定の条件で書き込みさせる。
【0065】
フォーマット制御部は、外部媒体記録再生部101にUSBメモリやSDメモリカード等の外部記憶媒体90がセットされ、ユーザからフォーマッティングの指示があった場合に、外部媒体記録再生部101を制御し、外部記憶媒体90に複数のパーティションを設け、各パーティションを所定のフォーマットでフォーマッティングし、可視領域と不可視領域を作成する。
【0066】
図3の例では、外部記憶媒体90の記憶領域を2つのパーティションに分け、一方のパーティション(パーティション0)を、パソコンで一般的に使用されている形式、例えばFAT(File Allocation Table)32でフォーマッティングし、可視領域を作成する。
【0067】
そして、他方のパーティション(パーティション1)を、特殊な形式でフォーマッティングし、不可視領域を作成する。ここで、可視領域とは、ユーザが使用する一般的なコンピュータ(パソコン)で認識する形式でフォーマッティングした記憶領域であり、前述のように音楽データや画像データ、地図データをユーザがパソコンを用いて自由に読み書きできる領域である。一方、不可視領域とは、ユーザが使用する一般的なコンピュータが認識しない形式でフォーマッティングした記憶領域であり、動作情報を記憶する領域(動作領域)である。
【0068】
尚、この処理により不可視領域に記録されたデータの可視(アクセス)を完全に不可能にするのではなく、不可視領域の特殊な形式に対応していないユーザのパソコンに対して不可視(アクセスできないこと)とし、不可視領域の形式(フォーマット)に対応している自装置(動作情報管理装置10)や動作情報の解析を行うコンピュータでは、不可視領域に対するアクセスを可能とする。
【0069】
このように、ユーザのパソコンで認識しない不可視領域に動作情報を記憶することで、ユーザが可視領域に対して操作を行った際に誤って動作情報を変更(例えば削除)してしまうことを防止できる。
【0070】
従って、不可視領域は、ユーザが誤って変更しない程度にユーザのパソコンからアクセスできなければ良い。このアクセスの難易度は、不可視領域に採用した形式の情報の入手困難度、形式の複雑さ(解析困難性に影響)に応じて変わるので、所望の難易度に応じて不可視領域に採用する形式を任意に決定する。
【0071】
図2に示した本実施形態の動作情報管理装置10としての制御部100は、CPU1がソフトウェア(動作情報管理プログラム)に従って処理を実行するコンピュータであり、この処理によってエラー検出部81や、動作情報取得部82、書き込み判定部83、書き込み制御部84、フォーマット制御部の機能を実現するが、これに限らず、エラー検出部81、動作情報取得部82、書き込み判定部83、書き込み制御部84、フォーマット制御部の機能を専用のハードウェアで実現した装置であっても良い。
【0072】
ここでハードウェアは、例えば、FPGA[Field Programmable Gate Array]、AS
IC[Application Specific Integrated Circuit]、LSI[Large Scale Integration]といった回路で実現することも可能である。また、当該ハードウェアは、IC[Integrated Circuit]、ゲートアレイ、論理回路、信号処理回路、アナログ回路といった基本的な回路で実現することも可能である。
【0073】
論理回路としては、例えば、AND回路(論理積回路)、OR回路(論理和回路)、NOT回路(否定回路)、NAND回路(否定的論理積回路)、NOR回路(否定的論理和回路)、フリップフロップ回路、カウンタ回路がある。信号処理回路には、信号値に対し、例えば、加算、乗算、除算、反転、積和演算、微分、積分を実行する回路がある。アナログ回路には、例えば、信号値に対して、増幅、加算、乗算、微分、積分を実行する回路がある。
【0074】
〈動作情報管理方法〉
図4,図5は、上記構成のAVN一体機において、制御部100が実行する動作情報管理方法の説明図である。図4,図5は、CPU1が命令の実行を継続できないエラー、即ちAVN一体機のリブートが必要になるエラー(以下、致命的エラーと称す)が発生した場合の対処例を示し、図4はエラーを検出した際に動作情報を不揮発性のメモリに退避させ、リブートする処理のフローであり、図5はリブート後に動作情報を不揮発性のメモリから外部記録媒体に書き込む処理のフローである。
【0075】
図4,図5の処理は、車両のイグニッションキーがON又はACC位置となり、電力が供給されると、CPU1により繰り返し実行される。
【0076】
図4の処理が開始されると、CPU1は、命令を実行するにあたり、致命的エラーが発生したか否かを検出する(S10)。なお、致命的エラーが発生していなければ処理を終了し(S10,No)、イグニッションキーがON又はACC位置のままで、電力が供給されている間、CPU1は図4の処理を繰り返し実行する。この致命的エラーは、プログラムのバグやメモリのオーバーフロー等によって発生し、リブートを必要とするエラーである。例えば、CPU1が、16bit幅でアクセスするためにアドレスが2の倍数でなければならない仕様で、奇数アドレスから命令を実行した場合や、奇数アドレスからデータにアクセスしようとした場合、0で除算を行おうとした場合など所謂CPU例外といった所定の状態となった場合、正規の動作から外れて致命的エラーが発生したことを検出する。なお、どのような状態となった場合に、致命的エラーとして検出するかは、上記に限らずCPU1の仕様等に応じて設定できる。
【0077】
致命的エラーが発生した場合(S10,Yes)、CPU1は、エラー内容の解析を行い、エラーの種類を特定する(S20)。例えば、アドレスが2の倍数でなければならない仕様で、奇数アドレスから命令を実行した場合にアライメント例外(命令アドレスエラー)の発生とし、また、奇数アドレスからデータにアクセスしようとした場合や、読み出し専用に指定されている領域に書き込みを行おうとした場合、メモリやデバイスが存在しない領域にアクセスしようとした場合に、アドレス例外とする。更に、遅延スロットにある未定義命令を実行した場合にスロット不当命令例外、遅延スロット以外にある未定義命令を実行した場合に一般不当命令例外とする。
【0078】
次にCPU1は、管理対象の機器からエラー履歴や動作履歴等のログデータを動作情報として取得する(S30)。なお、図4の例では、管理対象が制御部100であるため、メインメモリ2やCPU1のレジスタから動作情報を取得する。ここで取得する動作情報は、例えばエラーを引き起こした命令を実行した関数、それを呼び出した関数、更にこの
関数を呼び出した関数のように、エラーが発生するまでに呼び出された関数の履歴(コールスタック)や、ローカル変数を格納したスタックメモリの状態、スタックポインタやアドレスレジスタ等の状態(レジスタ状態)である。
【0079】
また、CPU1は、取得した動作情報を不揮発性メモリ6のバッファとして確保したエリア(図3)へ書き込み、このインデックスをバッファ管理エリアに書き込む。また、CPU1は、不揮発性メモリ6等の所定の記憶領域に致命的エラー発生フラグを書き込むことで、致命的エラー発生フラグをONにする(S40)。
【0080】
そして、CPU1は、AVN一体機をリブート(再起動)し(S50)、図4の処理を終了する。
【0081】
AVN一体機のリブート後に図5の処理が開始されると、CPU1は、致命的エラーが発生して動作情報を退避させた状態(動作情報退避中)か否かを判定する(S60)。具体的には、不揮発性メモリ6の所定領域にアクセスし、致命的エラー発生フラグがONであるか否かを判定する。
【0082】
ここで動作情報退避中であれば(S60,Yes)、CPU1は、所定の書き込み条件が成立したかを判定する(S70)。
【0083】
書き込み条件が成立した場合(S70,Yes)、CPU1は不揮発性メモリ6のバッファ管理エリアを参照し、外部記憶媒体90へ書き込んでいない動作情報をバッファから読み出し、外部記憶媒体90の不可視領域に書き込む(S80)。なお、不揮発性メモリ6に記憶されている動作情報を一度に外部記憶媒体90へ書き込んでも良いが、バッファに格納する動作情報を複数のブロックに分け、このブロック単位で外部記憶媒体90に書き込みを行っても良い。例えば、外部記憶媒体90の最小書き込み単位を一ブロック(一段)とし、複数ブロック(複数段)に分け、ステップS70で書き込み条件が成立した場合、CPU1は、一ブロック分の動作情報を外部記憶媒体90に書き込ませ、このブロックのインデックスを書き込み済みに更新して図5のフローを終了する。そして、CPU1は、図5の処理を繰り返し、ステップS70で改めて書き込み条件が成立しているか否かを判定し、書き込み条件が成立していれば、インデックスを参照して次のブロックの動作情報を外部記憶媒体90に記憶させる。そして、不揮発性メモリ6のバッファから動作情報を全て外部記憶媒体90へ書き込んだ場合、CPU1は、所定領域の致命的エラー発生フラグを消去することにより致命的エラー発生フラグをOFFにし、図5のフローを終了する。
【0084】
なお、ステップS60にて動作情報退避中でないと判定した場合(S60,No)や、ステップS70で書き込み条件が成立していないと判定した場合(S70,No)、処理を終了し、イグニッションキーがON又はACC位置のままで、電力が供給されている間、CPU1は図5の処理を繰り返し実行する。
【0085】
ここで所定の書き込み条件とは、例えば、外部媒体記録再生部101における外部記憶媒体90の接続部を覆うカバーが閉じているか否か、即ち外部記憶媒体90が取り出し不可能な状態か否かである。図6は、外部記憶媒体90の接続部を覆うカバーの状態を示す図である。なお、図6の例では、表示部113が、この接続部(挿入口)71を覆うカバーを兼ねており、図6(A)がカバーの閉じている状態、図6(B)がカバーの開いている状態である。ナビゲーション用の地図を表示部113に表示する等の通常状態、即ち外部記憶媒体90を挿抜しないときには、表示部113が図6(A)に示すようにAV一体機の正面側(乗員側)を覆い、表示面を乗員側に向けている。
【0086】
そして、外部記憶媒体90を挿抜する場合、表示部113の下端部とヒンジ接続された指示部材78が、表示部113の下端部と共に前方(乗員側)へせり出し、ヒンジ(不図示)により、回動軸70を中心に表示部113が後傾し、表示面を上向きにして倒れることにより、表示部113の奥に配置した外部記憶媒体90の挿入口(メモリスロット)71が露出する。この挿入口71に外部記憶媒体90を挿入することで、外部記憶媒体90の読み書き用の接点が外部媒体記録再生部101のコネクタと電気的に接続し、外部媒体記録再生部101による外部記憶媒体90への動作情報の書き込みや、外部記憶媒体90のフォーマットが可能になる。
【0087】
この表示部113が外部記憶媒体90の挿入口71を覆っている状態(図6(A))であれば、挿入口71が隠れており、ユーザが外部記憶媒体90を挿入口71から抜くことができないため、外部記憶媒体90へ動作情報の書き込みを行っても、途中で外部記憶媒体90を誤って抜き、外部記憶媒体90が破損してしまう恐れがない。
【0088】
そこで、CPU1は、この挿入口71のカバー、即ち表示部113の開閉状態をセンサ73で検出し、表示部113が閉じた状態(図6(A))であれば書き込み条件が成立したと判定し、表示部113が開いた状態(図6(B))であれば書き込み条件が成立していないと判定する。
【0089】
なお、表示部(カバー)113を閉じた状態(図6(A))では、表示部113の裏面がセンサ(押圧スイッチ)73の突部73Aを押圧し、表示部113を開いた状態(図6(B))では、センサ73の突起73Aが解放されるので、センサ73によって、この突起73Aが押圧されているか、解放されているかを検出することによって、表示部(カバー)113の開閉状態を判定できる。なお、センサ73は、押圧スイッチに限らず、ヒンジの開き具合を検出するロータリエンコーダや、表示部113或いは指示部材78の位置を検出するフォトディテクタなど、表示部(カバー)113の開閉状態を検出できるセンサであれば良い。
【0090】
また、所定の書き込み条件として、車両の走行速度が閾値以上であるか否かに応じて書き込みを行うか行わないかを決定しても良い。
【0091】
即ち、車両が閾値を超えた速度で走行中であれば、動作情報の書き込みを開始しても途中でクランキングが行われて電圧変動が起こることがなく、動作情報の書き込みに支障は無いと判断できる。つまり、車両の速度が閾値以下の場合、動作情報の書き込みを開始してしまうと、途中でクランキングが行われて電圧が大きく変動する可能性があり、書き込みを失敗してしまったり、最悪の場合外部記憶媒体90の損傷を招いたりする恐れがあるため、動作情報の書き込みには適さないと判断する。
【0092】
なお、この閾値は、複数、そしてヒステリシスを設けても良く、例えば停止状態から第一の閾値(例えば30km/h)以上となった場合に書き込み可能と判定し、その後書き込み可能な状態から第二の閾値(例えば10km/h)未満となった場合に書き込み不可とする制御も好適なものである。
【0093】
なお、所定の書き込み条件は、上記条件に限らず、書き込みの失敗や、外部記憶媒体90の損傷を招かない条件であれば良い。また、これらの書き込み条件は、組み合わせて用いることができる。
【0094】
これにより動作情報を随時安全に外部記憶媒体90へ書き込むことができ、不揮発性メモリ6の記憶容量に制限されずに、多くの動作情報を取得できる。
【0095】
そして、AVN一体機の不具合を検証する必要が生じた場合に、ユーザが上述の処理により不可視領域に動作情報が書き込まれた外部記憶媒体90をメンテナンス者に送ることにより、メンテナンス者はスムーズな不具合対応を行なえることになる。
【0096】
なお、上記のように不可視領域をFATやNTFSと異なる特定のファイルシステムでフォーマットすれば、大部分のユーザのコンピュータで不可視とすること、またアクセスも困難にすることができ目的を達成できる。この場合、不可視領域のファイルシステム(特定のファイルシステム)は、FATやNTFS以外のファイルシステムを任意に設定して良く、例えばHFSやXFSである。
【0097】
また、可視領域のファイルシステムは、FAT,NTFSのほか、HFSやHFS+であっても良い。この場合、不可視領域のファイルシステムとは、HFSやHFS+と言った可視領域でのファイルシステム以外でアクセスの困難度が高い、例えばXFSやZFSである。これにより不可視領域を更に多くのユーザのコンピュータ上で不可視にできる。
【0098】
更に、可視領域のファイルシステムは、上記に加えて、JFS,XFS,ext2,ext3,ext4,ReiserFSとしても良い。この場合、不可視領域のファイルシステムとは、JFS,XFS,ext2,ext3,ext4,ReiserFSと言った可視領域でのファイルシステム以外でアクセスの困難度が高い、例えば、UFS2やZFSである。
【0099】
なお、不可視領域は、独自形式でフォーマットし、当該不可視領域に記憶した動作情報を専用ツールで読み出すようにしても良い。
【0100】
〈変形例1〉
図7は、上記実施形態の変形例の説明図である。本変形例は、動作情報取得部82(図3)が管理対象の機器から受けた情報のうち、優先度の高いものを抽出して動作情報とし、不揮発性メモリ6に記憶させる構成が前述の実施形態と異なっている。なお、その他の構成は同じである。
【0101】
図7の処理は、車両のイグニッションキーがON又はACC位置となり、本変形例のAVN一体機に電力が供給されると、CPU1により繰り返し実行される。
【0102】
図7の処理が開始されると、CPU1は、命令を実行するにあたり、致命的エラーが発生したか否かを検出する(S10)。なお、致命的エラーが発生していなければ処理を終了し(S10,No)、イグニッションキーがON又はACC位置のままで、電力が供給されている間、CPU1は図7の処理を繰り返し実行する。この致命的エラーは、プログラムのバグやメモリのオーバーフロー等によって発生し、リブートを必要とするエラーである。例えば、CPU1が、16bit幅でアクセスするためにアドレスが2の倍数でなければならない仕様で、奇数アドレスから命令を実行した場合や、奇数アドレスからデータにアクセスしようとした場合、0で除算を行おうとした場合など所謂CPU例外といった所定の状態となった場合、正規の動作から外れて致命的エラーが発生したことを検出する。なお、どのような状態となった場合に、致命的エラーとして検出するかは、上記に限らずCPU1の仕様等に応じて設定できる。
【0103】
致命的エラーが発生した場合(S10,Yes)、CPU1は、エラー内容の解析を行い、エラーの種類を特定する(S20)。例えば、アドレスが2の倍数でなければならない仕様で、奇数アドレスから命令を実行した場合にアライメント例外(命令アドレスエラー)の発生とし、また、奇数アドレスからデータにアクセスしようとした場合や、読み出し専用に指定されている領域に書き込みを行おうとした場合、メモリやデバイスが存在し
ない領域にアクセスしようとした場合に、アドレス例外とする。更に、遅延スロットにある未定義命令を実行した場合にスロット不当命令例外、遅延スロット以外にある未定義命令を実行した場合に一般不当命令例外とする。
【0104】
次にCPU1は、管理対象の機器からエラー履歴や動作履歴等のログデータを取得する(S30)。なお、図7の例では、管理対象が制御部100であるため、メインメモリ2やCPU1のレジスタからログデータを動作情報として取得する。
【0105】
更に、CPU1は、ステップS30で取得した動作情報のうち所定の情報を抽出することで動作情報を絞り込む(S35)。図8は、この動作情報を絞り込む処理の説明図である。図8に示すように、ステップS30で取得したログデータ61は、エラーの発生時にCPU1のレジスタやカーネルメモリといった所定の記憶領域に記憶されていた情報を読み出したものであり、種々の情報を含んでいるため、サイズが大きい。そこで、CPU1は、ログデータ61に含まれる各情報に付されたIDに基づいて、例えばコールスタック、イベント状態、タスク状態、レジスタ状態等の所定の情報を抽出し、抽出動作情報62とする。
【0106】
ここで、コールスタックは、エラーを引き起こした命令を実行した関数、それを呼び出した関数、更にこの関数を呼び出した関数のように、エラーが発生するまでに呼び出された関数の履歴を示す情報である。
【0107】
イベント状態は、割り込み禁止や、メッセージ、エラー情報等の情報である。
【0108】
タスク状態は、タスクがRUNかSLEEPか等の状態を示す情報である。
【0109】
レジスタ状態は、各機器のCPU(制御部100であればCPU1)のレジスタ状態を示す情報である。
【0110】
これらの情報を抽出して抽出動作情報62とすることで、不揮発性メモリ6に記憶させる情報量を数十分の一に低減できる。
【0111】
次にCPU1は、抽出動作情報62を不揮発性メモリ6のバッファとして確保したエリア(図3)へ書き込み、このインデックスをバッファ管理エリアに書き込む。また、CPU1は、不揮発性メモリ6等の所定の記憶領域に致命的エラー発生フラグを書き込むことで、致命的エラー発生フラグをONにする(S40)。
【0112】
そして、CPU1は、AVN一体機をリブート(再起動)し(S50)、図7の処理を終了する。
【0113】
なお、AVN一体機のリブート後に、不揮発性メモリ6から外部記憶媒体90へ抽出動作情報(動作情報)を書き込む処理は、図5と同じである。
【0114】
以上のように本変形例1によれば、内蔵の不揮発性メモリ6に書き込む動作情報の量が低減されるので、不揮発性メモリ6から外部記憶媒体90に書き込む時間が短縮され、途中で書き込みが中断される可能性が少なくなり、確実に外部記憶媒体90に書き込むことができる。
【0115】
また、動作情報の量が低減されたことにより、より長時間に渡る動作情報を不揮発性メモリ6でバッファリングでき、データの保持時間が長くなることから、渋滞等で車両の速度が上がらず書き込み条件が成立する機会が少なくなった場合であっても確実に動作情報
を記憶することができる。
【0116】
〈変形例2〉
図4,図7の例では、エラー発生時に動作情報を一時記憶部(不揮発性メモリ6)に記憶させたが、本変形例2では、動作情報を常時一時記憶部(不揮発性メモリ6)に記憶させておき、エラーが発生した場合に一時記憶部から外部記憶媒体90に動作情報を書き込む例を示す。
【0117】
図9,図10は、変形例2の動作情報管理方法の説明図である。図9,図10の処理は、車両のイグニッションキーがON又はACC位置となり、本変形例のAVN一体機に電力が供給されると、CPU1により繰り返し実行される。
【0118】
図9の処理が開始されると、CPU1は、管理対象の機器からエラー履歴や動作履歴等のログデータを取得する(S30)。なお、図9の例では、管理対象が制御部100であるため、メインメモリ2やCPU1のレジスタからログデータを動作情報として取得する。
【0119】
更に、CPU1は、ステップS30で取得した動作情報のうち所定の情報を抽出する(S35)。
【0120】
次にCPU1は、抽出動作情報62を不揮発性メモリ6のバッファとして確保したエリア(図3)へ書き込み、このインデックスをバッファ管理エリアに書き込み(S40A)、図9の処理を終了する。
【0121】
また、図10の処理が開始されると、CPU1は、命令を実行するにあたり、致命的エラーが発生したか否かを検出する(S10)。なお、致命的エラーが発生していなければ処理を終了し(S10,No)、イグニッションキーがON又はACC位置のままで、電力が供給されている間、CPU1は図10の処理を繰り返し実行する。
【0122】
致命的エラーが発生した場合(S10,Yes)、CPU1は、不揮発性メモリ6等の所定の記憶領域に致命的エラー発生フラグを書き込むことで、致命的エラー発生フラグをONにする(S40B)。
【0123】
そして、CPU1は、AVN一体機をリブート(再起動)し(S50)、図10の処理を終了する。
【0124】
なお、AVN一体機のリブート後に、不揮発性メモリ6から外部記憶媒体90へ抽出動作情報(動作情報)を書き込む処理は、図5と同じである。
【0125】
本変形例2によれば、動作情報を常時記憶しておくので、エラー発生時にAVN一体機の動作が不安定になったような場合であっても、確実に動作情報を取得することができる。
【0126】
本変形例2では、図9のステップS35にて、所定の動作情報を抽出して不揮発性メモリ6に記憶させる動作情報を絞り込んだが、これに限らず、ステップS35を省略しステップS30で取得した動作情報をステップS40Aで不揮発性メモリ6に書き込んでも良い。
【0127】
また、本変形例2では、図10のステップS10にて致命的エラーの発生を検出した場合、動作情報を取得せずにAVN一体機をリブート(S50)したが、これに限らず、図
10の処理に代えて図7の処理を行っても良い。即ち、図9の処理によって動作情報を常時不揮発性メモリ6に記憶させると共に、図7の処理によってエラー発生時の動作情報を不揮発性メモリ6に記憶させる。
【0128】
〈変形例3〉
本変形例3は、エラーが発生した場合に、外部記憶媒体90の有無を判定し、外部記憶媒体90が無ければ不揮発性メモリ6に記憶させる動作情報を絞り込み、外部記憶媒体90があれば動作情報を絞り込まずに不揮発性メモリ6に記憶させる例を示す。なお、この他の構成は前述の実施形態と同じであるため、同一の要素には同符号を付すなどして重複する説明を省略した。
【0129】
図11は、本変形例3の動作情報管理方法の説明図である。図11の処理は、車両のイグニッションキーがON又はACC位置となり、本変形例のAVN一体機に電力が供給されると、CPU1により繰り返し実行される。
【0130】
図11の処理が開始されると、CPU1は、命令を実行するにあたり、致命的エラーが発生したか否かを検出する(S10)。
【0131】
致命的エラーが発生した場合(S10,Yes)、CPU1は、外部記憶媒体90の有無、例えば外部記憶媒体90が外部媒体記録再生部101の挿入口71(図6(B))に挿入されているか否かを判定する(S15)。
【0132】
外部記憶媒体90が有る場合(S15,Yes)、CPU1は、図4のフローと同様にエラー内容を解析し(S20)、動作情報を取得して(S30)、不揮発性メモリ6に記憶させ(S40)、AVN一体機をリブートする(S50)。
【0133】
一方、外部記憶媒体90が無い場合(S15,No)、CPU1は、図7のフローと同様にエラー内容を解析し(S20)、動作情報を取得して(S30)、所定の動作情報に絞り込み(S35)、不揮発性メモリ6に記憶させ(S40)、AVN一体機をリブートする(S50)。
【0134】
なお、AVN一体機のリブート後に、不揮発性メモリ6から外部記憶媒体90へ抽出動作情報(動作情報)を書き込む処理は、図5と同じである。
【0135】
このように、本変形例3によれば、外部記憶媒体90が有る場合には絞り込まずに多くの動作情報を不揮発性メモリ6を介して外部記憶媒体90に記憶させるようにし、外部記憶媒体90が無い場合にはエラー解析に必要な動作情報に絞り込んで不揮発性メモリ6に記憶させることができる。即ち、外部記憶媒体90の有無に応じて適切な動作情報管理方法を選択的に実行できる。
【0136】
〈変形例4〉
図12は、アプリケーションレベルのエラー即ちAVN一体機のリブートが不要なエラーが発生した例を示す。
【0137】
図12の処理は、車両のイグニッションキーがON又はACC位置となり、電力が供給されると、CPU1により繰り返し実行される。
【0138】
図12の処理が開始されると、CPU1は、命令を実行するにあたり、エラーが発生したか否かを検出する(S110)。なお、致命的エラーが発生していなければ処理を終了し(S110,No)、イグニッションキーがON又はACC位置のままで、電力が供給
されている間、CPU1は図12の処理を繰り返し実行する。このエラーは、プログラムのバグや入出力信号の異常等によって発生し、AVN一体機自体のリブートをせずに動作情報の取得や書き込みといった他の処理が可能なものである。例えば、通信ユニット121と無線基地局(不図示)との接続が確立出来ない、或いは送信信号に対する応答(Acknowledgement)が無い、TV受信部103で受信した放送波が微弱で動画をデコードできな
い、外部媒体記録再生部101で読み出した音楽ファイルの形式がデコーダに対応しておらず再生できない、といった状態となった場合にCPU1がエラーとして検出する。なお、どのような状態となった場合に、エラーとして検出するかは、各アプリケーションの仕様等に応じて任意に設定して良い。なお、エラーの検出(S110)を図12のフローに含めず、各アプリケーションのプログラム上にエラー条件を定義しておき、エラーとなった場合に図12の処理を呼び出して、ステップS120以降を実行する構成としても良い。
【0139】
エラーが発生した場合(S110,Yes)、CPU1は、エラー内容の解析を行い、エラーの種類を特定する(S120)。例えば、エラーの種類毎にエラーコードを割り当て、エラーテーブルとして記憶しておき、ステップS110で検出したエラーの状態と対応するエラーコードを当該エラーテーブルから特定する。
【0140】
次にCPU1は、管理対象の機器からエラー履歴や動作履歴等のログデータを動作情報として取得する(S130)。例えば、管理対象が制御部100である場合、メインメモリ2やCPU1のレジスタから動作情報を取得する。ここで取得する動作情報は、例えばエラーを引き起こした命令を実行した関数、それを呼び出した関数、更にこの関数を呼び出した関数のように、エラーが発生するまでに呼び出された関数の履歴(コールスタック)や、ローカル変数を格納したスタックメモリの状態、スタックポインタやアドレスレジスタ等の状態(レジスタ状態)である。
【0141】
また、CPU1は、取得した動作情報をメインメモリ2のバッファとして確保したエリア(図3)へ書き込み、このインデックスをバッファ管理エリアに書き込む(S140)。本変形例4のフローでは、リブートを伴わないため、動作情報を揮発性のメインメモリ2に一時記憶させることができる。例えば、外部記憶媒体90の最小書き込み単位を一ブロック(一段)とし、複数ブロック(複数段)の動作情報をメインメモリ2のバッファに一時記憶させる構成とする。外部記憶媒体90がSDメモリカードであれば512kbiteを一ブロックとし、十ブロック程度の動作情報を一時記憶させることで、十時間程度の動作情報を一時記憶部としてのメインメモリ2に記憶させることができる。なお、本変形例4においても一時記憶部は、メインメモリ2に限らず、不揮発性メモリ6であっても良い。
【0142】
そして、CPU1は、所定の書き込み条件が成立したか否かを判定する(S170)。
【0143】
書き込み条件が成立した場合(S170,Yes)、CPU1はメインメモリ2のバッファ管理エリアを参照し、外部記憶媒体90へ書き込んでいないブロックの動作情報をバッファから読み出し、外部記憶媒体90の不可視領域に書き込む(S180)。なお、メインメモリ2のバッファに記憶されている動作情報を一度に外部記憶媒体90へ書き込んでも良いが、一ブロックずつ外部記憶媒体90に書き込みを行っても良い。例えば、ステップS170で書き込み条件が成立した場合、CPU1は、一ブロック分の動作情報を外部記憶媒体90に書き込ませ、このブロックのインデックスを書き込み済みに更新して図12のフローを終了する。そして、CPU1は、図12の処理を繰り返し、ステップS170で改めて書き込み条件が成立しているか否かを判定し、書き込み条件が成立していれば、インデックスを参照して次のブロックの動作情報を外部記憶媒体90に記憶させる。そして、メインメモリ2のバッファから動作情報を全て外部記憶媒体90へ書き込んだ場
合、CPU1は、図12のフローを終了する。
【0144】
なお、図12の例では、図4,図5の処理と同様に動作情報を取得して一時記憶部に書き込んだが、図7の処理と同様にステップS130で取得した動作情報から所定の動作情報を抽出して絞り込む構成としても良い。
【0145】
更に、図11と同様に、外部記憶媒体90が無い場合には動作情報を絞り込み、外部記憶媒体90が有る場合には動作情報を絞り込まずに一時記憶部に記憶させるようにしても良い。
【符号の説明】
【0146】
100 制御部
101 外部媒体記録再生部(書き込み部)
1 CPU
2 メインメモリ
3 入出力インターフェイス
6 不揮発性メモリ
【特許請求の範囲】
【請求項1】
管理対象の機器から当該機器の動作に関する動作情報を取得するステップと、
前記機器の動作に関する動作情報を一時記憶部に記憶するステップと、
外部記憶媒体の当該機器の動作に関する動作領域に対して、前記一時記憶部内の当該機器の動作に関する動作情報を書き込むステップと、を含む動作情報管理方法であって、
前記外部記憶媒体の記憶領域のうち、前記動作領域を不可視領域、当該不可視領域以外を可視領域とすることを特徴とする動作情報管理方法。
【請求項2】
前記不可視領域が、前記可視領域と異なったフォーマットの領域であることを特徴とする請求項1に記載の動作情報管理方法。
【請求項3】
所定の条件を満たした場合に、前記一時記憶部内の前記動作情報を前記外部記憶媒体の前記不可視領域に書き込む請求項1又は2に記載の動作情報管理方法。
【請求項4】
前記管理対象の機器が、車両用機器であり、前記所定の条件が前記車両の走行状態に応じた条件である請求項1乃至3の何れか一項に記載の動作情報管理方法。
【請求項5】
前記管理対象の機器から取得した動作情報のうち所定の情報を抽出するステップを更に含み、抽出した動作情報を前記一時記憶部に記憶させる請求項1乃至4の何れか一項に記載の動作情報管理方法。
【請求項6】
管理対象の機器から当該機器の動作に関する動作情報を取得する動作情報取得部と、
前記機器の動作に関する動作情報を記憶する一時記憶部と、
外部記憶媒体の当該機器の動作に関する動作領域に対して、前記一時記憶部内の当該機器の動作に関する動作情報を書き込む書き込み部と、
を備えた動作情報管理装置であって、
前記外部記憶媒体の記憶領域のうち、前記動作領域を不可視領域、当該不可視領域以外を可視領域とすることを特徴とする動作情報管理装置。
【請求項7】
管理対象の機器から当該機器の動作に関する動作情報を取得するステップと、
前記機器の動作に関する動作情報を一時記憶部に記憶するステップと、
外部記憶媒体の当該機器の動作に関する動作領域に対して、前記一時記憶部内の当該機器の動作に関する動作情報を書き込むステップと、
をコンピュータに実行させるための動作情報管理プログラムであって、
前記外部記憶媒体の記憶領域のうち、前記動作領域を不可視領域、当該不可視領域以外を可視領域とすることを特徴とする動作情報管理プログラム。
【請求項1】
管理対象の機器から当該機器の動作に関する動作情報を取得するステップと、
前記機器の動作に関する動作情報を一時記憶部に記憶するステップと、
外部記憶媒体の当該機器の動作に関する動作領域に対して、前記一時記憶部内の当該機器の動作に関する動作情報を書き込むステップと、を含む動作情報管理方法であって、
前記外部記憶媒体の記憶領域のうち、前記動作領域を不可視領域、当該不可視領域以外を可視領域とすることを特徴とする動作情報管理方法。
【請求項2】
前記不可視領域が、前記可視領域と異なったフォーマットの領域であることを特徴とする請求項1に記載の動作情報管理方法。
【請求項3】
所定の条件を満たした場合に、前記一時記憶部内の前記動作情報を前記外部記憶媒体の前記不可視領域に書き込む請求項1又は2に記載の動作情報管理方法。
【請求項4】
前記管理対象の機器が、車両用機器であり、前記所定の条件が前記車両の走行状態に応じた条件である請求項1乃至3の何れか一項に記載の動作情報管理方法。
【請求項5】
前記管理対象の機器から取得した動作情報のうち所定の情報を抽出するステップを更に含み、抽出した動作情報を前記一時記憶部に記憶させる請求項1乃至4の何れか一項に記載の動作情報管理方法。
【請求項6】
管理対象の機器から当該機器の動作に関する動作情報を取得する動作情報取得部と、
前記機器の動作に関する動作情報を記憶する一時記憶部と、
外部記憶媒体の当該機器の動作に関する動作領域に対して、前記一時記憶部内の当該機器の動作に関する動作情報を書き込む書き込み部と、
を備えた動作情報管理装置であって、
前記外部記憶媒体の記憶領域のうち、前記動作領域を不可視領域、当該不可視領域以外を可視領域とすることを特徴とする動作情報管理装置。
【請求項7】
管理対象の機器から当該機器の動作に関する動作情報を取得するステップと、
前記機器の動作に関する動作情報を一時記憶部に記憶するステップと、
外部記憶媒体の当該機器の動作に関する動作領域に対して、前記一時記憶部内の当該機器の動作に関する動作情報を書き込むステップと、
をコンピュータに実行させるための動作情報管理プログラムであって、
前記外部記憶媒体の記憶領域のうち、前記動作領域を不可視領域、当該不可視領域以外を可視領域とすることを特徴とする動作情報管理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−155472(P2012−155472A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−13092(P2011−13092)
【出願日】平成23年1月25日(2011.1.25)
【出願人】(000237592)富士通テン株式会社 (3,383)
【Fターム(参考)】
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願日】平成23年1月25日(2011.1.25)
【出願人】(000237592)富士通テン株式会社 (3,383)
【Fターム(参考)】
[ Back to top ]