(58)【調査した分野】(Int.Cl.,DB名)
1以上のイベントの発生に起因して生じる前記1以上のイベントの発生にそれぞれ対応するエラーを検出する情報処理装置と、前記情報処理装置を制御する制御装置とを含む情報処理システムであって、
前記情報処理装置は、
前記エラーの検出対象となる信号を選択する選択手段と、
前記選択された信号における、前記1以上のイベントの発生に起因して生じる状態変化の情報を所定のタイミングで取得する取得手段と、
前記1以上のイベントにそれぞれ対応付けて予め定められた1以上のテーブル情報と、
前記1以上のイベントのうち、所定のイベントの発生に起因して生じる前記取得された信号の状態変化の情報と、前記1以上のテーブル情報のうち、前記所定のイベントに対応付けて予め定められたテーブル情報と、を比較する比較手段と、
前記比較手段による比較結果を出力する出力手段と、を含み、
前記エラーの検出対象となる信号は、前記1以上のイベントを発生させる機能を有する1以上のモジュールに対する複数のアクセス信号を含み、前記取得手段は、前記複数のアクセス信号のうち、所定のタイミングにおいて特定のアクセス信号の状態変化の情報を取得した後、前記所定のタイミングから所定時間待機している最中に、前記特定のアクセス信号と異なる他のアクセス信号の状態変化の情報を取得し、
前記制御装置は、
前記出力手段から出力された比較結果を表示する表示手段を含むことを特徴とする情報処理システム。
【発明を実施するための形態】
【0010】
次に、本発明を実施するための形態について図面を参照して詳細に説明する。なお、各図中、同一又は相当する部分には同一の符号を付しており、その重複説明は適宜に簡略化乃至省略する。本発明は、デバイスの内部信号、及びCPUアクセスログの取得を行う情報処理装置、及び情報処理システムに関するものである。
【0011】
すなわち、イベントの発生に起因して生じるデバイス内部モジュールに対するアクセス、内部信号、及び外部とのI/F信号の状態変化が纏めてイベントログとして取得される。具体的には、デバイスの内部信号、及びCPUアクセスログを取得手段が取得するに際し、デバイスの内部モジュールからの内部信号、外部端子、及び各内部モジュールに対するCPUアクセス状態を示す信号からエラーの検出対象となる任意の信号が選択手段により選択される。そして、選択された信号の変化を検出したタイミングや、タイマによる一定間隔のサンプリングタイミングでログ用のメモリに状態信号を一括して登録する。
【0012】
そして、選択された信号と、イベントに対応付けて予め登録してあるイベントテーブル情報とが比較手段によって比較されることにより、シーケンスエラーを検出するのである。さらに、登録されたログを順次読み出し、バイナリ表示することにより、モニタ上で波形を観測し、視覚的に状態を確認するのである。これにより、ハードウェア信号の変化とソフトウェアからのアクセスのタイミングとを容易に解析することができる情報処理装置、及び情報処理システムに関するものである。
【0013】
上記記載の本発明の特徴について、以下図面を用いて詳細に解説する。まず始めに、本発明の実施形態に係る叙法処理システムの全体構成について説明する。
図1は、本発明の実施形態に係る情報処理システムの全体構成について説明する概略構成図である。
【0014】
本発明の実施形態に係る情報処理システム1を構成する情報処理装置としての画像処理装置100は、
図1に示すように、読み取り部101と、書き込み部102と、CPU106と、ASIC(Application Specific Intergrated Circuit)114と、画像メモリ111と、通信部112とから構成される。そして、ASIC114は、内部にCPU I/F部103と、複数のモジュール104と、画像メモリ制御部105と、外部I/F制御部110と、デバッグコントローラ107と、ログ用メモリ108と、シリアルI/F部109とを具備している。画像処理装置100は、外部に設けられた制御装置であるPC(Personal Computer)113により制御される。
【0015】
図1において、読み取り部101は、CCD(Charge Coupled Device)やCIS(Contact Image Sensor)を用いたカラー画像を読み取る部分であり、読み取られた画像データは、画像メモリ制御部105に出力される。読み取り部101では、CCDやCISを2つ具備することによって両面画像の同時読み取りを行う。書き込み部102は、画像メモリ制御部105から転送された画像データを受け取り、LD(Laser Diode)を用いた書き込みを制御する。
【0016】
ASIC114は、CPU106からのアクセスを受ける半導体デバイスであり、読み取り部101によって読み取られた画像データを画像処理し、画像メモリ111に転送する。また、画像メモリ111の中から画像データを読み出し、書き込みに適した画像処理を行い、書き込み部102に画像を転送する。
【0017】
CPU I/F部103は、CPU106に対してCPUバスを介して接続され、CPUバスをデバイス内部バスに変換する。CPU106に対するアクセスをデコードし、内部のモジュール104に対するCS(Chip Select)を生成することにより、CPU106から内部のモジュール104に対するアクセスを中継する。また、CS信号とは別に、各モジュール104毎のアクセス状態信号を生成する。
【0018】
モジュール104は、画像処理の機能毎にモジュールが搭載される。画像処理の機能としては、読み取り部101とのI/Fモジュール、MTF(Modulation Transfer Function)補正、平滑フィルタ、地肌除去、及び階調処理等の画像処理モジュール、変倍、シフト、及びトリミング等の画像加工を行うモジュール、書き込み部102とのI/Fモジュール、及び割り込み処理を行うモジュールがある。
【0019】
画像メモリ制御部105は、読み取り部101で読み取られた画像データを画像メモリ111に転送したり、画像メモリ111の画像データを書き込み部102に対して転送したりする。また、メモリバスの調停も行う。画像メモリ111は、画像データの保存、符号データの保存、及びプログラムの保存を行う。
【0020】
外部I/F制御部110は、通信部112、及び図示しないネットワークを介して外部の通信機器と接続されるI/F制御部である。外部に対する画像転送、及び外部からのプリントデータを入力するためのI/Fを制御する。CPU106は、画像処理装置100の全体の動作を制御する。
【0021】
デバッグコントローラ107は、CPU I/F部103から入力されるアクセス状態信号及びアドレス、データ信号、各モジュールからの内部信号、並びにデバイス端子信号の中から信号を選択する。そして、選択された信号の変化や、タイマによるサンプリングタイミングを検出し、選択された信号を、ビット列としてログ用メモリ108に登録する。
【0022】
複数のイベントテーブルに対して検出される状態を予め設定しておき、選択された信号群と予め設定されたイベントテーブルとが比較される。比較された結果、異常シーケンスを検出することにより、画像処理装置100の図示しない操作部に対して出力する、又はログ用メモリ108にエラー状態を登録する。
【0023】
登録されたログ情報をログ用メモリ108から読み出し、改めてイベントテーブルと比較を行うことにより異常を確認することも可能である。登録されたログ情報は、デバッグコントローラ107を介してCPU106からも読み出すことができ、また、シリアルI/F109を介して外部に接続されたPC113からも読み出すことができる。シリアルI/F部109を介して、PC113上からイベントテーブルを書き換えることも可能である。
【0024】
ログ用メモリ108は、ログ情報を登録するためのメモリである。シリアルI/F部109は、シリアルI/F部109を介して外部に接続されたPC113との間の通信を制御する。制御内容は、外部のPC113に対するログ情報の出力、及び外部PC113からの入力されるイベントテーブル設定に関する通信制御である。
【0025】
次に、本発明の実施形態に係る情報処理装置のデバッグコントローラ107について
図2を参照して説明する。
図2は、本発明の実施形態に係る情報処理装置のデバッグコントローラについて説明する図である。デバッグコントローラ107では、各モジュール104からの内部信号、外部端子115、及びCPU I/F部103からのアクセス状態信号の中から選択手段であるセレクタ1075によって任意の信号が選択される。
【0026】
セレクタ1075によって選択された信号に対して、信号の変化が検出されたタイミングや、サンプリングタイマ1071による一定間隔でサンプリングを行い、そのタイミングにおける信号の状態をログ用メモリ108に登録する。サンプリング間隔を任意のタイミングに設定可能なサンプリングタイマ1071を搭載したことにより、信号の変化点のみの検出では視覚的に観測し難い場合に、変化点の間の状態をも観測することが可能となる。これにより、より視覚的にハードウェアの動作を把握することができるようになる。
【0027】
そして、ログ用メモリ108に登録することにより確定された信号の状態と、複数のイベントテーブル1074の状態とが、変化検出器及び比較手段である比較器1072において比較され、シーケンスエラーの発生の有無が確認される。具体的には、セレクタ1075によって選択された信号の0ビット目から23ビット目までの信号状態と、イベントテーブル1074の中の比較対象となる値とが比較される。
【0028】
変化検出器及び比較器1072において比較が行われ、その比較結果であるシーケンスエラーの発生の有無の結果、及びシーケンスエラーの発生が有った場合、該当するイベントテーブル1074の番号が、同時にログ用メモリ108に登録される。変化検出器及び比較器1072において、ログ用メモリ108に登録することにより確定された信号の状態と、イベントテーブル1074の値とを比較する場合、比較対象たるビットのみを選択することができるよう、マスク機能1073が搭載されている。
【0029】
変化検出器及び比較器1072において比較された結果、シーケンスエラーの発生が有った場合には、エラーフラグ1077の24ビット目から31ビット目の信号内に、シーケンスエラーが発生したビットに対応するフラグが立つ。そして、CPU I/F部103に対して割り込み処理を発生させることによりシーケンスエラーが発生した旨を通知し、画像処理装置100の図示しない操作部にエラー表示を出力させることができる。また、シーケンスエラーの発生の有無を確認することにより、画像処理装置100の異常発生に伴う印刷動作や読み取り動作を停止させ、そのときの画像処理装置100の状態を確認することにより、異常画像の発生防止や解析処理の向上を図ることができる。
【0030】
次に、本発明の実施形態に係る情報処理装置のログ情報のメモリの内容について
図3を参照して説明する。
図3は、本発明の実施形態に係る情報処理装置のログ用のメモリ内容について説明する図である。
【0031】
ログ用メモリ108(
図2)には、登録を検出するタイミングで、順次、信号状態とエラーフラグとが登録される。メモリ内容は、0ビット目から23ビット目までの信号状態と、24ビット目から30ビット目までのイベントテーブル1074のテーブル番号と、31ビット目のエラー有無フラグとから構成される。
【0032】
登録開始は、CPU I/F部103から起動されると共に、先頭アドレスから開始される。また、登録の停止は、エラー検出、又はCPU I/F103からの指示によって行われる。エラー検出、又はCPU I/F部103からの指示によって停止したときのメモリアドレス(ADDR_X)は保持され、CPU I/F部103からメモリアドレス(ADDR_X)を読み出すことができる。
【0033】
エラー検出によって登録を停止させる場合、エラーが発生した後の信号状態に関しても確認する必要がある。このため、追加するアドレスの登録数(FA)を設定し、追加登録されたメモリアドレス(ADDR_X+FA)まで信号状態が登録される。
【0034】
次に、本発明の実施形態に係る情報処理装置のログ情報を取得するタイミングについて
図4を参照して説明する。
図4は、本発明の実施形態に係る情報処理装置のログ取得タイミングについて説明するタイミングチャート図である。
【0035】
図4では、内部信号であるm2p_enと、外部信号であるfsyncと、内部信号であるframeと、モジュールAの信号であるmod_a_enと、モジュールBの信号であるであるmod_b_enと、モジュールCの信号であるであるmod_c_enと、の合計6種類の信号がセレクタ1075(
図2)によって選択されている。そして、これらの信号に対して、ログ取得タイミングによる一定間隔でサンプリングが行われ、そのタイミングにおける信号の状態である信号状態ビットと、イベントテーブル1074の内容との比較が行われる。
【0036】
図4の場合、m2p_en信号からmod_c_en信号までのログ取得タイミングにおける信号変化を検出し、そのタイミングでイベントテーブル1074と比較が行われ、結果がログ用メモリ108(
図2)に順次登録される。サンプリングタイマ1071によるサンプリングによっても同様に、信号変化とイベントテーブル1074とが比較され、結果がログ用メモリ108に順次登録される。
【0037】
図4では、イベントテーブルが“101010”であるので、これに対応する信号状態ビットとの比較が行われ、信号状態ビット“101010”に付加されたエラー表示ビットが“1”であるから、エラー有りと判断され、シーケンスエラーが検出される。このシーケンスエラーの判断の具体例としては、画像転送中における画像加工モジュールに対するサイズ変更、画像転送中における階調処理モジュール等に対する画像処理パラメータ変更等が考えられる。すなわち、異常画像の発生を引き起こす可能性の高いCPU106(
図1)に対するアクセス等である。
【0038】
次に、本発明に実施形態に係る情報処理装置のモジュールアクセス状態信号の作成方法について
図5を参照して説明する。
図5は、本発明の実施形態に係る情報処理装置のモジュールアクセス状態信号の作成方法について説明するタイミングチャート図である。
【0039】
CPU106(
図1)から各モジュール104に対するアクセス信号は、モジュール104のレジスタの数が多くなると、信号変化が多くなり過ぎてログ用メモリ108の容量がすぐ一杯になってしまう。そのため、各モジュール104毎にen_waitの待機時間を設定できるようにしておく。そして、en_waitの待機時間中に、CPU106から各モジュール104に対するアクセスを重複させる処理を行うことにより、CPU106のアクセス状態信号(mod_*_en)の変化を少なくしている。
【0040】
具体的には、(A)の時点では、CPU106からモジュールA 104に対してアクセスを行うことにより、アクセス状態信号(mod_a_en)の状態をログ用メモリ108に格納する。そして、(A)の時点からen_wait(A)の待機時間を待った後の(B)の時点で、CPU106からモジュールB 104に対してアクセスを行うことにより、アクセス状態信号(mod_b_en)の状態をログ用メモリ108に格納する。
【0041】
そして、(B)の時点からen_wait(B)の待機時間の最中である(C)の時点で、CPU106からモジュールC 104に対してアクセスを行うことにより、アクセス状態信号(mod_c_en)の状態をログ用メモリ108に格納する。すなわち、en_wait(B)の待機時間の最中に、CPU106からモジュールB 104に対するアクセスと、モジュールC 104に対するアクセスとを重複させて処理しているのである。
【0042】
同様に、(C)の時点からen_wait(C)の待機時間中の最中である(D)の時点で、CPU106からモジュールD 104に対してアクセスを行うことにより、アクセス状態信号(mod_d_en)の状態をログ用メモリ108に格納する。この場合にも、en_wait(C)の待機時間の最中に、CPU106からモジュールC 104に対するアクセスと、モジュールD 104に対するアクセスとを重複させて処理しているのである。
【0043】
このように、レジスタ数が多いモジュールに対するアクセスのログ情報を纏めることで、ログ情報の登録数を削減することができる。また、サンプリングタイマ1071(
図2)によるサンプリングにおいても、en_waitの待ち時間をサンプリング時間よりも大きく設定する。これにより、1回のみのモジュールに対するアクセスであっても取りこぼすことなくログ情報を検出することが可能となる。
【0044】
次に、本発明の実施形態に係る情報処理システムのログ用メモリ108に格納されたログ情報の確認方法について
図6を参照して説明する。
図6は、本発明の実施形態に係る情報処理システムのログ確認方法について説明する図である。
【0045】
ログ用メモリ108に登録されたログ情報を確認する場合には、ログ用メモリ108からメモリ制御部1076、及びシリアルI/F部109を介してPC113上で表示することができる。このとき、PC113上の表示をバイナリ表示とすることによって、視覚的に信号の状態遷移の様子を確認することができる。また、エラーフラグを立てることにより、如何なるタイミングでシーケンスエラーを検出したかについても視覚的に確認することができる。
【0046】
図6の場合は、ログ用メモリ108のメモリアドレス(ADDR_X=0x0000003c)でエラーが発生している。したがって、このメモリアドレスを、ログ用メモリ108から、メモリ制御部1076、及びシリアルI/F部109を介してPC113上にバイナリ表示する。これにより、アドレス0x0000003c番地で発生したエラーに関するログ情報113eを確認することができる。
【0047】
以上説明したように、本発明の実施形態では、内部信号、外部とのI/F信号、及びCPUからの各モジュールに対するアクセス状態を示す信号を任意に選択し、この選択された信号の状態をビットに割り当てている。そして、選択された内部信号、外部とのI/F信号の状態に変化があった場合や、タイマによるサンプリングの結果として、これらの信号をビット列としてログ用メモリに登録している。また、CPUから各モジュールに対するアクセス状態を示す信号は、モジュールに対する書き込みの開始と停止とをそれぞれログ用メモリに登録している。
【0048】
そして、登録されたログ情報又は読み出されたログ情報の内容は、状態遷移の経過を示している。よって、これらのログ情報と予め設定されているイベントテーブルの値とを比較することにより、例えば、遷移してはいけない状態になっていないかどうかといった判定、すなわちシーケンスエラーを検出することができる。
【0049】
また、動作中の設定手順の間違いを早期に発見することができる。さらに、登録されたログ情報をログ用メモリから順次読み出し、その内容をバイナリ表示することにより、波形観測のように、視覚的にハードウェアのタイミングと、ソフトウェアの設定タイミングのシーケンスとを確認することができるのである。
【0050】
以上、本発明の好適な実施形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範囲な趣旨及び範囲から逸脱することなく、これら具体例に様々な修正及び変更が可能である。