JP5045115B2 - プログラマブルデバイス制御装置およびその方法 - Google Patents

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

Info

Publication number
JP5045115B2
JP5045115B2 JP2007012647A JP2007012647A JP5045115B2 JP 5045115 B2 JP5045115 B2 JP 5045115B2 JP 2007012647 A JP2007012647 A JP 2007012647A JP 2007012647 A JP2007012647 A JP 2007012647A JP 5045115 B2 JP5045115 B2 JP 5045115B2
Authority
JP
Japan
Prior art keywords
area
fpga
setting data
configuration
stored
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.)
Active
Application number
JP2007012647A
Other languages
English (en)
Other versions
JP2008182327A (ja
Inventor
健士 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shimadzu Corp
Original Assignee
Shimadzu Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shimadzu Corp filed Critical Shimadzu Corp
Priority to JP2007012647A priority Critical patent/JP5045115B2/ja
Publication of JP2008182327A publication Critical patent/JP2008182327A/ja
Application granted granted Critical
Publication of JP5045115B2 publication Critical patent/JP5045115B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Logic Circuits (AREA)

Description

この発明は、プログラマブルデバイス制御装置およびその方法に関する。
近年、プログラムデータに応じて内部の使用するハードウェア回路(例えば論理回路)が変更可能なプログラマブルデバイスがある。
このプログラマブルデバイスとして、FPGA(Field Programmable Gate Array)を例に採って説明する。FPGAでは、「コンフィギュレーションデータ」と呼ばれるFPGAの動作を設定するための設定データがある。電源投入時に、FPGAはこのコンフィギュレーションデータを読み出すことにより、コンフィギュレーションデータに基づく動作を行う。このコンフィギュレーションデータを書き換えることで、FPGAで実現する機能を変更することが可能である。
より具体的に説明すると、外部装置であるパーソナルコンピュータ(以下、「PC」と略記する)とFPGAを有したFPGA制御装置(FPGA搭載基板)とを電気的に接続することで、FPGA搭載基板はPCに対して通信可能に接続する。PCから更新すべきコンフィギュレーションデータをFPGAに送信し、FPGA制御装置内の不揮発性メモリ(例えばフラッシュメモリ)に書き込んで記憶する。次の電源投入時にそのフラッシュメモリに記憶されたコンフィギュレーションデータを読み出してFPGAに書き込むことで、書き込んだコンフィギュレーションデータに基づく動作をFPGAが行う。
もし、フラッシュメモリへのコンフィギュレーションデータの書き込み中に電源が切断し、データ転送ミスなどのフラッシュメモリへの書き込みが正常に行われない場合、あるいは間違ったデータの書き込みを行った場合には、コンフィギュレーションデータの読み出しによる読み出し動作(以下、「コンフィギュレーション動作」と呼ぶ)が失敗し正常に完了しない。したがって、FPGAも正常に動作しない。この正常に動作していないFPGAに対して、PCからコンフィギュレーションデータを送信して、コンフィギュレーションデータの更新を行うことができないという問題があった。
その状態で復旧させるためには、FPGA書き込み専用端末をFPGAに直接に接続して、FPGA内のコンフィギュレーションデータを変更し、FPGAのコンフィギュレーション動作を正常に完了させる必要があった。また、そのためには、専用端末用のコネクタを装置に接続できるように設ける、あるいは装置を開封しFPGAに接続しなければならなかった。
上記問題を解決する方法として、コンフィギュレーションデータを書き込んで記憶(格納)する2つの領域と、コンフィギュレーションデータ格納面を示すフラグを有する領域とを有するメモリを搭載する方法が提案されている(例えば、特許文献1参照)。そして、特許文献1では、上述したコンフィギュレーションデータ格納面を示すフラグに応じたコンフィギュレーションデータによりコンフィギュレーション動作を行う。さらに、コンフィギュレーション動作が失敗した場合に、もう1つの領域で格納されたコンフィギュレーションデータによりコンフィギュレーション動作を行う制御方法が提案されている。
特開2005−191872号公報(第1−10頁、図1−9)
しかしながら、上述した方法では、コンフィギュレーションデータを書き込むコンフィギュレーションデータ用のメモリは、必要なコンフィギュレーションデータのサイズの2倍以上が必要である。また、フラグ管理、コンフィギュレーションデータのコピー処理などといったコンフィギュレーションの制御方法が複雑化する。
この発明は、このような事情に鑑みてなされたものであって、メモリの容量を低減させて、より簡易な制御を行うことができるプログラマブルデバイス制御装置およびその方法を提供することを目的とする。
この発明は、このような目的を達成するために、次のような構成をとる。
すなわち、請求項1に記載の発明は、外部装置に対して通信可能に接続された少なくとも1つのFPGAと、そのFPGAの動作を設定するための設定データを記憶する不揮発性メモリと、その不揮発性メモリに記憶された前記設定データを読み出してFPGAに書き込む制御手段とを備えたプログラマブルデバイス制御装置であって、不揮発性メモリは、FPGAの所定動作のうちで全ての機能を含んだ設定データを記憶する第1領域と、その第1領域に記憶された設定データに含まれる機能よりも少なく含み、かつ前記外部装置との通信機能を少なくとも含んだ設定データを記憶する第2領域とを有し、前記装置は、少なくとも第1領域に記憶された設定データの読み出しによる読み出し動作が失敗か否かを判断する読み出し動作判断手段を備え、前記制御手段は、第1領域に記憶された設定データを読み出してFPGAに書き込むとともに、前記読み出し動作判断手段によって読み出し動作が失敗と判断された場合に、前記第2領域に記憶された設定データを読み出してFPGAに書き込んだ後に当該FPGAを動作させて、前記外部装置から更新すべき設定データを前記FPGAを介して受信して前記第1領域に格納することを特徴とするものである。
[作用・効果]請求項1に記載の発明によれば、制御手段は、第1領域に記憶された設定データを読み出してFPGAに書き込むとともに、読み出し動作判断手段によって読み出し動作が失敗と判断された場合に、第2領域に記憶された設定データを読み出してFPGAに書き込んだ後に当該FPGAを動作させて、外部装置から更新すべき設定データをFPGAを介して受信して第1領域に格納することで、外部装置との通信の機能を少なくとも含んだFPGAの動作制御する。ここで、第1領域には、FPGAの所定動作のうちで全ての機能を含んだ設定データを記憶するとともに、第2領域には、第1領域に記憶された設定データに含まれる機能よりも少なく含み、かつ外部装置との通信機能を少なくとも含んだ設定データを記憶している。したがって、第2領域には、第1領域に記憶された設定データに含まれる機能よりも少なく含んだ分だけ、メモリの容量を低減させることができる。また、第2領域には、外部装置との通信機能を少なくとも含んだ設定データを記憶しているので、読み出し動作が失敗と判断された場合でも、第2領域に記憶された設定データを読み出してFPGAに書き込んだ後に当該FPGAを動作させて、外部装置から更新すべき設定データをFPGAを介して受信して第1領域に格納することで、外部装置との通信の機能を少なくとも含んだFPGAの動作を行うことができる。したがって、外部装置との通信の機能を少なくとも確保していれば、上述した特許文献1のようなフラグ管理、コンフィギュレーションデータのコピー処理などを行わなくても、一連の制御を再度行うことができ、より簡易な制御を行うことができる。
なお、上述した不揮発性メモリは、1つのメモリで第1領域および第2領域を有してもよいし(請求項2に記載の発明)、各々のメモリで、一方のメモリは第1領域を有し、他方のメモリは第2領域を有してもよい。前者(請求項2に記載の発明)のように1つのメモリで第1領域および第2領域を有する場合には、第1領域および第2領域を1つの不揮発性メモリでまとめることができる。
また、請求項3に記載の発明は、外部装置に対して通信可能に接続された少なくとも1つのFPGAと、そのFPGAの動作を設定するための設定データを記憶し、第1領域および第2領域を有した不揮発性メモリとを備えたプログラマブルデバイス制御装置で、前記不揮発性メモリに記憶された前記設定データを読み出してFPGAに書き込むプログラマブルデバイス制御方法であって、前記第1領域には、FPGAの所定動作のうちで全ての機能を含んだ設定データを記憶するとともに、前記第2領域には、第1領域に記憶された設定データに含まれる機能よりも少なく含み、かつ前記外部装置との通信機能を少なくとも含んだ設定データを記憶し、第1領域に記憶された設定データを読み出してFPGAに書き込むとともに、少なくとも第1領域に記憶された設定データの読み出しによる読み出し動作が失敗した場合に、第2領域に記憶された設定データを読み出してFPGAに書き込んだ後に当該FPGAを動作させて、前記外部装置から更新すべき設定データを前記FPGAを介して受信して前記第1領域に格納することを特徴とするものである。
[作用・効果]請求項3に記載の発明によれば、第1領域に記憶された設定データを読み出してFPGAに書き込むとともに、少なくとも第1領域に記憶された設定データの読み出しによる読み出し動作が失敗と判断された場合に、第2領域に記憶された設定データを読み出してFPGAに書き込んだ後に当該FPGAを動作させて、外部装置から更新すべき設定データをFPGAを介して受信して第1領域に格納することで、外部装置との通信の機能を少なくとも含んだFPGAの動作を制御する。ここで、第1領域には、FPGAの所定動作のうちで全ての機能を含んだ設定データを記憶するとともに、第2領域には、第1領域に記憶された設定データに含まれる機能よりも少なく含み、かつ外部装置との通信機能を少なくとも含んだ設定データを記憶している。したがって、第2領域には、第1領域に記憶された設定データに含まれる機能よりも少なく含んだ分だけ、メモリの容量を低減させることができる。また、第2領域には、外部装置との通信機能を少なくとも含んだ設定データを記憶しているので、読み出し動作が失敗と判断された場合でも、第2領域に記憶された設定データを読み出してFPGAに書き込んだ後に当該FPGAを動作させて、外部装置から更新すべき設定データをFPGAを介して受信して第1領域に格納することで、外部装置との通信の機能を少なくとも含んだFPGAの動作を行うことができる。したがって、外部装置との通信の機能を少なくとも確保していれば、上述した特許文献1のようなフラグ管理、コンフィギュレーションデータのコピー処理などを行わなくても、一連の制御を再度行うことができ、より簡易な制御を行うことができる。
上述したプログラマブルデバイス制御方法では、具体的にはフラグを用いて以下のように制御を行えばよい(請求項4に記載の発明)。すなわち、(a)少なくとも第1領域に記憶された設定データの読み出しによる読み出し動作が失敗か否かを管理するためのエラーフラグを、装置の電源投入後に“0”にクリアする。そして、(b)上述したエラーフラグが“0”の場合には第1領域に相当するアドレスを設定し、エラーフラグが“1”の場合には第2領域に相当するアドレスを設定する。そして、(c)設定後に設定に該当する領域に記憶された設定データを読み出す読み出し動作を行う。そして、(d)その読み出し動作が失敗と判断された場合にエラーフラグを反転する。そして、(e)第2領域に記憶された設定データの読み出しによる読み出し動作が失敗した場合には上述した反転後に終了して、第1領域に記憶された設定データの読み出しによる読み出し動作が失敗した場合には反転後に前記(b)に戻ることで、(b)〜(e)を繰り返し行う。このようなエラーフラグを用いることで、一連の制御を行うことができる。なお、この制御方法では、第2領域に記憶された設定データの読み出しによる読み出し動作が失敗した場合には、外部装置との通信機能でさえ確保できていない状態であるので、上述した反転後に終了するように制御する。このような第2領域に記憶された設定データの読み出しによる読み出し動作が失敗する場合には、例えば装置の出荷前などのように第2領域に設定データが予め記憶されていないときである。したがって、例えば装置の出荷後の通常の使用時には第2領域に設定データが予め記憶されているので、第2領域に記憶された設定データの読み出しによる読み出し動作は失敗しない。
この発明に係るプログラマブルデバイス制御装置およびその方法によれば、第1領域に記憶された設定データを読み出してFPGAに書き込むとともに、少なくとも第1領域に記憶された設定データの読み出しによる読み出し動作が失敗と判断された場合に、第2領域に記憶された設定データを読み出してFPGAに書き込むことで、外部装置との通信の機能を少なくとも含んだFPGAの動作を制御する。ここで、第1領域には、FPGAのうちで全ての機能を含んだ設定データを記憶するとともに、第2領域には、第1領域に記憶された設定データに含まれる機能よりも少なく含み、かつ外部装置との通信機能を少なくとも含んだ設定データを記憶しているので、メモリの容量を低減させて、より簡易な制御を行うことができる。
以下、図面を参照してこの発明の実施例を説明する。
図1は、実施例に係るFPGA制御装置(FPGA搭載基板)の概略ブロック図であり、図2は、フラッシュメモリの概略構成図であり、図3は、コンフィギュレーション制御部の概略構成図である。本実施例ではプログラマブルデバイスとして、FPGA(Field Programmable Gate Array)を例に採って説明するとともに、不揮発性メモリとしてフラッシュメモリ(Flash Memory)を例に採って説明する。
図1に示すように、外部装置であるパーソナルコンピュータ(PC)10と2つのFPGA21,22(図1では「FPGA1」、「FPGA2」で記す)を有したFPGA制御装置(FPGA搭載基板)20とを電気的に接続することで、FPGA搭載基板20はPC10に対して通信可能に接続する。FPGA制御装置(FPGA搭載基板)20は、この発明におけるプログラマブルデバイス制御装置に相当する。
FPGA搭載基板20は、2つのFPGA21,22とバス23とコンフィギュレーション制御部24とフラッシュメモリ25と周辺機器26とを備えている。2つのFPGA21,22のうち、バス11を介してFPGA21(図1の「FPGA1」を参照)は外部装置であるPC10に対して通信可能に接続されており、FPGA21およびFPGA22(図1の「FPGA2」を参照)とコンフィギュレーション制御部24と周辺機器26とはバス23を介して通信可能に接続されており、コンフィギュレーション制御部24とフラッシュメモリ25とはバス23を介して通信可能に接続されている。FPGA21,22は、この発明におけるプログラマブルデバイスに相当し、コンフィギュレーション制御部24は、この発明における制御手段に相当し、フラッシュメモリ25は、この発明における不揮発性メモリに相当する。
2つのFPGA21,22のうち、FPGA21は、PC10との通信機能を含んだコンフィギュレーションデータに基づく動作を行い、FPGA22は、その装置特有のコンフィギュレーションデータに基づく動作を専ら行う。本実施例では、FPGA搭載基板20は医用や工業用の放射線診断装置に用いられ、FPGA22は放射線診断のための画像処理を行う。コンフィギュレーションデータは、FPGA21,22の動作を設定するための設定データであって、このコンフィギュレーションデータを書き換えることでFPGAで実現する機能の変更を行う。コンフィギュレーションデータは、この発明における設定データに相当する。
フラッシュメモリ25は、図2に示すように、A面領域25AとB面領域25Bとを有している。A面領域25Aは、外部装置であるPC10(図1を参照)との通信機能を少なくとも含んで限定したFPGA21(図1を参照)のコンフィギュレーションデータの格納領域である。B面領域25Bは、FPGA21のコンフィギュレーションデータの格納領域であるFPGA1領域25aと、FPGA22(図1を参照)のコンフィギュレーションデータの格納領域であるFPGA2領域25bとを有している。各々のFPGA1領域25aおよびFPGA2領域25bは、A面領域25Aと相違し、FPGA21およびFPGA22の所定動作のうちで全ての機能を含んだコンフィギュレーションデータの格納領域である。
A面領域25AについてはB面領域25Bと比較すると、A面領域25Aに格納されるコンフィギュレーションデータに含まれる機能は、装置自体が誤作動しない程度に削除されている。したがって、A面領域25Aに格納されるコンフィギュレーションデータは、PC10との通信機能を少なくとも含んでいる。
したがって、A面領域25Aは、B面領域25Bの各々のFPGA1領域25a/FPGA2領域25bに記憶されたコンフィギュレーションデータに含まれる機能よりも少なく含まれており、図2に示すように、A面領域25Aの大きさはB面領域25Bより小さい。本実施例では、FPGA21の所定動作は、上述したPC10との通信の他に、周辺機器26(図1を参照)(例えばA/Dコンバータ、D/Aコンバータ、センサなど)の制御、タイマ、FPGA22との通信であって、FPGA22の所定動作は、上述した画像処理の他に、FPGA21との通信である。
なお、A面領域25Aについては、B面領域25Bの各々の領域に記憶されたコンフィギュレーションデータに含まれる機能よりも少なく含み、かつ外部装置であるPC10との通信機能を少なくとも含んだコンフィギュレーションデータを記憶するのであれば、A面領域25Aに格納されるコンフィギュレーションデータに含まれる機能については特に限定されない。例えば、PC10との通信機能のみを含んだコンフィギュレーションデータをA面領域25Aに書き込んで記憶(格納)したとしても、装置自体が誤作動しないのであれば、A面領域25Aに格納されるコンフィギュレーションデータはPC10との通信機能のみを含んでもかまわない。A面領域25Aは、この発明における第2領域に相当し、B面領域25Bは、この発明における第1領域に相当する。
コンフィギュレーション制御部24は、図3に示すように、FPGA通信部24Aとコンフィギュレーションリード制御部24Bとフラッシュメモリ制御部24Cとコンフィギュレーション動作監視部24Dとを備えている。FPGA通信部24Aは、バス23(図1を参照)を介してFPGA21(図1を参照)に対して通信可能に接続されており、コンフィギュレーションリード制御部24Bは、バス23を介してFPGA21およびFPGA22に対して通信可能に接続されている。FPGA通信部24Aとフラッシュメモリ制御部24Cとは通信可能に接続されているとともに、コンフィギュレーションリード制御部24Bとフラッシュメモリ制御部24Cとは通信可能に接続されている。また、コンフィギュレーションリード制御部24Bとコンフィギュレーション動作監視部24Dとは通信可能に接続されているとともに、フラッシュメモリ制御部24Cとコンフィギュレーション動作監視部24Dとは通信可能に接続されている。
FPGA通信部24AはFPGA21との通信を行う。具体的には、PC10(図1を参照)から更新すべきコンフィギュレーションデータをFPGA21に送信し、フラッシュメモリ25(図1、図2を参照)のB面領域25B(図2を参照)に書き込んで記憶するときに、FPGA21を介してPC10から送信されてきた更新すべきコンフィギュレーションデータ、およびそれを書き込むフラッシュメモリ25のアドレス(場合によってはFPGA2領域25bの場合もあるし、出荷時はA面領域25Aもある)をFPGA通信部24Aは受信する。そして、これらのデータやアドレスをFPGA通信部24Aはフラッシュメモリ制御部24Cに送信する。
コンフィギュレーションリード制御部24Bは各FPGA21,22のコンフィギュレーションデータに関する書き込みを制御する。具体的には、電源投入後、所定のコンフィギュレーション動作を行うために、フラッシュメモリ25からコンフィギュレーションデータをフラッシュメモリ制御部24Cにリードする(読み出す)アドレス(ここではB面領域25BのFPGA1領域25aまたはFPGA2領域25b(図2を参照)の開始アドレス)をコンフィギュレーションリード制御部24Bはフラッシュメモリ制御部24Cに送信する。そして、コンフィギュレーションリード制御部24Bから送信されたリードすべきアドレスを、フラッシュメモリ制御部24Cを介してフラッシュメモリ25は受信して、各FPGA21,22へコンフィギュレーションデータを出力する。コンフィギュレーション動作は、この発明における読み出し動作に相当する。
フラッシュメモリ制御部24Cはフラッシュメモリ25を制御する。具体的には、FPGA通信部24Aやコンフィギュレーションリード制御部24Bから送信されてきたデータをフラッシュメモリ制御部24Cは受信して、これらのデータ(指示)に基づいてフラッシュメモリ25を制御する。
コンフィギュレーション動作監視部24Dはコンフィギュレーション動作が失敗か否かを判断するために監視する。具体的には、コンフィギュレーション動作時において各FPGA21,22がコンフィギュレーションデータの受信を正常に完了したら“「conf done」信号”と呼ばれる信号を、各FPGA21,22からコンフィギュレーションリード制御部24Bを介してコンフィギュレーション動作監視部24Dに転送する。もし、各FPGA21,22から送信されてきた「conf done」信号が所定時間内にコンフィギュレーション動作監視部24Dに達した場合には、コンフィギュレーション動作が成功して正常に完了したとしたとコンフィギュレーション動作監視部24Dは判断する。また、例えば、フラッシュメモリ25へのコンフィギュレーションデータの書き込み中に電源が切断して電源がオフになり、データ転送ミスなどのフラッシュメモリ25への書き込みが正常に行われない場合、あるいは間違ったデータの書き込みを行った場合には、各FPGA21,22から送信されてきた「conf done」信号が所定時間内に到達しない。その場合にはタイムアウトとなって、コンフィギュレーション動作が失敗したとコンフィギュレーション動作監視部24Dは判断する。失敗して異常と判断された場合には、コンフィギュレーション動作監視部24Dからコンフィギュレーションリード制御部24Bに送信する。コンフィギュレーション動作監視部24Dは、この発明における読み出し動作判断手段に相当する。
次に、具体的な一連のFPGA制御について、図4および図5を参照して説明する。図4は、コンフィギュレーション動作を含んだ一連のコンフィギュレーションデータの更新の流れを示すフローチャートであり、図5は、コンフィギュレーション動作を含んだ電源オン後の一連の流れを示すフローチャートである。
先ず、コンフィギュレーション動作を含んだ一連のコンフィギュレーションデータの更新の流れについて、図4を参照して説明する。
(ステップS1)コンフィギュレーションデータ更新?
更新すべきコンフィギュレーションデータがあるか否かを判断する。例えば外部装置であるPC10からコンフィギュレーションデータが新たに作成された場合には、次のステップS2に進む。もし、更新がなければ、更新があるまでステップS1をループして待機する。
(ステップS2)コンフィギュレーションデータを消去
作成されたコンフィギュレーションデータを格納すべきフラッシュメモリ25内の領域(B面領域25Bの25aまたは25b)に、先に格納されたコンフィギュレーションデータの消去を、PC10から指示する。つまり、更新するコンフィギュレーションデータ領域のみ消去してクリアする。
(ステップS3)コンフィギュレーションデータを送信
PC10から更新すべきコンフィギュレーションデータを、FPGA21およびコンフィギュレーション制御部24を介して、フラッシュメモリ25に送信して、フラッシュメモリ25内のB面領域25Bの25aまたは25bに書き込んで記憶する。具体的には、更新すべきコンフィギュレーションデータを書き込むフラッシュメモリ25のアドレスをFPGA通信部24Aは受信して、そのアドレスをFPGA通信部24Aはフラッシュメモリ制御部24Cに送信する。そのアドレスに該当する領域に、更新すべきコンフィギュレーションデータを書き込んで記憶する。
(ステップS4)コンフィギュレーションデータを比較
コンフィギュレーションデータが正確に書き込まれたか否かを確認するために、コンフィギュレーションデータを読み出して、PC10に送信する。読み出されたコンフィギュレーションデータが、元の送信前のコンフィギュレーションデータに一致するか否かを確認するためにデータ比較を行う。
(ステップS5)比較正常?
比較した結果、一致している場合には、比較結果が正常だとして、次のステップS6に進む。なお、比較結果が正常だと判断された場合には、PC10からフラッシュメモリ25へのコンフィギュレーションデータの書き込みが正常に行われていることになる。一致していない場合には、比較結果が異常だとして、ステップS2に戻って繰り返す。
(ステップS6)電源オフ
フラッシュメモリ25へのコンフィギュレーションデータの書き込み後に、電源を切断してオフにする。
(ステップS7)電源オン
電源投入し、オンにする。電源オン後は、図5に示すフローを行う。具体的なフローについては後述する。
(ステップS8)通信確保
ステップS7で、電源オン後の動作が終了したら、PC10との通信をFPGA21が確保しているか否かを確認する。図5に示すフローでは、A面領域25Aに格納されるコンフィギュレーションデータは、PC10との通信機能を少なくとも含んでおり、装置の出荷後の通常の使用時には、そのコンフィギュレーションデータがA面領域25Aに予め記憶されているので、A面領域25Aに記憶されたコンフィギュレーションデータの読み出しによるコンフィギュレーション動作は失敗しない。したがって、通常の使用時にはPC10との通信を最小限にFPGA21は確保しているので、ステップS10に進む。
(ステップS10)正常終了?
B面領域25BのFPGA1領域25aとFPGA2領域25bに記憶されたコンフィギュレーションデータの読み出しによるコンフィギュレーション動作が成功して正常に完了した場合には、コンフィギュレーション動作を含んだ一連のコンフィギュレーションデータの更新が正常に行われたとして、一連のフローを終了する。そして、書き込んだコンフィギュレーションデータに基づく動作をFPGA21,22が行う。ステップS8で確保している場合で、かつB面領域25BのFPGA1領域25aに記憶されたコンフィギュレーションデータの読み出しによるコンフィギュレーション動作が失敗して異常と判断された場合には、PC10との通信を最小限にFPGA21は確保しているとして、ステップS2に戻って繰り返す。
なお、装置の出荷時の場合、コンフィギュレーションデータがA面領域25Aに予め記憶されていないので、A面領域25Aに記憶されたコンフィギュレーションデータによるコンフィギュレーション動作は失敗する。したがって、PC10との通信をFPGA21は確保されず、コンフィギュレーションのデータの書き込みはできない。したがって、復旧させるために専用治具(FPGA書き込み専用端末(図示省略))をFPGA21に直接接続して、FPGA21内のコンフィギュレーションデータを書き換え、PC10との通信を確保する。その後、A面領域25Aにコンフィギュレーションデータの書き込みを図4のフローに従って書き込む。
続いて、コンフィギュレーション動作を含んだ電源オン後の一連の流れについて、図5を参照して説明する。
(ステップS71)電源オン?
上述したようにステップS6の電源オフ後に電源を投入してオンにする。電源オンになるまでステップS71をループして待機する。
(ステップS72)ループカウンタ、エラーフラグクリア
電源オン(電源投入)後に、ループカウンタ、エラーフラグを“0”にクリアする。ループカウンタおよびエラーフラグはコンフィギュレーション制御部24内で設定される。
ループカウンタは、コンフィギュレーション動作(すなわちフラッシュメモリ25からコンフィギュレーションデータを読み出す動作)についてFPGA21,22の選択を管理するためのカウンタであって、本実施例では、ループカウンタが“0”のときはFPGA21のコンフィギュレーション動作(A面領域25A、またはB面領域25BのFPGA1領域25aに記憶されたコンフィギュレーションデータの読み出しによるコンフィギュレーション動作)であって、ループカウンタが“1”のときはFPGA22のコンフィギュレーション動作(B面領域25BのFPGA2領域25bに記憶されたコンフィギュレーションデータの読み出しによるコンフィギュレーション動作)である。また、ループカウンタが“2”のときはこのループから脱出して図5のフローを終了する。
エラーフラグは、コンフィギュレーション動作が失敗か否かを管理するためのフラグである。エラーフラグが“0”のときには、後述するステップS75のようにB面領域25BのFPGA1領域25aの開始アドレスにセット(図5中のステップS75では「B−FPGA1領域を開始アドレスにセット」を参照)する、あるいは後述するステップS85のようにB面領域25BのFPGA2領域25bの開始アドレスにセット(図5中のステップS85では「B−FPGA2領域を開始アドレスにセット」を参照)する。エラーフラグが“1”のときには、後述するステップS84のようにA面領域25Aの開始アドレスにセット(図5中のステップS84では「A領域を開始アドレスにセット」を参照)する。
(ステップS73)ループカウンタ0?
ループカウンタが“0”であるか否かを判断する。上述したステップS72でループカウンタを“0”にクリアした状態で、ステップS73に進んだ場合には、ループカウンタは“0”である。後述するステップS82でループカウンタを1つインクリメント(増加)(図5中のステップS82では「ループカウンタインクリメント」を参照)して、後述するステップS83を経由してステップS73に戻った場合には、インクリメントされたループカウントの値に応じて判断する。ループカウンタが“0”の場合には次のステップS74に進み、それ以外の場合にはステップS85に進む。
(ステップS74)エラーフラグ0?
エラーフラグが“0”であるか否かを判断する。上述したステップS72でエラーフラグを“0”にクリアした状態で、ステップS73を経由してステップS74に進んだ場合には、エラーフラグは“0”である。後述するステップS80でエラーフラグを反転し(図5中のステップS80では「エラーフラグを反転(“1”→“0”or“0”→“1”)」を参照)で、かつエラーフラグを“0”から“1”に反転して、後述するステップS81、S83を経由してステップS74に戻った場合には、エラーフラグは“1”である。エラーフラグが“0”の場合には次のステップS75に進み、エラーフラグが“1”の場合にはステップS84に進む。
(ステップS75)B−FPGA1領域を開始アドレスにセット
エラーフラグが“0”で、かつループカウンタが“0”の場合には、フラッシュメモリ制御部24Cにリードする(読み出す)アドレスとして、コンフィギュレーションリード制御部24BはB面領域25BのFPGA1領域25aの開始アドレスにセットする。
(ステップS76)コンフィギュレーション動作
上述したステップS75でB面領域25BのFPGA1領域25aの開始アドレスにセットして、ステップS76に進んだ場合には、FPGA21の所定動作のうちで全ての機能を含んだコンフィギュレーションデータを読み出す動作であるFPGA21のコンフィギュレーション動作を行う。後述するステップS84でA面領域25Aの開始アドレスにセットして、ステップS76に進んだ場合には、PC10との通信機能を少なくとも含んだコンフィギュレーションデータを読み出す動作であるFPGA21のコンフィギュレーション動作を行う。後述するステップS85でB面領域25BのFPGA2領域25bの開始アドレスにセットして、ステップS76に進んだ場合には、FPGA22の所定動作のうちで全ての機能を含んだコンフィギュレーションデータを読み出す動作であるFPGA22のコンフィギュレーション動作を行う。
いずれの場合においても開始アドレスをセットするのと同時にタイマを“0”にリセットしてカウントを始める。フラッシュメモリ25の各領域における開始アドレスからコンフィギュレーションデータを順次読み出して、1ビットずつFPGA21,22に転送する。なお、フラッシュメモリからは8ビットずつ読み出す。
(ステップS77)正常終了?
1ビットずつ転送するコンフィギュレーションデータの転送数をカウントするとともに、上述したタイマによって開始アドレスセット後の転送時間をカウントする。所定時間内にFPGAのコンフィギュレーションのデータ受信を正常に完了したら上述した「conf done」信号を、各FPGA21,22からコンフィギュレーションリード制御部24Bを介してコンフィギュレーション動作監視部24Dに転送する。「conf done」信号が所定時間内にコンフィギュレーション動作監視部24Dに達した場合には、コンフィギュレーション動作が成功して正常に完了したとしたとコンフィギュレーション動作監視部24Dは判断する。そして、ステップS82に進む。
もし、例えば、フラッシュメモリ25へのコンフィギュレーションデータの書き込み中に電源が切断して電源がオフになり、データ転送ミスなどのフラッシュメモリ25への書き込みが正常に行われない場合、あるいは間違ったデータの書き込みを行った場合には、「conf done」信号が所定時間内に到達しない。その場合にはタイムアウトとなって、コンフィギュレーション動作が失敗したとコンフィギュレーション動作監視部24Dは判断する。失敗して異常と判断された場合には、コンフィギュレーション動作監視部24Dからコンフィギュレーションリード制御部24Bに送信する。そして、次のステップS79に進む。
(ステップS79)ループカウンタ>0?
ステップS77で正常終了でないとして判断された場合に、ループカウンタが“1”以上である(“0”を超えている)か否かを判断する。ループカウンタが“1”以上である(“0”を超えている)場合にはステップS82に進み、ループカウンタが“0”の場合には次のステップS80に進む。
このステップS79は、ステップS77でループカウンタが“0”のときであるFPGA21のコンフィギュレーション動作が失敗の場合には、次のステップS80でエラーフラグを反転するようにステップS80に進むことを意味している。
また、このステップS79は、ステップS77でループカウンタが“1”のときであるFPGA22のコンフィギュレーション動作が失敗したとしても、ステップS82でループカウンタを1つインクリメント(増加)(図5中のステップS82では「ループカウンタインクリメント」を参照)して“2”にすることで、後述するステップS83を経由してステップS73に戻ってループすることなくループから脱出して図5のフローを終了するようにステップS82に進むことを意味している。つまり、FPGA22のコンフィギュレーション動作については失敗した場合には、FPGA21のコンフィギュレーション動作が完了し、PC10との通信が可能であれば、再びコンフィギュレーションのデータを書き込むことが可能であるので、無限ループの脱出を行う。
(ステップS80)エラーフラグを反転(“1”→“0”or“0”→“1”)
ステップS79でループカウンタが0の場合には、後述するステップS82のようにループカウンタを1つインクリメント(増加)(図5中のステップS82では「ループカウンタインクリメント」を参照)せずに、エラーフラグを反転する。すなわち、ループカウンタは“0”の状態で、エラーフラグが“1”であれば“0”にエラーフラグを反転し、エラーフラグが“0” であれば“1” にエラーフラグを反転する。
ステップS77でループカウンタが“0”のときであるFPGA21のコンフィギュレーション動作が失敗の場合に、このステップS80でエラーフラグを反転する。上述したステップS75でB面領域25BのFPGA1領域25aの開始アドレスにセットした場合でFPGA21のコンフィギュレーション動作が失敗の場合には、反転前のエラーフラグは“0”であるので“1”に反転する。後述するステップS84でA面領域25Aの開始アドレスにセットした場合でFPGA21のコンフィギュレーション動作が再度に失敗の場合には、反転前のエラーフラグは“1”であるので“0”に反転する。
(ステップS81)エラーフラグ0?
エラーフラグ反転後に、反転後のエラーフラグが“0”であるか否かを判断する。エラーフラグが“0”の場合には図5のフローを終了して、エラーフラグが“1”の場合にはステップS83に進む。
このステップS81は、ステップS75でB面領域25BのFPGA1領域25aの開始アドレスにセットした場合でFPGA21のコンフィギュレーション動作が失敗の場合(反転前のエラーフラグは“0”、反転後のエラーフラグは“1”)には、ステップS83を経由してステップS73に戻ってループしてステップS84でA面領域25Aの開始アドレスにセットした場合でのFPGA21のコンフィギュレーション動作が行えるようにステップS83に進むことを意味している。
また、このステップS81は、ステップS84でA面領域25Aの開始アドレスにセットした場合でFPGA21のコンフィギュレーション動作が再度に失敗の場合(反転前のエラーフラグは“1”、反転後のエラーフラグは“0”)には、ステップS83を経由してステップS73に戻ってループすることなくループから脱出して図5のフローを終了することを意味している。つまり、FPGA21のコンフィギュレーション動作が再度に失敗の場合には、ステップS8で述べたように装置の出荷時ではコンフィギュレーションデータがA面領域25Aに予め記憶されていないので、A面領域25Aに記憶されたコンフィギュレーションデータの読み出しによるコンフィギュレーション動作は失敗することを意味している。したがって、出荷時にはPC10との通信をFPGA21は確保していないので、図5のフローを終了させる。換言すれば、通常の使用時にはコンフィギュレーションデータがA面領域25Aに予め記憶されているので、ステップS84でA面領域25Aの開始アドレスにセットした場合でFPGA21のコンフィギュレーション動作が再度に失敗することはない。
(ステップS82)ループカウンタインクリメント
上述したステップS72でループカウンタ、エラーフラグを“0”にクリアした状態で、ステップS73に進んだ場合で、かつステップS77でループカウンタが“0”のときであるFPGA21のコンフィギュレーション動作が成功して正常に完了した場合には、このステップS82でループカウンタを1つインクリメント(増加)してループカウンタを“1”にする。また、エラーフラグの値に関わらずにステップS79でループカウンタが“1”の場合にも、このステップS82でループカウンタを1つインクリメント(増加)して“2”にする。そして、次のステップS83に進む。
(ステップS83)ループカウンタ>1?
ステップS81でエラーフラグが“1”の場合、あるいはステップS82でループカウンタをインクリメントした場合には、ループカウンタが“2”以上である(“1”を超えている)場合にはステップ73に戻ってループすることなくループから脱出して図5のフローを終了して、ループカウンタが“0”または“1”の場合にはステップ73に戻ってループする。
(ステップS84)A領域を開始アドレスにセット
エラーフラグが“1”で、かつループカウンタが“0”の場合には、フラッシュメモリ制御部24Cにリードする(読み出す)アドレスとして、コンフィギュレーションリード制御部24BはA面領域25Aの開始アドレスにセットする。ステップS84からステップS76に進んで行われるコンフィギュレーション動作は、PC10との通信機能を少なくとも含んだコンフィギュレーションデータを読み出す動作であるFPGA21のコンフィギュレーション動作である。
(ステップS85)B−FPGA2領域を開始アドレスにセット
エラーフラグに関わらずループカウンタが“1”の場合には、フラッシュメモリ制御部24Cにリードする(読み出す)アドレスとして、コンフィギュレーションリード制御部24BはB面領域25BのFPGA2領域25bの開始アドレスにセットする。ステップS85からステップS76に進んで行われるコンフィギュレーション動作は、FPGA22の所定動作のうちで全ての機能を含んだコンフィギュレーションデータを読み出す動作であるFPGA22のコンフィギュレーション動作である。
本実施例に係るFPGA制御装置(FPGA搭載基板)およびその方法によれば、B面領域25BのFPGA1領域25aに記憶されたコンフィギュレーションデータを読み出してFPGA21に書き込むことで、FPGA21の所定動作をコンフィギュレーション制御部24は制御するとともに、コンフィギュレーション動作監視部24Dによって読み出し動作であるコンフィギュレーション動作が失敗と判断された場合に、A面領域25Aに記憶されたコンフィギュレーションデータを読み出してFPGA21に書き込むことで、外部装置であるPC10との通信の機能を少なくとも含んだFPGA21の動作をコンフィギュレーション制御部24は制御する。
ここで、B面領域25Bには、FPGA21およびFPGA22の所定動作のうちで全ての機能を含んだコンフィギュレーションデータを記憶するとともに、A面領域25Aには、B面領域25Bの各々のFPGA1領域25a/FPGA2領域25bに記憶されたコンフィギュレーションデータに含まれる機能よりも少なく含み、かつPC10との通信機能を少なくとも含んだコンフィギュレーションデータを記憶している。したがって、A面領域25Aには、B面領域25Bに記憶されたコンフィギュレーションデータに含まれる機能よりも少なく含んだ分だけ、メモリの容量を低減させることができる。また、A面領域25Aには、PC10との通信機能を少なくとも含んだコンフィギュレーションデータを記憶しているので、コンフィギュレーション動作が失敗と判断された場合でも、A面領域25Aに記憶されたコンフィギュレーションデータを読み出してプログラマブルデバイスに書き込むことで、PC10との通信の機能を少なくとも含んだFPGA21の動作を行うことができる。したがって、外部装置であるPC10との通信の機能を少なくとも確保していれば、上述した特許文献1のようなフラグ管理、コンフィギュレーションデータのコピー処理などを行わなくても、一連の制御を再度行うことができ、より簡易な制御を行うことができる。
また、本実施例では、少なくともB面領域25BのFPGA1領域25a(実施例ではFPGA1領域25aおよびFPGA2領域25bの両領域)の読み出しによるコンフィギュレーション動作が失敗か否かを管理するためのエラーフラグを、ステップS71の装置の電源投入(電源オン)後に“0”にクリアする(ステップS72)。そして、上述したエラーフラグが“0”の場合には(ステップS74、S75)、B面領域25BのFPGA1領域25aに相当するアドレス(本実施例では開始アドレス)を設定(セット)し(ステップS75)、エラーフラグが“1”の場合には(ステップS74、S84)、A面領域25Aに相当するアドレス(本実施例では開始アドレス)を設定(セット)する(ステップS84)。そして、ステップS85でのB面領域25BのFPGA2領域25bの開始アドレスのセットを含んだステップS75やステップ84のセット後にセットに該当する領域に記憶されたコンフィギュレーションデータを読み出すコンフィギュレーション動作を行う(ステップS76)。
そして、そのコンフィギュレーション動作が失敗と判断された場合に(ステップS77)、エラーフラグを反転する(ステップS80)。そして、A面領域25Aに記憶されたコンフィギュレーションデータの読み出しによるコンフィギュレーション動作が失敗した場合には(ステップS84、S76、S77)、上述した反転後に図5のフローを終了して、B面領域25BのFPGA1領域25aに記憶されたコンフィギュレーションデータの読み出しによるコンフィギュレーション動作が失敗した場合には(ステップS75〜S77)、反転後にステップS73に戻って、さらにステップS75、S84またはS85に戻ることでループ部分のステップを繰り返し行う。このようなエラーフラグを用いることで、一連の制御を行うことができる。
なお、この制御フローでは、A面領域25Aに記憶されたコンフィギュレーションデータの読み出しによるコンフィギュレーション動作が失敗した場合には、外部装置であるPC10との通信機能でさえ確保できていない状態であるので、上述した反転後に終了するように制御する。このようなA面領域25Aに記憶されたコンフィギュレーションデータの読み出しによるコンフィギュレーション動作が失敗する場合には、例えば装置の出荷前などのようにA面領域25Aにコンフィギュレーションデータが予め記憶されていないときである。したがって、例えば装置の出荷後の通常の使用時にはA面領域25Aにコンフィギュレーションデータが予め記憶されているので、A面領域25Aに記憶されたコンフィギュレーションデータの読み出しによるコンフィギュレーション動作は失敗しない。
この発明は、上記実施形態に限られることはなく、下記のように変形実施することができる。
(1)上述した実施例では、プログラマブルデバイスとして、FPGA(Field Programmable Gate Array)を例に採って説明したが、CPU,DSP,PLDなどに例示されるように、不揮発性メモリ(実施例ではフラッシュメモリ)に記憶された設定データ(実施例ではコンフィギュレーションデータ)を読み出してプログラマブルデバイスに書き込むことで、書き込んだ設定データに基づく動作を行うようなデバイスであれば、プログラマブルデバイスの具体的な種類については特に限定されない。
(2)上述した実施例では、不揮発性メモリとしてフラッシュメモリを例に採って説明したが、EPROM(Electrically Programmable Read-only Memory)やEPROM(Electrically Erasable Programmable Read-only Memory)などに代表される不揮発性メモリであれば、不揮発性メモリの具体的な種類については特に限定されない。
(3)上述した実施例では、FPGA制御装置(FPGA搭載基板)は2つのプログラマブルデバイス(実施例ではFPGA21、22)を備えたが、外部装置に対して通信可能に接続された少なくとも1つのプログラマブルデバイス(実施例ではFPGA21)を備えるのであれば、外部装置に対して通信可能に接続された1つのプログラマブルデバイスのみを備えてもよいし、外部装置に対して通信可能に接続された1つのプログラマブルデバイスを含んで3つ以上のプログラマブルデバイスを備えてもよい。また、外部装置に対して通信可能に接続されたプログラマブルデバイスは1つのみに限定されず、2つ以上備えてもよい。したがって、装置内の複数のプログラマブルデバイスの全てを、外部装置に対して通信可能に接続されるように構成してもよい。
実施例に係るFPGA制御装置(FPGA搭載基板)の概略ブロック図である。 フラッシュメモリの概略構成図である。 コンフィギュレーション制御部の概略構成図である。 コンフィギュレーション動作を含んだ一連のコンフィギュレーションデータの更新の流れを示すフローチャートである。 コンフィギュレーション動作を含んだ電源オン後の一連の流れを示すフローチャートである。
符号の説明
20 … FPGA制御装置(FPGA搭載基板)
21,22 … FPGA
24 … コンフィギュレーション制御部
24D … コンフィギュレーション動作監視部
25 … フラッシュメモリ
25A … A面領域
25B … B面領域

Claims (4)

  1. 外部装置に対して通信可能に接続された少なくとも1つのFPGAと、そのFPGAの動作を設定するための設定データを記憶する不揮発性メモリと、その不揮発性メモリに記憶された前記設定データを読み出してFPGAに書き込む制御手段とを備えたプログラマブルデバイス制御装置であって、不揮発性メモリは、FPGAの所定動作のうちで全ての機能を含んだ設定データを記憶する第1領域と、その第1領域に記憶された設定データに含まれる機能よりも少なく含み、かつ前記外部装置との通信機能を少なくとも含んだ設定データを記憶する第2領域とを有し、前記装置は、少なくとも第1領域に記憶された設定データの読み出しによる読み出し動作が失敗か否かを判断する読み出し動作判断手段を備え、前記制御手段は、第1領域に記憶された設定データを読み出してFPGAに書き込むとともに、前記読み出し動作判断手段によって読み出し動作が失敗と判断された場合に、前記第2領域に記憶された設定データを読み出してFPGAに書き込んだ後に当該FPGAを動作させて、前記外部装置から更新すべき設定データを前記FPGAを介して受信して前記第1領域に格納することを特徴とするプログラマブルデバイス制御装置。
  2. 請求項1に記載のプログラマブルデバイス制御装置において、前記不揮発性メモリは、1つのメモリで前記第1領域および第2領域を有することを特徴とするプログラマブルデバイス制御装置。
  3. 外部装置に対して通信可能に接続された少なくとも1つのFPGAと、そのFPGAの動作を設定するための設定データを記憶し、第1領域および第2領域を有した不揮発性メモリとを備えたプログラマブルデバイス制御装置で、前記不揮発性メモリに記憶された前記設定データを読み出してFPGAに書き込むプログラマブルデバイス制御方法であって、前記第1領域には、FPGAの所定動作のうちで全ての機能を含んだ設定データを記憶するとともに、前記第2領域には、第1領域に記憶された設定データに含まれる機能よりも少なく含み、かつ前記外部装置との通信機能を少なくとも含んだ設定データを記憶し、第1領域に記憶された設定データを読み出してFPGAに書き込むとともに、少なくとも第1領域に記憶された設定データの読み出しによる読み出し動作が失敗した場合に、第2領域に記憶された設定データを読み出してFPGAに書き込んだ後に当該FPGAを動作させて、前記外部装置から更新すべき設定データを前記FPGAを介して受信して前記第1領域に格納することを特徴とするプログラマブルデバイス制御方法。
  4. 請求項3に記載のプログラマブルデバイス制御方法において、(a)少なくとも前記第1領域に記憶された前記設定データの読み出しによる読み出し動作が失敗か否かを管理するためのエラーフラグを、前記装置の電源投入後に“0”にクリアし、(b)前記エラーフラグが“0”の場合には第1領域に相当するアドレスを設定し、エラーフラグが“1”の場合には前記第2領域に相当するアドレスを設定し、(c)設定後に設定に該当する領域に記憶された設定データを読み出す読み出し動作を行い、(d)その読み出し動作が失敗と判断された場合にエラーフラグを反転して、(e)第2領域に記憶された設定データの読み出しによる読み出し動作が失敗した場合には前記反転後に終了して、第1領域に記憶された設定データの読み出しによる読み出し動作が失敗した場合には反転後に前記(b)に戻ることで、(b)〜(e)を繰り返し行うことを特徴とするプログラマブルデバイス制御方法。
JP2007012647A 2007-01-23 2007-01-23 プログラマブルデバイス制御装置およびその方法 Active JP5045115B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007012647A JP5045115B2 (ja) 2007-01-23 2007-01-23 プログラマブルデバイス制御装置およびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007012647A JP5045115B2 (ja) 2007-01-23 2007-01-23 プログラマブルデバイス制御装置およびその方法

Publications (2)

Publication Number Publication Date
JP2008182327A JP2008182327A (ja) 2008-08-07
JP5045115B2 true JP5045115B2 (ja) 2012-10-10

Family

ID=39725913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007012647A Active JP5045115B2 (ja) 2007-01-23 2007-01-23 プログラマブルデバイス制御装置およびその方法

Country Status (1)

Country Link
JP (1) JP5045115B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5476007B2 (ja) * 2009-02-16 2014-04-23 光洋電子工業株式会社 プログラマブルコントローラおよびそれを用いたシステム
JP6745586B2 (ja) * 2015-04-28 2020-08-26 株式会社ソニー・インタラクティブエンタテインメント プログラマブルデバイス、情報処理装置、およびプログラマブルデバイスにおける処理回路の制御方法
JP2021196753A (ja) 2020-06-11 2021-12-27 キヤノン株式会社 撮像装置及びその制御方法及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4440127B4 (de) * 1994-11-10 2007-11-08 Robert Bosch Gmbh Steuergerät
JP4162863B2 (ja) * 2001-03-30 2008-10-08 株式会社ルネサステクノロジ マイクロコンピュータ

Also Published As

Publication number Publication date
JP2008182327A (ja) 2008-08-07

Similar Documents

Publication Publication Date Title
EP3608775B1 (en) Electronic control system
CN107615714B (zh) 通信装置及记录介质
US7984239B2 (en) Control program download device
CN112947977A (zh) 一种软件在线升级方法及系统
JP5045115B2 (ja) プログラマブルデバイス制御装置およびその方法
JP2008254484A (ja) 車載用通信システム
KR100377608B1 (ko) 데이터 처리장치 및 데이터 처리방법
US5818755A (en) Storage apparatus having a nonvolatile storage device capable of retaining data after an incomplete write operation and method of accessing same
JP6447469B2 (ja) 書換システム
JP2012118904A (ja) 情報処理装置
US20030120860A1 (en) Processor with embedded in-circuit programming structures
JP2007072695A (ja) フラッシュメモリへの冗長保存方法及びプログラム
JP2000293376A (ja) ブートプログラムの切替回路及び切替方法
JP2000020425A (ja) 通信網における端末装置の記憶内容の更新方法
JP4028480B2 (ja) Fpgaコンフィギュレーション制御方法及び制御装置
JP2007041798A (ja) 情報処理装置及び情報処理装置のメモリ書き換え方法
JP3497066B2 (ja) フラッシュメモリにおけるデータ書き込み/読み出し方法およびフラッシュメモリを用いた記憶装置
JP2001147862A (ja) フラッシュメモリ書込方法
CN113467842B (zh) 适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质
JP2005332228A (ja) プログラム切替え制御装置
JP2008257415A (ja) プログラム書き込み機能を有するコントローラ
JP2009070303A (ja) リセットベクタ消去時プログラム書換え方法
JP2001350672A (ja) メモリ制御装置およびそのデータ処理方法
JP5762139B2 (ja) 情報処理端末及び管理サーバ
JPH11338688A (ja) Sram型プログラマブルデバイスの書き込み方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120206

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: 20120619

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120702

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5045115

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151