(57)【特許請求の範囲】
【請求項１】
プライマリシステムとセカンダリシステムを有するシステムであって、
前記プライマリシステムは、プライマリＣＰＵ、および、プライマリＰＣＩバスを有し、
前記セカンダリシステムは、セカンダリＣＰＵ、ブリッジ、ローカルエラー出力部、セカンダリＰＣＩバス、および、ローカルバスを有し、
前記セカンダリＰＣＩバスは、前記ブリッジ、および、前記セカンダリＣＰＵを接続し、
前記セカンダリＣＰＵは、前記ローカルバスを介して前記ローカルエラー出力部に接続され、前記ローカルエラー出力部に定期的に書込みを行い、
前記ローカルエラー出力部は、前記ローカルバスに接続され、前記セカンダリＣＰＵがハングアップしたときに前記ブリッジにローカルエラー出力信号を出力し、
前記ブリッジは、前記プライマリシステムと前記セカンダリシステムとを接続し、
前記ブリッジは、前記ローカルエラー出力部からのローカルエラー出力信号に応じて、システムエラーを前記プライマリＣＰＵに通知する通知手段、および、前記ローカルエラー出力部からのローカルエラー出力信号に応じてエラー要因を記憶する記憶手段を有し、
前記プライマリＣＰＵは、前記ブリッジからのシステムエラーの通知、および、前記記憶手段に記憶されているエラー要因に応じて、前記セカンダリＣＰＵをリセットするシステム。
【請求項２】
プライマリシステムとセカンダリシステムを有するシステムであって、
前記プライマリシステムは、プライマリＣＰＵ、および、プライマリＰＣＩバスを有し、
前記セカンダリシステムは、セカンダリＣＰＵ、ブリッジ、ローカルエラー出力部、セカンダリＰＣＩバス、および、ローカルバスを有し、
前記セカンダリＰＣＩバスは、前記ブリッジ、および、前記セカンダリＣＰＵを接続し、
前記セカンダリＣＰＵは、前記ローカルバスを介して前記ローカルエラー出力部に接続され、前記ローカルエラー出力部に定期的に書込みを行い、
前記ローカルエラー出力部は、前記ローカルバスに接続され、前記セカンダリＣＰＵがハングアップしたときに前記ブリッジにローカルエラー出力信号を出力し、
前記ブリッジは、前記プライマリシステムと前記セカンダリシステムとを接続し、
前記ブリッジは、前記ローカルエラー出力部からのローカルエラー出力信号に応じて、割込み信号を前記プライマリＣＰＵに通知する通知手段、および、前記ローカルエラー出力部からのローカルエラー出力信号に応じてエラー要因を記憶する記憶手段を有し、
前記プライマリＣＰＵは、前記ブリッジからの割込み信号の通知、および、前記記憶手段に記憶されているエラー要因に応じて、前記セカンダリＣＰＵをリセットするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プライマリシステムとセカンダリシステムを有するシステムに関するものである。
【背景技術】
【０００２】
複合機や単一機能の複写機・プリンタ等において、機能を拡張するための拡張Ｉ／Ｆに拡張カードを接続し、本体が備えていない機能を追加する場合、拡張Ｉ／ＦをＰＣＩバスやＰＣＩ相当のＩ／Ｆで構成することがある。そして、ＰＣＩバスやＰＣＩ相当のＩ／Ｆにすることで、機能デバイスの選択が容易となる。上述の本体が備えていない機能としては、例えばネットワーク機能、無線ＬＡＮ、Bluetooth（登録商標）、USB HUB機能などである。
【０００３】
上述のＩ／Ｆを使用するに当たり、拡張カード側のエラーを通知するには、従来、バスのエラーを認識する機能をブリッジデバイスに設け、拡張カードと本体間の通信が不成立となる不具合に対してもエラーを通知できるようにする方法が提案されている。例えば、特許文献１参照。
【特許文献１】特開平7-210471号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような従来の技術では、拡張カード側のＰＣＩバスの更に先に存在する拡張カードのＣＰＵローカルバスのエラーを通知することはできなかった。
【０００５】
そのため、このようなローカルなエラーに対しては、本体側のタイムアウト処理で対応しており、エラー発生からエラー処理を行うまでに多くの時間がかかっていた。
【０００６】
本発明は上記課題を解決するためになされたもので、セカンダリシステムのセカンダリＣＰＵがハングアップしたときに、ブリッジにより接続されたプライマリシステムのプライマリＣＰＵが短時間で、セカンダリＣＰＵをリセットすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、プライマリシステムとセカンダリシステムを有するシステムであって、前記プライマリシステムは、プライマリＣＰＵ、および、プライマリＰＣＩバスを有し、前記セカンダリシステムは、セカンダリＣＰＵ、ブリッジ、ローカルエラー出力部、セカンダリＰＣＩバス、および、ローカルバスを有し、前記セカンダリＰＣＩバスは、前記ブリッジ、および、前記セカンダリＣＰＵを接続し、前記セカンダリＣＰＵは、前記ローカルバスを介して前記ローカルエラー出力部に接続され、前記ローカルエラー出力部に定期的に書込みを行い、前記ローカルエラー出力部は、前記ローカルバスに接続され、前記セカンダリＣＰＵがハングアップしたときに前記ブリッジにローカルエラー出力信号を出力し、前記ブリッジは、前記プライマリシステムと前記セカンダリシステムとを接続し、前記ブリッジは、前記ローカルエラー出力部からのローカルエラー出力信号に応じて、システムエラーを前記プライマリＣＰＵに通知する通知手段、および、前記ローカルエラー出力部からのローカルエラー出力信号に応じてエラー要因を記憶する記憶手段を有し、前記プライマリＣＰＵは、前記ブリッジからのシステムエラーの通知、および、前記記憶手段に記憶されているエラー要因に応じて、前記セカンダリＣＰＵをリセットする。
【０００８】
また、本発明は、プライマリシステムとセカンダリシステムを有するシステムであって、前記プライマリシステムは、プライマリＣＰＵ、および、プライマリＰＣＩバスを有し、前記セカンダリシステムは、セカンダリＣＰＵ、ブリッジ、ローカルエラー出力部、セカンダリＰＣＩバス、および、ローカルバスを有し、前記セカンダリＰＣＩバスは、前記ブリッジ、および、前記セカンダリＣＰＵを接続し、前記セカンダリＣＰＵは、前記ローカルバスを介して前記ローカルエラー出力部に接続され、前記ローカルエラー出力部に定期的に書込みを行い、前記ローカルエラー出力部は、前記ローカルバスに接続され、前記セカンダリＣＰＵがハングアップしたときに前記ブリッジにローカルエラー出力信号を出力し、前記ブリッジは、前記プライマリシステムと前記セカンダリシステムとを接続し、前記ブリッジは、前記ローカルエラー出力部からのローカルエラー出力信号に応じて、割込み信号を前記プライマリＣＰＵに通知する通知手段、および、前記ローカルエラー出力部からのローカルエラー出力信号に応じてエラー要因を記憶する記憶手段を有し、前記プライマリＣＰＵは、前記ブリッジからの割込み信号の通知、および、前記記憶手段に記憶されているエラー要因に応じて、前記セカンダリＣＰＵをリセットする。
【発明の効果】
【０００９】
本発明によれば、セカンダリシステムのセカンダリＣＰＵがハングアップしたときに、ブリッジにより接続されたプライマリシステムのプライマリＣＰＵが短時間で、セカンダリＣＰＵをリセットすることができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【００１１】
［第１の実施形態］
図１は、第１の実施形態におけるブリッジを利用したシステムの構成の一例を示す図である。図１において、１００はプリンタ本体であり、ＰＣＩバスなどの拡張バスを具備し、後述する拡張カードが接続可能である。この拡張カードにより、プリンタ本体１００が備えていない機能、例えばネットワーク機能、無線ＬＡＮ、Bluetooth（登録商標）、USB HUB機能などを追加可能に構成されている。１０１はプライマリＣＰＵであり、不図示のＲＯＭに格納されたプログラムに従ってプリンタ本体１００を統括的に制御する。１０２は拡張バスとしてのプライマリＰＣＩバスであり、ＰＣＩバスに相当するインタフェース（Ｉ／Ｆ）を提供する。
【００１２】
１１０は拡張カードであり、プリンタ本体１００の拡張バス１０２に接続され、所定の機能をプリンタ本体１００に提供する。この拡張カード１１０において、１１１はセカンダリＣＰＵであり、不図示のＲＯＭに格納されたプログラムに従って拡張カード１１０を統括的に制御する。また、セカンダリＣＰＵ１１１は、ローカルエラー出力端子１２１を備え、拡張カード１１０側のローカルなエラー（例えば、セカンダリＰＣＩバスエラー、セカンダリＣＰＵのハングアップ）が発生した場合に、ＭＣＰ信号をアサートする。尚、アサートはハイ又はローの何れでも良く、ここではローを出力するものとする。
【００１３】
１１２は拡張カード１１０の拡張バスとしてのセカンダリＰＣＩバスであり、後述するブリッジ（Bridge）とセカンダリＣＰＵ１１１とを接続する。１１３はブリッジであり、ＡＳＩＣなどで構成され、プリンタ本体１００の拡張バス１０２に接続し、プリンタ本体１００と拡張カード１１０間の通信を実現する。１１４はローカルバスであり、後述するローカルメモリとセカンダリＣＰＵ１１１とを接続する。１１５はローカルメモリであり、セカンダリＣＰＵ１１１の制御に基づきデータを格納したり、出力したりできるＲＡＭ或いはＲＯＭで構成されるメモリである。
【００１４】
上述したブリッジ１１３において、１２２はローカルエラー入力部であり、セカンダリＣＰＵ１１１から出力されるローカルエラー出力信号（ＭＣＰ信号）を入力する。１２３はローカルエラー変換部であり、入力されたローカルエラー出力信号をＳＥＲＲ＃信号に変換してプリンタ本体１００に通知する。また、ローカルエラー変換部１２３は後述するローカルエラー要因レジスタにＳＥＲＲ＃信号を通知する。１２４はローカルエラー要因レジスタであり、通知されたＳＥＲＲ＃信号に応じてレジスタの要因ビットをアクティブにする。このローカルエラー要因レジスタ１２４により、エラー要因が判別可能となり、不図示の表示器などにエラーコードを表示すれば、サービスマンによる対応や故障解析も迅速に行うことができる。
【００１５】
ここで、図２を用いて、実際に拡張カード１１０でローカルエラーが発生した時に実行されるローカルエラー処理について説明する。
【００１６】
図２は、本発明に係るローカルエラー処理と従来のローカルエラー処理との対比を示す図である。図２において、（Ａ）は本発明に係るローカルエラー処理であり、同（Ｂ）は従来のローカルエラー処理である。
【００１７】
図２に示す（Ａ）のように、プリンタ本体１００（プライマリ）と、拡張カード１１０（セカンダリ）との間で通信を行っている時に、拡張カード１１０のローカルバス１１４でエラーが発生する（２０３）。このエラーによりプリンタ本体１００の拡張バス１０２と拡張カード１１０の拡張バス１１２との通信はビジー状態となる（２０１）。
【００１８】
そして、ローカルバス１１４でエラーが発生した時点で、拡張カード１１０でローカルエラー通知処理が行われる（２０４）。このローカルエラー通知処理は、具体的には以下のようになる。
【００１９】
拡張カード１１０のセカンダリＣＰＵ１１１がローカルエラーにより、ローカルエラー出力端子１２１をローにドライブしてアサートする。これにより、ブリッジ１１３のローカルエラー入力部１２２でローカルエラー出力信号のアサートを認識し、ブリッジ１１３のローカルエラー変換部１２３でＰＣＩの規格に則ったＳＥＲＲ＃信号をアサートする。一方、プライマリＣＰＵ１０１がそのＳＥＲＲ＃信号のアサートを認識すると、ブリッジ１１３のＳＥＲＲ＃要因を確認する。ここで、ＳＥＲＲ＃要因がローカルエラーを示しているため、プライマリＣＰＵ１０１はローカルエラー処理としてセカンダリＣＰＵ１１１にリセットをかける（２０２）。このリセットにより、拡張カード１１０（セカンダリ）が初期状態に戻り、通信を再開する（２０５）。
【００２０】
これに対し、図２に示す（Ｂ）のように、従来のローカルエラー処理では、通信ビジー状態になるとプライマリ側のＣＰＵがタイムアウトを計測し始める。ここで、セカンダリ側のＣＰＵはローカルエラーが発生し、ローカルエラーをプライマリに通知できないため、プライマリ側の処理を待つ。そして、プライマリ側がタイムアウトを計測し、カウントアップするとタイムアウト処理としてセカンダリにリセットをかける（２０６）。これにより、セカンダリ（拡張カード）を初期状態に戻し（２０７）、通信を再開する。従って、エラー認識時間Ｔ２まで待ってプライマリ側からのタイムアウト処理により、セカンダリ側は復帰する。
【００２１】
このように、従来のローカルエラー処理に比べて第１の実施形態のローカルエラー処理では、拡張カード１１０のローカルなエラーでもタイムアウトまで待たずに直ちにエラー処理でき、本体のダウンタイムを短縮することができる。更に、エラー要因が判別可能であることからエラーコードを表示すればサービスマンによる対応や故障解析も迅速に行うことができる。
【００２２】
［第２の実施形態］
次に、図面を参照しながら本発明に係る第２の実施形態について詳細に説明する。第２の実施形態では、第１の実施形態で説明した構成に加えて、ローカルエラー通知を行うか否かを設定するレジスタを備えるものである。
【００２３】
図３は、第２の実施形態におけるブリッジ３００の構成の一例を示す図である。図３において、３００はブリッジであり、内部にエラーイネーブルレジスタ３０１を備えている。そして、エラーイネーブルレジスタ３０１により、ローカルエラー通知をイネーブル時だけ出力するようにしたものである。
【００２４】
尚、拡張カード１１０の動作は、第１の実施形態と同様であり、このエラーイネーブルレジスタ３０１がイネーブルの時だけ、ローカルエラー変換部１２３からローカルエラー通知を行う点が異なる。
【００２５】
また、エラーイネーブルレジスタ３０１はセカンダリＣＰＵ１１１が制御し、ローカルエラー変換部１２３に対してイネーブルか否かの情報を渡すことができる。イネーブルの場合は、第１の実施形態と同じ動作になり、またディセーブルの場合は、ローカルエラーが通知されないため、従来例と同じ動作になる。
【００２６】
第２の実施形態によれば、本体がローカルエラー対応前の製品の場合はディセーブルで従来の動作を行い、ローカルエラー対応後の場合はイネーブルで動作を行うことで、同じ拡張カードで従来と新規の両方の本体に対してハード変更無しで対応できる。
【００２７】
［第３の実施形態］
次に、図面を参照しながら本発明に係る第３の実施形態について詳細に説明する。第３の実施形態では、ローカルエラーの発生をウォッチドックタイマーによって認識するものである。
【００２８】
図４は、第３の実施形態におけるブリッジを利用したシステムの構成の一例を示す図である。図１に示す第１の実施形態では、拡張カード１１０のセカンダリＣＰＵ１１１内部にローカルエラー出力端子１２１を備えているが、第３の実施形態ではセカンダリＣＰＵ４１１の外部にローカルエラー出力部を備えるものである。また、プリンタ本体１００と拡張カード４１０内の他の構成は同様であり、ここでは相違点について説明する。
【００２９】
図４において、４３１はローカルエラー出力部であり、ウォッチドッグタイマーとして機能し、ローカルバス１１４に接続されている。このウォッチドッグタイマー４３１は、セカンダリＣＰＵ４１１が定期的に書き込みを行うことにより、セカンダリＣＰＵ４１１がハングアップしていないことを監視するものである。
【００３０】
図４に示す構成で、ローカルエラーが発生した場合、セカンダリＣＰＵ４１１はハングアップする可能性があるが、第３の実施形態ではローカルエラーをローカルエラー出力部４３１が認識し、ブリッジ１１３に通知する。これにより、ブリッジ１１３は、プリンタ本体１００にローカルエラーの発生を通知することができる。
【００３１】
このように、第３の実施形態の動作は、第１の実施形態の動作と同様であり、ローカルエラー通知のイベントがローカルエラー出力部（ウォッチドッグタイマー）４３１による通知になっている点が異なるのみである。
【００３２】
第３の実施形態によれば、第１の実施形態と同様に、タイムアウトまで待たずに直ちにエラー処理でき、本体のダウンタイムを短縮することができる。
【００３３】
［第４の実施形態］
次に、図面を参照しながら本発明に係る第４の実施形態について詳細に説明する。第１乃至第３の実施形態では、拡張カードでローカルエラーが発生したことをＳＥＲＲ＃信号で通知しているが、第４の実施形態では割込み信号（ＩＮＴＡ＃信号）を用いて通知するものである。
【００３４】
図５は、第４の実施形態におけるブリッジを利用したシステムの構成の一例を示す図である。ブリッジ５１３において、５３３はローカルエラー変換部であり、ローカルエラー入力部１２２に入力されたローカルエラー出力信号をＩＮＴＡ＃信号に変換してプリンタ本体１００に通知する。
【００３５】
このように、第４の実施形態の動作は、第３の実施形態の動作と同様であり、ローカルエラー通知のイベントがローカルエラー変換部５３３からのＩＮＴＡ＃信号による通知になっている点が異なるだけである。
【００３６】
第４の実施形態によれば、拡張カード５１０でのローカルエラーの発生を割込み信号でプリンタ本体１００のプライマリＣＰＵ１０１に通知することで、プリンタ本体１００のダウンタイムを更に短縮することができる。
【００３７】
尚、第４の実施形態では、第３の実施形態と同様に、ローカルバス１１４に接続されたローカルエラー出力部５３１を用いているが、第１の実施形態と同様に、ローカルエラー出力端子１２１を用いても良い。
【００３８】
また、第２の実施形態におけるエラーイネーブルレジスタ３０１を第３又は第４の実施形態に適用しても良いことは言うまでもない。
【００３９】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【００４０】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【００４１】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００４２】
このプログラムコードを供給するための記録媒体としては、例えばフロッピー（登録商標）ディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００４３】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合。
【００４４】
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００４５】
【図１】第１の実施形態におけるブリッジを利用したシステムの構成の一例を示す図である。
【図２】本発明に係るローカルエラー処理と従来のローカルエラー処理との対比を示す図である。
【図３】第２の実施形態におけるブリッジ３００の構成の一例を示す図である。
【図４】第３の実施形態におけるブリッジを利用したシステムの構成の一例を示す図である。
【図５】第４の実施形態におけるブリッジを利用したシステムの構成の一例を示す図である。
【符号の説明】
【００４６】
１００  プリンタ本体
１０１  プライマリＣＰＵ
１０２  拡張バス（プライマリＰＣＩバス）
１１０  拡張カード
１１１  セカンダリＣＰＵ
１１２  拡張バス（セカンダリＰＣＩバス）
１１３  ブリッジ
１１４  ローカルバス
１１５  ローカルメモリ
１２１  ローカルエラー出力端子
１２２  ローカルエラー入力部
１２３  ローカルエラー変換部
１２４  ローカルエラー要因レジスタ
３０１  エラーイネーブルレジスタ
４３１  ローカルエラー出力部
【図１】
0004630766.tif 000002
【図２】
0004630766.tif 000003
【図３】
0004630766.tif 000004
【図４】
0004630766.tif 000005
【図５】
0004630766.tif 000006