(57)【要約】【課題】製品化後でも測定データとログ情報とのリンクが可能となり、障害解析が容易に行える統合異常検知用データ取得装置を提供する。【解決手段】統合異常検知用データ取得装置は、論理回路部１０と、前記論理回路部１０を用いて所定の処理を行う制御ソフトウェア部４０と、ログ情報を記憶するログ情報記憶部５０と、を備え、前記論理回路部１０は、事象が発生した場合に内部の単数又は複数の任意の信号線から前記制御ソフトウェア部４０に割り込み信号を発信し、前記制御ソフトウェア部４０は、前記割り込み信号を受信したことをログ情報として前記ログ情報記憶部５０に記録する。【選択図】図１
2009230350.tif 000002
【特許請求の範囲】
【請求項１】
論理回路部と、
前記論理回路部を用いて所定の処理を行う制御ソフトウェア部と、
ログ情報を記憶するログ情報記憶手段と、を備え、
前記論理回路部は、事象が発生した場合に内部の単数又は複数の任意の信号線から前記制御ソフトウェア部に割り込み信号を発信し、
前記制御ソフトウェア部は、前記割り込み信号を受信したことをログ情報として前記ログ情報記憶手段に記録する統合異常検知用データ取得装置。
【請求項２】
前記論理回路部は、前記論理回路部の出力信号を測定する外部の測定器と接続され、前記割り込み信号が発信された場合に、測定開始を指示するトリガー信号を前記測定器に供給する請求項１記載の統合異常検知用データ取得装置。
【請求項３】
前記論理回路部は、前記信号線に変化が生じた場合に前記制御ソフトウェア部に前記割り込み信号を発信する請求項１又は請求項２記載の統合異常検知用データ取得装置。
【請求項４】
前記測定器は、外部の機器と接続され、前記機器の出力信号を取り込んだ場合に、割り込みを指示するトリガー信号を前記論理回路部に供給し、
前記機器は、事象が発生した場合に事象の発生を知らせる出力信号を前記測定器に供給し、
前記論理回路部は、前記測定器と接続され、前記測定器に接続された前記機器に事象が発生した場合に、前記制御ソフトウェア部に割り込み信号を発信し、
前記制御ソフトウェア部は、前記割り込み信号を受信したことをログ情報として前記ログ情報記憶手段に記録する請求項２又は請求項３記載の統合異常検知用データ取得装置。
【請求項５】
前記論理回路部は、前記機器と接続され、前記機器から所定の同期信号が入力されるとリセットした後所定時間まで計時するタイマーを備え、該タイマーが前記所定時間を計時した場合に割り込み信号を発信する請求項４記載の統合異常検知用データ取得装置。
【請求項６】
所定のクロック数毎にカウントするカウンタを有する論理回路部と、
前記論理回路部を用いて所定の処理を行う制御ソフトウェア部と、
ログ情報を記憶するログ情報記憶手段と、を備え、
前記制御ソフトウェア部は、前記カウンタから出力されるカウント値をログ情報として前記ログ情報記憶手段に記録する統合異常検知用データ取得装置。
【請求項７】
所定の処理を行う制御ソフトウェア部と、
前記制御ソフトウェア部と制御情報及びデータの交換を行って所定の処理を行う処理部と、前記論理回路部の出力信号を測定する外部の測定器と接続され、前記制御ソフトウェア部からのアクセスがあった場合に前記測定器に測定開始を指示する信号を供給するトリガー部とを含む論理回路部と、を備え、
前記制御ソフトウェア部は、エラーが発生した場合に前記トリガー部にアクセスする統合異常検知用データ取得装置。
【請求項８】
ログ情報を記憶するログ情報記憶手段を、更に備え、
前記ソフトウェア部は、前記トリガー部をアクセスした場合に該アクセスを示す情報をログ情報として前記ログ情報記憶手段に記録する請求項７記載の統合異常検知用データ取得装置。
【請求項９】
前記制御ソフトウェア部は、他の制御ソフトウェア部のデータ処理により前記論理回路部にエラーが発生した場合に、前記他の制御ソフトウェア部から前記トリガー部にアクセス可能にするインタフェース部を有する請求項７又は請求項８記載の統合異常検知用データ取得装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、統合異常検知用データ取得装置に関する。
【背景技術】
【０００２】
従来、論理回路（ハードウェア）のデバッグにおいては、ロジックアナライザなどの測定器からの情報（測定データ）が、また、制御ソフトウェアを含むソフトウェアのデバッグにおいては、デバッガやソフトウェア自身が生成するログ情報（表示情報を含む）が用いられている。つまり、基本的には、ハードウェアではハードウェアの世界で得られる情報を基に、ソフトウェアではソフトウェアの世界で得られる情報を基に障害解析を行っている。
【０００３】
一方、ハードウェアとソフトウェア（デバイスドライバ）の境界で発生する障害（どちらの障害か容易には判別できない障害）においては、相互の情報を利用することで障害解析を効率的に行うことが可能となる。
【０００４】
しかしながら、測定器で得られる情報（測定データ）とソフトウェア側の情報（ログ情報）は時間的に独立しており、更には、両者の保持する情報は時間的な精度と保持時間に大きな開きがある。一般的に測定器ではソフトウェアが持つログ情報のごく一部の時間しか情報の記録ができない。そのため、相互の情報のリンクをとることは困難である。
【０００５】
そのような状況では、予め設計またはコーディングされた
（１）ソフトウェアからハードウェアへのアクセス（レジスタ書き込みを起点として動作する信号線の変化）
（２）ハードウェアからソフトウェアへのアクセス（割り込み）
が主に総合の情報のリンクをとるための手がかりとなる。
【０００６】
しかし、図１４に示すように、リセット信号９１のような通常は割り込み処理を実施していないものについて、不正なリセット９２が発生した場合、不正リセットが発生したという事実が制御ソフトウェアのログ情報に残らず、ソフトエェアのログ情報を障害解析に利用することができない。
【０００７】
また、図１５に示すように、測定器の情報（測定データ）に上記アクセス情報が記録され、かつ、そのアクセスの位置がソフトウェアのログ情報、あるいはコードシーケンスから特定できる場合にのみ相互の情報のリンクをとることができるが、それ以外の場合には測定データとソフトウェアのログ情報を障害解析に利用することはできない。図１５の例では、測定データ９３がログ情報Ａ９４とログ情報Ｂ９５とのどちらと対応するか、共通の時間軸がないために特定できない。
【０００８】
更に、測定器のトリガー条件は、既存の外部信号線（プローブで掴めるもの）のみを組み合わせて作るため、複雑なロジックは組み難く、ソフトウェアがもつ情報や処理結果を利用したトリガー条件を生成することはできない。そのため、所望の位置でトリガーをかけることが困難な状況が発生し、それに起因して回路の一部を追加または修正する必要があったり、最悪の場合にはデータの採取自体をあきらめるしかなかった。
【０００９】
このようにハードウェアとソフトウェアの両方にまたがる不具合の解析を容易にし、デバッグを効率化するための、プロセッサを含むＬＳＩ用のデバッグ装置（例えば、特許文献１参照。）が提案されている。
【００１０】
特許文献１のデバッグ装置では、ソフトウェアからハードウェアへの同期は、ソフトウェアブレイク状態を取り出し、それを基に模擬ＬＳＩ内部のアナライザ手段へトリガーをかけることで行う。そのため、１ステップ単位の同期が可能となる。
【００１１】
一方、ハードウェアからソフトウェアへの同期は、模擬ＬＳＩ内部のアナライザ手段へのトリガー状態を取り出し、それを基にプロセッサに割り込みを掛けることで行う。そして、モニタプログラムに制御を切り替えることで、ＬＳＩ及び周辺チップのデバッグを実施する。
【００１２】
このため、特許文献１のデバッグ装置では、実際のターゲットＬＳＩと異なり、対象のＬＳＩはアナライザ手段やモニタプログラムを含み、他にも外部のデバッグ装置との通信手段や、外部からのクロック入力等が付加されており、商品化後はデバッグはできない。
【００１３】
また、外部には専用コントローラや、ソフトウェアとハードウェアに対する専用のデバッグ手段が必要となる。
【特許文献１】特開２００３−１４０９２３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明は、製品化後でも測定データとログ情報とのリンクが可能となり、障害解析が容易に行える統合異常検知用データ取得装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的と解決するために、請求項１記載の統合異常検知用データ取得装置は、論理回路部と、前記論理回路部を用いて所定の処理を行う制御ソフトウェア部と、ログ情報を記憶するログ情報記憶手段と、を備え、前記論理回路部は、事象が発生した場合に内部の単数又は複数の任意の信号線から前記制御ソフトウェア部に割り込み信号を発信し、前記制御ソフトウェア部は、前記割り込み信号を受信したことをログ情報として前記ログ情報記憶手段に記録する。
【００１６】
請求項２記載の統合異常検知用データ取得装置は、請求項１記載の統合異常検知用データ取得装置において、前記論理回路部は、前記論理回路部の出力信号を測定する外部の測定器と接続され、前記割り込み信号が発信された場合に、測定開始を指示するトリガー信号を前記測定器に供給する。
【００１７】
請求項３記載の統合異常検知用データ取得装置は、請求項１又は請求項２記載の統合異常検知用データ取得装置において、前記論理回路部は、前記信号線に変化が生じた場合に前記制御ソフトウェア部に前記割り込み信号を発信する。
【００１８】
請求項４記載の統合異常検知用データ取得装置は、請求項２又は請求項３記載の統合異常検知用データ取得装置において、前記測定器は、外部の機器と接続され、前記機器の出力信号を取り込んだ場合に、割り込みを指示するトリガー信号を前記論理回路部に供給し、前記機器は、事象が発生した場合に事象の発生を知らせる出力信号を前記測定器に供給し、前記論理回路部は、前記測定器と接続され、前記測定器に接続された前記機器に事象が発生した場合に、前記制御ソフトウェア部に割り込み信号を発信し、前記制御ソフトウェア部は、前記割り込み信号を受信したことをログ情報として前記ログ情報記憶手段に記録する。
【００１９】
請求項５記載の統合異常検知用データ取得装置は、請求項４記載の統合異常検知用データ取得装置において、前記論理回路部は、前記機器と接続され、前記機器から所定の同期信号が入力されるとリセットした後所定時間まで計時するタイマーを備え、該タイマーが前記所定時間を計時した場合に割り込み信号を発信する。
【００２０】
請求項６記載の統合異常検知用データ取得装置は、所定のクロック数毎にカウントするカウンタを有する論理回路部と、前記論理回路部を用いて所定の処理を行う制御ソフトウェア部と、ログ情報を記憶するログ情報記憶手段と、を備え、前記制御ソフトウェア部は、前記カウンタから出力されるカウント値をログ情報として前記ログ情報記憶手段に記録する。
【００２１】
請求項７記載の統合異常検知用データ取得装置は、所定の処理を行う制御ソフトウェア部と、前記制御ソフトウェア部と制御情報及びデータの交換を行って所定の処理を行う処理部と、前記論理回路部の出力信号を測定する外部の測定器と接続され、前記制御ソフトウェア部からのアクセスがあった場合に前記測定器に測定開始を指示する信号を供給するトリガー部とを含む論理回路部と、を備え、前記制御ソフトウェア部は、エラーが発生した場合に前記トリガー部にアクセスする。
【００２２】
請求項８記載の統合異常検知用データ取得装置は、請求項７記載の統合異常検知用データ取得装置において、ログ情報を記憶するログ情報記憶手段を、更に備え、前記ソフトウェア部は、前記トリガー部をアクセスした場合に該アクセスを示す情報をログ情報として前記ログ情報記憶手段に記録する。
【００２３】
請求項９記載の統合異常検知用データ取得装置は、請求項７又は請求項８記載の統合異常検知用データ取得装置において、前記制御ソフトウェア部は、他の制御ソフトウェア部のデータ処理により前記論理回路部にエラーが発生した場合に、前記他の制御ソフトウェア部から前記トリガー部にアクセス可能にするインタフェース部を有する。
【発明の効果】
【００２４】
請求項１記載の発明によれば、論理回路の障害事象をソフトウェアに伝えることができる。
【００２５】
請求項２記載の発明によれば、測定器の測定波形にリンクしたソフトウェアのログ情報が記録され、障害解析に利用できる。
【００２６】
請求項３記載の発明によれば、通常は割り込み処理としないリセットなどの論理回路内部の信号線の変化もソフトウェアのログ情報に記録され、障害解析に利用できる。
【００２７】
請求項４記載の発明によれば、外部に接続されたプリンタ等の機器に異常が発生したときに測定器を介してソフトウェアのログ情報が記録され、異常時の測定波形とログ情報を照合させることができる。
【００２８】
請求項５記載の発明によれば、定期的に送出される信号が所定の時間に送出されない場合に、その原因の解析に利用できる。
【００２９】
請求項６記載の発明によれば、ハードウェアとソフトウェアに共通の絶対的な時計を備えることにより、外部の測定器の測定データとソフトウェアのログ情報とのリンクが可能となり、障害解析に利用できる。
【００３０】
請求項７記載の発明によれば、外部の測定器に出力信号を供給するための機構を論理回路部内に設けることにより、測定器の測定データを障害解析に利用できる。
【００３１】
請求項８記載の発明によれば、外部の測定器に出力信号を供給するための機構を論理回路部内に設けることにより、外部の測定器の測定データとソフトウェアのログ情報とのリンクが可能となり、障害解析に利用できる。
【００３２】
請求項１９記載の発明によれば、他のソフトウェアから測定器の波形が採取でき、障害解析に利用できる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。第１から第４の実施の形態では、ハードウェアからソフトウェアへのアクセス（割り込み）により、割り込みをトリガーとして測定器で観測された波形と制御ソフトウェア部のログ情報とをリンクする。また、従来は割り込みにしていなかった通常のデータバス、アドレスバス、制御信号、リセット信号、タイマーによる割り込み発生回路を活用することで、測定器のトリガー条件の幅を広げるものである。
【００３４】
＜第１の実施の形態＞
図１は、第１の実施の形態に係る統合異常検知用データ取得装置の構成を表すブロック図である。同図に示すように、統合異常検知用データ取得装置は、論理回路部１０と、制御ソフトウェア部４０と、ログ情報記憶部５０と、を備えている。
【００３５】
論理回路部１０は、マルチプレクサ１１と、割り込みレジスタ２１と、タイマーレジスタ２２とを含んで構成され、何らかの事象が発生したときに制御ソフトウェア部４０に対して割り込み信号を発信する。
【００３６】
制御ソフトウェア部４０は、論理回路部１０を用いて所定の処理を行うと共に、論理回路部１０からの割り込み信号を受信したことをログ情報としてログ情報記憶部５０に記録する。
【００３７】
ログ情報記憶部５０は、割り込み信号を受信したこと記録する。ログ情報記憶部５０は、通常の割り込み事象のみならず、障害発生時に備えて、どの部分（時点）でエラーが発生したかを特定するために、処理の主要な部分で関連する情報と共にログ（トレース情報）を記録する。また、ログ情報記憶部５０は、エラーが発生した場合は、それを解析するために必要な情報も記録する。
【００３８】
具体的には、ソフトウェア上でエラー（パラメータエラーなど）と判断できる箇所には、その判断の元になる情報とそれを補う情報が記録される。また、ＯＳ（オペレーションシステム）からエラーが返された場合には、ＯＳからの返り値と、その関数への引数などの情報およびそれを補う情報が記録される。更に、ハードウェアからのエラー（割り込み）に関しては、そのエラーを示すレジスタの情報、関連するハードウェアのレジスタ情報及びソフトウェアで保持している関連情報が記録される。
【００３９】
このように構成された統合異常検知用データ取得装置では、割り込みレジスタ２１が、論理回路部１０の内部に設けたマルチプレクサ１１から選択された信号またはタイマーレジスタ２２のキャリーオーバーによる割り込み信号を受け、制御ソフトウェア部４０に割り込みをかける。制御ソフトウェア部４０は、予めマルチプレクサ１１によって選択する信号線をセレクトレジスタ（図示省略）への書き込みにより選択できるようにする。制御ソフトウェア部４０は、これらの割り込み信号を受信したことをログ情報記憶部５０に記録する。これによって、論理回路部１０の内部で発生した事象が、ログ情報として記録される。
【００４０】
また、本実施の形態では、図１に示すように、論理回路部１０の出力信号を測定する外部の測定器６０（例えばロジックアナライザ）を接続してもよい。この場合には、割り込みレジスタ２１が、制御ソフトウェア部４０に割り込みをかけると同時に、測定器６０にもトリガーをかける。これによって、測定器６０の所望の波形とそれにリンクしたログ情報が記録される。
【００４１】
＜第２の実施の形態＞
第２の実施の形態は、論理回路部１０の内部の信号による割り込みがトリガーとなる場合である。
【００４２】
図２は、第２の実施の形態に係る統合異常検知用データ取得装置の構成を表すブロック図である。同図に示すように、統合異常検知用データ取得装置は、プリンタコントローラ８０内に設置され、論理回路部１０と、制御ソフトウェア部４０と、を備えている。
【００４３】
論理回路部１０は、外部のオシロスコープ等の測定器６０と接続され、マルチプレクサ１１と、各種レジスタを含むレジスタ群２０と、コンパレータ１２と、外部のプリンタ本体７０と接続された印刷制御部１３とを備えている。
【００４４】
制御ソフトウェア部４０は、バスブリッジ４１と汎用バス４２とを介して論理回路部１０と接続されている。
【００４５】
このように構成された統合異常検知用データ取得装置では、論理回路部１０が、内部信号３１をマルチプレクサ１１に入力し、制御ソフトウェア部４０により選択されたセレクトレジスタ２３によって指定された信号をコンパレータ１２に出力する。コンパレータ１２は、入力された信号と制御ソフトウェア部４０によってセットされた比較データレジスタ２４とを比較し、一致したときには割り込みレジスタ２１に割り込み要求を出力する。割り込みレジスタ２１は、割り込みイネーブルレジスタ２６によりイネーブルにされた割り込みであれば、割り込み要求信号３２をアサートして制御ソフトウェア部４０に割り込む。
【００４６】
また、これと同時に、割り込みレジスタ２１は、トリガー信号３３を外部に接続している測定器６０に出力する。測定器６０は、入力されたそのトリガー信号３３をトリガーとしてプロービングしてある信号線波形３５を取り込んで表示する。このように割り込み処理が実施されると、ログ情報が記録される。
【００４７】
図３は、制御ソフトウェア部４０の処理の流れの概要を示すフローチャートであり、図３（Ａ）は通常の処理時、図３（Ｂ）は割り込み処理時の流れを表す。
【００４８】
図３（Ａ）に示すように、通常の処理においては、制御ソフトウェア部４０は、ステップ１００からステップ１２０を通じて、例えば、処理Ａ（例：画像出力パラメータ処理）、処理Ｂ（例：画像出力開始）、処理Ｃ（例：出力終了待ち）のように、論理回路部１０を用いて所定の処置を行う。
【００４９】
一方、図３（Ｂ）に示すように、割り込み処理においては、制御ソフトウェア部４０は、ステップ２００で割り込み処理があったことをログ情報として記録する。
【００５０】
ステップ２１０では、制御ソフトウェア部４０は、測定のための割り込みか通常の割り込みか、即ち、事象の同期をとるために意図的に行う割り込みか否かを判定し、測定のための割り込みのときにはステップ２３０に進み、測定のための割り込みでないときにはステップ２２０に進む。
【００５１】
ステップ２２０では、通常の割り込みなので、制御ソフトウェア部４０は、割り込み内容に応じた処理を行って割り込み処理を終了する。
【００５２】
ステップ２３０では、測定のための割り込みなので、制御ソフトウェア部４０は、障害解析のために必要な情報を取得し、これらをログ情報として記録した後に割り込み処理を終了する。
【００５３】
このように、ログ情報には、設定したレジスタの情報など障害解析に利用できる情報が記録されるため、測定器６０で取り込んだ波形と制御ソフトウェア部４０の処理フローとを照合させることができる。
【００５４】
図４は、本実施の形態の概念図である。同図に示すように、通常は割り込み処理を実施しないリセット信号６１や不正リセット信号６２が発生した場合に割り込み６３が発生することにより、制御ソフトウェア部４０により不正リセット信号６２に対応するログ情報が記録される。
【００５５】
＜第３の実施の形態＞
第３の実施の形態は、外部に接続された機器の信号による割り込みがトリガーとなる場合である。
【００５６】
図２のプリンタ本体７０は、プリンタコントローラ８０から出力される信号に異常があった場合、異常を示す信号を測定器６０に出力する。測定器６０は、その異常を示す信号をトリガーにして論理回路部１０内部の必要な信号を取り込む。
【００５７】
また、測定器６０の外部トリガー出力とプリンタコントローラ８０の論理回路部１０のトリガー入力が外部ケーブル３４で接続されている。これにより、測定器６０は、論理回路部１０のマルチプレクサ１１を経由して制御ソフトウェア部４０に割り込むことができる。
【００５８】
このように、外部の機器の異常時のログ情報を記録することができ、異常時の測定器６０の波形と制御ソフトウェア部４０の処理フローとを照合させることができる。
【００５９】
＜第４の実施の形態＞
第４の実施の形態は、論理回路部１０のタイマー部やカウンタ部による割り込みがトリガーとなる場合である。
【００６０】
図５は、第４の実施の形態に係る統合異常検知用データ取得装置の構成を表すブロック図であり、図２を簡略化したものである。
【００６１】
図５に示すように、統合異常検知用データ取得装置は、外部に接続されたプリンタ本体７０から１ページの印刷毎に定期的に送出されるページ同期信号（PageSync）の立下りで制御ソフトウェア部４０に割り込みを発生させることで各ページの印刷処理を制御する。但し、不定期にPageSync割り込みが発生しないという不具合が発生する場合の例である。
【００６２】
この場合、制御ソフトウェア部４０から設定、起動、リセットができるタイマーレジスタ２２を論理回路部１０上に配置し、PageSyncよりも長めのタイマー値を設定、起動し、各ページの印刷終了時（PageSyncの立下り）の割り込み処理にてそのタイマーをリセット（再設定）する。
【００６３】
そして、図６に示すように、PageSyncの割り込みが４ページ目の印刷終了時７１に抜けた場合、タイマーレジスタ２２はリセットされず、そのままタイムアウトでキャリー信号が立つ。測定器６０は、これをトリガーとして、PageSyncをはじめとする論理回路部１０の内部の信号を採取する。これによって、PageSync割り込み抜けの原因を特定することが可能となる。
【００６４】
ここで、測定器６０で測定する波形は、以下のようなものである。
【００６５】
例えば、PageSyncの終了割り込みが来ないという異常が発生した場合、不具合がどこにあるか切り分けるためにPageSyncと次のPageSyncの通常の間隔をカウントするように設定しているタイマーがキャリーオーバーになったときには、このタイマーのキャリーオーバー割り込み信号と、PageSyncと、PageSyncの立ち上がり（１ページの終了割り込み）とを測定する。これによって、論理回路部１０の内部にPageSyncが本当に来てないのか、割り込みが発生したのにログ情報として記録されていないのかを切り分けることができる。
【００６６】
なお、図２の論理回路部１０の内部構成には、マルチプレクサ１１、コンパレータ１２及び比較データレジスタ２４は１組しか記載していないが、これらを複数組備えて、ＡＮＤ条件、ＯＲ条件が組み合わせられるように構成してもよい。
【００６７】
＜第５の実施の形態＞
第５の実施の形態は、ハードウェアとソフトウェアに共通な時間軸を持つことにより、ソフトウェアのログへの時刻の記録と、ハードウェア測定波形での時刻の観測が可能となる。
【００６８】
図７は、第５の実施の形態に係る統合異常検知用データ取得装置の構成を表すブロック図である。同図に示すように、統合異常検知用データ取得装置は、プリンタコントローラ８０内に設置され、論理回路部１０と、制御ソフトウェア部４０と、を備えている。
【００６９】
論理回路部１０は、外部のオシロスコープ等の測定器６０と接続され、マルチプレクサ１１と、各種レジスタを含むレジスタ群２０と、シリアライザ３６と、外部のプリンタ本体７０と接続された印刷制御部１３とを備えている。
【００７０】
制御ソフトウェア部４０は、バスブリッジ４１と汎用バス４２とを介して論理回路部１０と接続されている。
【００７１】
このように構成された統合異常検知用データ取得装置では、論理回路部１０が、内部信号３１をマルチプレクサ１１に入力し、測定すべき内部の信号線を制御ソフトウェア部４０にのり選択されたセレクトレジスタ２３によって指定して外部に出力し、測定器６０のプローブに接続される。
【００７２】
通常、制御ソフトウェア部４０は、ハードウェアにアクセスしたり、事象が変化した場合（例えば、１ページの印刷終了割り込み信号）にハードウェアのレジスタの情報や制御ソフトウェア部４０の変数等をログ情報として記録する。このとき、ハードウェアレジスタの情報には、ハードウェアクロック・レジスタ２７の値も記録される。
【００７３】
ハードウェアクロック・レジスタ２７は、論理回路部１０が動作する基準クロックの数（カウンタの値）を保持するものであり、５０ＭＨｚのクロックであれば２０ｎｓごとにインクリメントされる。ハードウェアクロック・マスクレジスタ２８は、ハードウェアクロック・レジスタ２７の読み出し値をマスクするためのものであり、例えば、最下位ビットｂｉｔ８をマスクすると、２０ｎｓ×２５６＝５１２０ｎｓごとにｂｉｔ８がインクリメントされるようになる。これは、ハードウェアとソフトウェアの処理速度が異なっており、ログ情報と測定波形の値の最下位ビットが数ビット一致しないので、必要に応じたビットをマスクすることで下位ビットを丸め込み、ログ情報として記録される値と測定器に表示される値を極力近づけるか、または一致させることができる。
【００７４】
ハードウェアクロック・レジスタ２７の出力は、カウンタのバス幅分のビット幅があるが、シリアライザ３６を設置することによりシリアライズすることができる。この結果、論理回路部１０からの出力ピン数を減らすことが可能となる。このシリアライザ３６も論理回路で設計されており、シリアライズしないでパラレルのまま出力することもでき、ハードウェアリソースの余裕度によって自由に選択することができる。
【００７５】
また、トリガレジスタ２９は、制御ソフトウェア部４０から測定すべきタイミングの時に書き込むことによってトリガー信号を発生させるものであり、処理の状況に応じてアクセスする。
【００７６】
このような構成において、ある事象で何らかのトリガー条件で観測信号波形を採取したとき、測定器６０上にハードウェアクロックの値がパラレルデータまたはシリアルデータで現れる。また、制御ソフトウエア部４０のログ情報にもハードウェアクロックの値が常に記録されるため、測定器６０の波形と制御ソフトウェア部４０の処理フローとを照合させることができる。
【００７７】
図８は、本実施の形態の概念図である。同図に示すように、同じ波形の測定データＡ７３と測定データＢ７４が、ハードウェアクロック値７２が記録されているため、測定データＡ７３がログ情報Ａ７５に対応し、測定データＢ７４がログ情報Ｂ７６に対応するようにリンクをとることができる。
【００７８】
＜第６の実施の形態＞
第６以降の実施の形態は、ソフトウェアからハードウェアへのアクセス（レジスタ書き込み）の一種として、制御ソフトウェア部から測定器へ直接トリガーを掛けられるようにすることで、測定器の測定データと制御ソフトウェア部のログ情報とのリンクを可能とするものである。また、制御ソフトウェア部の持つ情報やソフトウェアの処理結果を活用することで測定器のトリガー条件の幅が格段に広がる。
【００７９】
図９は、第６の実施の形態に係る統合異常検知用データ取得装置の構成を表すブロック図である。同図に示すように、統合異常検知用データ取得装置は、論理回路部１０と、制御ソフトウェア部４０と、を備えている。また、論理回路部１０は、論理回路部１０の出力信号を測定する外部の測定器６０と接続されている。
【００８０】
論理回路部１０は、制御ソフトウェア部４０と制御情報やデータの交換を行って所定の処理を行う処理部１５と、制御ソフトウェア部４０からのアクセスにより外部に接続された測定器６０にトリガーをかけるトリガー部１４とを含んでいる。制御ソフトウェア部４０は、論理回路部１０を用いて所定の処理を行う。また、測定器６０は、測定したデータを測定データ記録部６５に格納する。
【００８１】
このように構成された統合異常検知用データ取得装置では、制御ソフトウェア部４０が、論理回路部１０の内部に設けられたトリガー部１４に対してレジスタ書き込みを行うことで、外部の測定器６０に対するトリガー信号を発生させる。
【００８２】
測定器６０は、測定したい信号線（測定信号線）と共に、トリガー部１４の出力に接続され、測定データ取得時には、トリガー部１４によるトリガー信号をトリガー条件（必要に応じて他の信号線との組み合わせも可能）として、所望の信号線の波形を観測および採取する。
【００８３】
なお、本実施の形態では、図９に示す統合異常検知用データ取得装置において、制御ソフトウェア部４０の内部にログ情報記憶部（図示省略）を保持する構成としてもよい。この場合には、制御ソフトウェア部４０は、トリガー部１４をアクセスした場合に、ログ情報記憶部にそのアクセスを示す情報を記録する。
【００８４】
＜第７の実施の形態＞
第７の実施の形態は、制御ソフトウェア部４０で予めコーディングされた位置でトリガーを掛ける場合である。この場合、制御ソフトウェアの修正はない。
【００８５】
図９のように構成された本実施の形態に係る統合異常検知用データ取得装置は、制御ソフトウェア部４０の作成時に、論理回路部１０に関連するエラーが発生した場合（例えば、プリンタの制御信号であるライン同期信号（LineSync）の時間幅の異常検知時にエラー割り込みが発生）、トリガー部１４をアクセスするように予めコーディングしておく。これにより、対象となるエラー発生時には、制御ソフトウェアを再コンパイルすることなく、測定器６０を接続するだけで必要な信号波形を採取できる。
【００８６】
なお、このように予め定義されたエラーに伴うトリガーの場合、測定器６０で採取されて測定データ記録部６５に格納された測定データは、コードシーケンスから制御ソフトウェア部４０のログ情報との対応付けが可能である。また、同じ条件でトリガー部１４をアクセスする場所が複数存在する場合には、トリガーを掛けた場所を特定できるような情報を併せてログ情報に残しておく。
【００８７】
図１０は、本実施の形態の概念図である。同図に示すように、トリガー信号６９に対する波形が測定データとソフトウェアのログ上に記録されることにより、測定データ６６がログ情報Ａ６７ではなく、ログ情報Ｂ６８とリンクを取ることが可能となる。
【００８８】
＜第８の実施の形態＞
第８の実施の形態は、制御ソフトウェア部４０の任意の位置でトリガーを掛ける場合である。この場合、制御ソフトウェアの修正を行う。
【００８９】
図９のように構成された統合異常検知用データ取得装置では、制御ソフトウェア部４０の任意の位置（状態）でトリガーを掛けたい場合（例えば、処理部１５内にあるステータス・レジスタが所定の値を示す場合）、その位置（またはその条件を満たす場合）にトリガー部１４をアクセスするように制御ソフトウェアに追加のコーディングを行い、再コンパイルする。再コンパイル後、制御ソフトウェア部４０を置き換えて測定器６０を接続することで、測定器６０は所望の位置で必要な信号波形を採取できる。この場合も、必要に応じて、アクセス情報をログ情報としてログ情報記憶部５０に記録しておく。これによって、測定データ記録部６５に格納された測定データとログ情報記憶部５０に記録されたログ情報との対応付けが可能となる。
【００９０】
図１２は、制御ソフトウェア部４０における処理概要を示すフローチャートであり、トリガー部１４をアクセスするために制御ソフトウェアに追加コーディングする場合の例を示す。同図のフローチャートは、図３（Ａ）の第２の実施の形態に係るフローチャートにステップ３００からステップ３２０を加えたものであり、この部分が制御ソフトウェア部４０に追加コーディングされる部分である。第２の実施の形態と同一のステップには同一の符号を付して詳細な説明を省略し、第２の実施の形態と異なる部分について説明する。
【００９１】
本実施の形態では、所定の処理であるステップ１００からステップ１２０の処理Ａ、処理Ｂ、処理Ｃを行う過程で、制御ソフトウェア部４０の任意の位置（図１２の例ではステップ１００とステップ１１０の間）で、トリガーを掛ける。
【００９２】
具体的には、ステップ１００に続くステップ３００で、制御ソフトウェア部４０が、トリガー条件が成立するか否かを判定し、成立する場合にはステップ３１０に進み、成立しない場合にはステップ１１０に進み通常の処理を行う。トリガー条件としては、例えば、処理部１５のステータス・レジスタが所定の値を示すか否か、表面印刷から裏面印刷への変更時、印刷ページのサイズ変更時などが考えられる。
【００９３】
ステップ３１０では、制御ソフトウェア部４０が論理回路部１０のトリガー部１４にアクセスする。これを受けてトリガー部１４は測定器６０にトリガー信号を出力し、測定器６０では必要な信号波形が採取できる。また、ステップ３２０では、制御ソフトウェア部４０が、トリガー部１４にアクセスした場所を特定できる情報をログ情報としてログ情報記憶部５０に記録する。
【００９４】
＜第９の実施の形態＞
第９の実施の形態は、制御ソフトウェア部４０の持つ情報を基にして複雑なトリガーを掛ける場合である。
【００９５】
図９の論理回路部１０の内部信号線（図示省略）ではトリガー条件を生成できず、制御ソフトウェア部４０の持つ情報を用いることでのみトリガー条件を作り出すことができるような場合がある。
【００９６】
例えば、論理回路部１０の処理部１５は、表面でも裏面でも同じ処理をして画像データを出力する。よって、表／裏を示す印刷面情報は論理回路部１０へは通知されない。このため、プリンタで両面印刷する際の裏面印刷時に障害が発生するような場合、論理回路部１０の信号線のみで測定器６０のトリガー条件を発生することはできない。
【００９７】
一方、制御ソフトウェア部４０は、プリンタを制御するための印刷面情報を持っているため、裏面印刷時にトリガー部１４をアクセスして測定器６０にトリガーを掛けるようにすることで、必要な信号波形を採取できる。
【００９８】
また、障害の発生条件が、裏面印刷時に用紙サイズがＡ４からＡ３に切り替わった場合といったように、トリガー条件が複雑化しても、簡単にトリガーを掛けることが可能である。
【００９９】
＜第１０の実施の形態＞
第１０の実施の形態は、制御ソフトウェア部４０の処理結果を基にしてトリガーを掛ける場合である。
【０１００】
ハードウェア上にトリガー条件の基となる信号は存在するが、ハードウェアでの処理ではトリガー条件を生成することは困難であり、ソフトウェア処理を加えることでトリガー条件を生成することが可能となる場合が存在する。
【０１０１】
例えば、図１３に示すプリンタに出力する例において、制御ソフトウェア部４０と論理回路部１０の通信処理部１７とでプリンタ本体７０の制御を行い、プリンタ本体７０への画像出力を画像処理部１６で行うシステム構成において、プリンタ本体７０側で発生して通信処理部１７を経由して伝えられたエラー情報をもとに画像処理部１６の信号波形の採取を行うような場合である。
【０１０２】
このような場合には、プリンタ本体７０からのエラー情報自体は論理回路部１０の通信処理部１７に入力されるが、他の多くのコマンド・ステータスのビット列からエラー情報を示すステータスデータの信号波形を抜き出すことは困難である。通常は、通信処理部１７でキャラクタ化された後、制御ソフトウェア部４０でより上位のステータス情報に変換して、ようやくエラー情報と判定可能となる。そして、その時点でトリガー部１４をアクセスするように制御ソフトウェア部４０を修正する（予め、コーディングすることも可能）ことで、画像処理部１６による必要な信号波形が採取可能となる。
【０１０３】
＜第１１の実施の形態＞
第１１の実施の形態は、制御ソフトウェア部とその他のソフトウェアの処理と組み合わせでトリガーを掛ける場合である。
【０１０４】
図１１は、第１１の実施の形態に係る統合異常検知用データ取得装置の構成を表すブロック図であり、図９に示す統合異常検知用データ取得装置の制御ソフトウェア部４０の詳細な構成を示す。同図に示すように、統合異常検知用データ取得装置は、論理回路部１０と、制御ソフトウェア部４０と、を備えている。
【０１０５】
制御ソフトウェア部４０は、ＯＳ（オペレーション・システム）４５等のプラットフォーム上で動作する場合には、論理回路部１０を直接的に制御するドライバ・ソフトウェア４４と、より上位の制御を行うアプリケーション・ソフトウェア４３とに分けられる。
【０１０６】
ドライバ・ソフトウェア４４は、上位制御ソフトウェアであるアプリケーション・ソフトウェア４３からも間接的にトリガー部１４（図９参照）をアクセス可能な第１のＡＰＩ（Application Program Interface）４７を有する。また、アプリケーション・ソフトウェア４３は、ＯＳ４５上で動作する他のソフトウェア４８からも間接的にトリガー部１４をアクセス可能なように第２のＡＰＩ４６を有する。
【０１０７】
制御ソフトウェア部以外のモジュール（他のソフトウェア）から測定器にトリガーを掛けて論理回路部などで信号波形を採取したい場合が存在する。
【０１０８】
例えば、図１１に示す統合異常検知用データ取得装置において、他のソフトウェア４８がネットワークを経由して他ホストと多量のデータ交換を行っているときに、論理回路部１０が影響を受けて障害が発生するような場合である。具体的には、ネットワークデバ  イスと共用しているバス帯域制限や割り込み処理の頻発などである。
【０１０９】
このような場合、間接的に論理回路部１０のトリガー部１４（図９参照）をアクセスできるような第１のＡＰＩ４６を制御ソフトウェア部４０のアプリケーション・ソフトウェア４３上に予め設けておく。これにより、他のソフトウェア４８が多量のデータ交換を行う際にその第１のＡＰＩ４６をアクセスすることで、測定器６０（図９参照）でバスなどの信号波形の採取が可能となる。
【０１１０】
なお、本発明は、上述の実施の形態に限定されるものではなく、特許請求の範囲に記載された範囲内で設計上の変更をされたものにも適用可能である。
【図面の簡単な説明】
【０１１１】
【図１】第１の実施の形態に係る統合異常検知用データ取得装置の構成を表すブロック図である。
【図２】第２の実施の形態に係る統合異常検知用データ取得装置の構成を表すブロック図である。
【図３】制御ソフトウェア部の処理の流れの概要を示すフローチャート（その１）である。
【図４】第２の実施の形態の概念図である。
【図５】第４の実施の形態に係る統合異常検知用データ取得装置の構成を表すブロック図である。
【図６】PageSyncと割り込み処理の関係を示すタイミングチャートである。
【図７】第５の実施の形態に係る統合異常検知用データ取得装置の構成を表すブロック図である。
【図８】第５の実施の形態の概念図である。
【図９】第６の実施の形態に係る統合異常検知用データ取得装置の構成を表すブロック図である。
【図１０】第７の実施の形態の概念図である。
【図１１】第８の実施の形態の概念図である。
【図１２】制御ソフトウェア部の処理の流れの概要を示すフローチャート（その２）である。
【図１３】第１０の実施の形態に係る統合異常検知用データ取得装置の構成を表すブロック図である。
【図１４】不正リセット信号がログ情報に残らない従来技術の概念図である。
【図１５】測定データとログ情報との対応が付かない従来技術の概念図である。
【符号の説明】
【０１１２】
１０    論理回路部
４０    制御ソフトウェア部
５０    ログ情報記憶部
６０    測定器
７０    プリンタ本体
【図１】
2009230350.tif 000003
【図２】
2009230350.tif 000004
【図３】
2009230350.tif 000005
【図４】
2009230350.tif 000006
【図５】
2009230350.tif 000007
【図６】
2009230350.tif 000008
【図７】
2009230350.tif 000009
【図８】
2009230350.tif 000010
【図９】
2009230350.tif 000011
【図１０】
2009230350.tif 000012
【図１１】
2009230350.tif 000013
【図１２】
2009230350.tif 000014
【図１３】
2009230350.tif 000015
【図１４】
2009230350.tif 000016
【図１５】
2009230350.tif 000017