(57)【特許請求の範囲】
【請求項１】
主回路と、
該主回路の動作モードを決定する主回路モード決定回路と、
副回路と、
該副回路の動作モードを決定する副回路モード決定回路と、
前記主回路及び前記副回路をつなぐ通信線と、
を有し、
前記主回路は、
前記主回路モード決定回路の動作モードを検出する第１の検出、
前記通信線の接続状態を検出する第２の検出、
前記副回路モード決定回路の動作モードを検出する第３の検出の順で検出を行った上で、
各検出結果に基づいてまとめてエラー判定する
ことを特徴とする、情報処理装置。
【請求項２】
前記主回路は、前記第１の検出で、検出した動作モードが前記第２の検出に必要な機能さえ動作可能な動作モードであれば、前記第２の検出を行うことを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記主回路は、前記第２の検出で、エラーがあっても前記第３の検出に必要な通信線さえ使用可能であれば、前記第３の検出を行うことを特徴とする、請求項１又は２に記載の情報処理装置。
【請求項４】
前記副回路モード決定回路は、動作モードを端子処理により決定し、
前記主回路は、前記第２の検出で、エラーがあっても前記第３の検出を行い、
前記第３の検出で、前記端子処理により決定される動作モードを検出する
ことを特徴とする、請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
主回路と、
該主回路の動作モードを決定する主回路モード決定回路と、
副回路と、
該副回路の動作モードを決定する副回路モード決定回路と、
前記主回路及び前記副回路をつなぐ通信線と、
を有する情報処理装置の前記主回路が実行する異常検出方法であって、
前記主回路モード決定回路の動作モードを検出する第１の検出、
前記通信線の接続状態を検出する第２の検出、
前記副回路モード決定回路の動作モードを検出する第３の検出の順で検出を行った上で、
各検出結果に基づいてまとめてエラー判定する
ことを特徴とする、異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び異常検出方法に関し、特に、複数の回路や基板を有する装置における異常の検出に関する。
【背景技術】
【０００２】
複写機やネットワーク対応型画像形成装置などは、中央演算装置（以下、「CPU」と呼ぶ）を備えた基板がマシン内部に複数配置されており、それらのCPU間を、基板やハーネスを経由し、通信によりレジスタ設定を行い制御する技術が一般的である。
【０００３】
しかし、ハーネス接続異常か基板実装不良のうち少なくともいずれかが原因で、相手側のレジスタ設定を制御する通信線に異常があった場合（以下、「第１のケース」と呼ぶ）や、マスタ/スレーブのCPU動作設定に異常が発生した場合（以下、「第２のケース」と呼ぶ）に、装置が予期せぬ異常モードとなってしまう場合がある。
【０００４】
このような場合は、設計上想定されていない動作モードとなってしまう可能性が高く、重大な品質問題を引き起こす可能性がある。これを解決する手段としては、通信ラインの接続チェックを行い信頼性を確保した上で、通信を行う技術が既に知られている（例えば、特許文献１）。
【０００５】
特許文献１には、通信ラインの信頼性を確保する目的で、パラレルバスにおけるアドレスの、１ビットのみが“１”で他のビットが全て“０”となるアドレスのメモリ領域全てに書き込んだ後にデータを読み出して、書き込んだ期待値データと比較することで不良箇所を特定する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に例示される今までの検査方法では、第１のケース（相手側のレジスタ設定を制御する通信線に異常があった場合）は検出できるが、それと同時に第２のケース（マスタ/スレーブのCPU動作設定に異常が発生した場合）を併発した場合、重大な品質問題を引き起こす可能性があるという問題があった。
【０００７】
第１のケースと第２のケースが同時に発生した場合でも異常状態を検出した上で、安全状態を維持し、異常箇所をユーザー/サービスマンに通知することが求められる。
【０００８】
本発明は、上記実情に鑑みてなされたものであって、通信線に異常があると同時に主ＣＰＵと副ＣＰＵの動作設定に異常がある場合であっても後者の異常を検出可能にすることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成する本発明の装置は、主回路と、該主回路の動作モードを決定する主回路モード決定回路と、副回路と、該副回路の動作モードを決定する副回路モード決定回路と、前記主回路及び前記副回路をつなぐ通信線と、を有し、前記主回路は、前記主回路モード決定回路の動作モードを検出する第１の検出、前記通信線の接続状態を検出する第２の検出、前記副回路モード決定回路の動作モードを検出する第３の検出の順で検出を行った上で、各検出結果に基づいてまとめてエラー判定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、通信線に異常があると同時に主ＣＰＵと副ＣＰＵの動作設定に異常がある場合であっても後者の異常を検出可能にすることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態の回路構成を示すブロック図である。
【図２】具体的な、ModeCircuitの回路構成と設定による動作の違いについて説明するための図である。
【図３】具体的な、通信接続確認について説明するための図である。
【図４】本実施形態の異常検出を行う処理のフローチャート（その１）である。
【図５】本実施形態の異常検出を行う処理のフローチャート（その２）である。
【図６】本実施形態の動作可否判定について説明するための図である。
【発明を実施するための形態】
【００１２】
以下に説明する本発明の実施形態は、起動時の動作に必要な設定や接続が正常になされているかを検査する機能に関して、以下の特徴を有する。
要するに、信号線の接続やCPUの動作設定といった、その後の動作に必要な設定の確認を、起動直後に実施できる限り行い、全てチェックした後に異常箇所をまとめて判定することで、複数エラーが発生した際に発生しうる想定外動作の影響を抑えることが特徴になっている。
上記特徴について、以下、図面を用いて詳細に解説する。
【００１３】
図１に、本実施形態の回路構成を示す。
図示の装置は、全体として、複数のCPU、複数の基板を有する情報処理装置であって、一例として多機能複合機に代表される画像形成装置とするが、本発明の技術的思想は画像形成装置でなければ適用できないものではない。
【００１４】
Master Board 100は主に全体制御を司る基板であり、CPUが搭載されているMaster ASIC 110を搭載している。Master ASICは内部にプログラムなどを格納する不揮発領域：FROM 111と、データの一時保管エリアとして使用する揮発領域：SRAM112を搭載している。
【００１５】
Master ASIC 110は起動時に外部端子の状態を検出することで、様々な動作モードで起動することが可能であり、それらの動作モード設定を行うMaster Mode Circuit 120を搭載している。
【００１６】
またMaster ASICはその先にピン拡張といった用途でSlave1 ASIC210とSlave2 ASIC 230に、BusLine 300を介して接続されている。BusLine 300は基板上のBus Circuit 150やBus Circuit250を介して接続され、場合によってはHarness を経由して接続される。
【００１７】
なお、ハーネスを介して接続せずにBus Cicuitのみで接続した場合でも、本発明は適用可能である。また、BusLine300はシリアル通信やパラレル通信のどちらでも、一部の異常検出機能を除き、本発明は適用可能である。ここで言う、「一部の異常検出機能」については後述する。
【００１８】
Master ASIC 110はBusLine 300を経由して、Slave1 ASIC210、Slave2 ASIC230に対してレジスタ設定を行うことで様々な機能を動作させたり、外部端子の状態を変化させることができる。
【００１９】
しかし、Master Mode Circuit 120が例えば実装不良は部品故障などが原因で、設計意図と異なる動作をしてしまった場合に、Master ASIC 110は想定しない動作を行ってしまい、例えばSlave1 ASIC210やSlave2 ASIC230に対して予期しないレジスタ設定を実施して暴走モードに入ってしまい、重大な品質問題を引き起こす可能性がある。
【００２０】
仮にMaster ASIC 110が上記Master Mode Circuitが正しく動作していたとしても、Bus Circuit 150/250やBusline 300側に実装不良や部品故障などが発生していた場合、Slave ASIC210やSlave2 ASIC230に予期しないレジスタ設定を行ってしまい、同様に重大な品質問題を引き起こす可能性がある。
【００２１】
本実施形態では、それらの問題を解決するために、順序性を持って可能な限り異常検出を行い、全て検査を行った後に異常状態を判定することで、これらの品質問題を回避している。以下、異常検出及び異常状態の判定の詳細について述べる。
【００２２】
図２は、具体的な、ModeCircuitの回路構成と設定による動作の違いについて説明するための図である。
図２（ａ）に示すとおり、デフォルトで正しいモード設定はMODE0がHigh(プルアップ)、MODE1がLow(プルダウン)とする。それらの端子状態によるモードの違いを示したのが、図２（ｂ）（ｃ）となる。
【００２３】
・MODE1 = 0  MODE0 = 0の場合
FROM111へ動作プログラムを書き込み待ちとなる『ModeI  Bootモード』となる。
上記モードとなった場合、Maste ASIC110は内部のプログラムを動作させないためその後の起動を行えず、移行はフリーズしてしまう。
・MODE1 = 0  MODE0 = 1の場合
デフォルトモードである『ModeII 通常動作モード(内部FROM有効モード)』となり、想定通りの動作を行う。
【００２４】
・MODE1 = 1  MODE0 = 0の場合
内部FROM111ではなく、外部FROMで起動する動作モードとなる『ModeIII 通常動作モード(外部FROMモード)』となる。例えば内部FROMだけではプログラムが占める容量を確保できない場合に、外部に大容量のFROMを付けることでプログラムを格納させるモードとなる。
しかし、本実施形態においては、内部FROM111でプログラム動作をさせる前提で設計されており、外部にFROMを搭載していないため、プログラムを動作しないことでその後の起動を行えず、移行はフリーズしてしまう。
【００２５】
・MODE1 = 1  MODE0 = 1の場合
内部SRAMの容量を半分に対して通電を停止し、省エネで動作させる『ModeIV 通常動作モード(内部SRAM半減モード)』となる。
このモードは内部SRAMの半分以下でプログラムが充分起動する場合に、電力を多く消費するSRAMの半分に対して電気供給を停止するモードとなる。このモードとなった場合、起動に必要となるSRAM使用領域を半分までのエリアにしておけば、その後の動作は可能となる。しかし、そのまま動作を継続させた場合に半分以降の動作エリアを使用しようとした場合、ソフト暴走が発生したりフリーズしたりしてしまう危険性がある。
【００２６】
上述のように、NGの場合に完全に動作が停止してしまうモードと、その後も動作が可能となるモードと大きく2つに分類でき、それによって以降の異常検出処理を継続できるかの判断をすることが出来る。
【００２７】
なお、本実施形態では動作モードをModeI〜IVと仮定したが、CPU/ASICによっては様々な動作モードを設定することができる。しかし、その後の処理継続可能かどうかを判断した上で本発明を適用しさえすれば、どのような動作モードがあったとしても発明は適用可能である。
【００２８】
図３は、具体的な通信接続確認について説明するための図である。
特許文献１には、起動時にBusLine 300に接続異常が発生していた場合、アドレス/データ含めどのbitでNGが発生しているかを認識する技術がある。その技術を適用した場合に、以降のレジスタ設定が読める場合と読めない場合を判断することができる。
【００２９】
図３（ａ）に示すように、Slave1 ASIC 210のモード設定を読み出すレジスタが、アドレス領域0ｘ1234でデータが下位0bitと4bitのみ読み出すことができれば、図３（ｂ）のハッチング以外の箇所に示されるようにSlave1 ASIC210のモード設定が検出できる。
【００３０】
接続異常が発生していた場合に、以降の処理を継続できるかの判定手順について以下に記載する。
【００３１】
データにおいては図２（ｂ）で斜線でハッチングした箇所でのみ接続異常が発生した場合は、モード設定を正しく読み出せるため、ハッチングされていない箇所の接続に問題がなければ、以降Slave1 ASIC210のモード設定を読み出してよいと判断できる。
【００３２】
アドレスにおいては、データと同様にハッチングされていない箇所が異常だった場合はその後の処理を継続できないが、データと異なるのはハッチングされている箇所が異常だった場合に、期待値と逆の論理値になってしまうと、想定外アドレスのデータを読み出してしまうため、Slave1 ASIC210のモード設定を読み出すことができない。
【００３３】
この問題を解決するため、Slave1 ASIC 210側でモードを読み出すアドレスと同一論理で端子処理(プルアップ、プルダウン)を実施しておけば、仮に接続異常でオープンになったとしても、正しいアドレスへアクセスすることが出来るため、Slave1 ASIC210のモード設定を読み出すことが出来る。
【００３４】
なお本チェックに限り、以降処理を進められるかどうかの判定は、パラレルバスやPCI I/Fといった、1フォルトがあったとしても信号線の状態を検出できる通信方式に限る。
【００３５】
図４及び図５は、異常検出を行うフローチャートである。
・Master Mode ASICチェックフェイズ
まず、図２で示した、Master Mode ASICのモード設定チェックを行う（Ｓ１０１）。異常が発生していた場合（Ｓ１０２、Ｎｏ）、Master Mode ASIC異常フラグを立てた上で（Ｓ１０３）、その後の処理を行えるか判断し（Ｓ１０４）、継続できるようであれば次のチェックへ進む。継続できない場合は、そのまま異常箇所判断フェイズまで進む。
【００３６】
・BusLine/BusCircuitチェックフェイズ
特許文献１に記載のあるバスチェックを行う（Ｓ１０５）。異常が発生していた場合（Ｓ１０６、Ｎｏ）、BusLine/BusCircuit異常フラグを立てた上で（Ｓ１０７）、その後の処理を行えるか判断し（Ｓ１０８）、継続できるようであれば次のチェックへ進む。継続できない場合は、そのまま異常箇所判断フェイズまで進む。
【００３７】
・Slave Mode ASICチェックフェイズ
図２で示した、Slave Mode ASICのモード設定チェックを行う（Ｓ１０９）。異常が発生していた場合（Ｓ１１０、Ｎｏ）、Slave Mode ASIC異常フラグを立てた上で（Ｓ１１１）、次の異常箇所判断フェイズへ進む。
【００３８】
・異常箇所判断フェイズ
ここでまとめて、異常フラグが立った履歴があったかを判断する（Ｓ１１２）。もし、それ以前のチェックで処理を止めてしまった場合、以降の処理で重大な品質問題を起こすような異常が発生していた場合、検出することができなくなってしまう。ただし、使用するシステムによって異常フラグの重要度は異なり、仮に早い段階で確認したチェックですぐに処理を即断しないといけないようなケースの場合は、そのまま異常箇所判断フェイズへも飛ばしても良い。
【００３９】
なお、まとめて異常フラグを検出した上で（Ｓ１１２）、ユーザー通知を行う（Ｓ１１３）のだが、こちらも判定した異常の重要度によって、優先度を付けてユーザーへ通知するようにする。また、場合によっては、異常箇所に対してリセットをアサートし続ける構成とすることも好ましい。この場合、安全状態を維持しつづけることが可能となる。
【００４０】
図６は、図２及び図３で説明してきた動作可否判定についてまとめたものである。
一列目に示すように、Master Mode Circuit 120に異常があった場合、その後にプログラム起動が可能な動作モードにさえなっていれば、以降の処理は全て行える。
二列目に示すように、Bus Circuit 150/250、Bus Line 300に異常があった場合は、Slave1 Mode Circuit200の状態が読み出せる異常状態の場合に限り、その後のSlave1 Mode Circuit 220のチェックが行える。
三列目に示すように、Slave1 Mode Circuit220に異常があった場合は、Master ASIC 110から外部アクセスが可能な状態であれば、モードの状態を読み出せることができる。
【００４１】
以上のことから、Master Mode Circuit  ⇒Bus Circuit、Bus Line  ⇒Slave1 Mode Circuitの順序で確認を行えば、どのような異常が発生したとしても、処理を継続できる場合は異常検出を進めることができる。
【００４２】
＜作用効果＞
以上に述べたところによると、本実施形態は従来技術と異なり、マスタCPU動作設定チェック⇒通信線チェック⇒スレーブCPU動作設定の順で検査を全て行った後に、最後にまとめて異常が発生したかを判断して異常デバイスに対してリセットをアサートするので、相手側のレジスタ設定を制御する通信線に異常があった第１のケースと、マスタ/スレーブのCPU動作設定に異常が発生した第２にケースとが同時に発生した場合でも、異常状態を検出の上で安全状態を維持し、異常個所をユーザー/サービスマンに通知するできる。
【００４３】
すなわち、Master ASICは第一に自身のModeCircuitの状態を検出し、処理を継続できる場合に限り第二に通信線の接続状態を確認し、処理を継続できる場合に限り第三にSlave ASICのMode Circuitの状態を検出し、最後にまとめてエラー判定する。そのため、設計想定外のモードにシステムが陥ることを防止することができる。
【００４４】
また、上記実施形態は、ModeCircuitの状態に応じて以降の処理継続の判断を行う際、マスター側は接続確認に必要な機能さえ動作可能なモードとなっていれば、そのまま処理を継続する。
【００４５】
また、上記実施形態は、パラレルバスやPCIeといった、アドレス故障があっても処理を継続できる通信を行う。そのため、接続状態の確認を実施する際、モードを読み出すのに必要な通信線さえ正しく接続されていれば、そのまま処理を継続する。したがって、スレーブCPUの動作設定の異常を検出することができる。
【００４６】
また、上記実施形態は、接続状態の確認を実施する際、パラレルバスで接続していた場合にアドレス故障が発生していた際であっても、スレーブ側の基板にてモードを読み出すのに要求される論理となるように端子処理(プルアップ、プルダウン)を実装している。そのため、例えアドレス接続が異常だったとしても、そのまま処理を継続することができる。
【符号の説明】
【００４７】
１００    Master Board
１１０    Master ASIC  （主回路）
１２０    Master Mode Circuit  （主回路モード決定回路）
２１０    Slave 1 ASIC  （副回路）
２２０    Slave 1 Mode Circuit  （副回路モード決定回路）
３００    BusLine  （通信線）
【先行技術文献】
【特許文献】
【００４８】
【特許文献１】特開平１０−１６１９４０号公報
【図１】
0006435884.tif 000002
【図２】
0006435884.tif 000003
【図３】
0006435884.tif 000004
【図４】
0006435884.tif 000005
【図５】
0006435884.tif 000006
【図６】
0006435884.tif 000007