(57)【要約】【課題】ＲＦＩＤメディアに対して情報の書き込み及び／または読み出しを行う情報書込／読出装置を用いたＲＦＩＤメディアの制御プログラムの更新を適切かつ確実に実行する。【解決手段】ＩＣタグ１０において、制御プログラムと制御プログラムの更新用データとをメモリ１４の異なる格納領域に格納し、制御プログラムを構成するファームウェアコードを分割したコードブロックのうち、メモリ１４に更新用データが格納されていないコードブロックの送信をリーダ／ライタ２０に要求し、ファームウェアコードの全てのコードブロックの更新用データがメモリ１４に格納された後、メモリ１４に格納された制御プログラムを更新用データに書き換える。【選択図】図１
2015184936.tif 000002
【特許請求の範囲】
【請求項１】
ＲＦＩＤメディアに対して情報の書き込み及び／または読み出しを行う情報書込／読出装置を用いて、前記ＲＦＩＤメディアの動作を制御するための制御プログラムを更新するＲＦＩＤシステムであって、
前記ＲＦＩＤメディアは、
前記制御プログラムを格納した第１の格納領域と、
前記制御プログラムの更新用データを、当該制御プログラムを構成するファームウェアコードを分割したコードブロック毎に前記情報書込／読出装置から受信する通信手段と、
前記通信手段にて受信された更新用データを格納する第２の格納領域と、
前記第１の格納領域に格納された制御プログラムに従って、前記ファームウェアコードのコードブロックのうち、前記第２の格納領域に更新用データが格納されていないコードブロックの更新用データの送信を前記情報書込／読出装置に要求し、前記ファームウェアコードの全てのコードブロックの更新用データが前記第２の格納領域に格納された後、前記第１の格納領域に格納された制御プログラムを前記第２の格納領域に格納された更新用データに書き換える制御手段とを有し、
前記情報書込／読出装置は、前記制御手段にて要求されたコードブロックの更新用データを前記ＲＦＩＤメディアに送信するＲＦＩＤシステム。
【請求項２】
請求項１に記載のＲＦＩＤシステムにおいて、
前記ＲＦＩＤメディアは、第３の格納領域を有し、
前記制御手段は、前記第１の格納領域に格納された制御プログラムを構成するファームウェアコードのコードブロックのうち、前記第１の格納領域に格納された制御プログラムを前記第２の格納領域に格納された更新用データに書き換えるためのコードブロックを前記第３の格納領域に複製し、当該第３の格納領域に複製されたコードブロックに従って、前記第１の格納領域に格納された制御プログラムを前記第２の格納領域に格納された更新用データに書き換えるＲＦＩＤシステム。
【請求項３】
請求項１または請求項２に記載のＲＦＩＤシステムにおいて、
前記情報書込／読出装置は、前記制御プログラムの更新が必要であるかどうかを問い合わせる更新要否情報を前記ＲＦＩＤメディアに送信し、
前記制御手段は、前記更新要否情報を受信した場合に、前記ファームウェアコードのコードブロックのうち、前記第２の格納領域に更新用データが格納されていないコードブロックの更新用データの送信を前記情報書込／読出装置に要求するＲＦＩＤシステム。
【請求項４】
制御プログラムによって動作が制御されるＲＦＩＤメディアであって、
前記制御プログラムを格納した第１の格納領域と、
当該ＲＦＩＤメディアに対して情報の書き込み及び／または読み出しを行う情報書込／読出装置から、前記制御プログラムの更新用データを、当該制御プログラムを構成するファームウェアコードを分割したコードブロック毎に受信する通信手段と、
前記通信手段にて受信された更新用データを格納する第２の格納領域と、
前記第１の格納領域に格納された制御プログラムに従って、前記ファームウェアコードのコードブロックのうち、前記第２の格納領域に更新用データが格納されていないコードブロックの更新用データの送信を前記情報書込／読出装置に要求し、前記ファームウェアコードの全てのコードブロックの更新用データが前記第２の格納領域に格納された後、前記第１の格納領域に格納された制御プログラムを前記第２の格納領域に格納された更新用データに書き換える制御手段とを有するＲＦＩＤメディア。
【請求項５】
請求項４に記載のＲＦＩＤメディアに対して情報の書き込み及び／または読み出しを行う情報書込／読出装置であって、
前記制御手段にて要求されたコードブロックの更新用データを前記ＲＦＩＤメディアに送信する情報書込／読出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＦＩＤメディアに対して情報の書き込み及び／または読み出しを行う情報書込／読出装置を用いて、ＲＦＩＤメディアの動作を制御するための制御プログラムを更新する技術に関する。
【背景技術】
【０００２】
昨今、情報化社会の進展に伴って、情報をカードに記録し、該カードを用いた情報管理や決済等が行われている。また、商品等に貼付されるラベルやタグに情報を記録し、このラベルやタグを用いての商品等の管理も行われている。このようなカードやラベル、あるいはタグを用いた情報管理においては、カードやラベル、あるいはタグに対して非接触状態にて情報の書き込みや読み出しを行うことが可能なＩＣチップが搭載された非接触型ＩＣカードや非接触型ＩＣラベル、あるいは非接触型ＩＣタグがその優れた利便性から急速な普及が進みつつある。
【０００３】
非接触型ＩＣカードや非接触型ＩＣラベル、あるいは非接触型ＩＣタグといったＲＦＩＤメディアにおいては、ベース基材上に導電性のアンテナが形成されるとともに、このアンテナに接続されるようにＩＣチップが搭載されて構成されている。そして、ＲＦＩＤメディアに対して情報の書き込みや読み出しを行う情報書込／読出装置にＲＦＩＤメディアを近接させることによって、アンテナが電波に共振したり、電磁誘導によってアンテナに電流が流れたりしてＩＣチップに対して情報の書き込みや読み出しが行われることになる。
【０００４】
このようなＲＦＩＤメディアは、ＩＣチップ内のメモリに格納された制御プログラムによって動作が制御されることになるが、バージョンの変更等の際に制御プログラムを更新する必要が生じる。制御プログラムの更新は、上述したような情報書込／読出装置を用いて非接触状態で行うことができる。その場合、情報書込／読出装置は、制御プログラムの更新用データを、更新用データを構成するファームウェアコード毎にＲＦＩＤメディアに送信し、ＲＦＩＤメディアは、ファームウェアコードを受信する度ごとに、制御プログラムのうち対応するファームウェアコードを書き換える。そして、全てのファームウェアコードを書き換えた後、更新された制御プログラムでＲＦＩＤメディアが起動することになる。このようにして、ＲＦＩＤメディアの制御プログラムの更新を非接触状態で行うことができる。
【０００５】
ところで、ＲＦＩＤメディアの制御プログラムには、情報書込／読出装置との間にて上述したような非接触通信を行うための制御ルーチンが含まれており、更新用データの受信もこの制御ルーチンに従って行われている。そのため、上述したように、制御プログラムの更新用データが、更新用データを構成するファームウェアコード毎に情報書込／読出装置からＲＦＩＤメディアに送信され、ＲＦＩＤメディアにおいて、ファームウェアコードが受信される度ごとに、対応するファームウェアコードが書き換えられていく場合、制御プログラムの更新中に上述した制御ルーチンの部分も更新されてしまうと、ＲＦＩＤメディアにおいて情報書込／読出装置から更新用データを受信することができなくなり、制御プログラムが暴走して制御プログラムの更新に失敗してしまうことになる。
【０００６】
ここで、プリンタ等の周辺機器のファームウェアを更新する技術において、周辺機器の機能を実現するための制御プログラムと、制御プログラムを更新するための書換プログラムとを互いに異なる領域に格納しておき、書換プログラムに従って、制御プログラムを外部装置から受信した更新用データに書き換える方法が、特許文献１に開示されている。この技術によれば、制御プログラムを更新用データに書き換える書換プログラムが、更新される制御プログラムとは異なる領域に格納されているため、制御プログラムが更新用データに書き換えられても、制御プログラムの更新の最中に制御プログラムの更新ができなくなってしまうことがなくなる。また、この技術においては、制御プログラムの更新用データへの書き換えをセクタ単位で管理することにより、書き換えの途中で書き換えに失敗した場合、失敗したセクタから書き換えを再開することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−６３０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、上述したように、ＲＦＩＤメディアにおいては、ＲＦＩＤメディアに対して情報の書き込みや読み出しを行う情報書込／読出装置に近接させることによって情報の書き込みや読み出しが行われることになるため、情報書込／読出装置によって情報の書き込みや読み出しが完了するまで情報書込／読出装置に近接させておく必要がある。入退出管理や物品管理等、一般的な情報の書き込みや読み出しは極めて短い時間で行われるため何ら問題はないが、上述したような制御プログラムの更新用データを受信するためにはある程度の時間が必要であり、その間にＲＦＩＤメディアが情報書込／読出装置に近接しなくなったり、周囲の環境によって電波等の伝搬状況が変化したりする虞れがあり、その場合、ＲＦＩＤメディアにて更新用データの一部を情報書込／読出装置から受信できなくなってしまうことになる。
【０００９】
ＲＦＩＤメディアにて更新用データの一部を情報書込／読出装置から受信できなかった場合に、ＲＦＩＤメディアにて更新用データの受信をやり直すことが考えられるが、その場合は、全ての更新用データをＲＦＩＤメディアにて情報書込／読出装置から再度受信することになるため、既に書き換えられていて更新する必要がないデータについても書き換える処理が生じてしまうとともに、上記同様にある程度の時間が必要となり、ＲＦＩＤメディアにて更新用データの一部を情報書込／読出装置から受信できなくなってしまう虞れがある。
【００１０】
ここで、ＲＦＩＤメディアから情報書込／読出装置に対して一定間隔で要求コマンドを送信し、情報書込／読出装置において、この要求コマンドを受信した場合に、要求コマンドに対する応答コマンドを送信することにより、ＲＦＩＤメディアの電源消費を低減することが考えられている。その際、情報書込／読出装置において、ＲＦＩＤメディアから送信された要求コマンドに対する応答コマンドを予め用意しておくことにより、ＲＦＩＤメディアから送信された要求コマンドの解析に要する時間を短縮することができる。しかしながら、このような技術を用いたとしても、更新用データを受信するためにはある程度の時間が必要であるため、上述した問題点を解決することはできない。
【００１１】
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、ＲＦＩＤメディアに対して情報の書き込み及び／または読み出しを行う情報書込／読出装置を用いたＲＦＩＤメディアの制御プログラムの更新を適切かつ確実に実行することができるＲＦＩＤシステム、ＲＦＩＤメディア及び情報書込／読出装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために本発明は、
ＲＦＩＤメディアに対して情報の書き込み及び／または読み出しを行う情報書込／読出装置を用いて、前記ＲＦＩＤメディアの動作を制御するための制御プログラムを更新するＲＦＩＤシステムであって、
前記ＲＦＩＤメディアは、
前記制御プログラムを格納した第１の格納領域と、
前記制御プログラムの更新用データを、当該制御プログラムを構成するファームウェアコードを分割したコードブロック毎に前記情報書込／読出装置から受信する通信手段と、
前記通信手段にて受信された更新用データを格納する第２の格納領域と、
前記第１の格納領域に格納された制御プログラムに従って、前記ファームウェアコードのコードブロックのうち、前記第２の格納領域に更新用データが格納されていないコードブロックの更新用データの送信を前記情報書込／読出装置に要求し、前記ファームウェアコードの全てのコードブロックの更新用データが前記第２の格納領域に格納された後、前記第１の格納領域に格納された制御プログラムを前記第２の格納領域に格納された更新用データに書き換える制御手段とを有し、
前記情報書込／読出装置は、前記制御手段にて要求されたコードブロックの更新用データを前記ＲＦＩＤメディアに送信する。
【００１３】
上記のように構成された本発明においては、ＲＦＩＤメディアの動作を制御するための制御プログラムの更新用データが、制御プログラムを構成するファームウェアを分割したコードブロック毎にＲＦＩＤメディアの通信手段にて受信され、この更新用データが、ＲＦＩＤメディアの制御プログラムが格納された第１の格納領域とは異なる第２の格納領域に格納され、制御プログラムを構成するファームウェアコードの全てのコードブロックの更新用データが第２の格納領域に格納された後、第１の格納領域に格納された制御プログラムが第２の格納領域に格納された更新用データに書き換えられる。そのため、ＲＦＩＤメディアにて情報書込／読出装置から更新用データが受信されている間は、第１の格納領域に格納された制御プログラムによって更新用データの受信動作が行われており、その間においては、情報書込／読出装置から更新用データを受信するための制御ルーチンが更新されてしまうことがなく、それにより、ＲＦＩＤメディアにおいて情報書込／読出装置から更新用データを受信できなくなってしまうことが回避される。また、ＲＦＩＤメディアの制御手段において、制御プログラムを構成するファームウェアコードのコードブロックのうち、第２の格納領域に更新用データが格納されていないコードブロックの更新用データの送信が情報書込／読出装置に要求され、情報書込／読出装置において、制御手段にて要求されたコードブロックの更新用データがＲＦＩＤメディアに送信されるので、ＲＦＩＤメディアにおいて制御プログラムの更新用データの一部が受信できなかった場合においても、受信できなかったコードブロックの更新用データのみが情報書込／読出装置から再度送信されることになり、ＲＦＩＤメディアにおけるその際の制御プログラムの更新用データの受信が短時間で行われ、再度送信されたファームウェアコードの更新用データがＲＦＩＤメディアにて受信できなくなってしまうことが回避される。
【００１４】
また、第１の格納領域に格納された制御プログラムを構成するファームウェアコードのコードブロックのうち、第１の格納領域に格納された制御プログラムを第２の格納領域に格納された更新用データに書き換えるためのコードブロックを、第１の格納領域とは異なる第３の格納領域に複製し、第３の格納領域に複製されたコードブロックに従って、第１の格納領域に格納された制御プログラムを第２の格納領域に格納された更新用データに書き換えれば、第１の格納領域に格納された制御プログラムの更新状況によらずに、第１の格納領域に格納された制御プログラムが第２の格納領域に格納された更新用データに確実に書き換えられることになる。
【００１５】
また、情報書込／読出装置にて、制御プログラムの更新が必要であるかどうかを問い合わせる更新要否情報をＲＦＩＤメディアに送信し、ＲＦＩＤメディアの制御手段において、更新要否情報を受信した場合に、ファームウェアコードのコードブロックのうち、第２の格納領域に更新用データが格納されていないコードブロックの更新用データの送信を情報書込／読出装置に要求すれば、情報書込／読出装置にて、更新要否情報に対してＲＦＩＤメディアから要求されたコードブロックの更新用データのみ送信すればよく、既に更新が完了している不必要な更新用データを情報書込／読出装置から再度送信する必要がない。
【００１６】
また、制御プログラムによって動作が制御されるＲＦＩＤメディアであって、
前記制御プログラムを格納した第１の格納領域と、
当該ＲＦＩＤメディアに対して情報の書き込み及び／または読み出しを行う情報書込／読出装置から、前記制御プログラムの更新用データを、当該制御プログラムを構成するファームウェアコードを分割したコードブロック毎に受信する通信手段と、
前記通信手段にて受信された更新用データを格納する第２の格納領域と、
前記第１の格納領域に格納された制御プログラムに従って、前記ファームウェアコードのコードブロックのうち、前記第２の格納領域に更新用データが格納されていないコードブロックの更新用データの送信を前記情報書込／読出装置に要求し、前記ファームウェアコードの全てのコードブロックの更新用データが前記第２の格納領域に格納された後、前記第１の格納領域に格納された制御プログラムを前記第２の格納領域に格納された更新用データに書き換える制御手段とを有する。
【００１７】
また、前記ＲＦＩＤメディアに対して情報の書き込み及び／または読み出しを行う情報書込／読出装置であって、
前記制御手段にて要求されたコードブロックの更新用データを前記ＲＦＩＤメディアに送信する。
【発明の効果】
【００１８】
本発明においては、ＲＦＩＤメディアの動作を制御するための制御プログラムの更新用データが、制御プログラムを構成するファームウェアを分割したコードブロック毎にＲＦＩＤメディアの通信手段にて受信され、この更新用データが、ＲＦＩＤメディアの制御プログラムが格納された第１の格納領域とは異なる第２の格納領域に格納され、制御プログラムを構成するファームウェアコードの全てのコードブロックの更新用データが第２の格納領域に格納された後、第１の格納領域に格納された制御プログラムが第２の格納領域に格納された更新用データに書き換えられため、ＲＦＩＤメディアにて情報書込／読出装置から更新用データが受信されている間は、第１の格納領域に格納された制御プログラムによって更新用データの受信動作が行われていることになる。それにより、ＲＦＩＤメディアにおいて情報書込／読出装置から更新用データを受信できなくなってしまうことを回避することができる。また、ＲＦＩＤメディアの制御手段において、制御プログラムを構成するファームウェアコードのコードブロックのうち、第２の格納領域に更新用データが格納されていないコードブロックの更新用データの送信を情報書込／読出装置に要求し、情報書込／読出装置において、制御手段にて要求されたコードブロックの更新用データをＲＦＩＤメディアに送信するため、ＲＦＩＤメディアにおいて制御プログラムの更新用データの一部が受信できなかった場合においても、受信できなかったコードブロックの更新用データのみが情報書込／読出装置から再度送信されることになり、ＲＦＩＤメディアにおけるその際の制御プログラムの更新用データの受信が短時間で行われ、それにより、再度送信されたファームウェアコードの更新用データがＲＦＩＤメディアにて受信できなくなってしまうことを回避することができる。
【００１９】
このように、本発明においては、ＲＦＩＤメディアに対して情報の書き込み及び／または読み出しを行う情報書込／読出装置を用いたＲＦＩＤメディアの制御プログラムの更新を適切かつ確実に実行することができる。
【００２０】
また、第１の格納領域に格納された制御プログラムを構成するファームウェアコードのコードブロックのうち、第１の格納領域に格納された制御プログラムを第２の格納領域に格納された更新用データに書き換えるためのコードブロックを、第１の格納領域とは異なる第３の格納領域に複製し、第３の格納領域に複製されたコードブロックに従って、第１の格納領域に格納された制御プログラムを第２の格納領域に格納された更新用データに書き換えるものにおいては、第１の格納領域に格納された制御プログラムの更新状況によらずに、第１の格納領域に格納された制御プログラムを第２の格納領域に格納された更新用データに確実に書き換えられることができる。
【００２１】
また、情報書込／読出装置にて、制御プログラムの更新が必要であるかどうかを問い合わせる更新要否情報をＲＦＩＤメディアに送信し、ＲＦＩＤメディアの制御手段において、更新要否情報を受信した場合に、ファームウェアコードのコードブロックのうち、第２の格納領域に更新用データが格納されていないコードブロックの更新用データの送信を情報書込／読出装置に要求するものにおいては、情報書込／読出装置にて、更新要否情報に対してＲＦＩＤメディアから要求されたコードブロックの更新用データのみ送信すればよく、既に更新が完了している不必要な更新用データを情報書込／読出装置から再度送信する必要がない。
【図面の簡単な説明】
【００２２】
【図１】本発明のＲＦＩＤシステムの第１の実施の形態を示す図であり、（ａ）は全体の構成を示す図、（ｂ）はＩＣタグの構成を示すブロック図、（ｃ）はリーダ／ライタの構成を示すブロック図である。
【図２】図１に示したＩＣタグのメモリの構成を示す図である。
【図３】図１及び図２に示したＲＦＩＤシステムにおけるＩＣタグの制御プログラムの更新方法を説明するためのフローチャートである。
【図４】図１及び図２に示したＲＦＩＤシステムにてＩＣタグの制御プログラムの更新用データが更新領域に格納されていく際のメモリの状態を示す図である。
【図５】図１及び図２に示したＲＦＩＤシステムにてプログラム領域に格納された制御プログラムが、更新領域に格納された更新用データに書き換えられていく際のメモリの状態を示す図である。
【図６】本発明のＲＦＩＤシステムの第２の実施の形態を示す図であり、（ａ）は全体の構成を示す図、（ｂ）はＩＣタグの構成を示すブロック図、（ｃ）はリーダ／ライタの構成を示すブロック図である。
【図７】図６に示したＲＦＩＤシステムにおけるＩＣタグの制御プログラムの更新方法を説明するためのフローチャートである。
【発明を実施するための形態】
【００２３】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２４】
（第１の実施の形態）
図１は、本発明のＲＦＩＤシステムの第１の実施の形態を示す図であり、（ａ）は全体の構成を示す図、（ｂ）はＩＣタグ１０の構成を示すブロック図、（ｃ）はリーダ／ライタ２０の構成を示すブロック図である。
【００２５】
本形態は図１（ａ）に示すように、ＲＦＩＤメディアとなるＩＣタグ１０と、ＩＣタグ１０に対して非接触状態にて情報の書き込みや読み出しを行う情報書込／読出装置であるリーダ／ライタ２０とから構成されている。
【００２６】
ＩＣタグ１０は図１（ｂ）に示すように、アンテナ１１と、通信部１２と、制御用マイコン１３と、メモリ１４と、電池１５とを有している。
【００２７】
アンテナ１１は、２．４５ＧＨｚやＵＨＦ帯（８６０〜９６０ＭＨｚ）のような無線方式ＲＦＩＤにおいてリーダ／ライタ２０から送信された電波に共振することにより、リーダ／ライタ２０との間にて信号を送受信するためのものである。
【００２８】
通信部１２は、本願発明における通信手段となるものであって、電池１５によって駆動し、信号を変復調して２．４５ＧＨｚやＵＨＦ帯のような無線方式ＲＦＩＤにてアンテナ１１を介した非接触通信によってリーダ／ライタ２０との間で信号を送受信するものである。
【００２９】
制御用マイコン１３は、本願発明における制御手段となるものであって、メモリ１４に格納された制御プログラムに従って、通信部１２における信号の送受信に応じた制御を行う。
【００３０】
メモリ１４は、ＩＣタグ１０のタグＩＤや、ＩＣタグ１０の動作を制御するための制御プログラム、アンテナ１１及び通信部１２を介してリーダ／ライタ２０から取得した情報を記憶する。
【００３１】
電池１５は、アルカリ電池やニッケル電池等、適宜なものを使用でき、ＩＣタグ１０全体の電源となるものである。
【００３２】
リーダ／ライタ２０は図１（ｃ）に示すように、アンテナ２１と、通信部２２と、制御部２３と、記憶部２４と、電源部２５と、インタフェース部２６とを有している。
【００３３】
アンテナ２１は、ＩＣタグ１０のアンテナ１１と同様に、２．４５ＧＨｚやＵＨＦ帯（８６０〜９６０ＭＨｚ）のような無線方式ＲＦＩＤにおいてＩＣタグ１０との間にて信号を送受信するためのものである。
【００３４】
通信部２２は、ＩＣタグ１０の通信部１２と同様に、信号を変復調して２．４５ＧＨｚやＵＨＦ帯のような無線方式ＲＦＩＤにてアンテナ２１を介した非接触通信によってＩＣタグ１０との間で信号を送受信するものである。
【００３５】
制御部２３は、インタフェース部２６を介して外部装置から受信した命令や、記憶部２４に格納された制御プログラムに従って、通信部２２における信号の送受信に応じた制御を行う。
【００３６】
記憶部２４は、ＩＣタグ１０に送信する情報や、リーダ／ライタ２０の動作を制御するための制御プログラム、ＩＣタグ１０から受信した更新するファームウェアコードを記憶する。
【００３７】
電源部２５は、外部から供給される交流電源からリーダ／ライタ２０が動作可能な電源を生成する。
【００３８】
インタフェース部２６は、接続された外部装置とのインタフェースを司るものである。
【００３９】
図２は、図１に示したＩＣタグ１０のメモリ１４の構成を示す図である。
【００４０】
ＩＣタグ１０のメモリ１４は図２に示すように、第１の格納領域となるプログラム領域１６と、第２の格納領域となる更新領域１７と、第３の格納領域となる一時領域１８とを有している。
【００４１】
プログラム領域１６には、ＩＣタグ１０の制御プログラムが格納されており、制御用マイコン１３は、この制御プログラムに従ってＩＣタグ１０の動作を制御する。
【００４２】
更新領域１７には、リーダ／ライタ２０から送信された更新用データが格納される。プログラム領域１６に格納された制御プログラムがこの更新用データに書き換えられることにより、制御プログラムが更新されることになる。
【００４３】
一時領域１８には、プログラム領域１６に格納された制御プログラムを構成するファームウェアコードを分割したコードブロックのうち、プログラム領域１６に格納された制御プログラムを更新領域１７に格納された更新用データに書き換えるためのコードブロックが複製されて格納される。
【００４４】
なお、メモリ１４は、不揮発性メモリ等の記憶手段から構成としてもよいし、プログラム領域１６と更新領域１７とを不揮発性メモリ内に設け、一時領域１８を揮発性メモリ内に設けてもよい。
【００４５】
以下に、上記のように構成されたＲＦＩＤシステムにおけるＩＣタグ１０の制御プログラムの更新方法について説明する。
【００４６】
図３は、図１及び図２に示したＲＦＩＤシステムにおけるＩＣタグ１０の制御プログラムの更新方法を説明するためのフローチャートである。
【００４７】
ＩＣタグ１０においては、制御用マイコン１３の制御によって、アンテナ１１を介しての非接触通信のきっかけとなるイベント信号が通信部１２から定期的に送信されている（ステップ１）。
【００４８】
ＩＣタグ１０がリーダ／ライタ２０の通信範囲に入り、通信部１２から送信されているイベント信号がリーダ／ライタ２０の通信部２２にてアンテナ２１を介して受信されると（ステップ２）、リーダ／ライタ２０において、ＩＣタグ１０との非接触通信が開始する。リーダ／ライタ２０においては、ＩＣタグ１０のバージョンが変更になり、ＩＣタグ１０の制御プログラムの更新を行う必要がある場合、制御プログラムの更新用データの送信を開始する旨を示す更新コマンドが通信部２２からアンテナ２１を介して送信される（ステップ３）。
【００４９】
リーダ／ライタ２０から送信された更新コマンドがＩＣタグ１０の通信部１２にてアンテナ１１を介して受信されると（ステップ４）、制御用マイコン１３において、メモリ１４の更新領域１７における更新用データの格納状況が確認される。更新領域１７には、ＩＣタグ１０の制御プログラムの更新用データが既にリーダ／ライタ２０から送信され、アンテナ１１を介して通信部１２にて受信されている場合は、その更新用データが格納されており、制御用マイコン１３において、その更新用データの格納状況が確認されることになる。この際、更新用データは、制御プログラムを構成するファームウェアコードを分割したコードブロック毎に、ブロック番号が付与されて更新領域１７に格納されている。このブロック番号は、更新する制御プログラムを構成するファームウェアコードのコードブロック毎にリーダ／ライタ２０にて付与されており、更新コマンドとともにその数がリーダ／ライタ２０からＩＣタグ１０に通知される。また、制御用マイコン１３における更新用データの格納状況の確認は、例えば、ファームウェアコードのコードブロックのそれぞれにチェックサムを付与しておき、このチェックサムの値を用いることや、コードブロック毎の更新用データの有無を示すフラグ領域を更新領域１７に設け、更新領域１７に更新用データが格納されているコードブロックの存在を記憶すること等が考えられる。
【００５０】
制御用マイコン１３においては、メモリ１４の更新領域１７における更新用データの格納状況が確認された結果、制御プログラムを構成するファームウェアコードを分割したコードブロックのうち、まだ、更新領域１７に格納されていないコードブロックの更新用データが存在する場合（ステップ５）、格納されていないコードブロックに対応するブロック番号が通信部１２及びアンテナ１１を介して送信される（ステップ６）。すなわち、リーダ／ライタ２０から送信される更新コマンドは、ＩＣタグ１０にて制御プログラムの更新が必要であるかどうかを問い合わせる更新要否情報となる。
【００５１】
ＩＣタグ１０から送信されたブロック番号がリーダ／ライタ２０のアンテナ２１を介して通信部２２にて受信されると（ステップ７）、リーダ／ライタ２０の制御部２３において、記憶部２４に記憶された、ＩＣタグ１０の制御プログラムの更新用データのうち、ＩＣタグ１０から送信されたブロック番号に対応するコードブロックが取り出され、通信部２２及びアンテナ２１を介して送信される（ステップ８）。
【００５２】
このように、リーダ／ライタ２０においては、更新コマンドに対してＩＣタグ１０から送信されてきたブロック番号に対応するコードブロックの更新用データのみを送信すればよく、既に更新が完了している不必要な更新用データを再度送信する必要がない。
【００５３】
リーダ／ライタ２０から送信されたコードブロックがＩＣタグ１０のアンテナ１１を介して通信部１２にて受信されると（ステップ９）、ＩＣタグ１０の制御用マイコン１３の制御によって、受信されたコードブロックが、更新領域１７のうちそのブロック番号に応じた領域に格納される（ステップ１０）。
【００５４】
その後、ステップ５における処理に戻り、更新用データの全てが格納領域１７に格納されるまで、同様の処理が繰り返し行われることにより、ＩＣタグ１０の制御プログラムの更新用データが、制御プログラムを構成するファームウェアコードのコードブロック毎にリーダ／ライタ２０からＩＣタグ１０に送信され、メモリ１４の更新領域１７に格納されていく。以下に、ファームウェアコードがコードブロック毎に更新領域１７に格納されていく具体的な動作について説明する。
【００５５】
図４は、図１及び図２に示したＲＦＩＤシステムにてＩＣタグ１０の制御プログラムの更新用データが更新領域１７に格納されていく際のメモリ１４の状態を示す図である。なお、図４においては、更新用データを斜線で示している。
【００５６】
更新領域１７に更新用データが全く格納されていない場合は、ファームウェアコードのコードブロックのブロック番号が、最も小さな番号から１つずつ、制御用マイコン１３の制御によって通信部１２及びアンテナ１１を介して送信される。
【００５７】
そして、リーダ／ライタ２０において、ブロック番号の小さな番号のコードブロックから１つずつＩＣタグ１０に送信され、図４（ａ）に示すように、更新用データが１つずつ更新領域１７に格納されていく。
【００５８】
なお、更新領域１７に更新用データが全く格納されていない場合、制御用マイコン１３の制御によってその旨が通信部１２及びアンテナ１１を介してリーダ／ライタ２０に通知され、リーダ／ライタ２０において、ブロック番号の小さな番号のコードブロックから１つずつＩＣタグ１０に送信される構成としてもよい。
【００５９】
ここで、上述したように、ＩＣタグ１０とリーダ／ライタ２０との通信状況は、ＩＣタグ１０がリーダ／ライタ２０に近接しなくなったり、周囲の環境によって電波等の伝搬状況が変化したりする虞れがある。そのため、図４（ｂ）に示すように、更新領域１７において、ブロック番号の大小によらずにファームウェアコードのコードブロックが格納されていない状況が生じる。
【００６０】
その場合でも、制御用マイコン１３において、更新領域１７に格納されていないコードブロックに対応するブロック番号が通信部１２及びアンテナ１１を介して送信されることにより、リーダ／ライタ２０からそれに対応するコードブロックがＩＣタグ１０に送信され、図４（ｃ）に示すように、更新領域１７に更新用データの全てが格納されていくことになる。
【００６１】
制御用マイコン１３において、メモリ１４の更新領域１７における更新用データの格納状況が確認された結果、更新用データの全てが更新領域１７に格納されている場合は、プログラム領域１６に格納された制御プログラムが、更新領域１７に格納された更新用データに書き換えられているかどうかが確認される（ステップ１１）。これは、例えば、プログラム領域１６に格納された制御プログラムにバージョン情報を付与しておくとともに、リーダ／ライタ２０から更新コマンド２０送信する際にその更新コマンドによって更新する制御プログラムのバージョン情報をリーダ／ライタ２０から送信し、ＩＣタグ１０の制御用マイコン１３において、これらを比較することによって行うことができる。
【００６２】
プログラム領域１６に格納された制御プログラムが、更新領域１７に格納された更新用データに書き換えられていない場合は、まず、制御用マイコン１３の制御によって、プログラム領域１６に格納された制御プログラムを構成するファームウェアコードのコードブロックのうち、プログラム領域１６に格納された制御プログラムを更新領域１７に格納された更新用データに書き換えるためのコードブロックがメモリ１４の一時領域１８に複製される（ステップ１２）。
【００６３】
図５は、図１及び図２に示したＲＦＩＤシステムにてプログラム領域１６に格納された制御プログラムが、更新領域１７に格納された更新用データに書き換えられていく際のメモリ１４の状態を示す図である。なお、図５においても、更新用データを斜線で示している。
【００６４】
プログラム領域１６に格納された制御プログラムを構成するファームウェアコードには、プログラム領域１６に格納された制御プログラムを更新領域１７に格納された更新用データに書き換えるためのコードブロックが含まれている。そのため、プログラム領域１６に格納された制御プログラムの更新状況によっては、そのコードブロックの書き換え中に、プログラム領域１６に格納された制御プログラムを更新領域１７に格納された更新用データに書き換えることができなくなってしまう虞れがある。
【００６５】
しかしながら、図５（ａ）に示すように、プログラム領域１６に格納された制御プログラムを構成するファームウェアコードのコードブロックのうち、プログラム領域１６に格納された制御プログラムを更新領域１７に格納された更新用データに書き換えるためのコードブロックがメモリ１４の一時領域１８に複製されていることにより、図５（ｂ）に示すように、制御用マイコン１３において、一時領域１８に複製されたコードブロックに従って、プログラム領域１６に格納された制御プログラムを更新領域１７に格納された更新用データに確実に書き換えられることができる。
【００６６】
このようにして、プログラム領域１６に格納された制御プログラムが、更新領域１７に格納された更新用データに全て書き換えられることにより、ＩＣタグ１０の制御プログラムの更新が完了する（ステップ１３）。
【００６７】
このように、本形態においては、ＩＣタグ１０の通信部１２にてリーダ／ライタ２０から受信された更新用データが、ＩＣタグ１０の制御プログラムが格納されたプログラム領域１６とは異なる更新領域１７に格納され、制御プログラムを構成するファームウェアコードの全てのコードブロックの更新用データが更新領域１７に格納された後、プログラム領域１６に格納された制御プログラムが更新領域１７に格納された更新用データに書き換えられため、ＩＣタグ１０にてリーダ／ライタ２０から更新用データが受信されている間は、プログラム領域１６に格納された制御プログラムによって更新用データの受信動作が行われていることになる。それにより、ＩＣタグ１０においてリーダ／ライタ２０から更新用データを受信できなくなってしまうことを回避することができる。また、ＩＣタグ１０の制御用マイコン１３の制御によって、制御プログラムを構成するファームウェアコードのコードブロックのうち、更新領域１７に更新用データが格納されていないコードブロックの更新用データの送信がそのコードブロックに対応するブロック番号を用いてリーダ／ライタ２０に要求され、リーダ／ライタ２０において、ブロック番号に対応するコードブロックがＩＣタグ１０に送信されるため、ＩＣタグ１０において制御プログラムの一部が受信できなかった場合においても、受信できなかったコードブロックのみがリーダ／ライタ２０から再度送信されることになり、ＩＣタグ１０におけるその際の制御プログラムの受信が短時間で行われ、それにより、再度送信されたファームウェアコードがＩＣタグ１０にて受信できなくなってしまうことを回避することができる。
【００６８】
これにより、ＩＣタグ１０に対して情報の書き込みや読み出しを行うリーダ／ライタ２０を用いたＩＣタグ１０の制御プログラムの更新を適切かつ確実に実行することができる。
【００６９】
（第２の実施の形態）
図６は、本発明のＲＦＩＤシステムの第２の実施の形態を示す図であり、（ａ）は全体の構成を示す図、（ｂ）はＩＣタグ１１０の構成を示すブロック図、（ｃ）はリーダ／ライタ１２０の構成を示すブロック図である。
【００７０】
本形態は図６に示すように、図１に示したものに対して、ＩＣタグ１１０が電池を有しておらず、リーダ／ライタ１２０のコイル状のアンテナ１２１とＩＣタグ１１０のコイル状のアンテナ１１１との間の電磁誘導によってＩＣタグ１１０に電源が供給され、１３．５６ＭＨｚの周波数帯にてＩＣタグ１１０とリーダ／ライタ１２０との間にて情報が送受信される点が異なるものである。なお、メモリ１１４の構成は、図２に示したものと同様である。
【００７１】
以下に、上記のように構成されたＲＦＩＤシステムにおけるＩＣタグ１１０の制御プログラムの更新方法について説明する。
【００７２】
図７は、図６に示したＲＦＩＤシステムにおけるＩＣタグ１１０の制御プログラムの更新方法を説明するためのフローチャートである。
【００７３】
ＩＣタグ１１０がリーダ／ライタ１２０の通信範囲に入るとまず、リーダ／ライタ１２０のコイル状のアンテナ１２１とＩＣタグ１１０のコイル状のアンテナ１１１との間の電磁誘導によってＩＣタグ１１０に電源が供給され（ステップ１０１）、ＩＣタグ１１０が駆動する（ステップ１０２）。
【００７４】
その後、図３に示したステップ１〜１１と同様の処理が行われる（ステップ１０３〜１１３）。
【００７５】
そして、メモリ１１４のプログラム領域１６に格納された制御プログラムが、更新領域１７に格納された更新用データに書き換えられていない場合は、まず、制御用マイコン１１３の制御によって、更新用データの全てが更新領域１１４に格納された旨が通信部１１２からアンテナ１１１を介してリーダ／ライタ１２０に通知される（ステップ１１４）。
【００７６】
更新用データの全てが更新領域１１４に格納された旨がリーダ／ライタ１２０のアンテナ１２１を介して通信部１２２にて受信されると（ステップ１１５）、制御部１２３の制御によって、プログラム領域１６に格納された制御プログラムを更新領域１７に格納された更新用データに書き換える旨の指示が通信部１２２からアンテナ１２１を介してＩＣタグ１１０に送信される（ステップ１１６）。
【００７７】
プログラム領域１６に格納された制御プログラムを更新領域１７に格納された更新用データに書き換える旨の指示が、ＩＣタグ１１０のアンテナ１１１を介して通信部１１２にて受信されると（ステップ１１７）、まず、制御用マイコン１１３の制御によって、プログラム領域１６に格納された制御プログラムを構成するファームウェアコードのコードブロックのうち、プログラム領域１６に格納された制御プログラムを更新領域１７に格納された更新用データに書き換えるためのコードブロックがメモリ１１４の一時領域１８に複製される（ステップ１１８）。
【００７８】
そして、第１の実施の形態にて示したものと同様に、制御用マイコン１１３において、一時領域１８に複製されたコードブロックに従って、プログラム領域１６に格納された制御プログラムが更新領域１７に格納された更新用データに書き換えられる（ステップ１１９）。
【００７９】
このようにして、プログラム領域１６に格納された制御プログラムが、更新領域１７に格納された更新用データに全て書き換えられることにより、ＩＣタグ１１０の制御プログラムの更新が完了すると、制御プログラムの更新が完了した旨が通信部１１２からアンテナ１１１を介してリーダ／ライタ１２０に通知される（ステップ１２０）。
【００８０】
そして、制御プログラムの更新が完了した旨がリーダ／ライタ１２０のアンテナ１２１を介して通信部１２２にて受信されることにより、リーダ／ライタ１２０において、ＩＣタグ１１０の制御プログラムの更新が完了した旨が管理されることになる（ステップ１２１）。
【００８１】
なお、本形態におけるステップ１１４〜１１７，１２０，１２１の処理は、第１の実施の形態にて示したものにおいても行ってもよい。
【符号の説明】
【００８２】
１０，１１０    ＩＣタグ
１１，２１，１１１，１２１    アンテナ
１２，２２，１１２，１２２    通信部
１３，１１３    制御用マイコン
１４    メモリ
１５    電池
１６    プログラム領域
１７    更新領域
１８    一時領域
２０，１２０    リーダ／ライタ
２３，１２３    制御部
２４，１２４    記憶部
２５，１２５    電源部
２６，１２６    インタフェース部
【図１】
2015184936.tif 000003
【図２】
2015184936.tif 000004
【図３】
2015184936.tif 000005
【図４】
2015184936.tif 000006
【図５】
2015184936.tif 000007
【図６】
2015184936.tif 000008
【図７】
2015184936.tif 000009