(57)【特許請求の範囲】
【請求項１】
構成情報に応じた構成の回路を形成する回路形成デバイスと、
前記回路形成デバイスに第１通信線経由で通信を行う第１通信機能を実現する回路が少なくとも形成されている状態で前記第１通信線を介して外部から取得された構成情報であって、前記回路形成デバイスに前記第１通信機能を含む機能を実現する第１回路を形成させるための第１構成情報を記憶する第１記憶部と、
前記回路形成デバイスに前記第１通信機能を含む機能を実現する第２回路を形成させるための、前記第１構成情報と異なる第２構成情報を記憶する第２記憶部と、
前記第１構成情報によって前記回路形成デバイスに前記第１回路を形成させたときに前記第１通信線経由の通信にエラーが発生した場合に、前記第２構成情報によって前記回路形成デバイスに前記第２回路を形成させる復旧制御部と、
を含む電子機器であって、
前記回路形成デバイスと記憶部とを各々含むモジュールが複数設けられ、
個々の前記モジュールは、第２通信線を介して互いに接続され、前記第２通信線経由で通信を行う第２通信機能が前記モジュールに含まれる前記回路形成デバイス以外の回路によって実現され、
前記復旧制御部は、複数の前記モジュールのうちの特定モジュールの前記記憶部に前記第１構成情報が記憶され、他の前記モジュールの前記記憶部に前記第２構成情報が記憶されている状態で、前記特定モジュールの前記記憶部に記憶されている前記第１構成情報によって前記特定モジュールの前記回路形成デバイスに前記第１回路を形成させたときに前記第１通信線経由の通信にエラーが発生した場合に、他の前記モジュールの前記記憶部に記憶されている前記第２構成情報を、前記第２通信線経由で前記特定モジュールに転送させて前記特定モジュールの前記記憶部に記憶させ、前記特定モジュールの前記記憶部に記憶された前記第２構成情報によって前記特定モジュールの前記回路形成デバイスに前記第２回路を形成させる電子機器。
【請求項２】
前記第２構成情報は、前記第２構成情報によって前記回路形成デバイスに前記第２回路を形成させた場合に、前記第１通信線経由での通信が確立することが確認されている構成情報である請求項１記載の電子機器。
【請求項３】
前記第１通信線を介して外部から受信する前記第１構成情報を、複数の前記モジュールのうちの特定モジュールの前記記憶部に記憶させ、前記特定モジュールの前記記憶部に記憶されている前記第１構成情報によって前記特定モジュールの前記回路形成デバイスに前記第１回路を形成させたときに前記第１通信線経由での通信が確立することが確認できた場合に、前記第１構成情報を他の前記モジュールへ転送して他の前記モジュールの前記記憶部に記憶させる第１の構成情報更新制御部を更に含む請求項１または請求項２記載の電子機器。
【請求項４】
請求項１乃至請求項３の何れか１項記載の電子機器は、受信した画像データに基づいて画像を形成する画像形成装置と、当該画像形成装置と通信線を介して接続され前記画像形成装置へ前記通信線経由で画像データを送信するコントローラと、を含む画像形成システムのうちの前記コントローラであり、前記第１回路および前記第２回路は、前記通信線経由で前記画像形成装置と通信を行う第３通信機能を含む機能を実現する電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子機器に関する。
【背景技術】
【０００２】
特許文献１には、メモリに、データ格納面表示フラグの領域とデータを格納する第１面および第２面を設け、データ書き換え部は、データ格納面表示フラグが示すワーキング面に書き換えデータを格納し、第１コンフィギュレーション部は、ワーキング面に格納された書き換えデータに基づきＦＰＧＡ(Field Programmable Gate Array)にコンフィギュレーションを行い、コンフィギュレーションが失敗した場合は、第２コンフィギュレーション部が、ワーキング面とは異なるプロテクト面に格納されたデータに基づきＦＰＧＡにコンフィギュレーションを行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１９１８７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
プログラム可能な論理ＩＣであるプログラマブル論理デバイス(ＰＬＤ：Programmable Logic Device)には、ＳＰＬＤ(Simple PLD)、ＣＰＬＤ(Complex PLD)、上述したＦＰＧＡ等が含まれる。本明細書では、上記で列挙したデバイスのように、構成情報に応じた構成の回路を形成するデバイスを回路形成デバイスと総称する。
【０００５】
電子機器に搭載された回路形成デバイスに、電子機器と外部との通信を行う通信機能を含む機能を実現する回路が形成されている状態で、回路形成デバイスに特定回路を形成するための新バージョンの構成情報を外部から電子機器へ送信し、回路形成デバイスに形成する回路の構成を更新する場合を考える。ここで、例えば電子機器が外部から受信した新バージョンの構成情報にエラーが含まれていた場合、当該構成情報で回路形成デバイスに回路を形成すると、電子機器の通信機能が停止して外部と通信不能になり、外部からの構成情報の再受信が不可能な状態に陥る。この場合、回路形成デバイスが搭載された基板の交換等の作業が必要になる。また、新バージョンの構成情報の通信中に通信エラーが発生した場合にも構成情報にエラーが含まれることが起こり、外部からの構成情報の再受信が不可能な状態になり得る。
【０００６】
本発明は、エラーを含む構成情報で回路形成デバイスに回路を形成することで、回路形成デバイスを搭載した電子機器が外部と通信できない状態になった場合にも、現場作業を経ずに復旧させることを可能とすることを目的とする。
【課題を解決するための手段】
【０００７】
請求項１記載の発明に係る電子機器は、構成情報に応じた構成の回路を形成する回路形成デバイスと、前記回路形成デバイスに第１通信線経由で通信を行う第１通信機能を実現する回路が少なくとも形成されている状態で前記第１通信線を介して外部から取得された構成情報であって、前記回路形成デバイスに前記第１通信機能を含む機能を実現する第１回路を形成させるための第１構成情報を記憶する第１記憶部と、前記回路形成デバイスに前記第１通信機能を含む機能を実現する第２回路を形成させるための、前記第１構成情報と異なる第２構成情報を記憶する第２記憶部と、前記第１構成情報によって前記回路形成デバイスに前記第１回路を形成させたときに前記第１通信線経由の通信にエラーが発生した場合に、前記第２構成情報によって前記回路形成デバイスに前記第２回路を形成させる復旧制御部と、を含む電子機器であって、前記回路形成デバイスと記憶部とを各々含むモジュールが複数設けられ、個々の前記モジュールは、第２通信線を介して互いに接続され、前記第２通信線経由で通信を行う第２通信機能が前記モジュールに含まれる前記回路形成デバイス以外の回路によって実現され、前記復旧制御部は、複数の前記モジュールのうちの特定モジュールの前記記憶部に前記第１構成情報が記憶され、他の前記モジュールの前記記憶部に前記第２構成情報が記憶されている状態で、前記特定モジュールの前記記憶部に記憶されている前記第１構成情報によって前記特定モジュールの前記回路形成デバイスに前記第１回路を形成させたときに前記第１通信線経由の通信にエラーが発生した場合に、他の前記モジュールの前記記憶部に記憶されている前記第２構成情報を、前記第２通信線経由で前記特定モジュールに転送させて前記特定モジュールの前記記憶部に記憶させ、前記特定モジュールの前記記憶部に記憶された前記第２構成情報によって前記特定モジュールの前記回路形成デバイスに前記第２回路を形成させる。
【０００８】
請求項２記載の発明は、請求項１記載の発明において、前記第２構成情報は、前記第２構成情報によって前記回路形成デバイスに前記第２回路を形成させた場合に、前記第１通信線経由での通信が確立することが確認されている構成情報である。
【００１０】
請求項３記載の発明は、請求項１または請求項２記載の発明において、前記第１通信線を介して外部から受信する前記第１構成情報を、複数の前記モジュールのうちの特定モジュールの前記記憶部に記憶させ、前記特定モジュールの前記記憶部に記憶されている前記第１構成情報によって前記特定モジュールの前記回路形成デバイスに前記第１回路を形成させたときに前記第１通信線経由での通信が確立することが確認できた場合に、前記第１構成情報を他の前記モジュールへ転送して他の前記モジュールの前記記憶部に記憶させる第１の構成情報更新制御部を更に含んでいる。
【００１４】
請求項４記載の発明は、請求項１乃至請求項３の何れか１項記載の電子機器は、受信した画像データに基づいて画像を形成する画像形成装置と、当該画像形成装置と通信線を介して接続され前記画像形成装置へ前記通信線経由で画像データを送信するコントローラと、を含む画像形成システムのうちの前記コントローラであり、前記第１回路および前記第２回路は、前記通信線経由で前記画像形成装置と通信を行う第３通信機能を含む機能を実現する。
【発明の効果】
【００１５】
請求項１記載の発明は、エラーを含む構成情報で回路形成デバイスに回路を形成することで、回路形成デバイスを搭載した電子機器が外部と通信できない状態になった場合にも、現場作業を経ずに復旧させられると共に、複数のモジュールに第１記憶部および第２記憶部を各々設ける場合と比較して、各モジュールの構成が簡単になる、という効果を有する。
【００１６】
請求項２記載の発明は、第２構成情報として第１通信線経由での通信が確立することが確認されていない構成情報を用いる場合と比較して、現場作業を経ずに復旧する確率を向上させられる、という効果を有する。
【００１８】
請求項３記載の発明は、第１構成情報を当初より複数のモジュールの記憶部に記憶させる場合と比較して、第１構成情報がエラーを含んでいた場合に、複数のモジュールの全てが第１通信線経由の通信でエラーが発生する事態に陥ることが抑制される、という効果を有する。
【００２２】
請求項４記載の発明は、画像形成装置とコントローラとの間の通信を回路形成デバイスに形成した回路によって実現しない場合と比較して、画像形成装置とコントローラとの間で通信する際の処理に対し、機能追加等の更新が行われる、という効果を有する。
【図面の簡単な説明】
【００２３】
【図１】実施形態で説明した印刷システムの概略構成を示すブロック図である。
【図２】コントローラの概略構成を示すブロック図である。
【図３】画像形成装置(画像処理部) の概略構成を示すブロック図である。
【図４】画像処理部の詳細および各部の間で送受される信号を示す概略図である。
【図５】コントローラのＣＰＵで実行されるＦＰＧＡ構成情報更新処理を示すフローチャートである。
【図６】通信Ｉ／ＦカードのＣＰＵで実行されるＦＰＧＡ更新処理を示すフローチャートである。
【図７】ＩＤ＝１の通信Ｉ／ＦカードのＣＰＵで実行されるリカバリ処理１を示すフローチャートである。
【図８】ＩＤ＝０の通信Ｉ／ＦカードのＣＰＵで実行されるリカバリ処理０を示すフローチャートである。
【図９】コントローラ内におけるＦＰＧＡ構成情報の流れの一例を示す概略図である。
【図１０】コントローラ内におけるＦＰＧＡ構成情報の流れの一例を示す概略図である。
【図１１】コントローラ内に通信Ｉ／Ｆカードが４個存在している場合のＦＰＧＡ構成情報の流れの一例を示す概略図である。
【図１２】コントローラのＣＰＵで実行される画像処理部ＦＰＧＡ構成情報更新処理を示すフローチャートである。
【図１３Ａ】画像処理部のＣＰＵで実行されるＦＰＧＡ更新処理を示すフローチャートである。
【図１３Ｂ】画像処理部のＣＰＵで実行されるＦＰＧＡ更新処理を示すフローチャートである。
【図１４】ＦＰＧＡ構成情報の更新に伴うフラッシュＲＯＭの領域Ａ,Ｂの推移の一例を示す図表である。
【発明を実施するための形態】
【００２４】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図１には、本実施形態に係る印刷システム１０が示されている。印刷システム１０は、クライアント端末１２、画像形成システム１４および遠隔メンテナンス装置１６を含み、これらはネットワーク１８を介して互いに接続されている。
【００２５】
印刷システム１０では、画像形成システム１４に対し、利用者がクライアント端末１２からオンラインで印刷を指示可能とされている。クライアント端末１２はパーソナル・コンピュータ(Personal Computer)、或いは携帯型の電子機器(例えばタブレット端末やスマートフォン等の情報処理機能を備えた電子機器)等を含んでいる。
【００２６】
クライアント端末１２には、任意のＯＳ(Operating System)および原稿作成に利用可能なアプリケーション・プログラムがインストールされている。本実施形態において、利用者はクライアント端末１２を操作して所望のアプリケーション・プログラムを起動し、原稿作成のための種々の操作を行うことで印刷対象の原稿を作成する。原稿の作成が完了すると、利用者は、原稿の印刷を指示する操作を行う。利用者によってこの操作が行われると、原稿をページ記述言語(ＰＤＬ：Page Description Language)で記述した印刷データが、クライアント端末１２からネットワーク１８を介して画像形成システム１４へ送信される。
【００２７】
画像形成システム１４はコントローラ２０および画像形成装置２２を含んでいる。コントローラ２０は、ＣＰＵ２４、メモリ２６、記憶部２８、複数の通信Ｉ／Ｆ(InterFace)カード３０および通信Ｉ／Ｆ部３２(図２参照)を含み、これらはバス３４を介して互いに接続されている。通信Ｉ／Ｆ部３２は通信線を介してネットワーク１８に接続されており、ネットワーク１８経由でのコントローラ２０とクライアント端末１２または遠隔メンテナンス装置１６との通信を制御する。また、通信Ｉ／Ｆカード３０は、通信線３５を介して画像形成装置２２(の後述する画像処理部６４)に接続されており、バス３４経由でＣＰＵ２４等と通信を行うと共に、通信線３５経由で画像形成装置２２(の画像処理部６４)と通信を行う。
【００２８】
記憶部２８はＨＤＤ(Hard Disk Drive)またはフラッシュメモリ等の不揮発性の記憶媒体によって実現される。図２に示すように、記憶部２８は画像処理プログラム３６、ＦＰＧＡ構成情報更新プログラム３８および画像処理部ＦＰＧＡ構成情報更新プログラム４０を各々記憶している。
【００２９】
ＣＰＵ２４は、画像処理プログラム３６を実行することで、クライアント端末１２から受信した印刷データを解釈し、印刷データに対して予め設定した画像処理を行った後に、ページ単位で各色成分(例えばＣ,Ｍ,Ｙ,Ｋおよびその他の特殊色)毎のラスタイメージデータ(ビットマップ形式の印刷用画像データ)へ変換する処理を行う。なお、ＣＰＵ２４が行う上記の画像処理としては公知の様々な画像処理を適用可能であり、例えば解像度変換処理などが挙げられる。またＣＰＵ２４は、印刷データを中間データへ一旦変換し、画像処理(例えば、原稿の各頁に含まれる画像要素の種類毎に最適化した画像処理)を行った後に、ビットマップ形式の印刷用画像データへ変換する処理を行うようにしてもよい。
【００３０】
なお、ＦＰＧＡ構成情報更新プログラム３８はＣＰＵ２４によってＦＰＧＡ構成情報更新処理を行うためのプログラムであり、画像処理部ＦＰＧＡ構成情報更新プログラム４０はＣＰＵ２４によって画像処理部ＦＰＧＡ構成情報更新処理を行うためのプログラムであるが、これらの処理については後述する。
【００３１】
個々の通信Ｉ／Ｆカード３０は、ＣＰＵ４２、メモリ４４、記憶部４６、ＦＰＧＡ(Field Programmable Gate Array)４８およびフラッシュＲＯＭ(Read-Only Memory)５０を含み、これらはバス５２を介して互いに接続されている。個々の通信Ｉ／Ｆカード３０のＣＰＵ４２は通信線４３を介して相互に接続されており、個々の通信Ｉ／Ｆカード３０のＣＰＵ４２は、通信線４３を介して相互にローカル通信(例えばUART/Local Net等)を行うことが可能とされている。
【００３２】
記憶部４６はＨＤＤまたはフラッシュメモリ等の不揮発性の記憶媒体によって実現される。記憶部４６はＦＰＧＡ更新プログラム５４およびリカバリプログラム５６を各々記憶している。ＦＰＧＡ更新プログラム５４はＣＰＵ４２によってＦＰＧＡ更新処理を行うためのプログラムであり、リカバリプログラム５６はＣＰＵ４２によってリカバリ処理を行うためのプログラムであるが、これらの処理については後述する。
【００３３】
フラッシュＲＯＭ５０は、ＦＰＧＡ４８による回路の形成に使用されるＦＰＧＡ構成情報５８を記憶している。本実施形態では、ＦＰＧＡ４８による回路の形成にＦＰＧＡ構成情報５８を使用することで、ＦＰＧＡ構成情報５８に応じた構成の回路として、バス３４経由での通信Ｉ／Ｆカード３０とＣＰＵ２４等との通信を制御するバスＩ／Ｆ回路６０、および、通信線３５経由での通信Ｉ／Ｆカード３０と画像形成装置２２(の画像処理部６４)との通信を制御する画像形成装置Ｉ／Ｆ回路６２がＦＰＧＡ４８に形成される。
【００３４】
なお、本実施形態では、ＦＰＧＡ更新プログラム５４を記憶する記憶部４６と、ＦＰＧＡ構成情報５８を記憶するフラッシュＲＯＭ５０と、を別に設けた態様を説明するが、これに限定されるものではなく、ＦＰＧＡ更新プログラム５４及びＦＰＧＡ構成情報５８は同一の記憶部(フラッシュＲＯＭ等)に記憶してもよい。
【００３５】
図１に示すように、画像形成装置２２は画像処理部６４および画像形成部６６を含んでおり、画像処理部６４と画像形成部６６とは通信線８６を介して接続されている。
【００３６】
図３に示すように、画像処理部６４は、ＣＰＵ６８、メモリ７０、記憶部７２、ＦＰＧＡ７４、フラッシュＲＯＭ７６、コンフィグ回路７８およびＮＶＭ(Non-volatile memory)８０を含み、これらはバス８２を介して互いに接続されている。記憶部７２はＨＤＤまたはフラッシュメモリ等の不揮発性の記憶媒体によって実現され、ＮＶＭ８０はＥＥＰＲＯＭ(Electrically Erasable Programmable Read-Only Memory)等で実現される。記憶部７２はＦＰＧＡ更新プログラム８４を記憶している。ＦＰＧＡ更新プログラム８４はＣＰＵ６８によってＦＰＧＡ更新処理を行うためのプログラムであるが、この処理については後述する。
【００３７】
フラッシュＲＯＭ７６には、ＦＰＧＡ７４による回路の形成に使用されるＦＰＧＡ構成情報を記憶するための記憶領域として、領域Ａ、領域ＢおよびＷＰ(Write Protect)領域の３つの記憶領域が各々設けられている。ＷＰ領域には、画像形成装置２２の工場出荷時に、エラーを含まずＦＰＧＡ７４に適正に回路が形成されることが確認済みのＦＰＧＡ構成情報(以下、この情報を初期構成情報という)が予め書き込まれている。また、領域Ａおよび領域Ｂについては、後述するＦＰＧＡ更新処理(図１３Ａ,図１３Ｂ)によってＦＰＧＡ構成情報が書き込まれる。
【００３８】
本実施形態では、フラッシュＲＯＭ７６の記憶領域に記憶されたＦＰＧＡ構成情報をＦＰＧＡ７４による回路の形成に使用することで、ＦＰＧＡ構成情報に応じた構成の回路として、通信線３５経由でのコントローラ２０の通信Ｉ／Ｆカード３０と画像処理部６４との通信を制御するコントローラＩ／Ｆ回路８８、および、コントローラ２０から受信した印刷画像データに対して予め設定された画像処理を行うと共に、通信線８６経由での画像処理部６４と画像形成部６６との通信を制御する画像処理回路部９０がＦＰＧＡ７４に形成される。
【００３９】
なお、画像処理回路部９０が行う画像処理としては、ビットマップ形式の印刷用画像データに対するスクリーン処理や、多次元ルックアップテーブルを用いた色変換等が挙げられる。但し、これらの画像処理の一部は画像処理部６４のＣＰＵ６８が行うようにしてもよい。
【００４０】
図４に示すように、ＮＶＭ８０には、ＭＯＤＥフラグ、ＷＲＩＴＥプロテクトフラグおよびＦＰＧＡ ＲＥＡＤフラグの３種類のフラグの記憶領域が各々設けられている。これらのフラグはＣＰＵ６８によって設定されるが、これらのフラグの詳細については後述する。また、コンフィグ回路７８は、ＮＶＭ８０に記憶されている各フラグの値に基づいて、フラッシュＲＯＭ７６に設けられた３つの記憶領域の中からＦＰＧＡ構成情報を読み出す記憶領域を選択し、選択した記憶領域から読み出したＦＰＧＡ構成情報をＦＰＧＡ７４へ出力する。
【００４１】
画像形成部６６は、画像処理部６４から受信した印刷用画像データに基づき記録用紙に印刷対象の原稿の画像を印刷する。画像形成部６６としては、例えば、電子写真プロセスによりフルカラーのトナー像を形成し、記録用紙に転写することで、記録用紙にカラー画像を印刷する構成を採用してもよい。但し、これに限定されるものではなく、例えば感熱式や熱転写式、インクジェット式、或いはその他の印刷方式で普通紙や感熱紙上に画像を印刷する各種の構成を採用可能である。
【００４２】
また、遠隔メンテナンス装置１６は記憶部９２を備えており、記憶部９２には、コントローラ２０の通信Ｉ／Ｆカード３０に設けられたＦＰＧＡ４８や、画像形成装置２２の画像処理部６４に設けられたＦＰＧＡ７４が回路の形成に使用するＦＰＧＡ構成情報が更新された(新バージョンがリリースされた)場合に、更新されたＦＰＧＡ構成情報(以下、「更新用のＦＰＧＡ構成情報」という)が記憶される。遠隔メンテナンス装置１６は、オペレータから指示されると、ネットワーク１８経由でコントローラ２０と通信を行うことで、記憶部９２に記憶された更新用のＦＰＧＡ構成情報(新バージョンのＦＰＧＡ構成情報)をコントローラ２０へ配信する処理を行う。
【００４３】
次に本実施形態の作用を説明する。構成情報に応じた構成の回路を形成するＦＰＧＡ等の回路形成デバイスが搭載された電子機器における前記構成情報の更新は、従来、電子機器の稼働を停止させた状態で、サービスエンジニアが治具等を用い、フラッシュＲＯＭ等に書き込まれた構成情報を書き替えることで実施されていた。一方、電子機器の稼働停止期間の短縮や、構成情報の更新に要する手間の削減等を目的として、更新用の構成情報をサーバ等の外部からダウンロードにより取得し、フラッシュＲＯＭ等に書き込まれた構成情報を自動的に書き替えることで構成情報を更新する方式も一般的になってきている。
【００４４】
但し、構成情報を自動的に更新する方式は、例えば構成情報を更新している処理の途中で電子機器の電源がオフされる可能性もある。このため、例えば構成情報にエラーが重畳したり、構成情報の書き替え途中での電源オフ等により、構成情報の更新に失敗するおそれがある。
【００４５】
そして、通信機能を実現する回路が回路形成デバイスに形成され、この通信機能を利用して構成情報を取得する構成である場合、構成情報の更新に失敗すると、回路形成デバイスに形成された回路によって実現される通信機能が停止して外部と通信不能になり、外部から構成情報を再度受信して構成情報の更新を再度試行することが不可能な状態に陥る。この場合、回路形成デバイスが搭載された基板の交換等の現場での作業が必要になる。
【００４６】
本実施形態に係る印刷システム１０では、コントローラ２０の通信Ｉ／Ｆカード３０に設けられているＦＰＧＡ４８にバスＩ／Ｆ回路６０が形成され、通信Ｉ／Ｆカード３０はバスＩ／Ｆ回路６０を通じて更新用のＦＰＧＡ構成情報５８を受信する構成となっている。このため、或る通信Ｉ／Ｆカード３０において、フラッシュＲＯＭ５０に記憶されるＦＰＧＡ構成情報５８の更新に失敗すると、当該通信Ｉ／Ｆカード３０はバスＩ／Ｆ回路６０経由で外部と通信できない状態に陥り、更新用のＦＰＧＡ構成情報をバスＩ／Ｆ回路６０経由で再度受信することができなくなる。
【００４７】
また、本実施形態に係る印刷システム１０では、画像形成装置２２の画像処理部６４に設けられているＦＰＧＡ７４にコントローラＩ／Ｆ回路８８が形成され、画像処理部６４はコントローラＩ／Ｆ回路８８を通じて更新用のＦＰＧＡ構成情報を受信する構成となっている。このため、フラッシュＲＯＭ７６に記憶されるＦＰＧＡ構成情報の更新に失敗すると、画像処理部６４はコントローラＩ／Ｆ回路８８経由でコントローラ２０と通信できない状態に陥り、更新用のＦＰＧＡ構成情報をコントローラＩ／Ｆ回路８８で再度受信することができなくなる。
【００４８】
このため、本実施形態では、或る通信Ｉ／Ｆカード３０でＦＰＧＡ構成情報の更新に失敗した場合には、他の通信Ｉ／Ｆカード３０から通信線４３経由で現行バージョンのＦＰＧＡ構成情報を転送し、現行バージョンのＦＰＧＡ構成情報によってＦＰＧＡ４８を再構成させることで、ＦＰＧＡ構成情報の更新に失敗した通信Ｉ／Ｆカード３０を復旧させる。また、画像処理部６４でＦＰＧＡ構成情報の更新に失敗した場合には、フラッシュＲＯＭ７６の別の構成情報記憶領域に記憶されている現行バージョンのＦＰＧＡ構成情報によってＦＰＧＡ７４を再構成させることで、画像処理部６４を復旧させる。
【００４９】
以下、コントローラ２０の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０に記憶されているＦＰＧＡ構成情報５８の更新について、図５〜図１０を参照して説明する。コントローラ２０は、通信Ｉ／Ｆカード３０のＦＰＧＡ４８の再構成(回路形成)に使用されるＦＰＧＡ構成情報５８の更新を指示する情報を遠隔メンテナンス装置１６から受信すると、ＣＰＵ２４によってＦＰＧＡ構成情報更新プログラム３８が実行されることで、図５に示すＦＰＧＡ構成情報更新処理を行う。
【００５０】
ＦＰＧＡ構成情報更新処理のステップ１００において、コントローラ２０のＣＰＵ２４は、コントローラ２０に設けられている個々の通信Ｉ／Ｆカード３０を識別するために、コントローラ２０に設けられている全ての通信Ｉ／Ｆカード３０に互いに異なるＩＤを割り振る。なお、以下では、通信Ｉ／Ｆカード３０の総数が２、個々の通信Ｉ／Ｆカード３０にＩＤ＝０またはＩＤ＝１が割り振られたものとして説明を続ける。
【００５１】
次のステップ１０２において、コントローラ２０のＣＰＵ２４は、通信Ｉ／Ｆカード３０のＦＰＧＡ４８の再構成(回路形成)に使用するための更新用のＦＰＧＡ構成情報を遠隔メンテナンス装置１６からネットワーク１８経由でダウンロードしてメモリ２６に一時記憶させた後、メモリ２６に一時記憶させた更新用のＦＰＧＡ構成情報をバス３４経由でＩＤ＝０の通信Ｉ／Ｆカード３０へ転送する。詳細は後述するが、通信Ｉ／Ｆカード３０のＣＰＵ４２は、図９に示すように、コントローラ２０のＣＰＵ２４から更新用のＦＰＧＡ構成情報が転送されると、転送された更新用のＦＰＧＡ構成情報をメモリ４４に一旦記憶した後に、フラッシュＲＯＭ５０にそれ迄記憶されていたＦＰＧＡ構成情報に上書きして書き込み、書き込み完了をコントローラ２０のＣＰＵ２４へ通知するＦＰＧＡ更新処理(図６)を行う。
【００５２】
なお、図５は、遠隔メンテナンス装置１６から更新用のＦＰＧＡ構成情報をダウンロードすると、ダウンロードした更新用のＦＰＧＡ構成情報を通信Ｉ／Ｆカード３０へ直ちに転送する態様を示しているが、本発明はこれに限定されるものではない。例えば、コントローラ２０のＣＰＵ２４は、ダウンロードした更新用のＦＰＧＡ構成情報を一旦記憶部２８へ記憶しておき、予め設定された状況(例えば、クライアント端末１２から印刷データを受信しておらず、ＩＤ＝０の通信Ｉ／Ｆカード３０が通信を行っていない状況、或いは画像形成システム１４の利用頻度が閾値以下に低下する時間帯に入った状況等)になったタイミングで、更新用のＦＰＧＡ構成情報を記憶部２８から読み出して通信Ｉ／Ｆカード３０へ転送するようにしてもよい。
【００５３】
ステップ１０４において、コントローラ２０のＣＰＵ２４は、ＩＤ＝０の通信Ｉ／Ｆカード３０から更新用のＦＰＧＡ構成情報の書き込み完了が通知されると、ＩＤ＝０の通信Ｉ／Ｆカード３０を再起動させる。なお、ステップ１０４における再起動の対象は、コントローラ２０全体としてもよい。ＩＤ＝０の通信Ｉ／Ｆカード３０では、ステップ１０４の再起動により、フラッシュＲＯＭ５０に書き込まれた更新用のＦＰＧＡ構成情報が読み出され、ＦＰＧＡ４８の再構成(回路形成)に使用される。これにより、ＦＰＧＡ４８には、更新用のＦＰＧＡ構成情報に応じた構成の回路(例えばバスＩ／Ｆ回路６０および画像形成装置Ｉ／Ｆ回路６２)が形成される。
【００５４】
ＩＤ＝０の通信Ｉ／Ｆカード３０の再起動が完了すると、ステップ１０６において、コントローラ２０のＣＰＵ２４は、ＩＤ＝０の通信Ｉ／Ｆカード３０とのバス３４経由の通信が正常に行えるか否かをチェックする。なお、このチェックはＦＰＧＡ４８に形成されたバスＩ／Ｆ回路６０により実現される通信機能が正常に機能しているか否かのチェックであるが、本実施形態では、画像形成装置２２との通信を行うための画像形成装置Ｉ／Ｆ回路６２もＦＰＧＡ４８に形成されるので、画像形成装置Ｉ／Ｆ回路６２によって実現される通信機能についても正常か否かを併せてチェックするようにしてもよい。次のステップ１０８において、コントローラ２０のＣＰＵ２４は、ステップ１０６における通信チェックでエラーが検出されなかったか否か判定する。
【００５５】
ステップ１０６の通信チェックでエラーが検出された場合は、ステップ１０８の判定が否定されてステップ１１０へ移行する。この場合、ＩＤ＝０の通信Ｉ／Ｆカード３０とバス３４経由で正常に通信できない状態となっているので、ＩＤ＝０の通信Ｉ／Ｆカード３０のＦＰＧＡ４８には何らかの理由で正常に回路が形成されていない可能性が高い。このため、ステップ１１０において、コントローラ２０のＣＰＵ２４は、ＦＰＧＡ４８への更新用のＦＰＧＡ構成情報の書込回数Ｎ(初期値＝０)を１だけインクリメントし、「更新失敗」の情報を遠隔メンテナンス装置１６へ送信する。なお、「更新失敗」の情報は、例えばコントローラ２０に設けられた表示部に出力する(表示部に表示させる)ようにしてもよい。
【００５６】
次のステップ１１２において、コントローラ２０のＣＰＵ２４は、書込回数Ｎの値が３よりも大きいか否か判定する。ステップ１１２の判定が否定された場合はステップ１１４へ移行し、ＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２に対し、リカバリ処理１の実行を指示する。詳細は後述するが、図１０に示すように、ＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２は、自カード３０のフラッシュＲＯＭ５０に記憶されている現行バージョンのＦＰＧＡ構成情報、すなわち自カード３０が正常に動作していることで、エラー等が含まれていないことが確認できているＦＰＧＡ構成情報を通信線４３経由でＩＤ＝０の通信Ｉ／Ｆカード３０へ転送することで、ＩＤ＝０の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０に記憶されている新バージョンのＦＰＧＡ構成情報を、現行バージョンのＦＰＧＡ構成情報に書き戻させるリカバリ処理１(図７)を行う。ステップ１１４の処理を行うとステップ１０４に戻り、ステップ１０４以降を繰り返す。
【００５７】
また、ステップ１０６の通信チェックでエラーが検出されなかった場合は、ステップ１０８の判定が肯定されてステップ１１８へ移行し、ステップ１１８において、コントローラ２０のＣＰＵ２４は、ＩＤ＝０の通信Ｉ／Ｆカード３０のＦＰＧＡ４８に形成された回路のバージョンをチェックする。ＦＰＧＡ４８は、回路形成に使用したＦＰＧＡ構成情報のバージョンを表す情報を、ＦＰＧＡ４８の外部から参照可能な内蔵レジスタに設定する。このため、上記のバージョンチェックは、ＦＰＧＡ４８の内蔵レジスタに設定された情報を参照し、ＩＤ＝０の通信Ｉ／Ｆカード３０へ転送した更新用のＦＰＧＡ構成情報のバージョンと照合することで行う。
【００５８】
次のステップ１２０において、コントローラ２０のＣＰＵ２４は、ステップ１１８におけるバージョンチェックにおいて、ＦＰＧＡ４８に形成された回路のバージョンが更新されていたか否か判定する。ステップ１２０の判定が肯定された場合は、ＩＤ＝０の通信Ｉ／Ｆカード３０とバス３４経由で正常に通信できており、ＦＰＧＡ４８に形成された回路のバージョンが更新されているので、ＩＤ＝０の通信Ｉ／Ｆカード３０についてのＦＰＧＡ構成情報の更新は成功したと判断される。このため、ステップ１２０の判定が肯定された場合はステップ１２２へ移行する。
【００５９】
一方、ステップ１２０の判定が否定される場合としては、ＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２によるリカバリ処理１によって、ＩＤ＝０の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０に記憶されている新バージョンのＦＰＧＡ構成情報が現行バージョンのＦＰＧＡ構成情報に書き戻された場合が挙げられる。また、何らかの原因により、ＩＤ＝０の通信Ｉ／Ｆカード３０のＦＰＧＡ４８に、現行バージョンのＦＰＧＡ構成情報に応じた回路が形成された場合も挙げられる。何れの場合も、ＩＤ＝０の通信Ｉ／Ｆカード３０についてのＦＰＧＡ構成情報の更新は失敗したと判断されるので、ステップ１２０の判定が否定された場合はメモリ２６に一時記憶している更新用のＦＰＧＡ構成情報を消去してステップ１２１へ移行し、ステップ１２１において、コントローラ２０のＣＰＵ２４は、図示しない表示装置上でエラー表示を行い、ＦＰＧＡ構成情報の更新が失敗したことを通知する。ステップ１２１の処理を行うとステップ１０２に戻り、ステップ１０２以降の処理を繰り返す。
【００６０】
これにより、更新用のＦＰＧＡ構成情報のダウンロード、ＩＤ＝０の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０への更新用のＦＰＧＡ構成情報の書き込み、ＩＤ＝０の通信Ｉ／Ｆカード３０の再起動、通信チェックの各処理が再度行われる。各処理の再実行によりステップ１０８,１２０の判定が各々肯定された場合はステップ１２２へ移行する。
【００６１】
また、通信チェックでエラーが検出された場合は、上記各処理に加えて、ＩＤ＝０の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０に記憶されている新バージョンのＦＰＧＡ構成情報を現行バージョンのＦＰＧＡ構成情報に書き戻す処理も行われる。そして、上記各処理にＦＰＧＡ構成情報の書き戻しを加えた一連の処理を３回繰り返しても通信チェックでエラーが検出される場合は、ステップ１１２の判定が肯定されてステップ１１６へ移行する。この場合、ＩＤ＝０の通信Ｉ／Ｆカード３０のＦＰＧＡ構成情報の更新が成功しない原因としては、ＩＤ＝０の通信Ｉ／Ｆカード３０の基板の故障や、遠隔メンテナンス装置１６の記憶部９２に記憶されている更新用のＦＰＧＡ構成情報の不良等が考えられるため、ステップ１１６では上記の原因を遠隔メンテナンス装置１６へ通知するエラー処理を行い、ＦＰＧＡ構成情報更新処理を終了する。
【００６２】
ＩＤ＝０の通信Ｉ／Ｆカード３０についてのＦＰＧＡ構成情報の更新に成功した場合、ステップ１２２において、コントローラ２０のＣＰＵ２４は、コントローラ２０に設けられている通信Ｉ／Ｆカード３０のうち、ＦＰＧＡ構成情報が未更新の通信Ｉ／Ｆカード３０を処理対象として認識する。ここでは、コントローラ２０に設けられている通信Ｉ／Ｆカード３０の総数が２の場合を説明しているので、ステップ１２２ではＩＤ＝１の通信Ｉ／Ｆカード３０が処理対象として認識される。
【００６３】
次のステップ１２４において、コントローラ２０のＣＰＵ２４は、ステップ１２２で処理対象と認識した通信Ｉ／Ｆカード３０のＣＰＵ４２に対し、フラッシュＲＯＭ５０に記憶されているＦＰＧＡ構成情報のバージョンを問い合わせ、処理対象の通信Ｉ／Ｆカード３０のＣＰＵ４２からの応答に含まれるＦＰＧＡ構成情報のバージョンを更新用のＦＰＧＡ構成情報のバージョンと照合することで、処理対象の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０に記憶されているＦＰＧＡ構成情報のバージョンをチェックする。
【００６４】
ステップ１２６において、コントローラ２０のＣＰＵ２４は、処理対象の通信Ｉ／Ｆカード３０の中に、フラッシュＲＯＭ５０に記憶されているＦＰＧＡ構成情報のバージョンが更新用のＦＰＧＡ構成情報のバージョンよりも古い通信Ｉ／Ｆカード３０が存在しているか否か判定する。ステップ１２６の判定が否定された場合は、ＦＰＧＡ構成情報の更新が必要な通信Ｉ／Ｆカード３０が存在していないので、ＦＰＧＡ構成情報更新処理を終了する。
【００６５】
一方、ステップ１２６の判定が肯定された場合は、処理対象の通信Ｉ／Ｆカード３０の中にＦＰＧＡ構成情報の更新が必要な通信Ｉ／Ｆカード３０が存在しているので、ステップ１２８へ移行し、ステップ１２８において、コントローラ２０のＣＰＵ２４は、メモリ２６に一時記憶している更新用のＦＰＧＡ構成情報を処理対象の通信Ｉ／Ｆカード３０(ＦＰＧＡ構成情報の更新が必要な通信Ｉ／Ｆカード３０、説明している例ではＩＤ＝１の通信Ｉ／Ｆカード３０)へ転送する。処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)では、コントローラ２０のＣＰＵ２４から転送された更新用のＦＰＧＡ構成情報がフラッシュＲＯＭ５０に書き込まれる。
【００６６】
次のステップ１３０において、コントローラ２０のＣＰＵ２４は、更新用のＦＰＧＡ構成情報を転送した処理対象の通信Ｉ／Ｆカード３０から更新用のＦＰＧＡ構成情報の書き込み完了が通知されると、処理対象の通信Ｉ／Ｆカード３０を再起動させる。処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)では、ステップ１３０の再起動により、フラッシュＲＯＭ５０に書き込まれた更新用のＦＰＧＡ構成情報が読み出され、ＦＰＧＡ４８の再構成(回路形成)に使用される。これにより、ＦＰＧＡ４８には、更新用のＦＰＧＡ構成情報に応じた構成の回路(例えばバスＩ／Ｆ回路６０および画像形成装置Ｉ／Ｆ回路６２)が形成される。
【００６７】
処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)の再起動が完了すると、ステップ１３２において、コントローラ２０のＣＰＵ２４は、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)とのバス３４経由の通信が正常に行えるか否かをチェックする。次のステップ１３４において、コントローラ２０のＣＰＵ２４は、ステップ１３２における通信チェックでエラーが検出された処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)が無かったか否か判定する。
【００６８】
ステップ１３２の通信チェックでエラーが検出された場合は、ステップ１３４の判定が否定されてステップ１３６へ移行する。この場合、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)とはバス３４経由で正常に通信できない状態となっているので、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)のＦＰＧＡ４８には何らかの理由で正常に回路が形成されていない可能性が高い。このため、ステップ１３６において、コントローラ２０のＣＰＵ２４は、ＦＰＧＡ４８への更新用のＦＰＧＡ構成情報の書込回数Ｎ(初期値＝０)を１だけインクリメントし、「更新失敗」の情報を遠隔メンテナンス装置１６へ送信する。なお、「更新失敗」の情報は、例えばコントローラ２０に設けられた表示部に出力(表示部に表示)してもよい。
【００６９】
ステップ１３８において、コントローラ２０のＣＰＵ２４は、書込回数Ｎの値が３よりも大きいか否か判定する。ステップ１３８の判定が否定された場合はステップ１４０へ移行し、ＩＤ＝０の通信Ｉ／Ｆカード３０のＣＰＵ４２に対し、リカバリ処理０の実行を指示する。詳細は後述するが、ＩＤ＝０の通信Ｉ／Ｆカード３０のＣＰＵ４２は、自カード３０のフラッシュＲＯＭ５０に記憶されている更新後のＦＰＧＡ構成情報、すなわち自カード３０が正常に動作していることで、エラー等が含まれていないことが確認できているＦＰＧＡ構成情報を通信線４３経由でＩＤ＝１の通信Ｉ／Ｆカード３０へ転送することで、ＩＤ＝１の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０に記憶されているＦＰＧＡ構成情報を、更新後のＦＰＧＡ構成情報に書き替えさせるリカバリ処理０(図８)を行う。ステップ１４０の処理を行うとステップ１３０に戻り、ステップ１３０以降を繰り返す。
【００７０】
また、ステップ１３２の通信チェックでエラーが検出されなかった場合は、ステップ１３４の判定が肯定されてステップ１４４へ移行し、ステップ１４４において、コントローラ２０のＣＰＵ２４は、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)のＦＰＧＡ４８の内蔵レジスタに設定されたＦＰＧＡ構成情報のバージョンを表す情報を参照し、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)へ転送した更新用のＦＰＧＡ構成情報のバージョンと照合することで、ＦＰＧＡ４８に形成された回路のバージョンをチェックする。
【００７１】
次のステップ１４６において、コントローラ２０のＣＰＵ２４は、ステップ１４４におけるバージョンチェックにおいて、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)のＦＰＧＡ４８に形成された回路のバージョンが更新されていたか否か判定する。ステップ１４６の判定が肯定された場合は、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)とバス３４経由で正常に通信できており、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)のＦＰＧＡ４８に形成された回路のバージョンも更新されているので、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)についてのＦＰＧＡ構成情報の更新も成功したと判断される。このため、ステップ１４６の判定が肯定された場合はＦＰＧＡ構成情報更新処理を終了する。
【００７２】
一方、ステップ１４６の判定が否定される場合は、何らかの原因により、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)のＦＰＧＡ４８に、現行バージョンのＦＰＧＡ構成情報に応じた回路が形成された場合である。この場合、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)についてのＦＰＧＡ構成情報の更新は失敗したと判断されるので、ステップ１４６の判定が否定された場合はステップ１２２に戻り、ステップ１２２以降の処理を繰り返す。
【００７３】
これにより、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)のフラッシュＲＯＭ５０への更新用のＦＰＧＡ構成情報の書き込み、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)の再起動、通信チェックの各処理が再度行われる。各処理の再実行によりステップ１３４,１４６の判定が各々肯定された場合はＦＰＧＡ構成情報更新処理を終了する。
【００７４】
また、通信チェックでエラーが検出された場合は、上記各処理に加えて、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)のフラッシュＲＯＭ５０に記憶されているＦＰＧＡ構成情報を更新後のＦＰＧＡ構成情報に書き替える処理も行われる。
【００７５】
そして、上記各処理にＦＰＧＡ構成情報の書き替えを加えた一連の処理を３回繰り返しても通信チェックでエラーが検出される場合は、ステップ１３８の判定が肯定されてステップ１４２へ移行する。この場合、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)のＦＰＧＡ構成情報の更新が成功しない原因としては、処理対象の通信Ｉ／Ｆカード３０(ＩＤ＝１の通信Ｉ／Ｆカード３０)の基板の故障や、遠隔メンテナンス装置１６の記憶部９２に記憶されている更新用のＦＰＧＡ構成情報の不良等が考えられるため、ステップ１４２では上記の原因を遠隔メンテナンス装置１６へ通知するエラー処理を行い、ＦＰＧＡ構成情報更新処理を終了する。
【００７６】
次に、上述したＦＰＧＡ構成情報更新処理がコントローラ２０のＣＰＵ２４で実行されている間、個々の通信Ｉ／Ｆカード３０のＣＰＵ４２でＦＰＧＡ更新プログラム５４が実行されることで個々の通信Ｉ／Ｆカード３０で行われるＦＰＧＡ更新処理について、図６を参照して説明する。
【００７７】
ＦＰＧＡ更新処理のステップ１５０において、通信Ｉ／Ｆカード３０のＣＰＵ４２は、コントローラ２０のＣＰＵ２４によって自カードに割り振られたＩＤを認識する。次のステップ１５２において、通信Ｉ／Ｆカード３０のＣＰＵ４２は、通信Ｉ／Ｆカード３０のＣＰＵ４２の間の通信線４３経由のローカル接続(ローカル通信)が正常か否かをチェックする。そしてステップ１５４において、通信Ｉ／Ｆカード３０のＣＰＵ４２は、ステップ１５２における通信チェックでエラーが検出されなかったか否か判定する。
【００７８】
ステップ１５２における通信チェックでエラーが検出された場合は、ステップ１５４の判定が否定されてステップ１６０へ移行する。この場合、ＦＰＧＡ更新処理を行っている通信Ｉ／Ｆカード３０の基板の故障や、電気的な接触不良等が考えられるため、ステップ１５４では上記の原因をコントローラ２０のＣＰＵ２４へ通知するエラー処理を行い、ＦＰＧＡ更新処理を終了する。この場合、コントローラ２０のＣＰＵ２４は、通信チェックでエラーが検出される原因(基板の故障や電気的な接触不良等)を遠隔メンテナンス装置１６へ通知する処理を行うことが好ましい。
【００７９】
なお、ステップ１５２における通信チェックでエラーが検出された通信Ｉ／Ｆカード３０であっても、コントローラ２０のＣＰＵ２４とのバス３４経由での通信は可能である。このため、ステップ１５４の判定が否定された場合も、通信線４３経由のローカル接続(ローカル通信)が正常でないことをコントローラ２０のＣＰＵ２４へ通知した上で、次に説明するステップ１５６,１５８の処理を行うようにしてもよい。
【００８０】
ステップ１５２における通信チェックでエラーが検出されなかった場合は、ステップ１５４の判定が肯定されてステップ１５６へ移行する。ステップ１５６において、通信Ｉ／Ｆカード３０のＣＰＵ４２は、コントローラ２０のＣＰＵ２４からバス３４経由で自カードへ転送された更新用のＦＰＧＡ構成情報を一旦メモリ４４に記憶させた後、フラッシュＲＯＭ５０に記憶されているＦＰＧＡ構成情報に上書きして書き込む。
【００８１】
また、フラッシュＲＯＭ５０への更新用のＦＰＧＡ構成情報の書き込みが完了すると、ステップ１５８へ移行し、ステップ１５８において、通信Ｉ／Ｆカード３０のＣＰＵ４２は、更新用のＦＰＧＡ構成情報の書き込みが完了したことをコントローラ２０のＣＰＵ２４へ通知し、ＦＰＧＡ更新処理を終了する。この場合、ＦＰＧＡ更新処理が正常に終了した通信Ｉ／Ｆカード３０が再起動されると、フラッシュＲＯＭ５０に書き込んだ更新用のＦＰＧＡ構成情報が読み出されてＦＰＧＡ４８の再構成に使用され、更新用のＦＰＧＡ構成情報に応じた回路がＦＰＧＡ４８に形成されることになる。
【００８２】
先に説明したように、ＩＤ＝０の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０に更新用のＦＰＧＡ構成情報を書き込んだものの、当該通信Ｉ／Ｆカード３０の再起動でバス３４経由での通信にエラーが検出された場合、コントローラ２０のＣＰＵ２４からＩＤ＝１の通信Ｉ／Ｆカード３０へリカバリ処理１の実行が指示される。この指示を契機として、ＩＤ＝１の通信Ｉ／Ｆカード３０では、ＣＰＵ４２でリカバリプログラム５６が実行されることで、図７に示すリカバリ処理１が行われる。
【００８３】
リカバリ処理１のステップ１７０において、ＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２は、自カード３０のフラッシュＲＯＭ５０に記憶されている現行バージョンのＦＰＧＡ構成情報を読み出す。次のステップ１７２において、ＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２は、自カード３０のフラッシュＲＯＭ５０から読み出した現行バージョンのＦＰＧＡ構成情報を、通信線４３経由のローカル通信により、ＩＤ＝０の通信Ｉ／Ｆカード３０のＣＰＵ４２へ転送する。
【００８４】
これにより、ＩＤ＝０の通信Ｉ／Ｆカード３０のＣＰＵ４２は、通信線４３経由のローカル通信により転送された現行バージョンのＦＰＧＡ構成情報を一旦メモリ４４に記憶した後に、自カード３０のフラッシュＲＯＭ５０に書き込み、書き込みが完了するとＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２へ正常応答を返す処理を行う。ステップ１７４において、ＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２は、ＩＤ＝０の通信Ｉ／Ｆカード３０のＣＰＵ４２から正常応答を受信したか否かに基づいて、ＩＤ＝０の通信Ｉ／Ｆカード３０でフラッシュＲＯＭ５０への現行バージョンのＦＰＧＡ構成情報の書き込みが完了したか否か判定し、判定が肯定される迄ステップ１７４を繰り返す。
【００８５】
ＩＤ＝０の通信Ｉ／Ｆカード３０のＣＰＵ４２から正常応答を受信すると、ステップ１７４の判定が肯定されてステップ１７６へ移行し、ステップ１７６において、ＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２は、指示されたリカバリ処理１の完了をコントローラ２０のＣＰＵ２４へ通知し、リカバリ処理１を終了する。これにより、ＩＤ＝０の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０への現行バージョンのＦＰＧＡ構成情報の書き込みが完了し、ＩＤ＝０の通信Ｉ／Ｆカード３０を再起動すれば、ＩＤ＝０の通信Ｉ／Ｆカード３０のＣＰＵ４２とコントローラ２０のＣＰＵ２４とのバス３４経由での通信が復旧することになる。
【００８６】
また、ＩＤ＝１の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０に更新用のＦＰＧＡ構成情報を書き込んだものの、当該通信Ｉ／Ｆカード３０の再起動でバス３４経由での通信にエラーが検出された場合、コントローラ２０のＣＰＵ２４からＩＤ＝０の通信Ｉ／Ｆカード３０へリカバリ処理０の実行が指示される。この指示を契機として、ＩＤ＝０の通信Ｉ／Ｆカード３０では、ＣＰＵ４２でリカバリプログラム５６が実行されることで、図８に示すリカバリ処理０が行われる。
【００８７】
リカバリ処理０のステップ１８０において、ＩＤ＝０の通信Ｉ／Ｆカード３０のＣＰＵ４２は、自カード３０のフラッシュＲＯＭ５０に記憶されている更新後のＦＰＧＡ構成情報を読み出す。次のステップ１８２において、ＩＤ＝０の通信Ｉ／Ｆカード３０のＣＰＵ４２は、自カード３０のフラッシュＲＯＭ５０から読み出した更新後のＦＰＧＡ構成情報を、通信線４３経由のローカル通信により、ＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２へ転送する。
【００８８】
これにより、ＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２は、通信線４３経由のローカル通信により転送された更新後のＦＰＧＡ構成情報を一旦メモリ４４に記憶した後に、自カード３０のフラッシュＲＯＭ５０に書き込み、書き込みが完了するとＩＤ＝０の通信Ｉ／Ｆカード３０のＣＰＵ４２へ正常応答を返す処理を行う。ステップ１８４において、ＩＤ＝０の通信Ｉ／Ｆカード３０のＣＰＵ４２は、ＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２から正常応答を受信したか否かに基づいて、ＩＤ＝１の通信Ｉ／Ｆカード３０でフラッシュＲＯＭ５０への更新後のＦＰＧＡ構成情報の書き込みが完了したか否か判定し、判定が肯定される迄ステップ１８４を繰り返す。
【００８９】
ＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２から正常応答を受信すると、ステップ１８４の判定が肯定されてステップ１８６へ移行し、ステップ１８６において、ＩＤ＝０の通信Ｉ／Ｆカード３０のＣＰＵ４２は、指示されたリカバリ処理０の完了をコントローラ２０のＣＰＵ２４へ通知し、リカバリ処理０を終了する。これにより、ＩＤ＝１の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０への更新後のＦＰＧＡ構成情報の書き込みが完了し、ＩＤ＝１の通信Ｉ／Ｆカード３０を再起動すれば、ＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２とコントローラ２０のＣＰＵ２４とのバス３４経由での通信が復旧することになる。
【００９０】
上述したように、本実施形態では、ＩＤ＝０の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０に書き込まれた更新用の新バージョンのＦＰＧＡ構成情報によってＩＤ＝０の通信Ｉ／Ｆカード３０のＦＰＧＡ４８を再構成(回路を形成)させたときに、バス３４経由のコントローラ２０のＣＰＵ２４との通信でエラーが検出された場合、ＩＤ＝１の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０に書き込まれた現行バージョンのＦＰＧＡ構成情報によってＩＤ＝０の通信Ｉ／Ｆカード３０のＦＰＧＡ４８を再構成(回路を形成)させる。これにより、ＩＤ＝０の通信Ｉ／Ｆカード３０の基板を交換する等の作業を行うことなく、ＩＤ＝０の通信Ｉ／Ｆカード３０のＣＰＵ４２とコントローラ２０のＣＰＵ２４とのバス３４経由での通信が復旧する。
【００９１】
なお、上記のケースにおいて、ＩＤ＝０,１の通信Ｉ／Ｆカード３０を含むコントローラ２０は本発明に係る電子機器の一例であり、ＩＤ＝０の通信Ｉ／Ｆカード３０のＦＰＧＡ４８は本発明における回路形成デバイスの一例であり、ＩＤ＝０の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０は本発明における第１記憶部の一例であり、ＩＤ＝１の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０は本発明における第２記憶部の一例であり、コントローラ２０のＣＰＵ２４およびＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２は本発明における復旧制御部の一例であり、通信Ｉ／Ｆカード３０は本発明におけるモジュールの一例である。
【００９２】
また、本実施形態では、ＩＤ＝１の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０に書き込まれた更新用のＦＰＧＡ構成情報によってＩＤ＝１の通信Ｉ／Ｆカード３０のＦＰＧＡ４８を再構成(回路を形成)させたときに、バス３４経由のコントローラ２０のＣＰＵ２４との通信でエラーが検出された場合、ＩＤ＝０の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０に書き込まれ、バス３４経由での通信が確立することが確認済みの新バージョンのＦＰＧＡ構成情報によってＩＤ＝１の通信Ｉ／Ｆカード３０のＦＰＧＡ４８を再構成(回路を形成)させる。これにより、ＩＤ＝１の通信Ｉ／Ｆカード３０の基板を交換する等の作業を行うことなく、ＩＤ＝１の通信Ｉ／Ｆカード３０のＣＰＵ４２とコントローラ２０のＣＰＵ２４とのバス３４経由での通信が復旧する。
【００９３】
なお、上記のケースにおいて、ＩＤ＝０,１の通信Ｉ／Ｆカード３０を含むコントローラ２０は本発明に係る電子機器の一例であり、ＩＤ＝１の通信Ｉ／Ｆカード３０のＦＰＧＡ４８は本発明における回路形成デバイスの一例であり、ＩＤ＝１の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０は本発明における第１記憶部の一例であり、ＩＤ＝０の通信Ｉ／Ｆカード３０のフラッシュＲＯＭ５０は本発明における第２記憶部の一例であり、コントローラ２０のＣＰＵ２４およびＩＤ＝０の通信Ｉ／Ｆカード３０のＣＰＵ４２は本発明における復旧制御部の一例であり、通信Ｉ／Ｆカード３０は本発明におけるモジュールの一例である。
【００９４】
なお、上記ではコントローラ２０に設けられている通信Ｉ／Ｆカード３０の総数が２の例を説明したが、これに限定されるものではなく、通信Ｉ／Ｆカード３０の数は３以上であってもよい。一例として、コントローラ２０に通信Ｉ／Ｆカード３０が４枚設けられている態様を図１１に示す。この場合、図１１に矢印で示すように、ＩＤ＝０の通信Ｉ／Ｆカード３０に対してＦＰＧＡ構成情報の更新を行い、通信エラーが発生しなければ、ＩＤ＝１〜３の３枚の通信Ｉ／Ｆカード３０に対してＦＰＧＡ構成情報の更新を並列に行えばよい。なお、ＩＤ＝１〜３の３枚の通信Ｉ／Ｆカード３０に対するＦＰＧＡ構成情報の更新において、各通信Ｉ／Ｆカード３０への更新用のＦＰＧＡ構成情報の転送は、図１１に示すように、ＦＰＧＡ構成情報の更新が完了したＩＤ＝０の通信Ｉ／Ｆカード３０から通信線４３経由で行うようにしてもよいし、コントローラ２０のＣＰＵ２４からバス３４経由で行うようにしてもよい。
【００９５】
次に、画像処理部６４のフラッシュＲＯＭ７６に記憶されているＦＰＧＡ構成情報の更新について説明する。以下では、まず図４を参照し、各部分の間で送受される信号を説明する。コントローラ２０と画像処理部６４との間では、通信線３５経由で、画像データと、この画像データの送受のための通信コマンドと、が送受される。また、コントローラ２０と画像処理部６４との間には、通信線３５と別の制御信号線も設けられており、コントローラ２０および画像処理部６４は、上記の制御信号線を経由して、次の表１にも示すように、ＭＯＤＥ信号、ＲＥＳＥＴ信号およびＩ＿ＲＥＡＤＹ信号も送受する。
【００９６】
【表１】
0006613723.tif 000002
【００９７】
ＭＯＤＥ信号は、コントローラ２０から画像処理部６４へ送信される信号であり、表１に示すように、通常モードではＬレベルとされ、コントローラ２０から画像処理部６４へ更新用のＦＰＧＡ構成情報が転送されるダウンロードモードではＨレベルとされる。
【００９８】
ＲＥＳＥＴ信号は、コントローラ２０から画像処理部６４へ送信される信号であり、表１に示すように、コントローラ２０が画像処理部６４へリセット(再起動)を指示する場合にＬレベルとされ、それ以外の場合はＨレベルとされる。
【００９９】
Ｉ＿ＲＥＡＤＹ信号は、画像処理部６４からコントローラ２０へ送信される信号であり、コントローラ２０と画像処理部６４との間で通信線３５経由の通信が確立している間はＬレベルとされ、表１に示すように、画像処理部６４で異常が発生した場合、画像処理部６４が電源をオフする場合、画像処理部６４がリセット(再起動)をする場合にＨレベルとされる。
【０１００】
また、画像処理部６４のＦＰＧＡ７４は、図４に示すように、ＣＯＮＦ＿ＤＯＮＥ信号とＣＲＣ＿ＥＲＲＯＲ信号をＣＰＵ６８へ出力する。ＣＯＮＦ＿ＤＯＮＥ信号は、ＦＰＧＡ７４がＦＰＧＡ構成情報に応じた再構成(回路の形成)を行っている間はＨレベルとされ、ＦＰＧＡ構成情報に応じた再構成(回路の形成)が完了するとＦＰＧＡ７４によってＬレベルに切り替えられる。
【０１０１】
ＣＲＣ＿ＥＲＲＯＲ信号は、通常時はＨレベルとされ、ＦＰＧＡ構成情報に応じた再構成(回路の形成)にあたり、コンフィグ回路７８からＦＰＧＡ７４に入力されたＦＰＧＡ構成情報に対するパリティチェックでエラーが発生すると、ＦＰＧＡ７４によってＬレベルに切り替えられる。
【０１０２】
図４に示すように、ＮＶＭ８０には、ＭＯＤＥフラグ、ＷＲＩＴＥプロテクトフラグおよびＦＰＧＡ ＲＥＡＤフラグの３種類のフラグが記憶されており、これらのフラグはＣＰＵ６８によって設定される。コンフィグ回路７８は、ＮＶＭ８０に記憶されている各フラグの値に基づいて、フラッシュＲＯＭ７６に設けられた３つの記憶領域の中から、ＦＰＧＡ構成情報を読み出す記憶領域およびＷＲＩＴＥプロテクトを掛ける記憶領域を選択する。各フラグの値とＦＰＧＡ構成情報を読み出す領域およびＷＲＩＴＥプロテクトを掛ける領域との関係を次の表２に示す。
【０１０３】
【表２】
0006613723.tif 000003
【０１０４】
ＭＯＤＥフラグは、ＷＰ領域からＦＰＧＡ構成情報を読み出す場合に１が設定され、それ以外の場合は０に設定される。コンフィグ回路７８は、ＭＯＤＥフラグ＝１の場合、他のフラグの値に拘わらずＷＰ領域からＦＰＧＡ構成情報を読み出し、ＦＰＧＡ７４へ出力する。
【０１０５】
ＦＰＧＡ ＲＥＡＤフラグは、領域ＡからＦＰＧＡ構成情報を読み出す場合に０が設定され、領域ＢからＦＰＧＡ構成情報を読み出す場合に１が設定される。コンフィグ回路７８は、ＭＯＤＥフラグ＝０でかつＦＰＧＡ ＲＥＡＤフラグ＝０の場合、領域ＡからＦＰＧＡ構成情報を読み出してＦＰＧＡ７４へ出力し、ＭＯＤＥフラグ＝０でかつＦＰＧＡ ＲＥＡＤフラグ＝１の場合、領域ＢからＦＰＧＡ構成情報を読み出してＦＰＧＡ７４へ出力する。
【０１０６】
ＷＲＩＴＥプロテクトフラグは、領域ＡにＷＲＩＴＥプロテクトを掛ける場合に０が設定され、領域ＢにＷＲＩＴＥプロテクトを掛ける場合に１が設定される。コンフィグ回路７８は、ＭＯＤＥフラグ＝０でかつＷＲＩＴＥプロテクトフラグ＝０の場合、領域ＡにＷＲＩＴＥプロテクトを掛け、ＭＯＤＥフラグ＝０でかつＷＲＩＴＥプロテクトフラグ＝１の場合、領域ＢにＷＲＩＴＥプロテクトを掛ける。
【０１０７】
次に図１２を参照し、画像処理部６４のフラッシュＲＯＭ７６に記憶されているＦＰＧＡ構成情報を更新する場合に、コントローラ２０のＣＰＵ２４によって行われる画像処理部ＦＰＧＡ構成情報更新処理について説明する。
【０１０８】
なお、この画像処理部ＦＰＧＡ構成情報更新処理は、コントローラ２０のＣＰＵ２４によって画像処理部ＦＰＧＡ構成情報更新プログラム４０が実行されることで実現される。また、コントローラ２０のＣＰＵ２４は、例えば、画像処理部６４のＦＰＧＡ７４が使用する更新用のＦＰＧＡ構成情報(新バージョンのＦＰＧＡ構成情報)を遠隔メンテナンス装置１６から受信して記憶部２８等に記憶している状態で、予め設定された状況(例えば、クライアント端末１２から印刷データを受信しておらず、画像処理部６４が画像処理を行っていない状況、或いは画像形成システム１４の利用頻度が閾値以下に低下する時間帯に入った状況等)になったタイミングで、画像処理部ＦＰＧＡ構成情報更新処理を行う。
【０１０９】
画像処理部ＦＰＧＡ構成情報更新処理のステップ２００において、コントローラ２０のＣＰＵ２４は、画像処理部６４へ出力するＭＯＤＥ信号をＨレベルに切替えることで、画像処理部６４のＣＰＵ６８に対してダウンロードモードへの移行を指示する。次のステップ２０２において、コントローラ２０のＣＰＵ２４は、画像処理部６４へ出力するＲＥＳＥＴ信号を一旦Ｌレベルへ切替えることで、画像処理部６４のＣＰＵ６８に対して画像処理部６４の再起動を指示する。ステップ２０４において、コントローラ２０のＣＰＵ２４は、一定時間待機する。なお、ステップ２０４における一定時間としては、例えば、画像処理部６４の再起動に要する時間に、予め設定した余裕時間を加算した時間を適用する。
【０１１０】
次のステップ２０６において、コントローラ２０のＣＰＵ２４は、画像処理部６４から入力されるＩ＿ＲＥＡＤＹ信号がＬレベルに切り替わったか否かを判定することで、画像処理部６４で何らかの異常が発生していないか否か判定する。Ｉ＿ＲＥＡＤＹ信号がＨレベルの場合、画像処理部６４の再起動で何らかの異常が発生したと判断される。このため、ステップ２０６の判定が否定された場合はステップ２２４へ移行し、画像処理部６４の再起動で何らかの異常が発生したことを遠隔メンテナンス装置１６へ通知するエラー処理を行い、画像処理部ＦＰＧＡ構成情報更新処理を終了する。
【０１１１】
一方、Ｉ＿ＲＥＡＤＹ信号がＬレベルに切り替わっていた場合は、ステップ２０６の判定が肯定されてステップ２０８へ移行する。ステップ２０８において、コントローラ２０のＣＰＵ２４は、画像処理部６４のＦＰＧＡ７４が使用する更新用のＦＰＧＡ構成情報を記憶部２８等から読み出し、通信線３５経由で画像処理部６４へ転送する。
【０１１２】
また、Ｉ＿ＲＥＡＤＹ信号がＬレベルに切り替わったことで、コントローラ２０と画像処理部６４との間で通信線３５経由の通信が確立している。このため、次のステップ２１２において、コントローラ２０のＣＰＵ２４は、画像処理部６４から更新用のＦＰＧＡ構成情報の転送完了が通知されたか否かに基づいて、更新用のＦＰＧＡ構成情報に転送エラーが無かったか否かを判定する。ステップ２１２の判定が否定された場合はステップ２０８へ戻り、画像処理部６４への更新用のＦＰＧＡ構成情報の転送を再度行う。
【０１１３】
一方、画像処理部６４への更新用のＦＰＧＡ構成情報の転送で転送エラーが無かった場合は、ステップ２１２の判定が肯定されてステップ２１４へ移行する。ステップ２１４において、コントローラ２０のＣＰＵ２４は、画像処理部６４へ出力するＭＯＤＥ信号をＬレベルに切替えることで、画像処理部６４のＣＰＵ６８に対して通常モードへの移行を指示する。次のステップ２１６において、コントローラ２０のＣＰＵ２４は、画像処理部６４へ出力するＲＥＳＥＴ信号を一旦Ｌレベルへ切替えることで、画像処理部６４のＣＰＵ６８に対して画像処理部６４の再起動を指示する。ステップ２１８において、コントローラ２０のＣＰＵ２４は、一定時間待機する。なお、ステップ２１８における一定時間としては、例えば、前述したステップ２０４と同じ長さの時間を適用する。
【０１１４】
次のステップ２２０において、コントローラ２０のＣＰＵ２４は、画像処理部６４から入力されるＩ＿ＲＥＡＤＹ信号がＬレベルに切り替わったか否かを判定することで、画像処理部６４で何らかの異常が発生していないか否か判定する。Ｉ＿ＲＥＡＤＹ信号がＨレベルの場合、画像処理部６４の再起動で何らかの異常が発生したと判断される。このため、ステップ２２０の判定が否定された場合はステップ２２８へ移行し、画像処理部６４の再起動で何らかの異常が発生したことを遠隔メンテナンス装置１６へ通知するエラー処理を行い、画像処理部ＦＰＧＡ構成情報更新処理を終了する。
【０１１５】
なお、遠隔メンテナンス装置１６へ通知する前に、画像処理部ＦＰＧＡ構成情報更新処理をステップ２００から繰り返すリトライ処理を行い、リトライ処理の実行回数が予め設定された回数(例えば３回)に達してもステップ２２０でＩ＿ＲＥＡＤＹ信号がＬレベルに切り替わらない場合に、遠隔メンテナンス装置１６への通知を行うようにしてもよい。
【０１１６】
一方、Ｉ＿ＲＥＡＤＹ信号がＬレベルに切り替わっていた場合は、ステップ２２０の判定が肯定されてステップ２２２へ移行し、画像処理部６４のＦＰＧＡ７４が回路形成に使用したＦＰＧＡ構成情報のバージョンを画像処理部６４へ問い合わせる。この問い合わせに対し、画像処理部６４のＣＰＵ６８は、ＦＰＧＡ７４の内蔵レジスタに設定された、ＦＰＧＡ７４が回路形成に使用したＦＰＧＡ構成情報のバージョンを表す情報を読み込み、読み込んだバージョンをコントローラ２０のＣＰＵ２４へ通知する処理を行う。
【０１１７】
次のステップ２２４において、コントローラ２０のＣＰＵ２４は、画像処理部６４のＣＰＵ６８から通知されたバージョンが、記憶部２８等に記憶している更新用のＦＰＧＡ構成情報のバージョンに一致しているか否か判定する。ステップ２２４の判定が否定された場合はステップ２２５へ移行し、ステップ２２５において、コントローラ２０のＣＰＵ２４は、図示しない表示装置上でエラー表示を行い、ＦＰＧＡ構成情報の更新が失敗したことを通知する。ステップ２２５の処理を行うとステップ２００に戻り、ステップ２００以降の処理(画像処理部６４のＦＰＧＡ７４が使用するＦＰＧＡ構成情報を更新するための処理)を再度行う。
【０１１８】
一方、ステップ２２４の判定が肯定された場合はステップ２２６へ移行し、ステップ２２６において、コントローラ２０のＣＰＵ２４は、記憶部２８に記憶している画像処理部６４のＦＰＧＡ構成情報のバージョン管理情報を、先に画像処理部６４へ転送した更新用のＦＰＧＡ構成情報のバージョンを表す情報へ更新し、画像処理部ＦＰＧＡ構成情報更新処理を終了する。
【０１１９】
次に図１３Ａ,１３Ｂを参照し、画像処理部６４のＣＰＵ６８がＦＰＧＡ更新プログラム８４を実行することで行われるＦＰＧＡ更新処理を説明する。なお、このＦＰＧＡ更新処理は、先に説明した画像処理部ＦＰＧＡ構成情報更新処理（図１２)のステップ２００により、コントローラ２０のＣＰＵ２４から画像処理部６４へ入力されるＭＯＤＥ信号がＨレベルに切替わり、ダウンロードモードへの移行が指示されたことをトリガとして実行される。なお、このときフラッシュＲＯＭ７６の領域Ａには現行バージョンのＦＰＧＡ構成情報が、領域Ｂには旧バージョンのＦＰＧＡ構成情報が記憶されているものとする。
【０１２０】
ＦＰＧＡ更新処理のステップ２３０において、画像処理部６４のＣＰＵ６８は、ＮＶＭ８０に記憶されているＭＯＤＥフラグを１に設定する。次のステップ２３２において、画像処理部６４のＣＰＵ６８は、画像処理部ＦＰＧＡ構成情報更新処理(図１２)のステップ２０２により、コントローラ２０のＣＰＵ２４から画像処理部６４へ入力されるＲＥＳＥＴ信号が一旦Ｌレベルに切替わり、画像処理部６４のリセット(再起動)が指示されたことをトリガとして、画像処理部６４を再起動させる処理を行う。
【０１２１】
このときの画像処理部６４の再起動は、ＮＶＭ８０に記憶されているＭＯＤＥフラグ＝１になっているので、コンフィグ回路７８は、フラッシュＲＯＭ７６のＷＰ領域に記憶されている初期構成情報を読み出してＦＰＧＡ７４へ出力する(ステップ２３４)。これによりＦＰＧＡ７４は、コンフィグ回路７８から入力された初期構成情報に応じた回路を形成する。初期構成情報は、画像形成装置２２の工場出荷時に、エラーを含まずＦＰＧＡ７４に適正に回路が形成されることが確認済みのＦＰＧＡ構成情報であるので、画像処理部６４の基板の異常等が無ければ、ＦＰＧＡ７４には、正常に動作するコントローラＩ／Ｆ回路８８および画像処理回路部９０が確実に形成される。
【０１２２】
なお、ここでフラッシュＲＯＭ７６に書き込まれている旧バージョンのＦＰＧＡ構成情報のバックアップを行ってもよい。
【０１２３】
次のステップ２４０において、画像処理部６４のＣＰＵ６８は、ＦＰＧＡ７４から入力されるＣＲＣ＿ＥＲＲＯＲ信号がＨレベルのまま維持され、かつ、ＣＯＮＦ＿ＤＯＮＥ信号がＨレベルからＬレベルに切り替わったか否かに基づいて、初期構成情報に応じた回路をＦＰＧＡ７４に異常なく形成されたか否か判定する。ステップ２４０の判定が否定された場合はステップ２４８へ移行してエラー処理を行う。
【０１２４】
このエラー処理としては、例えば画像処理部６４の再起動とエラーのチェックを含むリトライ処理を繰り返し、リトライ処理の実行回数が一定回数(例えば３回)に達する前にエラー無しで再起動できた場合には正常処理(ステップ２４２以降の処理)へ移行し、リトライ処理が一定回数に達した場合は、画像処理部６４の基板の接続確認または交換、ケーブルの接続確認または交換など、状況に応じた対応作業を指示する情報を出力する処理を適用してもよい。
【０１２５】
一方、ステップ２４０の判定が肯定された場合はステップ２４２へ移行し、ステップ２４２において、画像処理部６４のＣＰＵ６８は、コントローラ２０へ送信するＩ＿ＲＥＡＤＹ信号をＨレベルからＬレベルへ切替えることで、コントローラ２０と画像処理部６４との間で通信線３５経由の通信が確立したことをコントローラ２０のＣＰＵ２４へ通知する。
【０１２６】
上記のＩ＿ＲＥＡＤＹ信号のＬレベルへの切替えにより、画像処理部ＦＰＧＡ構成情報更新処理（図１２)のステップ２０８において、コントローラ２０のＣＰＵ２４から画像処理部６４へ、画像処理部６４のＦＰＧＡ７４が使用する更新用のＦＰＧＡ構成情報が転送される。次のステップ２４４において、画像処理部６４のＣＰＵ６８は、コントローラ２０のＣＰＵ２４から転送された更新用のＦＰＧＡ構成情報をフラッシュＲＯＭ７６の領域Ｂに書き込む。
【０１２７】
ステップ２４６において、画像処理部６４のＣＰＵ６８は、フラッシュＲＯＭ７６の領域Ｂに書き込んだ更新用のＦＰＧＡ構成情報をフラッシュＲＯＭ７６の領域Ｂから読み出し、読み出した更新用のＦＰＧＡ構成情報がコントローラ２０のＣＰＵ２４から受信した更新用のＦＰＧＡ構成情報と一致しているかを比較することで、フラッシュＲＯＭ７６の領域Ｂへの更新用のＦＰＧＡ構成情報の書き込みでエラーが発生していないか否か判定する。ステップ２４６の判定が否定された場合はステップ２４８へ移行し、画像処理部６４のＣＰＵ６８は、エラー処理を行う。
【０１２８】
この場合のエラー処理としては、例えばフラッシュＲＯＭ７６の領域Ｂへ更新用のＦＰＧＡ構成情報を再度書き込むリトライ処理を繰り返し、リトライ処理の実行回数が一定回数(例えば３回)に達する前にエラー無しで書き込めた場合には正常処理(ステップ２５０以降の処理)へ移行し、リトライ処理が一定回数に達した場合は、画像処理部６４の基板の接続確認または交換、ケーブルの接続確認または交換など、状況に応じた対応作業を指示する情報を出力する処理を適用してもよい。
【０１２９】
また、ステップ２４６の判定が肯定された場合はステップ２５０へ移行し、ステップ２５０において、画像処理部６４のＣＰＵ６８は、ＮＶＭ８０に記憶されているＭＯＤＥフラグを０(通常動作)に設定し、ＦＰＧＡ ＲＥＡＤフラグを１(ＦＰＧＡ構成情報を領域Ｂから読み込み)に設定し、ＷＲＩＴＥプロテクトフラグを０(領域Ａをプロテクト)に設定する。次のステップ２５２において、画像処理部６４のＣＰＵ６８は、更新用のＦＰＧＡ構成情報の転送完了をコントローラ２０のＣＰＵ２４へ通知する。
【０１３０】
上記の転送完了通知により、画像処理部ＦＰＧＡ構成情報更新処理（図１２)のステップ２１４,２１６において、まずコントローラ２０のＣＰＵ２４から画像処理部６４へ入力されるＭＯＤＥ信号がＬレベルに切替わることで、通常モードへの移行が指示され、次いで、コントローラ２０のＣＰＵ２４から画像処理部６４へ入力されるＲＥＳＥＴ信号がＬレベルに切替わることで、画像処理部６４のリセット(再起動)が指示される。次のステップ２５４において、画像処理部６４のＣＰＵ６８は、ＲＥＳＥＴ信号がＬレベルに切替わり、画像処理部６４のリセット(再起動)が指示されたことをトリガとして、画像処理部６４を再起動させる処理を行う。
【０１３１】
このときの画像処理部６４の再起動は、ＮＶＭ８０に記憶されているＭＯＤＥフラグ＝０、ＦＰＧＡ ＲＥＡＤフラグ＝１、ＷＲＩＴＥプロテクトフラグ＝０であるので、コンフィグ回路７８は、フラッシュＲＯＭ７６のＡ領域にＷＲＩＴＥプロテクトを掛け、Ｂ領域に記憶されている更新用のＦＰＧＡ構成情報を読み出してＦＰＧＡ７４へ出力する(ステップ２５６)。これによりＦＰＧＡ７４は、コンフィグ回路７８から入力された更新用のＦＰＧＡ構成情報に応じた回路を形成する処理を行う。
【０１３２】
画像処理部６４のＣＰＵ６８は、ＦＰＧＡ７４から入力されるＣＯＮＦ＿ＤＯＮＥ信号がＨレベルからＬレベルに切り替わるとステップ２６０へ移行し、ステップ２６０において、ＦＰＧＡ７４に形成されたコントローラＩ／Ｆ回路８８経由でのコントローラ２０のＣＰＵ２４との通信が正常か否かをチェックする。次のステップ２６２において、画像処理部６４のＣＰＵ６８は、ステップ２６０における通信チェックの結果に基づいて、コントローラＩ／Ｆ回路８８経由でのコントローラ２０のＣＰＵ２４との通信が時間内に確立したか否か判定する。
【０１３３】
ステップ２６２の判定が肯定された場合はステップ２６８へ移行し、ステップ２６８において、画像処理部６４のＣＰＵ６８は、コントローラ２０へ送信するＩ＿ＲＥＡＤＹ信号をＨレベルからＬレベルへ切替える。この場合、前述したコントローラ２０のＣＰＵ２４へのＦＰＧＡ構成情報のバージョンの通知等の処理を経て、画像処理部ＦＰＧＡ構成情報更新処理(図１２)のステップ２２６において、コントローラ２０のＣＰＵ２４により、画像処理部６４のＦＰＧＡ構成情報のバージョン管理情報を更新する処理が行われる。
【０１３４】
また、次のステップ２７０において、画像処理部６４のＣＰＵ６８は、ＮＶＭ８０に記憶されているＷＲＩＴＥプロテクトフラグを１(領域Ｂをプロテクト)に設定し、ＦＰＧＡ更新処理を終了する。これにより、以後はフラッシュＲＯＭ７６の領域Ｂに書き込まれている新バージョンのＦＰＧＡ構成情報が上書き等によって破壊されることが防止される。
【０１３５】
次に、フラッシュＲＯＭ７６の領域Ｂに書き込んだ更新用のＦＰＧＡ構成情報を用いてＦＰＧＡ７４に回路を形成したものの、コントローラ２０のＣＰＵ２４との通信が時間内に確立しなかった場合(ステップ２６２の判定が否定された場合)の処理を説明する。ステップ２６２の判定が否定された場合はステップ２７２へ移行し、ステップ２７２において、画像処理部６４のＣＰＵ６８は、ＦＰＧＡ７４から出力されるＣＲＣ＿ＥＲＲＯＲ信号を読み込む。そして、次のステップ２７４において、画像処理部６４のＣＰＵ６８は、ＦＰＧＡ７４から出力されるＣＲＣ＿ＥＲＲＯＲ信号がＨレベルからＬレベルに切り替わっているか否かに基づいて、ＦＰＧＡ７４によるＦＰＧＡ構成情報に対するパリティチェックでエラーが発生したか否か判定する。
【０１３６】
ステップ２７４の判定が肯定された場合はステップ２７６へ移行し、ステップ２７６において、画像処理部６４のＣＰＵ６８は、フラッシュＲＯＭ７６の領域Ｂに書き込んだＦＰＧＡ構成情報のバージョンを取得し、後でエラー解析等の作業を行うために、取得したバージョン等の情報をログに記録し、ステップ２７８へ移行する。なお、ステップ２７４の判定が否定された場合はステップ２７６をスキップしてステップ２７８へ移行する。また、前述したステップ２６６の判定が否定された場合もステップ２７８へ移行する。
【０１３７】
ステップ２７８において、画像処理部６４のＣＰＵ６８は、ＮＶＭ８０に記憶されているＦＰＧＡ ＲＥＡＤフラグを０(ＦＰＧＡ構成情報を領域Ａから読み込み)に設定する。またステップ２８０において、画像処理部６４のＣＰＵ６８は、画像処理部６４を再起動させる処理を行う。
【０１３８】
このときの画像処理部６４の再起動は、ＮＶＭ８０に記憶されているＭＯＤＥフラグ＝０、ＦＰＧＡ ＲＥＡＤフラグ＝０、ＷＲＩＴＥプロテクトフラグ＝０であるので、コンフィグ回路７８は、フラッシュＲＯＭ７６のＡ領域にＷＲＩＴＥプロテクトを掛け、Ａ領域に記憶されている現行バージョンのＦＰＧＡ構成情報を読み出してＦＰＧＡ７４へ出力する(ステップ２８２)。これによりＦＰＧＡ７４は、コンフィグ回路７８から入力された現行バージョンのＦＰＧＡ構成情報に応じた回路を形成する処理を行う。
【０１３９】
画像処理部６４のＣＰＵ６８は、ＦＰＧＡ７４から入力されるＣＯＮＦ＿ＤＯＮＥ信号がＨレベルからＬレベルに切り替わるとステップ２８６へ移行し、ステップ２８６において、ＦＰＧＡ７４に形成されたコントローラＩ／Ｆ回路８８経由でのコントローラ２０のＣＰＵ２４との通信が正常か否かをチェックする。次のステップ２８８において、画像処理部６４のＣＰＵ６８は、ステップ２８６における通信チェックの結果に基づいて、コントローラＩ／Ｆ回路８８経由でのコントローラ２０のＣＰＵ２４との通信が時間内に確立したか否か判定する。
【０１４０】
ステップ２８８の判定が肯定された場合はステップ３００へ移行する。一方、ステップ２８８の判定が否定された場合はステップ２９０へ移行し、ステップ２９０において、画像処理部６４のＣＰＵ６８は、図示しない表示装置上でエラー表示を行い、ＦＰＧＡ構成情報の更新が失敗したことを通知し、ＦＰＧＡ更新処理を終了する。
【０１４１】
本実施形態に係るＦＰＧＡ更新処理(図１３Ａ,１３Ｂ)では、ステップ２８８の判定が肯定された場合にステップ３００へ移行する。上記場合は、画像処理部６４におけるＦＰＧＡ構成情報の更新が失敗した場合であり、ステップ３００において、画像処理部６４のＣＰＵ６８は、ＦＰＧＡ構成情報の更新失敗の原因切り分けのために、ＦＰＧＡ更新処理を今回実行している間にＦＰＧＡ構成情報に対するパリティチェックでエラーが発生していたことを表すＣＲＣエラー発生履歴が記憶されているか否か判定する。
【０１４２】
ＦＰＧＡ構成情報に対するパリティチェックでエラーが発生していた場合、ＦＰＧＡ構成情報の更新失敗の原因としては、例えばＦＰＧＡ構成情報を転送している間のエラーの混入(データ化け)等が考えられる。このため、ステップ３００の判定が肯定された場合はステップ３０２へ移行し、ステップ３０２において、画像処理部６４のＣＰＵ６８は、ＦＰＧＡ構成情報の転送エラー等を原因として更新を失敗したことをコントローラ２０経由で遠隔メンテナンス装置１６へ通知する等のエラー処理を行う。この場合、必要に応じて遠隔メンテナンス装置１６により、ＦＰＧＡ７４の回路形成に使用する更新用のＦＰＧＡ構成情報をコントローラ２０へ再配信する等の処理が行われる。
【０１４３】
また、ＦＰＧＡ構成情報に対するパリティチェックでエラーが発生していなかった場合には、ＦＰＧＡ構成情報の更新失敗の原因としては、例えば更新用のＦＰＧＡ構成情報としてエラーを含むＦＰＧＡ構成情報が作成された等が考えられる。このため、ステップ３００の判定が否定された場合はステップ３０４へ移行し、ステップ３０４において、画像処理部６４のＣＰＵ６８は、元々の更新用のＦＰＧＡ構成情報にエラーが含まれている等を原因として更新を失敗したことをコントローラ２０経由で遠隔メンテナンス装置１６へ通知する等のエラー処理を行う。この場合、必要に応じて遠隔メンテナンス装置１６のオペレータにより、配信した更新用のＦＰＧＡ構成情報のチェック等の作業が行われる。
【０１４４】
上記で説明した画像処理部ＦＰＧＡ構成情報更新処理(図１２)およびＦＰＧＡ更新処理(図１３Ａ,図１３Ｂ)は、ＦＰＧＡ７４の回路形成に使用するＦＰＧＡ構成情報が更新される都度実行され、これに伴い、フラッシュＲＯＭ７６の領域Ａ,Ｂは、一例として図１４に示すように推移する。
【０１４５】
すなわち、フラッシュＲＯＭ７６の領域Ａにバージョン1.0のＦＰＧＡ構成情報が記憶されてＷＲＩＴＥプロテクトが掛けられ、領域Ｂは空の状態(図１４に示すinitial状態)で、ＦＰＧＡ構成情報の更新が正常に行われた場合、フラッシュＲＯＭ７６の領域Ａにバージョン1.0のＦＰＧＡ構成情報が記憶され、領域Ｂにバージョン2.0のＦＰＧＡ構成情報が記憶されてＷＲＩＴＥプロテクトが掛けられ、領域ＢからＦＰＧＡ構成情報が読み出される状態(図１４に示すUpdate1状態)になる。
【０１４６】
この状態でＦＰＧＡ構成情報の更新が正常に行われた場合、フラッシュＲＯＭ７６の領域Ａにバージョン3.0のＦＰＧＡ構成情報が記憶されてＷＲＩＴＥプロテクトが掛けられ、領域Ｂにバージョン2.0のＦＰＧＡ構成情報が記憶され、領域ＡからＦＰＧＡ構成情報が読み出される状態(図１４に示すUpdate2状態)になる。
【０１４７】
この状態でＦＰＧＡ構成情報の更新が失敗し、修正したＦＰＧＡ構成情報を転送することでＦＰＧＡ構成情報の更新に成功した場合、まずＦＰＧＡ構成情報の更新が失敗した時点で、フラッシュＲＯＭ７６の領域Ａにバージョン3.0のＦＰＧＡ構成情報が記憶され、領域Ｂにバージョン4.0のＦＰＧＡ構成情報が記憶されるが、バージョン4.0のＦＰＧＡ構成情報では正常に通信ができないので、領域ＡにＷＲＩＴＥプロテクトが掛けられ、領域ＡからＦＰＧＡ構成情報が読み出される状態(図１４に示すFault1の１行目の状態)になる。そして、修正したＦＰＧＡ構成情報(バージョン4.1のＦＰＧＡ構成情報)を転送することでＦＰＧＡ構成情報の更新に成功すると、フラッシュＲＯＭ７６の領域Ａにバージョン3.0のＦＰＧＡ構成情報が記憶され、領域Ｂにバージョン4.1のＦＰＧＡ構成情報が記憶されてＷＲＩＴＥプロテクトが掛けられ、領域ＢからＦＰＧＡ構成情報が読み出される状態(図１４に示すFault1の２行目の状態)になる。
【０１４８】
この状態で更にＦＰＧＡ構成情報の更新が正常に行われた場合、フラッシュＲＯＭ７６の領域Ａにバージョン5.0のＦＰＧＡ構成情報が記憶されてＷＲＩＴＥプロテクトが掛けられ、領域Ｂにバージョン4.1のＦＰＧＡ構成情報が記憶され、領域ＢからＦＰＧＡ構成情報が読み出される状態(図１４に示すUpdate3状態)になる。
【０１４９】
上述したように、本実施形態では、画像処理部６４のフラッシュＲＯＭ７６の領域Ｂに書き込まれた更新用のＦＰＧＡ構成情報によって画像処理部６４のＦＰＧＡ７４を再構成(回路を形成)させたときに、通信線３５経由のコントローラ２０のＣＰＵ２４との通信でエラーが検出された場合、フラッシュＲＯＭ７６の領域Ａに書き込まれた現行バージョンのＦＰＧＡ構成情報によってＦＰＧＡ７４を再構成(回路を形成)させる。これにより、画像処理部６４の基板を交換する等の作業を行うことなく、画像処理部６４のＣＰＵ６８とコントローラ２０のＣＰＵ２４との通信線３５経由での通信が復旧する。
【０１５０】
なお、上記のケースにおいて、画像形成装置２２は本発明に係る電子機器の一例であり、ＦＰＧＡ７４は本発明における回路形成デバイスの一例であり、フラッシュＲＯＭ７６の領域Ｂは本発明における第１記憶部の一例であり、フラッシュＲＯＭ７６の領域Ａは本発明における第２記憶部の一例であり、画像処理部６４のＣＰＵ６８、ＮＶＭ８０およびコンフィグ回路７８は本発明における復旧制御部の一例である。
【０１５１】
また、動作が同じであるので説明を省略したが、画像処理部６４のフラッシュＲＯＭ７６の領域Ａに書き込まれた更新用のＦＰＧＡ構成情報によって画像処理部６４のＦＰＧＡ７４を再構成(回路を形成)させたときに、通信線３５経由のコントローラ２０のＣＰＵ２４との通信でエラーが検出された場合には、フラッシュＲＯＭ７６の領域Ｂに書き込まれた現行バージョンのＦＰＧＡ構成情報によってＦＰＧＡ７４を再構成(回路を形成)させる。これにより、画像処理部６４の基板を交換する等の作業を行うことなく、画像処理部６４のＣＰＵ６８とコントローラ２０のＣＰＵ２４との通信線３５経由での通信が復旧する。このケースにおいて、フラッシュＲＯＭ７６の領域Ａは本発明における第１記憶部の一例であり、フラッシュＲＯＭ７６の領域Ｂは本発明における第２記憶部の一例である。
【０１５２】
また、本実施形態では、更新用のＦＰＧＡ構成情報によってＦＰＧＡ７４を再構成(回路を形成)したときに通信線３５経由でコントローラ２０のＣＰＵ２４と正常に通信できた場合に、ＦＰＧＡ７４が回路形成に使用したＦＰＧＡ構成情報のバージョンが更新用のＦＰＧＡ構成情報のバージョンと一致しているか否か判定し、バージョンが相違していた場合に、現行のＦＰＧＡ構成情報によってＦＰＧＡ７４を再構成(回路を形成)する。これにより、ＦＰＧＡ７４が回路形成に使用したＦＰＧＡ構成情報のバージョンが更新用のＦＰＧＡ構成情報のバージョンと相違していた場合にも、これがエラーとして処理される。
【０１５３】
また、本実施形態では、フラッシュＲＯＭ７６の領域ＡにＷＲＩＴＥプロテクトが設定されている状態で、フラッシュＲＯＭ７６の領域Ｂに記憶された更新用のＦＰＧＡ構成情報によってＦＰＧＡ７４を再構成(回路を形成)したときに通信線３５経由でコントローラ２０のＣＰＵ２４と正常に通信できた場合に、フラッシュＲＯＭ７６の領域ＢにＷＲＩＴＥプロテクトを設定するので、通信線３５経由でのコントローラ２０のＣＰＵ２４との通信が確立することが確認された新バージョンのＦＰＧＡ構成状況の誤消去が防止される。
【０１５４】
更に、本実施形態では、通信線３５経由で更新用のＦＰＧＡ構成情報を受信する場合に、フラッシュＲＯＭ７６のＷＰ領域に予め書き込まれた初期構成情報によってＦＰＧＡ７４を再構成(回路を形成)するので、更新用のＦＰＧＡ構成情報の受信に成功する確率が向上する。
【０１５５】
なお、上記では、本発明における第１回路と第２回路がバージョンが異なり構成が同一の回路である場合を説明したが、本発明はこれに限定されるものではなく、第１回路と第２回路は構成が異なる回路であってもよい。
【０１５６】
また、上記では本発明における回路形成デバイスの一例としてＦＰＧＡを説明したが、本発明はこれに限定されるものではなく、ＳＰＬＤ、ＣＰＬＤ、ＤＡＰ(Digital Application Processor)／ＤＮＡ(Distributed Network Architecture)等のプログラマブル論理デバイスやその他のデバイスにも適用可能である。
【０１５７】
また、上記では、印刷システム１０のコントローラ２０および画像形成装置２２の画像処理部６４に本発明を適用した態様を説明したが、本発明はこれに限定されるものではなく、構成情報によって通信機能を含む機能を実現する回路が形成される回路形成デバイスが搭載された電子機器であれば、本発明を適用可能である。
【符号の説明】
【０１５８】
１４  画像形成システム
１６  遠隔メンテナンス装置
２０  コントローラ
２２  画像形成装置
２４  ＣＰＵ
３０  通信Ｉ／Ｆカード
３４  バス
３５  通信線
４２  ＣＰＵ
４３  通信線
４８  ＦＰＧＡ
５０  フラッシュＲＯＭ
６０  バスＩ／Ｆ回路
６４  画像処理部
６８  ＣＰＵ
７４  ＦＰＧＡ
７６  フラッシュＲＯＭ
７８  コンフィグ回路
８０  ＮＶＭ 
８８  コントローラＩ／Ｆ回路
【図１】
0006613723.tif 000004
【図２】
0006613723.tif 000005
【図３】
0006613723.tif 000006
【図４】
0006613723.tif 000007
【図５】
0006613723.tif 000008
【図６】
0006613723.tif 000009
【図７】
0006613723.tif 000010
【図８】
0006613723.tif 000011
【図９】
0006613723.tif 000012
【図１０】
0006613723.tif 000013
【図１１】
0006613723.tif 000014
【図１２】
0006613723.tif 000015
【図１３Ａ】
0006613723.tif 000016
【図１３Ｂ】
0006613723.tif 000017
【図１４】
0006613723.tif 000018