(57)【要約】【課題】動作履歴を全く取得出来ないような不具合発生時の解析を効率的に行う解析方法及び解析装置を提供する。【解決手段】主な構成要素として、ＣＰＵ１、ＲＡＭ４、ＲＯＭ６、ＨＤＤ５、複写機エンジン３、制御用ＡＳＩＣ２、出力ポート、さらにＰＣへのターミナル出力用としてのシリアルインターフェースとしてＵＡＲＴ７、ＲＳ２３２Ｃドライバ／レシーバ８からなり、複写機を制御するコントローラとしての構成となっている。各処理の間に、出力ポートを反転させるサブルーチンを挿入する。このような処理を行うことで、ソフトウェアがどこまで進んだか容易に判断可能となる。出力ポートの波形を参照し、どの処理まで動作が停止することなく進み、どの処理で何らかの問題により動作の停止等、異常が発生したか判断することが出来る。【選択図】図１
2008146499.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置を制御するコントローラボードのソフトの各処理におけるキーポイントにおいて、特定の出力ポートの出力を反転させる工程を備えることを特徴とする解析方法。
【請求項２】
前記特定の出力ポートは、１パルスを発生することを特徴とする請求項１記載の解析方法。
【請求項３】
前記特定の出力ポートは、特定の幅の1パルスを発生することを特徴とする請求項１記載の解析方法。
【請求項４】
前記特定の出力ポートは、固有数のパルスを発生することを特徴とする請求項１記載の解析方法。
【請求項５】
画像処理装置を制御するコントローラボードのソフトの各処理におけるキーポイントにおいて、第１の出力ポートにて固有数のパルスを発生する工程と、
前記第１の出力ポートでの固有数のパルスを発生している間、第２の出力ポートにて識別用レベルを出力する工程と、を備えることを特徴とする解析方法。
【請求項６】
前記個有数のパルス発生は、ソフト処理によるパルスの発生ではなく、ハードウエアで発生する工程を備えることを特徴とする請求項４又は５記載の解析方法。
【請求項７】
画像処理装置を制御するコントローラボードのソフトの各処理におけるキーポイントにおいて、特定の出力ポートの出力を反転させる手段を備えることを特徴とする解析装置。
【請求項８】
前記特定の出力ポートは、１パルスを発生することを特徴とする請求項７記載の解析装置。
【請求項９】
前記特定の出力ポートは、特定の幅の1パルスを発生することを特徴とする請求項７記載の解析装置。
【請求項１０】
前記特定の出力ポートは、固有数のパルスを発生することを特徴とする請求項７記載の解析装置。
【請求項１１】
画像処理装置を制御するコントローラボードのソフトの各処理におけるキーポイントにおいて、第１の出力ポートにて固有数のパルスを発生する手段と、
前記第１の出力ポートにて固有数のパルスを発生している間、第２の出力ポートにて識別用レベルを出力する手段と、を備えることを特徴とする解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、解析方法及び解析装置に関し、特に主電源ＯＮ時によるシステム起動時や省エネ状態からの復帰時のハードウエア初期設定前など、デバッグコンソール（ターミナル）にメッセージ（ログ）を送出可能になる以前に発生する不具合を効率的に解析する解析装置及び解析方法に関する。
【背景技術】
【０００２】
近年、コピー機、マルチファンクション複合機（以下、合わせて複合機等と称す）の持つ機能は複雑になり、発生する不具合も多種多様となってきた。また、複合機等のメーカーはＳＤＫ（Software Development Kit）を用意し、サードパーティが独自のアプリケーションを開発することで、複合機等に付加価値を提供するケースも多くなってきている。
【０００３】
それに伴い、より一層、複合機等の機能の複雑化に拍車がかかり、また、発生する不具合も複雑化、多様化してきている。今後も、ＳＤＫを使用したサードパーティの独自アプリケーションが増えていくものと見られている。
【０００４】
ソフトウェアが複雑化すると、不具合発生時に考えられる要因が多数あるため解析に時間がかかってしまう。そのため、システムがどのような動作をし、どのような処理を行った結果、どのような異常を検知したか等の動作履歴（ログ）が重要となり、異常動作の解析にあたり、動作履歴の情報無しでは解析不可能といっても過言ではない。
【０００５】
動作履歴は、シリアルインターフェースを経て接続してあるＰＣ（ターミナル）に送出したり、またメモリに一次的に蓄積し、後からＰＣ（ターミナル）から引き出せるようにしたり、またＳＤカード等の不揮発性メモリに蓄積し、後からＰＣで内容を確認するといった手法等、不具合解析を行う技術が様々提案されている（例えば、特許文献１、２参照）。
【特許文献１】特開２００６−４０２９７号公報
【特許文献２】特開平１１−２０８０７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、近年の複雑化したハードウエア／ソフトウェアにおける異常動作は極めて稀に発生するようなものもあり、また主電源ＯＮ時や省エネからの復帰時等、ハードウエアの初期設定や自己診断以前での動作異常で、シリアルインターフェースへの動作履歴送出ができないような例も多々ある。
【０００７】
そのような異常の場合、動作履歴が全く取得できていないため、不具合の解析が非常に困難となり、ロジックアナライザ等のハイスペックでインテリジェンスな計測器をＣＰＵバスに接続し、インストラクションフェッチ／データフェッチレベルでのソフト動作の解析が必要となるという問題が生じる。
【０００８】
本発明は、このような動作履歴を全く取得出来ないような不具合発生時の解析を効率的に行えるような、効果的で確実な情報を提供することを目的としている。
【課題を解決するための手段】
【０００９】
請求項１記載の発明は、画像処理装置を制御するコントローラボードのソフトの各処理におけるキーポイントにおいて、特定の出力ポートの出力を反転させる工程を備えることを特徴とする解析方法である。
【００１０】
請求項２記載の発明は、請求項１記載の方法において、前記特定の出力ポートは、１パルスを発生することを特徴とする。
【００１１】
請求項３記載の発明は、請求項１記載の方法において、前記特定の出力ポートは、特定の幅の1パルスを発生することを特徴とする。
【００１２】
請求項４記載の発明は、請求項１記載の方法において、前記特定の出力ポートは、固有数のパルスを発生することを特徴とする。
【００１３】
請求項５記載の発明は、画像処理装置を制御するコントローラボードのソフトの各処理におけるキーポイントにおいて、第１の出力ポートにて固有数のパルスを発生する工程と、前記第１の出力ポートでの固有数のパルスを発生している間、第２の出力ポートにて識別用レベルを出力する工程と、を備えることを特徴とする解析方法である。
【００１４】
請求項６記載の発明は、請求項４又は５記載の方法において、前記個有数のパルス発生は、ソフト処理によるパルスの発生ではなく、ハードウエアで発生する工程を備えることを特徴とする。
【００１５】
請求項７記載の発明は、画像処理装置を制御するコントローラボードのソフトの各処理におけるキーポイントにおいて、特定の出力ポートの出力を反転させる手段を備えることを特徴とする解析装置である。
【００１６】
請求項８記載の発明は、請求項７記載の装置において、前記特定の出力ポートは、１パルスを発生することを特徴とする。
【００１７】
請求項９記載の発明は、請求項７記載の装置において、前記特定の出力ポートは、特定の幅の1パルスを発生することを特徴とする。
【００１８】
請求項１０記載の発明は、請求項７記載の装置において、前記特定の出力ポートは、固有数のパルスを発生することを特徴とする。
【００１９】
請求項１１記載の発明は、画像処理装置を制御するコントローラボードのソフトの各処理におけるキーポイントにおいて、第１の出力ポートにて固有数のパルスを発生する手段と、前記第１の出力ポートにて固有数のパルスを発生している間、第２の出力ポートにて識別用レベルを出力する手段と、を備えることを特徴とする解析装置である。
【発明の効果】
【００２０】
本発明によれば、このような動作履歴を全く取得出来ないような不具合発生時の解析を効率的に行えるような、効果的で確実な情報を提供することを目的としている。
【発明を実施するための最良の形態】
【００２１】
以下に、本発明の実施形態に係る解析装置及び解析方法を、図面を用いて詳細に説明する。なお、以下に述べる実施の形態は、本発明の好適な実施の形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【００２２】
図１は、本発明の実施形態に係るブロック構成図である。主な構成要素として、ＣＰＵ１、ＲＡＭ４、ＲＯＭ６、ＨＤＤ５、複写機エンジン３、制御用ＡＳＩＣ２、出力ポート、さらにＰＣへのターミナル出力用としてのシリアルインターフェースとしてＵＡＲＴ７、ＲＳ２３２Ｃドライバ／レシーバ８からなり、複写機を制御するコントローラとしての構成となっている。
【００２３】
本実施形態の動作処理を図２を用いて説明する。まず、図１８は通常の処理で、ＰＣへのログ出力が可能になるのは処理Ｈまで進んだ後となる。したがって、それ以前の初期設定Ａ、Ｂ（ステップＳ１、２）や診断Ａ、Ｂ（ステップＳ３、４）、処理Ａ〜Ｇ（ステップＳ６〜１２）の途中で何らかの不具合により動作が停止すると、ソフトがどこまで進んだか全く知る手段がない。
【００２４】
図２は、本実施形態に係る動作処理を示すフローチャートである。各処理の間に、出力ポートを反転させるサブルーチンを挿入しているものである。このような処理を行うことで、ソフトウェアがどこまで進んだか容易に判断可能となる。出力ポートの反転は、例えば図３に示すようなオシロスコープ１０を用いて行うことが考え得る。
【００２５】
図４は、出力ポートの波形の一例を示す図である。図４に示す状況の場合、５回反転しているため、図２の処理Ａまでは動作が停止することなく進み、処理Ｂで何らかの問題で動作の停止等、異常が発生したと判断できる。
【００２６】
上記実施形態により、ログの全く取得できない動作異常発生時において、ロジックアナライザ等を接続するような複雑な解析を行わなくとも、ソフトがどこまで動作したか判断可能とし、解析の効率を向上させることが可能となる。
【００２７】
次に、本発明の他の実施形態の動作処理を図５を用いて説明する。本実施形態は、各初期設定（Ａ、Ｂ）、診断（Ａ、Ｂ）、処理（Ａ〜Ｈ）が進むごとに出力ポートに１パルスを発生するサブルーチンを挿入しているものである。このような処理を行うことで、ソフトウェアがどこまで進んだか容易に判断可能となる。
【００２８】
図６は、出力ポートの波形を示す一例である。図６に示す状況の場合、３パルス発生しているため、図５の診断Ａまでは動作が停止することなく進み、診断Ｂで何らかの問題で動作の停止等、異常が発生したと判断出来る。
【００２９】
上記実施形態により、ログの全く取得できない動作異常発生時において、ロジックアナライザ等を接続するような複雑な解析を行わなくとも、ソフトがどこまで動作したか判断可能とし、解析の効率を向上させることが可能となる。
【００３０】
次に、本発明の他の実施形態に係る装置の動作処理を図７を用いて説明する。上記各実施形態のように、出力ポートを反転させたりパルスを発生させたりする手段では、ソフトが条件により分岐した場合、どこまでソフトが進んだか判断できない。
【００３１】
例えば、図７に示すようなフローの場合に、仮にサブルーチンＡにて図２示す１パルスを発生させる手段を考えた場合、３パルス発生の場合に、初期設定Ａ→初期設定Ｂ→初期設定Ｄ、初期設定Ａ→初期設定Ｃ→初期設定Ｅ、初期設定Ａ→初期設定Ｃ→初期設定Ｆの何れの処理が行われたのか判断付かない。そこで、ソフト上の特定のポイントでは、そのポイント固有の幅（期間）の１パルスを発生することでどのポイントのパルスかを識別する。
【００３２】
例えば、図８に示した出力ポートの波形では、パルス幅が１のパルス、３のパルス、６のパルスが出力された後、パルスが出力されずに動作が停止しているので、初期設定Ａ→初期設定Ｃ→初期設定Ｆまでは動作が停止することなく進み、診断Ａで何らかの問題で動作の停止等、異常が発生したと判断できる。
【００３３】
上記実施形態により、動作履歴を全く取得できない不具合発生時において、ソフトがどこまで進んだのかロジックアナライザ等を接続しなくとも、容易に判断可能とし、さらに条件により分岐するようなソフトウェアにおいてもソフトがどこまで動作したか判断可能とすることで、解析の効率を向上させることが可能となる。
【００３４】
次に、本発明の他の実施形態に係る装置の動作処理を図９を用いて説明する。ソフトが条件により分岐した場合も出力ポートの出力波形を観測することでどこまでソフトが進んだかを判断可能にするための手段である。
【００３５】
例えば、図９に示すようなフローの場合、ソフト上の特定のポイントでは、そのポイント固有の数のパルスを発生することでどのポイントのパルスかを識別する。例えば、図１０に示した出力ポートの波形では、初期設定Ａ→初期設定Ｃ→初期設定Ｅまでは動作が停止することなく進み、診断Ａで何らかの問題で動作の停止等、異常が発生したと判断できる。
【００３６】
上記実施形態により、動作履歴を全く取得できない不具合発生時に、ソフトがどこまで進んだのかロジックアナライザ等を接続しなくても容易に判断可能とし、さらに条件により分岐するようなソフトウェアにおいてもソフトがどこまで動作したか判断可能となるため、解析の効率を向上させることが可能となる。
【００３７】
次に、本発明の他の実施形態に係る装置のブロック構成を図１１に示す。本構成は、図１で示した構成に出力ポートを１ポート追加し、出力ポートＡ、出力ポートＢを装備したものである。
【００３８】
上記図９を用いて説明した実施形態の場合、仮に非同期の割込みがサブルーチンＡの処理中に入った場合、割込み処理が行われる関係で出力ポートのパルス間隔、パルス波形は一定のタイミングで制御されないことになる。かかる場合の波形例を図１２に示す。この場合は、３個のパルス発生処理を行っている最中に割込みＩ、ＩＩが、５個のパルス発生処理を行っている最中に割込みＩＩＩが入った場合の例である。このような出力波形だと、どのような処理が行われたか特定できない。
【００３９】
本実施形態の動作処理を図１３に示す。サブルーチンＡに示すように、出力ポートを２ポート用意することで、出力ポートＢにパルス発生期間中、出力ポートＡにはＨレベル信号を出力することで、割込み処理によりタイミングが崩れた波形でも確実にパルス発生数を識別することが可能となる。
【００４０】
図１４に本実施形態に示す動作を行った場合の出力波形を示す。図に示されるように割込み処理が行われたため出力ポートＢの各パルスのパルス幅、パルス発生のタイミングは崩れている。しかし、出力ポートＡの情報により一組のパルスが明確になる（１パルス→３パルス→５パルス）ため、初期設定Ａ→初期設定Ｃ→初期設定Ｅまでは動作が停止することなく進み、診断Ａで何らかの問題で動作の停止等、異常が発生したと判断できる。
【００４１】
上記実施形態により、条件により分岐するようなソフトウェアでも、どこまで処理が進んだかを特定可能とし、さらに割込み処理等によりパルスのタイミングが崩れた場合においてもソフトがどこまで動作したか判断可能となるため、解析の効率を向上させることが可能となる。
【００４２】
本発明の他の実施形態に係る装置のブロック構成を図１５、１６に示す。図１５に示す構成例では、パルスを発生するパルス発生器１１をＲＯＭ等が接続されているローカルバスに接続した構成としているが、パルス発生器を制御用ＡＳＩＣ内に取り込み、ＡＳＩＣの機能の一つとしても良い。
【００４３】
図１６に最も簡単なパルス発生器の構成例を示す。本構成例では、パルスを発生するパルスジェネレータ、パルス発生数を設定するパルス発生数設定レジスタ、パルス数をカウントするカウンタ、パルス数設定値とカウンタ値を比較するコンパレータより構成される。
【００４４】
パルス発生数設定レジスタは、内部に設定値を保持するレジスタを持っており、−Ｓ（チップセレクト）、−Ｗ（ライト）の両信号により書込み制御される。また、−ＣＬＲ１、−ＣＬＲ２端子を持っており、何れかの信号のアサートによりレジスタ値はクリア（０）されるものとする。
【００４５】
カウンタは、ＣＬＫＩＮ端子に入力されるクロックをカウントし、コンパレータに出力する。また、−ＣＬＲ１、−ＣＬＲ２端子を持っており、何れかの信号のアサートによりカウント値はクリア（０）されるものとする。
【００４６】
コンパレータは、パルス発生数設定レジスタからの設定値とカウンタからのカウント値を比較する機能を有する。−ＳＴＯＰ信号は、２つの入力データが一致する場合はアサートされ、不一致の場合はネゲートされる。また、−ＣＬＲ信号は、２つの入力データが一致した時に１パルス（ネガティブパルス）を出力するものとする。
【００４７】
パルスジェネレータは、ＣＬＫＩＮ端子に入力されたクロックを元にパルスを生成し、ＣＬＫＯＵＴ端子に出力する機能を有する。また、−ＣＬＲ端子や−ＳＴＯＰ端子がアサートされている期間は、パルス出力は停止するものとする。
【００４８】
本実施形態の動作処理を簡単に説明したものが図１７である。−Ｒｅｓｅｔ解除後、パルス発生数設定レジスタ値とカウント値は０となっている。ａでパルス発生数設定レジスタに発生させたい数"３"を書き込む。それによりコンパレータ出力の−ＳＴＯＰはネゲートされる（ｂ）。−ＳＴＯＰがネゲートされたためパルス発生器からのＰＳＯＵＴは出力され始める（ｃ）。パルス発生によりカウンタはカウント動作を開始する（ｄ、ｅ、ｆ）。ｆによりカウント値が設定値と一致したため、−ＳＴＯＰはアサートされ、−ＣＬＲには１パルス出力される（ｇ）。これにより、ＰＳＯＵＴへのパルス出力は停止し、パルス発生数設定レジスタ値とカウント値はクリア（０）される（ｈ）。その後は、再びパルス発生数設定レジスタに設定値を書き込まれるまで、動作は停止する。
【００４９】
上記実施形態により、条件により分岐するようなソフトウェアでも、どこまで処理が進んだかを特定可能とし、ソフト処理でパルス発生タイミングを取ったりするような複雑なソフト処理を排除することで、さらにソフト処理の負荷を軽減することが出来る。
【００５０】
尚、各図のフローチャートに示す処理を、ＣＰＵ１が実行するためのプログラムは本発明によるプログラムを構成する。このプログラムを記録する記録媒体としては、半導体記憶部や光学的及び／又は磁気的な記憶部等を用いることができる。このようなプログラム及び記録媒体を、前述した各実施形態とは異なる構成のシステム等で用い、そこのＣＰＵで上記プログラムを実行させることにより、本発明と実質的に同じ効果を得ることができる。
【００５１】
以上、本発明を好適な実施の形態に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施形態に係る装置のブロック構成図である。
【図２】本発明の実施形態に係る装置の動作処理を示すフローチャートである。
【図３】本発明の実施形態に係る出力ポート反転を実行例を説明するための図である。
【図４】本発明の実施形態に係る出力ポートの波形を示す図である。
【図５】本発明の実施形態に係る装置の動作処理を示すフローチャートである。
【図６】本発明の実施形態に係る出力ポートの波形を示す図である。
【図７】本発明の実施形態に係る装置の動作処理を示すフローチャートである。
【図８】本発明の実施形態に係る出力ポートの波形を示す図である。
【図９】本発明の実施形態に係る装置の動作処理を示すフローチャートである。
【図１０】本発明の実施形態に係る出力ポートの波形を示す図である。
【図１１】本発明の実施形態に係る装置のブロック構成図である。
【図１２】本発明の実施形態に係る出力ポートの波形を示す図である。
【図１３】本発明の実施形態に係る装置の動作処理を示すフローチャートである。
【図１４】本発明の実施形態に係る出力ポートの波形を示す図である。
【図１５】本発明の実施形態に係る装置のブロック構成図である。
【図１６】本発明の実施形態に係るパルス発生器のブロック構成図である。
【図１７】本発明の実施形態に係る装置の動作処理を説明するための図である。
【図１８】通常の動作処理を示すフローチャートである。
【符号の説明】
【００５３】
１    ＣＰＵ
２    制御用ＡＳＩＣ
３    複写機エンジン
４    ＲＡＭ
５    ＨＤＤ
６    ＲＯＭ
７    ＵＡＲＴ
８    ＲＳ２３２Ｃドライバ／レシーバ
９    ＰＣ（ターミナル）
１０    オシロスコープ
１１    パルス発生器
【図１】
2008146499.tif 000003
【図２】
2008146499.tif 000004
【図３】
2008146499.tif 000005
【図４】
2008146499.tif 000006
【図５】
2008146499.tif 000007
【図６】
2008146499.tif 000008
【図７】
2008146499.tif 000009
【図８】
2008146499.tif 000010
【図９】
2008146499.tif 000011
【図１０】
2008146499.tif 000012
【図１１】
2008146499.tif 000013
【図１２】
2008146499.tif 000014
【図１３】
2008146499.tif 000015
【図１４】
2008146499.tif 000016
【図１５】
2008146499.tif 000017
【図１６】
2008146499.tif 000018
【図１７】
2008146499.tif 000019
【図１８】
2008146499.tif 000020