(57)【要約】【課題】より安全にプログラマブル論理回路のコンフィギュレーションを行うことができる画像処理装置を提供する。【解決手段】制御部104は、プログラマブル論理回路100に回路データを読み込むコンフィギュレーションの方式を複数の方式の中から選択する。データ伝送路切り換え部101は、制御部104が選択した方式に合わせて、回路データを伝送する複数の伝送経路の中からいずれかの伝送経路を選択する。制御部104は、プログラマブル論理回路100のコンフィギュレーション動作を監視し、第一の方式によるコンフィギュレーションに失敗した際に、第二の方式を選択する。【選択図】図１
2012133675.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブル論理回路を使用した画像処理装置であって、
前記プログラマブル論理回路に回路データを読み込むコンフィギュレーションの方式を複数の方式の中から選択し、選択した方式に合わせて、前記回路データを伝送する複数の伝送経路の中からいずれかの伝送経路を選択する経路制御部を備え、
前記経路制御部は、前記プログラマブル論理回路のコンフィギュレーション動作を監視し、第一の方式によるコンフィギュレーションに失敗した際に、第二の方式を選択することを特徴とする画像処理装置。
【請求項２】
前記第二の方式にスレーブ方式を使用することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第二の方式にシリアル方式を使用することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記第二の方式にJTAG(Joint Test Action Group)方式を使用することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記経路制御部は、前記第一の方式によるコンフィギュレーションが複数回失敗した場合に前記第二の方式を選択することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記経路制御部は、前記第一の方式によるコンフィギュレーションに失敗した場合、ユーザーに対して警告メッセージを通知する制御を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記経路制御部は、前記第一の方式によるコンフィギュレーションが、電源投入直後に実施されたのか、それとも、すでに何らかの回路データによりコンフィギュレーションが完了している状態で実施されたのかを判定する判定回路を備え、
前記第一の方式によるコンフィギュレーションが、再度のコンフィギュレーションを含めて電源投入直後に実施されて失敗した場合、前記プログラマブル論理回路を起動させずに警告メッセージを通知し、
前記プログラマブル論理回路がすでに何らかの回路データによりコンフィギュレーションされている状態で前記第一の方式によるコンフィギュレーションが実施されて失敗した場合、前記第二の方式によるコンフィギュレーションを実施する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記経路制御部は、前記第一の方式によるコンフィギュレーションが、電源投入直後に実施されたのか、それとも、すでに何らかの回路データによりコンフィギュレーションが完了している状態で実施されたのかを判定する判定回路を備え、
前記第二の方式によるコンフィギュレーションが電源投入直後に実施されて失敗した場合、前記プログラマブル論理回路を正常起動させずに警告メッセージを表示し、
前記プログラマブル論理回路がすでに何らかの回路データによりコンフィギュレーションされている状態で前記第二の方式によるコンフィギュレーションが実施されて失敗した場合、非常用の回路データを読み込むコンフィギュレーションを実施する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記非常用の回路データは、前記第一および第二の方式で用いる回路データとは異なる、必須の基本機能だけを実現する回路データであることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記非常用の回路データは、前記第一の方式によるコンフィギュレーションを実施する前に前記プログラマブル論理回路に読み込まれていた回路データと同じデータであることを特徴とする請求項８に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、FPGA(Field Programmable Gate Array)等のプログラマブル論理回路により構成され、それらのプログラマブル論理回路に回路データを読み込むコンフィギュレーションを行う画像処理装置に関する。
【背景技術】
【０００２】
FPGA等のプログラマブル論理回路は、チップ外部の記録装置に保持されている回路データ（以下、「コンフィギュレーションデータ」と呼称する）を読み込む「コンフィギュレーション」という動作により、所望の機能を実現することができる。このようなプログラマブル論理回路は、電子内視鏡等の医療用画像処理装置においても多く使用されている。高い信頼性が要求される医療機器において、正常な回路動作を保証することは非常に重要な課題である。しかし、プログラマブル論理回路に読み込ませるコンフィギュレーションデータが破損していたり、コンフィギュレーションデータを読み出す過程で何らかの障害が発生したりすると、所望の機能を得ることができなくなるという問題がある。
【０００３】
このような問題を解決する方法として、特許文献１に記載のプログラマブルロジックデバイスのコンフィギュレーション装置が開示されている。このコンフィギュレーション装置では、同じデータであるコンフィギュレーションデータ（１）〜コンフィギュレーションデータ（n）のデータセットがメモリに格納されている。コンフィギュレーション装置は、コンフィギュレーションの際、メモリから読み出したデータに対して逐次エラー検出を行う。
【０００４】
エラーが検出されると、コンフィギュレーション装置は他のコンフィギューションデータセットから対応するデータを読み出してコンフィギュレーションを行う。例えば、コンフィギュレーションデータとしてコンフィギュレーションデータ（１）を使用している場合、読み出したデータにエラーがあれば、コンフィギュレーション装置はエラーが検出されたデータに対応するデータをコンフィギュレーションデータ（２）から読み出す。なお、エラー発生位置は記憶されており、コンフィギュレーション終了後に正常なデータで上書きされる。この結果、メモリ内部のデータが何らかの要因により変化してしまった場合でも、正常なコンフィギュレーションが可能になる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２６５０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１には、メモリ内部の一部のデータの破損以外の不具合に関する記載がない。正常なコンフィギュレーションを妨げる要因としては、他にメモリ自体の故障、基板上の断線、あるいは一時的な外乱等があり、これらに対する対策も必要である。
【０００７】
本発明は、上述した課題に鑑みてなされたものであって、より安全にプログラマブル論理回路のコンフィギュレーションを行うことができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上記の課題を解決するためになされたもので、プログラマブル論理回路を使用した画像処理装置であって、前記プログラマブル論理回路に回路データを読み込むコンフィギュレーションの方式を複数の方式の中から選択し、選択した方式に合わせて、前記回路データを伝送する複数の伝送経路の中からいずれかの伝送経路を選択する経路制御部を備え、前記経路制御部は、前記プログラマブル論理回路のコンフィギュレーション動作を監視し、第一の方式によるコンフィギュレーションに失敗した際に、第二の方式を選択することを特徴とする画像処理装置である。
【０００９】
また、本発明の画像処理装置において、前記第二の方式にスレーブ方式を使用することを特徴とする。
【００１０】
また、本発明の画像処理装置において、前記第二の方式にシリアル方式を使用することを特徴とする。
【００１１】
また、本発明の画像処理装置において、前記第二の方式にJTAG(Joint Test Action Group)方式を使用することを特徴とする。
【００１２】
また、本発明の画像処理装置において、前記経路制御部は、前記第一の方式によるコンフィギュレーションが複数回失敗した場合に前記第二の方式を選択することを特徴とする。
【００１３】
また、本発明の画像処理装置において、前記経路制御部は、前記第一の方式によるコンフィギュレーションに失敗した場合、ユーザーに対して警告メッセージを通知する制御を行うことを特徴とする。
【００１４】
また、本発明の画像処理装置において、前記経路制御部は、前記第一の方式によるコンフィギュレーションが、電源投入直後に実施されたのか、それとも、すでに何らかの回路データによりコンフィギュレーションが完了している状態で実施されたのかを判定する判定回路を備え、前記第一の方式によるコンフィギュレーションが、再度のコンフィギュレーションを含めて電源投入直後に実施されて失敗した場合、前記プログラマブル論理回路を起動させずに警告メッセージを通知し、前記プログラマブル論理回路がすでに何らかの回路データによりコンフィギュレーションされている状態で前記第一の方式によるコンフィギュレーションが実施されて失敗した場合、前記第二の方式によるコンフィギュレーションを実施することを特徴とする。
【００１５】
また、本発明の画像処理装置において、前記経路制御部は、前記第一の方式によるコンフィギュレーションが、電源投入直後に実施されたのか、それとも、すでに何らかの回路データによりコンフィギュレーションが完了している状態で実施されたのかを判定する判定回路を備え、前記第二の方式によるコンフィギュレーションが電源投入直後に実施されて失敗した場合、前記プログラマブル論理回路を正常起動させずに警告メッセージを表示し、前記プログラマブル論理回路がすでに何らかの回路データによりコンフィギュレーションされている状態で前記第二の方式によるコンフィギュレーションが実施されて失敗した場合、非常用の回路データを読み込むコンフィギュレーションを実施することを特徴とする。
【００１６】
また、本発明の画像処理装置において、前記非常用の回路データは、前記第一および第二の方式で用いる回路データとは異なる、必須の基本機能だけを実現する回路データであることを特徴とする。
【００１７】
また、本発明の画像処理装置において、前記非常用の回路データは、前記第一の方式によるコンフィギュレーションを実施する前に前記プログラマブル論理回路に読み込まれていた回路データと同じデータであることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、複数のコンフィギュレーション方式および複数の回路データの伝送経路を切り換えられるようにすることによって、より安全にプログラマブル論理回路のコンフィギュレーションを行うことができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第一の実施形態による画像処理装置の構成を示すブロック図である。
【図２】本発明の第一の実施形態による画像処理装置の動作の手順を示すフローチャートである。
【図３】本発明の第一の実施形態による画像処理装置の動作の手順を示すフローチャートである。
【図４】本発明の第二の実施形態による画像処理装置の構成を示すブロック図である。
【図５】本発明の第三の実施形態による画像処理装置の構成を示すブロック図である。
【図６】本発明の第四の実施形態による画像処理装置の構成を示すブロック図である。
【図７】本発明の第五の実施形態による画像処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照し、本発明の実施形態を説明する。
【００２１】
（第一の実施形態）
まず、本発明の第一の実施形態を説明する。図1は、本実施形態による画像処理装置の構成を示している。図1に示す画像処理装置は、プログラマブル論理回路100、データ伝送路切り換え部101、専用ROM102、共用ROM103、制御部104を有する。
【００２２】
プログラマブル論理回路100は、コンフィギュレーションデータの処理内容に従い、図示しない画像信号に対して種々の画像処理を実施する。専用ROM102には、第一のコンフィギュレーション方式でプログラマブル論理回路100のコンフィギュレーションを行うためのコンフィギュレーションデータが格納されている。共用ROM103には、制御部104が使用する種々のデータとともに、第二のコンフィギュレーション方式でプログラマブル論理回路100のコンフィギュレーションを行う際に使用するデータが格納されている。
【００２３】
制御部104は、プログラマブル論理回路100のコンフィギュレーション方式を複数のコンフィギュレーション方式の中から決定するとともに、プログラマブル論理回路100に対して種々の制御信号を出力する。さらに、制御部104は、コンフィギュレーションの完了後は、システム全体の制御等、他の役割を担っている。データ伝送路切り換え部101は、専用ROM102からのコンフィギュレーションデータと、システムバス108を経由して入力される共用ROM103からのコンフィギュレーションデータの内の一方を選択してプログラマブル論理回路100のコンフィギュレーションデータ入力端子に入力する。すなわち、データ伝送路切り換え部101は、コンフィギュレーションデータの伝送経路を切り換える機能を有する。なお、データ伝送路切り換え部101は、トライステートバッファや、ワイヤードオア等の簡易な手段で実現可能である。
【００２４】
コンフィギュレーションの際、制御部104は、第一のコンフィギュレーション方式を指示する制御信号であるモード指示信号107をプログラマブル論理回路100とデータ伝送路切り換え部101に出力し、第一のコンフィギュレーション方式でのコンフィギュレーションを指示する。制御部104はプログラマブル論理回路100のコンフィギュレーション動作を監視し、コンフィギュレーションが正常に終了した場合は何もしないが、異常終了した場合には、コンフィギュレーション方式を第二のコンフィギュレーション方式に変更するモード指示信号107をプログラマブル論理回路100とデータ伝送路切り換え部101に出力し、第二のコンフィギュレーション方式でのコンフィギュレーションを指示する
【００２５】
図2は、本実施形態におけるコンフィギュレーション時の動作を示している。以下、図1、図2を用いて本実施形態の動作を説明する。
【００２６】
プログラマブル論理回路のコンフィギュレーション方式としては、大別すると、１．マスターパラレル、２．マスターシリアル、３．スレーブパラレル、４．スレーブシリアル、５．JTAG(Joint Test Action Group)がある。マスター方式は、プログラマブル論理回路が自発的に外部記憶装置からコンフィギュレーションデータを取得する方式であり、スレーブ方式はプログラマブル論理回路に外部機器がコンフィギュレーションデータを入力する方式である。パラレル方式は、コンフィギュレーションデータを多ビットの信号として供給する方式であり、シリアル方式は、コンフィギュレーションデータを１ビットの信号として供給する方式である。
【００２７】
本実施形態においては、第一のコンフィギュレーション方式を「マスターパラレル」とし、第二のコンフィギュレーション方式を「スレーブパラレル」とする。
【００２８】
電源投入直後等に行われるコンフィギュレーションの実行に先立ち、制御部104は、コンフィギュレーション方式を「マスターパラレル」とし、データ伝送路切り換え部101とプログラマブル論理回路100にモード指示信号107を出力する。データ伝送路切り換え部101は、モード指示信号107に基づいて、プログラマブル論理回路100に供給するコンフィギュレーションデータを専用ROM102からのデータとする。
【００２９】
コンフィギュレーションが開始されると（ステップS100）、制御部104はプログラマブル論理回路100のコンフィギュレーションステータス信号106を参照し、コンフィギュレーションが正常に終了したか否かを確認する（ステップS101）。正常終了が確認できた場合、通常動作に移行する。正常終了が確認できない場合、制御部104は、再度、第一のコンフィギュレーション方式でのコンフィギュレーションを指示する。以降、正常終了を確認するか、所定の回数を実行するまで、上記の工程が繰り返される（ステップS102）。なお、マスターパラレル方式でのコンフィギュレーションでは、電源投入時等にプログラマブル論理回路100が自発的にコンフィギュレーションを開始するが、制御部104からのコンフィギュレーション制御信号105によりプログラマブル論理回路100にコンフィギュレーションを開始させることも可能である。
【００３０】
なお、コンフィギュレーションに要する時間は自明であるため、例えば、コンフィギュレーションの開始から所定の時間を経過してもコンフィギュレーションが完了しない場合には、何らかの異常が発生したと考えることができる。制御部104がCPUにより実現されている場合は、タイマーの機能を使用すれば異常の有無を簡単に判別することができる。
【００３１】
正常なコンフィギュレーションを阻害する要因として、ROMの故障や信号線の断線のような物理的な故障のほかに、外乱等による電気的な障害も考えられる。なお、外乱等による異常は恒常的なものではなく、しばらくした後に解消される可能性が高い。一方、後述の第二のコンフィギュレーション方式は、第一のコンフィギュレーション方式と比較するとコンフィギュレーション時間が長くかかるため、積極的な使用は控えたい。１回の失敗だけですぐに第二のコンフィギュレーション方式に切り換えないようにすることで、外乱等による一時的なコンフィギュレーションの異常に過敏に反応してコンフィギュレーション時間が不必要に長時間化することを防止することができる。
【００３２】
第一のコンフィギュレーション方式でのコンフィギュレーションを所定回繰り返しても正常なコンフィギュレーションの終了が確認できない場合、制御部104はコンフィギュレーション方式を「スレーブパラレル」に変更し、データ伝送路切り換え部101およびプログラマブル論理回路100にモード指示信号107を出力する。データ伝送路切り換え部101は、モード指示信号107に基づいて、プログラマブル論理回路100に供給するコンフィギュレーションデータを、専用ROM102からのデータから、共用ROM103からのデータに切り替える。
【００３３】
スレーブ方式では、プログラマブル論理回路に対して制御信号を入力する必要がある。このため、制御部104は、共用ROM103からのコンフィギュレーションデータの読み出しと並行して、コンフィギュレーション制御信号105をプログラマブル論理回路100に出力することで、スレーブパラレルでのコンフィギュレーションを実施する（ステップS103）。
【００３４】
制御部104は、コンフィギュレーションステータス信号106に基づいてプログラマブル論理回路100のコンフィギュレーション状態を監視し、コンフィギュレーションが正常に終了したか否かを確認する（ステップS104）。正常終了を確認した場合、制御部104は、ユーザーに対して点検を促す警告メッセージを出力する（ステップS105）。どのコンフィギュレーション方式を用いたとしても、最終的に所望の機能が得られていれば、ユーザーからは正常に動作しているように見える。しかし、第一のコンフィギュレーション方式でのコンフィギュレーションに失敗している、という状況は好ましくなく、即刻何らかの対策を講じるべきである。そこで、第一のコンフィギュレーション方式でのコンフィギュレーションに失敗した段階でユーザーに警告することで、今後に不具合が発生する可能性を低下させることができる。
【００３５】
警告メッセージは、図示しないモニターや装置上のユーザーインターフェース等を介してユーザーに告知される。なお、警告メッセージを出力するきっかけとなる制御信号は制御部104によって生成されるが、実際のユーザーに対する告知については、図示しない別の機能が担当してもよい。ステップS104の確認により正常なコンフィギュレーションの完了が確認できない場合は、コンフィギュレーションを実行した状況に応じて動作が変わる。
【００３６】
コンフィギュレーションを実施するタイミングには、１．起動時、２．起動後のプログラマブル論理回路の機能変更時、の２つがある。起動時に問題が発生した場合、装置を使用し続けることによる不具合を未然に防ぐためには、装置そのものをユーザーに使用させないことが望ましい。一方、すでに装置が起動している状態においては、装置の動作を突然停止してしまうことが不具合となりうる。特に、電子内視鏡による観察中に画像表示を止めてしまうことは望ましくない。
【００３７】
そこで、制御部104は、コンフィギュレーションが行われたときの状況が起動時であるか動作中であるかを判定し（ステップS107）、判定結果に応じて異なる制御を行う。起動時にコンフィギュレーションが行われたのであれば、制御部104は、ユーザーに対して点検および修理を促す警告メッセージを出力したのち、起動を停止する（ステップS106）。
【００３８】
一方、起動後の動作中にコンフィギュレーションが行われたのであれば、制御部104は、ユーザーに対して点検および修理を促す警告メッセージを出力したのち（ステップS109）、緊急用（非常用）のコンフィギュレーションを実施し、システムを安全な状態に移行させる（ステップS108）。なお、動作中のコンフィギュレーションの実施は、必須の基本的な画像処理を維持しつつ、新たな画像処理を追加するために行われるものであるとし、コンフィギュレーション動作中も通常の画像表示が維持されているものとする。
【００３９】
制御部104には、コンフィギュレーションが行われた状況を監視する判定回路（図示せず）があり、コンフィギュレーションが行われたときの状況が電源投入直後の起動時であるか動作中であるかをこの判定回路が判定する。この判定は、例えばコンフィギュレーションが正常終了したことを示すフラグに基づいて行われる。プログラマブル論理回路100からのコンフィギュレーションステータス信号106が正常終了を示している場合、制御部104は正常終了のフラグを立てる。
【００４０】
これ以降、プログラマブル論理回路100の機能変更のために図2に従って再コンフィギュレーションが行われる場合、ステップS107では動作中であると判定される。一方、起動時に図2に従って再コンフィギュレーションが行われる場合、ステップS107では正常終了のフラグが立っていないため、起動時であると判定される。
【００４１】
緊急用のコンフィギュレーションの一例として、１．元のコンフィギュレーションに戻す、２．最低限の処理を行う簡易なコンフィギュレーションにする、等が考えられる。何らかの要因により、新しいデータによるコンフィギュレーションができないとしても、それまで動作していたコンフィギュレーションであれば動作する可能性がある。元のコンフィギュレーションデータが設定できれば、とりあえずは異常な状態から回避でき、ユーザーが適切な行動を取れるようになる。
【００４２】
プログラマブル論理回路の一部の論理素子が物理的に破損しており、その論理素子を使用することができない、という問題が発生しているとすると、その論理素子さえ使用しなければ動作する可能性がある。よって、最低限の機能を有する小規模回路であれば、コンフィギュレーションにより実装できる可能性がある。この場合も最低限の機能を維持することで、ユーザーによる適切な行動が可能となる。なお、緊急用のコンフィギュレーションの方式は、第一のコンフィギュレーション方式、第二のコンフィギュレーション方式のどちらでもよい。
【００４３】
なお、図2では第二のコンフィギュレーション方式によるコンフィギュレーション（ステップS103）および緊急用コンフィギュレーション（ステップS108）をそれぞれ１回しか行っていないが、当然、これらのコンフィギュレーションを複数回実施してもよい。
【００４４】
制御部104は、CPU等により実現可能であり、モード指示信号107やコンフィギュレーション制御信号105は、汎用ポートを活用して生成すればよい。当然、制御部104を専用回路により実現することも可能である。
【００４５】
なお、図2に示した処理を図3のようにしてもよい。図3では、第二のコンフィギュレーション方式でのコンフィギュレーション（ステップS103）よりも前に、起動時か動作中かの判定（ステップS107）を行っている。図3に示す処理に従えば、起動時にコンフィギュレーションに失敗した場合、装置は起動しない。図2に示す処理と比較すると、起動させない判断基準がより厳しくなっている。
【００４６】
本実施形態により、マスターパラレルによるコンフィギュレーションに失敗しても、スレーブパラレルによるコンフィギュレーションを実行することで、プログラマブル論理回路に所定の処理を実施させることができる。本実施形態にように複数のコンフィグレーション方式および複数のコンフィギュレーションデータの伝送経路を切り換えられるようにすることによって、より安全にプログラマブル論理回路のコンフィギュレーションを行うことができる。特に、コンフィギュレーションデータの伝送経路を変えることにより、基板上の断線等に対応することができる。また、伝送経路の変更と合わせてコンフィギュレーションデータの供給元も変更することで、コンフィギュレーションデータを保持する記録装置の不具合にも対応することができる。
【００４７】
スレーブパラレルによるコンフィギュレーションは、非常用のバックアップ機能であり、そのためのコストは少ないほどよい。本実施形態では、制御部104からアクセス可能な既存のROMである共用ROM103にバックアップ用のコンフィギュレーションデータを保持するようにしたため、バックアップ機能のための専用ROMを追加する必要はない。よって、追加コストの発生を抑えることができる。
【００４８】
コンフィギュレーションに失敗する要因としては、一時的な電気的ノイズによる外乱の影響も考えられる。この場合、再度コンフィギュレーションを実行すれば成功する可能性が高い。一方、第二のコンフィギュレーション方式は、第一のコンフィギュレーション方式と比較してコンフィギュレーション時間が長くかかるため、極力使用したくない。本実施形態では、１回の失敗ではコンフィギュレーション方式を切り換えずに、しばらく繰り返してから切り替えることで、コンフィギュレーション時間が不必要に長時間化することを防止することができる。
【００４９】
第二のコンフィギュレーション方式によるコンフィギュレーションに成功したとしても、第一のコンフィギュレーション方式によるコンフィギュレーションに失敗したという事態は放置してよい状況ではない。本実施形態では、第一のコンフィギュレーション方式でのコンフィギュレーションに失敗した場合、結果の如何を問わず、ユーザーに対して点検を促す警告を出力することで、不具合の発生を未然に防ぐことができる。
【００５０】
また、図2に示した処理では、制御部104は、第二のコンフィギュレーション方式によるコンフィギュレーションに失敗した際の判定の結果、コンフィギュレーションが行われたのが起動時であった場合には、警告メッセージを表示して正常起動はさせず、ユーザーに使用させないようにしている。また、第二のコンフィギュレーション方式によるコンフィギュレーションに失敗した際の判定の結果、何らかのデータですでにコンフィギュレーションされた状態であれば、制御部104は動作中の故障と判断し、非常用のコンフィギュレーションデータによるコンフィギュレーションを行って、継続して画像出力を確保できるように制御している。このため、起動時に故障が発生したとしても、回避策により装置を起動できるようになる。
【００５１】
また、図3に示した処理では、制御部104は電源投入直後からコンフィギュレーションの実施を記録し、第一のコンフィギュレーション方式によるコンフィギュレーションに失敗した際、そのコンフィギュレーションがリトライを含めて電源投入直後の起動時に実施されたものか、それともすでに何らかのデータでコンフィギュレーションされた状態で実施されたものかを判定している。第一のコンフィギュレーション方式によるコンフィギュレーションに失敗した際の判定の結果、起動時にコンフィギュレーションが実施されていた場合には、制御部104は警告メッセージを表示して正常起動はさせず、ユーザーに使用させないようにする。また、第一のコンフィギュレーション方式によるコンフィギュレーションに失敗した際の判定の結果、何らかのデータですでにコンフィギュレーションされた状態であれば、制御部104は動作中の故障と判断し、第二のコンフィギューション方式でコンフィギュレーションを実施して、継続して画像出力を確保できるように制御する。このため、起動時に故障が判明すれば、ユーザーが故障したままで使い続けることを防止することができ、検査中に故障が発生した場合は画像出力を継続することができる。
【００５２】
また、本実施形態では、第一、第二のコンフィギュレーション方式でのコンフィギュレーションに失敗した場合、モニターに撮像画像を表示するために必要な最低限の機能のみに留めた回路となるように緊急用のコンフィグレーションが行われている。第一のコンフィギュレーション方式でのコンフィギュレーションの失敗が、プログラマブル論理デバイス内部の故障によるものであった場合でも、プログラマブル論理デバイス内部の素子の使用率が少ない小さな回路であれば問題なく動作可能になる可能性がある。また、基本機能しか動作しないため、ユーザーが故障したままで使い続けることを防止することもできる。
【００５３】
また、本実施形態では、第一、第二のコンフィギュレーション方式でのコンフィギュレーションに失敗した場合、コンフィギュレーションに失敗する前に正常動作していた元のコンフィギュレーションデータでコンフィギュレーションを行うことも可能である。新しいコンフィギュレーションデータでのコンフィギュレーションに失敗した場合でも、元のコンフィギュレーションデータであれば正常動作する可能性がある。
【００５４】
（第二の実施形態）
次に、本発明の第二の実施形態を説明する。図4は、本実施形態による画像処理装置の構成を示している。図4において、図1に示した構成と同一機能を有するものに関しては、同一符号を付与するとともに、説明を省略する。図4では、図1に示した制御部104の代わりに制御部201が設けられ、データ伝送路切り換え部101の代わりにデータ伝送路切り換え部202が設けられている。本実施形態では、第一のコンフィギュレーション方式をマスターパラレル、第二のコンフィギュレーション方式をスレーブシリアルとする。
【００５５】
第一のコンフィギュレーション方式（マスターパラレル）でのコンフィギュレーションに失敗すると、制御部201は、コンフィギュレーション方式をスレーブシリアルに変更し、モード指示信号107を出力する。これを受けて、データ伝送路切り換え部202は、プログラマブル論理回路100に供給するコンフィギュレーションデータを共用ROM103からの１ビットのシリアルデータ200に切り替える。
【００５６】
ただし、専用ROM102のデータ出力はパラレル信号であるため、切り替えるのはその内の１ビットだけでよい。よって、図4のように、必ずしも専用ROM102からのコンフィギュレーションデータのすべてをデータ伝送路切り換え部202の内部に通さなくてもよい。なお、プログラマブル論理回路100にシリアル入力専用の端子が存在する場合は、データ伝送路切り換え部202は不要である。
【００５７】
制御部201は、共用ROM103からコンフィギュレーションデータを読み出すと、パラレル/シリアル変換を実行し、シリアルデータを生成する。生成されたシリアルデータは、制御部201が生成するコンフィギュレーション制御信号105と同期してシリアルデータ200として出力される。プログラマブル論理回路100は、このシリアルデータ200を用いてコンフィギュレーションを実施する。
【００５８】
制御部201をCPUで実現する場合、汎用ポートを活用してシリアルデータ200を出力すればよい。また、第一の実施形態と同様、専用回路により制御部201を実現してもよい。
【００５９】
シリアル方式は、パラレル方式と比較するとデータ転送能力が劣りコンフィギュレーションに時間を要するものの、必要な信号線の数が圧倒的に少ない。従って、本実施形態では、シリアル方式によるコンフィギュレーションの機能を実現するために必要なプログラマブル論理回路の端子を少なく抑えることができる。また、基板の配線コストが少なくて済むので、基板作製のコストを低減することができる。さらに、断線故障が影響する確率が低くなる。
【００６０】
（第三の実施形態）
次に、本発明の第三の実施形態を説明する。図5は、本実施形態による画像処理装置の構成を示している。図5において、図1、図3、図4に示した構成と同一機能を有するものに関しては、同一符号を付与するとともに、説明を省略する。図5では、図1に示した制御部104の代わりに制御部301が設けられ、データ伝送路切り換え部101は設けられていない。本実施形態では、第一のコンフィギュレーション方式をマスターパラレルとし、第二のコンフィギュレーション方式をJTAG方式とする。
【００６１】
第一のコンフィギュレーション方式（マスターパラレル）でのコンフィギュレーションに失敗すると、制御部301は、コンフィギュレーション方式をJTAGに変更する。なお、一般的にプログラマブル論理回路において、JTAGの端子は専用端子であるため、データ伝送路切り換え部は不要である。さらに、JTAGは、設定されるコンフィギュレーションのモードに関わらず最優先で実施されるコンフィギュレーション方式であり、モード設定も不要である。よって、制御部301はモード指示信号もコンフィギュレーション制御信号も出力しない。
【００６２】
制御部301は、共用ROM103からコンフィギュレーションデータを読み出すと、パラレル/シリアル変換を実行し、シリアルデータを生成する。生成されたシリアルデータは、他の制御信号と合わせてJTAG信号300としてプログラマブル論理回路100のJTAG端子に出力され、プログラマブル論理回路100に入力される。
【００６３】
制御部301をCPUで実現する場合、汎用ポートを活用してJTAG信号300を出力すればよい。また、他の実施形態と同様、専用回路により制御部301を実現してもよい。
【００６４】
プログラマブル論理回路には、主に試作検討段階で使用するため、JTAG規格信号で内部回路をコンフィギュレーションするためのポートが備えられている。JTAGに必要な信号は5本だけであり、本実施形態では、実装コストを抑えることができる。また、プログラマブル論理回路にデータを供給する入力端子も、第一のコンフィギュレーション方式で使用する入力端子とは異なっているため、第一のコンフィギュレーション方式で使用するデータ系列が完全に断線していても対応可能である。また、データ伝送路切り換え部をなくすことも可能であり、実装コストをより低減することができる。
【００６５】
（第四の実施形態）
次に、本発明の第四の実施形態を説明する。図6は、本実施形態による画像処理装置構成を示している。図6において、図1、図3、図4、図5に示した構成と同一機能を有するものに関しては、同一符号を付与するとともに、説明を省略する。図6では、図1に示した制御部104の代わりに制御部400が設けられ、データ伝送路切り換え部101の代わりにデータ伝送路切り換え部401が設けられ、専用ROM102が設けられていない。本実施形態では、第一のコンフィギュレーション方式をスレーブパラレルとし、第二のコンフィギュレーション方式をスレーブシリアル方式とする。
【００６６】
スレーブパラレル方式でのコンフィギュレーションは、次のようになる。制御部400は、モード指示信号107をデータ伝送路切り換え部401とプログラマブル論理回路100に出力してモードの設定を行った後、共用ROM103からコンフィギュレーションデータを読み出すとともに、コンフィギュレーション制御信号105を生成してプログラマブル論理回路100に出力する。データ伝送路切り換え部401は、システムバス108を経由して入力される共用ROM103からのコンフィギュレーションデータをプログラマブル論理回路100に出力する。プログラマブル論理回路100は、データ伝送路切り換え部401が選択した共用ROM103からのコンフィギュレーションデータとコンフィギュレーション制御信号105によりコンフィギュレーションされる。
【００６７】
制御部400は、第一のコンフィギュレーション方式（スレーブパラレル）でのコンフィギュレーションに失敗すると、コンフィギュレーション方式をスレーブシリアルに変更し、モード指示信号107を出力する。その後、制御部400は、共用ROM103からコンフィギュレーションデータを読み出すとともにパラレル・シリアル変換を実行し、実行結果をシリアルデータ402としてデータ伝送路切り換え部401に出力するとともに、コンフィギュレーション制御信号105を生成し、プログラマブル論理回路100に出力する。プログラマブル論理回路100は、シリアルデータ402とコンフィギュレーション制御信号105によりコンフィギュレーションされる。
【００６８】
本実施形態では、コンフィギュレーションデータの供給元が同一のROMであるため、ROM自体の破損に対しては対応できないが、基板上の断線に対しては対応可能である。起動後の機能変更をマスター方式で実行するのは困難であり、その場合はスレーブ方式が使用される。本実施形態は、起動後の機能変更におけるバックアップ機能として有効である。
【００６９】
当然、共用ROM103以外の記憶部を設け、第二のコンフィギュレーション方式（スレーブシリアル）用のデータをこの記憶部に保持してもよい。その場合、前述のROM自体の不具合に関しても対応可能となる。
【００７０】
（第五の実施形態）
次に、本発明の第五の実施形態を説明する。図7は、本実施形態による画像処理装置の構成を示している。図7において、図1、図3、図4、図5、図6に示した構成と同一機能を有するものに関しては、同一符号を付与するとともに、説明を省略する。図7では、図1に示した制御部104の代わりに制御部500が設けられ、データ伝送路切り換え部101および専用ROM102が設けられていない。本実施形態では、第一のコンフィギュレーション方式をスレーブパラレルとし、第二のコンフィギュレーション方式をJTAG方式とする。
【００７１】
第一のコンフィギュレーション方式（スレーブパラレル）によるコンフィギュレーションでは、プログラマブル論理回路100は共用ROM103からのコンフィギュレーションデータとコンフィギュレーション制御信号105によりコンフィギュレーションされる。制御部500は、スレーブパラレルでのコンフィギュレーションに失敗すると、共用ROM103からのコンフィギュレーションデータをパラレル・シリアル変換し、他の制御信号とともにJTAG信号501としてプログラマブル論理回路100のJTAG端子に出力する。プログラマブル論理回路100は、JTAG信号501によりコンフィギュレーションされる。
【００７２】
本実施形態は、第四の実施形態と同様に、起動後の機能変更に対するバックアップとして有効である。こちらも、コスト面での問題がなければ専用ROMを追加することで、より安全性が向上する。
【００７３】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【００７４】
100・・・プログラマブル論理回路、101，202，401・・・データ伝送路切り換え部（経路制御部）、102・・・専用ROM、103・・・共用ROM、104，201，301，400，500・・・制御部（経路制御部）
【図１】
2012133675.tif 000003
【図２】
2012133675.tif 000004
【図３】
2012133675.tif 000005
【図４】
2012133675.tif 000006
【図５】
2012133675.tif 000007
【図６】
2012133675.tif 000008
【図７】
2012133675.tif 000009