説明

プログラマブルデバイス制御装置およびプログラマブルデバイス制御方法

【課題】プログラマブルデバイスを有する機能ブロックの追加または変更を容易に行うことのできるプログラマブルデバイス制御装置およびプログラマブルデバイス制御方法を提供する。
【解決手段】本発明におけるプログラマブルデバイス制御方法は、制御装置1に接続された複数のFPGA5の用途を示す種別コード31を読み出す読み出しステップ(S4)と、前記種別コード31に対応するプログラムを検索する検索ステップ(S5)と、前記検索ステップ(S5)により検索されたプログラムを各FPGA5に書き込む個別プログラム書き込みステップ(S6)とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラマブルデバイス制御装置およびプログラマブルデバイス制御方法に関し、特に、プログラマブルデバイスの自動プログラム書込みを行うプログラマブルデバイス制御装置プログラマブルデバイス制御方法に関する。
【背景技術】
【0002】
プルグラマブルデバイスは、ユーザがプログラムを書き込むことで、任意に回路を形成することのできるLSIである。プログラマブルデバイスとして、FPGA(Field Programmable Gate Array)およびPLD(Programmable Logic Device)等がある。
【0003】
プログラマブルデバイスは、揮発性記憶素子を使用しており、電源投入後に、毎回プログラムを書き込み、回路を形成する必要がある。
【0004】
図9は、従来のプログラマブルデバイス制御装置のブロック図である。
図9に示すように、従来のプログラマブルデバイス制御装置は、各FPGA101に対し、書き込むプログラムを記憶したROM102を配置している。従来のプログラマブルデバイスは、電源投入後に各FPGA101に対応するROM102に格納されているプログラムを書き込む。しかしならが、上記方法では、各FPGA101に書き込むプログラムを変更するためには、各FPGA101に対応するROM102を変更しなくてはならず面倒であるという問題がある。
【0005】
上記問題を解決する方法として、FPGA101に書き込むプログラムをプロセッサ等の制御装置またはホストコンピュータ等に記憶する方法がある(例えば、特許文献1)。
【0006】
図10は、FPGA101に書き込むプログラムをプロセッサ等の制御装置またはホストコンピュータ等に記憶する従来のプログラマブルデバイス制御装置のブロック図である。
【0007】
図10に示すプログラマブルデバイス制御装置は、複数のFPGA101に書き込む複数のプログラムを、プロセッサ103内のROM105に一括して格納する。これにより、各FPGA105に書き込むプログラムを一括して管理することができる。
【0008】
また別の方法として、外部I/F107を介し、ホストコンピュータ等に格納されているプログラムをプロセッサのRAM106に読込み、FPGA101に書き込む方法がある。
【特許文献1】特開2002−342085号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、FPGA101に書き込むプログラムをプロセッサ等の制御装置またはホストコンピュータ等に記憶する方法では、制御装置が、制御装置に接続されているどのFPGA101に、どのプログラムを書き込むかの情報を有している必要がある。よって、FPGA101を有する機能ブロックを追加または変更する場合、ユーザは、FPGA101に書き込むプログラムの情報を新たに制御装置に入力する必要がある。すなわち、ユーザは、制御装置に接続するFPGA101を有する機能ブロックを追加または変更するハード変更と、FPGAに書き込むプログラム情報を追加または変更するソフト変更とを行う必要がある。よって、FPGA101を有する機能ブロックの追加または変更を行うことが面倒であるという問題がある。
【0010】
そこで、本発明は、FPGA101等のプログラマブルデバイスを有する機能ブロックの追加または変更を容易に行うことのできるプログラマブルデバイス制御装置およびプログラマブルデバイス制御方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するために、本発明に係るプログラマブルデバイス制御方法は、制御装置に接続された複数のプログラマブルデバイスの用途を示す種別コードを読み出す読み出しステップと、前記種別コードに対応するプログラムデータを検索する検索ステップと、前記検索ステップにより検索されたプログラムデータを各プログラマブルデバイスに書き込む個別プログラム書き込みステップとを有する。
【0012】
これにより、識別コードから各プログラマブルデバイスに書き込むプログラムデータを検索する。すなわち、制御装置は、各プログラマブルデバイスに書き込むプログラムデータの情報を有していなくても、識別コードより、自動的に各プログラマブルデバイスに書き込むプログラムデータを検索する。よって、制御装置に接続さているプログラマブルデバイスの変更または追加をする場合に、制御装置のプログラム変更をする必要がない。すなわち、制御装置に接続されているプログラマブルデバイスの変更(ハード変更)をするだけで、制御装置のソフト変更を行う必要はない。また、プログラマブルデバイスを変更しなくても、種別コードを変更するだけで、機能変更を行うことができる。よって、本発明におけるプログラマブルデバイス制御方法は、プログラマブルデバイスの追加または変更を容易に行うことができる。
【0013】
また、前記プログラマブルデバイス制御方法は、さらに、前記複数のプログラマブルデバイスに共通プログラムを書き込む共通プログラム書き込みステップを有し、前記読み出しステップでは、前記書き込まれた共通プログラムによってプログラマブルデバイスに形成された回路により種別コードを読み出してもよい。
【0014】
これにより、各プログラマブルデバイスに識別コード読み出し回路が形成される。よって、各プログラマブルデバイスを有する機能ブロックに、識別コードの読み出し機能がない場合でも、各プログラマブルデバイスに形成された識別コード読み出し回路を用いることで、識別コードの読み出しを行うことができる。
【0015】
また、前記プログラマブルデバイス制御方法は、さらに、前記複数のプログラマブルデバイスの個数を判定する個数判定ステップを有し、前記読み出しステップでは、前記個数判定ステップによる判定結果に基づき、種別コードを読み出し、前記共通プログラム書き込みステップでは、前記個数判定ステップによる判定結果に基づき、複数のプログラマブルデバイスに共通プログラムを書き込み、前記個別プログラム書き込みステップでは、前記個数判定ステップによる判定結果に基づき、複数のプログラマブルデバイスに個別プログラムを書き込んでもよい。
【0016】
これにより、制御装置に接続されているプログラマブルデバイスの個数を判定することができる。よって、制御装置が、制御装置に接続されているプログラマブルデバイスの個数の情報を有さない場合でも、自動的に接続されているプログラマブルデバイスの個数の情報を判定することができる。
【0017】
また、前記プログラマブルデバイス制御方法は、さらに、前記複数のプログラマブルデバイスがそれぞれ有する、前記プログラマブルデバイスの固有の仕様を示す機能コードを読み出すことで、各プログラマブルデバイスの固有の仕様を判定する機能判定ステップを有し、前記読み出しステップでは、前記機能判定ステップによる判定結果に基づき、種別コードを読み出し、前記共通プログラム書き込みステップでは、前記機能判定ステップによる判定結果に基づき、複数のプログラマブルデバイスに共通プログラムを書き込み前記個別プログラム書き込みステップでは、前記機能判定ステップによる判定結果に基づき、複数のプログラマブルデバイスに個別プログラムを書き込んでもよい。
【0018】
これにより、制御装置に接続されているプログラマブルデバイスの固有の仕様(端子情報、動作速度および容量等)を判定することができる。よって、制御装置が、制御装置に接続されているプログラマブルデバイスの固有の仕様の情報を有さない場合でも、自動的に接続されているプログラマブルデバイスの固有の仕様の情報を判定することができる。
【0019】
また、前記個数判定ステップでは、前記複数のプログラマブルデバイスがそれぞれ有する第一のシフトレジスタを直列に接続した回路を用い、プログラマブルデバイスの個数を判定してもよい。
【0020】
また、前記共通プログラムにより形成された回路は、第二のシフトレジスタを有し、前記複数のFPGAの複数の第二のシフトレジスタは直列に接続され、前記読み出しステップでは、前記直列に接続された複数の第二のシフトレジスタにより形成された回路により種別コードを読み出してもよい。
【0021】
なお、本発明は、このようなプログラマブルデバイス制御方法として実現することができるだけでなく、プログラマブルデバイス制御方法に含まれる特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。また、プログラマブルデバイス制御方法に含まれる特徴的なステップを手段とするプログラマブルデバイス制御装置として実現することもできる。
【発明の効果】
【0022】
本発明は、FPGA101等のプログラマブルデバイスを有する機能ブロックの追加または変更を容易に行うことのできるプログラマブルデバイス制御装置およびプログラマブルデバイス制御方法を提供することができる。
【発明を実施するための最良の形態】
【0023】
以下、本発明に係るプログラマブルデバイス制御装置の実施の形態について、図面を参照しながら詳細に説明する。
【0024】
図1は、本実施の形態におけるプログラマブルデバイス制御装置の構成を示すブロック図である。
【0025】
図1に示すプログラマブルデバイス制御装置は、制御装置1と、機能ブロック2と、機能ブロック3と、終端装置4とを備える。
【0026】
制御装置1は、機能ブロック2および機能ブロック3の制御を行う、プロセッサ等である。
【0027】
機能ブロック2および3は、FPGA5と、種別コード格納部6とを備える。
FPGA5は、書き込まれたプログラムにより任意の回路構成を形成するプログラマブルデバイスである。
【0028】
種別コード格納部6は、機能ブロック2および3の用途を示した種別コード31を格納する。種別コード31は、各機能ブロック2および3のFPGA5に書き込まれるプログラムの情報を示したコードである。例えば、種別コード格納部6は、基板上の配線の組み合わせにより種別コード31を格納する。
【0029】
終端装置4は、機能ブロック3より出力された信号を折り返し、機能ブロック3に出力する。
【0030】
制御装置1は、機能ブロック2と接続される。機能ブロック2は、制御ブロック3と接続される。機能ブロック3は、終端装置4と接続される。
【0031】
制御装置1、機能ブロック2、機能ブロック3および終端装置4は、2つの信号経路7および8を有する。各信号経路7および8は、制御装置1、機能ブロック2、機能ブロック3および終端装置4の順に接続される。各信号経路7および8は、終端装置4で折り返し、機能ブロック3、機能ブロック2および制御装置1の順で接続される。このように、各信号経路7および8は、ループを形成する。
【0032】
信号経路7は、各FPGA5へのプログラムの書き込みに用いられる。
信号経路8は、種別コード31の読み出しに用いられる。
【0033】
図2は、図1に示す制御装置1のブロック図である。
制御装置1は、I/O制御部10および14と、個数判定部11と、機能判定部12と、共通プログラム書き込み部13と、種別コード読み出し部15と、種別コードデータ格納部16と、プルグラムデータ格納部18と、プログラム検索部20と、個別プログラム書き込み部21とを備える。
【0034】
I/O制御部10は、信号経路7と制御装置1との信号の受け渡しを行う入力インターフェース等である。
【0035】
個数判定部11は、I/O制御部10を介し、信号経路7より入力された信号より、制御装置1に接続されている機能ブロックの個数および接続順序を判定する。
【0036】
機能判定部12は、I/O制御部10を介し、信号経路7より入力された信号より、各機能ブロックの固有の仕様(端子情報、動作速度および容量等)を判定する。
【0037】
共通プログラム書き込み部13は、個数判定部11および機能判定部12の判定結果に基づき、I/O制御部10および信号経路7を介し、機能ブロック2および3に共通プログラムおよび共通プログラムの書き込み命令を送る。ここで共通プログラムとは、各機能ブロック2および3の種別コード31を読み出すための回路を形成するプログラムである。
【0038】
I/O制御部14は、信号経路8と制御装置1との信号の受け渡しを行う入力インターフェース等である。
【0039】
種別コード読み出し部15は、I/O制御部14を介し、信号経路8より各機能ブロック2および3の用途を示す種別コード31を読み出す。
【0040】
種別コードデータ格納部16は、種別コード31と、FPGA5に書き込むプログラムとの関係を示す種別コードデータ17を格納する、ハードディスク等である。
【0041】
プログラムデータ格納部18は、FPGA5に書き込む複数のプログラムデータ19を格納する、ハードディスク等である。
【0042】
プログラム検索部20は、種別コード読み出し部15により読み出された各機能ブロック2および3の種別コード31と、種別コードデータ格納部16に格納されている種別コードデータ17とから、各機能ブロック2および3に書き込むプログラムを検索する。
【0043】
個別プログラム書き込み部21は、プログラム検索部20の検索結果より、各機能ブロックに書き込みプログラムデータ19をI/O制御部10および信号経路7を介して、各機能ブロックに送る。
【0044】
図3は、図1に示す機能ブロック2の構成を示すブロック図である。なお、機能ブロック3も同様の構成である。
【0045】
機能ブロック2は、FPGA5と、種別コード格納部6と、I/O制御部32と、プログラム書き込み部33とを備える。
【0046】
I/O制御部32は、機能ブロック2と信号経路7との信号の受け渡しを行う。ここでは図示していないが、I/O制御部32は、シフトレジスタを備える。また、I/O制御部32は、機能ブロックの機能を示す機能コードを格納する。例えば、I/O制御部32は、JTAG回路等で形成される。
【0047】
プログラム書き込み部33は、制御装置1からI/O制御部32を介し送られてきたプログラムデータ19をFPGA5に書き込む。
【0048】
信号経路7は、制御装置1のI/O制御部10、機能ブロック2のI/O制御部32、機能ブロック3のI/O制御部32、終端装置4、機能ブロック3のI/O制御部32、機能ブロック2のI/O制御部32および制御装置1のI/O制御部10の順に電気的に直列に接続された折り返しループ経路を構成する。また、信号経路8は、制御装置1のI/O制御部14、機能ブロック2のFPGA5、機能ブロック3のFPGA5、終端装置4、機能ブロック3のFPGA5、機能ブロック2のFPGA5および制御装置1のI/O制御部14の順に電気的に直列に接続された折り返しループ経路を構成する。
【0049】
信号経路7において、機能ブロック2のI/O制御部32、および、機能ブロック3のI/O制御部32のシフトレジスタは直列に接続される。
【0050】
次に、本実施の形態におけるプログラマブルデバイス制御装置の動作を説明する。
図4は、本実施の形態におけるプログラマブルデバイス制御装置のプログラム書き込み動作を示すフローチャートである。
【0051】
プログラマブルデバイス制御装置に電源が投入されると、制御装置1に接続されているFPGAのプログラム書き込み動作が開始される。
【0052】
図5は、電源投入時の機能ブロック2および3の回路構成を模式的に示す図である。図5に示すように、電源投入時の機能ブロック2および3のFPGA5には、プログラムが書き込まれておらず、FPGA5には、回路が形成されていない。また、図5に示すように、I/O制御部32は、シフトレジスタ51を備える。
【0053】
まず、制御装置1の個数判定部11は、制御装置1に接続されているFPGA5を有する機能ブロックの個数を判定する。
【0054】
図6は、接続されている機能ブロックの個数判定に用いられる信号のタイミングチャートを示す図である。図6に示す出力信号62は、個数判定部11より出力される信号である。データ63は、機能ブロック2のI/O制御部32のシフトレジスタ51が保持するデータである。データ64は、機能ブロック3のI/O制御部32のシフトレジスタ51が保持するデータである。入力信号65は、個数判定部11に入力される信号である。なお、電源投入時には、機能ブロック2および機能ブロック3のI/O制御部32の各シフトレジスタ51の保持するデータは、Lレベルであるとする。
【0055】
個数判定部11は、I/O制御部10を介し、信号経路7に図6に示すようなクロック信号61および出力信号62を出力する。クロック信号61および出力信号62は、機能ブロック2のI/O制御部32が備えるシフトレジスタ51に送られる。これにより、時刻T1において、機能ブロック2のI/O制御部32が備えるシフトレジスタ51は、クロック信号61の立ち上がりに同期し、出力信号62の信号レベルを取り込む。すなわち、機能ブロック2のI/O制御部32が備えるシフトレジスタ51の格納するデータ63がHレベルになる。データ63は、機能ブロック3のI/O制御部32が備えるシフトレジスタ51のシリアル入力に送られる。これにより、時刻T2において、機能ブロック3のI/O制御部32が備えるシフトレジスタ51は、クロック信号61の立ち上がりに同期し、データ63の信号レベルを取り込む。すなわち、機能ブロック3のI/O制御部32が備えるシフトレジスタ51の保持するデータ64は、Hレベルになる。データ64は、終端装置4、機能ブロック3および機能ブロック2を介し、個数判定部11に入力される。個数判定部11は、出力信号62にHレベルを出力してから、入力信号65がHレベルに変化するまでのクロック数をカウントすることで、接続されている機能ブロックの個数を判定する。すなわち、出力信号62にHレベルを出力した後、2クロックで入力信号65がHレベルに変化したので、個数判定部11は、接続されている機能ブロックは2個であると判定する(S1)。
【0056】
次に、制御装置1の機能判定部12は、I/O制御部32が格納している機能コードを出力する命令を、信号経路7を介し、各機能ブロックのI/O制御部32に、送る。各機能ブロックのI/O制御部32は、送られてきた命令に従い機能コードを出力する。出力された機能コードは、信号経路7を介し、機能判定部12に送られる。機能判定部12は、送られてきた種別コード31と、機能判定部12が格納しているテーブルとから、各機能ブロックの固有の仕様(端子情報、動作速度および容量等)を判定する(S2)。
【0057】
制御装置1の共通プログラム書き込み部13は、ステップS1およびステップS2で判定された機能ブロックの個数および固有の仕様に基づき、各機能ブロックに共通プログラムの書き込み命令を送る。すなわち、共通プログラム書き込み部13は、I/O制御部10を介し、信号経路7に共通プログラムおよび書き込み命令を送る。各機能ブロックのI/O制御部32は、送られてきた共通プログラムを、プログラム書き込み部33に送る。プログラム書き込み部33は、共通プログラムをFPGA5に書き込む。これにより、FPGA5は、種別コード格納部6に格納されている種別コード31を読み出す回路を構成する(S3)。図7は、共通プログラム書き込み後の、機能ブロック2および3の回路構成を模式的に示す図である。図7に示すように、FPGA5にシフトレジスタ71が形成される。シフトレジスタ71は、信号経路8および種別コード格納部6に接続される。シフトレジスタ71は、種別コード格納部6に格納されている種別コード31を取り込み、信号経路8に出力する機能を有する。また、各機能ブロックのシフトレジスタ71は、信号経路8を介し、電気的に直列に接続される。
【0058】
制御装置1の種別コード読み出し部15は、ステップS1およびステップS2で判定された機能ブロックの個数および固有の仕様に基づき、各機能ブロックに種別コード31の読み出し命令を送る。すなわち、種別コード読み出し部15は、I/O制御部14を介し、信号経路8に種別コード読み出し命令を送る。各機能ブロックのI/O制御部32は、信号経路8より種別コード読み出し命令を受け取り、送られてきた命令をFPGA5に送る。FPGA5は、送られてきた命令に従い、種別コード格納部6に格納されている種別コード31を読み出す。すなわち、FPGA5に形成されたシフトレジスタ71は、種別コード31を取り込み、信号経路8に順次出力する。読み出された種別コード31は、信号経路8およびI/O制御部14を介し、種別コード読み出し部15に送られる(S4)。
【0059】
制御装置1のプログラム検索部20は、読み出し部15に送られた各機能ブロックの種別コード31と、種別コードデータ格納部16に格納されている種別コードデータ17とから、各機能ブロックに書き込むプログラムデータ19を検索する(S5)。
【0060】
個別プログラム書き込み部21は、プログラム検索部20による検索結果より、各機能ブロックに書き込むプログラムデータ19を取得する。個別プログラム書き込み部21は、取得したプログラムデータ19を、ステップS1およびステップS2で判定された機能ブロックの個数および固有の仕様に基づき、各機能ブロックに送る。すなわち、個別プログラム書き込み部21は、I/O制御部10を介し、信号経路7に、プログラム書き込み命令および各機能ブロックのFPGA5に書き込むプログラムデータ19を送る。各機能ブロックのI/O制御部32は、送られてきたプログラムデータ19を、プログラム書き込み部33に送る。プログラム書き込み部33は、プログラムデータ19をFPGA5に書き込む。これにより、FPGA5は、種別コード格納部6に格納されている種別コード31に対応する機能を有する回路を構成する(S6)。図8は、ステップS6におけるプログラム書き込み後の機能ブロック2および3の回路構成を模式的に示す図である。図8に示すように、例えば、FPGA5に、I/O制御部81と、制御部82と、処理部83および84とが形成される。I/O制御部81は、信号経路85を介し、制御装置1および他の機能ブロックとの信号の受け渡しを行う。制御部82は、処理部83および84の制御を行う。処理部83および84は、書き込まれたプログラムデータ19に対応する、任意の処理機能を有する。例えば、処理部83および84は、画像処理または音声処理等を行う。
【0061】
以上により、本実施の形態におけるプログラマブルデバイス制御装置は、ステップS1において、制御装置1に接続されている機能ブロックの個数を判定する。これにより、制御装置1に接続されている機能ブロックの個数の情報を制御装置1が有していない場合でも、自動的に制御装置1に接続されている機能ブロックの個数を判定することができる。
【0062】
また、ステップS2において、制御装置1に接続されている機能ブロックの固有の仕様を判定する。これにより、制御装置1に接続されている機能ブロックの固有の仕様の情報を有さない場合でも、自動的に接続されている機能ブロックの固有の仕様の情報を判定することができる。
【0063】
また、ステップS3〜S5において、各機能ブロックの種別コード31を読み出すためのプログラムを書き込み、種別コード31を読み出す。これにより、制御装置1が、各機能ブロックのFPGA5に書き込むプログラムの情報を有していなくても、自動的に各機能ブロックのFPGA5に書き込むプログラムを判定することができる。よって、接続する機能ブロックの変更または追加する場合に、制御装置1のプログラム変更をする必要がない。すなわち、制御装置1に接続する機能ブロックの変更(ハード変更)をするだけで、制御装置1のソフト変更を行う必要はない。また、機能ブロックを変更しなくとも、種別コード31を変更するだけで、プログラマブルデバイス制御装置の機能変更を行うことができる。よって、本実施の形態におけるプログラマブルデバイス制御装置は、FPGA5等のプログラマブルデバイスを有する機能ブロックの追加または変更を容易に行うことができる。
【0064】
以上、本発明の実施の形態に係るプログラマブルデバイス制御装置について説明したが、本発明は、この実施の形態に限定されるものではない。
【0065】
例えば、上記実施形態におけるプログラマブルデバイス制御装置は、終端装置4を介し信号を折り返しているが、終端装置4を用いなくともよい。例えば、基板上の配線等で信号を折り返してもよい。
【0066】
また、上記説明では、制御装置1に2個の機能ブロックが接続されているが、制御装置1に接続される機能ブロックの個数はこれに限らない。
【0067】
また、上記説明では、制御装置1に接続されている機能ブロック2および3は、FPGA5を有しているが、FPGA5を有さない機能ブロックが含まれてもよい。
【0068】
また、上記説明では、信号経路7および信号経路8は、制御装置1、機能ブロック2、機能ブロック3、終端装置4、機能ブロック3、機能ブロック2および制御装置1の順に接続されている。つまり、上りおよび下りの経路の両方で各機能ブロックを経由するループ経路を形成しているが、上りまたは下りの経路のどちらか一方で各機能ブロックを経由するループ経路を形成してもよい。すなわち、制御装置1、機能ブロック2、機能ブロック3、終端装置4および制御装置1の順に信号経路を形成してもよい。また、制御装置1、終端装置4、機能ブロック3、機能ブロック2および制御装置1の順に信号経路を形成してもよい。
【0069】
また、上記説明では、各機能ブロックは、1個のFPGA5を備えているが、複数のFPGA5を備えてもよい。なお、各機能ブロックが複数のFPGA5を備える場合には、各FPGAに対応する複数の種別コード31が各機能ブロックの種別コード格納部6に格納される。
【0070】
また、種別コードデータ17は、制御装置1内の種別コードデータ格納部16に格納されているが、これに限らない。例えば、ネットワークを介したホストコンピュータ等に種別コードデータ17を格納し、制御装置1が種別コードデータ17を読み出し使用してもよい。
【0071】
また、プログラムデータ19は、制御装置1内のプルグラムデータ格納部18に格納されているが、これに限らない。例えば、ネットワークを介したホストコンピュータ等にプログラムデータ19を格納し、制御装置1がプログラムデータ19を読み出し使用してもよい。
【0072】
また、上記説明では、電源投入時にプログラム書き込み動作が開始するとしているが、電源投入時以外にも、外部からのコマンド入力等の操作により、プログラム書き込み動作を開始してもよい。
【産業上の利用可能性】
【0073】
本発明は、プログラマブルデバイス制御装置およびプログラマブルデバイス制御方法に適用でき、特にFPGAを使用する工業用制御電子機器、デジタルAV応用機器、有線通信機器、無線通信機器および衛星通信機器等のプログラマブルデバイス制御装置およびプログラマブルデバイス制御方法に適用できる。
【図面の簡単な説明】
【0074】
【図1】本発明におけるプログラマブルデバイス制御装置のブロック図である。
【図2】制御装置1のブロック図である。
【図3】機能ブロック2のブロック図である。
【図4】プログラム書き込み動作を示すフローチャートである。
【図5】電源投入時の機能ブロック2の回路構成を示す図である。
【図6】機能ブロックの個数判定に用いられる信号のタイミングチャートを示す図である。
【図7】共通プログラム書き込み後の機能ブロック2の回路構成を示す図である。
【図8】プログラム書き込み後の機能ブロック2の回路構成を示す図である。
【図9】従来のプログラマブルデバイス制御装置のブロック図である。
【図10】従来のプログラマブルデバイス制御装置のブロック図である。
【符号の説明】
【0075】
1 制御装置
2、3 機能ブロック
4 終端装置
5、101 FPGA
6 種別コード格納部
7、8、85 信号経路
10、14、32、81 I/O制御部
11 個数判定部
12 機能判定部
13 共通プログラム書き込み部
15 種別コード読み出し部
16 種別コードデータ格納部
17 種別コードデータ
18 プルグラムデータ格納部
19 プログラムデータ
20 プログラム検索部
21 個別プログラム書き込み部
31 種別コード
33 プログラム書き込み部
51、71 シフトレジスタ
61 クロック信号
62 出力信号
63、64 データ
65 入力信号
82 制御部
83、84 処理部
102、105 ROM
103 プロセッサ
104 CPU
106 RAM
107 外部I/F

【特許請求の範囲】
【請求項1】
制御装置に接続された複数のプログラマブルデバイスの用途を示す種別コードを読み出す読み出しステップと、
前記種別コードに対応するプログラムデータを検索する検索ステップと、
前記検索ステップにより検索されたプログラムデータを各プログラマブルデバイスに書き込む個別プログラム書き込みステップとを有する
ことを特徴とするプログラマブルデバイス制御方法。
【請求項2】
前記プログラマブルデバイス制御方法は、さらに、
前記複数のプログラマブルデバイスに共通プログラムを書き込む共通プログラム書き込みステップを有し、
前記読み出しステップでは、前記書き込まれた共通プログラムによってプログラマブルデバイスに形成された回路により種別コードを読み出す
ことを特徴とする請求項1記載のプログラマブルデバイス制御方法。
【請求項3】
前記プログラマブルデバイス制御方法は、さらに、
前記複数のプログラマブルデバイスの個数を判定する個数判定ステップを有し、
前記読み出しステップでは、前記個数判定ステップによる判定結果に基づき、種別コードを読み出し、
前記共通プログラム書き込みステップでは、前記個数判定ステップによる判定結果に基づき、複数のプログラマブルデバイスに共通プログラムを書き込み、
前記個別プログラム書き込みステップでは、前記個数判定ステップによる判定結果に基づき、複数のプログラマブルデバイスに個別プログラムを書き込む
ことを特徴とする請求項2記載のプログラマブルデバイス制御方法。
【請求項4】
前記プログラマブルデバイス制御方法は、さらに、
前記複数のプログラマブルデバイスがそれぞれ有する、前記プログラマブルデバイスの固有の仕様を示す機能コードを読み出すことで、各プログラマブルデバイスの固有の仕様を判定する機能判定ステップを有し、
前記読み出しステップでは、前記機能判定ステップによる判定結果に基づき、種別コードを読み出し、
前記共通プログラム書き込みステップでは、前記機能判定ステップによる判定結果に基づき、複数のプログラマブルデバイスに共通プログラムを書き込み
前記個別プログラム書き込みステップでは、前記機能判定ステップによる判定結果に基づき、複数のプログラマブルデバイスに個別プログラムを書き込む
ことを特徴とする請求項2または3記載のプログラマブルデバイス制御方法。
【請求項5】
前記個数判定ステップでは、前記複数のプログラマブルデバイスがそれぞれ有する第一のシフトレジスタを直列に接続した回路を用い、プログラマブルデバイスの個数を判定する
ことを特徴とする請求項3記載のプログラマブルデバイス制御方法。
【請求項6】
前記共通プログラムにより形成された回路は、第二のシフトレジスタを有し、
前記複数のFPGAの複数の第二のシフトレジスタは直列に接続され、
前記読み出しステップでは、前記直列に接続された複数の第二のシフトレジスタにより形成された回路により種別コードを読み出す
ことを特徴とする請求項2記載のプログラマブルデバイス制御方法。
【請求項7】
制御装置に接続された複数のプログラマブルデバイスの種別情報を示す種別コードを読み出す読み出しステップと、
前記種別コードに対応するプログラムデータを検索する検索ステップと、
前記検索ステップにより検索されたプログラムデータを各プログラマブルデバイスに書き込む個別プログラム書き込みステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項8】
制御装置に接続された複数のプログラマブルデバイスと、
前記各プログラマブルデバイスの用途を示す種別コードを格納する種別コード格納手段と、
前記種別コードを読み出す読み出し手段と、
前記複数のプログラマブルデバイスに書き込む複数のプログラムデータを格納するプログラムデータ格納手段と、
前記複数のプログラムデータより前記読み出した種別コードに対応するプログラムデータを検索する検索手段と、
前記検索手段により検索されたプログラムデータを各プログラマブルデバイスに書き込む個別プログラム書き込み手段とを備える
ことを特徴とするプログラマブルデバイス制御装置。
【請求項9】
前記プログラマブルデバイス制御装置は、さらに、
前記複数のプログラマブルデバイスに共通プログラムを書き込む共通プログラム書き込み手段を備え、
前記読み出し手段は、前記書き込まれた共通プログラムによってプログラマブルデバイスに形成された回路により種別コードを読み出す
ことを特徴とする請求項8記載のプログラマブルデバイス制御装置。
【請求項10】
前記プログラマブルデバイス制御装置は、さらに、
前記複数のプログラマブルデバイスの個数を判定する個数判定手段を備え、
前記読み出し手段は、前記個数判定手段による判定結果に基づき、種別コードを読み出し、
前記共通プログラム書き込み手段は、前記個数判定手段による判定結果に基づき、複数のプログラマブルデバイスに共通プログラムを書き込み、
前記個別プログラム書き込み手段は、前記個数判定手段による判定結果に基づき、複数のプログラマブルデバイスに個別プログラムを書き込む
ことを特徴とする請求項9記載のプログラマブルデバイス制御装置。
【請求項11】
前記各プログラマブルデバイスは、前記各プログラマブルデバイスの固有の仕様を示す機能コードを格納する機能コード格納手段を備え、
前記プログラマブルデバイス制御装置は、さらに、
前記各プログラマブルデバイスの機能コード格納手段が格納する機能コードを読み出すことで、各プログラマブルデバイスの固有の仕様を判定する機能判定手段を備え、
前記読み出し手段では、前記機能判定手段による判定結果に基づき、種別コードを読み出し、
前記共通プログラム書き込み手段は、前記機能判定手段による判定結果に基づき、複数のプログラマブルデバイスに共通プログラムを書き込み
前記個別プログラム書き込み手段は、前記機能判定手段による判定結果に基づき、複数のプログラマブルデバイスに個別プログラムを書き込む
ことを特徴とする請求項9または10記載のプログラマブルデバイス制御装置。
【請求項12】
前記各プログラマブルデバイスは、第一のシフトレジスタを備え、
前記各プログラマブルデバイスの第一のシフトレジスタは、電気的に直列に接続され、
前記個数判定手段は、前記第一のシフトレジスタを直列に接続した回路を用い、プログラマブルデバイスの個数を判定する
ことを特徴とする請求項11記載のプログラマブルデバイス制御装置。
【請求項13】
前記共通プログラムにより形成された回路は、第二のシフトレジスタを備え、
前記複数のプログラマブルデバイスの複数の第二のシフトレジスタは電気的に直列に接続され、
前記読み出し手段は、前記直列に接続された複数の第二のシフトレジスタにより形成された回路により種別コードを読み出す
ことを特徴とする請求項9、10、11または12記載のプログラマブルデバイス制御装置。
【請求項14】
前記種別コードは、基板上の配線の組み合わせにより形成される
ことを特徴とする請求項13記載のプログラマブルデバイス制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2007−94603(P2007−94603A)
【公開日】平成19年4月12日(2007.4.12)
【国際特許分類】
【出願番号】特願2005−281033(P2005−281033)
【出願日】平成17年9月28日(2005.9.28)
【出願人】(305033620)久米電気株式会社 (3)
【Fターム(参考)】