JP4019012B2 - Fpgaを具備するcpu装置とその初期化方法 - Google Patents
Fpgaを具備するcpu装置とその初期化方法 Download PDFInfo
- Publication number
- JP4019012B2 JP4019012B2 JP2003115527A JP2003115527A JP4019012B2 JP 4019012 B2 JP4019012 B2 JP 4019012B2 JP 2003115527 A JP2003115527 A JP 2003115527A JP 2003115527 A JP2003115527 A JP 2003115527A JP 4019012 B2 JP4019012 B2 JP 4019012B2
- Authority
- JP
- Japan
- Prior art keywords
- fpga
- circuit
- communication
- cpu
- data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
- Logic Circuits (AREA)
- Microcomputers (AREA)
Description
【発明の属する技術分野】
本発明は、装置の内部回路を大規模なFPGA(フィールドプログラマブルゲートアレイ)によって構成されるCPU装置に関する。
【0002】
【従来の技術】
FPGAはロジック回路の一種である。
【0003】
従来の回線インターフェイス機能を具備するCPU装置において、規模の大きいFPGAで回路を構成する場合には、FPGAの回路配置データの容量が大きいため、専用の大容量ROM(回路配線データを書きかえる必要がある場合には不揮発性メモリ)に保存しておく必要があった。
【0004】
図11は従来の回線インターフェイス機能を具備するCPU装置の構成例である。CPU装置はFPGA601とFPGA602、コンフィグレーション回路603、FPGAの回路配置データを保存する専用のEEPROM604、CPU607、CPU607が動作するためのプログラムを保存するROM605、CPU607が動作する際の一時記憶領域となるRAM606、これらを繋ぐバス609及びネットワーク入出力回路620を具備する。なおFPGA601は外部回線インターフェイスと接続されている点若しくはネットワーク入出力回路620と接続されている点でFPGA602と相違する。
【0005】
次に図12を利用して、CPU装置の起動時の操作を説明する。
【0006】
CPU装置起動時、FPGA601とFPGA602に関する回路配置データをコンフィグレーション回路603がEEPROM604もしくはROM605から読み出し、それぞれのFPGAへ転送する(S701)。
【0007】
データを送信された各FPGAは、送信されたデータに基づき、その構造にしたがって内部配線を変更する(S702)。例えばSRAM型FPGAを使用している際にはLUT(ルックアップテーブル)を使用して、内部配線を変更する。
【0008】
図13はEEPROM604中のFPGA用回路配置データを更新する際の手順を表すフローチャートである。
【0009】
FPGAの内部回路を変更する必要が生じた場合は、FPGA601の回線インターフェイスを経由して新たなFPGAの回路配置データを受信し、データをRAM606に書き込む(S711)。CPU607はサムチェック等の手段で受け取ったデータの正当性評価を行い(S712)、データが妥当なものであればCPU607がRAM606内のデータにEEPROM604のデータを書き換える(S713)。これにより、次回のCPU装置起動時から新しい回路配置データによってFPGAの内部回路が形成される。一方データが不当なものであれば、受け取ったRAM606内のデータを破棄し、RAM606の領域を開放する。
【0010】
しかし、この従来技術は次のような問題がある。
【0011】
第1の問題点は、CPU装置が実現しようとする回路規模が大きくなるとFPGA用の回路配置データを保存する部品のコストが増加することである。その理由は、FPGAの回路規模が大きいほど、回路配置データの容量も大きくなり、それを保存するEEPROM等の必要容量が増加し、複数のROMを使用したり、容量の大きい高価なROMを使用したりするからである。
【0012】
第2の問題点は、EEPROM等の書き換え可能な不揮発性メモリを使用した際に、何らかの原因でFPGAの回路配置データを失い、CPU装置が起動不能になる危険性があることである。その理由は、FPGAの回路を変更する際、CPUによってEEPROMの回路配置データを書き換えるが、ソフトのバグや突然の電源断などによりEEPROMの書き換えを失敗する可能性があるからである。
【0013】
第3の問題点として、回路配置データがEEPROMやROMに残ることである。回路配置データは単独で商取引の対象となるため、CPU装置を分解してまで情報取得を欲する者もいると考えられる為である。
【0014】
第1の問題点を解決する先行技術として、特開2001−306343号公報が挙げられる。即ち、CPU、メモリ、ネットワーク機能と共にFPGAを有する開発用装置、及び、CPU、メモリ、ネットワーク機能を有する管理装置からなるシステム上でネットワークを介して管理装置上から開発用装置のFPGAのコンフィグレーション及びバージョンアップを可能にするものである。よって、各開発装置毎に用意すべきROMを管理装置上に用意できる為、装置原価の面で優位である。
【0015】
第2の問題点を解決する先行技術としては、特開2002−176352号公報のように、データの誤り自体を防ぐ為にデータ転送時にクロックのタイミングを調整するようなものがある。
【0016】
第3の問題点の解決には、暗号化した状態でEEPROMに配置し、RAM上に一旦展開して、解読してからFPGAに回路配置データを送るなどの手法も考えられるが、この場合も解読用のソフトウェアのアルゴリズムを解析されれば暗号化された回路配置データも解読されてしまう点が問題であった。
【0017】
【特許文献1】
特開2001−306343号公報(段落(0019)―(0081))
【特許文献2】
特開2002−176352号公報(段落(0028)―(0038))
【0018】
【発明が解決しようとする課題】
しかし、上記従来技術においても解決し得ない問題があった。
【0019】
特開2001−306343号公報においては開発用装置の外部に存在する管理装置上からデータを送りこむ為、管理装置から開発用装置へのアクセスが不可欠となり、セキュリティの面から問題があった。
【0020】
また、特開2002−176352号公報もROMの保存失敗の防止を目的とするものであって、失敗した際にどのようにリカバーするかを目的とした発明ではない。
【0021】
更に近年のセキュリティ意識の高まりによって、起動直後、ハードウェアの回路配置データがそのままRAM上に残置することは好ましいことではない。また、必ず一定の外部サイトにアクセスしていれば、長期的にデータの内容を解析される怖れが付きまとった。
【0022】
本発明では、回線インターフェイスを備えたCPU装置において、装置内部を大規模なFPGA回路によって構成する場合でも、装置起動時に小さな容量のFPGA回路配置データを使用して通信インターフェイスを構成し、該通信インターフェイスを使用して他のモジュールの回路配置データをダウンロードすること、及び、外部からのアクセス可能なメモリにそれらの回路配置データを残さないことでセキュリティの向上を図る。
【0023】
【課題を解決するための手段】
本発明に係わるCPU装置は、2以上のFPGAを含むCPU装置であって、CPUと、通信インターフェイスを含む1つの通信用FPGAと、汎用FPGAを含み、起動時に前記CPU装置内に格納された通信用FPGA回路配置データを使用して前記通信用FPGAに第一の通信回路の配置を行い、第一の通信回路を用いて通信用FPGAの再回路配置データを取得して通信用FPGAに第二の通信回路配置を、前記第二の通信回路を用いて得た汎用FPGA回路配置データを用いて汎用FPGAの回路配置を行う初期化処理をするものとする。
【0024】
なお、通信用FPGAと汎用FPGAは直接接続され、汎用FPGA回路配置データを通信用FPGAから直接汎用FPGAに送信してもよい。
【0025】
また、更にタイマを含み、通信用FPGAの回路配置終了からタイマは計時を開始してもよく、一定期間中に前記初期化処理が終了しないと、前記初期化処理に変わる処理を行ってもよい。
【0026】
更に、前記通信用FPGA及び前記汎用FPGAの回路配置の状態を表すレジスタを内蔵するコンフィグレーション回路を含み、CPUは前記レジスタの状態で前記初期化処理の終了の判断を行ってもよい。
【0027】
なお、前記通信用FPGA回路配置データはROMに格納しても、不揮発性メモリに格納しても良い。不揮発性メモリに格納した場合は、初期化処理後、前記不揮発性メモリ内に格納された前記通信用FPGA回路配置データを書き換え可能としても良い。
【0028】
また、前記通信回路を用いて前記汎用FPGAの回路配置データをモジュール毎に取りこみ、各モジュールを異なる外部サイトに要求しても良い。
【0029】
本発明に係わるCPU装置の初期化方法は、CPU装置内のデータを使用して通信用FPGAの第一の通信用インターフェイス回路の配置を行うステップと、前記第一の通信用インターフェイス回路を用いて、通信用インターフェイス回路の再配置データを取得し通信用FPGAの再回路配置を行うステップと
前記通信用FPGAに再配置された第二の通信用インターフェイス回路を用いて、汎用FPGAの配置データを取得して回路配置を行うステップと、前記再配置された通信用インターフェイス回路と前記汎用FPGAの回路の動作確認を行うステップとから構成されても良い。
【0030】
通信用FPGAと汎用FPGAが直接接続されているCPU装置に対して、通信用FPGAの通信用インターフェイス回路の配置を行うステップと、前記通信用FPGAに配置された通信用インターフェイス回路を用いて、前記通信用FPGAの再配置データを取得し通信用FPGAの再配置を行い、再配置した通信用FPGAを用いて汎用FPGAの回路配置データを取得し、通信用FPGAから直接汎用FPGAに汎用FPGAの回路配置を行うステップと、前記再配置された通信用インターフェイス回路の動作確認を行うステップから構成されても良い。
【0031】
【発明の実施の形態】
(第1の実施の形態)
以下に本発明の実施の形態を図面に基づき説明する。
【0032】
図1は本発明に係るCPU装置1の第1の実施の形態を表すブロック図である。
【0033】
CPU装置1はFPGA11、FPGA12、コンフィグレーション回路13、タイマ回路14、ROM15、RAM16、CPU17、ROM18とアドレス/データバス19、ネットワーク入出力回路20及び他の制御信号先から構成される。
【0034】
FPGA11(通信用FPGA)は、コンフィグレーション回路13によってROM15から回路配置データが転送され、内部回路を形成する。FPGA11は外部回線インターフェイスを含む。
【0035】
FPGA12(汎用FPGA)もコンフィグレーション回路13によってRAM16から回路配置データが転送され、内部回路を形成する。
【0036】
本発明においては、FPGA11は最小限の回線インターフェイス回路を構成できる最小の容量を、FPGA12は上記最小限の回線インターフェイス回路以外の回路を構成する大きな容量を有することを想定しているが、必ずしもこれに拘るものではない。
【0037】
コンフィグレーション回路13はFPGA11及びFPGA12それぞれに回路配置データを送信する機能を含み、各種制御信号線がFPGA11等に配置される。また、FPGA11及びFPGA12の回路配置が完了したことを示す配置完了レジスタ13bを内包する。
【0038】
タイマ回路14はFPGA11への回線データ送信完了後からの時間をカウントアップする。一定の時間経過後FPGA12への回路配置が終了しないとFPGA12回路配置失敗信号を出力する。
【0039】
ROM15には、FPGA11が最初に機能するための最小限の回路配置データが格納されている不揮発性メモリである。
【0040】
RAM16はCPU17の一次記憶領域たる揮発性メモリである。
【0041】
CPU17はシステム全体を制御する中央処理装置のことである。汎用性が高く、電源投入後初期化したCPU装置1はCPU17の制御下で動作する。
【0042】
ROM18はCPU装置1の動作の為に必要な内部プログラムを格納する不揮発性メモリである。なお、便宜上、本明細書ではROM15とROM18に分けてはいるが、これらを1つのメモリに格納しても良い。
【0043】
アドレス/データバス19はCPU17及び他の周辺回路との間でアドレス情報/データをやり取りするための内部バス及びその制御信号群のことである。
【0044】
ネットワーク入出力回路20はネットワークから送信されるデータをアナログデジタル変換してFPGA11に送信し、またFPGA11から送信されるデータをデジタル/アナログ変換してネットワークに送信する。また、本実施の形態ではデータリンク層に関するプロトコルヘッダの解析処理も行う。
【0045】
アドレス/データバス19以外にも上記構成の間を各種信号線が各構成部品間を接続している。
【0046】
コンフィグレーション回路13からFPGA11及びFPGA12のそれぞれに対し、回路データを送信する為の信号線が接続されている(1a、1b)。この信号線はシリアルインターフェイスであってもパラレルインターフェイスであっても良い。
【0047】
また、コンフィグレーション回路13からタイマ14及びCPU17に対してコンフィグレーション完了信号が接続される(1c)。これはFPGA11及びFPGA12の回路形成が全て完了したことを表す信号が送信される。
【0048】
FPGA11からはタイマ回路14及びコンフィグレーション回路13に対して回路構成の完了を表すFPGA11回路構成完了信号線1dが接続される。これは、タイマ回路14のカウント開始を意味すると共に、FPGA12への回路配置データの転送が可能になったことを表す。
【0049】
タイマ回路14からもコンフィグレーション回路13に対してFPGA回路配置失敗信号1eが接続される。
【0050】
更にFPGA12からコンフィグレーション回路13に対してFPGA12回路構成完了信号線1fが接続され、FPGA12の回路配置が終了したことを表す配置完了レジスタ13bのセット条件となる。
【0051】
FPGA11からネットワーク入出力回路20に対しては送信するデータをシリアル送信し、ネットワーク入出力回路20からFPGA11に対して受信したデータをアナログ/デジタル変換した後のデジタルデータを送信する為の信号線群1gが接続されている。
【0052】
次に、図2を用いて正常動作時の初期化処理の流れについて説明する。
【0053】
CPU装置の電源が投入されると、図示しない各構成の初期化を行う。CPU17が各構成の初期化の完了を確認したら、CPU17がコンフィグレーション回路13をアクティブにする。その後CPU17は配置完了レジスタ13bを一定周期でチェックする。
【0054】
コンフィグレーション回路13がアクティブになった後CPU17のコマンドの発行を待って、コンフィグレーション回路13がROM15からアドレス/データバス19を経由してFPGA11用回路配置データを読み出し始める。この際読み出されるFPGA11用回路配置データは外部サイトからFPGA11用回路再配置データを読み出すのに必要な最小限の回路配置を表したものである。
【0055】
その後コンフィグレーション回路13は読みこんだFPGA11用回路配置データを逐次FPGA11にデータ送信線1a経由で送信する(S201)。送信されたFPGA11用回路配置データを使って、FPGA11の内部回路構成(すなわち暫定的な回線インターフェイス回路形成)が行われる(S202)。内部回路構成が行われると、外部からのアクセスが可能になったことを表す為、回路構成完了をタイマ14及びコンフィグレーション回路13に回路構成完了信号線1dを用いて通知する。
【0056】
タイマ14は回路構成完了信号線1dがアクティブになったことを確認すると、カウントアップを開始する(S203)。一定の時間経過後FPGA12への回路配置が終了しないとFPGA回路配置失敗信号1eを出力する。また、回路構成完了信号線1dがアクティブになるとコンフィグレーション回路13内の配置完了レジスタ13bがセットされる。
【0057】
FPGA11用回路配置データによりFPGA11の暫定的な回線インターフェイス回路の配置完了を確認したら、CPU17はFPGA11に展開された暫定の回線インターフェイス回路を用いて外部サイトからFPGA11用回路再配置データ(完成された回線インターフェイス回路形成のための配置データ)をダウンロードする(S204)。なお、この際、CPU17側からはデータ要求を行う旨のコマンドを送出できるのみで、実際の送信は全てFPGA11内で処理される。CPU17はデータ要求の結果送付されてくるデータの着信を行うだけである。
【0058】
EEPROMから送信されるFPGA11用回路配置データと異なり、外部サイトからのダウンロードとなるため、FPGA11用回路再配置データを受け取ったら、CPU17は受け取ったデータの妥当性を検証する(S205)。この際、受信したFPGA11回路再配置データにはハミングコードやCRCと言った誤り訂正符号化がなされている可能性があるがこれらの訂正処理も同時に行い、FPGA11に送信可能な状態にすべきである。
【0059】
FPGA11用回路再配置データが妥当でなければ(S205:invalid)、CPU17はFPGA11用回路再配置データを再度ダウンロードする。一方、正常であればCPU17がコマンドを発行した後、コンフィグレーション回路13はFPGA11用回路再配置データを逐次FPGA11にデータ送信線1a経由で送信しFPGA11の回路を再構成する(S206)。即ち、これによって完成された回線インターフェイス回路の形成を実行する。再構成中は回路構成完了信号線1dがインアクティブとなり、それに伴い配置完了レジスタ13bの対応するビットもインアクティブとなる。
【0060】
回路配置が完了すると回路構成完了信号線1d及び配置完了レジスタ13bの双方がアクティブになる。
【0061】
配置完了レジスタ13bがアクティブになったことをCPU17が検知すると、FPGA11に構成された回路が外部回線インターフェイスとして機能するかの動作チェックを行う(S207)。動作チェック時に不具合が発生したら、FPGA11の内部回路構成をリトライする(S201)。なお、一定の回数内部回路構成を行っても、正常動作しなかった場合は不良表示を行い故障であることを操作者に表示して処理の停止を行っても良い。また、タイマ14のタイムアウト発生までリトライをするようにしても構わないが設計事項であるので詳細は省略する。
【0062】
外部回線インターフェイスの正常動作を確認すると、CPU17はFPGA12回路配置データを特定のサイトからダウンロードする(S208)。この際、S204のようにFPGA11に構成された暫定の回線インターフェイス回路に頼るのではなく、CPU17の制御下において処理を行う。即ち、FPGA11の完成した回線インターフェイス回路及びROM18等に格納されたソフトウェアモジュールを使用してFPGA12回路配置データの格納されているサイトを指定して通信を行う。
【0063】
ダウンロードしたFPGA12回路配置データはRAM16に一次的に記憶される。この際、FPGA12回路配置データをダウンロードできなければ、タイマ14のタイムアウト発生までリトライを掛けても良い。
【0064】
EEPROMから送信されるFPGA11用回路配置データと異なり、外部サイトからのダウンロードとなるため受信したFPGA12回路配置データにはハミングコードやCRCと言った誤り訂正符号化がなされているが、これらの処理に付いては本発明と直接的な関係は無い為、符号化等についてはここでは詳述しない。
【0065】
FPGA11回路再配置データ同様、FPGA12回路配置データのダウンロードが完了したらした、CPU17は受信したデータの検証を行う(S209)。受信したデータが正当なものであって、書き換えても動作に支障が無い場合には(S209:valid)、FPGA12回路配置データの格納領域アドレスをコンフィグレーション回路13に送信する。一方、受信したデータに問題がある場合(S209:invalid)、ダウンロードのリトライ若しくはエラー処理を行うが、本発明においては特定しない。図2上ではリトライを行っているがこれに限定されるものではない。
【0066】
FPGA12回路配置データが送信されたらFPGA12の回路配置を実行する(S210)。問題無く、回路配置が終了したら、FPGA12回路構成完了信号線1fがアクティブになり、これをトリガとして配置完了レジスタ13bが再度セットされる。
【0067】
配置完了レジスタ13bによってFPGA12の回路配置が完了したことをCPU17が確認すると、FPGA12が提供する諸機能が実行可能か否かの動作チェックをCPU17が行う(S211)。
【0068】
FPGA12の回路配置が適切に行われていることを確認したら(S211:valid)、CPU17はタイマ14のカウントを停止するとともに(S212)、配置完了レジスタ13bの定期的なチェックを終了する。
【0069】
次に、図3を用いて外部サイトとCPU装置との関係を説明する。
【0070】
CPU装置1はネットワーク2を通じて外部サイト3a及び3bに接続する。CPU装置1がFPGA11の回路配置を終えると、外部サイトにFPGA12回路配置データを要求する旨は先ほど述べた通りである。CPU装置1がFPGA12回路配置データを要求する際、CPU1はROM15に記録されたアドレス情報も同時に読み出す。この際アドレス情報はネットワーク2の通信用プロトコルに応じて相違する。例えば、TCP/IPを用いる場合にはこのアドレス情報はIPアドレス及びポート番号となるだろう。
【0071】
CPU装置1がFPGA12回路配置データを要求する際、要求時に使用するネットワーク2の伝送方式は如何様なものでも良い。例えばADSLなどによって接続されているパソコンや携帯電話であればWANで用いられるATM(非同期転送モード)によって構成されるだろうが、速度的に問題があるSTM(同期転送モード)を用いても構わない。
【0072】
CPU装置1はネットワーク2を介して要求信号を外部サイト3aのサーバα31に送信する。サーバα31は受け取ったデータ形式が適切なものであればデータベースα32からFPGA12回路配置データを読み出し、ネットワーク2経由でCPU装置1に送信する。この際、ATMを用いるのであればVCI(ヴァーチャルチャンネルアイデンティフィア)やVPI(ヴァーチャルパスアイデンティフィア)といったデータリンク層の属性とIPアドレス等のネットワーク層の属性との間でインターフェイスを設けて一意的に相手が特定できるようにしてやる必要がある。
【0073】
また外部サイト側で複数のモジュールについて、複数のサーバを用いても良い。サーバβ33に対してCPU装置1は個々の機能にかかわるモジュール別に複数のFPGA12回路構成データを要求する構成を取っていたとする。サーバβ33はCPU装置1の要求に応じてデータベースβ’34かデータベースβ”35から要求された個々の機能にかかわるFPGA12回路構成データを読み出し、CPU装置1にデータを送信するようにしても良い。
【0074】
図2でも表しているが、FPGA11は逐次的に回路構成が変化することが本発明の前提である。図4及び図5はFPGA11の変化を表したものであり、それについて説明する。
【0075】
図4は、FPGA11がROM15から読み出したFPGA11回路配置データに基づき、どのような回路を構成するかを表している。以下この段階での回路を「暫定回路」(既述の暫定的な回線インターフェイス回路)と言う。これは前述の暫定的な回線インターフェイス回路と同じものである。
【0076】
FPGA11上はFPGA11回路配置データを受け取った後、ネットワーク受信インターフェイス回路41、ネットワーク層・トランスポート層解析回路42、バスインターフェイス回路43、ネットワーク層・トランスポート層処理回路44及びネットワーク送信インターフェイス回路45から構成なる回路を構成する。
【0077】
ネットワーク受信インターフェイス回路41は、ネットワーク入出力回路20が受信したデータをデータ抽出回路42に対し送信する回路である。
【0078】
ネットワーク層・トランスポート層解析回路42はネットワーク受信インターフェイス回路41から送られたデータのネットワーク層及びトランスポート層に関するプロトコルヘッダの切り出し及びデータ品質の保証処理を行う。トランスポート層において保証する品質のデータが生成される目処が立てば、バスインターフェイス回路43に逐次データを送信する。
【0079】
バスインターフェイス回路43はネットワーク層・トランスポート層解析回路42から送られたデータをアドレス/データバス19に送信し、また、アドレス/データバス19から送信されてくるネットワーク向けの送信データをネットワーク層・トランスポート層処理回路44に送信する機能を有する。また、それらの処理に関係する制御信号のコントロールを行う。
【0080】
ネットワーク層・トランスポート層処理回路44は、FPGA11回路再配置データを保持する外部サイトに要求する際のデータ及びプロトコルヘッダ(要求データ)をネットワーク送信インターフェイス回路45に送る直前の状態で保持しており、それをネットワーク送信インターフェイス回路45に送る機能しか持たない。CPU17からのコマンドを受け取ると、ネットワーク層・トランスポート層処理回路44は要求データをネットワーク送信インターフェイス回路45に送る。
【0081】
ネットワーク送信インターフェイス回路45は、ネットワーク入出力回路20に対し、ネットワーク層・トランスポート層処理回路44が有する要求データを送信する回路である。
【0082】
なお、ネットワーク受信インターフェイス回路41及びネットワーク送信インターフェイス回路45は本実施の形態においてはFPGAのI/O LOGIC回路を想定している。したがって、実動作の上では特に必要はないがFPGA外部との論理的接続の為に欠かせない。また、この部分は回路配置データによっても変更できない部分である。
【0083】
図5は外部サイトからFPGA11回路再配置データを読み出して回路構成を再度行った後(図2のS206)の回路構成である。以下、この段階での回路を「恒常回路」という。
【0084】
本図においては、ネットワーク層・トランスポート層データ管理部46が図4の構成に加えて追加されている。またネットワーク層・トランスポート層処理回路44はその構成を大きく異にする構成を取る。
【0085】
ネットワーク層・トランスポート層解析回路42はネットワーク受信インターフェイス回路41から送られたデータのネットワーク層及びトランスポート層に関するプロトコルヘッダの切り出し及びデータ品質の保証処理を行う点で図4と同様の機能を有するが、ネットワーク層・トランスポート層データ管理回路46と接続される点で相違する。
【0086】
恒常回路において、ネットワーク層・トランスポート層処理回路44はネットワーク層・トランスポート層データ管理回路46の管理下でデータの送受信を行う。即ち、ネットワーク層・トランスポート層データ管理回路46がシーケンスナンバーを適宜割り当て、ネットワーク層・トランスポート層処理回路44がプロトコルヘッダを作り、データとセットでネットワーク送信インターフェイス回路45に送る。また、送信先や送信するデータをCPU17が指定できる点でも汎用性を有する。
【0087】
ネットワーク層・トランスポート層データ管理回路46はネットワーク層、トランスポート層におけるデータの制御情報を統合的に管理する回路である。例えば、ネットワーク層・トランスポート層のプロトコルとしてTCP/IPを使用した場合には、シーケンスナンバーやウィンドウサイズなどの管理を行う。具体的にはネットワーク層・トランスポート層のプロトコルとしてTCP/IPを使用する場合、ネットワーク層・トランスポート層解析回路42で切り出されたプロトコルヘッダデータからACKナンバーを切り出し、ネットワーク層・トランスポート層処理回路44から送信した際のシーケンスナンバーと対比しデータとしての整合性が取れているかを確認し、取れていないようであれば再送処理に移行するなどを行う。
【0088】
次に図4と図5の回路における目的の相違点を記載する。
【0089】
図4の回路は外部サイトにFPGA11回路再配置データを読み出す為に構成される回路である。したがって、データの要求先である当該データを有する外部サイトを最低限有して、そこにアクセスできれば良い。また、送信されるデータ要求も定型化できるため、そのデータを送る為に必要最低限の回路構成で良く、また、回路構成後、CPU17から発するコマンドも必要最低限のもので済む。
【0090】
一方、図5の回路は外部サイトにFPGA12回路配置データを要求する以外に、CPU装置1の初期化が終了したのちも、不特定の外部サイトにアクセスする機能が求められるため汎用的な機能が必要である。したがって、ネットワーク層・トランスポート層のプロトコルで定められたデータの誤り訂正・再送要求といった機能まで必要となる。
【0091】
掛かる相違により、各モジュールの機能も相違する。
【0092】
暫定回路のネットワーク層・トランスポート層解析回路42と恒常回路のネットワーク層・トランスポート層解析回路42では、送られたデータからプロトコルヘッダを切り出すと言う点では同一である。しかし、暫定回路においては、切り出したプロトコルヘッダからデータの保証に関する最低限の情報(例えば、TCP/IPを使用する場合においてはアックナンバーの整合性を取る)を判断して各プロトコルに適合していなければ破棄する処理を行うようにすれば良い。なお、データが破棄された場合にはCPU17によって、送信コマンドを再発行するようにすれば、FPGA11への回路配置は最小限で済む。
【0093】
一方、恒常回路においては切り出したプロトコルヘッダをネットワーク層・トランスポート層データ管理回路46に送信し、プロトコル整合性に関する処理はネットワーク層・トランスポート層データ管理回路46に任す。
【0094】
ただし、暫定回路および恒常回路のいずれの場合にも受信したデータはバスインターフェイス回路43及びバス19を介してRAM16に書きこまれる。
【0095】
暫定回路におけるネットワーク層・トランスポート層処理回路44は、既述の通り、特定の外部サイトに対して、特定のデータ要求リクエストを送信する単機能のモジュールに過ぎない。また、ネットワーク層・トランスポート層解析回路42と協調して動作する際には(例えばTCP/IPのシーケンスナンバーが可変の場合など)にはネットワーク層・トランスポート層解析回路42との間でデータのやり取りが必要となる。
【0096】
一方、恒常回路のネットワーク層・トランスポート層処理回路44はCPU17から設定される送信先に対し、CPU17から送られるデータを送信する。したがって、送信先を設定するレジスタや一時的に送信データを滞留させるバッファも持つ場合がある。また、ネットワーク層・トランスポート層データ管理回路46に対し、TCP/IPにおけるシーケンスナンバーを送信したり、現時点におけるウィンドウサイズを指定されたりする為の送受信を行う必要がある。
【0097】
暫定回路に存在しないネットワーク層・トランスポート層データ管理回路46はネットワーク層・トランスポート層解析回路42及びネットワーク層・トランスポート層処理回路44からのデータを参照し、通信管理をおこなう。したがって、暫定回路では行わなかった再送処理等も行えるようになる。
【0098】
なお本実施の形態では、FPGA11にネットワーク層及びトランスポート層の機能を付与し、より下層のデータリンク層の処理はネットワーク入出力回路20で行うようにしている。しかし、FPGAが物理層に対応するデジタル・アナログ変換回路及びアナログ・デジタル変換回路のインターフェイスを有していればネットワーク入出力回路20をFPGA11の中に取り込んでも良い。この場合VPIやVCIと言った相手先特定情報を含むATMプロトコルヘッダの作成及び解釈もFPGA11で行われる。これに伴い、ネットワーク層・トランスポート層解析回路42ではデータリンク層のプロトコルヘッダの切り出しを、ネットワーク層・トランスポート層処理回路44ではプロトコルヘッダの付加を、ネットワーク層・トランスポート層データ管理回路46ではデータリンク層に係わる端末間のデータ保証処理(ATMプロトコルのHECなど)を行う。
【0099】
なお、図2ではFPGA12回路配置データを一括して読み込んでいるが、機能毎にモジュール化して、モジュール毎に読み出しても良い。掛かる場合には、CPU17からのコマンドが増加するが、モジュール毎に複数のサーバーを利用できる。したがって、サーバー側の負荷を分散できる為、数多くのCPU装置に対応できるメリットがある。なお図2のS208からS211を反復して行うことも、モジュール毎にFPGA12回路配置データを読みこんだ後、一括してS211の動作確認を行っても良い。
【0100】
(第2の実施の形態)
第2の実施の形態を表す図6においては、第1の実施の形態に係わる図1とほぼ同一の回路を用いるが、ROM15の代わりにEEPROM21が用いられている点が相違する。よって、図1と重複する事項に付いては説明を省略する。
【0101】
EEPROM21には第1の実施の形態同様、FPGA11回路再配置データが格納されている。EEPROMは不揮発性のメモリではあるが、書き換え可能な点でROMと相違する。この特性を利用して、図7を参照して第2の実施の形態の処理を説明する。
【0102】
図2に記載された全ての初期化処理が終わると、CPU17はFPGA11回路配置データの更新があったか確認するため外部サイトにアクセスする(S701)。この際アクセスする外部サイトはFPGA11回路再配置データにアクセスする為の外部サイトと同じサイトでも異なるサイトでも良い。
【0103】
FPGA11回路配置データの更新があるか否かは、外部サイトは更新されたFPGA11回路再配置データを有する外部サイトのアドレスの有無等で行われる。外部サイトのアドレスがあれば、更新がなされたとして該アドレスに対してFPGA11回路配置データの要求を行う(S702:Yes)。外部サイトのアドレスが無ければ、更新も無かったものとして処理は終了する(S702:No)。
【0104】
更新されたFPGA11回路配置データを受け取るとRAM16に受信する(S703)。受け取ったデータをCPU17が妥当なものであるかを検証し(S704)、妥当なものであれば、受け取ったデータをEEPROM21に書き込みを行い(S705)。一方、妥当なもので無ければ再度FPGA11回路配置データを要求する(S703)。
【0105】
EEPROM21上のFPGA11回路配置データが書き変えられると、次回起動時には、その書き変えられたFPGA11回路配置データで初期化処理が行われる。これにより、速やかに最新のFPGA11回路配置データに更新することが出来る。
【0106】
(第3の実施の形態)
次に第3の実施の形態について説明する。この発明は、RAM16に回路配置データを残さないことで、秘匿性を高めるという目的も有している。
【0107】
近年のFPGAは、内部にRAMを有する場合が多い。このFPGAの内部RAMを利用して、FPGA11からFPGA12に対しデータを転送し、その後、FPGA11を再構成することによって、FPGA内のRAMへのアクセスを封じ、回路配置データの秘匿性を向上させるのが本実施の形態の狙いである。図8乃至10を用いて本実施の形態の動作を説明する。
【0108】
図8は本発明の第3の実施の形態を表すブロック図である。基本的には第1の実施の形態と同じ回路構成を取るが、FPGA12とFPGA11が直接接されている点が相違する。したがって、これ以外の構成の説明に付いては図1と同様である為省略する。
【0109】
FPGA11とFPGA12を結ぶデータ信号線群1hは、FPGA11から直接FPGA12に対してFPGA12回路配置データを送信する為の信号線群である。この信号線群を使用してFPGA11からFPGA12にFPGA12回路配置データを送信する。
【0110】
図9は第3の実施の形態の動作を表すフローチャートである。
【0111】
図10はFPGA11がROM15上の回路配置データを読み込んだ直後(図2S202相当時)の回路配置を表すブロック図である。第1の実施の形態と異なり、FPGA12用のインターフェイスをつかさどるFPGA12送信部47がFPGA12との間を結ぶ信号線群1h、第1の実施の形態でFPGA12回路構成完了信号線1fに相当するFPGA12回路構成完了信号線1i、FPGA12の回路配置が終わったことをコンフィグレーション回路13に送信するFPGA12回路構成完了信号線1j及びネットワーク層・トランスポート層解析回路42とに接続されている。
【0112】
また、ネットワーク層・トランスポート層送信回路44は、基本機能は図2S202相当時における第1の実施の形態のそれと変わらないが、FPGA11回路再配置データの要求に加え、FPGA12回路配置データの要求も行えるようになり、またFPGA12回路配置データの要求用のコマンドも追加されている。
【0113】
次に、図9を用いて、正常動作時の初期化の流れについて説明する。
【0114】
CPU端末の電源が投入されると。CPU17はROM15から、FPGA11回路配置データを読み出し(S901)、FPGA11の回路配置を実行する(S902)。この際、図10に表されるFPGA11の回路が構成される。FPGA11の回路の構成をトリガとして、初期化の成否を判断する所定の期間をカウントするタイマのカウントを開始する(S903)。
【0115】
図10の回路が構成されたことを配置完了レジスタ13bによってCPU17が確認すると、CPU17はネットワーク層・トランスポート層送信回路44に対して、外部サイトにFPGA12回路配置データの要求を行う旨のコマンドを発行する(S904)。要求に対してFPGA12回路配置データが戻ってきたら、ネットワーク層・トランスポート層解析回路42が誤り訂正や妥当性の検証を行う(S905)。検証の結果、FPGA12回路配置データが妥当なものであれば(S905:valid)、FPGA12送信部47に対して誤り訂正後のFPGA12回路配置データを送信する。これらの誤り訂正やFPGA12送信部47への送信の際にバッファが必要となる場合も考えられる。これらに対してはFPGA内部のRAMを用いることでRAM16への書きこみを避け、秘匿性を高める。一方、FPGA12回路配置データが不当なものであれば(S905:invalid)、再度FPGA12回路配置データを読み出す(S904)。
【0116】
FPGA12送信部47にFPGA12回路配置データが送信されると、FPGA12へデータが送信される(S906)。FPGA12回路構成完了信号線1iによってFPGA12送信部47が通知されると、FPGA12送信部47はFPGA12回路構成完了信号線1jをセットしてコンフィグレーション回路13にFPGA12の回路構成が完了したことを通知する。
【0117】
コンフィグレーション回路13中の配置完了レジスタ13bによってCPU17がFPGA12の回路配置が完了したことを確認したら、FPGA12の動作チェックをする(S907)。動作チェックに失敗したら(S907:invalid)、再度FPGA12回路配置データの読みこみをする(S904)。
【0118】
動作チェックが成功したら(S907:valid)、次にCPU17は、FPGA11回路再配置データを要求するコマンドをネットワーク層・トランスポート層送信回路44に発行する(S908)。コマンドを受けて、ネットワーク層・トランスポート層送信回路44はネットワーク送信インターフェイス回路45、ネットワーク入出力回路20を介して、外部サイトにFPGA11回路再配置データのリクエストを送信する。外部サイトがFPGA11回路再配置データを送信すると、ネットワーク入出力回路20、ネットワーク受信インターフェイス回路41を介して、ネットワーク層・トランスポート層解析回路42にデータが送信される。このFPGA11回路再配置データの誤り訂正(S909)は、FPGA12回路配置データの誤り訂正の際に使用した回路をそのまま使用して妥当性の検証後RAM16に送信しても構わないし、誤り訂正を行わずRAM16に書きこみ、CPU17が誤り訂正やデータの検証を行っても良い。
【0119】
データが妥当でなければ(S909:invalid)、再度FPGA11回路再配置データを要求すべくCPU17はコマンドを発行する(S908)。一方FPGA11回路再配置データが妥当なものであれば(S909:valid)、FPGA11にFPGA11回路再配置データを送信する(S910)。回路再配置が終了すると、図5のブロック図の回路が完成する。コンフィグレーション回路13中の配置完了レジスタ13bによってCPU17が確認すると、FPGA11の動作をチェックする(S911)。動作が妥当なものであれば(S911:valid)、タイマ14を停止し、初期化は終了し、CPU装置1は正常動作に移行する。一方、動作が不当なものであれば(S911:invalid)、再度、FPGA11回路再配置データを要求する(S908)。
【0120】
以上のような処理を行うことで、RAM16中にはFPGA回路再配置データのみしか残置しないため、FPGA12回路配置データは完全に秘匿することが可能になる。
【0121】
なお、本書におけるCPU装置とはパソコンや携帯電話、各種家電等のCPUを搭載したものだけでなく、より単機能化したDSP(デジタルシグナルプロセッサ)を使用したものであっても良い。
【0122】
また、ネットワークに接続する方法は有線であっても、無線であっても良い。
【0123】
【発明の効果】
以上述べた発明により、次の効果が得られる。
【0124】
第一に、回路配置データのほとんどをネットワーク上に置くことが出来る為、インターフェイスに係わる最小限の回路配置データを格納するROMにかかわる部品コストしか要さず、また、誤り訂正、データの妥当性の確認と言った、一時的にしか使用しない回路をFPGA化することで、バグの生じる余地を減じることが可能となる。
【0125】
第二に、回路配置データのほとんどをネットワーク上に置くことによって、CPU装置側にはストレスを感じさせること無く、CPU装置にかかわるソフトウェアを更新することが可能なことである。近年において、ソフトウェアの高機能化が進むことで、バグ無きソフトウェアを当初から出荷することは困難であるが、外部サイトの回路配置データを更新することで、ソフトウェアに従う形でハードウェアを修正すると言う手段が提供できることである。ソフトウェアの更新と併用することで、CPU装置の堅牢性が向上する。
【0126】
第三に、FPGA11回路配置データ自体を更新させることで同時にFPGA11回路配置データ要求先の外部サイトを変更し、結果クラッカー等からネットワーク上でデータを監視されることを防ぐことが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係わるCPU装置の構成を示すブロック図である。
【図2】本発明の第1の実施の形態に係わるCPU装置の初期化処理の手順を表すフローチャートである。
【図3】本発明のCPU装置と外部サイトとの接続の概念を示すイメージ図である。
【図4】FPGA11回路配置データを読みこんだ直後の本発明の第1の実施の形態に係わるFPGA11の回路配置を表すブロック図である。
【図5】FPGA11回路再配置データを読みこんだ後の本発明の第1の実施の形態に係わるFPGA11の回路配置を表すブロック図である。
【図6】本発明の第2の実施の形態に係わるCPU装置の構成を示すブロック図である。
【図7】本発明の第2の実施の形態に係わるFPGA11回路配置データの更新処理の手順を表すフローチャートである。
【図8】本発明の第3の実施の形態に係わるCPU装置の構成を示すブロック図である。
【図9】本発明の第3の実施の形態に係わるCPU装置の初期化処理の手順を表すフローチャートである。
【図10】FPGA11回路配置データを読みこんだ直後の本発明の第3の実施の形態に係わるFPGA11の回路配置を表すブロック図である。
【図11】既存のCPU装置の構成を表すブロック図である。
【図12】既存のCPU装置の起動処理を表すフローチャートである。
【図13】既存のCPU装置の回路配置データ
【符号の説明】
1 CPU装置
2 ネットワーク
3a 外部サイトα
3b 外部サイトβ
11 FPGA(通信用FPGA)
12 FPGA(汎用FPGA)
13 コンフィグレーション回路
13b 配置完了レジスタ
Claims (12)
- 2以上のフィールドプログラマブルゲートアレイ(FPGA)を含むネットワークを介して通信を行うCPU装置であって、
前記CPU装置全体を制御するCPUと、
通信インターフェイスを含む若しくは通信インターフェイスと接続された1つの通信用FPGAと、
汎用FPGAと、
前記通信用FPGAと前記汎用FPGAに回路配置データを送信して回路を配置するコンフィグレーション回路を含み、
前記コンフィグレーション回路により、前記CPU装置の起動時に前記CPU装置内に格納された通信用FPGA回路配置データを使用して前記通信用FPGAに第一の通信回路の配置を行い、
前記通信用FPGAの配置後、前記CPUにより外部サイトから前記第一の通信用回路を用いて、通信用FPGAの再回路配置データを取得し、
前記コンフィグレーション回路により、前記再回路配置データを使用して前記通信用FPGAに第二の通信用回路の配置を行い、
前記CPUにより前記第二の通信回路を用いて外部サイトから得た汎用FPGA回路配置データを用いて、前記コンフィグレーション回路により汎用FPGAの回路配置を行う初期化処理をすることを特徴とするCPU装置。 - 請求項1記載のCPU装置であって、
通信用FPGAと汎用FPGAは直接接続され、
外部サイトから送られてきた汎用FPGA回路配置データを通信用FPGAから直接汎用FPGAに送信することを特徴とするCPU装置。 - 更にタイマを含み、
通信用FPGAの回路配置終了からタイマは計時を開始することを特徴とする請求項1記載のCPU装置。 - 前記第二の通信回路を用いて得た汎用FPGA回路配置データが妥当でない場合、データを再度取得する請求項3記載のCPU装置。
- 更にコンフィグレーション回路に前記通信用FPGA及び前記汎用FPGAの回路配置の状態を表すレジスタを含み、
前記レジスタの状態で前記FPGAの回路配置の終了を前記CPUにより判断することを特徴とする請求項4記載のCPU装置。 - 前記通信用FPGA回路配置データをROMに予め格納している請求項1記載のCPU装置。
- 更に不揮発性メモリを含み、
前記CPUにより前記通信用FPGA回路配置データを前記不揮発性メモリに格納する請求項1記載のCPU装置。 - 前記初期化処理後、前記不揮発性メモリ内に格納された前記通信用FPGA回路配置データを書き換え可能な請求項7記載のCPU装置。
- 前記CPUにより、前記第二の通信回路を用いて前記汎用FPGAの回路配置データをモジュール毎に取りこみ、
各モジュールを異なる外部サイトに要求することを特徴とする請求項1記載のCPU装置。 - 通信用FPGAと汎用FPGAを含むネットワークを介して通信を行うCPU装置において、
前記通信用FPGAと前記汎用FPGAに回路配置データを送信するコンフィグレーション回路と
前記CPU装置全体を制御するCPUを備え、
前記コンフィグレーション回路により予め前記CPU装置内のROMに保存された通信用FPGA回路配置データを前記通信用FPGAに送信して前記通信用FPGAに第一の 通信用インターフェイス回路の配置を行うステップと、
前記通信用FPGAの配置後、前記CPUにより前記第一の通信用インターフェイス回路を用いて、前記通信用FPGAの再回路配置データを取得するステップと、
前記コンフィグレーション回路により前記再回路配置データを前記通信用FPGAに送付して前記通信用FPGAを再配置して第二の通信用インターフェイス回路の配置を行うステップと、
前記CPUにより前記第二の通信用インターフェイス回路を用いて、前記汎用FPGAの回路配置データを取得するステップと、
前記コンフィグレーション回路により前記汎用FPGAの回路配置データを前記汎用FPGAに送付して前記汎用FPGAの回路配置を行うステップからなることを特徴とするCPU装置の初期化方法。 - 通信用FPGAと汎用FPGAを含むネットワークを介して通信を行うCPU装置において、
前記通信用FPGAと汎用FPGAに回路配置データを送信するコンフィグレーション回路と、
CPU装置全体を制御するCPUを備え、
前記コンフィグレーション回路により予め前記CPU装置内のROMに保存された通信用FPGA回路配置データを前記通信用FPGAに送信して前記通信用FPGAに第一の通信用インターフェイス回路の配置を行うステップと、
前記通信用FPGAの配置後、前記CPUにより前記通信用インターフェイス回路を用いて、前記通信用FPGAの再回路配置データを取得するステップと、
前記コンフィグレーション回路により前記再回路配置データを前記通信用FPGAに送付して前記通信用FPGAを再配置して第二の通信用インターフェイス回路の配置を行うステップと、
前記CPUにより前記第二の通信用インラーフェイス回路の動作確認を行うステップと、
前記CPUにより前記第二の通信用インターフェイス回路を用いて、前記汎用FPGAの回路配置データを取得するステップと、
前記コンフィグレーション回路により前記汎用FPGAの回路配置データを前記汎用FPGAに送付して汎用FPGAの回路配置を行うステップと、
前記CPUにより前記汎用FPGAの回路の動作確認を行うステップと、
からなることを特徴とするCPU装置の初期化方法。 - 通信用FPGAと汎用FPGAを含み、前記通信用FPGAと前記汎用FPGAが直接接続されている、ネットワークを介して通信を行うCPU装置において、
前記通信用FPGAと汎用FPGAに回路配置データを送信するコンフィグレーション回路とCPU装置全体を制御するCPUを備え、
前記コンフィグレーション回路により予め前記CPU装置内のROMに保存された通信用FPGA回路配置データを前記通信用FPGAに送信して前記通信用FPGAに第一の通信用インターフェイス回路の配置を行うステップと、
前記通信用FPGAの配置後、前記CPUにより前記通信用インターフェイス回路を用いて、前記通信用FPGAの再回路配置データを取得するステップと、
前記コンフィグレーション回路により前記再回路配置データを前記通信用FPGAに送付して前記通信用FPGAを再配置して第二の通信用インターフェイス回路の配置を行うステップと、
前記CPUにより前記第二の通信用インターフェイス回路の動作確認を行うステップと、
前記CPUにより前記第二の通信用インターフェイス回路を用いて、汎用FPGAの回路配置データを取得するステップと、
前記コンフィグレーション回路により前記汎用FPGAの回路配置データを前記汎用F PGAに送付して前記汎用FPGAの回路配置を行うステップと、
前記CPUにより前記汎用FPGAの回路の動作確認を行うステップとからなることを特徴とするCPU装置の初期化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003115527A JP4019012B2 (ja) | 2003-04-21 | 2003-04-21 | Fpgaを具備するcpu装置とその初期化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003115527A JP4019012B2 (ja) | 2003-04-21 | 2003-04-21 | Fpgaを具備するcpu装置とその初期化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004326143A JP2004326143A (ja) | 2004-11-18 |
JP4019012B2 true JP4019012B2 (ja) | 2007-12-05 |
Family
ID=33496050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003115527A Expired - Fee Related JP4019012B2 (ja) | 2003-04-21 | 2003-04-21 | Fpgaを具備するcpu装置とその初期化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4019012B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007243671A (ja) * | 2006-03-09 | 2007-09-20 | Kddi Corp | 論理プログラマブルデバイス保護回路 |
JP2009004987A (ja) * | 2007-06-20 | 2009-01-08 | Tokyo Fm Broadcasting Co Ltd | 監視制御システム |
JP5023856B2 (ja) * | 2007-07-18 | 2012-09-12 | 富士ゼロックス株式会社 | 演算処理装置及び演算処理プログラム |
WO2009075336A1 (ja) * | 2007-12-12 | 2009-06-18 | National University Corporation Tokyo University Of Agriculture And Technology | 情報処理装置、通信カードおよび情報処理方法 |
JP6043797B2 (ja) * | 2012-09-13 | 2016-12-14 | 富士機械製造株式会社 | 通信システム、電子部品装着装置及び電子部品装着装置の起動方法 |
JP6358497B2 (ja) | 2014-04-19 | 2018-07-18 | Tianma Japan株式会社 | 制御装置 |
JP6933050B2 (ja) * | 2017-08-23 | 2021-09-08 | 日本電気株式会社 | 回路基板、電子装置およびデータ更新方法 |
CN114114997B (zh) * | 2021-11-05 | 2024-08-16 | 南京国电南自电网自动化有限公司 | 一种合并单元采样值报文发送的可靠性设计方法及装置 |
CN114861425B (zh) * | 2022-04-25 | 2023-02-28 | 南方电网科学研究院有限责任公司 | 电网仿真的数据通信时间计算方法、系统及中央处理器 |
-
2003
- 2003-04-21 JP JP2003115527A patent/JP4019012B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004326143A (ja) | 2004-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8472439B2 (en) | Communication protocol | |
US9660808B2 (en) | Communication protocol and method for authenticating a system | |
US7093244B2 (en) | Method of remotely upgrading firmware in field-deployed devices | |
US6535867B1 (en) | System and method for accessing external memory using hash functions in a resource limited device | |
CN108182080A (zh) | 一种汽车仪表软件升级的方法 | |
US8549198B2 (en) | Communication protocol | |
CN109964215B (zh) | 具有环形缓冲区镜像的远程直接存储器访问数据通信中的流控制 | |
JP4019012B2 (ja) | Fpgaを具備するcpu装置とその初期化方法 | |
CN101547153A (zh) | 数据接收设备和数据接收方法 | |
CN112698851B (zh) | 程序更新系统、程序传送装置和程序传送方法 | |
CN111787098A (zh) | 一种耳机升级方法、装置及一种耳机和存储介质 | |
CN114884935A (zh) | 数据升级方法、装置、电子设备和存储介质 | |
US20030231642A1 (en) | Data upgrade method for a switching device in two-layer network environment | |
TW200427256A (en) | Wireless network receiver and method for performing message integrity check of service data unit thereof | |
CN113259273A (zh) | 交换机的控制方法、交换机、计算机设备和存储介质 | |
CN107665123B (zh) | 固件更新方法 | |
CN115002941A (zh) | 蓝牙电能表的通讯方法 | |
EP2579465A1 (en) | Communication device, method of controlling communication device, and information processing system | |
JP7373366B2 (ja) | 電子制御装置、演算方法 | |
EP4290396A1 (en) | Updating software of an electronic circuit for a vehicle | |
JPH01291553A (ja) | メッシュネットワークにおける個別通信方式 | |
JP2005190305A (ja) | 通信装置 | |
Mirisola | Firmware update for 6LoWPAN networks of OMA-LwM2M IoT devices | |
JP4456556B2 (ja) | ネットワーク装置 | |
JP2000324195A (ja) | ネットワークインタフェース更新システム、及びネットワークインタフェース更新方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050328 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070124 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070403 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070529 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070717 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070828 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070921 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100928 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |