本発明のある局面に係るRFID装置は、ホストと有線通信を行うための接触インタフェースと、リーダライタと非接触通信を行うための非接触インタフェースと、前記非接触通信により前記リーダライタからデータアクセスを指示するコマンドを取得し、処理するコマンド処理部と、データを記憶するメモリとを備え、前記コマンド処理部は、通信モードを判定し、前記通信モードが第1通信モードであると判定した場合には、前記コマンドで指示されたデータアクセスを前記リーダライタと前記メモリとの間で実行し、前記通信モードが第2通信モードであると判定した場合には、前記コマンドで指示されたデータアクセスを前記リーダライタと前記ホストとの間で実行する。
一般に、ホストとRFID装置との通信は、リーダライタとRFID装置との通信に比べて通信速度が遅いため、同一データ量を送受信する場合により長い通信時間を必要とする。一方、リーダライタとRFID装置との通信が完了したことをホストへ知らせる目的等には、リーダライタとホストは直接通信をできることが好ましい。よって、非接触通信がオンラインであるときに行うべき通信か否かに応じてコマンド処理部が通信モードを選択することで、RFID装置とホストとの接触インタフェースの通信速度が遅い場合でも、リーダライタとRFID装置搭載機器との通信処理の遅延が生じないRFID装置を提供することができる。また、ホストは、生成したログ等のデータをRFID装置が備えるメモリへ出力しておくことにより、出力後のある時点でホストの電源がオフである場合、ホストが低消費電力状態である場合、又はホストが故障した場合等でも、メモリへ出力されたログをリーダライタにより非接触通信モードで読み出すことができる。すなわち、ホストが停止している場合でもリーダライタによりホストのデータを読み出すことができる。さらに、ホストが動作中である場合、動作予約中である場合、電源が切れている場合、又は低消費電力状態である場合等であって、リーダライタからのデータアクセスを受け付けることができない場合には、RFID装置は、通信が禁止されている旨を示す情報をメモリから読み出し、第1通信モードによってリーダライタへ送信することができる。さらに、リーダライタによるホストへのアクセスを禁止できる。
すなわち、RFID装置は、RFID装置とホストとの通信速度及びホストの内部状態といったRFID装置搭載機器の状態に応じて、リーダライタから通信要求に対して異なる通信モードを適用する。その結果、RFID装置搭載機器の状態に関わらず外部のリーダライタと通信を行うことにより生じる不具合を解消できる。
具体的には、前記コマンド処理部は、データの読み出しを指示する前記コマンドを前記ホストから取得した場合には、前記第1通信モードでデータアクセスを行った前記メモリ内の領域から、前記データの読み出しを行うとしてもよい。
これにより、コマンド処理部は、ホストとメモリとのデータアクセスを仲介することができる。
また、前記コマンド処理部は、データの書き込みを指示する前記コマンドを前記ホストから取得した場合には、前記メモリ内の事前に定められた領域に対して、前記データの書き込みを行うとしてもよい。
また、前記コマンド処理部は、前記リーダライタから取得した前記コマンドに含まれる、前記データアクセスのアクセス先を指定するための情報であるアドレス情報により、前記第1通信モードと前記第2通信モードとを判定するとしてもよい。
これによると、コマンド処理部は、第1通信モードと第2通信モードとを区別するためのコマンドを新たに設けなくて済むので、既存のリーダライタを使用して、第1通信モードと第2通信モードとを指定することができる。
また、前記コマンド処理部は、取得した前記アドレス情報を、前記メモリの事前に定められた領域に記録してもよい。前記メモリに記録された前記アドレス情報は、さらに、前記ホストに対する外部からのデータアクセスの許可又は禁止を示す情報であるフラグ情報を含んでいてもよい。前記コマンド処理部は、前記データアクセスを前記ホストに対して行う前に、前記フラグ情報を前記リーダライタへ送信するとしてもよい。
これによると、コマンド処理部は、リーダライタがトンネルモードで実際にホストに対してデータアクセスをする前に、当該ホストが外部からのデータアクセスを許可しているか否かを示すフラグ情報をリーダライタへ知らせることができる。
また、前記フラグ情報は、前記ホストの動作状態に基づいて、当該ホストにより更新されるとしてもよい。
これによると、ホストは、現在の運転状態等に応じて、フラグ情報を随時更新することができる。
また、前記フラグ情報が、前記ホストに対する外部からのデータアクセスの禁止を示す場合には、前記コマンド処理部は、前記リーダライタから前記ホストへのデータアクセスを禁止するとしてもよい。
これによると、ホストが外部からのデータアクセスを受け付けられない動作状態である場合には、リーダライタがRFID装置を介してホストに対してデータアクセスをすることを禁止することができる。
また、前記フラグ情報が、前記ホストに対するデータアクセスのうち、前記ホストへのデータの書き込み、及び前記ホストからのデータの読み出しのうち少なくとも一方の禁止を示す場合には、前記コマンド処理部は、前記リーダライタから前記ホストに対するデータアクセスのうち前記フラグ情報により禁止されているデータアクセスを禁止するとしてもよい。
これによると、ホストは、外部からのデータアクセスのうち、Read及びWriteのそれぞれについて、独立に可否を指定することができる。したがって、ホストの動作状態に応じて、ホストに対するより詳細なアクセス制御を実現することができる。
また、前記アドレス情報は、さらに、前記リーダライタと前記RFID装置との間のデータアクセスに暗号を使用すべきか否かを示すアクセス先情報を含んでもよい。前記コマンド処理部は、前記データアクセスに暗号を使用すべきことを示す前記アクセス先情報を含むコマンドを前記リーダライタから取得した場合には、前記リーダライタと前記RFID装置との間の非接触通信において送信すべきデータを暗号化し、受信したデータを復号するとしてもよい。
これによると、RFID装置は、リーダライタから暗号化されたデータを受信した場合、これを判別し、データを復号後にホストへ渡すことができる。また、リーダライタに暗号化されたデータを送信しなければならない場合には、データを暗号後に、リーダライタへ送信することができる。
本発明の他の局面に係るRFID装置搭載機器は、ホスト部と、RFID部とを備えるRFID装置搭載機器であって、前記RFID部は、前記RFID部と前記ホスト部との有線通信を行うための接触インタフェースと、前記RFID部と外部のリーダライタと非接触通信を行うための非接触インタフェースと、前記非接触通信により前記リーダライタからデータアクセスを指示するコマンドを取得し、処理するコマンド処理部と、データを記憶するメモリとを備え、前記コマンド処理部は、通信モードを判定し、前記通信モードが第1通信モードであると判定した場合には、前記コマンドで指示されたデータアクセスを前記リーダライタと前記メモリとの間で実行し、前記通信モードが第2通信モードであると判定した場合には、前記コマンドで指示されたデータアクセスを前記リーダライタと前記ホスト部との間で実行する。
また、前記コマンド処理部は、前記通信モードが第2通信モードであると判定した場合には、判定結果を、前記接触インタフェースを介して前記ホスト部に通知し、前記ホスト部は、当該通知を取得すると、前記RFID部へ駆動電力を供給するとしてもよい。
これによると、RFID装置搭載機器が備えるホストは必要なときにのみRFID装置へ駆動電力を供給することができる。したがって、ホストの消費電力を抑えることができる。
また、前記非接触インタフェースは、(a)電磁誘導によって前記リーダライタから第1の駆動電力を取得し、(b)事前に定められた閾値よりも強い電磁界の有無を検出し、前記事前に定められた閾値よりも強い電磁界が有ることを検出した場合には、検出された結果を、前記接触インタフェースを介して前記ホスト部に通知し、前記ホスト部は、当該通知を取得すると、前記RFID部へ前記第1の駆動電力とは異なる第2の駆動電力を供給するとしてもよい。
これによると、RFID装置搭載機器は非接触通信が可能な距離にリーダライタがあるか否かを判定することが可能となる。
本発明の他の局面に係るホストは、有線接続されたRFID装置を介してリーダライタと非接触通信を行うホストであって、前記RFID装置と有線通信を行うための通信インタフェースと、前記ホストの動作中における内部状態を示す動作モードが、通常モード、及び前記通常モードよりも動作中の消費電力を抑制する低消費電力モードのうちのいずれであるかを判定する動作状態判定部と、前記動作状態判定部が、前記ホストの前記動作モードは前記低消費電力モードであると判定した場合には、前記RFID装置が備えるメモリに当該ホストに対するデータアクセスの禁止を示す情報を設定する受付可否情報制御部とを備える。
これによると、ホストが、いわゆるスリープ状態のように低消費電力モードで動作中である場合には、RFID装置に、外部からのデータアクセスを禁止させることができる。
本発明のさらに他の局面に係るホストは、有線接続されたRFID装置を介してリーダライタと非接触通信を行うホストであって、前記RFID装置と有線通信を行うための通信インタフェースと、前記ホストが、当該ホストの動作中における内部状態を示す動作モードとして、通常モードよりも動作中の消費電力を抑制する低消費電力モードで動作している場合に、前記RFID装置に対して前記リーダライタから情報が書き込まれたことを示す通知信号を当該RFID装置から受信すると、前記動作モードを前記通常モードに変更する、動作モード切換部と、前記ホストが所定の動作状態の場合に、前記所定の動作状態に対応づけられた情報であって、当該ホストに対するデータアクセスの禁止及び許可のいずれかを示す情報を前記RFID装置が備えるメモリに設定する受付可否情報制御部とを備え、前記受付可否情報制御部は、前記ホストの前記動作モードが前記通常モードに変更された場合には、当該ホストに対するデータアクセスの許可を示す情報を前記RFID装置が備えるメモリに設定し、又は、当該ホストに対するデータアクセスの禁止を示す情報を前記RFID装置が備えるメモリから削除する。
これによると、ホストは、例えば、低消費電力モードで動作中であっても、外部からのデータアクセスがあった場合には直ちに通常の動作モードへ移行し、当該データアクセスに対応する処理を行うことができる。
本発明の他の局面に係るリーダライタは、RFID装置を介してホストと非接触通信を行うリーダライタであって、前記RFID装置へ送信するコマンドを生成する制御部と、前記コマンドを前記RFID装置へ非接触通信により送信し、送信した前記コマンドに対する応答を前記RFID装置から非接触通信により受信する通信部と、受信した前記応答に対応する情報を表示装置に表示させる表示部とを備え、前記制御部は、前記RFID装置が備える記憶領域であるメモリに対するデータアクセスを指定する第1通信モードと、前記ホストに対するデータアクセスを指定する第2通信モードとの、いずれかの通信モードを指定するためのアドレス情報を含むコマンドを生成する。
この構成によると、リーダライタは、RFID装置とホストとの通信状況に関わらず、自身とRFID装置との通信を開始し、完了することができる。
また、前記制御部は、さらに、前記リーダライタと前記RFID装置との間のデータアクセスに暗号を使用すべきか否かを示すアクセス先情報を含む前記アドレス情報を生成するとしてもよい。
これによると、リーダライタは、コマンドに含まれるアドレス情報により、通信に暗号を使用すべきことをRFID装置へ知らせることができる。
また、前記制御部は、前記ホストに対するデータアクセスを指定するための前記アドレス情報を含むコマンドが前記RFID装置へ送信される前に、前記ホストに対する外部からのデータアクセスの許可又は禁止を示す情報であるフラグ情報を前記RFID装置が備える前記メモリから取得してもよい。前記制御部は、前記RFID装置へ送信予定である前記コマンドに指定されているデータアクセスが許可されている場合にのみ、前記通信部に当該コマンドを当該RFID装置へ送信させるとしてもよい。
これによると、リーダライタは、トンネルモードによるデータアクセスを開始する前に、ホストに対するデータアクセスの可否を知ることができる。したがって、データアクセスが許されるタイミングにのみ、ホストに対してコマンドを送信することができる。
本発明の他の局面に係るRFID装置の制御方法は、ホストと有線通信を行うための接触インタフェースと、リーダライタと非接触通信を行うための非接触インタフェースと、データを記憶するメモリとを備えるRFID装置の制御方法であって、前記非接触インタフェースにより、前記リーダライタからコマンドを取得するコマンド取得ステップと、通信モードを判定する通信モード判定ステップと、前記通信モード判定ステップにおいて前記通信モードが第1通信モードであると判定された場合には、前記コマンドで指示されたデータアクセスを前記リーダライタと前記メモリとの間で実行し、前記通信モードが第2通信モードであると判定された場合には、前記コマンドで指示されたデータアクセスを前記リーダライタと前記ホストとの間で実行するコマンド処理ステップとを含む。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例である。したがって、これらの各形態により、本発明が限定されるものではない。本発明は、請求の範囲だけによって限定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
まず、本発明の関連技術について、より詳細に説明する。
図1は、本発明の関連技術を示す特許文献1に記載のリーダライタ11及びRFID装置搭載機器12の概念図を示す。このRFID装置搭載機器12は、RFID装置32とホストCPU34とから構成されている。RFID装置32は、リーダライタ11と非接触で通信するためのRFアンテナ31が接続され、またホストCPU34と通信するためのCLK線41、DATA線42、SEL線43、IRQ線44が接続されている。また、RFID装置32は、記憶部33を備えている。
リーダライタ11からのデータを受信した場合、RFID装置32は、IRQ線44で、割り込み信号をホストCPU34に出力する。ホストCPU34は、割り込み信号を受信すると、CLK線41を介して、クロック信号を供給する。RFID装置32は、クロック信号に合わせて、DATA線42を介して、データ長を含むデータを送信する。ホストCPU34は、指定されたデータ長だけデータを受信すると、データの受信に関わる処理を終了する。
ホストCPU34からリーダライタ11へデータを送信する場合は、DATA線42を介したデータの送信方向が、ホストCPU34からRFID装置32へ向かう方向となるように、SEL線43によりデータの送信方向を設定する。さらに、ホストCPU34は、クロック信号に載せて、送信するデータをRFID装置32へ送信する。RFID装置32は、RFアンテナ31を介してリーダライタ11へデータを送信する。
ここで、通常の非接触ICカード規格では、コマンドとレスポンスがペアになっている。つまり、RFID装置搭載機器12は、上記での述べたリーダライタ11からのデータ受信とリーダライタ11へのデータ送信をペアで処理する。このデータ受信及びデータ送信の通信処理は、リーダライタ11のRFアンテナ21がRFID装置搭載機器12のRFアンテナ31へ近づけられている(かざされている)間に行われる。
しかしながら、上記関連技術に係るRFID装置搭載機器には、以下の課題がある。
前述の通り、RFID装置32と、リーダライタ11との間で行われる、データ受信及びデータ送信処理が終了するまで、RFアンテナ21及びRFアンテナ31は非接触通信が可能な距離内で近接している必要がある。言い換えると、ユーザは、リーダライタ11をRFID装置32にかざしておく必要がある。
よって、RFID装置32とホストCPU34との間の接触インタフェースの通信速度が遅い場合、RFID装置搭載機器12がリーダライタ11からコマンドを受信してから、レスポンスを返信するまでの処理時間が長くなる。このため、ユーザは長時間リーダライタ11をRFID装置搭載機器12へかざす必要が生じ、作業効率・利便性が低下する。特に、データサイズが大きい場合は、このことが顕著になる。
しかし、RFID装置搭載機器12の使用条件(低消費電力、高ノイズ環境)によっては、接触インタフェースの通信速度を高くすることが難しい場合がある。この場合、コマンドからレスポンスまでの処理時間が長くならざるを得ない。
また、ホストCPU34が電源オフなどにより停止、あるいは故障した場合、リーダライタ11からコマンドを送信しても、ホストCPU34が停止して。したがって、RFID装置搭載機器は応答できず、リーダライタとRFID装置搭載機器間の無線通信が停止してしまう。RFIDの用途の1つとして、RFID装置搭載機器12のエラーや故障診断の用途が挙げられる。この用途では、ホストCPU34が生成した使用ログやエラーログをRFIDの機能を用いて、外部のリーダライタ11で読み出す必要がある。しかし、上記従来のRFID装置搭載機器12では、ホストCPU34が停止している場合、リーダライタ11からホストCPU34へのコマンド受信、及び、ホストCPU34からリーダライタ11のレスポンス送信ができない。このため、ホストCPUが停止しているRFID装置搭載機器12との通信の用途に用いることは困難となる。
すなわち、RFID装置とホストとを備えるRFID装置搭載機器において、RFID装置とホストとの接触インタフェースの通信速度が遅いと、リーダライタとRFID装置搭載機器との通信処理の時間が長くなってしまうという課題がある。また、ホストが停止している場合、又は、ホストが低消費電力モードで動作する場合に、リーダライタによってホストのデータを読み出せないという課題がある。さらに、ホストが外部からのデータアクセスを許可できない場合であっても、リーダライタがRFID装置に近接すると、RFID装置からホストへのデータアクセスが生じてしまうという課題がある。
また、本発明の他の関連技術を示す特許文献2では、電子タグを炊飯器側に接続して、電子タグリーダ・ライタから電子タグに炊飯器の制御信号を書き込み、炊飯器を制御する。この場合、電子タグに制御信号を書き込んでも炊飯器の状態によってはそれを受け付けることができない場合がある。例えば、炊飯器が既に炊飯動作中に、別の炊飯メニューやタイマー予約を受け付けることはできない。
これは一例であるが、機器の状態によって制御信号を受け付けることができないことがあるにも関わらず、電子タグリーダ・ライタから電子タグに機器の制御信号を書き込みができてしまう。この場合、使用者は電子タグに制御信号の書き込みができた時点で、機器の制御が成功したと誤った認識をするおそれがある。すなわち、関連技術に係るRFID装置搭載機器においては、RFID装置搭載機器の状態に関わらず外部のリーダライタと通信を行うことにより不具合が生じるという課題がある。特許文献3には、2つの通信の排他制御が示されている。しかし、上記課題を解決することはできない。
そこで、本発明は、リーダライタからのデータアクセスの要求に対して、RFID装置搭載機器の状態に応じて、適切な処理が可能なRFID装置等を提供する。
(実施の形態1)
以下、本発明の実施の形態1について説明する。
なお、本実施の形態において、非接触インタフェースの通信規格は、ISO/IEC14443(TypeA又はTypeB)であり、また、非接触通信のコマンドはISO/IEC7816−4に準拠しているものとする。また、接触インタフェースの通信方式として、UART(Universal Asynchronous Receiver Transmitter)を用いるものとする。なお、後述するように、非接触インタフェースの通信規格、コマンド、及び、接触インタフェースは、これらに限られず、任意の方式を使用することができる。
図2は、本実施の形態に係るRFID装置10を備えるRFID装置搭載機器100及びリーダライタ200を有するRFIDシステム300の構成を示すブロック図である。
RFID装置搭載機器100は、RFID装置10と、ホスト20と、アンテナANT1とを備えている。アンテナANT1は、RFID装置10に接続される。RFID装置10の電源電圧VDDはホスト20から供給される。RFID装置10からホスト20へのデータは送信信号TXで送信され、ホスト20からRFID装置10へのデータは受信信号RXで送信される。これらの送信信号TXと受信信号RXによる通信方式は、UART通信方式に準拠するものとし、詳細説明は省略する。
また、RFID装置搭載機器100は、外部にあるリーダライタ200と非接触通信を行う。この非接触通信は、アンテナANT1と、リーダライタ200に接続されたアンテナANT2の間で電磁誘導によって行われる。このとき、データの送受信だけでなく、RFID装置10の動作に必要な電力もリーダライタ200から供給される。よって、リーダライタ200との通信時は、ホスト20からRFID装置10への電源電圧VDDの供給は必ずしも必要ない。
図3は、本実施の形態に係るRFID装置搭載機器100の詳しい構成を示すブロック図である。
RFID装置10は、ホスト20と外部のリーダライタとの間の非接触通信を仲介する。
RFID装置10は、非接触IF(Interface;以後、非接触インタフェースともいう)1と、接触IF(以後、接触インタフェースともいう)2と、メモリ3と、コマンド処理部4とを備える。
非接触IF1は、リーダライタと非接触通信を行うための通信インタフェースである。非接触IF1は、アンテナANT1が接続され、外部のリーダライタ200との通信処理を行う。非接触IF1は、(1)整流回路、復調回路、変調回路、クロック再生回路等のアナログ回路と、(2)送受信データの符号化、フレーム検出/生成、CRC(Cyclic Redundancy Check)回路等のデジタル回路と、(3)送受信データを一時的に格納する送受信バッファなど(図示なし)を有する。
また、非接触インタフェース1は、事前に定められた閾値よりも強い電磁界の有無を検出し、検出結果を、接触インタフェース2を介してホスト20に通知する。
非接触IF1は、電磁誘導によってリーダライタ200から駆動電力を取得しているが、電磁界の検出の通知を受けたホスト20は、RFID装置10へ他の駆動電流を供給する。
接触IF2は、ホスト20と有線通信を行うための通信インタフェースである。接触IF2は、電源電圧VDD、送信信号TX、及び、受信信号RXの送信又は受信を行う通信用の線が接続され、ホスト20との通信処理を行う。接触IF2は、IO(Input Output)回路、UART通信プロトコル処理回路、及び、送受信バッファなどを有する(図示なし)。
メモリ3は、ホスト20とリーダライタ200との通信においてユーザデータ等を一時的に格納(記憶)するメモリであり、通常は、電源がオフしてもデータが消えない不揮発性メモリを用いて実装される。しかし、単位容量あたりのコスト、メモリアクセスの処理速度等の理由で、揮発性メモリを用いてもよい。なお、メモリ3はRFID装置10に常時格納されるべきデータを記憶する目的で使用されてもよい。
上記非接触IF1は、リーダライタ200から受信したデータ、又は、送信するデータを一時的に格納する送受信バッファを有する。メモリ3は、こうした送受信バッファとは異なり、リーダライタ200から見て、ホスト20のいわばプロキシとしての使用目的を有する。なお、メモリ3の使用目的は、必ずしもホスト20のプロキシ、すなわちホストの代理としての使用目的に限定されない。例えば、ホスト20は、RFID装置10が備えるメモリ3を不揮発メモリとして使用してもよい。この場合、前述のように、メモリ3は、RFID装置10に常時格納されるべきデータを記憶する。
非接触IF1の送受信バッファは、リーダライタ200との通信データを一時的に格納するメモリであるため、基本的には、非接触通信規格で定められる1コマンドの最大データ長(ISO/IEC7816−4の場合は256バイト)相当の容量を持つ。また、リーダライタ200からコマンドを受信したときのデータ、及び、その後、リーダライタ200へレスポンスを送信するときのデータは、同じ送受信バッファを共有して記録される。
メモリ3は、データを格納(すなわち、記憶)するためのメモリであり、後述するが、リーダライタ200、又はホスト20からの、リードコマンドやライトコマンドによって、アクセスされる。また、そのメモリ容量も用途に応じて、必要なサイズが搭載される。
コマンド処理部4は、非接触通信によるホスト20及びリーダライタ200のいずれか一方から、他方へのデータアクセスを指示するためのコマンドをリーダライタ200から取得し、処理する。コマンド処理部4は、非接触IF1、接触IF2及びメモリ3に接続される。コマンド処理部4は、非接触通信モード、接触通信モード、及び、トンネルモードの3つの動作モードを有する。
具体的には、コマンド処理部4は、リーダライタ200から取得したコマンドに含まれる、データアクセスのアクセス先を指定するための情報であるアドレス情報により、通信モードを判定する。判定の結果、通信モードとして非接触通信モード(以後、第1通信モードともいう)が指定されていると判定した場合には、コマンドで指示されたデータアクセスをリーダライタ200とメモリ3との間で実行する。また、メモリ3へのデータアクセスに対応するレスポンスである応答信号をリーダライタ200へ送信する。また、通信モードとしてトンネルモード(以後、第2通信モードともいう)が指定されていると判定した場合には、コマンドで指示されたデータアクセスをリーダライタ200とホスト20との間で実行する。また、ホスト20へのデータアクセスに対応する応答信号であるレスポンスをリーダライタ200へ送信する。
また、通信モードとして接触通信モードとして判定した場合(すなわち、ホスト20から接触インタフェースを介してコマンドを取得した場合)には、(1)データの読み出しを指示するコマンドを取得した場合には、非接触通信モードでデータアクセスを行ったメモリ3内の領域から、データの読み出しを行い、(2)データの書き込みを指示するコマンドを取得した場合には、メモリ3内の事前に定められた領域に対して、データの書き込みを行う。
なお、コマンド処理部4は、コマンドで指示されるデータアクセスのアクセス先を特定するためのアドレス情報に含まれるビット情報により、非接触インタフェースを介して取得したコマンドに対して、非接触通信モードと、トンネルモードのいずれが指定されているかを判定してもよい。
また、ホスト20は、データアクセスの完了を通知するトンネルモードが指定されたコマンドをリーダライタ200から取得した場合に、RFID装置10が備えるメモリ3に対してデータアクセスを行う。
また、リーダライタ200は、ホスト20との間でデータアクセスを行う場合には、データアクセスを指示するためのコマンドを、非接触通信モードを指定してRFID装置10へ送信する。リーダライタ200は、データアクセスが完了した場合には、データアクセスの完了をホスト20へ通知するためのコマンドを、トンネルモードを指定してRFID装置10へ送信する。
以後、それぞれの動作モードについて、より詳細に説明する。
<<非接触通信モード>>
非接触通信モードでは、リーダライタ200からアンテナANT2を介して送信されたコマンドを、アンテナANT1を介して非接触IF1が受信し、コマンド処理部4が、そのコマンドを解釈する。その際、コマンド処理部4は、必要に応じてメモリ3へのリード、ライトなどの処理を実行後、処理結果を非接触IF1及びアンテナANT1を介して、リーダライタ200へ応答としてレスポンスを送信する。
本モードにおいて、コマンド処理部4は、電源電圧VDDに電源が供給されなくても、リーダライタ200からアンテナANT1を介して受電される電力のみで動作することが可能である。しかし、非接触通信モードの場合であっても、電源電圧VDDへ電源が供給された方が、RFID装置10の動作に必要な電力が電源電圧VDD側から安定して供給されるため、リーダライタ200とRFID装置搭載機器100との通信距離をより伸ばすことができるという利点がある。
以下、図4〜図6を参照して、非接触通信モードについて説明する。
図4は、本実施の形態に係るRFID装置搭載機器100及びリーダライタ200の非接触通信モードにおける動作を示すシーケンス図である。
また、図6は、本実施の形態に係るRFID装置10とホスト20とをつなぐ接触インタフェースの一部の送信データの仕様を示す図である。
図4のシーケンスS1で、リーダライタ200がRFID装置10に近づくと、RFID装置10は磁界オン(すなわち、磁界の強さが事前に定められた閾値以上となったこと)を検出する。この磁界オン検出は、非接触IF1によって、リーダライタ200から送信されるキャリア信号の有無、又は、電力供給による受信電圧のレベル上昇などを検出することで行われる。より具体的には、RFID装置10は、リーダライタ200から送信されるキャリア信号を検出した場合、又は、受信電圧レベルが事前に定められた値以上となった場合に、磁界オンを検出する。
次にシーケンスS2では、RFID装置10がホスト20に磁界オンを検出した旨を通知する。この通知は、図6に示す磁界オンを示すコード“02”を、送信信号TXとして送信することで実施される。ホスト20は、この“02”を受信すると、リーダライタ200が近づいたと判断し、シーケンスS3で、電源電圧VDDとしてHighを印加して、RFID装置10に電源を供給する。
ホスト20が電源電圧VDDに電源を供給する理由は、上記で述べたように、リーダライタ200とRFID装置搭載機器100との通信距離を伸ばすためである。RFID装置10にはリーダライタ200から電力が供給されている場合には、シーケンスS3は必須ではない。またRFID装置10は、シーケンスS2で磁界オン通知を行うが、磁界オン通知の後、RFID装置10は、ホスト20からの何らかの応答(電源電圧VDDへの電源印加、コマンド送信等)を待つものではない(すなわち、RFID装置10は、ホスト20からの応答を待たずに、次のステップS4の処理を行う)。つまり、本非接触通信モードでは、ホスト20は、電源オフや故障などの理由で停止していてもよい。
シーケンスS4からシーケンスS6は、非接触通信モードのリードコマンドの処理シーケンスである。また、シーケンスS7からシーケンスS9は、非接触通信モードのライトコマンドの処理シーケンスである。以下、本実施の形態におけるRFIDの非接触通信コマンドの仕様を示す図5A及び図5Bも併せて参照し、コマンドの処理シーケンスについて詳細に説明する。
図5Aは、シーケンスS4からシーケンスS6で用いるリードコマンド(ISO/IEC7816−4での名称は、Read Binaryコマンド)のフォーマットを示す。また、図5Bは、シーケンスS7からシーケンスS9で用いるライトコマンド(ISO/IEC7816−4での名称は、Update Binaryコマンド)のフォーマットを示す。また、図5Cは、図5Aに示されるリードコマンドと、図5Bに示されるライトコマンドのパラメータであるパラメータP1、P2の符号化を示す。
まず、非接触通信モードのリードコマンドについて説明する。シーケンスS4で、リーダライタ200は、非接触通信モードを指定したリードコマンドをRFID装置10へ送信する。非接触通信モードが指定されたリードコマンドのフォーマットは、図5Aで示される。コマンドのフォーマットにおいて、バイトCLAはクラスバイトでセキュアメッセージング機能やロジカルチャネル番号を示すが、本実施の形態では使用しないため“00”を設定する。バイトINSは命令バイトでリードコマンドでは“D0”を設定する。
バイトP1、バイトP2はパラメータバイトで、符号化の一例を図5Cに示す。バイトP1のビットb8はファイル指定に関するビットで、カレントファイルか直接指定かを設定する。ファイル指定を直接指定に設定してもよいが、本実施の形態ではカレントファイルを示す“0”に設定する。カレントファイルを設定したとき、残りのバイトP1のビットb7からb1及びバイトP2からなる15ビットで、アドレスのオフセット(スタートアドレス)を設定する。
本実施の形態では、この15ビットのうち、上位の1ビット、つまり、バイトP1のビットb7を、非接触通信モードか後述するトンネルモードかを区別するためのビットとして使用する。具体的には、バイトP1のビットb7が“0”のときは、非接触通信モードであり、残りのバイトP1のビットb6からb1及びバイトP2の14ビットは、メモリ3のアクセス(リード又はライト)するスタートアドレスの指定に用いられる。また、バイトP1のビットb7が“1”のときは、トンネルモードであり、残りの14ビットはアドレスのオフセットとして使用される。
バイトLeは、リードコマンドで読み出すデータ長を設定するパラメータで、バイト数を指定する。バイトLeのデータ長は1バイト又は3バイトであるが、どちらを使用してもよい。
RFID装置10が、リーダライタ200からコマンドを受信すると、コマンド処理部4は、コマンドの解釈を実行する。ここで、コマンド処理部4は、バイトINSが“D0”、バイトP1のビットb7が“0”であるため、非接触通信モードが指定されたリードコマンドであると解釈し、シーケンスS5で、メモリ3からのデータ読み出しを実行する。読み出しを開始するメモリ3のアドレスは、バイトP1のビットb6からb1及びバイトP2の14ビットで設定され、読み出すデータのデータ長はバイトLeで設定される。
次にシーケンスS6で、コマンド処理部4は、メモリ3から読み出したデータを、図5Aに示されるレスポンスのフォーマットにおけるDataに設定し、処理結果を示すステータスワードのバイトSW1及びバイトSW2と共に、非接触IF1及びアンテナANT1を介して、リーダライタ200へ返信する。なお、ステータスワードのバイトSW1及びバイトSW2は、処理結果が成功したか失敗したか、及び、失敗した場合はそのエラーコードが格納されるパラメータである。例えば、処理が成功した場合は、バイトSW1及びSW2に“9000”が設定される。
次に非接触通信モードのライトコマンドについて説明する。シーケンスS7で、リーダライタ200は、非接触通信モードのライトコマンドを送信する。非接触通信モードのライトコマンドのフォーマットは、図5Bで示される。バイトCLAは、リードコマンドと同じで“00”を設定する。命令バイトのバイトINSは、ライトコマンドを示す“D6”を設定する。バイトP1、バイトP2は、リードコマンドと同様、図5Cに示す符号化を用いる。バイトP1のビットb7は、非接触通信モードを示す“0”に設定する。バイトP1のビットb6からb1及びバイトP2は、メモリ3に書き込むデータのスタートアドレスを設定する。バイトLcは、書き込むデータのデータ長を設定パラメータで、バイト数で指定する。
RFID装置10が、リーダライタ200からライトコマンドを受信すると、コマンド処理部4は、コマンドの解釈を実行する。ここで、コマンド処理部4は、コマンドが非接触IF1から入力され、バイトINSが“D6”、バイトP1のビットb7が“0”であるため、非接触通信モードが指定されたライトコマンドと解釈し、シーケンスS8で、メモリ3への書き込みを実行する。メモリ3へ書き込むデータは、スタートアドレスが、バイトP1のビットb6からb1及びバイトP2の14ビットで設定され、データ長がバイトLcで設定される。
次にシーケンスS9で、コマンド処理部4は、ライト処理が終了すると、処理結果としてステータスワードバイトSW1及びバイトSW2が設定されたレスポンスを、非接触IF1及びアンテナANT1を介して、リーダライタ200へ送信する。例えば、処理が成功した場合は、バイトSW1、SW2ともに9000が設定されたレスポンスを送信する。
所定の処理が終わり、リーダライタ200がRFID装置10から離されると、シーケンスS10で、磁界がオフとなる(すなわち、磁界の強さが事前に定められた閾値未満となる)。RFID装置10は磁界オフを検出すると、シーケンスS11で、図6に示す磁界オフを示すコード“03”を、送信信号TXを介して、ホスト20に出力する。
ホスト20は、この“03”が指定された送信信号TXを受信すると、リーダライタ200がRFID装置10離れたと判断し、シーケンスS12で、電源電圧VDDとしてLowを印可して、RFID装置10への電源供給を停止する。
上記磁界オフの検出は、磁界オンの検出と同様、リーダライタ200から送信されるキャリアの有無、又は、受信電圧のレベルなどによって検出する。より具体的には、リーダライタ200から送信されるキャリア信号を一定時間検出できない場合、又は、受信電圧レベルが事前に定められた値未満となった場合に、RFID装置10は磁界オフを検出する。
なお、シーケンスS10からシーケンスS12の処理を行うことで、ホスト20からRFID装置10への電源供給が必要なときのみ実施されるので、RFID装置搭載機器100自身をより低消費電力化することができる。なお、ホスト20は、シーケンスS11の磁界オフ通知を受けても、シーケンスS12の電源電圧VDDへの供給停止を実施しなくてもよい。また、RFID装置10は、シーケンスS2及びシーケンスS11に示す、磁界オン検出通知及び磁界オフ検出通知を行わなくてもよい。
<<接触通信モード>>
次に、接触通信モードについて説明する。
接触通信モードでは、ホスト20から受信信号RXを介して送信されたコマンドを接触IF2で受信し、コマンド処理部4で、そのコマンドを解釈し、メモリ3へのリード、ライトなどの処理を実行する。その後、処理結果を接触IF2及び送信信号TXを介して、ホスト20へ応答する動作モードである。なお、本モードで動作するRFID装置10は、電源電圧VDDへの電源供給が必要である。
以下、図7及び図8A〜図8Cを参照して、接触通信モードについて説明する。
図7は、接触通信モードにおける、本実施の形態に係るRFID装置10及びホスト20の動作を示すシーケンス図である。また、図8A〜図8Cは、本実施の形態におけるRFID装置10及びホスト20が使用する接触通信モードコマンドの仕様を示す図である。
まず、図7のシーケンスS21で、ホスト20は電源電圧VDDとしてHighを印可して、RFID装置10に電源を供給する。ホスト20が接触通信モードの処理を行う前には、この電源電圧VDDの印加が必要である。
次に、シーケンスS22からシーケンス24は、接触通信モードのリードコマンドの処理シーケンスであり、コマンド仕様は、図8Aに示される。また、シーケンス25からシーケンス27は接触通信モードのライトコマンドの処理シーケンスであり、コマンドの仕様は、図8Bに示される。図8A及び図8Bに示す接触通信コマンドの仕様は、特に何かの通信規格に準拠しているわけではない。適宜、ISO/IEC7816−4等の規格に準拠させて、非接触インタフェース側のコマンド仕様と共通にして、コマンド処理部4の処理内容を合理化させてもよい。
まず、接触通信モードのリードコマンドについて説明する。シーケンスS22で、ホスト20は、接触通信モードを指定してリードコマンドを送信する。図8Aに示されるリードコマンドのフォーマットを参照し、コマンドコードは、リードの場合は“00”に設定する。スタートアドレスは、2バイトで、読み出しを行うメモリ3の開始アドレスを設定し、データ長は、レスポンスで読み出すデータのサイズをバイト数で設定する。
RFID装置10が、ホスト20からのリードコマンドを受信すると、コマンド処理部4は、コマンドの解釈を実行する。コマンド処理部4は、コマンドが接触IF2から入力され、コマンドコードが“00”であるため、接触通信モードのリードコマンドと解釈し、シーケンスS23で、メモリ3のデータ読み出しを実行する。メモリ3から読み出すデータは、コマンドで指定されるスタートアドレスとデータ長で設定される。
次にシーケンスS24で、コマンド処理部4は、メモリ3から読み出したデータを図8Aに示されるレスポンスのフォーマットで指定されたデータ部に設定し、また、処理結果をステータスに設定して、接触IF2及び送信信号TXを介して、ホスト20へ返信する。ステータスの設定を、図8Cに示す。すなわち、処理が成功したときは、“F0”、処理が失敗したときは“E0”である。“D0”は、BUSY(処理中)を意味し、後で説明するが、例えば、RFID装置10が非接触通信コマンドの処理を実行中に、ホスト20が接触通信コマンドを送信したときなどに、RFID装置10からの応答に使用されるステータスである。
次に接触通信モードのライトコマンドについて説明する。シーケンスS25で、ホスト20は、接触通信モードのライトコマンドを送信する。図8Bのライトコマンドのフォーマットに示すように、コマンドコードは、ライトの場合は、“10”に設定される。次のスタートアドレスには、2バイトで、書き込みを行うメモリ3の開始アドレスが設定され、データ長には書き込みを行うデータのサイズをバイト数が設定され、データ部には書き込むデータが設定される。
RFID装置10が、ホスト20からのライトコマンドを受信すると、コマンド処理部4は、コマンドの解釈を実行する。ここで、コマンド処理部4は、コマンドが接触IF2から入力され、コマンドコードが“10”であるため、接触通信モードのライトコマンドと解釈し、シーケンスS26で、メモリ3へのデータ書き込みを実行する。メモリ3に書き込むデータは、コマンド内で指定されるスタートアドレスとデータ長で設定される。
次にライト処理終了すると、シーケンスS27で、コマンド処理部4は処理結果をステータスに設定して、接触IF2及び送信信号TXを介して、ホスト20にレスポンスを送信する。ステータスの設定は、リードコマンドと同様、図8Cに示されるものを使用する。
最後にホスト20は、接触通信モードが指定されたコマンド処理が終了すると、シーケンスS28で電源電圧VDDとしてLowを印可して、RFID装置10への電源供給を停止する。
なお、上記説明では、ホスト20は、接触通信モードを指定してリード/ライトコマンドを送信するとしたが、必ずしもホスト20は、通信モードを指定する必要は無い。RFID装置10は、接触IFから取得したコマンドは全てホスト20から送信されたコマンドであり、したがって、接触通信モードとして処理すべきコマンドであると判断してもよい。この場合、ホスト20は、何らかの通信モードを指定しなくとも、リード又はライトコマンドをRFID装置10へ送信するだけでよい。以後、「接触通信モードが指定されたコマンド」とは、ホスト20により明示的に通信モードが指定されたコマンドに加えて、ホスト20から送信された通信モードが指定されていないコマンドも便宜上、含むものとする。
<<トンネルモード>>
次に、トンネルモードの動作について説明する。
トンネルモードは、リーダライタ200から送信された非接触通信コマンドの内容を一旦RFID装置10で受信し、その内容をホスト20へ転送し、ホスト20がコマンドの処理を行い、その処理結果をRFID装置10へ送信し、RFID装置10は、その処理結果をレスポンスとしてリーダライタ200に送信する動作モードである。なお、本モードの動作は、電源電圧VDDへの電源供給が必要である。
図9は、トンネルモードでの動作時における、本実施の形態に係るRFID装置搭載機器100及びリーダライタ200の動作を示すシーケンス図である。また、図10A及び図10Bは、本実施の形態においてRFID装置10及びリーダライタ200が使用するトンネルモードコマンドの仕様を示す図である。
まず、図9のシーケンスS31からシーケンスS33は、リーダライタ200がRFID装置10に近づいた結果、RFID装置10が磁界オンを検出し、検出結果をホスト20に通知し、ホスト20はそれを受けて、電源電圧VDDとしてHighを印可するまでのシーケンスに対応する。例えば、前述した図4のシーケンスS1からシーケンスS3と同じである。
シーケンスS34からシーケンスS41は、トンネルモードに対応するリードコマンド、又はライトコマンドの動作シーケンスである。
まず、リードコマンドの動作について、図5A及び図10Aに示されるコマンド仕様を参照しながら説明する。
シーケンスS34で、リーダライタ200は、トンネルモードを指定してリードコマンドを送信する。このコマンドは、図5Aの非接触通信コマンドのリードコマンドとは、図5Cに示すバイトP1のビットb7に“1”のトンネルモードが設定される点で異なる。なお、バイトP1のビットb6からビットb1及びバイトP2には、アドレスのオフセット(スタートアドレス)が設定され、バイトLeには、レスポンスで読み出すデータ長がバイト数で設定される。
RFID装置10が、リーダライタ200からのリードコマンドを受信すると、コマンド処理部4は、コマンドの解釈を実行する。ここで、コマンド処理部4は、コマンドが非接触IF1から入力され、バイトINSが“D0”、バイトP1のビットb7が“1”であるため、トンネルモードが指定されたリードコマンドであると解釈し、シーケンスS35で、接触IF2及び送信信号TXを介して、ホスト20にコマンド通知を行う。このコマンド通知のコードは、図10Aの(1)に示すように“01”である。
ホスト20は、このコード“01”を受信すると、リーダライタ200からトンネルモードが指定されたコマンドが来たと判断する。その後、ホスト20は、シーケンスS36で問合せコマンドを、受信信号RXを介してRFID装置10へ送信する。問合せコマンドのコマンドコードは、図10Aの(2)に示すように“20”である。
RFID装置10が、この問合せコマンドのコマンドコード“20”を受信すると、コマンド処理部4はシーケンスS37で、シーケンスS34で受信したトンネルモードが指定されたコマンドの内容を接触IF2及び送信信号TXを介して、問合せレスポンスとしてホスト20へ送信する。なお、問合せレスポンスの仕様を、図10Aの(3)に示す。レスポンスコードは“00”で、リードコマンドであることを示す。スタートアドレスは、メモリ読み出しの開始アドレスであり、データ長は読み出すデータのバイト長である。スタートアドレスとデータ長の設定は、それぞれ、シーケンスS34のトンネルモードのリードコマンドで設定された、バイトP1のビットb6からビットb1及びバイトP2のアドレスのオフセットと、バイトLeの設定と同じにする。シーケンスS37によって、シーケンスS34で受信したトンネルモードのリードコマンドの内容が、ホスト20に通知される。
次に、シーケンスS38でホスト20は、問合せレスポンスで受信した内容の処理を行う。その処理内容については、特に限定しない。例えば、ホスト20内に設けられたメモリ、あるいは別に接続されたメモリ等のデータを、設定されたアドレスのオフセットとデータ長の情報に基づいて読み出してもよいし、ホスト20で何らかの情報データを生成してデータに設定してもよい。シーケンスS38の処理が終わると、ホスト20は、シーケンスS39で、受信信号RXを介して結果通知コマンドをRFID装置10へ送信する。結果通知コマンドの仕様は、図10Aの(4)に示される。ここで、ステータスには処理結果が設定され、データ部には読み出されたデータが設定される。ステータス設定の仕様は、図8Cの接触通信コマンドの仕様と同じである。
RFID装置10が結果通知コマンドを受信すると、コマンド処理部4は、シーケンスS40で結果通知レスポンスを、接触IF2及び送信信号TXを介してホスト20に送信し、次いで、シーケンスS41でレスポンスを、非接触IF1及びアンテナANT1を介してリーダライタ200へ返信する。
結果通知レスポンスの仕様は、図10Aの(5)に示すようにステータスのみである。このステータスの設定は、図8Cと同じである。また、シーケンスS41でリーダライタ200へ返信されるレスポンスの仕様は、図5Aのレスポンスで示される。この設定は、シーケンスS39で受信した結果通知コマンドの内容を、コマンド処理部4が適宜変換して、データ部Data及びバイトSW1、SW2を設定する。
次に、シーケンスS34のコマンドが、トンネルモードが指定されたライトコマンドであるときの動作について、上記で説明したリードコマンドとの違いを中心に説明する。
まず、図9のシーケンスS34で、リーダライタ200が送信する、トンネルモードが指定されたライトコマンドと、図5Bに示す非接触通信コマンドが指定されたライトコマンドとの違いは、トンネルモードが指定されたリードコマンドと同様、バイトP1のビットb7が“1”に設定される点である。その他のパラメータの仕様は、非接触通信モードが指定されたライトコマンドと同じである。
図9のシーケンスS35からシーケンスS41において、トンネルモードが指定されたリードコマンドとライトコマンドで異なるのは、シーケンスS37からシーケンスS39とシーケンスS41である。シーケンスS35、シーケンスS36、シーケンスS40は、リードコマンドと同じのため説明は省略する。
シーケンスS37は、問合せレスポンスであるが、この仕様を図10Bの(3)に示す。レスポンスコード“10”は、この問合せレスポンスがライトコマンドであることを示す。また、スタートアドレスには、メモリ書き込みの開始アドレスが設定され、データ長には、書き込みデータバイト長が設定される。データ部には、書き込むデータが設定される。このスタートアドレス、データ長、及びデータ部は、シーケンスS34のトンネルモードが指定されたライトコマンドで設定された、バイトP1のビットb6からビットb1及びバイトP2のアドレスのオフセットと、バイトLc、及びデータ部Dataの設定と同じにする。
シーケンスS38では、ホスト20が、問合せレスポンスで受信した内容の処理を行う。その処理内容については、特に限定しないが、ホスト20内に設けられたメモリ、あるいは別に接続されたメモリへデータを書き込んでもよいし、受信したデータの情報に基づいて所定の処理を行ってもよい。
シーケンスS39では、ホスト20がRFID装置10に結果処理コマンドを送信するが、その仕様は図10Bの(4)となる。結果処理コマンドに含まれる送信データはステータスのみであり、ステータスの仕様は、図8Cの接触通信コマンドの仕様と同じである。
シーケンスS41では、RFID装置10は、リーダライタ200へレスポンスを返信する。レスポンスの仕様は、図5Bのレスポンスで示されるが、ここの設定は、シーケンスS39で受信した結果通知コマンドの内容を、コマンド処理部4が適宜変換して、バイトSW1、SW2を設定する。
シーケンスS42からシーケンスS44は、リーダライタ200がRFID装置10から離れることにより、RFID装置10が磁界オフを検出し、検知結果をホスト20に通知し、ホスト20はそれを受けて、電源電圧VDDとしてLowを印可するまでのシーケンスに対応する。例えば、前述した図4のシーケンスS10からシーケンスS12と同じである。
以上、トンネルモードの動作について説明したが、シーケンスS35のコマンド通知、及びシーケンスS36の問合せコマンドについては、その処理を省略し、RFID装置10は、シーケンスS34のトンネルモードのコマンド受信後、シーケンスS37の問合せレスポンスをホスト20に送信するようにしてもよい。また、シーケンスS40の結果通知レスポンスも省略してもよい。このようにすることで、トンネルモードのコマンド処理時間を短縮することができる。
また、図5A〜図5Cに示すように、非接触通信モードとトンネルモードの制御(すなわち、いずれの通信モードであるかの判定)は、ISO/IEC7816−4コマンドのアドレスのオフセットである、バイトP1、P2のパラメータを用いて実施している。このようにすることで、非接触通信モードとトンネルモードとを区別するためのコマンドを新たに設けなくて済むので、既存のリーダライタを使用して、非接触通信モードとトンネルモードを制御することができる。
なお、図8A〜図8Cに示される接触通信モードコマンド、図10A及び図10Bに示されるトンネルモードコマンドに共通する内容であるが、コマンド又はレスポンスの先頭の1バイト目は、コマンド(レスポンス)コード、あるいは、ステータスになるようにしており、先頭の1バイト目でコマンドの内容、あるいは、ステータスを判別することができる。例えば、図5Aのレスポンスに示すようにデータが先頭に来る場合は、レスポンスデータを全て受信し、データの部分とステータスの部分を、データ長の情報を用いて分離した上で、ステータスの判定を行うため、比較的複雑な処理をしなければならない。一方、本実施例のようにすることで、ホスト20は、受信したデータの最初の1バイトで、コマンドやレスポンスのコード、又は、ステータスを判別できるので、ホスト20の処理が簡単になる。
<<状態遷移>>
図11は、本実施の形態に係るRFID装置10の動作を示す状態遷移図である。図11を用いて、各モードのコマンドを受信した場合におけるRFID装置10の内部状態の遷移について説明する。
図11において、まず、RFID装置10がコマンドを何も受信していない状態では、IDLE状態となる。この状態で、非接触通信モードが指定されたコマンド(例えば、リードコマンド、ライトコマンドなど)、及び、リクエストコマンドREQ等のリーダライタ200がRFID装置搭載機器100の存在を識別するためのコマンドをRFID装置10が受信すると、RFID装置10は、上記で説明したように、非接触通信モードが指定されたコマンドの処理を行い、リーダライタ200へレスポンスを返信し、IDLE状態に戻る(自己遷移する)。RFID装置10は、非接触通信モードが指定されたコマンドを処理している間は、追加の非接触通信モードが指定されたコマンド、トンネルモードが指定されたコマンド、及び、接触通信モードが指定されたコマンドは受け付けない。例えば、非接触通信モードが指定されたコマンドを処理している間に、ホスト20から接触モードが指定されたコマンドを受信した場合は、RFID装置10は、図8Cに示されるBUSYを意味するステータス“D0”をレスポンスとしてホスト20に送信する。ホスト20は、“D0”を受信することで、他のモードのコマンドが処理中であることがわかるので、少し時間を置いた後、再度、接触モードのコマンドを送信することで、処理を再開することができる。
次に、IDLE状態から、接触通信モードが指定されたコマンド(例えば、リードコマンド、ライトコマンドなど)を受信したときは、RFID装置10は、上記で説明したように、接触通信モードに対応するコマンドの処理を行い、ホスト20へレスポンスを返信し、IDLE状態に戻る(自己遷移する)。
接触通信モードが指定されたコマンドを処理している間は、RFID装置10は、非接触通信モードが指定されたコマンド、トンネルモードが指定されたコマンド、及び、追加の接触通信モードが指定されたコマンドは受け付けない。
次に、IDLE状態から、トンネルモードが指定されたコマンド(例えば、リードコマンド、ライトコマンドなど)を受信したときは、RFID装置10は、図9のシーケンスS35でコマンド通知を行い、問合せコマンド待機状態に遷移する。この状態では、RFID装置10は、ホスト20からの問合せコマンドしか受け付けない。
シーケンスS36で、ホスト20から問合せコマンドを受信すると、RFID装置10は、シーケンスS37の問合せレスポンスを実行し、結果通知コマンド待機状態に遷移する。この状態では、RFID装置10は、ホスト20からの結果通知コマンドしか受け付けない。RFID装置10は、シーケンスS39で、ホスト20からの結果通知コマンドを受信すると、シーケンスS40で、ホスト20に結果通知レスポンスを送信し、次いで、シーケンスS41でリーダライタ200にレスポンスを送信して、IDLE状態に遷移する。
上記のような状態遷移を行うことで、非接触インタフェース、接触インタフェース両方から来るコマンドによるメモリアクセスの競合や、トンネルモード動作中に、接触通信コマンドを受信することによる誤動作を防ぐことができる。
<<処理方法1>>
比較的容量の大きいホストのデータを、リーダライタで読み出す場合、RFID装置とホスト間の接触インタフェースの通信速度が低い場合でも、リーダライタをRFID装置搭載機器にかざす時間が短時間で済む処理方法について、以下説明する。
図12は、本実施の形態に係るホスト20のデータをリーダライタへ送信するときの処理方法を示すシーケンス図である。以下、図12を用いて説明する。
まず、シーケンスSAで、ホスト20は、リーダライタ200に送信すべきデータを、接触通信モードのライトコマンドを用いて、RFID装置10のメモリ3に書き込む。
なお、ホスト20は、リーダライタ200に送信すべきデータを取得又は生成した時点で、メモリ3に書き込みを開始してもよく、又は、RFID装置10がリーダライタ200の接近を検知した時点でメモリ3への書き込みを開始してもよい。このとき、RFID装置10は、前述の磁界オンを判定する際に使用する磁界の強度の閾値よりも、より小さい閾値を用いて、リーダライタ200の接近を検知してもよい。正確な非接触通信を行うには磁界の強度が足りない距離にリーダライタ200がある時点でも、接触通信によるメモリ3への書き込みは可能なためである。
また、シーケンスSAは、複数の接触通信モードのライトコマンドのシーケンスSA1、・・・、シーケンスSAnで構成されている。これは、1回の接触通信モードのライトコマンドで書き込みできるデータサイズが、例えば256バイト等と限定されており、ホスト20のデータが、例えば4Kバイト等と、1回の接触通信モードのライトコマンドで書き込みできない場合、複数の接触通信モードのライトコマンドで、スタートアドレスの設定を変えながら、順次RFID装置10のメモリ3へ書き込み動作を行う様子を示している。1回の接触通信モードのライトコマンドで書き込みできる場合は、1回のシーケンスSA1のみで済ませてよい。
次に、シーケンスSBで、リーダライタ200はRFID装置10へ近づくと、非接触通信モードを指定したリードコマンドを用いて、RFID装置10が備えるメモリ3のデータを読み出す。シーケンスSBは、シーケンスSAと同様、複数の非接触通信モードのリードコマンドのシーケンスSB1、・・・、シーケンスSBnで構成されている。これも上記と同様、1回の非接触通信モードのリードコマンドで、ホスト20の全データを読み出せない場合、複数の非接触通信モードのリードコマンドで、アドレスのオフセットの設定を変えながら、順次読み出し動作を行う様子を示している。
なお、シーケンスSBで、リーダライタ200がどれだけのデータを読み出すかについては、例えば、RFID装置10がデータの先頭に、データサイズ情報を埋め込み、最初の非接触通信モードのリードコマンドであるシーケンスSB1で、リーダライタ200がそのデータサイズ情報を取得し、以降、その情報に基づいて、読み出し動作をする方法がある。また、データサイズ情報を埋め込まなくても、シーケンスSBで、RFID装置10のメモリ3の全てのデータを読み出すようにしてもよい。
次に、シーケンスSCで、リーダライタ200は、トンネルモードのライトコマンドで、シーケンスSBを実施した旨を、ホスト20へ通知する。1つの方法としては、図5A〜図5Cの非接触通信コマンドのデータ部Dataに、シーケンスSBで読み出しを行った内容、つまり、非接触通信モードのリードを示す情報、メモリ3のスタートアドレス、及びデータ長の情報を埋め込む方法がある。あるいは、シーケンスSCの後、ホスト20で実施する命令(次の新しいデータについてシーケンスSAを実行せよ等)をデータ部Dataに埋め込む方法もある。埋め込む内容は、リーダライタ200とホスト20間で適切に制御できるよう適宜内容を決めればよい。
ホスト20は、リーダライタ200がシーケンスSBで読み出した内容をシーケンスSCにおいて受け取ることで、外部のリーダライタ200がホスト20のデータを取得したことを知ることができる。そして、ホスト20は、シーケンスSCの後、次の新たなデータについて、リーダライタ200で読み出すことができるように、再度、シーケンスSAを行うことができる。
なお、リーダライタ200とRFID装置10との間の無線通信が非接触通信のような近距離通信である場合、シーケンスSBとシーケンスSCとを、1回の近距離接近の動作の中で行うとスムーズに機器制御を行うことができる。ここで、近距離接近の動作とは、ユーザによる、リーダライタ200とRFID装置10とを近距離通信可能な範囲まで接近させる動作をいう。
図12の動作シーケンスについて、RFID装置10とホスト20との間の接触インタフェースの通信速度が遅い場合の処理時間について説明する。例として、ホスト20からRFID装置10へ書き込まれるデータのサイズは4096バイト、RFID装置10とホスト20との間の接触インタフェースの通信速度は9600bps、リーダライタ200とRFID装置10の間の非接触通信インタフェースの通信速度は106kbpsとする。なお、非接触通信インタフェースの通信速度は、ISO/IEC14443(TypeA又はTypeB)の場合、106kbpsのサポートが必須で、その他、212kbps、424kbps、848kbpsまでオプションで選択可能である。
なお、下記処理時間の見積りにおいては、通信インタフェースのデータ送受信時間のみを考慮し、RFID装置10やホスト20自身が処理する時間は含まない。また、見積りを単純にするため、スタートオブフレーム(SOF)、エンドオブフレーム(EOF)、スタートビット、エンドビット、チェックコード等の付加データは無視する。さらに、シーケンスSA、シーケンスSBの通信時間の見積りでは、コマンドコード、スタートアドレス、データ長などのデータの通信時間も無視する。
まず、シーケンスSAでは、データサイズが4096バイトで、通信速度が9600bpsのため、シーケンスSAの通信時間は、4096バイト×8ビット/9600bps=3.4sになる。シーケンスSBでは、データサイズが同じく4096バイトで、通信速度が106kbpsのため、シーケンスSBの通信時間は、4096バイト×8ビット/106kbps=0.3sになる。
シーケンスSCでは、トンネルモードのライトコマンドに含まれるデータ部Dataにリードを示すコード1バイト、スタートアドレスの情報2バイト、データ長の情報2バイト、トータルで5バイトのデータを設定する。このときのコマンド長は、図5Bを参照して、データ部Dataが5バイトなので、合計10バイトになる。またレスポンスは2バイトである。よって、非接触通信インタフェースの処理時間は、12バイト×8ビット/106kbps=0.001sとなる。
また、図10Bを参照して、図10Bの(3)のデータ部は5バイトとすると、図10Bの(1)から(5)のトータルのデータサイズは、13バイトとなる。よって、トンネルモードのライトコマンド時のRFID装置10とホスト20間の接触インタフェースの通信時間は、13バイト×8ビット/9600bps=0.01sとなる。よって、非接触通信と接触通信の処理時間合わせて、0.011sとなる。
結果として、シーケンスSA、シーケンスSB、シーケンスSCの通信時間は、それぞれ、3.4s、0.3s、0.011sとなる。このうち、ホスト20からRFID装置10へのデータ送信(すなわちシーケンスSA)は、リーダライタ200がRFID装置10にかざされるよりも前に、事前に行うことが可能である。このとき、リーダライタ200をRFID装置10にかざす必要がある時間は、シーケンスSBとシーケンスSCのみであり、かざす時間は、0.3s+0.11s=0.311s〜約0.3sである。
本実施の形態に係るRFID装置10及びリーダライタ200は、図12に示すように、データサイズが大きいため、長い通信時間を必要とするホスト20からRFID装置10へのデータ送信を事前(リーダライタ200とRFID装置10との非接触通信の開始前)に行い、このデータをRFID装置10が備えるメモリ3に記憶させておく。リーダライタ200は、非接触通信モードを指定することで、メモリ3が記憶しているデータを読み出す。その後、データサイズが小さい、読み込み完了通知については、リーダライタ200はトンネルモードを指定することで、ホスト20へ直接データを送信する。
このように、ホスト20とリーダライタ200との間で転送されるデータサイズに応じて、非接触通信モード及びトンネルモードを選択して使用することにより、リーダライタ200とRFID装置10との非接触通信に必要な時間は約0.3s程度で済み、利用者が手でリーダライタ200をRFID装置10へかざす時間は短くて済む。また、従来はRFID装置10とリーダライタ200との通信時間がかかりすぎて送ることが困難であった大容量のデータを送ることも可能となる。また、利用者の利便性も向上する。
以上、RFID装置10からリーダライタ200へデータを送信する場合について、説明した。次に、リーダライタ200からRFID装置10へデータを送信する場合について説明する。
<<処理方法2>>
比較的容量の大きいデータを、リーダライタ200からホスト20に送信する場合、RFID装置10とホスト20間の接触インタフェースの通信速度が低い場合でも、リーダライタ200をRFID装置10にかざす時間が短時間で済む処理方法について、以下説明する。
図13は、本実施の形態に係るリーダライタ200からRFID装置搭載機器100が備えるホスト20へデータを送信するときの処理方法を示すシーケンス図である。以下、図13を用いて説明する。
まず、シーケンスSDにおいて、リーダライタ200はRFID装置10へ近づけられると、非接触通信モードを指定したライトコマンドを用いて、ホスト20に送信すべきデータをRFID装置10へ送信する。RFID装置10は、受信したデータをメモリ3へ記録する。シーケンスSDは、複数の非接触通信モードのライトコマンドのシーケンスSD1、・・・、シーケンスSDnで構成されている。これは、1回の非接触通信モードのライトコマンドで、ホスト20へ送信するデータを書き込めない場合、複数の非接触通信モードのライトコマンドで、アドレスのオフセットの設定を変えながら、順次書き込み動作を行う様子を示している。
次に、シーケンスSEで、リーダライタ200は、トンネルモードを設定したライトコマンドで、シーケンスSDの実施が完了した旨をホスト20へ通知する。1つの方法としては、図5A〜図5Cの非接触通信コマンドのデータ部Dataに、シーケンスSDで書き込みを行った内容、つまり、非接触通信モードによるライト結果を示す情報、メモリ3のスタートアドレス、及び、データ長の情報を埋め込む方法がある。あるいは、シーケンスSEの後、ホスト20で実施する命令(シーケンスSFを実行せよ等)をデータ部Dataに埋め込む方法もある。埋め込む内容は、リーダライタ200とホスト20間で適切に制御できるよう適宜内容を決めればよい。
ホスト20は、次のシーケンスSFで、シーケンスSEで通知された内容に基づき、接触通信モードを設定したリードコマンドを用いて、リーダライタ200からメモリ3のデータを読み出す。シーケンスSFは、複数の接触通信モードのリードコマンドのシーケンスSF1、・・・、シーケンスSFnで構成されている。これは、1回の接触通信モードのリードコマンドで、全データを読み出せない場合、複数の接触通信モードのリードコマンドで、アドレスのオフセットの設定を変えながら、順次読み出し動作を行う様子を示している。
次に、図13の動作シーケンスについて、RFID装置10とホスト20との間の接触インタフェースの通信速度が遅い場合の処理時間について説明する。例として、リーダライタ200からホスト20へ送信するデータのサイズは4096バイト、RFID装置10とホスト20との間の接触インタフェースの通信速度は9600bps、リーダライタ200とRFID装置10の間の非接触通信インタフェースの通信速度は106kbpsとする。なお、下記処理時間の見積りにおいては、通信インタフェースのデータ送受信時間のみの見積りであり、RFID装置10やホスト20自身が処理する時間は考慮しない。また、見積りを単純にするため、スタートオブフレーム(SOF)、エンドオブフレーム(EOF)、スタートビット、エンドビット、チェックコード等の付加データは無視する。さらに、シーケンスSD、及びシーケンスSFの通信時間の見積りでは、コマンドコード、スタートアドレス、データ長などのデータの通信時間も無視する。
まず、シーケンスSDでは、データサイズが4096バイトで、通信速度が106kbpsのため、シーケンスSDの通信時間は、4096バイト×8ビット/106kbps=0.3sになる。
シーケンスSEでは、トンネルモードのライトコマンドのデータ部Dataにライトを示すコード1バイト、スタートアドレスの情報2バイト、データ長の情報2バイト、トータルで5バイトのデータが設定される。このとき図5Bを参照して、コマンド長は、データ部Dataが5バイトなので、合計10バイトになる。またレスポンスは2バイトである。よって、非接触通信インタフェースの処理時間は、12バイト×8ビット/106kbps=0.001sとなる。
また、図10Bを参照して、図10Bの(3)のデータ部は5バイトとすると、図10Bの(1)から(5)のトータルのデータサイズは13バイトとなる。よって、トンネルモードのライトコマンド時のRFID装置10とホスト20間の接触インタフェースの通信時間は、13バイト×8ビット/9600bps=0.01sとなる。よって、非接触通信と接触通信の通信時間は、合わせて、0.011sとなる。
シーケンスSFでは、データサイズが4096バイトで、通信速度が9600bpsのため、シーケンスSFの通信時間は、4096バイト×8ビット/9600bps=3.4sになる。
結果として、シーケンスSD、シーケンスSE、シーケンスSFの通信時間は、それぞれ、0.3s、0.011s、3.4sとなる。このうち、ホスト20によるRFID装置10からのデータ読み込み(すなわち、シーケンスSF)は、リーダライタ200がRFID装置10から遠ざけられた後(すなわち、磁界オフ後)に行うことが可能である。このとき、リーダライタ200をRFID装置10にかざす必要がある時間は、シーケンスSDとシーケンスSEのみであり、かざす時間は、0.3s+0.11s=0.311s〜約0.3sで済む。
以上述べたように、本実施の形態に係るRFID装置10及びリーダライタ200は、図13に示すように、リーダライタ200からRFID装置10へ送信されたデータを、RFID装置10が備えるメモリ3に記録する。その後、データサイズが小さい書き込み完了通知については、リーダライタ200はトンネルモードを指定してホスト20へ直接データを送信する。書き込み完了通知を取得したホスト20は、接触通信によりメモリ3からデータを読み込む。
これにより、長い通信時間を必要とするホスト20によるRFID装置10からのデータ読み込みを、リーダライタ200とRFID装置10との非接触通信の通信状況とは独立したタイミングで行うことができる。その結果、リーダライタ200とRFID装置10との非接触通信に必要な時間は約0.3s程度で済み、利用者が手でリーダライタ200をRFID装置10へかざす時間は短くて済む。また、従来はRFID装置10とリーダライタ200との通信時間がかかりすぎて送ることが困難であった大容量のデータを送ることも可能となる。また、利用者の利便性も向上する。
さらにまた、ホスト20は、生成したログ等のデータをRFID装置10が備えるメモリ3へ出力することにより、出力後のある時点でホスト20の電源がオフになるか、又は故障した場合等でも、メモリ3へ出力されたログをリーダライタ200により非接触通信モードで読み出すことができる。すなわち、ホスト20が停止している場合でもリーダライタ200によりホスト20のデータを読み出すことができる。
以上、本実施の形態に係るRFID装置10及びリーダライタ200について説明した。
なお、本実施の形態において、非接触インタフェースの通信規格及びコマンド仕様は、前述したもの以外にも任意のものが使用できる。例えば、以下に説明するように、JISX6319−4に準拠しているものとしてもよい。ここで、以下の説明において、接触インタフェースの仕様は前述した仕様と同じである。また、RFID装置搭載機器100、RFID装置10、及びホスト20の構成は、図2から図4及び図6から図13を用いて上記で説明したものと同じである。
すなわち、図5A〜図5Cの非接触通信コマンドの仕様としてJISX6319−4に準拠しているコマンドを使用した場合における、非接触通信モード及びトンネルモードの制御方法等について以下に説明する。
図14Aはリードコマンドの仕様を示す。図14Bはブロックリストの符号化の仕様を示す。なお、ライトコマンドについては、説明を省略する。
図14Aのリードコマンドにおけるコマンドは、以下の構成となっている。コマンドコードは、リードを示す“06”であり、PICC識別子は、RFID装置10に対して1つずつに固有に付与された識別子であり、サービスファイル数は、次のサービスファイルリストに設定するサービスファイルの数であり、サービスファイルリストは、詳細説明は省略するが、サービスのタイプやサービス番号からなるサービスファイルのリストであり、ブロック数は、次のブロックリストに設定するブロックの数であり、ブロックリストは、メモリのアドレスに相当するブロック番号とブロックの属性からなるブロック情報のリストである。
また、図14Aのリードコマンドにおけるレスポンスは、以下の構成となっている。レスポンスコードは、リードのレスポンスでは“07”であり、PICC識別子はコマンドにおけるPICC識別子と同じRFID装置10の識別子であり、ステータスフラグ1及びステータスフラグ2は、成功又は失敗、及び失敗時のエラーコードを示す情報であり、ブロック数は読み出したブロックの数であって、コマンドのブロック数と同じ値であり、ブロックデータは、読み出しデータである。なお、JISX6319−4では、1ブロック=16バイトのデータである。
コマンドのブロックリストの指定では、ブロック番号情報のサイズが1バイトか2バイトかに応じて、1ブロックの指定サイズが2バイトか3バイトの2種類ある。図14Bにブロックリスト指定サイズが2バイトのときの仕様を示す。表において、バイトD0は、詳細説明は省略するが、ブロックの属性等の情報を示す。バイトD1はブロック番号情報である。
本実施の形態では、非接触通信モードのときは、バイトD1のビットb8が“0”に設定される。また、トンネルモードのときは、バイトD1のビットb8が“1”に設定される。残りのバイトD1のビットb7からビットb1は、ブロック番号の指定に使用される。このようにすることで、非接触インタフェースの規格がJISX6319−4の場合でも、非接触通信モードとトンネルモードを区別するためのコマンドを新たに設けずに対応することができる。つまり、既存のリーダライタを使用して、非接触通信モードとトンネルモードを選択し、制御することができる。
(実施の形態2)
実施の形態1で述べたRFID装置搭載機器100においては、コマンド処理部4が、コマンドで指示されるデータアクセスのアクセス先を特定するためのアドレス情報に基づいて、リーダライタ200とホスト20との間の通信で使用すべき通信モードを判定した。
この点は、本発明の実施の形態2に係るRFID装置搭載機器においても、共通する。しかし、本実施の形態に係るRFID装置搭載機器では、より詳細な通信モードを使用することができる。
具体的には、実施の形態1に係るRFID装置搭載機器は、通信モードとして、第1通信モードである非接触通信モードと、第2通信モードであるトンネルモードとのいずれかを使用できる。
一方、本実施の形態に係るRFID装置搭載機器は、第1通信モードと第2通信モードとに加え、第2通信モードを使用時におけるリーダライタへのアクセス制御を行うことができる。また、リーダライタとの通信データを必要に応じて暗号化することができる。
以下、より詳細に説明する。
図15は、本実施の形態において使用可能な、リーダライタとホストとの間で行われる通信モードの概要を示す。ここでは、本実施の形態に係るリーダライタ200Aを備える携帯電話と、本実施の形態に係るRFID装置10A及びホスト20Aを備える家電との通信について説明する。なお、家電は、RFID装置搭載機器の一例である。また、家庭用電化製品の略称として家電と表記する。携帯電話は、ネットワーク400を介して、サーバ500と接続される。ただし、ネットワーク400とサーバ500は必ずしも接続されなくてもよい。
図15に示されるように、携帯電話が備えるリーダライタ200Aがアドレス0x0000〜0x0FFFに含まれるいずれかのアドレスを指定して家電に対しデータアクセスをしたとする。この場合、実施の形態1で説明した非接触通信モードにより、家電と携帯電話との間でデータアクセスが行われる。
また、リーダライタ200Aがアドレス0x4000〜0x4FFFに含まれるいずれかのアドレスを指定して家電に対してデータアクセスをしたとする。この場合、実施の形態1で説明したトンネルモードにより、家電と携帯電話との間でデータアクセスが行われる。
ここで、後述するように、リーダライタ200Aがデータアクセス時に指定する0x4000等のアドレスは、通信モードを指定するためのアドレス情報である。したがって、メモリの物理アドレスと一致しなくてもよい。ここまでは、実施の形態1で述べた処理と同様の処理である。
しかし、本実施の形態に係るリーダライタ200A及びRFID装置10Aを使用したデータアクセス時においては、データの暗号化の有無を指定することができる。例えば、図15に示される様に、リーダライタ200Aが0x2000〜0x2FFFに含まれるいずれかのアドレスを指定して家電に対してデータアクセスをしたとする。この場合、暗号化された非接触通信モードとして、リーダライタ200AとRFID装置10Aとの間で行われるデータアクセスが暗号化される。
より具体的には、リーダライタ200Aがアドレスに0x2000を指定して家電に対しデータを書き込む場合、まず、暗号化されたデータが、メモリ3Aに書き込まれる。次に、RFID装置10Aがデータを復号する。その後、復号されたデータは接触通信モードによってホスト20Aに送信される。また、リーダライタ200Aがアドレスに0x2000を指定して家電からデータを読み込む場合、まず、RFID装置10Aは、メモリ3Aに記憶されている平文のデータを暗号化する。その後、リーダライタ200Aは、暗号化されたデータを取得する。
なお、RFID装置10Aは、ホスト20Aから読み込んだデータを事前に暗号化してメモリ3Aに記憶させておいてもよい。この場合は、リーダライタ200Aは、メモリ3Aに記憶されている事前に暗号化されたデータを取得する。
また、リーダライタ200Aが0x6000〜0x6FFFに含まれるいずれかのアドレスを指定して家電に対してデータアクセスをしたとする。この場合、暗号化されたトンネルモードとして、ホスト20Aとリーダライタ200Aとの間で行われるデータアクセスのうち、RFID装置10Aとリーダライタ200Aとの間のデータアクセスが暗号化される。
例えば、リーダライタ200Aがアドレスに0x6000を指定して家電に対してデータを書き込む場合を考える。このとき、リーダライタ200AからRFID装置10Aに書き込まれたデータは、RFID装置10Aにより逐次、復号される。その後、復号されたデータは、ホスト20Aへ逐次、送信される。また、リーダライタ200Aがアドレスに0x6000を指定して家電からデータを読み込む場合、まず、RFID装置10Aは、ホスト20Aから読み込んだデータを暗号化部において逐次、暗号化する。その後、暗号化されたデータは、リーダライタ200Aによって逐次、読み込まれる。リーダライタ200Aは、読み込んだ暗号化されたデータを、ネットワーク400を介してサーバ500へ転送する。リーダライタ200Aは、読み込んだ暗号化されたデータを復号する構成であってもよい。
以上の説明において、リーダライタ200Aがデータアクセスのアクセス先として指定するアドレスは、通信モードを指定するためのアドレス情報であって、メモリ3Aが実際に有する物理アドレスと一致する必要は無い。例えば、図15においては、メモリ3Aは、0x0000〜0x0FFFまでの領域しか記憶領域を有していない。この場合、リーダライタ200Aは、アドレス情報を、メモリ3Aの物理アドレス内に含まれる固定領域に対して書き込む。また、リーダライタ200Aは、当該固定領域からアドレス情報を読み込む。このように、リーダライタ200AとRFID装置10Aとは、常にメモリ3Aの固定領域に対してアドレス情報の読み書きを行う。その結果、通信モードを指定するためのアドレス情報と、メモリ3Aが実際に有する物理アドレスとを対応づけることができる。
図16は、メモリ3Aに記憶されているアドレス情報の具体例を示す。図16に示されるように、メモリ3Aには、0x0070を先頭アドレスとする一部の領域に、1番目のアドレス情報である第1アドレス情報と、2番目のアドレス情報である第2アドレス情報とが記憶されている。なお、アドレス情報の数は例示であり、3番目以降のアドレス情報がメモリ3Aに記憶されていてもよい。また、リーダライタ200A及びRFID装置10Aは、メモリ3Aの0x0070に対して、常にデータアクセスを行うものとする。
例えば、図16に示される第2アドレス情報には、アクセス先情報とフラグ情報とを含むアドレス情報が記憶されている。
ここで、アクセス先情報は、リーダライタ200Aから0x6000といったアドレスの形で指定された、データアクセスのアクセス先を示す情報である。したがって、アクセス先情報は、(1)データアクセスにトンネルモードと非接触通信モードのいずれを使用すべきか、(2)リーダライタ200AとRFID装置10Aとの間のデータアクセスに暗号を使用すべきか否かを示す。
一方、フラグ情報は、ホスト20Aの動作状態に基づいて、ホスト20A自身によって更新される。後述するように、フラグ情報は、ホスト20Aが、外部から自身へのアクセス可否を示す。例えば、図16に示される様に、8ビットのうち、最上位ビットであるbit7をReadフラグとして使用する。また、bit6をWriteフラグとして使用する。フラグの意味は任意に決定できるが、以後、フラグの値が「0」のときは対応するデータアクセスが「許可」され、フラグの値が「1」のときは対応するデータアクセスが「禁止」されるとする。なお、リーダライタ200Aがアドレス情報をメモリ3Aに最初に書き込む際には、フラグ情報として事前に定められたデフォルト値を記録してもよい。
なお、フラグ情報は、トンネルモードにおいてのみ意味を有する。したがって、リーダライタ200Aは、非接触通信モードによるデータアクセスを希望する場合には、フラグ情報を含まない2バイトの情報として、アドレス情報を生成してもよい。図16に示される第1アドレス情報は、このようにして生成された2バイトのアドレス情報の例である。
また、リーダライタ200Aは、非接触通信モードによるデータアクセスを希望する場合には、3バイト目のフラグ情報にNULL等の値を記録したアドレス情報を生成してもよい。
また、アドレス情報は、リーダライタ200Aが家電から読み込み、又は、家電に対して書き込むべきデータのサイズを示す情報を含んでいてもよい。さらに、アドレス情報は、家電の種類を示すフラグを含んでもよい。家電の種類とは、例えば、冷蔵庫、洗濯機、電子レンジ等である。
次に、図17〜図19を参照して、本実施の形態に係るリーダライタ及びRFID装置搭載機器の構成について説明する。
図17は、本実施の形態に係るリーダライタ200A及びRFID装置搭載機器100Aを含むRFIDシステム300Aの機能ブロックを示す。リーダライタ200A及びRFID装置搭載機器100Aは、それぞれ、アンテナANT2及びアンテナANT1により、非接触通信を行う。またRFID装置搭載機器100Aは、RFID装置10Aとホスト20Aとを備える。RFID装置10Aとホスト20Aとは、接触通信を行う。
なお、リーダライタ200AとRFID装置搭載機器100Aとの間で行われる非接触通信、及び、RFID装置10Aとホスト20Aとの間で行われる接触通信の詳細については、実施の形態1と同様である。
図18は、本実施の形態に係るRFID装置10Aの機能ブロックを示す。なお、図3と同様の説明は省略する。
図18に示されるように、RFID装置10Aは、非接触IF1と、接触IF2と、メモリ3Aと、コマンド処理部4Aとを備える。
メモリ3Aは、リーダライタ200AとRFID装置搭載機器100Aとの通信において、データを一時的に記憶する。また、メモリ3Aは、リーダライタ200AとRFID装置搭載機器100Aとの間の通信モードの判断及びホスト20Aへのアクセス可否の判断を行うためのアドレス情報を記憶する。なお、メモリ3Aは、通常は、不揮発性メモリであるが、揮発性メモリを用いてもよい。
コマンド処理部4Aは、大きく分けて、非接触通信モード、接触通信モード、及び、トンネルモードの3つの動作モードを有する。また、非接触通信モード及びトンネルモードにおいては、リーダライタ200AとRFID装置10Aとの間のデータアクセスを暗号化する暗号化モードと、平文のままデータアクセスを行う平文モードとを有する。
具体的には、コマンド処理部4Aは、リーダライタ200Aから、RFID装置搭載機器100Aへのデータアクセスを指示するためのコマンドを取得し、処理する。また、取得したコマンドに含まれているアドレス情報を、メモリ3Aの事前に定められた領域に記録する。ここで、前述したように、メモリ3Aに記録されたアドレス情報は、ホスト20Aに対する外部からのデータアクセスの許可又は禁止を示す情報であるフラグ情報を含んでいる。
コマンド処理部4Aは、データアクセスをホスト20Aに対して行う前に、フラグ情報をリーダライタ200Aへ送信する。これにより、リーダライタ200Aは、トンネルモードによってホスト20Aに対してデータアクセスしてもよいか否かを判断することができる。なお、コマンド処理部4Aは、アドレス情報に含まれるフラグ情報を参照して、自身でホスト20へのアクセスの可否を判定してもよい。
また、アドレス情報は、さらに、リーダライタ200AとRFID装置10Aとの間のデータアクセスに暗号を使用すべきか否かを示すアクセス先情報を含んでもよい。この場合、コマンド処理部4Aは、データアクセスに暗号を使用すべきことを示すアクセス先情報を含むコマンドをリーダライタ200Aから取得した場合には、リーダライタ200AとRFID装置10Aとの間の非接触通信において送信すべきデータを暗号化する。また、コマンド処理部4Aは、リーダライタ200AとRFID装置10Aとの間の非接触通信において受信したデータを復号する。
なお、コマンド処理部4のより詳細な処理の流れについては、後述する。
図19は、本実施の形態に係るリーダライタ200Aの機能ブロックを示す。なお、実施の形態1に係るリーダライタ200の機能ブロックは、リーダライタ200Aと同様の構成を有してもよい。
図19に示されるように、リーダライタ200Aは、表示部222と、制御部224と、通信部226と、アンテナANT2とを備える。
表示部222は、例えば、リーダライタ200Aに接続された表示画面に対して、RFID装置搭載機器100Aから取得した情報を表示させる。RFID装置搭載機器100Aから取得した情報とは、具体的には、リーダライタ200AからRFID装置搭載機器100Aへ送信したコマンドに対する応答に対応する情報である。
より具体的には、RFID装置搭載機器100Aが家電の場合には、表示部222は、当該家電の設定情報等を示す情報を取得し、表示する。また、表示部222は、例えば、メニュー形式又はGUI(Graphical User Interface)形式の操作用画像を、携帯電話の表示画面等の表示装置に表示させることにより、ユーザからの操作指示を取得してもよい。
制御部224は、通信部226を介してRFID装置搭載機器100Aに送信するためのコマンドを生成する。生成するコマンドの内容は、事前に定められていてもよい。また、表示部222から取得したユーザからの操作指示に対応するコマンドを生成してもよい。
より具体的には、制御部224は、非接触通信モードと、トンネルモードとの、いずれかの通信モードを指定するためのアドレス情報を含むコマンドを生成する。また、制御部224は、さらに、リーダライタ200AとRFID装置10Aとの間のデータアクセスに暗号を使用すべきか否かを示すアクセス先情報を含むアドレス情報を生成してもよい。
また、制御部224は、ホスト20Aに対するデータアクセスを指示するためのアドレス情報を含むコマンドをRFID装置搭載機器100Aに送信する前に、以下の判定を行う。言い換えれば、トンネルモードによるデータアクセスを指示するためのコマンドをRFID装置搭載機器100Aに送信する前に、以下の判定を行う。
まず、制御部224は、ホスト20Aに対する外部からのデータアクセスの許可又は禁止を示す情報であるフラグ情報をRFID装置10Aが備えるメモリ3Aから取得する。その結果、RFID装置10Aへ送信予定であるコマンドに指定されているデータアクセスが許可されている場合にのみ、当該コマンドをRFID装置10Aに送信する。
例えば、制御部224は、RFID装置10Aに対してトンネルモードによるデータの読み込みを指定したコマンドを送信する前に、RFID装置10Aが備えるメモリ3AからReadフラグの値を読み込む。また、RFID装置10Aに対してトンネルモードによるデータの書き込みを指定したコマンドを送信する前に、RFID装置10Aが備えるメモリ3AからWriteフラグの値を読み込む。制御部224は、それぞれのフラグの値を読み込んだ結果、ホスト20Aに対する読み込み又は書き込みが許可されている場合に限り、実際に、通信部226を介してコマンドを送信する。
通信部226は、制御部224の指示により、アンテナANT2からRFID装置10Aへコマンドを非接触通信により送信する。また、送信したコマンドに対応する応答を、RFID装置10Aから非接触通信により受信する。
次に、図20及び図21を参照して、ホスト20Aへのアクセスの可否を示す情報であるフラグ情報について、詳細に説明する。フラグ情報は、具体的にはトンネルモードにおいて、リーダライタ200Aがホスト20Aへアクセスしてもよいか判断する際に、リーダライタ200Aにより参照される。
図20は、フラグ情報に含まれるReadフラグとWriteフラグとの組み合わせを示す。なお、両フラグとも、0の場合は、ホスト20へのアクセスが許可されていることを示す。また、1の場合は、ホスト20へのアクセスが禁止されていることを示す。
図20に示される様に、Readフラグ及びWriteフラグのそれぞれについて、0の場合と1の場合とが考えられる。したがって、両フラグの組み合わせは合計4通りとなる。
ただし、図20に示される4番目の組み合わせのように、Readフラグが1となり、Writeフラグが0となる組み合わせは、実際には使用されない。データの書き込みを許可しながら読み込みを禁止することは、通常想定されないためである。
図21は、家電であるRFID装置搭載機器100Aの種別、及び、家電の状態の組み合わせに基づいて、ホスト20Aが設定するフラグ情報の一例を示す。
例えば、家電の電源がOFFであれば、家電の種別を問わずに、ホスト20Aは、Read許可かつWrite許可となるようにフラグ情報を設定する。電源がOFFであれば、リーダライタ200Aからのデータアクセスを制限する理由は特に想定されないためである。したがって、ユーザは、例えば、リーダライタ200Aを備える携帯電話等で家電にタッチすることにより、当該家電の設定を変更できる。例えば、洗濯乾燥機や炊飯器に対して次回の選択予約を設定することができる。また、電子レンジに新たなレシピを追加することができる。また、冷蔵庫の設定温度を変更することができる。
また、家電の電源がON(待機時)である場合は、ホスト20Aは、基本的には電源OFF状態と同様のフラグ情報を設定することが考えられる。ただし、冷蔵庫に関しては、電源がONであれば常に運転中と考えられるため、図21ではフラグ情報を設定していない。
また、家電の電源がON(運転中)である場合は、ホスト20Aは、洗濯乾燥機に、Read許可かつWrite禁止のフラグ情報を設定することが考えられる。洗濯乾燥機では、運転中に設定を変更することができないが、残りの洗濯/乾燥時間等を読み出すことはできるためである。
同様に、家電の電源がON(運転中)である場合は、ホスト20Aは、電子レンジ及び炊飯器に、Read禁止及びWrite禁止のフラグ情報を設定することが考えられる。電子レンジの運転中には強い電磁波が出力されており、また、炊飯器の運転中には水蒸気等が放出される可能性がある。したがって、リーダライタ200Aを運転状態であるこれらの家電に近づけると、リーダライタ200Aの誤作動等の原因となりうる。本実施の形態に係るホスト20Aは、リーダライタ200Aからの一切のアクセスを禁止することで、こうした誤作動等の防止を図る。
さらに、家電の電源がON(運転中)である場合は、ホスト20Aは、冷蔵庫に、Read許可かつWrite許可のフラグ情報を設定することが考えられる。冷蔵庫では、運転中に設定を変更することも、設定を読み出すことも、特に支障が生じないと考えられるためである。
次に、図22を参照して、リーダライタ200AがRFID装置搭載機器100Aへトンネルモードによりデータアクセスをしようとする際の処理について説明する。
図22は、携帯電話が備えるリーダライタ200Aが、家電が備えるRFID装置搭載機器100Aへトンネルモードによるデータアクセスのためのコマンドを送信する際に行う処理の流れを示す。
リーダライタ200Aは、RFID装置搭載機器100Aへトンネルモードを指定してコマンドを送信する前に、まず、RFID装置搭載機器100Aからフラグ情報を取得する(S110)。具体的には、リーダライタ200Aが備える制御部224は、メモリ3Aの事前に定められた領域から、アドレス情報を取得する。さらに、制御部224は、アドレス情報に含まれるフラグ情報を取得し、Readフラグ及びWriteフラグの値を判定する。
判定の結果、フラグ情報がRead禁止かつWrite許可を示す場合には(S112でYes)、規定外のフラグとして、表示部222は、携帯電話の表示画面にメッセージを表示させる(S128)。メッセージの内容としては、例えば、RFID装置10Aが故障している可能性を示す情報等が考えられる。
また、判定の結果、フラグ情報がRead禁止かつWrite禁止を示す場合には(S112でNo、かつS114でYes)、制御部224は、ホスト20Aに対して一切のアクセスが禁止されていると判断する。したがって、表示部222は、携帯電話の表示画面に、対象とする家電が動作中であるためアクセスができないことを示す情報等を表示させる(S126)。
また、判定の結果、フラグ情報がRead許可かつWrite禁止を示す場合には(S114でNo、かつS116でYes)、制御部224は、ホスト20Aからの読み込みのみが可能であると判断する。したがって、制御部224は、必要に応じてトンネルモードでホスト20Aからデータの読み込みを行う(S122)。また、ユーザからデータの書き込みを指示されていた場合には、表示部222は、携帯電話の表示画面に、対象とする家電が動作中であるためアクセスができないことを示す情報等を表示させる(S124)。
また、判定の結果、フラグ情報がRead許可かつWrite許可を示す場合には(S116でNo)、制御部224は、ホスト20Aからの読み込み、及びホスト20への書き込みが可能であると判断する。したがって、制御部224は、トンネルモードでホスト20Aにデータを書き込む(S118)。さらに、制御部224は、必要に応じてホスト20Aからデータを読み出す(S120)。
図23は、リーダライタ200A及びRFID装置搭載機器100Aのトンネルモードにおける動作シーケンスを示す。
リーダライタ200AがRFID装置搭載機器100Aに対してトンネルモードを指定してコマンドを送信すると(S148)、コマンドを受信したRFID装置10Aはホスト20Aに割り込み信号(IRQ)を通知する(S150)。
ホスト20Aは、割り込み信号を受信すると、RFID装置10Aに対して電力(VDD2)を供給する(S152)。
すなわち、コマンド処理部4Aは、通信モードが第2通信モードであると判定した場合には、判定結果を、接触インタフェース2を介してホスト20Aに通知する。当該通知を取得したホスト20Aは、RFID装置10Aへ駆動電力(VDD2)を供給する。
続けて、ホスト20Aは、RFID装置10Aに対して、用件を問い合わせるためのQueryコマンドを送信する(S154)。
Queryコマンドを受信したRFID装置10Aは、リーダライタ200Aから受信した用件を伝えるためのQueryレスポンスをホスト20Aへ送信する(S156)。
次に、ホスト20Aは、Queryレスポンスとして受信した用件に対する回答を伝えるためのAnswerコマンドをRFID装置10Aへ送信する(S158)。
Answerコマンドを受信したRFID装置10Aは、受信確認の応答としてAnswerレスポンスをホスト20Aへ送信する(S160)。
最後に、RFID装置10Aは、ホスト20AからAnswerコマンドによって取得した回答を、トンネルモードレスポンスとしてリーダライタ200Aに送信する(S162)。
なお、ステップS162においてトンネルモードレスポンスを取得したリーダライタ200Aは、取得したトンネルモードレスポンスに応じたメッセージを、例えば携帯電話が備える表示画面へ表示させてもよい。
図24は、トンネルモードレスポンスに応じてリーダライタ200Aが表示画面へ表示させるメッセージの一例を示す。
リーダライタ200Aは、取得したトンネルモードレスポンスがステップS148において送信したコマンドに対する正常な応答である場合には、メッセージは表示しない。
一方、リーダライタ200Aは、事前に定められた時間以上経過してもRFID装置10Aから応答を示すトンネルモードレスポンスが得られない場合は、電源を入れてもう一度操作することを促す内容のメッセージを表示させてもよい。RFID装置搭載機器100Aから応答が得られない原因として、(i)家電の電源が入っていない、又は(ii)家電が故障している、等の原因が考えられるためである。
また、リーダライタ200Aは、RFID装置搭載機器100Aからエラー情報を含むトンネルモードレスポンスを受信した場合には、エラーが発生したことを示す内容のメッセージを表示させてもよい。なお、エラー情報を受信する原因としては、(iii)家電の運転状態が変化し、当初は許可されていたRead又はWriteフラグが禁止状態となった、(iv)不正なフォーマットのコマンドを受け取った、等が考えられる。
次に、図25及び図26を参照して、リーダライタ200Aが行う読み込み、及び書き込み処理について、より詳細に説明する。
図25は、リーダライタ200Aがホストからのデータの読み込みを行う処理の流れを示す。具体的には、図22のステップS120又はステップS122の詳細な内容を示す。
リーダライタ200Aは、フラグ情報を確認して、Readフラグが0であれば、トンネルモードでホスト20Aからデータの読み込みを行うためのコマンドであるReadコマンドをRFID装置搭載機器100Aに送信する(S180)。
その後、ホスト20Aからの応答を受信しなければ(S182でYes)、リーダライタ200Aが備える表示部222は、例えば携帯電話の表示画面に、家電の電源を入れてやり直す旨を指示するメッセージを表示させる(S190)。
一方、ホスト20Aからの応答があれば(S182でNo)、制御部224は、応答の内容を判定する。判定の結果、ホスト20Aからの応答が、エラー情報を含むエラー応答であれば(S184でYes)、表示部222は、携帯電話の表示画面に、読み出しエラーが発生した旨のメッセージを表示させる(S188)。
また、判定の結果、ホスト20Aからの応答が正常な応答であれば(S184でNo)、制御部224は、ホスト20Aからの読み出し処理を行う(S186)。
次に、図26は、リーダライタ200Aがホストへデータの書き込みを行う処理の流れを示す。具体的には、図22のステップS118の詳細な内容を示す。
リーダライタ200Aは、フラグ情報を確認して、Writeフラグが0であれば、トンネルモードでホスト20にデータの書き込みを行うためのコマンドであるWriteコマンドを送信する(S210)。
その後、ホスト20Aからの応答を受信しなければ(S212でYes)、リーダライタ200Aが備える表示部222は、例えば携帯電話の表示画面に、家電の電源を入れてやり直す旨を指示するメッセージを表示させる(S220)。
一方、ホスト20Aからの応答があれば(S212でNo)、制御部224は、応答の内容を判定する。判定の結果、ホスト20Aからの応答が、エラー情報を含むエラー応答であれば(S214でYes)、表示部222は、携帯電話の表示画面に、書き込みエラーが発生した旨のメッセージを表示させる(S218)。
また、判定の結果、ホスト20Aからの応答が正常な応答であれば(S214でNo)、制御部224は、ホスト20Aに対して書き込み処理を行う(S216)。
図27は、リーダライタ200Aを備える携帯電話が有する表示画面の一例を示す。冷蔵庫から携帯電話へデータの読み出しが進行している様子を示す画像が、表示部222によって携帯電話の表示画面に表示されている。
ここで、表示部222は、アドレス情報に含まれるホスト20Aの種別を参照して、表示画面に表示させる家電の画像を変更してもよい。例えば、アドレス情報に、ホスト20Aの種別として洗濯乾燥機を示す情報が含まれている場合には、冷蔵庫の画像350の代わりに洗濯乾燥機の画像を表示画面へ表示させてもよい。
また、前述したように、アドレス情報に転送すべきデータのデータサイズが含まれている場合には、表示部222は、転送すべきデータサイズに対する、既に転送したデータサイズの割合を進捗度として算出することができる。この場合、表示部222は、算出された進捗度を、例えばプログレスバー352として表示させてもよい。
以上述べたように、本実施の形態に係るRFID装置搭載機器100A及びリーダライタ200Aによれば、トンネルモードによる通信時において、リーダライタ200AとRFID装置搭載機器100Aとの間の通信を必要に応じて暗号化することができる。
さらに、ホスト20Aは、リーダライタ200Aからのアクセス制御を行うことができる。その結果、リーダライタ200Aがホスト20Aにアクセスすることが好ましくない場合には、ホスト20AはRead/Writeの不許可を指定することができる。
なお、RFID装置搭載機器100A及びリーダライタ200Aは、暗号化/平文の選択、及び、ホスト20Aへのアクセス制御の、いずれか一方の機能のみを有してもよい。
なお、以上述べた実施の形態1及び2においては、非接触通信コマンドのアドレスに相当するパラメータの1ビットを用いて、非接触通信モードとトンネルモードとを切り換えるようにしているが、複数のビットを用いて制御するようにしてよい。例えば、上位2ビットで、“00”、“10”、“01”が非接触通信モード、“11”がトンネルモードとメモリ空間を適宜異なるサイズで設定してもよい。
さらに、非接触通信モードとトンネルモードを識別するパラメータは、実施の形態1及び2で述べたパラメータ以外のものを用いてもよい。例えば、ISO/IEC7816では、ファイル識別子、JISX6319−4では、サービス番号などが挙げられる。
実施の形態1では、非接触インタフェースがISO/IEC14443かつコマンド仕様がISO/IEC7816−4の場合、並びに、非接触インタフェース及びコマンド仕様がJISX6319−4の場合の2通りのケースを示した。しかし、非接触インタフェースの仕様及びコマンド仕様は、これに限られない。例えば、RFID装置10の非接触IF1は、両方の通信規格の機能を搭載し、広範囲の非接触通信規格に対応できるようにしてもよい。このとき、コマンド処理部4で適宜コマンド変換を行い、トンネルモードとして処理すべきコマンドの仕様を、非接触インタフェース側の通信規格に関わらず、図10A及び図10Bのように1種類となるように設定してもよい。これにより、ホスト20は、非接触通信規格の違いを区別すること無く、1種類の方式に従って動作すればよいので、ホスト20に搭載するソフトウェアを簡素化できる効果がある。
なお、接触インタフェースについては、実施の形態1及び2においてUARTを用いているが、SPIやI2Cなど、別のシリアルインタフェースを用いてもよい。すなわち、特に接触インタフェースの種類には限定されずに、本発明は適用可能である。
また、上記説明では、電源電圧VDDはホストから印可するようにしているが、ホストからではなく、電源回路から直接印可するようにしてもよい。
なお、上記実施の形態1に係るリーダライタ200は、図12及び図13で示されるように、RFID装置10からのデータアクセス(すなわち、RFID装置10へのデータ送信又はRFID装置10からのデータ受信)が完了した後に、トンネルモードを指定してホスト20へその旨を伝える。ここで、例えば図12のシーケンスSC又は図13のシーケンスSEにおいてホスト20の電源がOFFになっていた場合、リーダライタ200は、次のデータアクセスの際に、最初に、シーケンスSC及びシーケンスSEを再実行してもよい。これにより、ホスト20の電源が停止している場合であっても、リーダライタ200はRFID装置搭載機器100との通信を仲介することができる。
なお、上記実施の形態1及び2において、フラグ情報に含まれるReadフラグ及びWriteフラグの状態として、禁止と許可との2種類を例に挙げた。しかし、他の状態を示すフラグを設定してもよい。例えば、停止フラグを設定してもよい。前述のように、動作中の家電にリーダライタを近づけることは、機器の誤動作等を招くおそれがある。この場合、リーダライタは、フラグ情報として停止フラグが設定されている場合であって、RFID装置搭載機器から一定距離以内に近づいた場合には、家電へ動作を停止することを指示する停止コマンドを送信してもよい。また、停止コマンドを受信したRFID装置搭載機器は直ちに動作を停止し、待機状態となってもよい。
次に、本発明に係るRFID装置搭載機器において、特に、ホストの動作状態に応じて外部からのデータアクセスの可否を制御する構成について、より詳細に説明する。
図28は、本発明の関連技術に係るRFID装置搭載機器100Bを含む無線通信システムの全体構成を示す図である。
図28に示す無線通信システムは、電子タグリーダ・ライタであるリーダライタ51と、RFID装置搭載機器100Bとを備える。RFID装置搭載機器100Bは、電子タグを有するRFID装置52と、ホスト53とを備える。なお、RFID装置を、RFID部と呼んでもよい。また、ホストをホスト部と呼んでもよい。
リーダライタ51とRFID装置52とは、無線通信によって通信される。例えば、リーダライタ51は携帯機器であり、非接触通信によってRFID装置52の情報を読み込んだり書き込んだりする。
RFID装置52とホスト53とは、有線通信によって接続される。例えば、ホスト53本体やそのリモコン装置、AC電源アダプタ等にRFID装置52を内蔵する形態でも構わない。
リーダライタ51は、無線通信部511、リーダ部512、ライタ部513、制御部514、操作部515、及び報知部516を備える。
無線通信部511は、RFID装置52と無線通信する。無線通信部511は、例えば、電子タグを含む無線通信モジュールである。
リーダ部512は、無線通信部511を介して、RFID装置52の記憶部523に書き込まれた情報を読み取る。
ライタ部513は、無線通信部511を介して、RFID装置52の記憶部523に所望の情報を書き込む。
制御部514は、上記の無線通信部511、リーダ部512、及びライタ部513を制御して、RFID装置52へのリーダ制御、及びライタ制御をそれぞれ行う。
操作部515は、上記リーダ制御において、使用者がRFID装置52から読み取りたい情報を指定するために使用されるユーザインタフェースである。操作部515は、また、使用者が、上記ライタ制御において、RFID装置52に書き込みたい情報を入力するためにも使用される。
報知部516は、上記リーダ制御において、RFID装置52から読み取った情報を表示する。また、報知部516は、上記ライタ制御において使用者が入力した情報を、使用者に対して表示する。
なお、無線通信部511と、リーダ部512と、ライタ部513とを1つのモジュールで構成してもよい。また、操作部515と報知部516とをタッチパネル等、1つのモジュールで構成してもよい。
以上述べた構成によって、リーダライタ51はRFID装置52と無線通信を行い、RFID装置52の記憶部523に書き込まれた情報を読み取る。また、RFID装置52の記憶部523に所望の情報を書き込む。そして、リーダライタ51は、後述するように、RFID装置52と有線接続されたホスト53とを制御する。
RFID装置52は、無線通信部521、有線通信部522、記憶部523、RFID装置制御部524、及び報知部525を備える。
無線通信部521は、リーダライタ51と無線通信する。無線通信部521は、例えば、無線通信モジュールである。
有線通信部522は、ホスト53と有線通信する。有線通信部522は、例えば、有線通信モジュールである。
記憶部523は、RFID装置52に記憶すべき情報を記憶する。リーダライタ51は、無線通信部521を通じて、記憶部523に対して読み書き処理を行う。また、ホスト53は、有線通信部522を通じて、記憶部523に対して読み書き処理を行う。
RFID装置制御部524は、上記の無線通信部521、有線通信部522、及び記憶部523を制御して、記憶部523に対する読み書きの制御を行う。また、その他RFID装置52が行うべき処理を制御する。
報知部525は、上記RFID装置52が、記憶部523から読み込んだ情報を表示する。また、記憶部523に書き込まれた情報を表示する。
なお、無線通信部521と、有線通信部522と、記憶部523と、RFID装置制御部524とを1つのモジュールで構成してもよい。また、報知部525はRFID装置52に必須ではない。したがって、RFID装置52は、報知部525を設けない構成でもよい。
なお、以後の図面に示される機能ブロックおいて、例えば、報知部525のように破線で示されるブロックは、いずれも必須の構成要素ではないことを示す。
以上によって、RFID装置52はリーダライタ51、及びホスト53との通信を介して、自身が備える記憶部523への情報の書き込み及び読み出しを行う。そして、後述するように、リーダライタ51は、RFID装置52の記憶部523に情報を書き込むことによってホスト53を制御する。
ホスト53は、第1情報取得部531、第2情報書込部532、ホスト制御部533、及び報知部534を備える。
第1情報取得部531は、RFID装置52と有線通信して、RFID装置52の記憶部523に書き込まれた情報を取得する。本願では便宜上、ホスト53が、RFID装置52の記憶部523から取得する情報を第1の情報(または、第1情報)と呼ぶことにする。
第1の情報として、ホスト53の初期設定情報や制御情報がある。また、第1の情報は、ホスト53のエラー状態情報などエラー状態情報を取得するための信号である、エラー状態情報要求信号であってもよい。
第2情報書込部532は、RFID装置52と有線通信して、RFID装置52の記憶部523に情報を書き込む。本願では便宜上、ホスト53からRFID装置52の記憶部523に書き込む情報を第2の情報(または、第2情報)と呼ぶことにする。
第2の情報には第1の情報に基づいて行った制御の結果を示す情報や、第1の情報で要求した処理の応答を示す情報が含まれる。また、第1の情報とは関係なしに、電気機器の使用履歴など、一定の間隔の中でリーダライタ51に送信される情報も含まれる。
ホスト制御部533は、上記の第1情報取得部531、及び第2情報書込部532制御して、ホスト53とRFID装置52との間で、情報の取得、及び情報の書き込みを行う。もちろん、ホスト制御部533は、ホスト53が有する他の機能の制御を兼ねて行ってもよい。
報知部534は、上記ホスト53の制御において、記憶部523から読み込んだ情報をホスト53の使用者に表示する。また、報知部534は、記憶部523に書き込んだ情報をホスト53の使用者に表示する。
なお、報知部534はホスト53に必須ではない。したがって、ホスト53は、報知部534を設けない構成でもよい。
なお、第1情報取得部531と、第2情報書込部532と、ホスト制御部533とを1つのモジュールで構成してもよい。
以上の構成によって、ホスト53はRFID装置52と通信を行うことにより、RFID装置52の記憶部523に書き込まれた情報の取得と書き込みとを行う。
なお、後述するように、RFID装置52の記憶部523から取得する情報(第1情報)は、ホスト53の制御情報を含む。また、RFID装置52の記憶部523に書き込む情報(第2情報)は、ホスト53の状態情報を含む。
上記で説明した、リーダライタ51と、RFID装置52と、ホスト53との動作例について、図29のフローチャートで説明する。
まずステップS501にて、リーダライタ51の無線通信部511とRFID装置52の無線通信部521との間で通信が可能な状態となった後、リーダライタ51のライタ部513からRFID装置52の記憶部523に第1の情報が書き込まれる。なお、第1の情報の内容は、例えば、リーダライタ51の使用者が操作部515を操作することにより決定される。
続いて、ホスト53の第1情報取得部531はRFID装置52の有線通信部522を介して、RFID装置52の記憶部523に新たな第1の情報が書き込まれているか否かを確認するための、情報要求信号をRFID装置52に送信する。ホスト53は、情報要求信号を定期的にRFID装置52へ送信する。
ここで、新たな第1の情報が書き込まれていれば、第1情報取得部531はこれを取得する(ステップS502)。なお、ホスト53は、定期的に情報要求信号を送信する代わりに、特定のイベントが起こった際に、RFID装置52に情報要求信号を送信して、新たな第1情報の確認の通信を行ってもよい。
第1情報取得部531が新たに取得した第1情報には、ホスト53の制御情報が含まれている。ホスト制御部533はこの制御情報に従ってホスト53の制御を行う(ステップS503)。
ステップS504では、第2情報書込部532はRFID装置52の有線通信部522を介して、RFID装置52の記憶部523に新たな第2の情報を書き込む。第2の情報は、ステップS503で行った機器制御の結果である、ホスト53の状態情報を含む。これはステップS502の第1の情報に対する応答情報でもある。
そして、ステップS505にて、リーダライタ51の無線通信部511とRFID装置52の無線通信部521との間で通信が可能な状態となった後、リーダライタ51のリーダ部512は、RFID装置52の記憶部523に新たな第2の情報が書き込まれているか否かを確認する。その結果、新たな第2の情報が書き込まれていれば、リーダ部512はこれを読み込む。
ステップS506にて、取得した第2の情報に含まれる機器の状態情報を報知部525は表示する。これによって、リーダライタ51の使用者は、報知部525に表示されるホスト53の状態情報を見て、操作部515を操作した内容の応答状態を知ることができる。
また、ステップS507では、ホスト53は、ステップS503で行った機器制御による制御の結果をホスト53の報知部534にて報知する。
以上のように、本発明の関連技術に係るRFID装置搭載機器100Bによると、RFID装置52が接続されたホスト53に第1の情報を送信して制御するときはリーダライタ51からRFID装置52に第1の情報を書き込む。また、リーダライタ51が、ホスト53の情報である第2の情報を取得するときはRFID装置52から第2の情報を読み込む。したがって、ホスト53にRFIDリーダ装置を取り付けるよりも、安価、省スペースで、かつ双方向通信が可能な無線通信システムが実現できる。
なお、上記の図29では、リーダライタ51からRFID装置52を介してホスト53を制御するステップS501〜S503と、RFID装置52を介してホスト53の状態情報をリーダライタ51で報知するステップS504〜S506とを一連の流れとして説明した。
ここで、リーダライタ51からRFID装置52を介してホスト53を制御するための方法は、ステップS504〜S506なしに、ステップS501〜S503とステップS507のみを含んでもよい。
また、RFID装置52を介してホスト53の状態情報をリーダライタ51で報知するだけであれば、ステップS504〜S506のみを含んでもよい。
なお、第1の情報はホスト53の制御信号に限らない。例えば、ホスト53の現在の運転状態の情報を要求する要求信号であってもよい。
上記関連技術において、リーダライタ51は第1の情報をRFID装置52に書き込む(図29のステップS501)。その後、ホスト53は第1の情報を取得する(ステップS502)。次に、その応答情報を含んだ第2の情報がホスト53からRFID装置52に書き込まれる(ステップS504)。その後、リーダライタ51は第2の情報を読み込む(ステップS505)。
一方、ホスト53は、RFID装置52にいつ第1の情報が書き込まれるのか把握できない。したがって、RFID装置搭載機器100Bは、ステップS502において、ホスト53とRFID装置52との間で定期的に新たな第1の情報の有無を確認するための情報要求の通信を行っている。この点を考慮した別の関連技術を、以下に示す。
図30は、本発明の関連技術に係るRFID装置搭載機器100Cを備える無線通信システムの全体構成を示す図である。図28と同じ部分については、詳細説明を省く。
図30に示されるように、RFID装置52Cは通知信号発信部526を備える。また、ホスト53Cは通知信号受信部535を備える。
通知信号発信部526は、RFID装置52Cの記憶部523に第1の情報が書き込まれたことを検知して、ホスト53Cへ通知信号情報(割り込み信号)を発信する。通知信号情報は、具体的には、ホスト53Cが備えるCPUへの割り込み信号である。すなわち、通知信号情報は、図23に示されるIRQ通知に相当する。
通知信号受信部535は、RFID装置52Cから発信された通知信号情報を受信して、第1情報取得部531を起動する。
動作例について、図31のフローチャートで説明する。
図31において、ステップS501は図29に示される関連技術と同じである。つまり、まず、リーダライタ51の無線通信部511とRFID装置52Cの無線通信部521とで通信が可能な状態とする。次に、リーダライタ51の使用者は操作部515を操作して、リーダライタ51のライタ部513からRFID装置52Cの記憶部523に第1の情報を書き込んで記憶させる。
ステップS508において、RFID装置52Cの通知信号発信部526は、RFID装置52Cの記憶部523に新たな第1の情報が書き込まれると、ホスト53Cへ通知信号情報を発信する。
ホスト53Cの通知信号受信部535は、この通知信号情報を受信することにより、RFID装置52Cの記憶部523に新たな第1の情報が書き込まれたことが直ちにわかる。
以後は、図29と同じように、ステップS502において、ホスト53Cの第1情報取得部531はRFID装置52Cの有線通信部522を介して、RFID装置52Cの記憶部523に新たな第1の情報を要求するための、情報要求信号をRFID装置52Cに送信する。新たな第1の情報がRFID装置52Cに書き込まれていれば、第1情報取得部531はこれを取得する。
これによると、通知信号情報によって、リーダライタ51からRFID装置52Cに第1の情報を書き込んだことがホスト53Cにわかるので、ホスト53Cは直ちに第1の情報を取得してこれに対応することができる。
なお、上記の関連技術では、通知信号発信部526は、RFID装置52Cの記憶部523に第1の情報が書き込まれたことを検知して、ホスト53Cへ通知信号情報を常に発信している。しかし、第1の情報の内容に応じて、通知信号情報を発信するか、発信しないかを通知信号発信部526が判断してもよい。あるいは、リーダライタ51のライタ部513は、第1の情報の中に、通知信号情報を発信するか、発信しないかを指定してRFID装置52Cの記憶部523に書き込んでもよい。
すなわち、第1の情報の内容が、ホスト53Cに迅速に伝える必要のある情報のときは通知信号情報を発信させ、そうでないときは通知信号情報を発信させない、というような使い分けが可能となる。
また、第1の情報には、ホスト53Cを制御するための信号である制御信号(セット信号)と、ホスト53Cの最新状態を取得するための信号である状態取得信号(ゲット信号)とを含めてもよい。リーダライタ51は使用者の操作に応じて、制御信号と状態取得情報とを含めた3種類の第1の情報を使い分けることができる。
なお、図31では制御信号のみを含めた第1の情報について説明した。一方、状態取得情報のみを含めた第1の情報のときは、図31において、ステップS503が存在せず、ステップS502において、ホスト53Cの状態情報が第2の情報として送信される。以後については、図31と同じである。
また、状態取得情報のみを含めた第1の情報のときは、図31におけるステップS502において、ホスト53Cの情報が第2の情報に含めて送信される。ホスト53Cの情報を含む第2の情報は、第1の情報に制御信号のみを含めたときには送信されなくてもよい。以後については、図31と同じである。
なお、上記の関連技術では、リーダライタ51がRFID装置52Cを介してホスト53Cを制御するためのステップS501〜S503と、その応答情報として、ホスト53Cの状態情報をリーダライタ51で報知するステップS504〜S506とを一連の流れとして説明した。しかし、図32のフローチャートに示すように、ステップS501〜S506の前に、ステップS541、S551、S561を挿入してもよい。
すなわち、ステップS501でリーダライタ51の使用者は操作部515を操作して、ホスト53Cを制御するための第1の情報をRFID装置52Cに書き込む前に、ホスト53Cの状態を示す第3の情報をまず読み込む(ステップS541、S551)。その後、リーダライタ51の報知部516にホスト53Cの状態情報を表示してもよい(ステップS561)。
特に、リーダライタ51とRFID装置52Cとの無線通信が非接触通信のような近距離通信である場合、図32において、ステップS551からステップS505までの一連のステップを、1回の近距離接近の動作の中で行うとスムーズに機器制御を行うことができる。したがって、使用者がホスト53Cの内部状態を確認した後に、ホスト53Cを制御したい場合等において、使用者の利便性が高くなる。ここで、近距離接近の動作とは、ユーザによる、リーダライタ51とRFID装置52Cとを近距離通信可能な範囲まで接近させる動作をいう。なお、ステップS551からステップS505までの一連のステップの間において、第3の情報を確認した使用者が、ステップS561の後にリーダライタ51へホスト53に対する指示を入力してもよい。
そのために通信中であることを使用者に知らせるために、ステップS551からS505までの期間に、報知部516、525、又は534で報知音を鳴らしてもよい。また、報知部が備えるLEDを点滅させるなど、通信の進行具合を表示してもよい。これにより、より効果的に使用者の利便性を高めることができる。
また、図示しないが、ステップS508の通知信号の中に第1の情報を含めてもよい。この場合、ステップS502をステップS508の中に含めるような形態でRFID装置52Cとホスト53Cとの通信を実施してもよい。
(実施の形態3)
上記関連技術に係るRFID装置搭載機器100B及び100Cにおいては、リーダライタ51から、RFID装置に第1の情報を書き込み、RFID装置と接続されたホストに第1の情報を送信することにより、ホストを制御する。
ここで思慮すると、ホストの状態によっては、第1の情報をRFID装置から取得してもホストを制御することができない場合がある。
例えば、ホストの電源プラグが電源コンセントに挿入されていない場合、あるいは、ホストの電源スイッチがオンされていない場合、ホストは運転動作を開始できない。またホストが既に何らかの他の動作中である場合、あるいは動作予約中である場合も考えられる。これらの場合も、現在の動作、又は動作予約を無視してホストを制御することは適切ではない。このように、ホストが第1の情報を取得してもその運転動作を直ちに行えない状況を考える。
これを考慮した本発明の実施の形態を、以下に示す。
図33は、本発明の実施の形態3に係るRFID装置搭載機器100Dを備える無線通信システムの全体構成を示す図である。
関連技術における図28、図30と同じ部分については、詳細説明を省く。
図33では、RFID装置52Dは受付可否情報部527を備える。また、ホスト53Dは動作状態判定部536と、受付可否情報制御部537とを備える。
なお、RFID装置52Dが備える無線通信部521は、実施の形態1における非接触IF1に相当する。また、有線通信部522は、実施の形態1における接触IF2に相当する。また、記憶部523及び受付可否情報部527は、実施の形態1におけるメモリ3に相当する。また、RFID装置制御部524は、コマンド処理部4に相当する。
動作状態判定部536はホスト53Dの動作状態を判定する。受付可否情報制御部537は動作状態判定部536の判定結果によって、RFID装置52Dが備える受付可否情報部527に記録されている情報である制御受付可否情報を更新する。なお、本実施の形態における制御受付可否情報は、実施の形態2におけるフラグ情報に相当する。
具体的には、RFID装置52Dから第1の情報を取得してもホスト53Dが新たな制御命令を受け付けられないような状態であるか否かを動作状態判定部536で判定する。その後、受付可否情報制御部537は受付可否情報部527に、制御受付可否情報を記録させる。制御受付可否情報とは、ホスト53Dが新たな制御命令を受け付けられるか否かを示す情報である。例えば、ホスト53Dが新たな制御命令を受け付けられないと動作状態判定部536が判定した場合には、ホスト53Dが新たな制御命令を受け付けられない状態であることを示す情報である否情報をセットする。否情報としては、例えば、「否」、「No」、「0」等の値が使用できる。なお、ホスト53Dが新たな制御命令を受け付けられると動作状態判定部536が判定した場合には、受付可否情報制御部537は、受付可否情報部527に設定されている否情報をクリアする。または、受付可否情報制御部537は、受付可否情報部527に、「可」、「OK」、「1」等の値である可情報をセットしてもよい。
そして、受付可否情報部527に否情報がセットされているときは、RFID装置52Dが備えるコマンド処理部は、リーダライタ51からRFID装置52Dが備える記憶部523への書き込み等のデータアクセスを禁止する。また、RFID装置52Dが備えるコマンド処理部は、受付可否情報に否情報がセットされていることをリーダライタ51に報知してもよい。
本実施の形態に係るRFID装置搭載機器100Dが行う処理の流れについて、図34のフローチャートで説明する。
図34において、ステップS501〜S508は図31と同じである。
ここで、ステップS507の後、ホスト53Dの動作状態が変化したとする。具体的には、ステップS509において、RFID装置52Dからホスト53Dに第1の情報を送信してもホスト53Dが受け付けられないような所定の動作状態になったとする。電気炊飯器であるホスト53Dに対して炊飯予約のための操作がなされたため、リーダライタ51から新たな制御命令を受け付けられない動作状態となった場合等が考えられる。または、洗濯機であるホスト53Dが稼働中であるため、リーダライタ51から新たな制御命令を受け付けられない場合等も考えられる。
この場合、ステップS510では、動作状態判定部536はホスト53Dの動作状態を判定する。その結果、いま第1の情報を取得してもそれが受け付けられないと判定する。その後、受付可否情報制御部537がRFID装置52Dが備える受付可否情報部527に、制御受付可否情報として否情報をセットする。
その後、ステップS511にて、RFID装置52Dの報知部525,ホスト53Dの報知部534の両方、又はいずれか一方を使用して、否情報がセットされていることを使用者に報知する。
例えば、リーダライタ51の報知部516により、「ただいまホストとは通信できません」という音声または文字列を使用者へ報知する。
あるいはまた、受付可否情報制御部537は、RFID装置52Dの受付可否情報部527にセットする否情報を以下の4通りに分けてもよい。
否情報(A):ホスト53Dの電源プラグが電源コンセントに挿入されていないことを示す情報。
否情報(B):ホスト53Dの電源スイッチがオンされていないことを示す情報。
否情報(C):ホスト53Dが既に何らかの他の運転動作中であり、別の使用者によって操作設定中であることを示す情報。
否情報(D)ホスト53Dが運転予約の待機中であることを示す情報。
RFID装置52Dは、制御受付否情報部527に、上記否情報(A)〜(D)のいずれがセットしてあるかを示す情報を含めて、リーダライタ51が備える報知部516に報知させることができる。
例えば否情報(A)がセットされているときは、報知部516は、「電源プラグを電源コンセントに挿入してください」と使用者へ報知することができる。
なお、上記否情報(A)又は(B)を報知することにより、RFID装置52Dに電池など電源を搭載しておらず、RFID装置52Dに電源が給電されていないときでも、リーダライタ51は非接触通信できるメリットを活かすことができる。
以上、否情報がセットされていることを報知するところで実施の形態を終えてもよいが、ひきつづき説明する。
さて、ステップS512にて、リーダライタ51の無線通信部511とRFID装置52Dの無線通信部521とで通信が可能な状態となる。また、リーダライタ51の使用者は操作部515を操作して、リーダライタ51のライタ部513からRFID装置52Dの記憶部523に第1の情報を書き込んで記憶させようとする。しかし、受付可否情報部527に否情報がセットされている場合には、書き込みは拒否される。
そこで、ステップS513にて、RFID装置52Dの受付可否情報部527から無線通信部521、511を介して、否情報がリーダライタ51に発信される。また、報知部516は、これを使用者へ報知する。これにより、リーダライタ51の使用者はホスト53Dを制御できないことを知ることができる。
なお、図34に示さないが、動作状態判定部536において、第1の情報に含まれる制御命令をホスト53Dが受け付けられない所定の動作状態が、解除されたときの動作について以下に説明する。
ホスト53Dが第1の情報に含まれる制御命令を受け付けられると動作状態判定部536が判定した場合は、受付可否情報制御部537がRFID装置52Dの受付可否情報部527から否情報をクリアする。これにより、ホスト53Dが第1の情報を受け付け可能な状態となる。
なお、本実施の形態におけるRFID装置搭載機器100Dにおいて、通知信号情報は必須ではない。すなわち、図33にて、通知信号発信部526、通知信号受信部535は無くても構わない。また、図34にて、通知信号情報のステップS508は無くても構わない。同様に、RFID装置搭載機器100Dは、報知部525、及び報知部534を備えなくてもよい。さらにまた、ホスト53Dは、ホスト制御部533を備えなくてもよい。例えば、RFID装置搭載機器100Dは、ホスト53Dの外部に、ホスト制御部533を備えてもよい。また、RFID装置100Dの外部に、報知部525、及び報知部534を備えてもよい。
以上のように、本実施の形態では、制御受付可否情報によって、第1の情報を送信してもホスト53Dが受け付けられない状態であることを使用者に報知することができる。また、第1の情報を送信してもホスト53Dが受け付けられない状態であるときは、RFID装置52Dへの書き込みを禁止することができる。
なお、ホスト53Dが第1の情報に含まれる制御命令を受け付けられない状態として、例えば、ホスト53Dに電源が供給されていない状態が考えられる。さらに、ホスト53Dが使用者によって操作中であるか、又は、既に動作中や動作予約中であって、いま第1の情報に含まれる制御命令を取得しても、取得した命令に従った動作に切り換えることができない場合等がある。また、ホスト53Dがエラー状態であって動作できない場合もこれに含まれる。
例えば、電子レンジや炊飯器、冷蔵庫、洗濯機など電気機器であるホストが蓋を備えている場合を考える。これらの状態は、蓋を開けているときは、使用者が調理物やお米、食物、衣類を出し入れしていると考えて、第1の情報を受信してもホストが受け付けられない状態(使用者が操作中の状態)に含まれうる。
また、電気機器の使用電力を減らすため、通常モードとは別に低消費電力モードを備える場合を考える。低消費電力モードでは、例えば、ホスト53Dを構成する、第1情報取得部531、及び第2情報書込部532の電源供給を止めることを考える。
このような低消費電力モードでは、RFID装置52Dから通知信号情報を送信しても、ホスト53Dは第1の情報を取得することができない。
このような低消費電力モードを持つホストを含む場合においても、本実施の形態に係る無線通信システムの構成を適用できる。
すなわち、図33の動作状態判定部536は、ホスト53Dが低消費電力モードであるか否かを判定する。その後、低消費電力モードであると動作状態判定部536が判定したときは、受付可否情報制御部537がRFID装置52Dの受付可否情報部527に否情報をセットする。
このときの動作例について、図35のフローチャートで説明する。
図35においては、図34のステップS509の所定の動作状態に代えて、ステップS591にて低消費電力モードへと動作モードを変更している。
次に、ステップS510では、動作状態判定部536はホスト53Dの動作状態を判定する。ここで、低消費電力モードであると判定したときは、受付可否情報制御部537がRFID装置52Dの受付可否情報部527に否情報をセットする。以後のステップS511〜S513は図34と同じである。
すなわち、本実施の形態に係るホスト53Dは、有線接続されたRFID装置52Dを介してリーダライタ51と非接触通信を行うホストである。ホスト53Dは、RFID装置52Dと有線通信を行うための通信インタフェース(第1情報取得部531、第2情報書込部532、及び通知信号受信部535)と、ホスト53Dの動作モードが、通常モード、及び通常モードよりも動作中の消費電力を抑制する低消費電力モードの2つの動作モードのうちのいずれであるかを判定する動作状態判定部536と、動作状態判定部536が低消費電力モードであると判定した場合には、RFID装置52Dが備えるメモリ(受付可否情報部527)に、当該ホストに対するデータアクセスの禁止を示す情報を設定する受付可否情報制御部537とを備える。
なお、その後、ホスト53Dが低消費電力モード以外のモードに移行したと、動作状態判定部536が判定した場合には、受付可否情報制御部537がRFID装置52Dの受付可否情報部527から否情報をクリアする。
図31ではステップS502、又はS503まで進まないと、ホスト53Cが第1の情報を取得しても、取得した第1の情報を受け付けられないことが判明しない。一方、図34では、リーダライタ51が第1の情報をRFID装置52Dに書き込んだ時点(ステップS512)で、ホスト53Dが第1の情報を取得してもそれが受け付けられないと判明する。したがって、その旨をリーダライタ51の使用者へ迅速に報知することが可能となる。
なお、ホスト53Dは低消費電力モードにおいて、RFID装置52Dへの電源供給を停止してもよい。この場合、低消費電力モードにおいて、RFID装置52Dとホスト53Dとは、有線通信ができなくなる。この場合における、RFID装置52Dとホスト53Dとの間の通信処理の流れを、図36を参照して説明する。
図36は、本実施の形態に係る無線通信システムが行う処理の流れの他の一例を示す。
ステップS591Aにおいて、ホスト53Dは、低消費電力モードへの移行を開始する。その後、ホスト53Dが低消費電力モードへ完全に移行する(S592)前に、ホスト53Dは、RFID装置52Dへ、制御受付可否情報としての否情報を送信する(S510)。
なお、本発明の関連技術において、第1の情報には、ホストを制御する制御信号(セット信号)、又は、ホストの最新状態を取得する状態取得信号(ゲット信号)を含めてもよい旨を説明した。すなわち、リーダライタ51は使用者の操作に応じて、制御信号と状態取得情報とを含めた複数種類の第1の情報を使い分けてもよいことを説明した。
そこで、受付可否情報部527は、ホスト53Dを制御するための制御信号である第1の情報に対する制御受付可否情報と、ホスト53Dの最新状態を取得するための状態取得信号である第1の情報に対する制御受付可否情報とを別々に記録してもよい。この場合、ホスト53Dの受付可否情報制御部537は、制御信号及び状態取得信号に対する制御受付可否情報をそれぞれ別々にセットする。これにより、ホスト53Dは、例えば、制御信号は拒否するが状態取得信号は受け付けることができる。これは、リーダライタ51からRFID装置52Dを見て書込禁止かつ読込許可とすることを意味する。また、逆に、制御信号は受け付けるが、状態取得信号は拒否することができる。これは、リーダライタ51からRFID装置52Dを見て書込許可かつ読込禁止とすることを意味する。もちろん、書込禁止かつ読込禁止とすること、又は、書込許可かつ読込許可とすることもできる。
例えば、制御信号は拒否するが状態取得信号は受け付けることにより、電気機器であるホスト53Dが使用者によって操作中、運転動作中、または動作予約中である場合に、その状態を第2の情報に含めて送信することができる。これによると、リーダライタ51は、ホスト53Dの状態としてその旨をユーザへ表示することができる。また、ホスト53Dがエラー状態であって動作できない場合に、そのエラー情報を第2の情報に含めて送信することで、リーダライタ51にエラーの内容や対処方法を表示することができる。
すなわち、本実施の形態に係るRFID装置52Dが備えるコマンド処理部は、フラグ情報(制御受付可否情報)が、ホスト53Dに対するデータアクセスのうち、ホスト53Dへのデータの書き込み、及びホスト53Dからのデータの読み出しのうち少なくとも一方の禁止を示す場合には、リーダライタ51からホスト53Dに対するデータアクセスのうちフラグ情報により禁止されているデータアクセスを禁止する。
これによると、ホスト53Dは、外部からのデータアクセスのうち、Read及びWriteのそれぞれについて、独立に可否を指定することができる。したがって、ホスト53Dの動作状態に応じて、ホスト53Dに対するより詳細なアクセス制御を実現することができる。
(実施の形態4)
本発明の実施の形態4においては、ホストが低消費電力モードであるときに、RFID装置から送信された通知信号情報を受信すると、ホストは、低消費電力モードから通常モードに移行する。これにより、ホストは第1の情報を取得することができる。以下、より詳細に説明する。
図37は、本発明の実施の形態4に係るRFID装置搭載機器100Eを備える無線通信システムの全体構成を示す図である。図33と同じ部分については、詳細説明を省く。
通知信号受信部535がRFID装置52Eから通知信号を受信した場合、動作モード切換部538は、低消費電力モードから通常モードに切り換える。
RFID装置搭載機器100Eの処理の流れについて、図38のフローチャートで説明する。
ステップS501、及びS508は他の実施の形態と同じである。
ステップS508において、ホスト53Eが通知信号情報を受信する。その後、ステップS520にて、動作モード切換部538は、現在の動作モードが低消費電力モードであるか否かを判定し、低消費電力モードであると判定したときは(S520でYes)、ステップS521にて、動作モードを通常モードに切り換える。なお、図37に図示されていないが、動作モード切換部538が動作モードを判定する代わりに、ホスト53Eは、別途、動作状態判定部536を有してもよい。この場合、動作モード切換部538は、動作状態判定部536による判定結果に基づき、動作モードを切り換えることができる。
通常モードに切り換えた後、ステップS522にて、受付可否情報制御部537は、RFID装置52の受付可否情報部527に記録されている否情報をクリアする。
その後、ステップS523にて、RFID装置52の報知部525及びホスト53の報知部534の両方、又はいずれか一方にて否情報がクリアされたことを報知する。
また、動作モード切換部538は、現在の動作モードが通常モードであると判定したときは(S520でNo)、ステップS502以降の処理を行う。
以降、ステップS502〜S507は、図29のステップS502〜S507と同じである。
以上のように、本実施の形態では、電気機器であるホスト53Eは、低消費電力モードに移行して消費電力を削減しているときにRFID装置52Eから通知信号を受信した場合、低消費電力モードから通常モードに切り替わることができる。したがって、リーダライタ51からRFID装置52Eに第1の情報を書き込んだときに、ホスト53Eは直ちに第1の情報に対応することができる。
すなわち、本実施の形態に係るホスト53Eは、低消費電力モードで動作している場合に、RFID装置52Eに対してリーダライタ51から情報が書き込まれたことを示す通知信号を当該RFID装置52Eから受信すると、動作モードを通常モードに変更する、動作モード切換部538を備える。また、受付可否情報制御部537は、ホスト53Eの動作モードが通常モードに変更された場合には、当該ホスト53Eに対するデータアクセスの許可を示す情報をRFID装置52Eが備えるメモリ(受付可否情報部527)に設定する。または、受付可否情報制御部537は、当該ホスト53Eに対するデータアクセスの禁止を示す情報をRFID装置52Eが備えるメモリ(受付可否情報部527)から削除してもよい。
なお、ホスト53Eの動作状態は、低消費電力モード以外であってもよい。例えば、ホスト53Eが電源オフの状態である場合に、RFID装置52Eから通知信号情報を送信することにより、ホスト53Eを電源オン状態に移行させ、その後第1の情報を取得させることもできる。
また、ホスト53Eが既に何らかの他の動作中や動作予約中であれば、RFID装置52Eから通知信号情報を送信することにより、その動作を停止させ、第1の情報を取得させることもできる。
なお、実施の形態3と4とを組み合わせてもよい。すなわち、ホストは、(1)RFID装置と有線通信を行うための通信インタフェースと、(2)ホストの動作中における内部状態を示す動作モードが、通常モード、及び通常モードよりも動作中の消費電力を抑制する低消費電力モードのうちのいずれであるかを判定する動作状態判定部と、(3)動作状態判定部が、ホストの動作モードは低消費電力モードであると判定した場合に、RFID装置が備えるメモリに当該ホストに対するデータアクセスの禁止を示す情報を設定する受付可否情報制御部と、(4)低消費電力モードで動作している場合に、RFID装置に対してリーダライタから情報が書き込まれたことを示す通知信号を当該RFID装置から受信すると、動作モードを通常モードに変更する動作モード切換部を備えてもよい。
この場合、受付可否情報制御部は、ホストの動作モードが通常モードに変更された場合には、当該ホストに対するデータアクセスの許可を示す情報をRFID装置が備えるメモリに設定してもよい。または、当該ホストに対するデータアクセスの禁止を示す情報をRFID装置が備えるメモリから削除してもよい。
より具体的には、リーダライタ51からの第1の情報を2通りとすることが考えられる。1つは図38のステップS508のように、RFID装置からホストへ通知信号情報を発信するための第1の情報である。2つ目は図35のステップS512のように、受付可否情報部527に否情報がセットされているときはRFID装置に書き込みを行わないことを前提とする第1の情報である。
この2通りの第1の情報を使い分けて、ホストの動作モード切換部538を起動させるか否かを、リーダライタ51の使用者が選択するようにしてもよい。
また、実施の形態3及び4において、ホストはRFID装置からの通知信号情報を受信してから情報要求を送信して第1の情報を取得する。しかし、RFID装置は、通知信号情報に第1の情報の一部を含めて、ホストに送信するようにしてもよい。このようにすれば、情報要求の通信量を減らせることができる。
また、第1の情報の内容に応じて、ホストはRFID装置からの通知信号情報に第1の情報の一部を含めて送信するか否かを選択するようにしてもよい。例えば、ホストのリアルタイムな制御に関する情報やエラー状態を示す情報の要求は後者の形態で送信し、非リアルタイムな情報は前者の形態で送信することが考えられる。
なお、実施の形態1〜4に係るホストは、家庭にある家電機器、事務所、工場及び施設などで扱われる電気機器など、RFID装置(電子タグ)を接続又は内蔵した電気機器であればよい。
リーダライタは、NFC(Near Field Communication)搭載の携帯電話や情報機器などであればよい。
また、上記実施の形態1〜4に係るRFID装置、ホスト、及びリーダライタに含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて各処理部の集積化を行ってもよい。
また、本発明の実施の形態1〜4に係る、RFID装置、ホスト、及びリーダライタの機能の一部又は全てを、CPU等のプロセッサがプログラムを実行することにより実現してもよい。
すなわち、このプログラムはコンピュータに、非接触インタフェースにより、リーダライタからコマンドを取得するコマンド取得ステップと、モードを判定する通信モード判定ステップと、通信モード判定ステップにおいて通信モードが第1通信モードであると判定された場合には、コマンドで指示されたデータアクセスをリーダライタとメモリとの間で実行し、通信モードが第2通信モードであると判定された場合には、コマンドで指示されたデータアクセスをリーダライタとホストとの間で実行するコマンド処理ステップとを含むRFID装置の制御方法を実行させる。
さらに、本発明は上記プログラムであってもよいし、上記プログラムが記録された記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのはいうまでも無い。
また、上記実施の形態1〜4に係るRFID装置、ホスト、リーダライタ、及びその変形例の機能のうち少なくとも一部を組み合わせてもよい。
さらに、本発明の主旨を逸脱しない限り、本実施の形態に対して当業者が思いつく範囲内の変更を施した各種変形例も本発明に含まれる。
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。さらに、High/Lowにより表される論理レベル又はオン/オフにより表されるスイッチング状態は、本発明を具体的に説明するために例示するものであり、例示された論理レベル又はスイッチング状態の異なる組み合わせにより、同等な結果を得ることも可能である。
また、構成要素間の接続関係は、本発明を具体的に説明するために例示するものであり、本発明の機能を実現する接続関係はこれに限定されない。