(57)【要約】【課題】ＦＰＧＡへの更新データのリモート書込みを容易にする。【解決手段】データ格納用デバイス６からデータをダウンロードするＦＰＧＡ４と、ＬＡＮ通信デバイス５とをローカルバスで接続した装置において、ＦＰＧＡに更新データをリモート書込みするため、データ格納用デバイス６を再書込み可能なＥＥＰＲＯＭとし、リモートメンテナンス時に通信デバイスでＦＰＧＡの更新用データを受信し、この更新用データをＥＥＰＲＯＭに書込む。  更新用データをデータ格納用メモリに書込むシーケンサと、データ書込み時にＦＰＧＡの入出力をディセーブル状態にするバッファとからなる構成、ＦＰＧＡの更新用データを受信するメンテナンス専用ＬＡＮ通信デバイスと、このデータを書き込むシーケンサとからなる構成、リモートメンテナンス時に通信デバイスの受信データをシーケンサ側に切替える切替器を設けた構成を含む。【選択図】  図１
2005258996.tif 000002
【特許請求の範囲】
【請求項１】
装置の電源投入／リセット時にデータ格納用デバイスからデータをダウンロードするＦＰＧＡと、ＬＡＮ通信デバイス等の通信手段とをローカルバスで接続した装置において、ＦＰＧＡに更新データをリモート書込みするリモートメンテナンス方式であって、
前記データ格納用デバイスを再書込み可能なメモリデバイスとし、
リモートメンテナンス時に前記通信手段を用いて通信回線からＦＰＧＡの更新用データを受信して前記ローカルバスに出力する手段と、
前記ローカルバスから前記更新用データを取り込んで前記再書込み可能なメモリデバイスに書込む手段とを備えたことを特徴とするＦＰＧＡのリモートメンテナンス方式。
【請求項２】
データ格納用メモリを内蔵するＦＰＧＡと、ＬＡＮ通信デバイス等の通信手段とをローカルバスで接続した装置において、ＦＰＧＡに更新データをリモート書込みするリモートメンテナンス方式であって、
リモートメンテナンス時に前記通信手段を用いて通信回線からＦＰＧＡの更新用データを受信して前記ローカルバスに出力する手段と、
前記ローカルバスから前記更新用データを取り込んで前記データ格納用メモリに書込むシーケンサと、
前記シーケンサによるデータ書込み時に、前記ローカルバスに対するＦＰＧＡの入出力をディセーブル状態にするバッファとを備えたことを特徴とするＦＰＧＡのリモートメンテナンス方式。
【請求項３】
データ格納用メモリを内蔵するＦＰＧＡと、ＬＡＮ通信デバイス等の通信手段とをローカルバスで接続した装置において、ＦＰＧＡに更新データをリモート書込みするリモートメンテナンス方式であって、
リモートメンテナンス時に前記ローカルバスを介することなく通信回線からＦＰＧＡの更新用データを受信するメンテナンス専用ＬＡＮ通信デバイスと、
前記メンテナンス専用ＬＡＮ通信デバイスから直接に前記更新用データを受け取り、前記データ格納用メモリに書込むシーケンサとを備えたことを特徴とするＦＰＧＡのリモートメンテナンス方式。
【請求項４】
データ格納用メモリを内蔵するＦＰＧＡと、ＬＡＮ通信デバイス等の通信手段とをローカルバスで接続した装置において、ＦＰＧＡに更新データをリモート書込みするリモートメンテナンス方式であって、
通常運用時は前記通信手段をローカルバスに接続しておき、ＦＰＧＡのリモートメンテナンス時に通信手段の出力を切替える切替器と、
リモートメンテナンス時に前記通信手段を用いて通信回線からＦＰＧＡの更新用データを受信する手段と、
前記切替器を介して前記更新用データを取り込んで前記データ格納用メモリに書込むシーケンサとを備えたことを特徴とするＦＰＧＡのリモートメンテナンス方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェアになるＦＰＧＡ（Field Programmable Gate Array）のリモートメンテナンス方式に関するものであり、ＦＰＧＡと通信手段を搭載している制御装置や情報処理装置に対してインターネット等を使用したリモート書込みによってＦＰＧＡをバージョンアップする技術に関する。
【背景技術】
【０００２】
始めに、ＦＰＧＡについて機能を説明する。最近の制御装置や情報処理装置には、種々の機能をソフトウェア構成で実現するためにＦＰＧＡを搭載する場合が多い。例えば、図５に例を示すように、ＣＰＵ１と、揮発性メモリ２と、不揮発性メモリ３とＦＰＧＡ４およびＬＡＮ通信デバイス５をローカルバスで接続したハードウェア構成としている。
【０００３】
ＦＰＧＡの種類としては、図５の下部に示すように、大きく分けて３種類程度のタイプのＦＰＧＡがある。
【０００４】
タイプＡは、ＦＰＧＡとＦＰＧＡデータ格納用ＩＣが別のＩＣになっているタイプで、電源投入／リセット時にデータ格納されているシリアルＲＯＭ６からＦＰＧＡ４がデータをダウンロードして、動作する仕組みになっている。
【０００５】
タイプＢ，Ｃは、ＦＰＧＡとＦＰＧＡデータ格納用ＩＣが一つのＩＣになっているタイプである。タイプＢは、内蔵メモリがＦＬＡＳＨＲＯＭ系のメモリで幾度（書込制限回数は存在する場合ある）も書き換えできるタイプである。タイプＣは一度だけ書き込みできる（ワンタイムメモリ）タイプである。
【０００６】
タイプＡ；Ｃは、いずれもデータ書込部が一度のみ書き込みできるものであるため、その書込み内容の修正やバージョンアップ時は部品の交換を行わなければ変更することができない。
【０００７】
タイプＢは、検証時に便利な機能を搭載している。一般的なＩ／Ｆ（ＪＴＡＧ等）をＦＰＧＡが搭載しているため、そのＩ／Ｆコネクタを用意すれば、専用のツールとソフトを用いて部品交換なしでデータの更新が可能となる。ただし、専用のソフトやツールが必要であるため、バージョンアップ等のメンテナンスはファクトリーリターンで処理しなければならない。
【０００８】
図５に示す機能構成におけるＦＬＡＳＨＲＯＭ等に格納されているソフトウェアの修正／バージョンアップのリモート書き込みを説明する。ここで言うリモート書き込みとは、インターネット等の通信回線を用いて離れた場所から装置のソフトウェアを修正／バージョンアップする機能の事を言う。
【０００９】
図５において、ＬＡＮ通信デバイス５は特に伝送機能であればＬＡＮに特化するわけではない。通常、ＣＰＵ１が動作するためのプログラムは、不揮発性メモリ（ＥＰＲＯＭ／ＦＬＡＳＨＲＯＭ等）３に格納されており、電源投入／リセット時に不揮発性メモリ３からプログラムデータを取り込んで動作を開始する。また、最近は  揮発性メモリ２をＳＤＲＡＭ等にて使用し、不揮発性メモリ３から揮発性メモリ２へプログラムデータをコピーして、その後ＣＰＵは揮発性メモリ２からプログラムデータを取り込んで動作を継続する方式も実施されている（例えば、特許文献１参照）。
【００１０】
また、特にＦＬＡＳＨＲＯＭのように再書き込み可能なデバイスを搭載しており、ＬＡＮ通信デバイス５等の伝送機能を搭載してる場合は、ＦＬＡＳＨＲＯＭ上に格納されているソフトウェアのデータの更新（バージョンアップ）がネットワークを介してリモートで行うことができる。処理手順を下記に示す。
【００１１】
（Ｓ１）電源投入／リセットにてＣＰＵ１は、不揮発性メモリ３からプログラムデータを読みとり動作を開始する。
【００１２】
（Ｓ２）その後、不揮発性メモリ３のデータを揮発性メモリ２にコピーして、コピー完了後、ＣＰＵ１は、揮発性メモリ２からプログラムデータを読みとり動作を継続する。
【００１３】
（Ｓ３）通信回線を使用してＬＡＮ通信デバイス５からＣＰＵ１へソフトウェアの更新命令を発する。
【００１４】
（Ｓ４）ＣＰＵ１は、揮発性メモリ２で動作をしているのでその間に、不揮発性メモリ３に最新データを書き込むことができる。
【００１５】
（Ｓ５）最後に、ＣＰＵ１は本ポートにリセット命令を実施する。この時の起動で、新しいソフトウェアで装置は動作を開始する。
【特許文献１】特表２０００−５１３５２３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
現在の技術では、ＦＬＡＳＨＲＯＭ等に格納されているソフトウェアについてはリモート書き込みが実施されている。しかし、ハードウェア構成になるＦＰＧＡの動作用データについてはリモート書き込みはできない。基本的にＦＰＧＡのバージョンアップはファクトリーリターンで、部品の交換を行うかＦＰＧＡ専用のコネクタとツールを使用してテータの再書込をするのが一般的である。
【００１７】
従って、特に不具合が発生したときやより性能を向上する時には、ファクトリーリターンを余儀なくされ、コストや時間がかかり、顧客の満足を阻害する問題があった。
【００１８】
本発明の目的は、ＦＰＧＡへの更新データのリモート書込みを容易にしたリモートメンテナンス方式を提供することにある。
【課題を解決するための手段】
【００１９】
（１）装置の電源投入／リセット時にデータ格納用デバイスからデータをダウンロードするＦＰＧＡと、ＬＡＮ通信デバイス等の通信手段とをローカルバスで接続した装置において、ＦＰＧＡに更新データをリモート書込みするリモートメンテナンス方式であって、
前記データ格納用デバイスを再書込み可能なメモリデバイスとし、
リモートメンテナンス時に前記通信手段を用いて通信回線からＦＰＧＡの更新用データを受信して前記ローカルバスに出力する手段と、
前記ローカルバスから前記更新用データを取り込んで前記再書込み可能なメモリデバイスに書込む手段とを備えたことを特徴とする。
【００２０】
（２）データ格納用メモリを内蔵するＦＰＧＡと、ＬＡＮ通信デバイス等の通信手段とをローカルバスで接続した装置において、ＦＰＧＡに更新データをリモート書込みするリモートメンテナンス方式であって、
リモートメンテナンス時に前記通信手段を用いて通信回線からＦＰＧＡの更新用データを受信して前記ローカルバスに出力する手段と、
前記ローカルバスから前記更新用データを取り込んで前記データ格納用メモリに書込むシーケンサと、
前記シーケンサによるデータ書込み時に、前記ローカルバスに対するＦＰＧＡの入出力をディセーブル状態にするバッファとを備えたことを特徴とする。
【００２１】
（３）データ格納用メモリを内蔵するＦＰＧＡと、ＬＡＮ通信デバイス等の通信手段とをローカルバスで接続した装置において、ＦＰＧＡに更新データをリモート書込みするリモートメンテナンス方式であって、
リモートメンテナンス時に前記ローカルバスを介することなく通信回線からＦＰＧＡの更新用データを受信するメンテナンス専用ＬＡＮ通信デバイスと、
前記メンテナンス専用ＬＡＮ通信デバイスから直接に前記更新用データを受け取り、前記データ格納用メモリに書込むシーケンサとを備えたことを特徴とする。
【００２２】
（４）データ格納用メモリを内蔵するＦＰＧＡと、ＬＡＮ通信デバイス等の通信手段とをローカルバスで接続した装置において、ＦＰＧＡに更新データをリモート書込みするリモートメンテナンス方式であって、
通常運用時は前記通信手段をローカルバスに接続しておき、ＦＰＧＡのリモートメンテナンス時に通信手段の出力を切替える切替器と、
リモートメンテナンス時に前記通信手段を用いて通信回線からＦＰＧＡの更新用データを受信する手段と、
前記切替器を介して前記更新用データを取り込んで前記データ格納用メモリに書込むシーケンサとを備えたことを特徴とする。
【発明の効果】
【００２３】
以上のとおり、本発明によれば、ハードウェアの機能であるＦＰＧＡのデータの不具合を修正する場合や、機能向上のためにバージョンアップする場合に、従来ではファクトリーリターンにて部品交換や特殊アイテムを使用しての改修を行う必要があったのに対して、ＬＡＮ通信デバイス等の伝送機能を使用してリモート書き込み（リモートメンテナンス）を行うことができる。
【実施例１】
【００２４】
図１は本実施例を示す装置構成であり、構成要素は、ＣＰＵ１、揮発性メモリ２、不揮発性メモリ３、ＦＰＧＡ４、ＬＡＮ通信デバイス５、シリアルＲＯＭ６とする。
【００２５】
現在の技術で説明したタイプＡのＦＰＧＡ４に対して、本実施例ではＦＰＧＡデータ格納用ＩＣになるシリアルＲＯＭ６は、従来のワンタイムＩＣではなく、ＥＥＰＲＯＭ等の再書き込み可能タイプのＩＣに変更することによって、ＦＰＧＡデータの更新を可能とする。下記にデータ更新手順を示す。
【００２６】
（Ｓ１）ＣＰＵ１は、ＬＡＮ通信デバイス５のデータを監視し、特定のコマンド（例えば、ＥＥＰＲＯＭ書き換え指示）を受ける。
【００２７】
（Ｓ２）ＣＰＵ１は、揮発性メモリ２の特定空間にＦＰＧＡ書き換え用データをＬＡＮ通信デバイス５から受け取り格納する。
【００２８】
（Ｓ３）ＦＰＧＡ４は、電源投入時は  ＥＥＰＲＯＭ６から初期ダウンロード用信号にてデータをＦＰＧＡ内部へダウンロードして動作を開始する。
【００２９】
従って、通常はＥＥＰＲＯＭ６とのアクセスは行っていない。そこで、ＣＰＵ１は、ＦＰＧＡデータ書込用信号を介して、ＥＥＰＲＯＭ６を制御し、揮発性メモリ２に格納されているＦＰＧＡデータを  ＥＥＰＲＯＭ６に書き込む。
【００３０】
（Ｓ４）最後に、ＣＰＵ１は本ポートにリセット命令を実施する。この起動で、新しいＦＰＧＡデータがＥＥＰＯＭ６からＦＰＧＡ４にダウンロードされることとなる。
【実施例２】
【００３１】
図２は本実施例を示す装置構成であり、構成要素は、ＣＰＵ１、揮発性メモリ２、不揮発性メモリ３、ＦＰＧＡ４、ＬＡＮ通信デバイス５、シーケンサ７、バッファ８とする。
【００３２】
現在の技術で説明したタイプＢのＦＰＧＡ４に対して、本実施例ではＦＰＧＡデータの更新を可能とする。下記にデータ更新手順を示す。
【００３３】
（Ｓ１）ＣＰＵ１は、ＬＡＮ通信デバイス５のデータを監視し、特定のコマンド（例えば、ＦＰＧＡデータ書き換え指示）を受ける。
【００３４】
（Ｓ２）ＣＰＵ１は、揮発性メモリ２の特定空間にＦＰＧＡ書き換え用データをＬＡＮ通信デバイス５から受け取り格納する。
【００３５】
（Ｓ３）ＦＰＧＡ４は、内蔵メモリに格納されているデータで動作するタイプのＬＳＩで電源投入時に即動作可能なタイプである。ＣＰＵ１はシーケンサ７にＦＰＧＡ４のデータ書き換えの指示を行う。
【００３６】
（Ｓ４）シーケンサ７が主導権を取り、ＣＰＵ１はＳＬＥＥＰモードになりローカルバスを開放する。また、ＦＰＧＡ書き換え時にＦＰＧＡ４の入出力があるレベルに固定されて各種コントローラが誤動作をするのを防止するためにバッファ８のゲートをすべてディセーブル状態にする。
【００３７】
（Ｓ５）シーケンサ７は、書込用信号を介してＦＰＧＡ４を制御し、揮発性メモリ２に格納されている書き換え用データをＦＰＧＡ内部のメモリに書き込む（ＦＰＧＡデータの更新）。
【００３８】
（Ｓ６）最後に、シーケンサ７は本ポートにリセット命令を発行する。この時の起動で、新しくなったデータでＦＰＧＡが動作することとなる。
【００３９】
なお、シーケンサ７は、ＣＰＵ＋メモリにてコントロールする形態でも可能であるし、ＦＰＧＡ等によるコントローラでも可能である。
【実施例３】
【００４０】
図３は本実施例を示す装置構成であり、構成要素は、ＣＰＵ１、揮発性メモリ２、不揮発性メモリ３、ＦＰＧＡ４、ＬＡＮ通信デバイス５、シーケンサ７、メンテナンス用ＬＡＮ通信デバイス９とする。
【００４１】
実施例２では、ＦＰＧＡ４が各種コントローラに誤動作を誘導しないようバッファ８によりコントロールをしていたが、メンテナンス専用ＬＡＮ通信デバイス９を設けることによりＦＰＧＡデータがローカルバスを介さないで制御できるようにする。ＦＰＧＡ４のコントロール信号線はかなり数量が多い場合が多く、実際バッファコントールが必要無くなることは、実装やコストダウンに有効となる。下記にデータ更新手順を示す。
【００４２】
（Ｓ１）シーケンサ７は、メンテナンス専用ＬＡＮ通信デバイス９のデータを監視し、特定のコマンド（例えば、ＦＰＧＡデータ書き換え指示）を受ける。
【００４３】
（Ｓ２）シーケンサ７は、シーケンサ空間のメモリにＦＰＧＡ書き換え用データをメンテナンス専用ＬＡＮ通信デバイス９から受け取り格納する。
【００４４】
（Ｓ３）ＦＰＧＡ４は、内蔵メモリに格納されているデータで動作するタイプのＬＳＩで電源投入時に即動作可能なタイプである。シーケンサ７はＣＰＵ１にＦＰＧＡ４のデータ書き換えの指示を行う。
【００４５】
（Ｓ４）シーケンサ７が主導権を取り、ＣＰＵ１はＳＬＥＥＰモードになりローカルバスを開放する。
【００４６】
（Ｓ５）シーケンサ７は、書込用信号を介してＦＰＧＡ４を制御し、シーケンサ空間のメモリに格納されている書き換え用データをＦＰＧＡ内部のメモリに書き込む（ＦＰＧＡデータの更新）。
【００４７】
（Ｓ６）最後に、シーケンサ７は本ポートにリセット命令を発行する。この起動で、新しくなったデータでＦＰＧＡ４が動作することとなる。
【００４８】
なお、シーケンサ７はＣＰＵ＋メモリにてコントロールする形態でも可能であるし、ＦＰＧＡ等によるコントローラでも可能である。ただし、ＦＰＧＡデータ格納用のメモリ空間分が実施例１に比較して多く必要である。しかし、データ量は搭載メモリに比較してかなり少ない。
【実施例４】
【００４９】
図４は本実施例を示す装置構成であり、構成要素は、ＣＰＵ１、揮発性メモリ２、不揮発性メモリ３、ＦＰＧＡ４、ＬＡＮ通信デバイス５、シーケンサ７、切替器１０とする。
【００５０】
実施例３では、メンテナンス専用ＬＡＮ通信デバイス９を装備して、実施例２で必要であったバッファを削除する方式であるが、この方式の場合はＦＰＧＡデータを回線から取り込むときはメンテナンス専用ＬＡＮ通信デバイス９に他のＬＡＮ通信デバイスを接続する必要があり、実運用上でその接続切替を人間による切替等で実施することが必要となる。
【００５１】
本実施例では、切替器１０を搭載することによって、通常運用時の形態からメンテナンス時の形態へとスムースな変更を容易にする。下記にデータ更新手順を示す。
【００５２】
（Ｓ１）通常は、切替器１０はＬＡＮ通信デバイス５をローカルバスに接続している。ＣＰＵ１は、ＬＡＮ通信デバイス５のデータを監視し、特定のコマンド（例えば、ＦＰＧＡデータ書き換え指示）を受ける。
【００５３】
（Ｓ２）ＣＰＵ１は、シーケンサ７にＦＰＧＡ４のデータを受け取り指示を行い、シーケンサ７が主導権を取り、ＣＰＵ１はＳＬＥＥＰモードになり、ローカルバスを開放する。
【００５４】
（Ｓ３）シーケンサ７は、切替制御信号により切替器１０を切り替えて、ＬＡＮ通信デバイス５と接続する。
【００５５】
（Ｓ４）シーケンサ７は、シーケンサ空間のメモリにＦＰＧＡ書き換え用データをＬＡＮ通信デバイス５から受け取り格納する。
【００５６】
（Ｓ５）ＦＰＧＡ４は、内蔵メモリに格納されているデータで動作するタイプのＬＳＩで電源投入時に即動作可能なタイプである。シーケンサ７は、書込用信号介してＦＰＧＡ４を制御し、シーケンサ空間のメモリに格納されている書き換え用データをＦＰＧＡ内部のメモリに書き込む（ＦＰＧＡデータの更新）。
【００５７】
（Ｓ６）最後に、シーケンサ７は本ポートにリセット命令を発行する。この起動で、新しくなったデータでＦＰＧＡ４が動作することとなる。
【００５８】
なお、シーケンサ７はＣＰＵ＋メモリにてコントロールする形態でも可能であるし、ＦＰＧＡ等によるコントローラでも可能である。ただし、ここではＦＰＧＡデータ格納用のメモリ空間分が実施例１に比較して多く必要である。しかし、データ量は搭載メモリに比較してかなり少ない。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施例１を示す装置構成図。
【図２】本発明の実施例２を示す装置構成図。
【図３】本発明の実施例３を示す装置構成図。
【図４】本発明の実施例４を示す装置構成図。
【図５】ＦＰＧＡを搭載した装置構成とＦＰＧＡのタイプ説明図。
【符号の説明】
【００６０】
１  ＣＰＵ
２  揮発性メモリ
３  不揮発性メモリ
４  ＦＰＧＡ
５  ＬＡＮ通信デバイス
６  ＥＥＰＲＯＭ
７  シーケンサ
８  バッファ
９  メンテナンス専用ＬＡＮ通信デバイス
１０  切替器
【図１】
2005258996.tif 000003
【図２】
2005258996.tif 000004
【図３】
2005258996.tif 000005
【図４】
2005258996.tif 000006
【図５】
2005258996.tif 000007