JPWO2013128578A1 - 制御装置および制御装置の制御方法 - Google Patents
制御装置および制御装置の制御方法 Download PDFInfo
- Publication number
- JPWO2013128578A1 JPWO2013128578A1 JP2014501882A JP2014501882A JPWO2013128578A1 JP WO2013128578 A1 JPWO2013128578 A1 JP WO2013128578A1 JP 2014501882 A JP2014501882 A JP 2014501882A JP 2014501882 A JP2014501882 A JP 2014501882A JP WO2013128578 A1 JPWO2013128578 A1 JP WO2013128578A1
- Authority
- JP
- Japan
- Prior art keywords
- signal processing
- processing module
- configuration
- volatile memory
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 32
- 238000012545 processing Methods 0.000 claims abstract description 241
- 230000015654 memory Effects 0.000 claims abstract description 73
- 230000006870 function Effects 0.000 claims description 30
- 238000004092 self-diagnosis Methods 0.000 claims description 13
- 230000003936 working memory Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 description 25
- 230000004048 modification Effects 0.000 description 25
- 238000004891 communication Methods 0.000 description 15
- 238000012546 transfer Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000005856 abnormality Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Landscapes
- Logic Circuits (AREA)
- Advance Control (AREA)
- Stored Programmes (AREA)
Abstract
この制御装置(100)は、フィールドプログラマブルゲートアレイ(33)と、フィールドプログラマブルゲートアレイのコンフィグレーション情報が記憶される揮発性メモリ(32)とを含む信号処理モジュール(30、30a)を備える。フィールドプログラマブルゲートアレイは、コンフィグレーション後においても揮発性メモリにアクセス可能なように構成されている。
Description
この発明は、制御装置および制御装置の設定方法に関し、特に、フィールドプログラマブルゲートアレイを含む信号処理モジュールを備えた制御装置および制御装置の制御方法に関する。
従来、フィールドプログラマブルゲートアレイを含む信号処理モジュールを備えた制御装置が知られている。このような制御装置は、たとえば、特開2000−105759号公報に開示されている。
上記特開2000−105759号公報には、FPGA(フィールドプログラマブルゲートアレイ)と、FPGAをCPUコア(演算処理部)としてプログラムするためのロジックデータ(コンフィグレーション情報)が記憶された不揮発性のPROM(プログラマブルリードオンリーメモリ)とを備えた集積回路が開示されている。このような集積回路は、制御装置の信号処理モジュールなどに用いられる。なお、一般に、FPGAを所望の機能を有する回路としてプログラムすることを、コンフィグレーションという。
しかしながら、上記特開2000−105759号公報に開示された集積回路では、コンフィグレーション後のFPGA(フィールドプログラマブルゲートアレイ)をCPUコア(演算処理部)として動作させるために、CPUコアの動作プログラムなどを含む種々のデータを記憶するためのメモリを、FPGAのコンフィグレーションに用いるロジックデータ(コンフィグレーション情報)が記憶される不揮発性のPROMとは別個に設ける必要があると考えられる。このため、装置(集積回路を用いた信号処理モジュール)が大型化するという問題点がある。
この発明は、上記のような課題を解決するためになされたものであり、この発明の1つの目的は、装置の小型化を図ることが可能な制御装置および制御装置の制御方法を提供することである。
第1の局面による制御装置は、フィールドプログラマブルゲートアレイと、フィールドプログラマブルゲートアレイのコンフィグレーション情報が記憶される揮発性メモリとを含む信号処理モジュールを備え、フィールドプログラマブルゲートアレイは、コンフィグレーション後においても揮発性メモリにアクセス可能なように構成されている。
第1の局面による制御装置では、上記のように、制御装置の信号処理モジュールに、フィールドプログラマブルゲートアレイのコンフィグレーション情報が記憶される揮発性メモリを設け、フィールドプログラマブルゲートアレイを、コンフィグレーション後においても揮発性メモリにアクセス可能なように構成する。これにより、フィールドプログラマブルゲートアレイのコンフィグレーション情報が記憶される揮発性メモリを、コンフィグレーション後のフィールドプログラマブルゲートアレイが動作する際に用いられる種々のデータを記憶するためのメモリとしても用いることができる。その結果、コンフィグレーション後のフィールドプログラマブルゲートアレイが動作する際に用いられる種々のデータを記憶するためのメモリを、フィールドプログラマブルゲートアレイのコンフィグレーション情報が記憶されるメモリとは別個に設ける必要がないので、その分、装置の小型化を図ることができる。
第2の局面による制御装置の制御方法は、制御モジュールと、フィールドプログラマブルゲートアレイおよび揮発性メモリを含む信号処理モジュールとを備えた制御装置の制御方法であって、フィールドプログラマブルゲートアレイのコンフィグレーション情報を制御モジュールから取得して揮発性メモリに記憶するステップと、揮発性メモリに記憶されたコンフィグレーション情報に基づいてコンフィグレーションを行うことにより、フィールドプログラマブルゲートアレイを信号処理モジュールの演算処理部として機能させるステップと、演算処理部から揮発性メモリへのアクセスを可能にして演算処理部により演算処理を行うステップとを備える。
第2の局面による制御装置の制御方法では、上記のように、信号処理モジュールの揮発性メモリに記憶されたコンフィグレーション情報に基づいてコンフィグレーションを行うことにより、フィールドプログラマブルゲートアレイを信号処理モジュールの演算処理部として機能させるステップと、演算処理部から揮発性メモリへのアクセスを可能にして演算処理部により演算処理を行うステップとを備える。これにより、フィールドプログラマブルゲートアレイのコンフィグレーション情報が記憶される揮発性メモリを、コンフィグレーション後のフィールドプログラマブルゲートアレイが演算処理部として動作する際に用いられる種々のデータを記憶するためのメモリとしても用いることができる。その結果、コンフィグレーション後のフィールドプログラマブルゲートアレイが演算処理部として動作する際に用いられる種々のデータを記憶するためのメモリを、フィールドプログラマブルゲートアレイのコンフィグレーション情報が記憶されるメモリとは別個に設ける必要がないので、その分、装置の小型化を図ることが可能な制御装置の制御方法を提供することができる。
上記制御装置および制御装置の制御方法によれば、装置の小型化を図ることができる。
以下、実施形態を図面に基づいて説明する。
(第1実施形態)
まず、図1および図2を参照して、第1実施形態によるPLC(プログラマブルロジックコントローラ)100の構成について説明する。なお、PLC100は、「制御装置」の一例である。
まず、図1および図2を参照して、第1実施形態によるPLC(プログラマブルロジックコントローラ)100の構成について説明する。なお、PLC100は、「制御装置」の一例である。
図1に示すように、PLC100は、PLC100全体に電源を供給するための電源モジュール10と、PLC100全体の制御を行うためのCPUモジュール20と、電源モジュール10およびCPUモジュール20に接続された複数の信号処理モジュール30とを備えている。なお、CPUモジュール20は、「制御モジュール」の一例である。
複数の信号処理モジュール30は、それぞれ、種々の外部入力装置(たとえば、図2に示すカメラ200)を接続可能なように構成されており、これら種々の外部入力装置から入力される種々の信号(たとえば、カメラ200から入力される画像データ)に対応する種々の信号処理(たとえば、画像処理)を行うことが可能なように構成されている。なお、複数の信号処理モジュール30は、それぞれ、外部入力装置が接続されるインターフェース部分(図2のI/F回路31参照)以外の構成が共通している。これにより、インターフェース部分の構成を種々に変更するだけで、複数の信号処理モジュール30を種々の外部入力装置に対応させることが可能である。
ここで、複数の信号処理モジュール30は、それぞれ、RAM(ランダムアクセスメモリ)32と、コンフィグレーションによって所望の機能を有する回路としてプログラムすることが可能なFPGA(フィールドプログラマブルゲートアレイ)33とを有している。なお、第1実施形態では、後述するように、PLC100の電源投入時にFPGA33のコンフィグレーションが行われる。
以下では、図2に示すように、複数の信号処理モジュール30(図1参照)のうちの1つの信号処理モジュール30が、カメラ200から入力される画像データに対して画像処理を行う画像処理モジュール30aとして機能する場合について説明する。すなわち、複数の信号処理モジュール30のうちの1つの信号処理モジュール30のFPGA33に対してコンフィグレーションが行われることにより、そのFPGA33が画像処理モジュール30aのCPUコア33aとして機能するようにプログラムされる例について説明する。なお、CPUコア33aは、「演算処理部」の一例である。
図2に示すように、CPUモジュール20と、画像処理モジュール30aとして機能する信号処理モジュール30とは、パラレルバス41を介して接続されている。なお、図2には図示していないが、このパラレルバス41には、画像処理モジュール30aとして機能する信号処理モジュール30以外の複数の信号処理モジュール30(図1参照)も接続されている。
CPUモジュール20は、CPUモジュール20全体の制御を行うためのCPU21と、CPU21の動作プログラムなどが記憶されたメインメモリ22と、不揮発性でかつ書き換え可能なFLASHメモリ23とを含むように構成されている。
ここで、第1実施形態では、FLASHメモリ23には、信号処理モジュール30のFPGA33を画像処理モジュール30aのCPUコア33aとして機能するようにプログラムするための情報(コンフィグレーション情報)を含むCONFIGデータ231aと、コンフィグレーション後のFPGA33をCPUコア33aとして動作させるための動作プログラムを含むプログラムデータ232aとが記憶されている。なお、図2には図示していないが、FLASHメモリ23には、画像処理モジュール30aとして機能する信号処理モジュール30以外の複数の信号処理モジュール30(図1参照)の各々が有するFPGA33に対応するCONFIGデータおよびプログラムデータも記憶されている。また、CONFIGデータとは、FPGA33の各素子の論理構成や、配置および配線関係などを決定するための素子構成情報である。
また、第1実施形態では、CPUモジュール20のCPU21は、PLC100の電源投入時に、FLASHメモリ23に記憶されたCONFIGデータ231aおよびプログラムデータ232aを画像処理モジュール30aとして機能する信号処理モジュール30に送信して、CONFIGデータ231aおよびプログラムデータ232aを画像処理モジュール30aとして機能する信号処理モジュール30のRAM32に記憶させるように構成されている。そして、CPU21は、画像処理モジュール30aとして機能する信号処理モジュール30のRAM32にCONFIGデータ231aおよびプログラムデータ232aが記憶された後に、画像処理モジュール30aとして機能する信号処理モジュール30のFPGA33にコンフィグレーションを開始するように指示する旨の信号(コンフィグレーション開始指示(図3および図4参照))を出力するように構成されている。
また、第1実施形態では、CPUモジュール20のCPU21は、画像処理モジュール30aとして機能する信号処理モジュール30のFPGA33のコンフィグレーションが行われている際に、そのコンフィグレーションと並行して、自己診断を行うように構成されている。ここで、自己診断とは、メインメモリ22およびFLASHメモリ23に記憶された各データの妥当性の検査や、CPU21の動作に異常がないか否かの検査などである。この自己診断は、画像処理モジュール30aとして機能する信号処理モジュール30を含む複数の信号処理モジュール30(図1参照)の各々のFPGA33のコンフィグレーションが互いに並列に行われる場合には、複数の信号処理モジュール30の各々のFPGA33のコンフィグレーションと並行して行われる。
なお、第1実施形態では、CPUモジュール20のCPU21は、信号処理モジュール30のFPGA33のコンフィグレーション時において何らかのエラー(コンフィグレーションエラー)が発生した際に信号処理モジュール30から出力されるコンフィグレーションエラー通知(図3および図4参照)が検出された場合に、PLC100全体を停止させてFPGA33のコンフィグレーションを停止させるように構成されている。また、CPUモジュール20のCPU21は、信号処理モジュール30のFPGA33のコンフィグレーションが完了した際に信号処理モジュール30から出力されるコンフィグレーション完了通知(図3および図4参照)が検出された場合に、コンフィグレーション後のFPGA33(CPUコア33a)との間の接続が正常か否かの接続確認を行うように構成されている。
図2に示すように、画像処理モジュール30a(信号処理モジュール30)は、I/F回路31と、RAM32と、FPGA33と、アクセス制御部34と、DMA(ダイレクトメモリアクセス)コントローラ35とを含むように構成されている。なお、DMAコントローラ35は、「ダイレクトメモリアクセス制御部」の一例である。
I/F回路31は、ケーブル42を介してカメラ200を接続可能なように構成されている。このI/F回路31は、カメラ200からケーブル42を介して入力されるアナログ方式の画像データをデジタル方式の画像データに変換するためのA/D変換器(アナログ/デジタル変換器)などを含むように構成されている。
RAM32は、揮発性のランダムアクセスメモリである。このRAM32は、PLC100の電源投入時にCPUモジュール20から送信されるCONFIGデータ231aおよびプログラムデータ232aが記憶されるように構成されている。
FPGA33は、SRAM方式のフィールドプログラマブルゲートアレイである。このFPGA33は、RAM32に記憶されたCONFIGデータ231aに基づいて行われるコンフィグレーションによって、画像処理を行うCPUコア33aとしてプログラムされるように構成されている。そして、このように画像処理を行うCPUコア33aとしてプログラムされたFPGA33は、RAM32に記憶されたプログラムデータ232aに基づいて動作するように構成されている。
ここで、第1実施形態では、コンフィグレーション後のFPGA33(CPUコア33a)は、RAM32にアクセス可能なように構成されている。すなわち、RAM32は、コンフィグレーション後のFPGA33(CPUコア33a)が画像処理を行う際の作業用メモリとして用いられるように構成されている。なお、RAM32は、コンフィグレーション後のFPGA33(CPUコア33a)からだけでなく、CPUモジュール20のCPU21からもアクセス可能なように構成されている。
アクセス制御部34は、画像処理モジュール30aとして機能する信号処理モジュール30のRAM32への外部からのアクセスを制御するために設けられている。具体的には、アクセス制御部34は、FPGA33がRAM32にバス36aおよび36bを介してアクセスすることを許可または不許可にしたり、CPUモジュール20のCPU21がパラレルバス41、バス36cおよび36bを介してRAM32にアクセスすることを許可または不許可にしたりする機能を有するように構成されている。すなわち、アクセス制御部34は、RAM32に接続されたバス36bの使用権の競合を調停する機能を有するようにプログラムされたPLD(プログラムロジックデバイス)により構成されている。
たとえば、アクセス制御部34は、PLC100の電源投入時において、RAM32に接続されたバス36bの使用権をバス36c側(CPUモジュール20側)に開放するように構成されている。これにより、PLC100の電源投入時にCPUモジュール20からパラレルバス41を介して転送されるCONFIGデータ231aおよびプログラムデータ232aは、バス36cおよび36bを介してRAM32側に転送されてRAM32に記憶される。
また、アクセス制御部34は、RAM32にCONFIGデータ231aおよびプログラムデータ232aが記憶された後で、かつ、CPUモジュール20からコンフィグレーション開始指示(図3および図4参照)が出力された際において、RAM32に接続されたバス36bの使用権をバス36a側(FPGA33側)に開放するように構成されている。これにより、FPGA33をCPUコア33aとしてプログラムするためのコンフィグレーションが開始される際には、RAM32に記憶されたCONFIGデータ231aがバス36bおよび36aを介してFPGA33側に転送される。
なお、第1実施形態では、RAM32は、上記PLC100の電源投入時にCPUモジュール20から送信されるCONFIGデータ231aおよびプログラムデータ232aだけでなく、カメラ200から入力される画像データも記憶することが可能なように構成されている。ここで、画像処理モジュール30aには、画像処理モジュール30aに接続されるカメラ200がCPUコア33aを介さずにRAM32にアクセス可能にするためのDMAコントローラ35が設けられている。
すなわち、第1実施形態では、カメラ200から入力される画像データは、通常、I/F回路31からバス36dを介してCPUコア33aに転送され、CPUコア33aからバス36a、アクセス制御部34およびバス36bを介してRAM32に転送される。しかしながら、カメラ200から入力される画像データのデータ量が大きい場合、および、その画像データの転送速度が高速である場合には、画像データは、CPUコア33aを経由することなく、I/F回路31からバス36e、DMAコントローラ35、バス36f、バス36a、アクセス制御部34およびバス36bを介してRAM32に転送される。
また、第1実施形態では、上記のようなFPGA33のコンフィグレーション時において何らかのエラー(コンフィグレーションエラー)が発生した場合には、コンフィグレーションエラーが発生した旨を通知するための信号(コンフィグレーションエラー通知(図3および図4参照))がFPGA33からCPUモジュール20に出力されるように構成されている。また、FPGA33のコンフィグレーションが完了した場合には、コンフィグレーションが完了した旨を通知するための信号(コンフィグレーション完了通知(図3および図4参照))がFPGA33からCPUモジュール20に出力されるように構成されている。
また、上記のようなFPGA33のコンフィグレーションにおいては、FPGA33がマスターとして動作してもよいし、FPGA33がスレーブとして動作してもよい。すなわち、信号処理モジュール30は、FPGA33が主体となってコンフィグレーションを行うような構成であってもよいし、FPGA33以外のたとえばアクセス制御部34が主体となってFPGA33にコンフィグレーションを行わせるような構成であってもよい。
次に、図3および図4を参照して、PLC100の電源投入時において信号処理モジュール30のFPGA33のコンフィグレーションが行われる際におけるPLC100の処理フローについてCPUモジュール20側と信号処理モジュール30(画像処理モジュール30a)側とに分けて説明する。
以下では、PLC100が有する複数の信号処理モジュール30のうちの1つの信号処理モジュール30のFPGA33が、コンフィグレーションによって画像処理モジュール30aのCPUコア33aとして機能するようにプログラムされる例について説明する。
まず、図3を参照して、PLC100の電源投入時におけるCPUモジュール20側の処理フローについて説明する。
図3に示すように、CPUモジュール20側では、まず、ステップS1において、CPUモジュール20の内部に設けられたCPU21の周辺回路(たとえば、バスコントローラなど)が初期化される。そして、ステップS2に進む。
次に、ステップS2において、FLASHメモリ23に記憶されたCONFIGデータ231aおよびプログラムデータ232aが信号処理モジュール30のRAM32に向けて送信される。このようにCPUモジュール20から信号処理モジュール30に送信されたCONFIGデータ231aおよびプログラムデータ232aは、信号処理モジュール30のRAM32に記憶される。そして、ステップS3に進む。
次に、ステップS3において、コンフィグレーションを開始するように指示する旨の信号(コンフィグレーション開始指示)がCPU21から信号処理モジュール30のFPGA33に向けて出力される。そして、ステップS4に進む。
次に、ステップS4において、CPU21による自己診断が行われる。具体的には、メインメモリ22およびFLASHメモリ23に記憶された各データの妥当性の検査や、CPU21の動作に異常がないか否かの検査などが行われる。なお、このステップS4における自己診断処理は、信号処理モジュール30のFPGA33のコンフィグレーション処理(後述する図4のステップS12〜S18参照)と並行して行われる。そして、ステップS5に進む。
なお、第1実施形態では、上記ステップS4における自己診断によって、メインメモリ22およびFLASHメモリ23に記憶された各データに何らかの異常が検出されたり、CPU21の動作に何らかの異常が検出されたりした場合に、PLC100全体を停止させる処理を行うようにCPU21を構成してもよい。
次に、ステップS5において、信号処理モジュール30のFPGA33のコンフィグレーション時において何らかのエラー(コンフィグレーションエラー)が発生した際に信号処理モジュール30から出力されるコンフィグレーションエラー通知(後述する図4のステップS14およびS15参照)がCPUモジュール20側で検出されたか否かが判断される。
ここで、ステップS5において、コンフィグレーションエラー通知が検出された場合には、ステップS6に進む。そして、ステップS6において、PLC100全体を停止させる処理が行われ、処理が終了される。
一方、ステップS5において、コンフィグレーションエラー通知が検出されなかった場合には、ステップS7に進む。そして、ステップS7において、信号処理モジュール30のFPGA33のコンフィグレーションが完了した際に信号処理モジュール30から出力されるコンフィグレーション完了通知(後述する図4のステップS16およびS17参照)が検出されたか否かが判断される。
ステップS7における処理は、コンフィグレーション完了通知が検出されるまで繰り返される。そして、ステップS7において、コンフィグレーション完了通知が検出された場合には、ステップS8に進む。
次に、ステップS8において、コンフィグレーション後のFPGA33(CPUコア33aとの間の接続が正常か否かの接続確認が行われる。そして、処理が終了される。なお、第1実施形態では、このステップS8においてCPUコア33aとの間の接続に何らかの異常が検出された場合に、PLC100全体を停止させる処理を行うようにCPU21を構成してもよい。
次に、図4を参照して、PLC100の電源投入時における信号処理モジュール30側の処理フローについて説明する。
図4に示すように、信号処理モジュール30側では、まず、ステップS11において、FPGA33内のSRAMなどが初期化される。そして、上記図3のステップS2においてCPUモジュール20から送信されてRAM32に記憶され、かつ、上記図3のステップS3においてCPUモジュール20から出力されたコンフィグレーション開始指示が信号処理モジュール30側で検出された場合に、ステップS12に進む。
次に、ステップS12において、上記図3のステップS2においてCPUモジュール20から送信されてRAM32に記憶されたCONFIGデータ231aがRAM32から読み出される。そして、ステップS13に進む。
次に、ステップS13において、上記ステップS12においてRAM32から読み出されたCONFIGデータ231aに基づいて、FPGA33のコンフィグレーションが開始される。そして、ステップS14に進む。
次に、ステップS14において、FPGA33のコンフィグレーション時に何らかのエラー(コンフィグレーションエラー)が発生したか否かが判断される。ここで、ステップS14において、コンフィグレーションエラーが発生したと判断された場合には、ステップS15に進む。そして、ステップS15において、コンフィグレーションエラーが発生した旨を通知するための信号(コンフィグレーションエラー通知)がCPUモジュール20に向けて出力され、処理が終了される。
一方、ステップS14において、コンフィグレーションエラーが発生しなかったと判断された場合には、ステップS16に進む。そして、ステップS16において、コンフィグレーションが完了したか否かが判断される。このステップS16の処理は、コンフィグレーションが完了したと判断されるまで繰り返される。
ステップS16において、コンフィグレーションが完了したと判断された場合には、ステップS17に進む。そして、ステップS17において、コンフィグレーションが完了した旨を通知するための信号(コンフィグレーション完了通知)がCPUモジュール20に向けて出力され、ステップS18に進む。
そして、ステップS18において、上記図3のステップS2においてCPU21から送信されてRAM32に記憶されたプログラムデータ232aに基づいて、FPGA33のCPUコア33aとしての動作が開始され、処理が終了される。なお、上記ステップS12〜S18における処理(FPGA33のコンフィグレーション処理)は、上記図3のステップS4におけるCPUモジュール20の自己診断処理と並行して行われる。
第1実施形態では、上記のように、PLC100の信号処理モジュール30(画像処理モジュール30a)に、PLC100のCPUモジュール20から取得されたCONFIGデータ231a(信号処理モジュール30のFPGA33を画像処理モジュール30aのCPUコア33aとして機能するようにプログラムするためのコンフィグレーション情報)が記憶される揮発性のRAM32を設ける。そして、コンフィグレーションによってCPUコア33aとして機能させたFPGA33を、RAM32にアクセス可能なように構成する。これにより、FPGA33のCONFIGデータ231aが記憶される信号処理モジュール30の揮発性のRAM32を、コンフィグレーション後のFPGA33がCPUコア33aとして動作する際に用いられる種々のデータを記憶するためのメモリとしても用いることができる。その結果、コンフィグレーション後のFPGA33がCPUコア33aとして動作する際に用いられる種々のデータを記憶するためのメモリを、FPGA33のCONFIGデータ231aが記憶されるメモリとは別個に設ける必要がないので、その分、信号処理モジュール30の小型化を図ることができる。
また、第1実施形態では、信号処理モジュール30(画像処理モジュール30a)のRAM32にCPUコア33aのプログラムデータ232aも記憶して、RAM32に記憶されたプログラムデータ232aに基づいてCPUコア33aを動作させる。これにより、CPUコア33aのプログラムデータ232aを記憶するためのメモリをRAM32とは別個に設ける必要がないので、信号処理モジュール30の小型化をより図ることができる。
また、第1実施形態では、上記のように、信号処理モジュール30(画像処理モジュール30a)のRAM32を、CPUコア33aの作業用メモリとして用いる。これにより、CPUコア33aの作業用メモリをRAM32とは別個に設ける必要がないので、信号処理モジュール30の小型化をさらに図ることができる。
また、第1実施形態では、上記のように、信号処理モジュール30(画像処理モジュール30a)のRAM32を、CPUモジュール20のCPU21からもアクセス可能なように構成する。これにより、信号処理モジュール30(画像処理モジュール30a)のRAM32がCPUモジュール20のCPU21からアクセス不可能に構成される場合と異なり、制御の利便性を高めることができる。
また、第1実施形態では、上記のように、信号処理モジュール30(画像処理モジュール30a)のアクセス制御部34は、RAM32に接続されるバス36bの使用権の競合を調停することにより、RAM32へのアクセスを制御する。これにより、アクセス制御部34によって、RAM32へのアクセスが競合するのを容易に回避することができる。
また、第1実施形態では、上記のように、信号処理モジュール30(画像処理モジュール30a)のFPGA33のコンフィグレーションを、CPUモジュール20の自己診断と並行して行うように構成する。これにより、信号処理モジュール30(画像処理モジュール30a)のFPGA33のコンフィグレーションと、CPUモジュール20の自己診断とを効率的に行うことができる。
また、第1実施形態では、上記のように、信号処理モジュール30を複数設け、複数の信号処理モジュール30の各々のFPGA33のコンフィグレーションを、CPUモジュール20の自己診断と並行して行うように構成する。これにより、信号処理モジュール30が複数ある場合でも、複数の信号処理モジュール30の各々のFPGA33のコンフィグレーションと、CPUモジュール20の自己診断とを効率的に行うことができる。
また、第1実施形態では、上記のように、信号処理モジュール30(画像処理モジュール30a)に、信号処理モジュール30(画像処理モジュール30a)に接続されるカメラ200がCPUコア33aを介さずにRAM32にアクセス可能にするためのDMAコントローラ35を設ける。これにより、DMAコントローラ35によって、たとえばカメラ200と信号処理モジュール30との間で転送される画像データのデータ量が大きい場合、および、その画像データの転送速度が高速である場合に、その画像データを、CPUコア33aを介さずにカメラ200とRAM32との間で直接転送することができる。その結果、カメラ200と信号処理モジュール30(画像処理モジュール30a)との間の画像データの転送を高速化することができるとともに、画像データの転送時におけるCPUコア33aの負担を軽減することができる。
また、第1実施形態では、上記のように、信号処理モジュール30(画像処理モジュール30a)のRAM32に、信号処理モジュール30(画像処理モジュール30a)に接続されるカメラ200から入力される画像データも記憶する。これにより、カメラ200から入力される画像データを記憶するためのメモリをRAM32とは別個に設ける必要がないので、信号処理モジュール30の小型化をより図ることができる。
(第2実施形態)
次に、図5を参照して、第2実施形態によるPLC(プログラマブルロジックコントローラ)101の構成について説明する。この第2実施形態では、信号処理モジュール30にカメラ200が接続されている上記第1実施形態と異なり、信号処理モジュール30にモータ301およびエンコーダ302に接続されたモータ制御装置303が接続されている例について説明する。なお、PLC101は、「制御装置」の一例である。また、モータ制御装置303は、「外部入力装置」の一例である。
次に、図5を参照して、第2実施形態によるPLC(プログラマブルロジックコントローラ)101の構成について説明する。この第2実施形態では、信号処理モジュール30にカメラ200が接続されている上記第1実施形態と異なり、信号処理モジュール30にモータ301およびエンコーダ302に接続されたモータ制御装置303が接続されている例について説明する。なお、PLC101は、「制御装置」の一例である。また、モータ制御装置303は、「外部入力装置」の一例である。
図5に示すように、第2実施形態によるPLC101の信号処理モジュール30には、モータ301およびエンコーダ302に接続されたモータ制御装置303がケーブル43を介して接続されている。この第2実施形態では、PLC101の電源投入時に行われるコンフィグレーションにより、信号処理モジュール30のFPGA33が、エンコーダ302からのフィードバックなどに対して信号処理を行うための信号処理モジュール30bのCPUコア33bとして機能するようにプログラムされる。
ここで、第2実施形態では、信号処理モジュール30のI/F回路31bは、ケーブル43を介してモータ制御装置303に出力されるアナログ信号やPWM信号などに対応する回路を含むように構成されている。
また、第2実施形態では、PLC101のCPUモジュール20のFLASHメモリ23に、信号処理モジュール30のFPGA33をCPUコア33bとして機能するようにプログラムするための情報(コンフィグレーション情報)を含むCONFIGデータ231bと、コンフィグレーション後のFPGA33をCPUコア33bとして動作させるための動作プログラムを含むプログラムデータ232bとが記憶されている。これらCONFIGデータ231bおよびプログラムデータ232bは、上記第1実施形態と同様に、PLC101の電源投入時にCPUモジュール20側から信号処理モジュール30b側に向けて送信され、信号処理モジュール30bのRAM32に記憶される。
また、第2実施形態では、上記第1実施形態と同様に、信号処理モジュール30には、揮発性のランダムアクセスメモリであるRAM32と、SRAM方式のフィールドプログラマブルゲートアレイであるFPGA33とが設けられている。FPGA33は、RAM32に記憶されたCONFIGデータ231bに基づいて行われるコンフィグレーションにより、エンコーダ302からのフィードバックなどに対して信号処理(モータ制御)を行うためのCPUコア33bとしてプログラムされるように構成されている。そして、このように信号処理を行うCPUコア33bとしてプログラムされたFPGA33は、RAM32に記憶されたプログラムデータ232bに基づいて動作するように構成されている。
また、この第2実施形態では、上記第1実施形態と同様に、コンフィグレーション後のFPGA33(CPUコア33b)は、RAM32にアクセス可能なように構成されている。すなわち、RAM32は、コンフィグレーション後のFPGA33(CPUコア33b)がエンコーダ302からのフィードバックなどに対して信号処理を行う際の作業用メモリとして用いられるように構成されている。
なお、第2実施形態のその他の構成は、上記第1実施形態(図1および図2参照)と同様である。
また、第2実施形態によるPLC101の電源投入時における処理フロー(コンフィグレーションによってFPGA33がCPUコア33bとして機能するようにプログラムされる際における処理フロー)も、上記第1実施形態(図3および図4参照)と同様である。
また、第2実施形態の効果も、上記第1実施形態と同様である。
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
たとえば、上記第1および第2実施形態では、CPUを含むCPUモジュール(制御モジュール)と、FPGA(フィールドプログラマブルゲートアレイ)およびRAM(揮発性メモリ)を含む信号処理モジュールとを備えたPLC(制御装置)を示したが、フィールドプログラマブルゲートアレイおよび揮発性メモリを含む信号処理モジュールを備えた一般的な信号処理装置であってもよい。
また、上記第1実施形態では、図2に示すように、PLC100の信号処理モジュール30を、カメラ200が接続される画像処理モジュール30aとして機能させる例を示したが、図6に示した第1実施形態の第1変形例のように、PLC102の信号処理モジュール30を、カメラ401、A/D変換器(アナログ/デジタル変換器)402、メモリ403および画像処理部404を含む画像処理装置400が接続される信号処理モジュール30cとして機能させてもよい。なお、PLC102は、「制御装置」の一例である。また、画像処理装置400は、「外部入力装置」の一例である。
図6に示した第1変形例では、信号処理モジュール30のFPGA33は、コンフィグレーションにより、画像処理装置404内のA/D変換器402および画像処理部404によって画像処理された後の画像データに対して所定の信号処理を行う信号処理モジュール30cのCPUコア33cとして機能するようにプログラムされる。また、図6に示した第1変形例では、信号処理モジュール30のI/F回路31cは、シリアル通信機能を有する回路を含むように構成されている。
ここで、図6に示した第1変形例によるコンフィグレーションは、図1〜図4に示した上記第1実施形態と同様に、CPUモジュール20のFLASHメモリ23から信号処理モジュール30(30c)の揮発性のRAM32に転送されて記憶されたCONFIGデータ231cに基づいて行われる。また、図6に示した第1変形例によるコンフィグレーション後のFPGA33(CPUコア33c)は、CPUモジュール20のFLASHメモリ23から信号処理モジュール30(30c)のRAM32に転送されて記憶されたプログラムデータ232cに基づいて動作する。
なお、図6に示した第1変形例においても、図1〜図4に示した上記第1実施形態と同様に、コンフィグレーション後のFPGA33(CPUコア33c)は、RAM32にアクセス可能なように構成されている。すなわち、RAM32は、コンフィグレーション後のFPGA33(CPUコア33b)が所定の信号処理を行う際の作業用メモリとして用いられるように構成されている。
図6に示した第1変形例では、信号処理モジュール30cには、画像処理装置400の画像処理部404によって画像処理が行われた後のデータが入力されるので、信号処理モジュール30cに入力されるデータのデータ量は比較的小さい。このため、図6に示した第1変形例では、図1〜図4に示した上記第1実施形態と異なり、画像処理装置400がFPGA33(CPUコア33b)を介さずにRAM32にアクセス可能にするためのDMAコントローラ(ダイレクトメモリアクセス制御部)を信号処理モジュール30cに設ける必要がないので、装置構成を簡略化することができる。
また、上記第1実施形態では、図2に示すように、PLC100の信号処理モジュール30を、カメラ200が接続される画像処理モジュール30aとして機能させる例を示したが、図7に示した第1実施形態の第2変形例のように、PLC103の信号処理モジュール30を、通信装置500が接続される通信処理モジュール30dとして機能させてもよい。なお、PLC103は、「制御装置」の一例である。また、通信装置500は、「外部入力装置」の一例である。
図7に示した第2変形例では、信号処理モジュール30のFPGA33は、コンフィグレーションにより、通信装置500から入力されるデータなどに対して所定の信号処理を行う通信処理モジュール30dのCPUコア33dとして機能するようにプログラムされる。また、図7に示した第2変形例では、信号処理モジュール30のI/F回路31dは、シリアル通信機能を有する回路を含むように構成されている。
ここで、図7に示した第2変形例によるコンフィグレーションは、図1〜図4に示した上記第1実施形態と同様に、CPUモジュール20のFLASHメモリ23から信号処理モジュール30dの揮発性のRAM32に転送されて記憶されたCONFIGデータ231dに基づいて行われる。また、図7に示した第2変形例によるコンフィグレーション後のFPGA33(CPUコア33d)は、CPUモジュール20のFLASHメモリ23から信号処理モジュール30dのRAM32に転送されて記憶されたプログラムデータ232dに基づいて動作する。
なお、図7に示した第2変形例においても、図1〜図4に示した上記第1実施形態と同様に、コンフィグレーション後のFPGA33(CPUコア33d)は、RAM32にアクセス可能なように構成されている。すなわち、RAM32は、コンフィグレーション後のFPGA33(CPUコア33d)が通信装置500から入力されるデータなどに対して信号処理を行う際の作業用メモリとして用いられるように構成されている。
図7に示した第2変形例では、通信装置500が高速通信を行う装置である場合には、通信装置500から信号処理モジュール30(通信処理モジュール30d)に入力されるデータのデータ量が比較的大きくなる。このため、この図7に示した第2変形例では、図1〜図4に示した上記第1実施形態と同様に、信号処理モジュール30(通信処理モジュール30d)には、DMAコントローラ35が設けられている。これにより、通信装置500から入力されるデータのデータ量が大きい場合、および、そのデータの転送速度が高速である場合には、そのデータ量の大きいデータを、CPUコア33dを介さずに直接RAM32に転送することができる。その結果、信号処理モジュール30(通信処理モジュール30d)内におけるデータの転送を高速化することができるとともに、データの転送時におけるCPUコア33dの負担を軽減することができる。
また、上記第2実施形態では、図5に示すように、PLC100の信号処理モジュール30を、モータ301およびエンコーダ302に接続されたモータ制御装置303が接続される信号処理モジュール30bとして機能させる例を示したが、図8に示した第1実施形態の第3変形例のように、PLC104の信号処理モジュール30を、エンコーダ302に直接接続される信号処理モジュール30eとして機能させてもよい。なお、PLC104は、「制御装置」の一例である。また、エンコーダ302は、「外部入力装置」の一例である。
図8に示した第3変形例では、信号処理モジュール30のFPGA33は、コンフィグレーションにより、エンコーダ302から入力される信号に対して所定の信号処理を行う信号処理モジュール30eのCPUコア33eとして機能するようにプログラムされる。また、図8に示した第3変形例では、信号処理モジュール30のI/F回路31dは、エンコーダ302から入力される信号に対応する回路を含むように構成されている。
図8に示した第3変形例によるコンフィグレーションは、図1〜図4に示した上記第1実施形態と同様に、CPUモジュール20のFLASHメモリ23から信号処理モジュール30(30e)の揮発性のRAM32に転送されて記憶されたCONFIGデータ231eに基づいて行われる。また、図8に示した第3変形例によるコンフィグレーション後のFPGA33(CPUコア33e)は、CPUモジュール20のFLASHメモリ23から信号処理モジュール30(30e)のRAM32に転送されて記憶されたプログラムデータ232eに基づいて動作する。
なお、図8に示した第3変形例においても、図1〜図4に示した上記第1実施形態と同様に、コンフィグレーション後のFPGA33(CPUコア33e)は、RAM32にアクセス可能なように構成されている。すなわち、RAM32は、コンフィグレーション後のFPGA33(CPUコア33e)が所定の信号処理を行う際の作業用メモリとして用いられるように構成されている。
図8に示した第3変形例では、エンコーダ302から信号処理モジュール30eに入力されるデータは、パルス信号などからなるので、そのデータ量は比較的小さい。このため、図8に示した第3変形例では、図1〜図4に示した上記第1実施形態と異なり、エンコーダ302がFPGA33(CPUコア33e)を介さずにRAM32にアクセス可能にするためのDMAコントローラ(ダイレクトメモリアクセス制御部)を信号処理モジュール30eに設ける必要がないので、装置構成を簡略化することができる。
また、上記第1および第2実施形態では、アクセス制御部34を、RAM32に接続されたバス36bの使用権の競合を調停する機能を有するようにプログラムされたPLD(プログラムロジックデバイス)により構成する例を示したが、PLDではなく、専用のデバイスにより構成してもよい。
Claims (12)
- フィールドプログラマブルゲートアレイ(33)と、前記フィールドプログラマブルゲートアレイのコンフィグレーション情報(231a、231b、231c、231d、231e)が記憶される揮発性メモリ(32)とを含む信号処理モジュール(30、30a、30b、30c、30d、30e)を備え、
前記フィールドプログラマブルゲートアレイは、コンフィグレーション後においても前記揮発性メモリにアクセス可能なように構成されている、制御装置(100、101、102、103、104)。 - 前記フィールドプログラマブルゲートアレイは、前記揮発性メモリに記憶された前記コンフィグレーション情報に基づいてコンフィグレーションが行われることにより、前記信号処理モジュールの演算処理部(33a、33b、33c、33d、33e)として機能するように構成されており、
前記揮発性メモリは、前記演算処理部の動作プログラム(232a、232b、232c、232d、232e)も記憶されるように構成されており、
前記演算処理部は、前記揮発性メモリに記憶された前記動作プログラムに基づいて動作するように構成されている、請求項1に記載の制御装置。 - 前記揮発性メモリは、前記演算処理部の作業用メモリとして用いられるように構成されている、請求項2に記載の制御装置。
- CPU(21)を含む制御モジュール(20)をさらに備え、
前記揮発性メモリは、前記CPUからもアクセス可能なように構成されている、請求項1〜3のいずれか1項に記載の制御装置。 - 前記信号処理モジュールは、前記揮発性メモリへのアクセスを制御するアクセス制御部(34)をさらに含む、請求項1〜4のいずれか1項に記載の制御装置。
- 前記アクセス制御部は、前記揮発性メモリに接続されたバス(36b)の使用権の競合を調停することにより、前記揮発性メモリへのアクセスを制御するように構成されている、請求項5に記載の制御装置。
- CPU(21)を含む制御モジュール(20)をさらに備え、
前記フィールドプログラマブルゲートアレイのコンフィグレーションは、前記制御モジュールの自己診断と並行して行われるように構成されている、請求項1〜6のいずれか1項に記載の制御装置。 - 前記信号処理モジュールは、複数設けられており、
複数の前記信号処理モジュールの各々の前記フィールドプログラマブルゲートアレイのコンフィグレーションは、前記制御モジュールの自己診断と並行して行われるように構成されている、請求項7に記載の制御装置。 - 前記フィールドプログラマブルゲートアレイは、前記揮発性メモリに記憶された前記コンフィグレーション情報に基づいてコンフィグレーションが行われることにより、前記信号処理モジュールの演算処理部(33a、33d)として機能するように構成されており、
前記信号処理モジュールは、前記信号処理モジュールに接続される外部入力装置(200、500)が、前記演算処理部を介さずに、前記揮発性メモリにアクセス可能にするためのダイレクトメモリアクセス制御部(35)をさらに含む、請求項1〜8のいずれか1項に記載の制御装置。 - 前記揮発性メモリは、前記信号処理モジュールに接続される外部入力装置(200、302、303、400、500)から入力されるデータも記憶されるように構成されている、請求項1〜9のいずれか1項に記載の制御装置。
- 前記フィールドプログラマブルゲートアレイは、SRAM方式のフィールドプログラマブルゲートアレイである、請求項1〜10のいずれか1項に記載の制御装置。
- CPU(21)を含む制御モジュール(20)と、フィールドプログラマブルゲートアレイ(33)および揮発性メモリ(32)を含む信号処理モジュール(30、30a、30b、30c、30d、30e)とを備えた制御装置(100、101、102、103、104)の制御方法であって、
前記フィールドプログラマブルゲートアレイのコンフィグレーション情報(231a、231b、231c、231d、231e)を前記制御モジュールから取得して前記揮発性メモリに記憶するステップと、
前記揮発性メモリに記憶された前記コンフィグレーション情報に基づいてコンフィグレーションを行うことにより、前記フィールドプログラマブルゲートアレイを前記信号処理モジュールの演算処理部(33a、33b、33c、33d、33e)として機能させるステップと、
前記演算処理部から前記揮発性メモリへのアクセスを可能にして前記演算処理部により演算処理を行うステップとを備えた、制御装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014501882A JPWO2013128578A1 (ja) | 2012-02-28 | 2012-02-28 | 制御装置および制御装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014501882A JPWO2013128578A1 (ja) | 2012-02-28 | 2012-02-28 | 制御装置および制御装置の制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2013128578A1 true JPWO2013128578A1 (ja) | 2015-07-30 |
Family
ID=53770064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014501882A Pending JPWO2013128578A1 (ja) | 2012-02-28 | 2012-02-28 | 制御装置および制御装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPWO2013128578A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000353950A (ja) * | 1999-04-21 | 2000-12-19 | Lucent Technol Inc | 可解性問題を再構成可能なハードウエアを用いて解く仮想論理システム |
JP2001144261A (ja) * | 1999-09-27 | 2001-05-25 | Lucent Technol Inc | フィールド・プログラム可能ゲート・アレイにおけるプログラム可能な相互接続ネットワークのオンライン試験 |
JP2008293226A (ja) * | 2007-05-24 | 2008-12-04 | Renesas Technology Corp | 半導体装置 |
JP2009070226A (ja) * | 2007-09-14 | 2009-04-02 | Ricoh Co Ltd | マッチング装置 |
JP2011008519A (ja) * | 2009-06-25 | 2011-01-13 | Fujitsu Semiconductor Ltd | リコンフィグ演算装置を備えるコンピュータシステムおよびリコンフィグ演算装置 |
-
2012
- 2012-02-28 JP JP2014501882A patent/JPWO2013128578A1/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000353950A (ja) * | 1999-04-21 | 2000-12-19 | Lucent Technol Inc | 可解性問題を再構成可能なハードウエアを用いて解く仮想論理システム |
JP2001144261A (ja) * | 1999-09-27 | 2001-05-25 | Lucent Technol Inc | フィールド・プログラム可能ゲート・アレイにおけるプログラム可能な相互接続ネットワークのオンライン試験 |
JP2008293226A (ja) * | 2007-05-24 | 2008-12-04 | Renesas Technology Corp | 半導体装置 |
JP2009070226A (ja) * | 2007-09-14 | 2009-04-02 | Ricoh Co Ltd | マッチング装置 |
JP2011008519A (ja) * | 2009-06-25 | 2011-01-13 | Fujitsu Semiconductor Ltd | リコンフィグ演算装置を備えるコンピュータシステムおよびリコンフィグ演算装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013128578A1 (ja) | 制御装置および制御装置の制御方法 | |
CN110532211B (zh) | 总线系统 | |
US10002102B2 (en) | Low-pin microcontroller device with multiple independent microcontrollers | |
US20160267047A1 (en) | Low-Pin Microcontroller Device With Multiple Independent Microcontrollers | |
JP2016024829A (ja) | デバッグインターフェースを部分的にイネーブルするための装置 | |
JP6145987B2 (ja) | プログラマブルコントローラ、プログラマブルコントローラのデータバックアップ方法、プログラマブルコントローラの起動方法 | |
WO2016026823A1 (en) | Circuit arrangement for a safety i&c system | |
JP2014153964A (ja) | マイクロプログラムを更新可能な電子機器 | |
US8316168B2 (en) | Method and communications system for the configuration of a communications module containing a logic component | |
JPWO2013128578A1 (ja) | 制御装置および制御装置の制御方法 | |
US9971332B2 (en) | Input/output control device, input/output control method, and non-transitory computer-readable medium for selective activation of logical circuits | |
EP2488956A1 (en) | Direct peripheral interconnect | |
JP2016110499A (ja) | データ処理装置およびデータ処理方法 | |
CN104331024B (zh) | 自动控制方法及基于pc机的开放式数控系统 | |
US20230080696A1 (en) | Method, system, and device for software and hardware component configuration and content generation | |
JP2017520829A (ja) | マルチプロセッサコアデバイスのためにデバイスピン所有権を割り当てるためのデバイスおよび方法 | |
US20180196908A1 (en) | Hardware-configurable logic unit and microcontroller having such a hardware-configurable logic unit | |
JP6048249B2 (ja) | デバイス更新装置、及びデバイス更新方法 | |
JP2011248456A (ja) | 電子装置およびマイクロコントローラ | |
JP5774941B2 (ja) | コンフィグレーション装置及びコンフィグレーション方法 | |
JP2010191509A (ja) | プログラマブルコントローラおよびそれを用いたシステム | |
US20230259474A1 (en) | Method, system, and device for software and hardware component configuration and content generation | |
JP2008257415A (ja) | プログラム書き込み機能を有するコントローラ | |
EP2853965A1 (en) | Time deterministic human-machine interface device, and system and method for configuring the same | |
JP4073321B2 (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160308 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160913 |