(57)【特許請求の範囲】
【請求項１】
少なくとも１つのＦＰＧＡとＣＰＵとメモリとが互いに接続されて内蔵されたＦＰＧＡ搭載装置を備え、ｎ台（ｎ≧２）の前記ＦＰＧＡ搭載装置がネットワークを介して互いに接続され、そのうちの１台をマスタ装置、その他の（ｎ−１）台をスレーブ装置として、前記マスタ装置に接続された保守端末装置から前記スレーブ装置の前記ＦＰＧＡに対して書き換え保守作業を行うＦＰＧＡ搭載装置の遠隔保守システムであって、前記各ＦＰＧＡ搭載装置は、
前記ネットワークと前記ＦＰＧＡを接続するネットワークインタフェースと、
前記ＣＰＵと前記保守端末装置を接続する端末インタフェースと、
前記ＦＰＧＡ内に設けられ、自装置に接続された前記保守端末装置から前記端末インタフェース及び前記ＣＰＵを介してアクセス可能であり、自装置を前記マスタ装置及び前記スレーブ装置のいずれかに設定するマスタ／スレーブ設定手段と、
前記ＦＰＧＡ内に設けられ、自装置が前記マスタ装置である場合に、自装置と前記スレーブ装置に前記ＦＰＧＡの書き換えを実行させるＦＰＧＡ書き換え手段を有することを特徴とするＦＰＧＡ搭載装置の遠隔保守システム。 
【請求項２】
請求項１に記載のＦＰＧＡ搭載装置の遠隔保守システムであって、ユーザは、前記保守端末装置に表示されたマスタ／スレーブ設定画面から、前記ＣＰＵを経由して前記マスタ／スレーブ設定手段にアクセスし、前記保守端末装置が接続された前記ＦＰＧＡ搭載装置を前記マスタ装置及び前記スレーブ装置のいずれかに設定することを特徴とするＦＰＧＡ搭載装置の遠隔保守システム。
【請求項３】
請求項１に記載のＦＰＧＡ搭載装置の遠隔保守システムであって、前記マスタ装置の前記ＦＰＧＡ書き換え手段は、前記スレーブ装置に前記ＦＰＧＡの書き換えを実行させる際、自装置の前記メモリに格納されたＦＰＧＡ書き換え用データを読み出し、前記ネットワークを介して対象となる全ての前記スレーブ装置に送信した後、前記各スレーブ装置に対して前記ＦＰＧＡの書き換え指示を送信し、前記スレーブ装置の前記ＣＰＵは、受信した該ＦＰＧＡ書き換え用データを自装置の前記メモリに格納し、前記スレーブ装置の前記ＦＰＧＡは、前記メモリから該ＦＰＧＡ書き換え用データを読み出して前記ＦＰＧＡに書き込むことを特徴とするＦＰＧＡ搭載装置の遠隔保守システム。
【請求項４】
請求項３に記載のＦＰＧＡ搭載装置の遠隔保守システムであって、前記メモリは、ＦＰＧＡ書き換え用データを格納する複数のデータ格納領域を有し、それぞれの前記データ格納領域には、互いに異なるＦＰＧＡ書き換え用データが格納されることを特徴とするＦＰＧＡ搭載装置の遠隔保守システム。
【請求項５】
請求項４に記載のＦＰＧＡ搭載装置の遠隔保守システムであって、前記スレーブ装置の前記ＣＰＵは、前記ＦＰＧＡの書き換えを実行する際、前記メモリを前記マスタ装置から指定されたＦＰＧＡ書き換え用データに対応した前記データ格納領域に切替え、前記スレーブ装置の前記ＦＰＧＡは、該データ格納領域に格納されたＦＰＧＡ書き換え用データを読み出して前記ＦＰＧＡに書き込むことを特徴とするＦＰＧＡ搭載装置の遠隔保守システム。
【請求項６】
請求項３に記載のＦＰＧＡ搭載装置の遠隔保守システムであって、前記マスタ装置は、前記スレーブ装置にＦＰＧＡ書き換え用データを送信する際に、少なくとも２回以上の複数回に分割して送信することを特徴とするＦＰＧＡ搭載装置の遠隔保守システム。
【請求項７】
請求項１に記載のＦＰＧＡ搭載装置の遠隔保守システムであって、前記スレーブ装置の前記ＣＰＵは、前記ＦＰＧＡの書き換えを実行する際、自装置をリセットして前記ネットワークから離脱し、前記ＦＰＧＡのコンフィグレーション完了後、前記ネットワークに再度参入するネットワーク離脱及び再参入処理を行うことを特徴とするＦＰＧＡ搭載装置の遠隔保守システム。 
【請求項８】
請求項７に記載のＦＰＧＡ搭載装置の遠隔保守システムであって、前記ネットワーク離脱及び再参入処理は、対象となる全ての前記スレーブ装置において、順次１台ずつ行われることを特徴とするＦＰＧＡ搭載装置の遠隔保守システム。 
【請求項９】
請求項１に記載のＦＰＧＡ搭載装置の遠隔保守システムであって、前記ネットワーク上を流れるデータのデータフレームフォーマットとして、制御転送データ用フレームと、ＦＰＧＡ管理データ用フレームを定義したことを特徴とするＦＰＧＡ搭載装置の遠隔保守システム。
【請求項１０】
請求項９に記載のＦＰＧＡ搭載装置の遠隔保守システムであって、前記ＦＰＧＡ管理データ用フレームにはさらに、マスタ装置情報用、スレーブ装置情報用、ＦＰＧＡ書き換えデータ用、及びコマンド種別情報用のフレームがそれぞれ定義されていることを特徴とするＦＰＧＡ搭載装置の遠隔保守システム。
【請求項１１】
請求項１に記載のＦＰＧＡ搭載装置の遠隔保守システムであって、前記各ＦＰＧＡ搭載装置は、互いに異なるＦＰＧＡデータが書き込まれた複数のＦＰＧＡと、これら複数のＦＰＧＡの中から前記ネットワークインタフェースと接続されるＦＰＧＡを選択する切替スイッチを有しており、前記マスタ装置から前記ＦＰＧＡの書き換え指示を受信した前記スレーブ装置の前記ＣＰＵは、前記切替スイッチを動作し、前記マスタ装置から指定されたＦＰＧＡデータに対応した前記ＦＰＧＡを前記ネットワークインタフェースに接続することを特徴とするＦＰＧＡ搭載装置の遠隔保守システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続された複数のＦＰＧＡ搭載装置のＦＰＧＡ書き換え保守作業を遠隔で行うことが可能なＦＰＧＡ搭載装置の遠隔保守システムに関する。
【背景技術】
【０００２】
ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）を搭載した装置（以下、ＦＰＧＡ搭載装置と称す）のためのシステムとして、特許文献１では、複数のＦＰＧＡ搭載装置と管理装置をネットワークで接続し、ＦＰＧＡの開発／運用／保守を行うものが提示されている。この例では、管理装置は、アクセス可能な端末として、開発用端末、運用用端末、保守用端末とネットワークを介して接続され、ＦＰＧＡ搭載装置の開発、運用、保守時に、ネットワーク上に存在するＦＰＧＡ搭載装置のＦＰＧＡに対し、ＦＰＧＡデータの提供やＦＰＧＡの運用状況の確認を可能としている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３０６３４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のように、従来のＦＰＧＡ搭載装置のためのシステムにおいては、ＦＰＧＡ搭載装置のＦＰＧＡに対して運用、保守等を行う専用の管理装置をネットワーク上に設けていたので、システムのコストが高くなるという問題があった。さらに、ネットワーク上の本来のデータ転送に影響を及ぼし、データ転送の遅延の原因となっていた。
【０００５】
また、ＦＰＧＡ搭載装置のＦＰＧＡをネットワークインタフェースと直結してデータ転送を実現している場合、ネットワークを介してＦＰＧＡの書き換えを行った後、ＦＰＧＡを初期化する必要があるため、ネットワーク上の各装置が不用意に初期化されてしまい、データ転送が安定して行われないという問題があった。
【０００６】
本発明は、上記のような課題を解決するためになされたものであり、ネットワークを介して接続された複数のＦＰＧＡ搭載装置のＦＰＧＡ書き換え保守作業を、専用の管理装置を設置せずに行うことができ、ネットワーク上のデータ転送が安定して行われるＦＰＧＡ搭載装置の遠隔保守システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るＦＰＧＡ搭載装置の遠隔保守システムは、少なくとも１つのＦＰＧＡとＣＰＵとメモリとが互いに接続されて内蔵されたＦＰＧＡ搭載装置を備え、ｎ台（ｎ≧２）のＦＰＧＡ搭載装置がネットワークを介して互いに接続され、そのうちの１台をマスタ装置、その他の（ｎ−１）台をスレーブ装置として、マスタ装置に接続された保守端末装置からスレーブ装置のＦＰＧＡに対して書き換え保守作業を行うＦＰＧＡ搭載装置の遠隔保守システムであって、各ＦＰＧＡ搭載装置は、ネットワークとＦＰＧＡを接続するネットワークインタフェースと、ＣＰＵと保守端末装置を接続する端末インタフェースと、ＦＰＧＡ内に設けられ、自装置に接続された保守端末装置から端末インタフェース及び前記ＣＰＵを介してアクセス可能であり、自装置をマスタ装置及びスレーブ装置のいずれかに設定するマスタ／スレーブ設定手段と、ＦＰＧＡ内に設けられ、自装置がマスタ装置である場合に、自装置とスレーブ装置にＦＰＧＡの書き換えを実行させるＦＰＧＡ書き換え手段を有するものである。
【発明の効果】
【０００８】
本発明に係るＦＰＧＡ搭載装置の遠隔保守システムによれば、各ＦＰＧＡ搭載装置のＦＰＧＡ内に、マスタ／スレーブ設定手段とＦＰＧＡ書き換え手段を有するようにしたので、ネットワークを介して互いに接続されたｎ台（ｎ≧２）のＦＰＧＡ搭載装置のどれもがマスタ装置になることができ、マスタ装置に接続された保守端末装置からスレーブ装置のＦＰＧＡに対して書き換え保守作業を行うことが可能である。さらに、専用の管理装置を設置する必要がないため、システムの低コスト化及び簡略化が図られるとともに、ネットワーク上の本来のデータ転送に与える影響が抑えられ、データ転送を安定して行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１に係るＦＰＧＡ搭載装置の遠隔保守システムの構成を示す図である。
【図２】本発明の比較例である従来のＦＰＧＡ搭載装置の遠隔保守システムの構成を示す図である。
【図３】本発明の実施の形態１に係るＦＰＧＡ搭載装置の内部構成を示す図である。
【図４】本発明の実施の形態２に係るＦＰＧＡ搭載装置に搭載されたメモリの内部構成を示す図である。
【図５】本発明の実施の形態３に係るＦＰＧＡ搭載装置の遠隔保守システムにおけるネットワーク上のデータフォーマット例を示す図である。
【図６】本発明の実施の形態３に係るＦＰＧＡ搭載装置の遠隔保守システムにおけるマスタ装置の処理の流れを示す図である。
【図７】本発明の実施の形態３に係るＦＰＧＡ搭載装置の遠隔保守システムにおけるマスタ装置とスレーブ装置間の処理の流れを示す図である。
【図８】本発明の実施の形態４に係るＦＰＧＡ搭載装置の内部構成を示す図である。
【発明を実施するための形態】
【００１０】
実施の形態１．
以下に、本発明の実施の形態１に係るＦＰＧＡ搭載装置の遠隔保守システムについて、図面に基づいて説明する。図１は、本発明の実施の形態１に係るＦＰＧＡ搭載装置の遠隔保守システムの構成を示している。また、図２は、本発明の比較例として、従来のＦＰＧＡ搭載装置の遠隔保守システムの構成を示している。なお、図中、同一、相当部分には同一符号を付している。
【００１１】
本実施の形態１に係るＦＰＧＡ搭載装置の遠隔保守システムは、図１に示すように、ｎ台（ｎ≧２）のＦＰＧＡ搭載装置１００−１、１００−２、１００−３、１００−４、・・１００−ｎ（総称してＦＰＧＡ搭載装置１００）がネットワーク１０を介して接続されている。これらのＦＰＧＡ搭載装置１００はそれぞれ、保守端末装置である保守端末２００−１、２００−２、２００−３、２００−４、・・２００−ｎ（総称して保守端末２００）と接続可能であり、図１ではＦＰＧＡ搭載装置１００−２に保守端末２００−２が接続されている。
【００１２】
本実施の形態１に係るＦＰＧＡ搭載装置の遠隔保守システムでは、ｎ台（ｎ≧２）のＦＰＧＡ搭載装置１００のうち、任意の１台をマスタ装置とし（図１ではＦＰＧＡ搭載装置１００−２をマスタ装置とする）、その他の（ｎ−１）台をスレーブ装置として、マスタ装置に接続された保守端末２００−２から各スレーブ装置のＦＰＧＡに対して書き換え保守作業を行うものである。
【００１３】
なお、図１では、ＦＰＧＡ搭載装置１００−２をマスタ装置としたが、ＦＰＧＡ搭載装置１００のどれもがマスタ装置となり得る。このようなシステム構成とすることにより、本システムでは、図２に示す従来のシステムにおいて必要であった専用の管理装置３００を設置することなく、対象となる全てのスレーブ装置のＦＰＧＡ書き換えを実行するものである。
【００１４】
本実施の形態１における各ＦＰＧＡ搭載装置１００の内部構成について、図３を用いて説明する。ＦＰＧＡ搭載装置１００は主に、少なくとも１つのＦＰＧＡ１、ＣＰＵ２、メモリ３、ネットワークインタフェース４（以下ネットワークＩ／Ｆ４と記す）及び端末インタフェース５（以下端末Ｉ／Ｆ５と記す）を含んで構成されている。
【００１５】
ＦＰＧＡ１は、自装置（ＦＰＧＡ搭載装置１００）をマスタ装置及びスレーブ装置のいずれかに設定するマスタ／スレーブ設定手段１１と、自装置がマスタ装置である場合に、自装置とスレーブ装置にＦＰＧＡ１の書き換えを実行させるＦＰＧＡ書き換え手段１２を有している。具体的には、マスタ／スレーブ設定手段１１とＦＰＧＡ書き換え手段１２は、それぞれの機能を有する回路がＦＰＧＡ１に埋め込まれたものである。
【００１６】
ＣＰＵ２は、ＦＰＧＡ搭載装置１００全体の制御を行うもので、ＦＰＧＡ１及びＦＰＧＡ１の書き換え用データを格納するメモリ３と接続されている。また、ネットワークＩ／Ｆ４は、ネットワーク１０とＦＰＧＡ１を接続し、端末Ｉ／Ｆ５は、ＣＰＵ２と保守端末２００を接続する。ＣＰＵ２は、その主な動作として、ネットワーク１０上を流れる制御転送データをネットワークＩ／Ｆ４を介して一旦ＦＰＧＡ１に取り込み、データの解析処理を行い、必要に応じてデータ加工した後、再度ネットワーク１０へ送出している。
【００１７】
次に、ＦＰＧＡ書き換えの際の処理の流れについて、図１及び図３を用いて簡単に説明する（詳細については後述の実施の形態３で説明する）。ＦＰＧＡ搭載装置１００−２をマスタ装置とする場合を例に挙げて説明すると、ユーザは、保守端末２００−２に表示されたマスタ／スレーブ設定画面から、端末Ｉ／Ｆ５及びＣＰＵ２を経由してマスタ／スレーブ設定手段１１にアクセスする。
【００１８】
このマスタ／スレーブ設定画面において「マスタ」を選択することにより、保守端末２００−２が接続されたＦＰＧＡ搭載装置１００−２はマスタ装置に設定される。なお、他のＦＰＧＡ搭載装置１００−１、１００−３、１００−４、・・１００−ｎは、ＦＰＧＡ搭載装置１００−２がマスタ装置となったことを、ネットワーク１０を介して認識し、自動的にスレーブ装置となるため、全てのＦＰＧＡ搭載装置１００がマスタ／スレーブの設定を行う必要はない。
【００１９】
マスタ装置となったＦＰＧＡ搭載装置１００−２のＦＰＧＡ書き換え手段１２は、スレーブ装置のＦＰＧＡ書き換えを実行する。なお、マスタ装置は、自装置のＦＰＧＡ書き換えも実行するため、マスタ装置も１台のスレーブ装置であるといえる。マスタ装置のＦＰＧＡ書き換え手段１２は、スレーブ装置のＦＰＧＡ書き換えを実行する際、自装置のメモリ３に格納されたＦＰＧＡ書き換え用データを読み出し、ネットワーク１０を介して対象となる全てのスレーブ装置に送信した後、各スレーブ装置に対してＦＰＧＡ１の書き換え指示を送信する。スレーブ装置のＣＰＵ２は、受信した該ＦＰＧＡ書き換え用データを自装置のメモリ３に一旦格納する。その後、スレーブ装置のＦＰＧＡ１は、メモリ３から該ＦＰＧＡ書き換え用データを読み出してＦＰＧＡ１に書き込む。
【００２０】
以上のように、本実施の形態１に係るＦＰＧＡ搭載装置の遠隔保守システムによれば、各ＦＰＧＡ搭載装置１００が、そのＦＰＧＡ１内にマスタ／スレーブ設定手段１１とＦＰＧＡ書き換え手段１２を有しているので、ネットワーク１０を介して接続されたｎ台（ｎ≧２）のＦＰＧＡ搭載装置１００のどれもがマスタ装置になることができ、マスタ装置に接続された保守端末２００−２からスレーブ装置のＦＰＧＡ１に対して書き換え保守作業を行うことが可能である。これにより、ネットワーク１０上のマスタ装置の位置が限定されず、装置の故障や保守作業員の都合等によりマスタ装置を容易に変更することができるため、効率のよい保守管理を行うことができる。
【００２１】
また、専用の管理装置３００（図２）を設置する必要がないため、システムの低コスト化及び簡略化が図られるとともに、ネットワーク１０上の本来のデータ転送に与える影響が抑えられ、データ転送を安定して行うことができる。
【００２２】
実施の形態２．
本発明の実施の形態２に係るＦＰＧＡ搭載装置の遠隔保守システムの構成、及び各ＦＰＧＡ搭載装置の内部構成は、上記実施の形態１と同様であるので、図１及び図３を流用して説明する。本実施の形態２では、各ＦＰＧＡ搭載装置１００に搭載されたメモリ３に、ＦＰＧＡ書き換え用データを格納する複数のデータ格納領域を設け、それぞれのデータ格納領域に、互いに異なるＦＰＧＡ書き換え用データを格納するようにしたものである。
【００２３】
図４は、本実施の形態２におけるメモリ３の内部構成例を示している。図４に示す例では、メモリ３は、ＦＰＧＡ書き換え用データを格納するデータ格納領域として、少なくとも３つのデータ格納領域３ａ、３ｂ、３ｃを有している。データ格納領域３ａにはＦＰＧＡ書き換え用データ０が格納され、同様に、データ格納領域３ｂにはＦＰＧＡ書き換え用データ１、データ格納領域３ｃにはＦＰＧＡ書き換え用データ２が格納される。
【００２４】
ＦＰＧＡ書き換え用データ０は、例えば、ネットワークに異常が発生した場合あるいはＦＰＧＡ書き換え作業時に異常が発生した場合の対策として用意されている、ネットワーク接続を可能とする緊急用固定データ（初期データ）である。また、ＦＰＧＡ書き換え用データ１及びＦＰＧＡ書き換え用データ２は、例えば、現在動作しているＦＰＧＡ１に書き込まれているＦＰＧＡデータ（これをＦＰＧＡデータ（旧）と称す）、及び改修や機能向上のために書き換えられる新しいＦＰＧＡデータ（これをＦＰＧＡデータ（新）と称す）である。
【００２５】
データ格納領域３ｂ及びデータ格納領域３ｃの運用方法について説明する。マスタ装置であるＦＰＧＡ搭載装置１００−２から送信されたＦＰＧＡ書き換え用データは、ネットワーク１０を介して対象となる全てのスレーブ装置（ＦＰＧＡ搭載装置１００−１、１００−３、１００−４・・・１００−ｎ）のＣＰＵ２に取り込まれる。各スレーブ装置のＣＰＵ２は、メモリ３のデータ格納領域３ｂには現在動作しているＦＰＧＡデータ（旧）を、データ格納領域３ｃにはネットワーク１０を介して取り込んだＦＰＧＡデータ（新）をそれぞれ格納する。なお、データ格納領域３ｂ、３ｃは、交互に使い分けて運用される。
【００２６】
スレーブ装置のＣＰＵ２は、ＦＰＧＡ１の書き換えを実行する際、メモリ３をマスタ装置から指定されたＦＰＧＡ書き換え用データに対応したデータ格納領域に切替える。例えば、図４に示す例では、ＦＰＧＡ書き換え用データ２としてＦＰＧＡデータ（新）が格納されたデータ格納領域３ｃに切替える。スレーブ装置のＦＰＧＡ１は、データ格納領域３ｃに格納されたＦＰＧＡデータ（新）を読み出してＦＰＧＡ１に書き込む。
【００２７】
本実施の形態２によれば、上記実施の形態１と同様の効果に加え、メモリ３にＦＰＧＡ書き換え用データ０、１、２・・を格納する複数のデータ格納領域３ａ、３ｂ、３ｃ・・を設けることにより、マスタ装置からの指示に応じてＦＰＧＡ書き換え用データ１、２のどちらでも即座にＦＰＧＡ１に書き込むことができる。これにより、ＦＰＧＡデータ（新）に異常があった場合、あるいはＦＰＧＡ書き換え時に異常が発生した場合等に、マスタ装置からの指示でＦＰＧＡデータ（旧）に戻すことができる。
【００２８】
さらに、ネットワーク１０に異常が発生した場合、あるいはＦＰＧＡ書き換え時に異常が発生した場合等には、各スレーブ装置内のＣＰＵ２は、マスタ装置からの指示がなくとも自装置のＦＰＧＡ１を、メモリ３のデータ格納領域３ａに格納されたＦＰＧＡ書き換え用データ０に書き換えることができる。これにより、緊急時及び異常発生時においても、ネットワーク１０に接続されているＦＰＧＡ１を速やかに動作可能とすることができ、ネットワークシステムへの影響を著しく軽減させることができる。
【００２９】
実施の形態３．
本発明の実施の形態３に係るＦＰＧＡ搭載装置の遠隔保守システムの構成、及び各ＦＰＧＡ搭載装置の内部構成は、上記実施の形態１と同様であるので、図１及び図３を流用して説明する。本実施の形態３では、ネットワーク１０上を流れるデータのデータフレームフォーマットとして、制御転送データ用フレームの他に、ＦＰＧＡ管理データ用フレームを定義したものである。
【００３０】
図５は、本実施の形態３に係るＦＰＧＡ搭載装置の遠隔保守システムにおけるデータフォーマット例を示している。本実施の形態３におけるデータフレームフォーマットは、図５（ａ）に示すように、制御転送データフレームとして各装置データ用のフレーム（装置１データ用、装置２データ用・・装置Ｘデータ用）が定義され、その最後に、ＦＰＧＡ管理データ用のフレームを追加したものである。なお、装置１、装置２・・装置Ｘは、ＦＰＧＡ搭載装置１００−１、１００−２・・１００−ｎに該当する。
【００３１】
ＦＰＧＡ管理データ用のフレームには、さらに、図５（ｂ）に示すように、マスタ装置（マスタナンバー）情報用、スレーブ装置情報（スレーブ装置ナンバーとＦＰＧＡ情報）用、ＦＰＧＡデータ用（ＦＰＧＡ書き換え用データ＋ＣＲＣ）、及びコマンド種別情報用のフレームが定義されている。
【００３２】
コマンド種別情報としては、図５（ｃ）に示すように、コマンド０００として全装置のＦＰＧＡのヴァージョン情報、ステータス情報の採取、コマンド００１としてＦＰＧＡ書き換えデータの配信、コマンド０１１としてＦＰＧＡ書き換え指示、コマンド１１１としてマスタ変更、の４つが定義されている。
【００３３】
次に、図５に示すＦＰＧＡ管理データを用いて、マスタ装置がスレーブ装置にＦＰＧＡ書き換えを実行させる際の処理の流れについて説明する。図６は、ＦＰＧＡ搭載装置１００−２がマスタ装置となり、スレーブ装置にＦＰＧＡ書き換えを実行させる処理の流れを示し、図７は、マスタ装置が各スレーブ装置に対してＦＰＧＡ書き換えを起動した際のマスタ装置とスレーブ装置間の処理の流れを示している。なお、図６及び図７中、Ｓ１、Ｓ２・・等は、処理ステップを示している。
【００３４】
任意のＦＰＧＡ搭載装置１００−２が他のＦＰＧＡ搭載装置１００−１、１００−３、１００−４、・・１００−ｎのＦＰＧＡ書き換えを実行しようとする場合、全てのＦＰＧＡ搭載装置１００のＦＰＧＡ管理データを確認する（Ｓ１）。ネットワーク１０上には、図５に示すＦＰＧＡ管理データが常時流れているため、各ＦＰＧＡ搭載装置１００は、自装置がマスタまたはスレーブであることは把握している。また、全てのＦＰＧＡ搭載装置１００のＦＰＧＡ１のヴァージョン情報等も取り込んでいる。
【００３５】
ＦＰＧＡ搭載装置１００−２は、マスタが自分以外かどうかを確認し（Ｓ２）、マスタが自分以外であった場合（Ｓ２、Ｙｅｓ）、自分がマスタとなることを他装置に通知するマスタ宣言を行う（Ｓ３）。具体的には、ＦＰＧＡ管理データのマスタ変更コマンド１１１により、自身の装置ナンバーをマスタナンバーとして配信する。その後、他のＦＰＧＡ搭載装置１００−１、１００−３、１００−４、・・１００−ｎのスレーブ装置ナンバーとＦＰＧＡ情報をＦＰＧＡ管理データで確認し、他装置が全てスレーブ装置となったことを確認する（Ｓ４）。他装置が全てスレーブ装置となっていない場合（Ｓ４、Ｎｏ）は、全てスレーブ装置となるのを待つ。
【００３６】
他装置が全てスレーブ装置となった場合（Ｓ４、Ｙｅｓ）は、自分がマスタとなり（Ｓ５）、ＦＰＧＡデータ用フレームにＦＰＧＡ書き換え用データを乗せたＦＰＧＡ管理データを全てのスレーブ装置へ送信する（Ｓ７）。その際、ネットワーク１０上を流れる本来の制御転送データに影響を与えないように、少なくとも２回以上の複数回に分割して送信する。
【００３７】
全てのＦＰＧＡ書き換え用データを分割送信していない場合（Ｓ７、Ｎｏ）は、送信を継続する。全てのＦＰＧＡ書き換えデータを分割送信した場合（Ｓ７、Ｙｅｓ）、各スレーブ装置のＦＰＧＡ情報により、対象となる全てのスレーブ装置がＦＰＧＡ書き換え用データを受信完了し、各メモリ３に格納したことを確認する（Ｓ８）。
【００３８】
その後、全てのスレーブ装置に対し、ＦＰＧＡ書き換えヴァージョンを指定し（Ｓ９）、ＦＰＧＡ書き換えを起動する（Ｓ１０）。さらに、全てのスレーブ装置がマスタ装置からの書き込み指示を実施したかどうかを確認し、実施した場合（Ｓ１１、Ｙｅｓ）はＦＰＧＡ書き換えを終了する。実施されていない場合（Ｓ１１、Ｎｏ）は、実施されたことを確認するまで待つ。なお、Ｓ２において、マスタが自分であった場合（Ｓ２、Ｎｏ）は、Ｓ３〜Ｓ５の処理ステップを省略してＳ６に進む。
【００３９】
次に、ＦＰＧＡ書き換え起動（Ｓ１０）の際の処理の流れについて、図７を用いて説明する。マスタ装置は、対象となる全てのスレーブ装置がＦＰＧＡ書き換え用データを受信したことを確認した後、個々のスレーブ装置に対してＦＰＧＡの書き換えを起動する。具体的には、対象となるスレーブ装置に対して、スレーブ装置ナンバーを指定したＦＰＧＡ書き換え指示コマンド０１１を送信し、ＦＰＧＡ書き換えヴァージョンを指定する。スレーブ装置のＣＰＵ２は、マスタ装置から指定されたＦＰＧＡ書き換えヴァージョンに対応したデータ格納領域にメモリ３を切替える（Ｓ１０１）。
【００４０】
続いて、スレーブ装置のＣＰＵ２は、ＦＰＧＡの書き換えを実行する際に自装置に対しリセットする（Ｓ１０２）。このリセットにより、スレーブ装置はネットワーク１０から離脱し、マスタ装置は対象のスレーブ装置がネットワーク１０から離脱したことを認識する（Ｓ１０３）。その後、スレーブ装置のＦＰＧＡ１は該データを書き込み、コンフィグレーション完了後（Ｓ１０４）、スレーブ装置のＣＰＵ２はネットワーク１０に再度参入する（ネットワーク離脱及び再参入処理）。 
【００４１】
マスタ装置は、対象のスレーブ装置がネットワーク１０に再度参入したことを認識する（Ｓ１０５）。その後、対象のスレーブ装置からＦＰＧＡ書き換え完了の通知を受け、ＦＰＧＡヴァージョンを確認し（Ｓ１０６）、書き換え完了と認識する。以上のＦＰＧＡ書き換え起動を、マスタ装置は、対象となる全てのスレーブ装置に対し、個々に行うものである。すなわち、スレーブ装置のネットワーク離脱及び再参入処理は、対象となる全てのスレーブ装置において順次１台ずつ行われる。 
【００４２】
本実施の形態３によれば、上記実施の形態１と同様の効果に加え、ネットワーク１０上を流れるデータのデータフレームフォーマットとして、制御転送データ用フレームの他に、ＦＰＧＡ管理データ用フレームを定義したので、本来の制御転送データの転送に与える影響がより小さく、データ転送が安定して行えるネットワークシステムが実現可能である。
【００４３】
また、マスタ装置が対象となる全てのスレーブ装置に対し、個々にＦＰＧＡ書き換え起動（指示）を行い、スレーブ装置のネットワーク１０からの離脱が常に１台のみであるようにしたので、ネットワーク１０上の制御転送データの転送に与える影響をできるだけ小さく抑えながら、全てのＦＰＧＡ搭載装置１００のＦＰＧＡ書き換えを順次実行することができる。
【００４４】
実施の形態４．
本発明の実施の形態４に係るＦＰＧＡ搭載装置の遠隔保守システムの構成は、上記実施の形態１と同様であるので、図１を流用して説明する。図８は、本実施の形態４におけるＦＰＧＡ搭載装置１００の内部構成を示している。なお、図８中、図３と同一、相当部分には同一符号を付し、説明を省略する。
【００４５】
本実施の形態４における各ＦＰＧＡ搭載装置１００は、互いに異なるＦＰＧＡデータが書き込まれた２つのＦＰＧＡ１−１及びＦＰＧＡ１−２と、これら２つのＦＰＧＡ１−１、１−２の中からネットワークＩ／Ｆ４と接続されるＦＰＧＡを選択する切替スイッチ６を有している。すなわち、ＦＰＧＡ１−１及びＦＰＧＡ１−２は、切替スイッチ６及びネットワークＩ／Ｆ４を介してネットワーク１０と接続されている。なお、図８では、２つのＦＰＧＡ１−１及びＦＰＧＡ１−２を有する構成としたが、ＦＰＧＡは２つ以上であってもよい。
【００４６】
これら２つのＦＰＧＡ１−１及びＦＰＧＡ１−２には、例えば上記実施の形態２（図４参照）においてメモリ３のデータ格納領域３ｂに格納されたＦＰＧＡデータ（旧）、及びデータ格納領域３ｃに格納されたＦＰＧＡデータ（新）が書き込まれている。スレーブ装置のＣＰＵ２は、マスタ装置からのＦＰＧＡ書き換え指示を受けて切替スイッチ６を動作し、マスタ装置から指定されたＦＰＧＡデータに対応したＦＰＧＡ１−１（またはＦＰＧＡ１−２）をネットワークＩ／Ｆ４に接続する。
【００４７】
本実施の形態４に係るＦＰＧＡ搭載装置の遠隔保守システムにおいて、マスタ装置がスレーブ装置にＦＰＧＡ書き換えを実行させる際の処理の流れについて説明する。スレーブ装置であるＦＰＧＡ搭載装置１００は、マスタ装置からネットワーク１０を介して２種類のＦＰＧＡデータ（旧、新）を受信し、それぞれをメモリ３の所定領域であるデータ格納領域３ｂ、３ｃ（図４）に一旦格納する。その後、ＣＰＵ２は、ＦＰＧＡ１−１にＦＰＧＡデータ（旧）を、ＦＰＧＡ１−２にＦＰＧＡデータ（新）をそれぞれ書き込む。
【００４８】
その後、マスタ装置からのＦＰＧＡ書き換え指示により、ＣＰＵ２は切替スイッチ６を動作し、該指示に対応したＦＰＧＡデータが書き込まれたＦＰＧＡ１−１（またはＦＰＧＡ１−２）がネットワークＩ／Ｆ４と接続されるようにする。
【００４９】
本実施の形態４によれば、上記実施の形態１と同様の効果に加え、各ＦＰＧＡ搭載装置１００に、互いに異なるＦＰＧＡデータが書き込まれた複数のＦＰＧＡ１−１、１−２・・を搭載し、切替スイッチ６によりネットワークＩ／Ｆ４と接続されるＦＰＧＡを選択するようにしたので、ＦＰＧＡ書き換え保守作業を迅速且つ効率的に行うことができる。
【産業上の利用可能性】
【００５０】
本発明は、ネットワークを介して接続された複数のＦＰＧＡ搭載装置のＦＰＧＡ書き換え保守作業を遠隔で行う遠隔保守システムとして利用することができる。
【符号の説明】
【００５１】
１  ＦＰＧＡ、２  ＣＰＵ、３  メモリ、３ａ、３ｂ、３ｃ  データ格納領域、
４  ネットワークインタフェース、５  端末インタフェース、６  切替スイッチ、
１０  ネットワーク、１１  マスタ／スレーブ設定手段、１２  ＦＰＧＡ書き換え手段、
１００、１００−１、１００−２、１００−３、１００−４、１００−ｎ  ＦＰＧＡ搭載装置、２００、２００−１、２００−２、２００−３、２００−４、２００−ｎ  保守端末、３００  管理装置。
【図１】
0005546500.tif 000002
【図２】
0005546500.tif 000003
【図３】
0005546500.tif 000004
【図４】
0005546500.tif 000005
【図５】
0005546500.tif 000006
【図６】
0005546500.tif 000007
【図７】
0005546500.tif 000008
【図８】
0005546500.tif 000009