(57)【要約】  この制御装置（１００）は、フィールドプログラマブルゲートアレイ（３３）と、フィールドプログラマブルゲートアレイのコンフィグレーション情報が記憶される揮発性メモリ（３２）とを含む信号処理モジュール（３０、３０ａ）を備える。フィールドプログラマブルゲートアレイは、コンフィグレーション後においても揮発性メモリにアクセス可能なように構成されている。
2013128578.tif 000002
【特許請求の範囲】
【請求項１】
フィールドプログラマブルゲートアレイ（３３）と、前記フィールドプログラマブルゲートアレイのコンフィグレーション情報（２３１ａ、２３１ｂ、２３１ｃ、２３１ｄ、２３１ｅ）が記憶される揮発性メモリ（３２）とを含む信号処理モジュール（３０、３０ａ、３０ｂ、３０ｃ、３０ｄ、３０ｅ）を備え、
前記フィールドプログラマブルゲートアレイは、コンフィグレーション後においても前記揮発性メモリにアクセス可能なように構成されている、制御装置（１００、１０１、１０２、１０３、１０４）。
【請求項２】
前記フィールドプログラマブルゲートアレイは、前記揮発性メモリに記憶された前記コンフィグレーション情報に基づいてコンフィグレーションが行われることにより、前記信号処理モジュールの演算処理部（３３ａ、３３ｂ、３３ｃ、３３ｄ、３３ｅ）として機能するように構成されており、
前記揮発性メモリは、前記演算処理部の動作プログラム（２３２ａ、２３２ｂ、２３２ｃ、２３２ｄ、２３２ｅ）も記憶されるように構成されており、
前記演算処理部は、前記揮発性メモリに記憶された前記動作プログラムに基づいて動作するように構成されている、請求項１に記載の制御装置。
【請求項３】
前記揮発性メモリは、前記演算処理部の作業用メモリとして用いられるように構成されている、請求項２に記載の制御装置。
【請求項４】
ＣＰＵ（２１）を含む制御モジュール（２０）をさらに備え、
前記揮発性メモリは、前記ＣＰＵからもアクセス可能なように構成されている、請求項１〜３のいずれか１項に記載の制御装置。
【請求項５】
前記信号処理モジュールは、前記揮発性メモリへのアクセスを制御するアクセス制御部（３４）をさらに含む、請求項１〜４のいずれか１項に記載の制御装置。
【請求項６】
前記アクセス制御部は、前記揮発性メモリに接続されたバス（３６ｂ）の使用権の競合を調停することにより、前記揮発性メモリへのアクセスを制御するように構成されている、請求項５に記載の制御装置。
【請求項７】
ＣＰＵ（２１）を含む制御モジュール（２０）をさらに備え、
前記フィールドプログラマブルゲートアレイのコンフィグレーションは、前記制御モジュールの自己診断と並行して行われるように構成されている、請求項１〜６のいずれか１項に記載の制御装置。
【請求項８】
前記信号処理モジュールは、複数設けられており、
複数の前記信号処理モジュールの各々の前記フィールドプログラマブルゲートアレイのコンフィグレーションは、前記制御モジュールの自己診断と並行して行われるように構成されている、請求項７に記載の制御装置。
【請求項９】
前記フィールドプログラマブルゲートアレイは、前記揮発性メモリに記憶された前記コンフィグレーション情報に基づいてコンフィグレーションが行われることにより、前記信号処理モジュールの演算処理部（３３ａ、３３ｄ）として機能するように構成されており、
前記信号処理モジュールは、前記信号処理モジュールに接続される外部入力装置（２００、５００）が、前記演算処理部を介さずに、前記揮発性メモリにアクセス可能にするためのダイレクトメモリアクセス制御部（３５）をさらに含む、請求項１〜８のいずれか１項に記載の制御装置。
【請求項１０】
前記揮発性メモリは、前記信号処理モジュールに接続される外部入力装置（２００、３０２、３０３、４００、５００）から入力されるデータも記憶されるように構成されている、請求項１〜９のいずれか１項に記載の制御装置。
【請求項１１】
前記フィールドプログラマブルゲートアレイは、ＳＲＡＭ方式のフィールドプログラマブルゲートアレイである、請求項１〜１０のいずれか１項に記載の制御装置。
【請求項１２】
ＣＰＵ（２１）を含む制御モジュール（２０）と、フィールドプログラマブルゲートアレイ（３３）および揮発性メモリ（３２）を含む信号処理モジュール（３０、３０ａ、３０ｂ、３０ｃ、３０ｄ、３０ｅ）とを備えた制御装置（１００、１０１、１０２、１０３、１０４）の制御方法であって、
前記フィールドプログラマブルゲートアレイのコンフィグレーション情報（２３１ａ、２３１ｂ、２３１ｃ、２３１ｄ、２３１ｅ）を前記制御モジュールから取得して前記揮発性メモリに記憶するステップと、
前記揮発性メモリに記憶された前記コンフィグレーション情報に基づいてコンフィグレーションを行うことにより、前記フィールドプログラマブルゲートアレイを前記信号処理モジュールの演算処理部（３３ａ、３３ｂ、３３ｃ、３３ｄ、３３ｅ）として機能させるステップと、
前記演算処理部から前記揮発性メモリへのアクセスを可能にして前記演算処理部により演算処理を行うステップとを備えた、制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御装置および制御装置の設定方法に関し、特に、フィールドプログラマブルゲートアレイを含む信号処理モジュールを備えた制御装置および制御装置の制御方法に関する。
【背景技術】
【０００２】
従来、フィールドプログラマブルゲートアレイを含む信号処理モジュールを備えた制御装置が知られている。このような制御装置は、たとえば、特開２０００−１０５７５９号公報に開示されている。【０００３】
上記特開２０００−１０５７５９号公報には、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）と、ＦＰＧＡをＣＰＵコア（演算処理部）としてプログラムするためのロジックデータ（コンフィグレーション情報）が記憶された不揮発性のＰＲＯＭ（プログラマブルリードオンリーメモリ）とを備えた集積回路が開示されている。このような集積回路は、制御装置の信号処理モジュールなどに用いられる。なお、一般に、ＦＰＧＡを所望の機能を有する回路としてプログラムすることを、コンフィグレーションという。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１０５７５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特開２０００−１０５７５９号公報に開示された集積回路では、コンフィグレーション後のＦＰＧＡ（フィールドプログラマブルゲートアレイ）をＣＰＵコア（演算処理部）として動作させるために、ＣＰＵコアの動作プログラムなどを含む種々のデータを記憶するためのメモリを、ＦＰＧＡのコンフィグレーションに用いるロジックデータ（コンフィグレーション情報）が記憶される不揮発性のＰＲＯＭとは別個に設ける必要があると考えられる。このため、装置（集積回路を用いた信号処理モジュール）が大型化するという問題点がある。【０００６】
この発明は、上記のような課題を解決するためになされたものであり、この発明の１つの目的は、装置の小型化を図ることが可能な制御装置および制御装置の制御方法を提供することである。
【課題を解決するための手段】
【０００７】
第１の局面による制御装置は、フィールドプログラマブルゲートアレイと、フィールドプログラマブルゲートアレイのコンフィグレーション情報が記憶される揮発性メモリとを含む信号処理モジュールを備え、フィールドプログラマブルゲートアレイは、コンフィグレーション後においても揮発性メモリにアクセス可能なように構成されている。【０００８】
第１の局面による制御装置では、上記のように、制御装置の信号処理モジュールに、フィールドプログラマブルゲートアレイのコンフィグレーション情報が記憶される揮発性メモリを設け、フィールドプログラマブルゲートアレイを、コンフィグレーション後においても揮発性メモリにアクセス可能なように構成する。これにより、フィールドプログラマブルゲートアレイのコンフィグレーション情報が記憶される揮発性メモリを、コンフィグレーション後のフィールドプログラマブルゲートアレイが動作する際に用いられる種々のデータを記憶するためのメモリとしても用いることができる。その結果、コンフィグレーション後のフィールドプログラマブルゲートアレイが動作する際に用いられる種々のデータを記憶するためのメモリを、フィールドプログラマブルゲートアレイのコンフィグレーション情報が記憶されるメモリとは別個に設ける必要がないので、その分、装置の小型化を図ることができる。【０００９】
第２の局面による制御装置の制御方法は、制御モジュールと、フィールドプログラマブルゲートアレイおよび揮発性メモリを含む信号処理モジュールとを備えた制御装置の制御方法であって、フィールドプログラマブルゲートアレイのコンフィグレーション情報を制御モジュールから取得して揮発性メモリに記憶するステップと、揮発性メモリに記憶されたコンフィグレーション情報に基づいてコンフィグレーションを行うことにより、フィールドプログラマブルゲートアレイを信号処理モジュールの演算処理部として機能させるステップと、演算処理部から揮発性メモリへのアクセスを可能にして演算処理部により演算処理を行うステップとを備える。【００１０】
第２の局面による制御装置の制御方法では、上記のように、信号処理モジュールの揮発性メモリに記憶されたコンフィグレーション情報に基づいてコンフィグレーションを行うことにより、フィールドプログラマブルゲートアレイを信号処理モジュールの演算処理部として機能させるステップと、演算処理部から揮発性メモリへのアクセスを可能にして演算処理部により演算処理を行うステップとを備える。これにより、フィールドプログラマブルゲートアレイのコンフィグレーション情報が記憶される揮発性メモリを、コンフィグレーション後のフィールドプログラマブルゲートアレイが演算処理部として動作する際に用いられる種々のデータを記憶するためのメモリとしても用いることができる。その結果、コンフィグレーション後のフィールドプログラマブルゲートアレイが演算処理部として動作する際に用いられる種々のデータを記憶するためのメモリを、フィールドプログラマブルゲートアレイのコンフィグレーション情報が記憶されるメモリとは別個に設ける必要がないので、その分、装置の小型化を図ることが可能な制御装置の制御方法を提供することができる。
【発明の効果】
【００１１】
上記制御装置および制御装置の制御方法によれば、装置の小型化を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態によるＰＬＣ（プログラマブルロジックコントローラ）の全体構成を示したブロック図である。
【図２】第１実施形態によるＰＬＣのＣＰＵモジュールおよび信号処理モジュールの具体的な構成を示したブロック図である。
【図３】第１実施形態によるＰＬＣの電源投入時において信号処理モジュールのＦＰＧＡ（フィールドプログラマブルゲートアレイ）のコンフィグレーションが行われる際におけるＣＰＵモジュール側の処理フローを示したフローチャートである。
【図４】第１実施形態によるＰＬＣの電源投入時において信号処理モジュールのＦＰＧＡのコンフィグレーションが行われる際における信号処理モジュール（画像処理モジュール）側の処理フローを示したフローチャートである。
【図５】第２実施形態によるＰＬＣのＣＰＵモジュールおよび信号処理モジュールの具体的な構成を示したブロック図である。
【図６】第１実施形態の第１変形例によるＰＬＣのＣＰＵモジュールおよび信号処理モジュールの具体的な構成を示したブロック図である。
【図７】第１実施形態の第２変形例によるＰＬＣのＣＰＵモジュールおよび信号処理モジュールの具体的な構成を示したブロック図である。
【図８】第１実施形態の第３変形例によるＰＬＣのＣＰＵモジュールおよび信号処理モジュールの具体的な構成を示したブロック図である。
【発明を実施するための形態】
【００１３】
以下、実施形態を図面に基づいて説明する。
【００１４】
（第１実施形態）
まず、図１および図２を参照して、第１実施形態によるＰＬＣ（プログラマブルロジックコントローラ）１００の構成について説明する。なお、ＰＬＣ１００は、「制御装置」の一例である。
【００１５】
図１に示すように、ＰＬＣ１００は、ＰＬＣ１００全体に電源を供給するための電源モジュール１０と、ＰＬＣ１００全体の制御を行うためのＣＰＵモジュール２０と、電源モジュール１０およびＣＰＵモジュール２０に接続された複数の信号処理モジュール３０とを備えている。なお、ＣＰＵモジュール２０は、「制御モジュール」の一例である。
【００１６】
複数の信号処理モジュール３０は、それぞれ、種々の外部入力装置（たとえば、図２に示すカメラ２００）を接続可能なように構成されており、これら種々の外部入力装置から入力される種々の信号（たとえば、カメラ２００から入力される画像データ）に対応する種々の信号処理（たとえば、画像処理）を行うことが可能なように構成されている。なお、複数の信号処理モジュール３０は、それぞれ、外部入力装置が接続されるインターフェース部分（図２のＩ／Ｆ回路３１参照）以外の構成が共通している。これにより、インターフェース部分の構成を種々に変更するだけで、複数の信号処理モジュール３０を種々の外部入力装置に対応させることが可能である。
【００１７】
ここで、複数の信号処理モジュール３０は、それぞれ、ＲＡＭ（ランダムアクセスメモリ）３２と、コンフィグレーションによって所望の機能を有する回路としてプログラムすることが可能なＦＰＧＡ（フィールドプログラマブルゲートアレイ）３３とを有している。なお、第１実施形態では、後述するように、ＰＬＣ１００の電源投入時にＦＰＧＡ３３のコンフィグレーションが行われる。
【００１８】
以下では、図２に示すように、複数の信号処理モジュール３０（図１参照）のうちの１つの信号処理モジュール３０が、カメラ２００から入力される画像データに対して画像処理を行う画像処理モジュール３０ａとして機能する場合について説明する。すなわち、複数の信号処理モジュール３０のうちの１つの信号処理モジュール３０のＦＰＧＡ３３に対してコンフィグレーションが行われることにより、そのＦＰＧＡ３３が画像処理モジュール３０ａのＣＰＵコア３３ａとして機能するようにプログラムされる例について説明する。なお、ＣＰＵコア３３ａは、「演算処理部」の一例である。
【００１９】
図２に示すように、ＣＰＵモジュール２０と、画像処理モジュール３０ａとして機能する信号処理モジュール３０とは、パラレルバス４１を介して接続されている。なお、図２には図示していないが、このパラレルバス４１には、画像処理モジュール３０ａとして機能する信号処理モジュール３０以外の複数の信号処理モジュール３０（図１参照）も接続されている。
【００２０】
ＣＰＵモジュール２０は、ＣＰＵモジュール２０全体の制御を行うためのＣＰＵ２１と、ＣＰＵ２１の動作プログラムなどが記憶されたメインメモリ２２と、不揮発性でかつ書き換え可能なＦＬＡＳＨメモリ２３とを含むように構成されている。
【００２１】
ここで、第１実施形態では、ＦＬＡＳＨメモリ２３には、信号処理モジュール３０のＦＰＧＡ３３を画像処理モジュール３０ａのＣＰＵコア３３ａとして機能するようにプログラムするための情報（コンフィグレーション情報）を含むＣＯＮＦＩＧデータ２３１ａと、コンフィグレーション後のＦＰＧＡ３３をＣＰＵコア３３ａとして動作させるための動作プログラムを含むプログラムデータ２３２ａとが記憶されている。なお、図２には図示していないが、ＦＬＡＳＨメモリ２３には、画像処理モジュール３０ａとして機能する信号処理モジュール３０以外の複数の信号処理モジュール３０（図１参照）の各々が有するＦＰＧＡ３３に対応するＣＯＮＦＩＧデータおよびプログラムデータも記憶されている。また、ＣＯＮＦＩＧデータとは、ＦＰＧＡ３３の各素子の論理構成や、配置および配線関係などを決定するための素子構成情報である。
【００２２】
また、第１実施形態では、ＣＰＵモジュール２０のＣＰＵ２１は、ＰＬＣ１００の電源投入時に、ＦＬＡＳＨメモリ２３に記憶されたＣＯＮＦＩＧデータ２３１ａおよびプログラムデータ２３２ａを画像処理モジュール３０ａとして機能する信号処理モジュール３０に送信して、ＣＯＮＦＩＧデータ２３１ａおよびプログラムデータ２３２ａを画像処理モジュール３０ａとして機能する信号処理モジュール３０のＲＡＭ３２に記憶させるように構成されている。そして、ＣＰＵ２１は、画像処理モジュール３０ａとして機能する信号処理モジュール３０のＲＡＭ３２にＣＯＮＦＩＧデータ２３１ａおよびプログラムデータ２３２ａが記憶された後に、画像処理モジュール３０ａとして機能する信号処理モジュール３０のＦＰＧＡ３３にコンフィグレーションを開始するように指示する旨の信号（コンフィグレーション開始指示（図３および図４参照））を出力するように構成されている。
【００２３】
また、第１実施形態では、ＣＰＵモジュール２０のＣＰＵ２１は、画像処理モジュール３０ａとして機能する信号処理モジュール３０のＦＰＧＡ３３のコンフィグレーションが行われている際に、そのコンフィグレーションと並行して、自己診断を行うように構成されている。ここで、自己診断とは、メインメモリ２２およびＦＬＡＳＨメモリ２３に記憶された各データの妥当性の検査や、ＣＰＵ２１の動作に異常がないか否かの検査などである。この自己診断は、画像処理モジュール３０ａとして機能する信号処理モジュール３０を含む複数の信号処理モジュール３０（図１参照）の各々のＦＰＧＡ３３のコンフィグレーションが互いに並列に行われる場合には、複数の信号処理モジュール３０の各々のＦＰＧＡ３３のコンフィグレーションと並行して行われる。
【００２４】
なお、第１実施形態では、ＣＰＵモジュール２０のＣＰＵ２１は、信号処理モジュール３０のＦＰＧＡ３３のコンフィグレーション時において何らかのエラー（コンフィグレーションエラー）が発生した際に信号処理モジュール３０から出力されるコンフィグレーションエラー通知（図３および図４参照）が検出された場合に、ＰＬＣ１００全体を停止させてＦＰＧＡ３３のコンフィグレーションを停止させるように構成されている。また、ＣＰＵモジュール２０のＣＰＵ２１は、信号処理モジュール３０のＦＰＧＡ３３のコンフィグレーションが完了した際に信号処理モジュール３０から出力されるコンフィグレーション完了通知（図３および図４参照）が検出された場合に、コンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ａ）との間の接続が正常か否かの接続確認を行うように構成されている。
【００２５】
図２に示すように、画像処理モジュール３０ａ（信号処理モジュール３０）は、Ｉ／Ｆ回路３１と、ＲＡＭ３２と、ＦＰＧＡ３３と、アクセス制御部３４と、ＤＭＡ（ダイレクトメモリアクセス）コントローラ３５とを含むように構成されている。なお、ＤＭＡコントローラ３５は、「ダイレクトメモリアクセス制御部」の一例である。
【００２６】
Ｉ／Ｆ回路３１は、ケーブル４２を介してカメラ２００を接続可能なように構成されている。このＩ／Ｆ回路３１は、カメラ２００からケーブル４２を介して入力されるアナログ方式の画像データをデジタル方式の画像データに変換するためのＡ／Ｄ変換器（アナログ／デジタル変換器）などを含むように構成されている。
【００２７】
ＲＡＭ３２は、揮発性のランダムアクセスメモリである。このＲＡＭ３２は、ＰＬＣ１００の電源投入時にＣＰＵモジュール２０から送信されるＣＯＮＦＩＧデータ２３１ａおよびプログラムデータ２３２ａが記憶されるように構成されている。
【００２８】
ＦＰＧＡ３３は、ＳＲＡＭ方式のフィールドプログラマブルゲートアレイである。このＦＰＧＡ３３は、ＲＡＭ３２に記憶されたＣＯＮＦＩＧデータ２３１ａに基づいて行われるコンフィグレーションによって、画像処理を行うＣＰＵコア３３ａとしてプログラムされるように構成されている。そして、このように画像処理を行うＣＰＵコア３３ａとしてプログラムされたＦＰＧＡ３３は、ＲＡＭ３２に記憶されたプログラムデータ２３２ａに基づいて動作するように構成されている。
【００２９】
ここで、第１実施形態では、コンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ａ）は、ＲＡＭ３２にアクセス可能なように構成されている。すなわち、ＲＡＭ３２は、コンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ａ）が画像処理を行う際の作業用メモリとして用いられるように構成されている。なお、ＲＡＭ３２は、コンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ａ）からだけでなく、ＣＰＵモジュール２０のＣＰＵ２１からもアクセス可能なように構成されている。
【００３０】
アクセス制御部３４は、画像処理モジュール３０ａとして機能する信号処理モジュール３０のＲＡＭ３２への外部からのアクセスを制御するために設けられている。具体的には、アクセス制御部３４は、ＦＰＧＡ３３がＲＡＭ３２にバス３６ａおよび３６ｂを介してアクセスすることを許可または不許可にしたり、ＣＰＵモジュール２０のＣＰＵ２１がパラレルバス４１、バス３６ｃおよび３６ｂを介してＲＡＭ３２にアクセスすることを許可または不許可にしたりする機能を有するように構成されている。すなわち、アクセス制御部３４は、ＲＡＭ３２に接続されたバス３６ｂの使用権の競合を調停する機能を有するようにプログラムされたＰＬＤ（プログラムロジックデバイス）により構成されている。
【００３１】
たとえば、アクセス制御部３４は、ＰＬＣ１００の電源投入時において、ＲＡＭ３２に接続されたバス３６ｂの使用権をバス３６ｃ側（ＣＰＵモジュール２０側）に開放するように構成されている。これにより、ＰＬＣ１００の電源投入時にＣＰＵモジュール２０からパラレルバス４１を介して転送されるＣＯＮＦＩＧデータ２３１ａおよびプログラムデータ２３２ａは、バス３６ｃおよび３６ｂを介してＲＡＭ３２側に転送されてＲＡＭ３２に記憶される。
【００３２】
また、アクセス制御部３４は、ＲＡＭ３２にＣＯＮＦＩＧデータ２３１ａおよびプログラムデータ２３２ａが記憶された後で、かつ、ＣＰＵモジュール２０からコンフィグレーション開始指示（図３および図４参照）が出力された際において、ＲＡＭ３２に接続されたバス３６ｂの使用権をバス３６ａ側（ＦＰＧＡ３３側）に開放するように構成されている。これにより、ＦＰＧＡ３３をＣＰＵコア３３ａとしてプログラムするためのコンフィグレーションが開始される際には、ＲＡＭ３２に記憶されたＣＯＮＦＩＧデータ２３１ａがバス３６ｂおよび３６ａを介してＦＰＧＡ３３側に転送される。
【００３３】
なお、第１実施形態では、ＲＡＭ３２は、上記ＰＬＣ１００の電源投入時にＣＰＵモジュール２０から送信されるＣＯＮＦＩＧデータ２３１ａおよびプログラムデータ２３２ａだけでなく、カメラ２００から入力される画像データも記憶することが可能なように構成されている。ここで、画像処理モジュール３０ａには、画像処理モジュール３０ａに接続されるカメラ２００がＣＰＵコア３３ａを介さずにＲＡＭ３２にアクセス可能にするためのＤＭＡコントローラ３５が設けられている。
【００３４】
すなわち、第１実施形態では、カメラ２００から入力される画像データは、通常、Ｉ／Ｆ回路３１からバス３６ｄを介してＣＰＵコア３３ａに転送され、ＣＰＵコア３３ａからバス３６ａ、アクセス制御部３４およびバス３６ｂを介してＲＡＭ３２に転送される。しかしながら、カメラ２００から入力される画像データのデータ量が大きい場合、および、その画像データの転送速度が高速である場合には、画像データは、ＣＰＵコア３３ａを経由することなく、Ｉ／Ｆ回路３１からバス３６ｅ、ＤＭＡコントローラ３５、バス３６ｆ、バス３６ａ、アクセス制御部３４およびバス３６ｂを介してＲＡＭ３２に転送される。
【００３５】
また、第１実施形態では、上記のようなＦＰＧＡ３３のコンフィグレーション時において何らかのエラー（コンフィグレーションエラー）が発生した場合には、コンフィグレーションエラーが発生した旨を通知するための信号（コンフィグレーションエラー通知（図３および図４参照））がＦＰＧＡ３３からＣＰＵモジュール２０に出力されるように構成されている。また、ＦＰＧＡ３３のコンフィグレーションが完了した場合には、コンフィグレーションが完了した旨を通知するための信号（コンフィグレーション完了通知（図３および図４参照））がＦＰＧＡ３３からＣＰＵモジュール２０に出力されるように構成されている。
【００３６】
また、上記のようなＦＰＧＡ３３のコンフィグレーションにおいては、ＦＰＧＡ３３がマスターとして動作してもよいし、ＦＰＧＡ３３がスレーブとして動作してもよい。すなわち、信号処理モジュール３０は、ＦＰＧＡ３３が主体となってコンフィグレーションを行うような構成であってもよいし、ＦＰＧＡ３３以外のたとえばアクセス制御部３４が主体となってＦＰＧＡ３３にコンフィグレーションを行わせるような構成であってもよい。
【００３７】
次に、図３および図４を参照して、ＰＬＣ１００の電源投入時において信号処理モジュール３０のＦＰＧＡ３３のコンフィグレーションが行われる際におけるＰＬＣ１００の処理フローについてＣＰＵモジュール２０側と信号処理モジュール３０（画像処理モジュール３０ａ）側とに分けて説明する。
【００３８】
以下では、ＰＬＣ１００が有する複数の信号処理モジュール３０のうちの１つの信号処理モジュール３０のＦＰＧＡ３３が、コンフィグレーションによって画像処理モジュール３０ａのＣＰＵコア３３ａとして機能するようにプログラムされる例について説明する。
【００３９】
まず、図３を参照して、ＰＬＣ１００の電源投入時におけるＣＰＵモジュール２０側の処理フローについて説明する。
【００４０】
図３に示すように、ＣＰＵモジュール２０側では、まず、ステップＳ１において、ＣＰＵモジュール２０の内部に設けられたＣＰＵ２１の周辺回路（たとえば、バスコントローラなど）が初期化される。そして、ステップＳ２に進む。
【００４１】
次に、ステップＳ２において、ＦＬＡＳＨメモリ２３に記憶されたＣＯＮＦＩＧデータ２３１ａおよびプログラムデータ２３２ａが信号処理モジュール３０のＲＡＭ３２に向けて送信される。このようにＣＰＵモジュール２０から信号処理モジュール３０に送信されたＣＯＮＦＩＧデータ２３１ａおよびプログラムデータ２３２ａは、信号処理モジュール３０のＲＡＭ３２に記憶される。そして、ステップＳ３に進む。
【００４２】
次に、ステップＳ３において、コンフィグレーションを開始するように指示する旨の信号（コンフィグレーション開始指示）がＣＰＵ２１から信号処理モジュール３０のＦＰＧＡ３３に向けて出力される。そして、ステップＳ４に進む。
【００４３】
次に、ステップＳ４において、ＣＰＵ２１による自己診断が行われる。具体的には、メインメモリ２２およびＦＬＡＳＨメモリ２３に記憶された各データの妥当性の検査や、ＣＰＵ２１の動作に異常がないか否かの検査などが行われる。なお、このステップＳ４における自己診断処理は、信号処理モジュール３０のＦＰＧＡ３３のコンフィグレーション処理（後述する図４のステップＳ１２〜Ｓ１８参照）と並行して行われる。そして、ステップＳ５に進む。
【００４４】
なお、第１実施形態では、上記ステップＳ４における自己診断によって、メインメモリ２２およびＦＬＡＳＨメモリ２３に記憶された各データに何らかの異常が検出されたり、ＣＰＵ２１の動作に何らかの異常が検出されたりした場合に、ＰＬＣ１００全体を停止させる処理を行うようにＣＰＵ２１を構成してもよい。
【００４５】
次に、ステップＳ５において、信号処理モジュール３０のＦＰＧＡ３３のコンフィグレーション時において何らかのエラー（コンフィグレーションエラー）が発生した際に信号処理モジュール３０から出力されるコンフィグレーションエラー通知（後述する図４のステップＳ１４およびＳ１５参照）がＣＰＵモジュール２０側で検出されたか否かが判断される。
【００４６】
ここで、ステップＳ５において、コンフィグレーションエラー通知が検出された場合には、ステップＳ６に進む。そして、ステップＳ６において、ＰＬＣ１００全体を停止させる処理が行われ、処理が終了される。
【００４７】
一方、ステップＳ５において、コンフィグレーションエラー通知が検出されなかった場合には、ステップＳ７に進む。そして、ステップＳ７において、信号処理モジュール３０のＦＰＧＡ３３のコンフィグレーションが完了した際に信号処理モジュール３０から出力されるコンフィグレーション完了通知（後述する図４のステップＳ１６およびＳ１７参照）が検出されたか否かが判断される。
【００４８】
ステップＳ７における処理は、コンフィグレーション完了通知が検出されるまで繰り返される。そして、ステップＳ７において、コンフィグレーション完了通知が検出された場合には、ステップＳ８に進む。
【００４９】
次に、ステップＳ８において、コンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ａとの間の接続が正常か否かの接続確認が行われる。そして、処理が終了される。なお、第１実施形態では、このステップＳ８においてＣＰＵコア３３ａとの間の接続に何らかの異常が検出された場合に、ＰＬＣ１００全体を停止させる処理を行うようにＣＰＵ２１を構成してもよい。
【００５０】
次に、図４を参照して、ＰＬＣ１００の電源投入時における信号処理モジュール３０側の処理フローについて説明する。
【００５１】
図４に示すように、信号処理モジュール３０側では、まず、ステップＳ１１において、ＦＰＧＡ３３内のＳＲＡＭなどが初期化される。そして、上記図３のステップＳ２においてＣＰＵモジュール２０から送信されてＲＡＭ３２に記憶され、かつ、上記図３のステップＳ３においてＣＰＵモジュール２０から出力されたコンフィグレーション開始指示が信号処理モジュール３０側で検出された場合に、ステップＳ１２に進む。
【００５２】
次に、ステップＳ１２において、上記図３のステップＳ２においてＣＰＵモジュール２０から送信されてＲＡＭ３２に記憶されたＣＯＮＦＩＧデータ２３１ａがＲＡＭ３２から読み出される。そして、ステップＳ１３に進む。
【００５３】
次に、ステップＳ１３において、上記ステップＳ１２においてＲＡＭ３２から読み出されたＣＯＮＦＩＧデータ２３１ａに基づいて、ＦＰＧＡ３３のコンフィグレーションが開始される。そして、ステップＳ１４に進む。
【００５４】
次に、ステップＳ１４において、ＦＰＧＡ３３のコンフィグレーション時に何らかのエラー（コンフィグレーションエラー）が発生したか否かが判断される。ここで、ステップＳ１４において、コンフィグレーションエラーが発生したと判断された場合には、ステップＳ１５に進む。そして、ステップＳ１５において、コンフィグレーションエラーが発生した旨を通知するための信号（コンフィグレーションエラー通知）がＣＰＵモジュール２０に向けて出力され、処理が終了される。
【００５５】
一方、ステップＳ１４において、コンフィグレーションエラーが発生しなかったと判断された場合には、ステップＳ１６に進む。そして、ステップＳ１６において、コンフィグレーションが完了したか否かが判断される。このステップＳ１６の処理は、コンフィグレーションが完了したと判断されるまで繰り返される。
【００５６】
ステップＳ１６において、コンフィグレーションが完了したと判断された場合には、ステップＳ１７に進む。そして、ステップＳ１７において、コンフィグレーションが完了した旨を通知するための信号（コンフィグレーション完了通知）がＣＰＵモジュール２０に向けて出力され、ステップＳ１８に進む。
【００５７】
そして、ステップＳ１８において、上記図３のステップＳ２においてＣＰＵ２１から送信されてＲＡＭ３２に記憶されたプログラムデータ２３２ａに基づいて、ＦＰＧＡ３３のＣＰＵコア３３ａとしての動作が開始され、処理が終了される。なお、上記ステップＳ１２〜Ｓ１８における処理（ＦＰＧＡ３３のコンフィグレーション処理）は、上記図３のステップＳ４におけるＣＰＵモジュール２０の自己診断処理と並行して行われる。
【００５８】
第１実施形態では、上記のように、ＰＬＣ１００の信号処理モジュール３０（画像処理モジュール３０ａ）に、ＰＬＣ１００のＣＰＵモジュール２０から取得されたＣＯＮＦＩＧデータ２３１ａ（信号処理モジュール３０のＦＰＧＡ３３を画像処理モジュール３０ａのＣＰＵコア３３ａとして機能するようにプログラムするためのコンフィグレーション情報）が記憶される揮発性のＲＡＭ３２を設ける。そして、コンフィグレーションによってＣＰＵコア３３ａとして機能させたＦＰＧＡ３３を、ＲＡＭ３２にアクセス可能なように構成する。これにより、ＦＰＧＡ３３のＣＯＮＦＩＧデータ２３１ａが記憶される信号処理モジュール３０の揮発性のＲＡＭ３２を、コンフィグレーション後のＦＰＧＡ３３がＣＰＵコア３３ａとして動作する際に用いられる種々のデータを記憶するためのメモリとしても用いることができる。その結果、コンフィグレーション後のＦＰＧＡ３３がＣＰＵコア３３ａとして動作する際に用いられる種々のデータを記憶するためのメモリを、ＦＰＧＡ３３のＣＯＮＦＩＧデータ２３１ａが記憶されるメモリとは別個に設ける必要がないので、その分、信号処理モジュール３０の小型化を図ることができる。
【００５９】
また、第１実施形態では、信号処理モジュール３０（画像処理モジュール３０ａ）のＲＡＭ３２にＣＰＵコア３３ａのプログラムデータ２３２ａも記憶して、ＲＡＭ３２に記憶されたプログラムデータ２３２ａに基づいてＣＰＵコア３３ａを動作させる。これにより、ＣＰＵコア３３ａのプログラムデータ２３２ａを記憶するためのメモリをＲＡＭ３２とは別個に設ける必要がないので、信号処理モジュール３０の小型化をより図ることができる。
【００６０】
また、第１実施形態では、上記のように、信号処理モジュール３０（画像処理モジュール３０ａ）のＲＡＭ３２を、ＣＰＵコア３３ａの作業用メモリとして用いる。これにより、ＣＰＵコア３３ａの作業用メモリをＲＡＭ３２とは別個に設ける必要がないので、信号処理モジュール３０の小型化をさらに図ることができる。
【００６１】
また、第１実施形態では、上記のように、信号処理モジュール３０（画像処理モジュール３０ａ）のＲＡＭ３２を、ＣＰＵモジュール２０のＣＰＵ２１からもアクセス可能なように構成する。これにより、信号処理モジュール３０（画像処理モジュール３０ａ）のＲＡＭ３２がＣＰＵモジュール２０のＣＰＵ２１からアクセス不可能に構成される場合と異なり、制御の利便性を高めることができる。
【００６２】
また、第１実施形態では、上記のように、信号処理モジュール３０（画像処理モジュール３０ａ）のアクセス制御部３４は、ＲＡＭ３２に接続されるバス３６ｂの使用権の競合を調停することにより、ＲＡＭ３２へのアクセスを制御する。これにより、アクセス制御部３４によって、ＲＡＭ３２へのアクセスが競合するのを容易に回避することができる。
【００６３】
また、第１実施形態では、上記のように、信号処理モジュール３０（画像処理モジュール３０ａ）のＦＰＧＡ３３のコンフィグレーションを、ＣＰＵモジュール２０の自己診断と並行して行うように構成する。これにより、信号処理モジュール３０（画像処理モジュール３０ａ）のＦＰＧＡ３３のコンフィグレーションと、ＣＰＵモジュール２０の自己診断とを効率的に行うことができる。
【００６４】
また、第１実施形態では、上記のように、信号処理モジュール３０を複数設け、複数の信号処理モジュール３０の各々のＦＰＧＡ３３のコンフィグレーションを、ＣＰＵモジュール２０の自己診断と並行して行うように構成する。これにより、信号処理モジュール３０が複数ある場合でも、複数の信号処理モジュール３０の各々のＦＰＧＡ３３のコンフィグレーションと、ＣＰＵモジュール２０の自己診断とを効率的に行うことができる。
【００６５】
また、第１実施形態では、上記のように、信号処理モジュール３０（画像処理モジュール３０ａ）に、信号処理モジュール３０（画像処理モジュール３０ａ）に接続されるカメラ２００がＣＰＵコア３３ａを介さずにＲＡＭ３２にアクセス可能にするためのＤＭＡコントローラ３５を設ける。これにより、ＤＭＡコントローラ３５によって、たとえばカメラ２００と信号処理モジュール３０との間で転送される画像データのデータ量が大きい場合、および、その画像データの転送速度が高速である場合に、その画像データを、ＣＰＵコア３３ａを介さずにカメラ２００とＲＡＭ３２との間で直接転送することができる。その結果、カメラ２００と信号処理モジュール３０（画像処理モジュール３０ａ）との間の画像データの転送を高速化することができるとともに、画像データの転送時におけるＣＰＵコア３３ａの負担を軽減することができる。
【００６６】
また、第１実施形態では、上記のように、信号処理モジュール３０（画像処理モジュール３０ａ）のＲＡＭ３２に、信号処理モジュール３０（画像処理モジュール３０ａ）に接続されるカメラ２００から入力される画像データも記憶する。これにより、カメラ２００から入力される画像データを記憶するためのメモリをＲＡＭ３２とは別個に設ける必要がないので、信号処理モジュール３０の小型化をより図ることができる。
【００６７】
（第２実施形態）
次に、図５を参照して、第２実施形態によるＰＬＣ（プログラマブルロジックコントローラ）１０１の構成について説明する。この第２実施形態では、信号処理モジュール３０にカメラ２００が接続されている上記第１実施形態と異なり、信号処理モジュール３０にモータ３０１およびエンコーダ３０２に接続されたモータ制御装置３０３が接続されている例について説明する。なお、ＰＬＣ１０１は、「制御装置」の一例である。また、モータ制御装置３０３は、「外部入力装置」の一例である。
【００６８】
図５に示すように、第２実施形態によるＰＬＣ１０１の信号処理モジュール３０には、モータ３０１およびエンコーダ３０２に接続されたモータ制御装置３０３がケーブル４３を介して接続されている。この第２実施形態では、ＰＬＣ１０１の電源投入時に行われるコンフィグレーションにより、信号処理モジュール３０のＦＰＧＡ３３が、エンコーダ３０２からのフィードバックなどに対して信号処理を行うための信号処理モジュール３０ｂのＣＰＵコア３３ｂとして機能するようにプログラムされる。
【００６９】
ここで、第２実施形態では、信号処理モジュール３０のＩ／Ｆ回路３１ｂは、ケーブル４３を介してモータ制御装置３０３に出力されるアナログ信号やＰＷＭ信号などに対応する回路を含むように構成されている。
【００７０】
また、第２実施形態では、ＰＬＣ１０１のＣＰＵモジュール２０のＦＬＡＳＨメモリ２３に、信号処理モジュール３０のＦＰＧＡ３３をＣＰＵコア３３ｂとして機能するようにプログラムするための情報（コンフィグレーション情報）を含むＣＯＮＦＩＧデータ２３１ｂと、コンフィグレーション後のＦＰＧＡ３３をＣＰＵコア３３ｂとして動作させるための動作プログラムを含むプログラムデータ２３２ｂとが記憶されている。これらＣＯＮＦＩＧデータ２３１ｂおよびプログラムデータ２３２ｂは、上記第１実施形態と同様に、ＰＬＣ１０１の電源投入時にＣＰＵモジュール２０側から信号処理モジュール３０ｂ側に向けて送信され、信号処理モジュール３０ｂのＲＡＭ３２に記憶される。
【００７１】
また、第２実施形態では、上記第１実施形態と同様に、信号処理モジュール３０には、揮発性のランダムアクセスメモリであるＲＡＭ３２と、ＳＲＡＭ方式のフィールドプログラマブルゲートアレイであるＦＰＧＡ３３とが設けられている。ＦＰＧＡ３３は、ＲＡＭ３２に記憶されたＣＯＮＦＩＧデータ２３１ｂに基づいて行われるコンフィグレーションにより、エンコーダ３０２からのフィードバックなどに対して信号処理（モータ制御）を行うためのＣＰＵコア３３ｂとしてプログラムされるように構成されている。そして、このように信号処理を行うＣＰＵコア３３ｂとしてプログラムされたＦＰＧＡ３３は、ＲＡＭ３２に記憶されたプログラムデータ２３２ｂに基づいて動作するように構成されている。
【００７２】
また、この第２実施形態では、上記第１実施形態と同様に、コンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ｂ）は、ＲＡＭ３２にアクセス可能なように構成されている。すなわち、ＲＡＭ３２は、コンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ｂ）がエンコーダ３０２からのフィードバックなどに対して信号処理を行う際の作業用メモリとして用いられるように構成されている。
【００７３】
なお、第２実施形態のその他の構成は、上記第１実施形態（図１および図２参照）と同様である。
【００７４】
また、第２実施形態によるＰＬＣ１０１の電源投入時における処理フロー（コンフィグレーションによってＦＰＧＡ３３がＣＰＵコア３３ｂとして機能するようにプログラムされる際における処理フロー）も、上記第１実施形態（図３および図４参照）と同様である。
【００７５】
また、第２実施形態の効果も、上記第１実施形態と同様である。
【００７６】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
【００７７】
たとえば、上記第１および第２実施形態では、ＣＰＵを含むＣＰＵモジュール（制御モジュール）と、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）およびＲＡＭ（揮発性メモリ）を含む信号処理モジュールとを備えたＰＬＣ（制御装置）を示したが、フィールドプログラマブルゲートアレイおよび揮発性メモリを含む信号処理モジュールを備えた一般的な信号処理装置であってもよい。
【００７８】
また、上記第１実施形態では、図２に示すように、ＰＬＣ１００の信号処理モジュール３０を、カメラ２００が接続される画像処理モジュール３０ａとして機能させる例を示したが、図６に示した第１実施形態の第１変形例のように、ＰＬＣ１０２の信号処理モジュール３０を、カメラ４０１、Ａ／Ｄ変換器（アナログ／デジタル変換器）４０２、メモリ４０３および画像処理部４０４を含む画像処理装置４００が接続される信号処理モジュール３０ｃとして機能させてもよい。なお、ＰＬＣ１０２は、「制御装置」の一例である。また、画像処理装置４００は、「外部入力装置」の一例である。
【００７９】
図６に示した第１変形例では、信号処理モジュール３０のＦＰＧＡ３３は、コンフィグレーションにより、画像処理装置４０４内のＡ／Ｄ変換器４０２および画像処理部４０４によって画像処理された後の画像データに対して所定の信号処理を行う信号処理モジュール３０ｃのＣＰＵコア３３ｃとして機能するようにプログラムされる。また、図６に示した第１変形例では、信号処理モジュール３０のＩ／Ｆ回路３１ｃは、シリアル通信機能を有する回路を含むように構成されている。
【００８０】
ここで、図６に示した第１変形例によるコンフィグレーションは、図１〜図４に示した上記第１実施形態と同様に、ＣＰＵモジュール２０のＦＬＡＳＨメモリ２３から信号処理モジュール３０（３０ｃ）の揮発性のＲＡＭ３２に転送されて記憶されたＣＯＮＦＩＧデータ２３１ｃに基づいて行われる。また、図６に示した第１変形例によるコンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ｃ）は、ＣＰＵモジュール２０のＦＬＡＳＨメモリ２３から信号処理モジュール３０（３０ｃ）のＲＡＭ３２に転送されて記憶されたプログラムデータ２３２ｃに基づいて動作する。
【００８１】
なお、図６に示した第１変形例においても、図１〜図４に示した上記第１実施形態と同様に、コンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ｃ）は、ＲＡＭ３２にアクセス可能なように構成されている。すなわち、ＲＡＭ３２は、コンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ｂ）が所定の信号処理を行う際の作業用メモリとして用いられるように構成されている。
【００８２】
図６に示した第１変形例では、信号処理モジュール３０ｃには、画像処理装置４００の画像処理部４０４によって画像処理が行われた後のデータが入力されるので、信号処理モジュール３０ｃに入力されるデータのデータ量は比較的小さい。このため、図６に示した第１変形例では、図１〜図４に示した上記第１実施形態と異なり、画像処理装置４００がＦＰＧＡ３３（ＣＰＵコア３３ｂ）を介さずにＲＡＭ３２にアクセス可能にするためのＤＭＡコントローラ（ダイレクトメモリアクセス制御部）を信号処理モジュール３０ｃに設ける必要がないので、装置構成を簡略化することができる。
【００８３】
また、上記第１実施形態では、図２に示すように、ＰＬＣ１００の信号処理モジュール３０を、カメラ２００が接続される画像処理モジュール３０ａとして機能させる例を示したが、図７に示した第１実施形態の第２変形例のように、ＰＬＣ１０３の信号処理モジュール３０を、通信装置５００が接続される通信処理モジュール３０ｄとして機能させてもよい。なお、ＰＬＣ１０３は、「制御装置」の一例である。また、通信装置５００は、「外部入力装置」の一例である。
【００８４】
図７に示した第２変形例では、信号処理モジュール３０のＦＰＧＡ３３は、コンフィグレーションにより、通信装置５００から入力されるデータなどに対して所定の信号処理を行う通信処理モジュール３０ｄのＣＰＵコア３３ｄとして機能するようにプログラムされる。また、図７に示した第２変形例では、信号処理モジュール３０のＩ／Ｆ回路３１ｄは、シリアル通信機能を有する回路を含むように構成されている。
【００８５】
ここで、図７に示した第２変形例によるコンフィグレーションは、図１〜図４に示した上記第１実施形態と同様に、ＣＰＵモジュール２０のＦＬＡＳＨメモリ２３から信号処理モジュール３０ｄの揮発性のＲＡＭ３２に転送されて記憶されたＣＯＮＦＩＧデータ２３１ｄに基づいて行われる。また、図７に示した第２変形例によるコンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ｄ）は、ＣＰＵモジュール２０のＦＬＡＳＨメモリ２３から信号処理モジュール３０ｄのＲＡＭ３２に転送されて記憶されたプログラムデータ２３２ｄに基づいて動作する。
【００８６】
なお、図７に示した第２変形例においても、図１〜図４に示した上記第１実施形態と同様に、コンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ｄ）は、ＲＡＭ３２にアクセス可能なように構成されている。すなわち、ＲＡＭ３２は、コンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ｄ）が通信装置５００から入力されるデータなどに対して信号処理を行う際の作業用メモリとして用いられるように構成されている。
【００８７】
図７に示した第２変形例では、通信装置５００が高速通信を行う装置である場合には、通信装置５００から信号処理モジュール３０（通信処理モジュール３０ｄ）に入力されるデータのデータ量が比較的大きくなる。このため、この図７に示した第２変形例では、図１〜図４に示した上記第１実施形態と同様に、信号処理モジュール３０（通信処理モジュール３０ｄ）には、ＤＭＡコントローラ３５が設けられている。これにより、通信装置５００から入力されるデータのデータ量が大きい場合、および、そのデータの転送速度が高速である場合には、そのデータ量の大きいデータを、ＣＰＵコア３３ｄを介さずに直接ＲＡＭ３２に転送することができる。その結果、信号処理モジュール３０（通信処理モジュール３０ｄ）内におけるデータの転送を高速化することができるとともに、データの転送時におけるＣＰＵコア３３ｄの負担を軽減することができる。
【００８８】
また、上記第２実施形態では、図５に示すように、ＰＬＣ１００の信号処理モジュール３０を、モータ３０１およびエンコーダ３０２に接続されたモータ制御装置３０３が接続される信号処理モジュール３０ｂとして機能させる例を示したが、図８に示した第１実施形態の第３変形例のように、ＰＬＣ１０４の信号処理モジュール３０を、エンコーダ３０２に直接接続される信号処理モジュール３０ｅとして機能させてもよい。なお、ＰＬＣ１０４は、「制御装置」の一例である。また、エンコーダ３０２は、「外部入力装置」の一例である。
【００８９】
図８に示した第３変形例では、信号処理モジュール３０のＦＰＧＡ３３は、コンフィグレーションにより、エンコーダ３０２から入力される信号に対して所定の信号処理を行う信号処理モジュール３０ｅのＣＰＵコア３３ｅとして機能するようにプログラムされる。また、図８に示した第３変形例では、信号処理モジュール３０のＩ／Ｆ回路３１ｄは、エンコーダ３０２から入力される信号に対応する回路を含むように構成されている。
【００９０】
図８に示した第３変形例によるコンフィグレーションは、図１〜図４に示した上記第１実施形態と同様に、ＣＰＵモジュール２０のＦＬＡＳＨメモリ２３から信号処理モジュール３０（３０ｅ）の揮発性のＲＡＭ３２に転送されて記憶されたＣＯＮＦＩＧデータ２３１ｅに基づいて行われる。また、図８に示した第３変形例によるコンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ｅ）は、ＣＰＵモジュール２０のＦＬＡＳＨメモリ２３から信号処理モジュール３０（３０ｅ）のＲＡＭ３２に転送されて記憶されたプログラムデータ２３２ｅに基づいて動作する。
【００９１】
なお、図８に示した第３変形例においても、図１〜図４に示した上記第１実施形態と同様に、コンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ｅ）は、ＲＡＭ３２にアクセス可能なように構成されている。すなわち、ＲＡＭ３２は、コンフィグレーション後のＦＰＧＡ３３（ＣＰＵコア３３ｅ）が所定の信号処理を行う際の作業用メモリとして用いられるように構成されている。
【００９２】
図８に示した第３変形例では、エンコーダ３０２から信号処理モジュール３０ｅに入力されるデータは、パルス信号などからなるので、そのデータ量は比較的小さい。このため、図８に示した第３変形例では、図１〜図４に示した上記第１実施形態と異なり、エンコーダ３０２がＦＰＧＡ３３（ＣＰＵコア３３ｅ）を介さずにＲＡＭ３２にアクセス可能にするためのＤＭＡコントローラ（ダイレクトメモリアクセス制御部）を信号処理モジュール３０ｅに設ける必要がないので、装置構成を簡略化することができる。
【００９３】
また、上記第１および第２実施形態では、アクセス制御部３４を、ＲＡＭ３２に接続されたバス３６ｂの使用権の競合を調停する機能を有するようにプログラムされたＰＬＤ（プログラムロジックデバイス）により構成する例を示したが、ＰＬＤではなく、専用のデバイスにより構成してもよい。
【図１】
2013128578.tif 000003
【図２】
2013128578.tif 000004
【図３】
2013128578.tif 000005
【図４】
2013128578.tif 000006
【図５】
2013128578.tif 000007
【図６】
2013128578.tif 000008
【図７】
2013128578.tif 000009
【図８】
2013128578.tif 000010
【国際調査報告】
2013128578.tif 000011
2013128578.tif 000012
2013128578.tif 000013
2013128578.tif 000014