(57)【要約】      （修正有）【課題】リング状のバスに故障が生じた場合であっても、故障の箇所などを特定可能にすること。【解決手段】画像処理装置の電源投入時に、メインモジュールは、ＯＫパケットをリング状のバスに出力するS801。各サブモジュールは、電源投入時からサブモジュールごとの待機時間内にバスからパケット受信が有った場合には受信パケットをバスに出力し、待機時間内にバスからパケット受信が無かった場合にはＮＧパケットを生成してバスに出力する。メインモジュールは、ＯＫパケットの出力から所定時間Ｔｗ２内のバスからのデータ受信の有無及びＴｗ２内にバスから受信したＮＧパケットに含まれるＮＧパケット生成チップＩＤやステータス情報に基づいて、リング状のバスの故障個所の判定やエラー要因の推定を行うS802〜S807。【選択図】図８
2018022205.tif 000002
【特許請求の範囲】
【請求項１】
第１モジュールと、１以上の第２モジュールがリング状のバスを介して順次データ転送可能に接続される情報処理装置であって、
前記第１モジュールは、所定タイミングで第１属性を有するデータを前記バスに出力し、前記バスから受信されるデータに基づいて前記リング状のバスの故障を判定する第１制御手段を備え、
前記第２モジュールは、前記所定タイミングから前記第２モジュールごとに定められた第１時間内に前記バスからデータの受信が有った場合には該受信したデータを前記バスに出力し、前記第１時間内に前記バスからデータの受信が無かった場合には第２属性を有するデータを生成して前記バスに出力する第２制御手段を備え、
前記第２属性を有するデータは、該データの生成元のモジュールを特定するための特定情報を含み、
前記第１制御手段は、前記所定タイミングから第２時間内の前記バスからのデータの受信の有無、及び、前記所定タイミングから前記第２時間内に前記バスから受信した前記第２属性を有するデータに含まれる前記特定情報に基づいて、前記リング状のバスの故障個所を判定することを特徴とする情報処理装置。
【請求項２】
前記第１制御手段は、
前記所定タイミングから前記第２時間内に前記バスからデータの受信がなかった場合には、前記第１モジュールの直前の前記第２モジュールから前記第１モジュールまでの経路に故障があると判定し、
前記所定タイミングから前記第２時間内に前記バスから前記第２属性を有するデータを受信した場合には、該第２属性を有するデータに含まれる前記特定情報から特定されるモジュールの直前のモジュールから該特定されるモジュールまでの経路に故障があると判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１制御手段は、前記所定タイミングから前記第２時間内に前記バスから前記第１属性を有するデータを受信した場合には、前記バスの経路に故障個所がないと判定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第２属性を有するデータに含まれる前記特定情報は、該データの生成元のモジュールの固有のＩＤであることを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第２属性を有するデータに含まれる前記特定情報は、該データが通過したモジュールの数を特定する通過番号であり、
前記第２制御手段は、前記第２属性を有するデータを生成する場合、前記通過番号に初期値を用いて該データを生成し、
また、前記第２制御手段は、前記所定タイミングから前記第１時間内に前記バスから受信したデータが前記第２属性を有するデータの場合、該データに含まれる通過番号を一定の規則で変更して前記バスに出力することを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項６】
前記第２属性を有するデータは、該データの生成元のモジュールのステータス情報を含み、
前記制御手段は、前記第２属性を有するデータに含まれるステータス情報に基づいて故障の要因を推定することを特徴とする請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記所定タイミングは、前記情報処理装置に電源が投入されたことに基づくタイミングであることを特徴とする請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記情報処理装置は、画像処理装置であることを特徴とする請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
第１モジュールと、１以上の第２モジュールがリング状のバスを介して順次データ転送可能に接続される情報処理装置の制御方法であって、
前記第１モジュールが実行する、所定タイミングで第１属性を有するデータを前記バスに出力し、前記バスから受信されるデータに基づいて前記リング状のバスの故障を判定する第１制御ステップと、
前記第２モジュールが実行する、前記所定タイミングから前記第２モジュールごとに定められた第１時間内に前記バスからデータの受信が有った場合には該受信したデータを前記バスに出力し、前記第１時間内に前記バスからデータの受信が無かった場合には第２属性を有するデータを生成して前記バスに出力する第２制御ステップと、を備え、
前記第２属性を有するデータは、該データの生成元のモジュールを特定するための特定情報を含み、
前記第１制御ステップでは、前記所定タイミングから第２時間内の前記バスからのデータの受信の有無、及び、前記所定タイミングから前記第２時間内に前記バスから受信した前記第２属性を有するデータに含まれる前記特定情報に基づいて、前記リング状のバスの故障個所を判定することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及び情報処理装置の制御方法に関する。
【背景技術】
【０００２】
従来、複数のデータ処理部をデータバスによってリング状に接続し、データをリング状のデータバスの一方向に送信することにより、複数のデータ処理部間でデータのやり取りを行うシステムが提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２４５９５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のリング状に接続されたバスの自己診断方法（データの転送路を自己診断する方法）は、データをメインチップから送信し、リング状のバスを介してデータが戻ってきた場合には正常（ＯＫ）、データが戻ってこなかった場合には異常（ＮＧ）と判断していた。
しかし、異常と判断された場合、リング状のバスのどの部分に故障が発生しているのか、すなわち故障箇所を判断できないといった問題があった。このため、故障個所の解析に時間がかかり多くのコストがかかるなど、保守性が良いとは言えなかった。
【０００５】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、リング状のバスに故障が生じた場合であっても、故障の箇所などを特定することができる仕組みを提供することである。
【課題を解決するための手段】
【０００６】
本発明は、第１モジュールと、１以上の第２モジュールがリング状のバスを介して順次データ転送可能に接続される情報処理装置であって、前記第１モジュールは、所定タイミングで第１属性を有するデータを前記バスに出力し、前記バスから受信されるデータに基づいて前記リング状のバスの故障を判定する第１制御手段を備え、前記第２モジュールは、前記所定タイミングから前記第２モジュールごとに定められた第１時間内に前記バスからデータの受信が有った場合には該受信したデータを前記バスに出力し、前記第１時間内に前記バスからデータの受信が無かった場合には第２属性を有するデータを生成して前記バスに出力する第２制御手段を備え、前記第２属性を有するデータは、該データの生成元のモジュールを特定するための特定情報を含み、前記第１制御手段は、前記所定タイミングから第２時間内の前記バスからのデータの受信の有無、及び、前記所定タイミングから前記第２時間内に前記バスから受信した前記第２属性を有するデータに含まれる前記特定情報に基づいて、前記リング状のバスの故障個所を判定することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、リング状のバスに故障が生じた場合であっても、故障の箇所などを特定することができる。この結果、故障個所の解析コストの削減や、装置の保守性を向上することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本実施例の画像処理装置の構成を例示するブロック図
【図２】メインチップ内の送信部の詳細を例示するブロック図
【図３】サブチップ内の受信部の詳細を例示するブロック図
【図４】実施例１のサブチップ内の送信部の詳細を例示するブロック図
【図５】メインチップ内の受信部の詳細を例示するブロック図
【図６】本実施例のパケット構成を説明する図
【図７】実施例１のサブチップの制御処理を例示するフローチャート
【図８】実施例１のメインチップの制御処理を例示するフローチャート
【図９】リングバス自己診断動作でＮＧパケットが生成された場合の各チップの入出力の波形を説明する図
【図１０】リングバス自己診断動作でＮＧパケットが生成されなかった場合の各チップの入出力の波形を説明する図
【図１１】実施例２におけるサブチップ内の送信部の詳細を例示する図
【図１２】実施例２におけるサブチップの制御処理を例示するフローチャート
【図１３】実施例２におけるメインチップの制御処理を例示するフローチャート
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明を実施するための形態について説明する。
【実施例１】
【００１０】
図１は、本発明の一実施例を示す情報処理装置を適用可能な画像処理装置100の構成を例示するブロック図である。
本実施例の画像処理装置100は、メインチップ110、サブチップ120、サブチップ130、サブチップ140がリングバス191、192、193、194によりリング状に接続され、この順番でデータが転送される構成を有する。なお、リング状のバスにより接続されるサブチップの数は３つに限定されるものではなく、１以上であればよい。すなわち、メインチップと、１以上のサブチップがリング状のバスを介して順次データ転送可能に接続される構成であればよい。
【００１１】
なお、上記各チップ間を転送されるデータは、パケットという既定の単位で転送される。ここでパケットの構成について図６（ａ）を用いて説明する。
図６（ａ）は、実施例１のパケット構成を説明する図である。
実施例１においては、各パケットは、図６（ａ）のような構成を有する。即ち、各パケットは、チップＩＤ領域、パケットタイプ領域、パケットサイズ領域、データ領域を有する。
【００１２】
チップＩＤ領域は、パケットの送信先を指定するチップＩＤ情報を格納する。パケットタイプ領域は、リングバス自己診断動作において使用されるパケット（ＯＫパケット、ＮＧパケット）であるか、通常のパケットであるかを明示的に示すパケットタイプを格納する。なお、リングバス自己診断動作とは、画像処理装置100がリング状のバスにおけるデータの転送路を自己診断してリング状のバスのどこが故障しているかを検出するための動作を示し、詳細は後述する。
【００１３】
パケットタイプは、例えば、通常パケットの場合は「０」、ＯＫパケット（ＯＫ属性を有するパケット）の場合は「１」、ＮＧパケット（ＮＧ属性を有するパケット）の場合は「２」とする。パケットサイズ領域は、パケットの大きさを示すパケットサイズを格納する。データ領域は、パケットにより送信するデータを格納する。なお、後述のリングバス自己診断動作においてパケットタイプ領域に格納されるパケットタイプがＮＧの場合には、すなわちＮＧパケットでは、データ領域にデバッグ情報が格納される。
【００１４】
以下、図１の説明に戻る。
各チップの受信部（123、133、143，113）は、パケットのチップＩＤを参照してパケットが自分宛であれば内部ブロック（112，122，132，142）へ転送し、自分宛でなければパケットを各チップの送信部（114，124，134，144）を介して、そのまま次のチップ（下流のチップ）へ転送する。
【００１５】
任意のチップ（110，120，130，140）は、送るべきデータが存在する場合、データを含むパケットを生成し、該パケットに送り先の情報（チップＩＤ）を付加することにより、任意のチップへデータを送信することができる。つまり、リングバスにより各チップ（110，120，130，140）は互いにデータを送受信可能な構成である。
【００１６】
また、メインチップ110は、ユーザインタフェース部（ＵＩ部）170を介してユーザからのコピー、印刷、読み取り等のコマンドを受け付けたり、ユーザに対するメッセージ等の表示を出力する。また、メインチップ110は、ネットワーク180とも接続されており、ネットワークに接続された他のホストコンピュータ等から印刷データ等を受信する。
【００１７】
サブチップ120は、メインチップ110から送られた画像データに対し、色変換、2値化等印刷部150に適した画処理を印刷画処理部122で施し、処理後の画像データを印刷部150へ送信する。印刷部150は、画像データに基づき、例えば電子写真方式により画像をシート紙上に形成する。
【００１８】
サブチップ130は、メインチップ110から送られた画像データに対し、回転、縮小などの処理を編集画処理部132で行い、処理後のデータをメインチップ110へ送信する。
【００１９】
サブチップ140は、読取部160から送られた画像データに対し、色補正、フィルタ処理等読取用の画像処理を読取画処理部142で施し、処理後のデータをメインチップ110へ送信する。読取部160は、原稿等の画像を光学的にスキャンしデジタルデータへ変換する。
【００２０】
サブチップ130、サブチップ140から送られた画像データは、メインチップ110を介して格納部190に格納される。
以上のように構成された画像処理装置100において、メインチップ110は、各部を統括制御してコピー、印刷、読み取り等の機能を実現する。
また、メインチップ110のメイン制御部112には、後述するフローチャートに示すメインチップにおけるリングバス自己診断動作を実現するための構成が実装（例えばプログラムとして実装）されており、後述のフローチャートに示す制御を行う。
【００２１】
以下、各チップの送信部及び受信部についてデータ転送順に説明する。
まず、メインチップ110内の送信部114から説明を行う。
図２は、メインチップ110内の送信部114の詳細を例示するブロック図である。本実施例では、チップ間接続に高速シリアルインタフェースを使用した例を示すが、これに限定されるものではない。
【００２２】
図２に示す送信部114において、パケット生成部220は、ＯＫパケットを生成するためのものである。ＯＫパケットは、本発明の特徴となるリングバス自己診断動作においてメインチップ110から出力されるパケットである。ＯＫパケット生成部220は、ＯＫパケットのパケットタイプ領域に、ＯＫパケットであることを示すパケットタイプである「１」を設定する。ＯＫパケットは、このパケットタイプによりＮＧパケットと区別される。また、ＯＫパケット生成部220は、ＯＫパケットがメインチップ110へ戻るように、ＯＫパケットのチップＩＤ領域にメインチップのチップＩＤである「０」を設定する。
【００２３】
セレクタ230は、メイン制御部112からのパケットとＯＫパケットの何れかを選択し、出力する。送信ＰＨＹ210は、セレクタ230により選択されたパケットを、シリアルデータへ変換し高周波数で出力する。本実施例では、パケットは、８ビット単位で送信ＰＨＹ210へ入力される。送信ＰＨＹ210内の8B10B符号化部215は、既定のルールで８ビットを１０ビットに変換する。パラシリ変換部213は、8B10B符号化部215で変換された１０ビットデータをシリアルに変換する。差動ドライバ211は、パラシリ変換部213で変換されたシリアルデータを差動出力する。なお、8B10B符号化部215は、シリアルデータのハイ（High）とロウ（Low）が均等であり且つ一つのレベルが長く続かないことを保証する。これにより、後述する図３に示す受信部123の受信ＰＨＹ310内のＣＤＲ312でクロックを復元されることが可能になる。
メインチップ110内の送信部114から出力された差動信号は、サブチップ120内の受信部123で受信されることになる。
【００２４】
次に、サブチップ120内の受信部123について説明する。
図３は、サブチップ120内の受信部123の詳細を例示するブロック図である。なお、受信部123は、サブチップ130内の受信部133、サブチップ140内の受信部143と共通の構成をとるものとする。
【００２５】
受信ＰＨＹ310は、上流のチップの送信部から送信された差動信号を受信し、パケットを復元する。受信ＰＨＹ310内の差動レシーバ311は、差動信号を受信する。ＣＤＲ（Clock Data Recovery）312は、差動レシーバ311が受信した差動信号からクロックを復元し、シリアルデータを出力する。シリパラ変換部313は、ＣＤＲ312から出力されたシリアルデータをパラレルに変換する。このデータは、送信部と受信部との周波数差を吸収するエラスティック（Elastic）バッファ314を通って、8Ｂ10Ｂ複合化部315で、10ビットから8ビットのデータへ複合される。以上のように、メインチップ110の送信部114で送信ＰＨＹ210へ入力されたパケットは、サブチップ120の受信ＰＨＹ310の出力として復元される。
【００２６】
なお、ＰＨＹ310は、エラーステータス370を常時出力する。以下、エラーステータスの要素（エラー要素）について説明する。
「信号検出エラー」は、差動レシーバ（例えば311）が差動信号のレベル差を検出できないことを示し、差動ドライバ（例えば211）が不良であるか、チップ間（例えば191）が断線していること等が想定される。
「8Ｂ10Ｂデコードエラー」は、既定の10ビットデータ以外の信号列（シンボル）を受信したことを示す。チップ間の差動信号路のノイズマージンが少ない、信号路でノイズが加わった等の原因で転送エラーが発生したことが予想される。
「エラスティックバッファオーバーフロー」は、送信部の送信周波数が受信部の受信周波数よりも高すぎてエラスティックバッファがあふれてしまったことを示す。
「エラスティックバッファアンダーフロー」は、送信部の送信周波数が受信部の受信周波数よりも低すぎてエラスティックバッファが空になり受信データが途切れてしまったことを示す。
【００２７】
例えば、上記の何れのエラー要素に対応するエラーも無い状態では、エラーステータス370は、信号検出エラー：０（無し）、8Ｂ10Ｂデコードエラー：０（無し）、エラスティックバッファオーバーフロー：０（無し）、エラスティックバッファアンダーフロー：０（無し）に対応する情報（例えばビット列「0000」等）となる。また、信号検出エラーのみが有る状態では、エラーステータス370は、信号検出エラー：１（有り）、8Ｂ10Ｂデコードエラー：０（無し）、エラスティックバッファオーバーフロー：０（無し）、エラスティックバッファアンダーフロー：０（無し）に対応する情報（例えばビット列「1000」等）となる。
【００２８】
スイッチ360は、受信ＰＨＹ310から出力されたパケットの送信先を、そのパケットのチップＩＤによって、印刷画処理部122または送信部124へ振り分ける。つまり、パケットのチップＩＤが「１」のときは印刷画処理部122へ、それ以外の時はスイッチ350を介して送信部124へ振り分けられ送信される。リングバス自己診断動作時は、ＯＫパケット、ＮＧパケットのいずれのパケットもチップＩＤが「０」であるため、送信先がメインチップ110となるので、パケットは送信部124へ送信される。
【００２９】
次に、サブチップ120内の送信部124について説明する。
図４は、サブチップ120内の送信部124の詳細を例示するブロック図である。なお、送信部124は、サブチップ130内の送信部134、サブチップ140内の送信部144と共通の構成とする。
【００３０】
ＮＧパケット生成部420は、ＮＧパケットを生成するためのものである。ＮＧパケット生成部420は、受信部123が出力するエラーステータス370及びチップ特定情報格納部430が出力するチップ特定情報を基にＮＧパケットを生成する。ＮＧパケット生成部420は、ＮＧパケットのパケットタイプ領域に、ＮＧパケットであることを示すパケットタイプである「２」を設定する。ＮＧパケットは、このパケットタイプによりＯＫパケットと区別される。
【００３１】
調停部450は、受信部123からのパケットと印刷画処理部122からのパケットの何れかのパケット受信を行うか調停を行う。セレクタ440は、調停部450からのパケットとＮＧパケットの何れかを選択し出力する。
【００３２】
送信制御部401には、後述するフローチャートに示すサブチップにおけるリングバス自己診断動作を実現するための構成が実装（例えばプログラムとして実装）されており、後述のフローチャートに示す制御を行う。
送信ＰＨＹ410は、図２に示した送信ＰＨＹ210と同一の構成であるので説明を省略する。
【００３３】
サブチップ120内の送信部124からの出力はサブチップ130内の受信部133で受信され、サブチップ130内の送信部134からの出力はサブチップ140内の受信部143で受信され、サブチップ140内の送信部144からの出力はメインチップ110内の受信部113で受信されることになる。
【００３４】
最後に、メインチップ110内の受信部113について説明する。
図５は、メインチップ110内の受信部113の詳細を例示するブロック図である。
受信ＰＨＹ510は、受信ＰＨＹ310と同の一構成であるので説明を省略する。なお、エラーステータス570は、メイン制御部112へ送信される。
受信ＰＨＹ510から出力されたパケットは、メイン制御部112へ送信される。また、ＯＫ、ＮＧのいずれのパケットもテストパケット格納部530に格納される。
以上の構成でのリングバス自己診断動作を以下に説明する。
【００３５】
以下のフローチャートに示す処理は、画像処理装置100に電源が投入され、図示しないシステムスタート信号が各チップへ伝えられた時点（図９、図１０に時刻ｔ０で示す所定タイミング）で、各チップにおいて開始されるものであり、コピー、プリント、読み取り等の通常動作と同時には行われないものとする。リングバスの自己診断動作は、メインチップ110とサブチップ120、130、140がそれぞれの制御を実行することによって実現する。例えば、メインチップ110は図８に示す制御、サブチップ120は図７（ａ）に示す制御、サブチップ130は図７（ｂ）に示す制御、サブチップ140は図７（ｂ）に類似する不図示の制御を実行することによって実現する。
【００３６】
以下、リングバスの自己診断動作について説明する。
まず、リングバスの自己診断動作において、ＮＧパケットが生成された場合と、ＮＧパケットが生成されなかった場合の各チップの入出力の波形等について、図９、図１０を用いて説明する。
リングバスの自己診断動作においてＮＧパケットが生成された場合の各チップの入出力の波形を図９（ａ）、メインチップ110で受信したパケット（ＮＧパケット）を図９（ｂ）に例示する。
また、リングバスの自己診断動作においてＮＧパケットが生成されなかった場合の各チップの波形を図１０（ａ）、メインチップ110で受信したパケット（ＯＫパケット）を図１０（ｂ）に例示する。
【００３７】
次に、各チップにおける動作について図７、図８を用いて説明する。
〔サブチップ120における制御〕
図７（ａ）は、サブチップ120の制御処理を例示するフローチャートである。このフローチャートの処理は、サブチップ120の送信制御部401の制御により実行される。
【００３８】
本フローチャートの処理を開始すると（図９、図１０の時刻ｔ０）、S701において、送信制御部401は、受信部123から受信パケットが転送されてきたか否かを判断する。そして、受信パケットが転送されてきていないと判断した場合（S701でNoの場合）、送信制御部401は、S702に処理を進める。S702において、送信制御部401は、本処理を開始してからＴｗ１の時間が経過したか否かを判断する。そして、まだＴｗ１の時間が経過していないと判断した場合（S702でNoの場合）、S701に処理を戻す。すなわち、送信制御部401は、本処理を開始すると、受信部123から受信パケットが転送されてくるのをＴｗ１の時間、待機（監視）する（S701、S702）。なお、Ｔｗ１は、サブチップ120がＯＫパケット又はＮＧのパケットを受信し終えるために十分な待ち時間として予め定められてサブチップ120に設定されているものである。
【００３９】
Ｔｗ１の時間が経過しても受信部123から受信パケットが転送されてこないと判断した場合（S701でNo且つS702でYesの場合）、送信制御部401は、S703に処理を進める。S703において、送信制御部401は、エラーステータス370及びチップ特定情報格納部430からのチップ特定情報を含むＮＧパケットを、ＮＧパケット生成部420で生成するように制御する。この際、セレクタ440は、送信制御部401の制御により、常にＮＧパケット生成部420の出力を選択する。この結果、サブチップ120は、ＮＧパケットを出力する。
【００４０】
一方、Ｔｗ１の時間が経過する前に受信部123から受信パケットが転送されてきたと判断した場合（S701でYesの場合）、送信制御部401は、その受信パケットをそのまま送信ＰＨＹ410を介して出力するように制御する（S705）。すなわち、この場合、セレクタ440は、送信制御部401の制御により、調停部450の出力（受信パケット）を選択する。この結果、サブチップ120は、受信パケットをそのまま出力する。
【００４１】
〔サブチップ130における制御〕
図７（ｂ）は、サブチップ130の制御処理を例示するフローチャートであり、図７（ａ）と同一のステップには同一のステップ番号を付してある。このフローチャートの処理は、サブチップ130の送信制御部401の制御により実行される。
【００４２】
サブチップ130における制御（図７（ｂ））と、サブチップ120における制御（図７（ａ））との差分は、S712における待ち時間のみである。つまり、サブチップ120がS702において「Ｔｗ１」の時間、パケットの受信を待機したのに対し、サブチップ130はS712において「Ｔｗ１＋α」の時間、パケットの受信を待機する。なぜなら、時刻「ｔ０＋Ｔｗ１」でサブチップ120がＮＧパケットを出力した場合、サブチップ130がそのパケットを検出可能になるためには、さらにパケットの転送時間分（α）を要するためである。なお、Ｔｗ１＋αは、サブチップ130がＯＫパケット又はＮＧのパケットを受信し終えるために十分な待ち時間として予め定められてサブチップ130に設定されているものである。
なお、S701でパケット受信の有無を判断した後の処理（S705）は、サブチップ120の制御と共通である。
【００４３】
〔サブチップ140における制御〕
サブチップ140における制御に関しても、サブチップ120における制御との差分は待ち時間のみである。したがって、サブチップ140における制御を示すフローチャートは省略する。サブチップ140の場合は、先に述べた理由でサブチップ130に対しさらにαの時間待機する必要があるため、時刻ｔ０からはＴｗ１＋2αの時間監視する必要がある。すなわち、サブチップ140における制御は、図７（b）のS712の「Ｔｗ１＋α」を「Ｔｗ１＋２α」としたものとなる。なお、Ｔｗ１＋２αは、サブチップ140がＯＫパケット又はＮＧのパケットを受信し終えるために十分な待ち時間として予め定められてサブチップ140に設定されているものである。
【００４４】
すなわち、各サブチップは、電源投入時等のタイミングからサブチップごとに定められた待機時間内にバスからパケット受信が有った場合には受信パケットをバスに出力し、待機時間内にバスからパケット受信が無かった場合にはＮＧパケットを生成してバスに出力する。
【００４５】
〔メインチップ110における制御〕
図８は、メインチップ110の制御処理を例示するフローチャートである。このフローチャートの処理は、メインチップ110のメイン制御部112の制御により実行される。
本フローチャートの処理を開始すると（図９、図１０の時刻ｔ０）、S801において、メイン制御部112は、ＯＫパケットを、ＯＫパケット生成部220で生成し出力するように制御する。この際、セレクタ230は、メイン制御部112の制御により、常にＯＫパケット生成部220の出力を選択する。結果としてメインチップ110はＯＫパケット１つ出力する。
【００４６】
次に、S802において、メイン制御部112は、既定の期間Ｔｗ２の間待機する。なお、Ｔｗ２はリングバスからＯＫパケット又はＮＧのパケットがメインチップ110へ返る場合にパケットを受信し終えるために十分な待ち時間として予め定められてメイン制御部112に設定されているものである。なお、S802で待機している間、メインチップ110の受信部113はパケットを受信すると、該パケットをテストパケット格納部530へ格納する。
【００４７】
Ｔｗ２待機後（時刻ｔ２）、S803において、メイン制御部112は、テストパケット格納部530を確認し、上記待機時間中にパケットの受信があったか否かを判断する。そして、パケットの受信がなかったと判断した場合（S803でNoの場合）、メイン制御部112は、S804に処理を進める。
【００４８】
S804において、メイン制御部112は、サブチップ140の送信部144からメインチップ110の受信部113までの経路に故障が有ると判定する。さらに、メイン制御部112は、受信部113が出力するエラーステータス570からエラーの要因を推定する。エラー要因は図３の説明で述べたとおりである。例えば、信号検出エラー：１（有り）の場合、メイン制御部112は、サブチップ140の差動ドライバ411が不良であるか、リングバス194の断線を推定する。
次に、S808において、メイン制御部112は、ＵＩ部170に、上記S804の判定結果及びエラーの要因の推定結果を表示し、本フローチャートの処理を終了する。
【００４９】
一方、上記S803において、上記S802の待機時間中にパケットの受信があったと判断した場合（S803でYesの場合）、メイン制御部112は、S805に処理を進める。
S805において、メイン制御部112は、テストパケット格納部530に格納されたパケット（テストパケット）を検査し、該テストパケットがＮＧパケットであるか否かを判断する。そして、テストパケットがＮＧパケットであると判断した場合（S805でYesの場合）、メイン制御部112は、S806に処理を進める。
【００５０】
上記S806において、メイン制御部112は、リングバス転送経路に故障があると判定し、上記受信したＮＧパケットに含まれるＮＧパケット生成チップの情報及びエラーステータスの情報（ＮＧパケットの生成元のサブチップのステータス情報）などから故障個所や要因を推定する。以下、故障個所や要因の推定について具体例を用いて説明する。
【００５１】
例えば、リングバス192に断線故障が有った場合を例に説明する。この場合の各チップの入出力波形を図９（ａ）に示す。この場合、サブチップ130は、パケットを受信しないので図７（ｂ）に示したサブチップの制御に従って、ＮＧパケットを送信する（時刻ｔ１）。後続のサブチップ140は受信したＮＧパケットを上述したサブチップの制御に従って、そのまま後段のリングバスへ送信する。結果としてメインチップ110のテストパケット格納530にＮＧパケットが格納される。テストパケット格納部530に格納されたＮＧパケットの例を図９（ｂ）に示す。メイン制御部112は、パケットタイプが「２」（ＮＧ）であること、ＮＧパケット生成チップ情報（図９（ｂ）の例では「２」）からＮＧパケットがサブチップ130で生成されたことを検出する。さらに、メイン制御部112は、エラーステータスの情報「信号検出エラー：１（有り）」から信号検出エラーが起きていることを検出する。そして、メイン制御部112は、サブチップ120の差動ドライバ411が不良であるか、リングバス192の断線をエラー要因と推定する。
【００５２】
次に、S809において、メイン制御部112は、ＵＩ部170に、上記S806の判定結果及び推定結果を表示し、本フローチャートの処理を終了する。
【００５３】
一方、上記S805において、テストパケット格納部530に格納されたテストパケットがＮＧパケットでないと判断した場合（S805でNoの場合）、メイン制御部112は、テストパケットがＯＫパケットと判断し、S807に処理を進める。
【００５４】
上記S807において、メイン制御部112は、リングバス転送経路に故障はなかったと判定する。以下、故障がなかった場合について具体例を用いて説明する。
メイン制御部112がＯＫパケットを受信していた場合、図１０（ａ）に示すように、ＯＫパケットが各サブチップ120，130，140を通過している筈なので、メイン制御部112は、リングバス転送経路に故障はなかったと判定する。テストパケット格納部530に格納されたＯＫパケットを図１０（ｂ）に示す。
上記S807の処理の後、メイン制御部112は、本フローチャートの処理を終了する。
【００５５】
すなわち、メインチップ110は、電源投入時等のタイミングでＯＫパケットをバスに出力し、Ｔｗ２時間内のバスからのデータの受信の有無、及び、Ｔｗ２時間内にバスから受信したＮＧパケットに含まれるＮＧパケットの生成元のチップＩＤ及びステータス情報に基づいて、リング状のバスの故障個所の判定や故障要因の推定を行う。
【００５６】
以上説明したように、実施例１の画像処理装置100によれば、リング状のバスに故障が生じた場合でも、電源投入時等のタイミングに、自動で故障の箇所を検出し、故障の要因を自律的に推定することができる。この結果、画像処理装置100の保守性を向上することが可能となる。
【００５７】
なお、上述したリングバスの自己診断動作の実行は、画像処理装置100への電源投入時に限定されるものではなく、ＵＩ部170からの操作や、ネットワーク180を介して接続される外部装置（パーソナルコンピュータ（ＰＣ）等）からの指示でも実行可能である。この場合、判定結果及び推定結果は、指示元（ＵＩ部170やＰＣ等）で表示されるものとする。このような構成により、リング状のバスに故障が生じた場合でも、ユーザ等の指示により、故障の箇所を検出し、要因を推定することができる。この結果、画像処理装置100の保守性を向上することが可能となる。
【００５８】
また、メイン制御部112は、上記S807の処理の後にも、すなわちリングバス転送経路に故障はなかったと判定された場合でも、その旨（上記S807の判定結果）をＵＩ部170等に出力するようにしてもよい。例えば、ＵＩ部170からリングバスの自己診断動作が指示された場合には、上記S807の判定結果もＵＩ部170に表示するようにしてもよい。また、ネットワーク180を介してＰＣ等からリングバスの自己診断動作が指示された場合には、上記S804、S806又はS807の判定結果をネットワーク180を介して指示元（ＰＣ等）に通知するようにしてもよい。
【実施例２】
【００５９】
上述した実施例１では、各サブチップの送信部がチップ特定情報格納部430を備え、チップ特定情報格納部430が出力するチップ特定情報を基にＮＧパケット発生チップを特定可能なＮＧパケットを生成する構成について説明した。実施例２では、チップ特定情報格納部430を備えていない送信部を含むサブチップがリング状のバスによりメインチップに接続された画像処理装置100であっても、ＮＧパケット発生チップを特定可能なリングバスの自己診断動作について説明する。なお、エラーステータス370，570から要因を推定することは実施例１と同じなので以降の説明では省略する。
【００６０】
図１１は、実施例２におけるサブチップ120内の送信部124の詳細を例示するブロック図である。なお、送信部124は、サブチップ130内の送信部134、サブチップ140内の送信部144と共通の構成とする。図１１と図４に示した実施例１に対する差分は、チップ特定情報格納部430を備えていない点と、ＮＧパケット変更部1160を備える点である。また、実施例２のＮＧパケット生成部420は、パケットの通過番号が「０」のＮＧパケット（ＮＧ_0パケット）を生成する点で実施例１とは異なる。パケットの通過番号は、後述する図６（ｂ）に示すように、テストパケットの通過番号領域に格納されている。なお、通過番号領域が「ｎ」のパケットを、以下「ＮＧ_nパケット」と表現する。
【００６１】
ＮＧパケット変更部1160は、受信パケットとしてのＮＧパケットが入力されると、そのパケットの通過番号を1加算する。なお、ＮＧパケット変更部1160は、ＮＧパケット以外のパケットが入力された場合には、該パケットをそのまま出力する。
【００６２】
ここで実施例２のテストパケットの構成について図６（ｂ）を用いて説明する。
図６（ｂ）は、実施例２のテストパケット構成を説明する図である。
図６（ｂ）に示すように、実施例２のテストパケットは、通過番号領域を有する。通過番号領域は、パケットの通過番号を示す情報を格納する。
なお、実施例２のリングバスの自己診断動作は、実施例１と同様に、メインチップ110とサブチップ120、130、140がそれぞれの制御を実行することによって実現する。実施例２では、メインチップ110は図１３に示す制御、サブチップ120は図１２に示す制御、サブチップ130、サブチップ140は図１２に類似する不図示の制御を実行することによって実現する。
【００６３】
以下、実施例２におけるリングバスの自己診断動作について説明する。
〔サブチップ120における制御〕
図１２は、実施例２におけるサブチップ120の制御処理を例示するフローチャートである。このフローチャートの処理は、サブチップ120の送信制御部401の制御により実行される。
【００６４】
まず、S1201、S1202の処理は、図７のS701、S702の処理と同一であるので説明を省略する。ただし、Ｔｗ１の時間が経過しても受信部123から受信パケットが転送されてこないと判断した場合（S1201でNo且つS1202でYesの場合）、送信制御部401は、S1203に処理を進める。S1203において、送信制御部401は、エラーステータス370を含むＮＧ_0パケットを、ＮＧパケット生成部420で生成するように制御する。この際、セレクタ440は、送信制御部401の制御により、常にＮＧパケット生成部420の出力を選択する。この結果、サブチップ120は、ＮＧ_0パケットを出力する。
【００６５】
また、上記S1201において、送信制御部401が、Ｔｗ１の時間が経過する前に受信部123から受信パケットが転送されてきたと判断した場合（S1201でYesの場合）、S1204に処理を進める。
【００６６】
S1204において、送信制御部401は、上記受信パケットのパケットタイプを検査して、受信パケットがＮＧ_nパケットであるか否かを判断する。そして、受信パケットがＮＧ_nパケットであると判断した場合（S1204でYesの場合）、送信制御部401は、S1205に処理を進める。
【００６７】
S1205において、送信制御部401は、ＮＧパケット変更部1160でパケットの通過番号領域の値を1加算して変更する。結果としてサブチップ120はＮＧ_(n+1)のパケットを出力する。
【００６８】
一方、上記S1204において、受信パケットがＮＧ_nパケットでないと判断した場合（S1204でNoの場合）、送信制御部401は、S1206に処理を進める。S1206の処理は、図７のS705の処理と同一であるので説明を省略する。
【００６９】
〔サブチップ130，140における制御〕
実施例２においても、サブチップ130，140における制御と、サブチップ120における制御との差分は待ち時間のみである。したがって、サブチップ130，140における制御を示すフローチャートは省略する。サブチップ130の場合は、実施例１で述べた理由でサブチップ120に対しさらにαの時間待機する必要があるため、時刻ｔ０からはＴｗ１＋αの時間監視する必要がある。また、サブチップ140の場合も、実施例１で述べた理由でサブチップ130に対しさらにαの時間待機する必要があるため、時刻ｔ０からはＴｗ１＋2αの時間監視する必要がある。すなわち、サブチップ130における制御は、図１２のS1202の「Ｔｗ１」を「Ｔｗ１＋α」としたものとなる。また、サブチップ140における制御は、図１２のS1202の「Ｔｗ１」を「Ｔｗ１＋２α」としたものとなる。
【００７０】
〔メインチップ110における制御〕
図１３は、実施例２におけるメインチップ110の制御処理を例示するフローチャートである。このフローチャートの処理は、メインチップ110のメイン制御部112の制御により実行される。
【００７１】
まず、S1301〜S1304の処理は、図８のS801〜S804の処理と同一であるので説明を省略する。ただし、上記S1303において、S1302の待機時間中にパケットの受信があったと判断した場合（S1303でYesの場合）、メイン制御部112は、S1305に処理を進める。
【００７２】
S1305において、メイン制御部112は、テストパケット格納部530に格納されたパケット（テストパケット）を検査し、該テストパケットがＮＧ_0パケットであるか否かを判断する。そして、テストパケットがＮＧ_0パケットであると判断した場合（S1305でYesの場合）、メイン制御部112は、S1306に処理を進める。
【００７３】
S1306において、メイン制御部112は、受信パケットがＮＧ_0パケットである場合、直前のサブチップ140がＮＧ_0パケットを生成したことを示すことから、さらにその直前のサブチップ130の送信部134からサブチップ140の受信部143までの経路に故障が有ると判定し、上記受信したＮＧ_0パケットに含まれるエラーステータスの情報などから故障個所や要因を推定する。
【００７４】
一方、上記S1305において、テストパケットがＮＧ_0パケットでないと判断した場合（S1305でNoの場合）、メイン制御部112は、S1307に処理を進める。
S1307において、メイン制御部112は、テストパケットがＮＧ_1パケットであるか否かを判断する。そして、テストパケットがＮＧ_1パケットであると判断した場合（S1307でYesの場合）、メイン制御部112は、S1308に処理を進める。
【００７５】
S1308において、メイン制御部112は、受信パケットがＮＧ_1パケットである場合、２つ前のサブチップ130がＮＧ_0パケットを生成したことを示すことから、３つ前のサブチップ120の送信部124からサブチップ130の受信部133までの経路に故障が有ると判定し、上記受信したＮＧ_1パケットに含まれるエラーステータスの情報などから故障個所や要因を推定する。
【００７６】
一方、上記S1307において、テストパケットがＮＧ_1パケットでないと判断した場合（S1307でNoの場合）、メイン制御部112は、S1309に処理を進める。
S1309において、メイン制御部112は、テストパケットがＮＧ_2パケットであるか否かを判断する。そして、テストパケットがＮＧ_2パケットであると判断した場合（S1309でYesの場合）、メイン制御部112は、S1310に処理を進める。
【００７７】
S1310において、メイン制御部112は、受信パケットがＮＧ_2パケットである場合、３つ前のサブチップ120がＮＧ_0パケットを生成したことを示すことから、メインチップ110の送信部114からサブチップ120の受信部123までの経路に故障が有ると判定し、上記受信したＮＧ_2パケットに含まれるエラーステータスの情報などから故障個所や要因を推定する。
【００７８】
一方、上記S1309において、テストパケットがＮＧ_2パケットでないと判断した場合（S1309でNoの場合）、メイン制御部112は、S1311に処理を進める。
S1311において、メイン制御部112は、リングバス転送経路に故障はなかったと判定し、本フローチャートの処理を終了する。
【００７９】
また、上記S1304、S1306、S1308又はS1310の処理の後、S1312において、メイン制御部112は、ＵＩ部170に、上記S1304、S1306、S1308又はS1310の判定結果及び推定結果を表示し、本フローチャートの処理を終了する。
【００８０】
以上説明したように、実施例２のようなチップ特定情報格納部430を備えていない送信部を含むサブチップがリング状のバスによりメインチップに接続された画像処理装置100であっても、リング状のバスに故障が生じた場合、故障の箇所を検出し、要因を推定することができる。
【００８１】
なお、上記図１２に示したサブチップの制御では、S1205において、送信制御部401が、ＮＧパケット変更部1160でパケットの通過番号領域の値（通過番号）を１加算して変更する構成について説明した。しかし、ＮＧパケットを受け取ったサブチップが行う通過番号の変更は、「１加算」に限定されるものではない。所定の初期値（０に限定されるものではない）で生成された通過番号を、一定の規則で変更してＮＧパケットをバスに出力する構成であれば、どのような構成であってもよい。例えば、ＮＧパケット生成時の通過番号の初期値を「１００」とし、通過するサブチップにおいて１減算させる構成等であってもよい。
また、ＯＫパケットにも通過番号領域を設け、各サブチップの送信部124がＯＫパケットの通過番号を変更して送信するように構成してもよい。
【００８２】
なお、上記各実施例では、リング状のバスの故障個所を特定するために、ＮＧパケットに該ＮＧパケットの生成元のサブチップを特定するための情報（特定情報）を含める構成について説明した。上記実施例１ではＮＧパケットに該ＮＧパケットの生成元の固有のＩＤ（チップＩＤ）を含め、実施例２ではＮＧパケットに通過番号を含め、これらを用いてＮＧパケットの生成元のサブチップを特定し、リング状のバスの故障個所を特定する構成について説明した。しかし、ＮＧパケットに含める特定情報は、ＮＧパケットの生成元のサブチップを特定可能な情報であれば、チップＩＤや通過番号に限定されるものではなく、その他の情報であってもよい。
【００８３】
また、上記各実施例では、本発明を画像処理装置に適用する構成について説明したが、メインモジュール（メインチップ110等）と、１以上のサブモジュール（サブチップ120〜140等）がリングバスによりリング状に接続される構成を有する装置であれば、どのような装置にも適用可能である。例えば、各種家電等の各種の情報処理装置にも本発明は適用可能である。
【００８４】
以上示したように、本発明によれば、リング状のバスに故障が生じた場合でも、故障の箇所、要因を特定することができる。この結果、故障個所の解析コストの削減や、装置の保守性を向上することが可能となる。
【００８５】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【００８６】
（その他の実施例）
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００８７】
100    画像処理装置
110    メインチップ
120，130，140    サブンチップ
191，192，193，194    リングバス
【図１】
2018022205.tif 000003
【図２】
2018022205.tif 000004
【図３】
2018022205.tif 000005
【図４】
2018022205.tif 000006
【図５】
2018022205.tif 000007
【図６】
2018022205.tif 000008
【図７】
2018022205.tif 000009
【図８】
2018022205.tif 000010
【図９】
2018022205.tif 000011
【図１０】
2018022205.tif 000012
【図１１】
2018022205.tif 000013
【図１２】
2018022205.tif 000014
【図１３】
2018022205.tif 000015