次に、図面を参照して、本発明の実施の形態について説明するが、その前に、近接通信を行うための通信プロトコルの1つであるNFCIP-1(ISO/IEC 18092)について、簡単に説明する。
図1は、NFCIP-1に準拠した近接通信を行う通信システム(システムとは、複数の装置が論理的に結合したもの物をいい、各構成の装置が同一筐体中にあるか否かは問わない)の構成例を示している。
ここで、近接通信とは、通信する装置どうしの距離が、例えば、数10cm以内となって可能となる通信を意味し、通信する装置どうし(の筐体)が接触して行う通信も含まれる。
図1においては、通信システムは、3つの通信装置1,2,3から構成されている。通信装置1乃至3それぞれは、他の通信装置との間で、単一の周波数fcの搬送波を使用した、電磁誘導による近接通信(NFC(Near Field Communication))を行うことができるようになっている。NFCIP-1では、搬送波の周波数fcとしては、ISM(Industrial Scientific Medical)バンドの13.56MHzが規定されている。
なお、図1の通信システムは、通信装置1乃至3のうちの1以上をリーダ/ライタとするとともに、他の1以上をICカードとするICカードシステムに適用することができることは勿論、通信装置1乃至3それぞれを、PDA(Personal Digital Assistant)、PC(Personal Computer)、携帯電話機、腕時計、ペン等に内蔵させることも可能である。即ち、通信装置1乃至3は、近接通信を行う装置であり、ICカードシステムのICカードやリーダ/ライタなどの形態に限定されるものではない。
通信装置1乃至3は、2つの通信モードによる通信が可能である。2つの通信モードとしては、パッシブモードとアクティブモードとがある。いま、通信装置1乃至3のうちの、例えば、通信装置1と2の間の通信に注目すると、パッシブモードでは、上述した従来のICカードシステムと同様に、通信装置1と2のうちの一方の通信装置である、例えば、通信装置1は、自身が発生する電磁波(に対応する搬送波)をデータで変調することにより、他方の通信装置である通信装置2にデータを送信し、通信装置2は、通信装置1が発生する電磁波(に対応する搬送波)をデータで負荷変調することにより、通信装置1にデータを送信する。
一方、アクティブモードでは、通信装置1と2のいずれも、自身が発生する電磁波(に対応する搬送波)をデータで変調することにより、データを送信する。
ここで、電磁誘導による近接通信を行う場合、前述したように、最初に電磁波を出力して通信を開始し、いわば通信の主導権を握る装置を、イニシエータと呼ぶ。イニシエータは、通信相手にコマンドを送信し、その通信相手は、そのコマンドに対するレスポンスを返す形で、近接通信が行われるが、イニシエータからのコマンドに対するレスポンスを返す通信相手を、ターゲットと呼ぶ。
例えば、いま、通信装置1が電磁波の出力を開始して、通信装置2との通信を開始したとすると、図2および図3に示すように、通信装置1がイニシエータとなり、通信装置2がターゲットとなる。
そして、パッシブモードでは、図2に示すように、イニシエータである通信装置1が電磁波を出力し続け、通信装置1は、自身が出力している電磁波をデータで変調することにより、ターゲットである通信装置2に、データを送信するとともに、通信装置2は、イニシエータである通信装置1が出力している電磁波をデータで負荷変調することにより、通信装置1に、データを送信する。
一方、アクティブモードでは、図3に示すように、イニシエータである通信装置1は、自身がデータを送信する場合に、自身で電磁波の出力を開始し、その電磁波をデータで変調することにより、ターゲットである通信装置2に、データを送信する。そして、通信装置1は、データの送信終了後は、電磁波の出力を停止する。ターゲットである通信装置2も、自身がデータを送信する場合に、自身で電磁波の出力を開始し、その電磁波をデータで変調することにより、ターゲットである通信装置2に、データを送信する。そして、通信装置2は、データの送信終了後は、電磁波の出力を停止する。
なお、図1では、3つの通信装置1乃至3によって、通信システムが構成されているが、通信システムを構成する通信装置は、3つに限定されるものではなく、2または4以上であっても良い。さらに、通信システムは、通信装置の他、例えば、従来のICカードシステムを構成するICカードやリーダ/ライタなどを含めて構成することも可能である。
次に、通信装置1乃至3は、いずれも、最初に電磁波を出力して通信を開始するイニシエータになり得る。さらに、アクティブモードでは、通信装置1乃至3は、イニシエータとなる場合でも、ターゲットとなる場合でも、自身で電磁波を出力する。
従って、通信装置1乃至3が近接している状態で、そのうちの2以上が同時に電磁波を出力した場合には、コリジョンが生じ、正常な通信を行うことができなくなる。
そこで、NFCIP-1では、電磁波の出力を開始しようとする通信装置は、他の装置からの電磁波(によるRFフィールド)が存在するかどうかを検出し、存在しない場合にのみ、電磁波の出力を開始するように規定されており、これにより、コリジョンを防止するようになっている。ここで、このように、他の装置からの電磁波が存在するかどうかを検出し、存在しない場合にのみ、電磁波の出力を開始する処理を、コリジョンを防止するという目的から、RFCA(RF Collision Avoidance)処理と呼ばれる。
RFCA処理のうち、電磁波を出力して通信を開始するイニシエータになろうとする通信装置(図1では、通信装置1乃至3のうちの1以上)が最初に行うRFCA処理は、初期RFCA処理と呼ばれる。
図4を参照して、初期RFCA処理について説明する。
図4は、初期RFCA処理によって出力が開始される電磁波を示している。なお、図4において、横軸は時間を表し、縦軸は、通信装置が出力する電磁波のレベルを表す。
イニシエータになろうとする通信装置は、常時、他の装置による電磁波の検出を行っており、他の装置による電磁波が、時間TIDT+n×TRFWだけ連続して検出されなかった場合、電磁波の出力を開始し、その出力から時間TIRFGだけ経過した後に、データ(コマンド(リクエスト)を含む)の送信(Send Request)を開始する。
ここで、時間TIDT+n×TRFWにおけるTIDTは、初期遅延時間と呼ばれ、NFCIP-1では、搬送波の周波数fcを用いて、4096/fcより大の値にすることが規定されている。nは、例えば、0以上3以下の整数で、乱数を用いて生成される。TRFWは、RF待ち時間と呼ばれ、例えば、512/fcが採用される。時間TIRFGは、初期ガードタイムと呼ばれ、例えば、5msより大の値が採用される。
なお、電磁波が検出されてはならない時間TIDT+n×TRFWに、乱数であるnを採用することにより、複数の通信装置が同一のタイミングで、電磁波の出力を開始してしまう可能性の低減が図られている。
次に、図5乃至図13を参照して、NFCIP-1のパッシブモードの通信について説明する。
図5は、212kbps(kiro bit per second)または424kbpsの伝送レートでパッシブモードの通信を行う場合の電磁波の波形を示している。
即ち、NFCIP-1では、複数の伝送レートの中から選択された伝送レートでの通信が可能であり、図5は、212kbpsまたは424kbpsの伝送レートでパッシブモードの通信を行う場合の電磁波の波形を示している。
イニシエータは、パッシブモードの通信を開始する場合には、初期RFCA処理を行って、周波数fcの搬送波(無変調の電磁波)の出力を開始し、その後、搬送波を論理0B(Bはその前の数字が2進数であることを表す)で変調する。搬送波を論理0B(をエンコードしたマンチェスタ符号)で変調した変調信号は、図5に示すように、プリアンブルと呼ばれ、NFCIP-1では、プリアンブルは、少なくとも48ビットが必要であると規定されている。
イニシエータの周囲に存在するターゲットは、搬送波の変調が開始され、さらに、少なくとも48ビットのプリアンブルを受信すると、例えば、パッシブモードの通信が開始されることを認識し、プリアンブルに続いて送信されてくるデータ(データパケット)としての変調信号を受信する。
ここで、プリアンブルと、プリアンブルに続くデータパケットとのセットは、フレームと呼ばれる。フレームの開始は、プリアンブルによって認識される。フレームの終わりは、フレームに含まれる、後述する長さフィールドの情報に基づいて認識される。
次に、図6は、イニシエータまたはターゲットとしての通信装置がフレームを送信した後に、他の通信装置がフレームを送信する場合の、2つのフレームどうしの間の時間(遅延時間)を説明する図である。
NFCIP-1によれば、ある通信装置がフレームを送信した後、他の装置が、例えば、そのフレームに応答するフレームを送信する場合は、少なくとも8×64/fcだけ時間をおかなければならない。
即ち、ある通信装置のフレームの終了から、次のフレーム(のプリアンブル)の開始までの時間Tdelayは、少なくとも8×64/fcだけなければならない。
ここで、搬送波の周波数fcは、上述したように、13.56MHzであるので、時間8×64/fcは、約0.038msである。
次に、図7は、イニシエータとターゲットとの間でやりとりされるフレームのフォーマットを示している。
フレームは、その先頭から、プリアンブルフィールド、同期フィールド、長さフィールド、ペイロードフィールド、CRC(Cyclic Redundancy Checking)フィールドが順次配置されて構成される。
プリアンブルフィールドは、48ビット以上のサイズを有し、そこには、(論理)0Bがプリアンブルとして配置される。
同期フィールドは、2バイトのサイズを有し、1バイト目はB2H(Hはその前の数値が16進数であることを表す)で、2バイト目が4DHとされる。即ち、同期フィールドには、B24DHが同期パターンとして配置される。
長さフィールドは、8ビットのサイズを有し、そこには、ペイロードフィールドに配置されるデータのバイト数に1を加えた値がセットされる。なお、長さフィールドにセットされる値は、2乃至255の範囲の値でなければならず、8ビットで表される他の値は、将来の拡張のために予約(確保)されている。
ペイロードフィールドには、長さフィールドにセットされた値から1を減算した値だけのバイト数のペイロード(データ)が配置される(含められる)。
CRCフィールドには、ISO/IEC 18092の附属書A.3にしたがって求められる16ビットのCRCコードが配置される。
次に、イニシエータになろうとする通信装置は、図4で説明したように、初期RFCA処理によって電磁波の出力を開始し、その後、データ(フレーム)の送信を行う。イニシエータになろうとする通信装置は、電磁波の出力を開始することで、イニシエータとなり、そのイニシエータに近接する位置に存在する通信装置はターゲットとなる。
いま、イニシエータの周囲に、ターゲット(となりうる通信装置)が複数存在する場合には、その複数のターゲットのそれぞれが、イニシエータが送信したフレームに対して応答するフレームを送信することがある。従って、イニシエータでは、先に送信したフレームに対する応答として送信されてくるフレームが、複数のターゲットのうちのいずれが送信してきたフレームであるかを識別する必要がある。即ち、イニシエータは、応答としてのフレームを送信してきたターゲットを識別する必要がある。
そこで、イニシエータは、初期RFCA処理によって電磁波の出力を開始した後に、そのイニシエータに近接する位置に存在する1以上のターゲットに対して、各ターゲットを識別する情報としての、例えば、乱数などによって決定されるNFCID(NFC Identification)を要求する。そして、イニシエータに近接する位置に存在するターゲットは、イニシエータからの要求に応じて、自身を特定するNFCIDを、イニシエータに送信する。
イニシエータは、以上のようにしてターゲットから送信されてくるNFCIDによってターゲットを識別し、通信相手とするターゲットをNFCIDで指定して、データのやりとりを行う。
アクティブモードの通信では、イニシエータが、後述するコマンド(リクエスト)ATR_REQを、そこに自身を特定するNFCIDを含めて送信し、そのATR_REQに対して、1のターゲットが、コマンドATR_REQに対する後述するレスポンスATR_RESを、そこに自身を識別するNFCIDを含めて返す(送信する)ことにより、イニシエータとターゲットとが、互いのNFCIDを認識し、互いを識別(特定)する。
一方、伝送レートが212kbsまたは424kbpsのパッシブモードの通信では、イニシエータは、前述したSDD処理を行うことによって、その周囲(近接する位置)に存在するターゲットを識別するNFCIDを取得する。
ここで、SDD処理において、イニシエータは、ターゲットのNFCIDを要求するが、この要求は、イニシエータが、ポーリングリクエストフレームと呼ばれるフレームを送信することによって行われる。ターゲットは、ポーリングリクエストフレームを受信すると、例えば、自身のNFCIDを乱数によって決定し、そのNFCIDを配置したポーリングレスポンスフレームと呼ばれるフレームを送信する。イニシエータは、ターゲットから送信されてくるポーリングレスポンスフレームを受信することで、ターゲットのNFCIDを認識する。
なお、伝送レートが212kbsまたは424kbpsのパッシブモードの通信で行われるSDD処理で用いられるNFCIDは、特に、NFCID2と呼ばれる。NFCIP-1では、NFCID2は、8バイトの数値でなければならないこと、その8バイトの数値の先頭の2バイトは、前置符号(prefix code)であり、前置符号は、それに続く6バイトの特性を定義するものでなければならないこと、前置符号の1バイト目が01Hであり、その2バイト目がFEHである場合には、続く6バイトは、乱数としなければならないこと、が規定されている。また、01FEH以外の前置符号は、将来の拡張のために予約されている。
ところで、パッシブモードのターゲットは、イニシエータが出力している電磁波を負荷変調によりフレームを送信するから、RFCA処理を行わない。従って、SDD処理において、イニシエータが、その周囲のターゲットに対して、そのNFCIDを要求した場合(NFCIDを要求するポーリングリクエストフレームを送信した場合)、イニシエータの周囲に、複数のターゲットが存在するときには、その複数のターゲットの2以上から、同時に、NFCID(NFCIDを含むポーリングレスポンスフレーム)が送信されてくることがあり得る。この場合、その2以上のターゲットから送信されてくるNFCIDがコリジョンし、イニシエータは、そのコリジョンしたNFCIDを認識することが困難となる。
そこで、SDD処理は、NFCIDのコリジョンをなるべく避けるために、例えば、タイムスロットを用いた方法で行われる。
即ち、図8は、タイムスロットを用いた方法により行われるSDD処理のシーケンスを示している。なお、図8では、イニシエータの周囲に、5つのターゲット#1,#2,#3,#4,#5が存在するものとしてある。
SDD処理では、イニシエータがポーリングリクエストフレームを送信するが、その送信の完了後、所定の時間Tdだけおいて、所定の時間Tsの幅のタイムスロットが設けられる。なお、時間Tdは、例えば、512×64/fc、即ち、約2.4msとされ、タイムスロットの幅としての時間Tsは、例えば、256×64/fc、即ち、約1.2msとされる。また、タイムスロットは、例えば、時間的に最も先行するものから、0からのシーケンシャルな番号(整数)が付されることによって特定される。
ここで、図8では、タイムスロット#0,#1,#2,#3の4つを示してあるが、タイムスロットは、NFCIP-1では、16まで設けることが可能である。あるポーリングリクエストフレームに対して設けられるタイムスロットの数は、イニシエータが指定し、タイムスロットの数から1を減算した値が、タイムスロットに関するタイムスロット情報TSNとして、ポーリングリクエストフレームに含められて、ターゲットに送信される。図8では、4つのタイムスロット#0乃至#3が示されており、従って、タイムスロット情報TSNが3である場合のタイムスロットを示している。
ターゲットは、イニシエータから送信されてくるポーリングリクエストフレームを受信し、そのポーリングリクエストフレームに配置されているタイムスロット情報TSNを認識する。さらに、ターゲットは、0以上TSNの範囲の整数Rを、乱数により生成し、その整数Rによって特定されるタイムスロット#Rのタイミングで、自身のNFCIDを配置したポーリングレスポンスフレームを送信する。
以上のように、ターゲットは、ポーリングレスポンスフレームを送信するタイミングとしてのタイムスロットを、乱数により決定するので、複数のターゲットがポーリングレスポンスフレームを送信するタイミングがばらつくこととなり、これにより、複数のターゲットが送信するポーリングレスポンスフレームどうしのコリジョンをなるべく避けることができる。
なお、ターゲットにおいて、ポーリングレスポンスフレームを送信するタイミングとしてのタイムスロットを、乱数により決定しても、複数のターゲットがポーリングレスポンスフレームを送信するタイムスロットが一致し、これにより、ポーリングレスポンスフレームのコリジョンが生じる場合がある。図8の実施の形態では、タイムスロット#0において、ターゲット#4のポーリングレスポンスフレームが、タイムスロット#1において、ターゲット#1と#3のポーリングレスポンスフレームが、タイムスロット#2において、ターゲット#5のポーリングレスポンスフレームが、タイムスロット#3において、ターゲット#2のポーリングレスポンスフレームが、それぞれ送信されており、ターゲット#1と#3のポーリングレスポンスフレームがコリジョンを生じている。
この場合、イニシエータは、コリジョンを生じているターゲット#1と#3のポーリングレスポンスフレームを正常に受信することができない。そのため、イニシエータは、再度、ポーリングリクエストフレームを送信し、これにより、ターゲット#1と#3に対して、それぞれのNFCIDが配置されたポーリングレスポンスフレームの送信を要求することができる。以下、イニシエータにおいて、その周囲にあるターゲット#1乃至#5すべてのNFCIDを認識することができるまで、イニシエータによるポーリングリクエストフレームの送信と、ターゲットによるポーリングレスポンスフレームの送信とを繰り返し行うことができる。
なお、イニシエータが、ポーリングリクエストフレームを再度送信した場合に、すべてのターゲット#1乃至#5が、ポーリングレスポンスフレームを返すこととすると、再び、ポーリングレスポンスフレームどうしがコリジョンを起こす可能性がある。そこで、ターゲットにおいては、イニシエータからポーリングリクエストフレームを受信した後、それほど時間をおかずに、ポーリングリクエストフレームを再度受信した場合には、例えば、そのポーリングリクエストを無視するようにすることができる。但し、この場合、図8の実施の形態では、最初に送信されたポーリングリクエストフレームに対して、ポーリングレスポンスのコリジョンを生じているターゲット#1と#3については、イニシエータは、そのターゲット#1と#3のNFCIDを認識することができないので、ターゲット#1または#3との間でのデータのやりとりは、できないことになる。
そこで、イニシエータが、ポーリングレスポンスフレームを正常に受信し、そのNFCIDを認識することができたターゲット#2,#4,#5については、通信対象から一時的にはずし(ディセレクト状態にし)、これにより、ポーリングリクエストフレームに対する応答としてのポーリングレスポンスフレームを返さないようにすることができる。この場合、イニシエータが送信する再度のポーリングリクエストフレームに対して、ポーリングレスポンスフレームを返してくるのは、最初のポーリングリクエストフレームの送信によってNFCIDを認識することができなかったターゲット#1と#3だけとなる。従って、この場合、ポーリングレスポンスフレームどうしがコリジョンを起こす可能性を小さくしながら、ターゲット#1乃至#5すべてのNFCIDを認識することが可能となる。
また、ここでは、ターゲットは、上述したように、ポーリングリクエストフレームを受信すると、自身のNFCIDを、乱数によって決定(生成)する。このため、稀ではあるが、異なるターゲットから、同一のNFCIDがポーリングレスポンスフレームに配置されて、イニシエータに送信されてくる場合があり得る。イニシエータにおいて、異なるタイムスロットで、同一のNFCIDが配置されたポーリングレスポンスフレームが受信された場合、イニシエータには、例えば、ポーリングレスポンスフレームどうしがコリジョンを起こした場合と同様に、ポーリングリクエストフレームを再度送信させることができる。
ここで、NFCIP-1では、SDD処理において、タイムスロット情報TSNを含むポーリングリクエストフレームを受信したターゲットの動作について、次のように規定されている。
[1]ターゲットは,0乃至TSNの範囲の乱数Rを生成しなければならない。
[2]ターゲットは,乱数Rによって特定されるタイムスロット#Rのタイミングになるまで待ち、そのタイムスロット#Rのタイミングで、ポーリングレスポンスフレームを返し,次のコマンド(リクエスト)を待たなければならない。ターゲットは,ポーリングレスポンスフレームのコリジョンを減らすために、ポーリングリクエストフレームを無視してもよい。
また、NFCIP-1では、SDD処理におけるイニシエータとターゲットの処理について、次のように規定されている。
[1]ターゲットは、イニシエータが生成するRFフィールド(イニシエータが出力する電磁波)から電力を得る。
[2]ターゲットは、起動してから最長でも2秒以内にイニシエータからのポーリングリクエストフレームを受ける準備完了状態にならなければならない。
[3]ターゲットは、イニシエータが送信するポーリングリクエストフレームを待たなければならない。イニシエータは、ターゲットの都合(状態)によらずにポーリングリクエストフレームを送信してもよい。
[4]イニシエータがポーリングレスポンスフレームを受けるのに失敗した場合、イニシエータは、ポーリングリクエストフレームを再び送ってもよい。パッシブモードのイニシエータは、SDD処理を実行している間、RFパワーオン状態(電磁波を出力している状態)を維持しなければならない。
次に、図9は、ポーリングリクエストフレームのフォーマットを示している。
ポーリングリクエストフレームは、図7のフレームと同様に、その先頭から、プリアンブルフィールド、同期フィールド、長さフィールド、ペイロードフィールド、CRCフィールドが順次配置されて構成される。
図7で説明したように、プリアンブルフィールドには、48ビット以上の0Bがプリアンブルとして配置され、同期フィールドには、2バイトのB24DHの同期パターンが配置される。また、CRCフィールドには、ISO/IEC 18092の附属書A.3にしたがって求められるCRCコードが配置される。
長さフィールドには、図7で説明したように、ペイロードフィールドのバイト数に1を加えた値がセットされる。ポーリングリクエストフレームのペイロードフィールドのサイズは5バイトであり、従って、長さフィールドには、5バイトに1を加算した06Hがセットされる。
ポーリングリクエストフレームのペイロードフィールドは、上述したように、5バイトのサイズを有し、その先頭のバイトから、00H,FFH,FFH,00H、1バイトのタイムスロット情報TSNが順次セットされる。ペイロードフィールドの先頭の1バイト00Hは、フレームがポーリングリクエストフレームであることを表す。
なお、ペイロードフィールドの2バイト目と3バイト目については、FFH以外の値は、将来の拡張のために予約されている。同様に、4バイト目についても、00H以外の値は、将来の拡張のために予約されている。
NFCIP-1では、1バイトのタイムスロット情報TSNは、00H,01H,03H,07H,0FHのうちのいずれかの値でなければならないことが規定されており、また、他の値は、将来の拡張のために予約されている。
次に、図10は、ポーリングレスポンスフレームのフォーマットを示している。
ポーリングレスポンスフレームは、図7のフレームと同様に、その先頭から、プリアンブルフィールド、同期フィールド、長さフィールド、ペイロードフィールド、CRCフィールドが順次配置されて構成される。
図7で説明したように、プリアンブルフィールドには、48ビット以上の0Bがプリアンブルとして配置され、同期フィールドには、2バイトのB24DHの同期パターンが配置される。また、CRCフィールドには、ISO/IEC 18092の附属書A.3にしたがって求められるCRCコードが配置される。
長さフィールドには、図7で説明したように、ペイロードフィールドのバイト数に1を加えた値がセットされる。ポーリングレスポンスフレームのペイロードフィールドのサイズは17(=11H)バイトであり、従って、長さフィールドには、11Hバイトに1Hを加算した12Hがセットされる。
ポーリングレスポンスフレームのペイロードフィールドは、上述したように、17バイトのサイズを有し、その先頭のバイトから、01H、8バイトのNFCID2、8バイトのPadが順次セットされる。ペイロードフィールドの先頭の1バイト01Hは、フレームがポーリングレスポンスフレームであることを表す。
なお、ポーリングレスポンスフレームのペイロードフィールドにおける8バイトのPadは、例えば、いわゆるパディングのためのデータで、NFCIP-1では、8バイトのPadは、データ交換(data interchange)としては無視しなければならないことが規定されている。
次に、NFCIP-1では、トランスポートプロトコル(transport protocol)のコマンド(リクエスト)と、コマンドに対するレスポンスとが定義されている。
図11は、NFCIP-1で定義されているトランスポートプロトコルのコマンドとレスポンスとを示している。
図11において、アンダーバー(_)の後にREQの文字が記述されているものは、コマンド(リクエスト)を表し、アンダーバー(_)の後にRESの文字が記述されているものは、レスポンスを表す。図11の実施の形態では、コマンドとして、ATR_REQ,WUP_REQ,PSL_REQ,DEP_REQ,DSL_REQ,RLS_REQの6種類が用意されており、コマンドに対するレスポンスとしても、コマンドと同様に、ATR_RES,WUP_RES,PSL_RES,DEP_RES,DSL_RES,RLS_RESの6種類が用意されている。イニシエータは、コマンドをターゲットに送信し、ターゲットは、イニシエータからのコマンドに対するレスポンスを、イニシエータに送信する。
コマンドATR_REQは、イニシエータが、ターゲットに対して、自身の属性(仕様)を知らせるとともに、ターゲットの属性を要求するときに、ターゲットに送信される。ここで、イニシエータまたはターゲットの属性としては、そのイニシエータまたはターゲットが送受信することのできるデータの伝送レートや、データを変調するときの変調方式などの通信に関する通信パラメータなどがある。なお、コマンドATR_REQには、イニシエータの属性の他、そのイニシエータを特定するNFCIDなどが配置され、ターゲットは、コマンドATR_REQを受信することにより、イニシエータの属性とNFCIDを認識する。
レスポンスATR_RESは、ターゲットが、コマンドATR_REQを受信した場合に、そのコマンドATR_REQに対する応答として、イニシエータに送信される。レスポンスATR_RESには、ターゲットの属性やNFCIDなどが配置される(含まれる)。
なお、コマンドATR_REQやレスポンスATR_RESに配置される属性としての、例えば、伝送レートの情報には、イニシエータやターゲットが送受信することのできるデータの伝送レートすべてを含めることができる。この場合、イニシエータとターゲットとの間で、コマンドATR_REQとレスポンスATR_RESのやりとりが1度行われるだけで、イニシエータは、ターゲットが送受信可能な伝送レートすべてを認識することができ、ターゲットも、イニシエータが送受信可能な伝送レートすべてを認識することができる。
コマンドWUP_REQは、イニシエータが、通信するターゲットを選択するときに送信される。即ち、後述するコマンドDSL_REQを、イニシエータからターゲットに送信することにより、ターゲットを、ディセレクト(deselect)状態(イニシエータへのデータの送信(レスポンス)を禁止した状態)とすることができるが、コマンドWUP_REQは、そのディセレクト状態を解いて、ターゲットを、イニシエータへのデータの送信を可能にする状態とする場合に送信される。なお、コマンドWUP_REQには、ディセレクト状態を解くターゲットのNFCIDが配置され、コマンドWUP_REQを受信したターゲットのうち、そのコマンドWUP_REQに配置されているNFCIDによって特定されるターゲットが、ディセレクト状態を解く。
レスポンスWUP_RESは、コマンドWUP_REQを受信したターゲットのうち、そのコマンドWUP_REQに配置されているNFCIDによって特定されるターゲットが、ディセレクト状態を解いた場合にコマンドWUP_REQに対する応答として送信する。
なお、コマンドWUP_REQは、イニシエータがアクティブモード時にのみ送信し、レスポンスWUP_RESは、ターゲットがアクティブモード時にのみ送信する。
コマンドPSL_REQは、イニシエータが、ターゲットとの通信に関する通信パラメータを変更するときに送信される。ここで、通信パラメータとしては、例えば、イニシエータとターゲットとの間でやりとりするデータの伝送レートや変調方式などがある。
コマンドPSL_REQには、変更後の通信パラメータの値が配置され、イニシエータからターゲットに送信される。ターゲットは、コマンドPSL_REQを受信し、そこに配置されている通信パラメータの値にしたがって、通信パラメータを変更する。さらに、ターゲットは、コマンドPSL_REQに対するレスポンスPSL_RESを送信する。
コマンドDEP_REQは、イニシエータが、データ(いわゆる実データ)の送受信(ターゲットとの間のデータ交換(data exchange))を行うときに送信され、そこには、ターゲットに送信すべき実データなどが配置される。レスポンスDEP_RESは、ターゲットが、コマンドDEP_REQに対する応答として送信し、そこには、イニシエータに送信すべき実データが配置される。従って、コマンドDEP_REQによって、イニシエータからターゲットに実データが送信され、そのコマンドDEP_REQに対するレスポンスDEP_RESによって、ターゲットからイニシエータに実データが送信される。
コマンドDSL_REQは、イニシエータが、ターゲットをディセレクト状態とする(非活性化する)ときに送信される。コマンドDSL_REQを受信したターゲットは、そのコマンドDSL_REQに対するレスポンスDSL_RESを送信してディセレクト状態となり、以後、コマンドWUP_REQ以外のコマンドには反応しなくなる(レスポンスを返さなくなる)。
コマンドRLS_REQは、イニシエータが、ターゲットとの通信を完全に終了するときに送信される。コマンドRLS_REQを受信したターゲットは、そのコマンドRLS_REQに対するレスポンスRLS_RESを送信し、イニシエータとの通信を完全に終了する。
ここで、コマンドDSL_REQとRLS_REQは、いずれも、ターゲットを、イニシエータとの通信の対象から解放(除外)する点で共通する。しかしながら、コマンドDSL_REQによって解放されたターゲットは、コマンドWUP_REQによって、再び、イニシエータと通信可能な状態となるが、コマンドRLS_REQによって解放されたターゲットは、イニシエータが初期RFCA処理から処理をやり直さないと、イニシエータと通信可能な状態とならない。かかる点で、コマンドDSL_REQとRLS_REQは、異なる。
次に、図12のフローチャートを参照して、NFCIP-1のパッシブモードの通信処理の概要について説明する。
まず最初に、ステップS1において、イニシエータとなる通信装置は、初期RFCA処理を行い、ステップS2に進む。ステップS2では、イニシエータとなる通信装置は、ステップS1の初期RFCA処理により、RFフィールドを検出したかどうかを判定する。ステップS2において、RFフィールドを検出したと判定された場合、ステップS1に戻り、以下、同様の処理が繰り返される。即ち、イニシエータとなる通信装置は、RFフィールドを検出している間は、そのRFフィールドを形成している他の通信装置による通信の妨げとならないように、RFフィールドを形成しない。
一方、ステップS2において、RFフィールドを検出していないと判定された場合、通信装置は、ステップS3に進み、通信モードとして、パッシブモードを選択する。また、ステップS3では、通信装置は、イニシエータとなって、伝送レートの選択等を行う。
即ち、NFCIP-1では、例えば、212kbps,424kbps等の複数の伝送レートの中から、実際の通信に使用する伝送レートを選択することが可能である。そこで、ステップS3では、イニシエータとなった通信装置は、伝送レートの選択を行う。なお、ステップS3において、複数の伝送レートの中からいずれの伝送レートを選択するかは、例えば、あらかじめ設定しておくことが可能である。
ステップS3では、さらに、イニシエータとしての通信装置は、所定の初期化処理とSDD処理を行い、ステップS4に進む。
ステップS4では、イニシエータは、パッシブモードでアクティベーション(活性化)(起動)し、パッシブモードのターゲットとの間で、コマンドATR_REQとレスポンスATR_RESをやりとりして、ステップS5に進む。
ステップS5では、イニシエータは、通信に必要な通信パラメータ(例えば、伝送レートなど)を、現在の通信パラメータから変更する必要がある場合には、その通信パラメータを選択し、その通信パラメータ等を配置したコマンドPSL_REQとレスポンスPSL_RESを、ターゲットとの間でやりとりして、通信パラメータを変更し、ステップS6に進む。
ステップS6では、イニシエータは、ステップS5で選択した通信パラメータにしたがって、コマンドDEP_REQとレスポンスDEP_RESを、ターゲットとの間でやりとりするデータ交換プロトコルによるデータ交換(通信)を行い、そのデータ交換の終了後、ステップS7に進む。ステップS7では、イニシエータは、コマンドDSL_REQとレスポンスDSL_RES、またはコマンドRSL_REQとレスポンスRSL_RESを、ターゲットとの間でやりとりして、ディアクティベーション(非活性化)し、トランザクションを終了する。
なお、図12では、パッシブモードの通信を行うこととしたが、アクティブモードの通信を行うことも可能である。アクティブモードの通信を行う場合は、ステップS3において、イニシエータは、通信モードとして、アクティブモードを選択し、さらに、伝送レート等の選択を行う。そして、ステップS4に進み、イニシエータは、アクティブモードでアクティベーションし、ターゲットとの間で、コマンドATR_REQとレスポンスATR_RESをやりとりして、ステップS5に進み、以下、大雑把には、パッシブモードと同様の手順で通信が行われる。
ここで、通信装置は、例えば、アプリケーションからの要求に応じて、イニシエータとなることができる。さらに、通信装置では、アプリケーションからの要求に応じて、例えば、通信モードをアクティブモードまたはパッシブモードのうちのいずれにするかの選択や、伝送レートの選択(決定)をすることができる。
また、イニシエータは、上述したように、外部にRFフィールドが形成されていなければ、RFフィールドを形成するが、ターゲットは、イニシエータによって形成されたRFフィールドによって活性化する。そして、イニシエータは、選択された通信モードと伝送レートで、コマンドを送信し、ターゲットは、イニシエータと同一の通信モードと伝送レートで、レスポンスを返す(送信する)。
さらに、通信装置には、イニシエータとターゲットの両方の機能を実装するのではなく、いずれかの機能だけを実装することができる。また、通信装置には、パッシブモードとアクティブモードとの両方の通信モードを実装するのではなく、いずれか一方の通信モードだけを実行することができる。
次に、図13のフローチャートを参照して、パッシブモードにおけるアクティベーションプロトコルの処理(パッシブモードでのデータ交換を行うのに、通信装置で行われる処理)を説明する。
まず最初に、ステップS11において、イニシエータは、初期RFCA処理を行い、ステップS12に進み、通信モードをパッシブモードとする。そして、ステップS13に進み、イニシエータは、初期化処理とSDD処理を行って、伝送レートを選択する。
ここで、ステップS11の処理が、図12のステップS1およびS2の処理に対応し、ステップS12およびS13の処理が、図12のステップS3の処理に対応する。
その後、ステップS14に進み、イニシエータは、ターゲットに属性を要求するかどうかを判定する。ここで、属性とは、通信装置の仕様の情報で、例えば、通信装置が対応することができる伝送レートや変調方式その他の通信に関する通信パラメータなどがある。
ステップS14において、ターゲットに属性を要求しないと判定された場合、ステップS15に進み、イニシエータは、ターゲットとの通信を、独自プロトコルにしたがって行い、ステップS13に戻り、以下、同様の処理を繰り返す。
また、ステップS14において、ターゲットに属性を要求すると判定された場合、ステップS16に進み、イニシエータは、コマンドATR_REQを送信し、これにより、ターゲットに属性を要求する。そして、イニシエータは、ターゲットからコマンドATR_REQに対するレスポンスATR_RESが送信されてくるのを待って、ステップS17に進み、そのレスポンスATR_RESを受信して、ステップS18に進む。
ここで、ステップS16およびS17の処理は、図12のステップS4の処理に対応する。
ステップS18では、イニシエータは、ステップS17でターゲットから受信したレスポンスATR_RESに基づき、通信パラメータ、即ち、例えば、伝送レート等を変更することができるかどうかを判定する。ステップS18において、通信パラメータを変更することができないと判定された場合、即ち、例えば、現在の伝送レート以外に、イニシエータとターゲットの両方が対応することができる伝送レートが存在しない場合、ステップS19乃至S21をスキップして、ステップS22に進む。
また、ステップS18において、通信パラメータを変更することができると判定された場合、即ち、例えば、現在の伝送レート以外に、イニシエータとターゲットの両方が対応することができる伝送レートが存在し、通信の高速化、または雑音に対する耐性の向上のために、通信に使用する伝送レートを、現在の伝送レートから、より高い伝送レート、またはより低い伝送レートに変更することができる場合、ステップS19に進み、イニシエータは、コマンドPSL_REQを送信し、これにより、ターゲットに通信パラメータの変更を要求する。そして、イニシエータは、コマンドPSL_REQに対するレスポンスPSL_RESがターゲットから送信されてくるのを待って、ステップS19からS20に進み、そのレスポンスPSL_RESを受信して、ステップS21に進む。ステップS21では、イニシエータは、ステップS20で受信したレスポンスPSL_RESにしたがい、通信パラメータ、即ち、例えば、伝送レート等を変更し、ステップS22に進む。
ここで、ステップS18乃至S21の処理は、図12のステップS5の処理に対応する。
ステップS22では、イニシエータは、データ交換プロトコルにしたがい、ターゲットとの間でデータ交換、即ち、コマンドDEP_REQとレスポンスDEP_RESのやりとりを行う。
ここで、ステップS22の処理は、図12のステップS6の処理に対応する。
ステップS22においてデータ変換が行われた後は、イニシエータは、必要に応じて、ステップS23またはS25に進む。
即ち、イニシエータは、ターゲットをディセレクト状態にする場合、ステップS22からS23に進み、コマンドDSL_REQを送信する。そして、イニシエータは、コマンドDSL_REQに対するレスポンスDSL_RESがターゲットから送信されてくるのを待って、ステップS23からS24に進み、そのレスポンスDSL_RESを受信して、ステップS13に戻り、以下、同様の処理を繰り返す。
一方、イニシエータは、ターゲットとの通信を完全に終了する場合、ステップS22からS25に進み、コマンドRLS_REQを送信する。そして、イニシエータは、コマンドRLS_REQに対するレスポンスRLS_RESがターゲットから送信されてくるのを待って、ステップS25からS26に進み、そのレスポンスRLS_RESを受信して、ステップS11に戻り、以下、同様の処理を繰り返す。
ここで、ステップS23とS24の処理や、ステップS25とS26の処理は、図12のステップS7の処理に対応する。
上述したように、NFCIP-1のパッシブモードの通信では、図8で説明したSDD処理が行われる。
即ち、SDD処理では、イニシエータとしての通信装置が、タイムスロットに関するタイムスロット情報TSNを含むコマンドとしてのポーリングリクエストフレーム(図9)を送信する。さらに、ターゲットとしての通信装置が、イニシエータからのポーリングリクエストフレームを受信し、そのポーリングリクエストフレームに含まれるタイムスロット情報TSNに基づき、ポーリングリクエストフレームに対するポーリングレスポンスフレームを送信するタイムスロットを、乱数Rにより決定し、そのタイムスロット#Rのタイミングで、ターゲットを識別するNFCID(NFCID2)を含むポーリングレスポンスフレーム(図10)を送信する。そして、イニシエータが、ターゲットからのポーリングレスポンスフレームを受信し、これにより、ターゲットのNFCIDを取得して、そのNFCIDによってターゲットを識別する。
以上のようなSDD処理の終了後、イニシエータとターゲットとの間では、データ交換プロトコル(Data Exchange Protocol)のリクエスト(Request)とレスポンス(Response)のフレーム、即ち、図11のコマンドDEP_REQとレスポンスDEP_RESを利用して、実データのデータ交換が行われる。
ここで、データ交換プロトコルは、NFCID2を用いて接続の確立を行い、特定の相手とのデータ交換を実施する方法(プロトコル)であり、NFCIP-1では、フレームの再送手順も用意されている。
以上のように、パッシブモードの通信では、イニシエータの周囲に複数のターゲットが存在する場合を考慮して、その複数のターゲットを識別するために、タイムスロットを用いたSDD処理が行われ、その後、イニシエータとターゲットとの間で、実データの交換が行われる。
従って、NFCIP-1のパッシブモードの通信では、イニシエータと通信をするターゲットが、例えば、1つであることを前提とするアプリケーションに、NFCIP-1が適用された場合であっても、必ずSDD処理が行われ、その後、イニシエータとターゲットとの間で、実データの交換が行われる。このため、NFCIP-1のパッシブモードの通信では、例えば、ターゲットからイニシエータに対して、僅かなデータを送信するだけであっても、ある程度の通信時間を要する。
即ち、図14は、NFCIP-1のパッシブモードの通信によって、ターゲットからイニシエータに実データを送信する場合に要する通信時間を示している。
なお、イニシエータとターゲットとの間では、例えば、212 kbpsの伝送レートで、パッシブモードの通信が行われることとする。
パッシブモードの通信では、上述したように、まずSDD処理が行われる。
SDD処理では、まず、イニシエータが、図9のポーリングリクエストフレームを送信するが、ポーリングリクエストフレームのサイズは、プリアンブルフィールドが48ビットである場合に最小となる。即ち、ポーリングリクエストフレームは、図9に示したように、48ビット(6バイト)以上のプリアンブルフィールド、16ビット(2バイト)の同期フィールド、8ビット(1バイト)の長さフィールド、5バイトのペイロードフィールド、16ビット(2バイト)のCRCフィールドを含むので、プリアンブルフィールドが48ビットである場合に、ポーリングリクエストフレームのサイズは、16バイトとなって、最小になる。そして、この最小のサイズである16バイトのポーリングリクエストフレームを、212kbpsの伝送レートで送信するのに要する時間は、約0.6038ms(=16バイト×8ビット/212kbps)となる。
SDD処理では、イニシエータがポーリングリクエストフレームを送信した後、図8で説明したように、所定の時間Tdである512×64/fc秒、即ち、約2.4msだけ時間をおいて、幅(時間)Tsが256×64/fc秒、即ち、約1.2msのタイムスロットが設けられる。
いま、最初のタイムスロット#0のタイミングで、ターゲットがイニシエータからのポーリングリクエストフレームに対するポーリングレスポンスフレームを送信することとすると、イニシエータによるポーリングリクエストフレームの送信の終了後、所定の時間Tdである約2.4msだけ時間をおいて、ターゲットによるポーリングレスポンスフレームの送信が開始される。
ポーリングレスポンスフレームのサイズは、ポーリングリクエストフレームのサイズと同様に、プリアンブルフィールドが48ビットである場合に最小となる。即ち、ポーリングレスポンスフレームは、図10に示したように、48ビット(6バイト)以上のプリアンブルフィールド、16ビット(2バイト)の同期フィールド、8ビット(1バイト)の長さフィールド、17バイトのペイロードフィールド、16ビット(2バイト)のCRCフィールドを含むので、プリアンブルフィールドが48ビットである場合に、ポーリングレスポンスフレームのサイズは、28バイトとなって、最小になる。そして、この最小のサイズである28バイトのポーリングレスポンスフレームを、212kbpsの伝送レートで送信するのに要する時間は、約1.0566ms(=28バイト×8ビット/212kbps)となる。
以上のようにして、イニシエータとターゲットとの間で、ポーリングリクエストフレームとポーリングレスポンスフレームとがやりとりされ、イニシエータが、ターゲットからのポーリングリクエストフレームに含まれる、ターゲットのNFCID2を取得することにより、SDD処理が終了する。
いま、SDD処理の終了後、イニシエータとターゲットとの間で、図13に示した、コマンドATR_REQとレスポンスATR_RESのやりとり(ステップS16とS17)が行われ、その後、1セットのコマンドDEP_REQとレスポンスDEP_RESのやりとり(ステップS22)が行われることにより、例えば、8バイトの実データが、レスポンスDEP_RESによって、ターゲットからイニシエータに送信されることとすると、フレームどうしの間は、図6で説明したように、時間Tdelay、即ち、8×64/fc秒である約0.038msだけ間隔をとらなければならないので、イニシエータは、ターゲットによるポーリングリクエストフレームの送信の終了後、時間Tdelayである約0.038msが経ってから、コマンドATR_REQを送信する。
ここで、NFCIP-1によれば、コマンドATR_REQのフレームのサイズは、プリアンブルフィールドが48ビットであり、かつ、そのフレームのペイロードフィールド(図7)に含めることができる汎用バイト(general bytes)と呼ばれるデータが0バイトである場合に最小の27バイトになる。
この最小のサイズである27バイトのコマンドATR_REQ(のフレーム)を、212kbpsの伝送レートで、イニシエータからターゲットに送信することとすると、その送信に要する時間は、約1.0189ms(=27バイト×8ビット/212kbps)となる。
ターゲットは、イニシエータからのコマンドATR_REQを受信し、時間Tdelay(=8×64/fc秒=約0.038ms)だけ待ってから、そのコマンドATR_REQに対するレスポンスATR_RESを、イニシエータに送信する。
ここで、NFCIP-1によれば、レスポンスATR_RESのフレームのサイズは、プリアンブルフィールドが48ビットであり、かつ、そのフレームのペイロードフィールド(図7)に含めることができる汎用バイト(general bytes)と呼ばれるデータが0バイトである場合に最小の28バイトになる。
この最小のサイズである28バイトのレスポンスATR_RES(のフレーム)を、212kbpsの伝送レートで、ターゲットからイニシエータに送信することとすると、その送信に要する時間は、約1.0566ms(=28バイト×8ビット/212kbps)となる。
イニシエータは、ターゲットからのレスポンスATR_RESを受信し、時間Tdelay(=約0.038ms)だけ待ってから、データ交換プロトコルのコマンドDEP_REQを、ターゲットに送信する。
ここで、NFCIP-1によれば、コマンドDEP_REQのフレームのサイズは、プリアンブルフィールドが48ビットであり、かつ、そのフレームのペイロードフィールド(図7)に含めることができるユーザデータバイト(user data bytes)と呼ばれるデータが0バイトである場合に最小の16バイトになる。
この最小のサイズである16バイトのコマンドDEP_REQを、212kbpsの伝送レートで、イニシエータからターゲットに送信することとすると、その送信に要する時間は、約0.6038ms(=16バイト×8ビット/212kbps)となる。
ターゲットは、イニシエータからのコマンドDEP_REQを受信し、時間Tdelay(=約0.038ms)だけ待ってから、そのコマンドDEP_REQに対するレスポンスDEP_RESを、イニシエータに送信する。
ここで、上述したように、ターゲットが、レスポンスDEP_RESによって、8バイトの実データを、イニシエータに送信する場合、NFCIP-1によれば、その8バイトの実データは、レスポンスDEP_RESのフレームのペイロードフィールド(図7)に、ユーザデータバイトとして含められる。そして、このように、8バイトの実データをユーザデータバイトとして含むレスポンスDEP_RESのフレームのサイズは、プリアンブルフィールドが48ビットである場合に最小の24バイトになる。
この最小のサイズである24バイトのレスポンスDEP_RES(のフレーム)を、212kbpsの伝送レートで、ターゲットからイニシエータに送信することとすると、その送信に要する時間は、約0.9057ms(=24バイト×8ビット/212kbps)となる。
イニシエータは、ターゲットからのレスポンスDEP_RESを受信し、これにより、そのレスポンスDEP_RESに含まれる8バイトの実データを取得する。
従って、パッシブモードの通信によれば、8バイトの実データのデータ交換を行うのに、少なくとも、約7.7974ms(=0.6038ms+2.4ms+1.0566ms+0.038ms+1.0189ms+0.038ms+1.0566ms+0.038ms+0.06038ms+0.038ms+0.9057ms)の通信時間を要する。
次に、上述したように、パッシブモードの通信では、イニシエータの周囲に複数のターゲットが存在する場合を考慮して、その複数のターゲットを識別するために、タイムスロットを用いたSDD処理が行われ、イニシエータの周囲に存在するターゲットが識別(区別)される。
従って、NFCIP-1のパッシブモードの通信では、イニシエータと通信をするターゲットが、例えば、1つであることを前提とするアプリケーションに、NFCIP-1が適用される場合であっても、必ずSDD処理が行われ、その後、イニシエータとターゲットとの間で、データ変換プロトコルによる(コマンドDEP_REQとレスポンスDEP_RESをやりとりすることによる)実データの交換が行われる。
ところで、NFCIP-1が適用されるアプリケーションが、イニシエータが1つのターゲットとのみ通信をすることを前提とする場合には、イニシエータは、複数のターゲットと(同時に)通信することはないので、即ち、イニシエータの通信対象となるターゲットは、必ず1つであるため、イニシエータは、1つしか存在しない通信対象であるターゲットを識別する必要はなく、さらに、複数のターゲットのそれぞれから同時にレスポンスが送信されてくるコリジョンも生じない。
ここで、イニシエータが1つのターゲットとのみ通信をすることを前提とするアプリケーションとしては、例えば、遊園地のアトラクションに入場するゲートに、イニシエータとしてのR/Wを設置するとともに、アトラクションを利用するためのパス(チケット)として機能する、ターゲットとしてのICカードを、ユーザに発行し、ゲートにおいて、パスの有効性をチェックするアプリケーションなどがある。
即ち、遊園地では、パスの有効期限を記憶したICカードを、ユーザに発行し、ユーザは、1人ずつが入場可能なゲートにおいて、ICカードをR/Wにかざす。この場合、ICカードからR/Wに対して、ICカードに記憶されている有効期限を表す実データが送信され、R/Wでは、その実データが表す有効期限がチェックされる。
以上のような、イニシエータが1つのターゲットとのみ通信をすることを前提とするアプリケーションでは、SDD処理においてターゲットを識別する必要はない。そこで、SDD処理のシーケンスをそのまま利用して、実データのデータ交換を行うことを考えると、そのデータ交換は、例えば、次のように行うことができる。
即ち、現行のNFCIP-1では、上述したように、図10のポーリングレスポンスフレームのペイロードフィールドにおける8バイトのPadは、無視(ignore)しなければならないことが規定されているが、このPadを利用して、実データのデータ交換を行うことを考える。
この場合、図14で説明した8バイトの実データの交換は、次のようにして行うことができる。
即ち、図15は、SDD処理のシーケンスをそのまま利用し、ポーリングレスポンスフレーム(図10)のPadによって、ターゲットからイニシエータに8バイトの実データを送信する場合に要する通信時間を示している。
なお、図15でも、図14と同様に、イニシエータとターゲットとの間では、212 kbpsの伝送レートで通信が行われることとする。
図15では、図14のSDD処理と同様に、イニシエータが、図9のポーリングリクエストフレームを送信する。このポーリングリクエストフレームのサイズが、図14で説明したように、最小のサイズである16バイトであるとすると、この最小のサイズである16バイトのポーリングリクエストフレームを、212kbpsの伝送レートで送信するのに要する時間は、約0.6038ms(=16バイト×8ビット/212kbps)となる。
図14で説明したように、イニシエータがポーリングリクエストフレームを送信した後は、所定の時間Tdである約2.4msだけ時間をおいて、幅(時間)Tsが約1.2msのタイムスロットが設けられる。
図15において、図14と同様に、最初のタイムスロット#0のタイミングで、ターゲットがイニシエータからのポーリングリクエストフレームに対するポーリングレスポンスフレームを送信することとすると、イニシエータによるポーリングリクエストフレームの送信の終了後、所定の時間Tdである約2.4msだけ時間をおいて、ターゲットによるポーリングレスポンスフレームの送信が開始される。
但し、図15では、ターゲットは、ポーリングレスポンスフレーム(図10)のペイロードフィールドにおける8バイトのPadとして、実データを配置する。
ポーリングレスポンスフレームのサイズは、図14で説明したように、プリアンブルフィールドが48ビットである場合に最小の28バイトとなる。そして、この最小のサイズである28バイトのポーリングレスポンスフレームを、212kbpsの伝送レートで送信するのに要する時間は、約1.0566ms(=28バイト×8ビット/212kbps)となる。
いまの場合、ポーリングレスポンスフレームには、8バイトの実データが含まれているから、イニシエータは、ターゲットが送信したポーリングレスポンスフレームを受信することにより、8バイトの実データを取得する。
従って、実データのデータ交換に、ポーリングレスポンスフレーム(図10)を利用する場合には、8バイトの実データのデータ交換を行うのに、最小で、約4.0604ms(=0.6038ms+2.4ms+1.0566ms)の通信時間で済み、その通信時間は、図14で説明したパッシブモードの通信を行う場合(約7.7974ms)の約1/2の時間となる。即ち、通信時間の短縮化を図ることができる。
なお、イニシエータが1つのターゲットとのみ通信をすることを前提とする場合には、SDD処理においてターゲットを識別する必要はないので、ポーリングレスポンスフレーム(図10)に、ターゲットを識別するNFCID2を含める必要もない。従って、実データのデータ交換に、ポーリングレスポンスフレーム(図10)を利用する場合には、ポーリングレスポンスフレームのペイロードフィールドにおける8バイトのNFCID2(の部分)にも、実データを配置することができる。また、ポーリングレスポンスフレーム(図10)のペイロードフィールドの先頭の1バイト01Hは、フレームがポーリングレスポンスフレームであることを表すが、この先頭の1バイトにも、実データを配置することができる。
従って、実データのデータ交換に、ポーリングレスポンスフレームを利用する場合には、ポーリングレスポンスフレームの17バイトのペイロードフィールド全体に、実データを配置し、これにより、1つのポーリングレスポンスフレームによって、最大で、17バイトの実データのデータ交換を行うことができる。
ここで、上述したように、SDD処理のシーケンスをそのまま利用して、ポーリングレスポンスフレームによって、実データのデータ交換を行う通信の通信モードを、シンプルモードという。
図16は、NFCIP-1に準拠した近接通信の他に、シンプルモードの通信(近接通信)が可能な通信システムの構成例を示している。
図16において、通信システムは、NFCIP-1に準拠した通信と、シンプルモードの通信とを行うことができる通信装置11と12とから構成されている。
なお、図16の実施の形態では、説明を簡単にするために、通信装置11および12は、NFCIP-1に関しては、パッシブモードとアクティブモードのうちのパッシブモードだけを実装している(パッシブモードの通信だけを行うことができるように構成されている)こととする。
また、図16の実施の形態では、通信装置11は、自身が電磁波を出力し、その電磁波を変調することによりデータを送信するイニシエータとしてのみ機能し、通信装置12は、イニシエータが出力する電磁波を負荷変調することによりデータを送信するターゲットとしてのみ機能することとする。
図16の通信システムでは、イニシエータである通信装置11と、ターゲットである通信装置12とが、パッシブモードの通信、またはシンプルモードの通信のうちのいずれかを行うことによって、実データのデータ交換を行う。
次に、図17は、図16のイニシエータとしての通信装置11の構成例を示している。
アンテナ21は、閉ループのコイルを構成しており、このコイルに流れる電流が変化することで、電磁波を出力する。また、アンテナ21としてのコイルを通る磁束が変化することで、アンテナ21に電流が流れる。
受信部22は、アンテナ21に流れる電流を受信し、復調部23に出力する。復調部23は、受信部22から供給される信号を復調(例えば、ASK復調)し、その結果得られる復調信号を、デコード部24に供給する。デコード部24は、復調部23から供給される復調信号としての、例えばマンチェスタ符号などをデコードし、そのデコードの結果得られるデータを、データ処理部25に供給する。
データ処理部25は、デコード部24から供給されるデータに基づき、所定の処理を行う。また、データ処理部25は、他の装置に送信すべきデータを、エンコード部26に供給する。
エンコード部26は、データ処理部25から供給されるデータを、例えば、マンチェスタ符号などにエンコードし、変調部28に出力する。
電磁波出力部27は、アンテナ21から、所定の単一の周波数fcの搬送波(の電磁波)を放射させるための電流を、アンテナ21に流す。変調部28は、電磁波出力部27がアンテナ21に流す電流としての搬送波を、エンコード部26から供給される信号にしたがって変調する。これにより、アンテナ21からは、データ処理部25がエンコード部26に出力したデータ(をエンコードしたマンチェスタ符号)にしたがって搬送波を変調した変調信号としての電磁波が放射される。
ここで、変調部28における変調方式としては、例えば、振幅変調(ASK(Amplitude Shift Keying))を採用することができる。但し、変調部28における変調方式は、ASKに限定されるものではなく、PSK(Phase Shift Keying)やQAM(Quadrature Amplitude Modulation)その他を採用することが可能である。また、振幅の変調度についても8%から30%、50%、100%等数値に限定されることはなく、好適なものを選択すれば良い。
制御部29は、通信装置11を構成する各ブロックの制御等を行う。即ち、制御部29は、例えば、CPU(Central Processing Unit)29Aや、EEPROM(Electrically and Erasable Programmable Read Only Memory)29B、その他図示せぬRAM(Random Access Memory)などで構成される。CPU29Aは、EEPROM29Bに記憶されているプログラムを実行し、これにより、通信装置11を構成する各ブロックの制御、その他の各種の処理を行う。EEPROM29Bは、CPU29Aが実行すべきプログラムや、CPU29Aの動作上必要なデータを記憶する。
なお、CPU29Aがプログラムを実行することにより行う一連の処理は、CPU29Aに代えて専用のハードウェアを設けて、その専用のハードウェアによって行うことが可能である。また、CPU29Aに実行させるプログラムは、EEPROM29Bにあらかじめインストールしておく他、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)し、いわゆるパッケージソフトウエアとして提供することができる。さらに、プログラムは、近接通信によって、通信装置11に送信し、EEPROM29Bにインストールすることができる。
電源部30は、通信装置11を構成する各ブロックに、必要な電源を供給する。
なお、図17では、制御部29が通信装置11を構成する各ブロックを制御することを表す線の図示と、電源部30が通信装置11を構成する各ブロックに電源を供給することを表す線の図示は、図が煩雑になるため、省略してある。
また、上述の場合には、デコード部24およびエンコード部26において、マンチェスタ符号を処理するようにしたが、デコード部24およびエンコード部26では、マンチェスタ符号だけでなく、例えば、モディファイドミラーや、NRZ(Non Return to Zero)などの複数種類の符号の中から1つを選択して処理するようにすることが可能である。
以上のように構成される通信装置11では、制御部29が、通信装置11の各ブロックを制御し、これにより、イニシエータとして機能する。
即ち、イニシエータとしての通信装置11では、データ(フレーム)を送信する場合、電磁波出力部27が、アンテナ21から、所定の単一の周波数fcの搬送波を放射させるための電流を、アンテナ21に流し、これにより、アンテナ21からは、搬送波(無変調波)である電磁波が放射される。
また、通信装置11では、データ処理部25が、ターゲットに送信すべきデータを、エンコード部26に供給し、エンコード部26は、データ処理部25から供給されるデータをマンチェスタ符号にエンコードし、変調部28に出力する。変調部28は、電磁波出力部27がアンテナ21に流す電流としての搬送波を、エンコード部26から供給される信号にしたがって変調する。これにより、アンテナ21からは、データ処理部25がエンコード部26に出力したデータにしたがって搬送波を変調した電磁波が放射され、ターゲットにデータが送信される。
一方、イニシエータとしての通信装置11において、ターゲットが負荷変調によって送信してくるデータ(フレーム)を受信する場合、受信部22が、ターゲットの負荷変調によって変化する、アンテナ21上の電流に対応する信号を、復調部23に出力する。復調部23は、受信部22から供給される信号を復調し、デコード部24に供給する。デコード部24は、復調部23から供給される信号としてのマンチェスタ符号などをデコードし、そのデコードの結果得られるデータを、データ処理部25に供給する。データ処理部25は、デコード部24から供給されるデータに基づき、所定の処理を行う。
次に、図18は、図16のターゲットとしての通信装置12の構成例を示している。
アンテナ41は、閉ループのコイルを構成しており、このコイルに流れる電流が変化することで、電磁波を出力する。また、アンテナ41としてのコイルを通る磁束が変化することで、アンテナ41に電流が流れる。
受信部42は、アンテナ41に流れる電流を受信し、復調部43に出力する。復調部43は、受信部42から供給される信号をASK復調等し、デコード部44に供給する。デコード部44は、復調部43から供給される信号としての、例えばマンチェスタ符号などをデコードし、そのデコードの結果得られるデータを、データ処理部45に供給する。
データ処理部45は、デコード部44から供給されるデータに基づき、所定の処理を行う。また、データ処理部45は、他の装置に送信すべきデータを、エンコード部46に供給する。
エンコード部46は、データ処理部45から供給されるデータを、例えば、マンチェスタ符号などにエンコードし、負荷変調部47に出力する。
負荷変調部47は、外部からアンテナ41としてのコイルを見たときのインピーダンスを、エンコード部46から供給される信号にしたがって変化させる。他の装置が搬送波としての電磁波を出力することにより、アンテナ41の周囲にRFフィールド(磁界)が形成されている場合、アンテナ41としてのコイルを見たときのインピーダンスが変化することにより、アンテナ41の周囲のRFフィールドも変化する。これにより、他の装置が出力している電磁波としての搬送波が、エンコード部46から供給される信号にしたがって変調(負荷変調)され、データ処理部45がエンコード部46に出力したデータが、電磁波を出力している他の装置に送信される。
ここで、負荷変調部47における変調方式としては、例えば、振幅変調(ASK)を採用することができる。但し、負荷変調部47における変調方式は、ASKに限定されるものではなく、PSKやQAMその他を採用することが可能である。また、振幅の変調度についても8%から30%、50%、100%等数値に限定されることはなく、好適なものを選択すれば良い。
電源部48は、アンテナ41の周囲に形成されたRFフィールドによってアンテナ41に流れる電流から電源を得て、通信装置12を構成する各ブロックに電源を供給する。
制御部49は、通信装置12を構成する各ブロックの制御等を行う。即ち、制御部49は、例えば、CPU49Aや、EEPROM49B、その他図示せぬRAMなどで構成される。CPU49Aは、EEPROM49Bに記憶されているプログラムを実行し、これにより、通信装置12を構成する各ブロックの制御、その他の各種の処理を行う。EEPROM49Bは、CPU49Aが実行すべきプログラムや、CPU49Aの動作上必要なデータを記憶する。
ここで、CPU49Aがプログラムを実行することにより行う一連の処理は、CPU49Aに代えて専用のハードウェアを設けて、その専用のハードウェアによって行うことが可能である。また、CPU49Aに実行させるプログラムは、EEPROM49Bにあらかじめインストールしておく他、フレキシブルディスク、CD-ROM,MOディスク,DVD、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)し、いわゆるパッケージソフトウエアとして提供することができる。さらに、プログラムは、近接通信によって、通信装置12に送信し、EEPROM49Bにインストールすることができる。
なお、図18では、制御部49が通信装置12を構成する各ブロックを制御することを表す線の図示と、電源部48が通信装置12を構成する各ブロックに電源を供給することを表す線の図示は、図が煩雑になるため、省略してある。
また、図18では、電源部48において、アンテナ41に流れる電流から電源を得るようにしたが、その他、例えば、通信装置12には、電池(バッテリ)を内蔵させ、その電池から、通信装置12を構成する各ブロックに電源を供給することもできる。
さらに、上述の場合には、デコード部44およびエンコード部46において、マンチェスタ符号を処理するようにしたが、デコード部44およびエンコード部46では、マンチェスタ符号だけでなく、例えば、モディファイドミラーや、NRZなどの複数種類の符号の中から1つを選択して処理するようにすることが可能である。
以上のように構成される通信装置12では、制御部49が、通信装置12の各ブロックを制御し、これにより、ターゲットとして機能する。
即ち、ターゲットとしての通信装置12では、データ(フレーム)を送信する場合、データ処理部45が、イニシエータに送信すべきデータを、エンコード部46に供給し、エンコード部46は、データ処理部45から供給されるデータをマンチェスタ符号にエンコードし、負荷変調部47に出力する。負荷変調部47は、外部からアンテナ41としてのコイルを見たときのインピーダンスを、エンコード部46から供給される信号にしたがって変化させる。
このとき、イニシエータとしての通信装置11は、搬送波としての電磁波を出力することにより、アンテナ41の周囲にRFフィールドを形成しており、アンテナ41としてのコイルを見たときのインピーダンスが変化することにより、アンテナ41の周囲のRFフィールドも変化する。これにより、イニシエータが出力している電磁波としての搬送波が、エンコード部46から供給される信号にしたがって変調(負荷変調)され、データ処理部45がエンコード部46に出力したデータが、電磁波を出力しているイニシエータに送信される。
一方、イニシエータとしての通信装置12において、イニシエータが、自身が出力している搬送波としての電磁波を変調することにより送信してくるデータ(フレーム)を受信する場合、受信部42が、そのデータによって変調された電磁波に応じてアンテナ41に流れる電流に対応する信号を、復調部43に出力する。復調部43は、受信部42から供給される信号を復調し、デコード部44に供給する。デコード部44は、復調部43から供給される信号としてのマンチェスタ符号などをデコードし、そのデコードの結果得られるデータを、データ処理部45に供給する。データ処理部45は、デコード部44から供給されるデータに基づき、所定の処理を行う。
次に、図19のフローチャートを参照して、イニシエータとしての通信装置11の処理について説明する。
イニシエータとしての通信装置11の制御部29(図17)は、ステップS101において、ターゲットと行う通信の通信モードを設定する。即ち、イニシエータとしての通信装置11は、ターゲットとの間で、パッシブモードの通信、またはシンプルモードの通信のうちのいずれの通信を行うのかを決定する。
ここで、イニシエータとしての通信装置11と、ターゲットとの間において、例えば、ターゲットから大量のデータを送信させる通信を行う場合には、ステップS101において、通信モードは、パッシブモードに設定される。一方、イニシエータとしての通信装置11と、ターゲットとの間において、例えば、ターゲットから少量のデータを送信させる通信を行う場合には、ステップS101において、通信モードは、シンプルモードに設定される。
あるいは、図16の通信システムが、例えば、イニシエータである通信装置11の通信相手となるターゲットの数が定まっていない(不定の数である)アプリケーションに適用されている場合には、ステップS101において、通信モードは、シンプルモードに設定される。一方、図16の通信システムが、例えば、イニシエータである通信装置11の通信相手が1つのターゲットだけであることを前提とするアプリケーションに適用されている場合には、ステップS101において、通信モードは、シンプルモードに設定される。
ステップS101において、通信モードを決定した後は、ステップS102に進み、制御部29は、通信装置11の各ブロックを制御することにより、RFCA処理を行わせ、他の装置からの電磁波が存在しない場合には、電磁波の出力を開始させて、ステップS103に進む。
ステップS103では、制御部29は、現在の通信モードを判定し、通信モードがパッシブモードに設定されていると判定した場合、ステップS104に進み、制御部29は、通信装置11の各ブロックを制御することにより、パッシブモードの通信を行わせる。
即ち、ステップS104では、まずSDD処理としてのステップS104−1およびS104−2の処理が行われる。
具体的には、ステップS104−1において、制御部29は、通信装置11の各ブロックを制御することにより、タイムスロット情報TSNに、NFCIP-1で規定されている値のいずれかをセットしたポーリングリクエストフレーム(図9)を送信させる。
なお、現行のNFCIP-1では、パッシブモードの通信のSDD処理で送信されるポーリングリクエストフレームの1バイトのタイムスロット情報TSNは、図9で説明したように、00H,01H,03H,07H,0FHのうちのいずれかの値でなければならないことが規定されており、ステップS104−1では、この5つの値00H,01H,03H,07H,0FHのうちのいずれかの値がタイムスロット情報TSNにセットされたポーリングリクエストフレームが送信される。
ここで、パッシブモードの通信のSDD処理で送信されるポーリングリクエストフレームのタイムスロット情報TSNにセットしなければならない値として、現行のNFCIP-1に規定されている1バイトの値00H,01H,03H,07H,0FHを、以下、適宜、規格値という。
パッシブモードの通信のSDD処理では、上述したように、1以上のターゲットそれぞれが、イニシエータからのポーリングリクエストフレームを受信し、そのポーリングリクエストフレームに対して、ターゲットを識別するNFCID2を含むポーリングレスポンスフレーム(図10)を、乱数により決定したタイムスロットのタイミングで送信してくるので、制御部29は、ステップS104−2において、通信装置11の各ブロックを制御することにより、ターゲットから送信されてくるポーリングレスポンスフレームを受信させ、これにより、ターゲットを識別するNFCID2を取得して、そのIDによって1以上のターゲットのそれぞれを識別する。
そして、ステップS104−1およびS104−2の処理、即ち、SDD処理が終了し、制御部29は、ステップS104−3において、通信装置11の各ブロックを制御することにより、コマンドATR_REQを送信させる。
ターゲットは、イニシエータからのコマンドATR_REQに対して、レスポンスATR_RESを送信してくるので、制御部29は、ステップS104−4において、通信装置11の各ブロックを制御することにより、ターゲットからのレスポンスATR_RESを受信させ、そのレスポンスATR_RESから、ターゲットの属性等を認識する。
さらに、ステップS104−5において、制御部29は、通信装置11の各ブロックを制御することにより、実データを要求するコマンドDEP_REQを送信させる。
ターゲットは、イニシエータからのコマンドDEP_REQに対し、そのコマンドDEP_REQによって要求された実データを含むレスポンスDEP_RESを送信してくるので、制御部29は、ステップS104−6において、通信装置11の各ブロックを制御することにより、ターゲットからのレスポンスDEP_RESを受信させ、そのレスポンスDEP_RESから、コマンドDEP_REQによって要求した実データを取得する。
即ち、通信モードがパッシブモードである場合には、例えば、イニシエータとしての通信装置11と、ターゲットとしての通信装置12との間で、図14で説明したようにして、実データのデータ交換が行われる。
一方、ステップS103において、通信モードがシンプルモードに設定されていると判定された場合、ステップS105に進み、制御部29は、通信装置11の各ブロックを制御することにより、タイムスロット情報TSNに、特定値をセットしたポーリングリクエストフレーム(図9)を送信させる。
ここで、上述したように、パッシブモードでは、ポーリングリクエストフレームの1バイトのタイムスロット情報TSNには、5つの規格値00H,01H,03H,07H,0FHのうちのいずれかの値がセットされるが、シンプルモードでは、その5つの規格値00H,01H,03H,07H,0FH以外の1バイトの値が、特定値として、ポーリングリクエストフレームの1バイトのタイムスロット情報TSNにセットされる。
タイムスロット情報TSNに特定値がセットされているポーリングリクエストフレームを受信したターゲットは、後述するように、あらかじめ設定されたタイムスロットのタイミングで、実データをペイロードフィールドのPad(の部分)に含むポーリングレスポンスフレームを送信してくるので、制御部29は、ステップS106において、通信装置11の各ブロックを制御することにより、ターゲットから送信されてくるポーリングレスポンスフレームを受信させ、これにより、ターゲットから実データを取得する。
次に、図20のフローチャートを参照して、ターゲットとしての通信装置12の処理について説明する。
例えば、イニシエータとしての通信装置11が、図19のステップS102において電磁波の出力を開始し、ターゲットとしての通信装置12が、イニシエータと近接した状態となると、通信装置12の電源部48(図18)が、イニシエータからの電磁波から電源を得て、通信装置12の各ブロックに供給し、これにより、通信装置12は動作可能状態となる。
通信装置12が動作可能状態となると、ステップS111において、制御部49が、通信装置12の各ブロックを制御することにより、イニシエータから送信されてくるポーリングリクエストフレームを受信させる。
そして、制御部49は、ステップS112において、イニシエータからのポーリングリクエストフレーム(図9)に含まれるタイムスロット情報TSNを認識し、そのタイムスロット情報TSNが、規格値(第1の値)または特定値(第2の値)のいずれであるかを判定する。
ステップS112において、タイムスロット情報TSNが、規格値であると判定された場合、ステップS113に進み、制御部49は、通信装置12の各ブロックを制御することにより、パッシブモードの通信を行わせる。
即ち、ステップS113では、まずSDD処理としてのステップS113−1およびS113−2の処理が行われる。
具体的には、ステップS113−1において、制御部49は、0乃至TSNの範囲の整数Rを、乱数により発生し、その乱数Rによって特定されるタイムスロット#Rを、ポーリングレスポンスフレームの送信に使用するタイムスロットに決定する。そして、ステップS113−2において、制御部49は、通信装置12の各ブロックを制御することにより、NFCID2を含むポーリングレスポンスフレーム(図10)を、タイムスロット#Rのタイミングで送信させる。
その後、イニシエータにおいて、図19で説明したように、コマンドATR_REQが送信されてくるので、制御部49は、ステップS113−3において、通信装置12の各ブロックを制御することにより、イニシエータからのコマンドATR_REQを受信させる。さらに、制御部49は、ステップS113−3からステップS113−4に進み、通信装置12の各ブロックを制御することにより、イニシエータからのコマンドATR_REQに対するレスポンスATR_RESを送信させる。
レスポンスATR_RESを受信したイニシエータは、図19で説明したように、実データを要求するコマンドDEP_REQを送信してくるので、制御部49は、ステップS113−5において、通信装置12の各ブロックを制御することにより、イニシエータからのコマンドDEP_REQを受信させる。そして、ステップS113−6において、制御部49は、通信装置12の各ブロックを制御することにより、イニシエータからのコマンドDEP_REQによって要求されている実データを含むレスポンスDEP_RESを送信する。
なお、実データのサイズが大きいために、その実データを、1つのフレームのレスポンスDEP_RESだけでは送信しきれない場合には、イニシエータとターゲットとの間で、コマンドDEP_REQとレスポンスDEP_RESのやりとりが複数回行われ、これにより、実データが複数回に分けて、ターゲットからイニシエータに送信される。
一方、ステップS112において、タイムスロット情報TSNが、特定値であると判定された場合、ステップS114に進み、制御部49は、通信装置12の各ブロックを制御することにより、あらかじめ設定されたタイムスロットのタイミングで、実データをペイロードフィールドのPad(の部分)に含むポーリングレスポンスフレームを送信させる。
即ち、例えば、図15で説明したように、SDD処理で用いられるタイムスロットのうちの最初のタイムスロット#0のタイミングで、実データをペイロードフィールドのPadに含むポーリングレスポンスフレームが送信される。
従って、ターゲットがイニシエータに送信する実データが、Padのサイズ以下、即ち、8バイト以下である場合には、イニシエータとしての通信装置12が、図19のステップS101において、通信モードとしてシンプルモードを設定することにより、図14および図15で説明したように、パッシブモードの通信を行う場合に比較して、通信時間の短縮化を図ることができる。
なお、図20では、ターゲットとしての通信装置12において、あらかじめ設定されたタイムスロットが、SDD処理で用いられるタイムスロットのうちの最初のタイムスロット#0であるとして、そのタイムスロット#0のタイミングで、実データをペイロードフィールドのPadに含むポーリングレスポンスフレームを送信するようにしたが、実データをペイロードフィールドのPadに含むポーリングレスポンスフレームを送信するタイムスロットとしては、他のタイムスロットをあらかじめ設定しておくことも可能である。
但し、図8で説明したことから、タイムスロット#iは、ポーリングリクエストフレームから見てi+1番目のタイムスロットであるため、タイムスロット#0を、実データをペイロードフィールドのPadに含むポーリングレスポンスフレームを送信するタイムスロットに設定した場合が、最も通信時間の短縮化を図ることができる。
次に、ターゲットにおいて、実データを、ポーリングレスポンスフレームのペイロードフィールドのPadにセットして、イニシエータに送信する場合には、実データは、Padのサイズである8バイト以下のサイズに制限される。
そこで、シンプルモードの通信では、8バイトを超えるサイズの実データについては、その実データを8バイト以下のサイズの複数のブロックに分割し、複数のブロックのそれぞれをPadにセットした複数のポーリングレスポンスフレームのぞれぞれを、複数のタイムスロットそれぞれのタイミングで、ターゲットからイニシエータに送信することができる。
即ち、SDD処理では、タイムスロット情報TSNに1を加算した数だけのタイムスロットが用意されるが、SDD処理は、イニシエータの周囲に複数のターゲットが存在することを考慮して、その複数のターゲットそれぞれを識別するために行われる処理であり、さらに、SDD処理において、タイムスロットは、複数のターゲットそれぞれからのポーリングレスポンスフレームどうしのコリジョンをなるべく避けるために用いられるので、1つのターゲットが、複数のタイムスロットを使用することは予定されていない(コリジョンをなるべく避けるためには、1つのターゲットが使用するタイムスロットは1つに制限されるべきである)。
一方、シンプルモードの通信は、例えば、イニシエータの周囲に、1つのターゲットしか存在しないことを前提として行われるから、複数のターゲットそれぞれからのポーリングレスポンスフレームどうしのコリジョンが生じることはなく、従って、ターゲットが使用するタイムスロットを1つに制限する必要はない。
そこで、シンプルモードの通信では、図21に示すように、Padに実データをセットした複数のポーリングレスポンスフレームのぞれぞれを、複数のタイムスロットそれぞれのタイミングで、ターゲットからイニシエータに送信することができる。
いま、8バイトを超えるサイズの実データを、例えば、8バイト以下のサイズのブロックに分割したときに、そのブロックの数がTSN+1個であるとすると、図21では、TSN+1個のブロックのうちのi番目のブロック(i=1,2,・・・,TSN+1)がPadにセットされたポーリングレスポンスフレームが、タイムスロット#i-1のタイミングで、ターゲットからイニシエータに送信されている。
なお、タイムスロットの幅(時間)Tsは、上述したように、約1.2msであるから、図21に示したように、TSN+1個のポーリングレスポンスフレームを送信するのに要する通信時間は、図15に示した1個のポーリングレスポンスフレームを送信するのに要する通信時間(約4.0604ms)に、TSN×1.2msを加算した時間となる。
次に、図22のフローチャートを参照して、図21に示したように、シンプルモードの通信に、1以上のポーリングリクエストフレームを利用する場合の、イニシエータとしての通信装置11(図16)の処理について説明する。
イニシエータとしての通信装置11の制御部29(図17)は、ステップS121において、図19のステップS101と同様にして、ターゲットと行う通信の通信モードを設定して、ステップS122に進み、通信装置11の各ブロックを制御することにより、RFCA処理を行わせ、他の装置からの電磁波が存在しない場合には、電磁波の出力を開始させて、ステップS123に進む。
ステップS123では、制御部29は、現在の通信モードを判定し、通信モードがパッシブモードに設定されていると判定した場合、ステップS124に進み、制御部29は、通信装置11の各ブロックを制御することにより、パッシブモードの通信を行わせる。
即ち、ステップS124では、ステップS124−1,S124−2,S124−3,S124−4,S124−5,S124−6において、図19のステップS104−1,S104−2,S104−3,S104−4,S104−5,S104−6とそれぞれ同様の処理が行われ、これにより、例えば、イニシエータとしての通信装置11と、ターゲットとしての通信装置12との間で、図14で説明したパッシブモードの通信により、実データのデータ交換が行われる。
一方、ステップS123において、通信モードがシンプルモードに設定されていると判定された場合、ステップS125に進み、制御部29は、通信装置11の各ブロックを制御することにより、タイムスロット情報TSNに、特定値をセットしたポーリングリクエストフレーム(図9)を送信させる。
なお、ここでは、タイムスロット情報TSNにセットされる特定値としては、イニシエータとしての通信装置11がターゲットから受信する実データのサイズに対応するサイズ対応値、即ち、例えば、ターゲットから受信する実データのサイズ(バイト数)を、Padのサイズである8バイトで除算した商の小数点以下を切り上げた値から1を減算して得られる減算値(またはその減算値以上の値)が採用される。
また、ターゲットから受信する実データのサイズに対応するサイズ対応値が、5つの規格値00H,01H,03H,07H,0FHのうちのいずれかの値に等しい場合には、その値より大きい、規格値でない値が、特定値として採用される。
ここで、タイムスロット情報TSNは、図9で説明したように、1バイトであるので、その最大値はFFHであり、タイムスロットの最大数、ひいては、ターゲットが1つのポーリングリクエストフレームに対して返すことができるポーリングレスポンスフレームの最大数は、FFH+1個である。従って、ターゲットから受信する実データのサイズに対応するサイズ対応値がFFHを越える場合には、その実データは、最大数であるFFH+1個のポーリングレスポンスフレームのPadを利用しても、ターゲットからイニシエータに送信しきれない。
このように、ターゲットから受信する実データのサイズに対応するサイズ対応値がFFHを越える場合、つまり、実データのサイズが8バイト×256を越える場合には、シンプルモードでは、その実データを、ポーリングレスポンスフレームのPadを利用するだけでは、ターゲットからイニシエータに送信することができないため、通信装置11の制御部29(図17)は、ステップS121において、通信モードとして、多量の実データのデータ交換を行うことができるパッシブモードを設定する。
ステップS125において、タイムスロット情報TSNに特定値をセットしたポーリングリクエストフレームが送信されると、ステップS126に進み、制御部29は、通信装置11の各ブロックを制御することにより、ターゲットから送信されてくるポーリングレスポンスフレームを受信させる。
即ち、タイムスロット情報TSNに特定値がセットされているポーリングリクエストフレームを受信したターゲットは、例えば、後述するように、実データを、Padのサイズである8バイトずつに分割したTSN+1のブロックそれぞれがPadにセットされたTSN+1のポーリングレスポンスフレームを、タイムスロット#0乃至#TSNそれぞれのタイミングで送信してくるので、ステップS126では、そのタイムスロット#0乃至#TSNそれぞれのタイミングで送信されてくるTSN+1のポーリングレスポンスフレームそれぞれが受信される。
そして、ステップS127に進み、制御部29は、TSN+1のポーリングレスポンスフレームにそれぞれ含まれるTSN+1のブロックを結合して、元の実データを再構成し、これにより、ターゲットから実データを取得する。
次に、図23のフローチャートを参照して、図21に示したように、シンプルモードの通信に、1以上のポーリングリクエストフレームを利用する場合の、ターゲットとしての通信装置12の処理について説明する。
例えば、イニシエータとしての通信装置11が、図22のステップS122において電磁波の出力を開始し、ターゲットとしての通信装置12が、イニシエータと近接した状態となると、通信装置12の電源部48(図18)が、イニシエータからの電磁波から電源を得て、通信装置12の各ブロックに供給し、これにより、通信装置12は動作可能状態となる。
通信装置12が動作可能状態となると、ステップS131において、制御部49(図18)が、通信装置12の各ブロックを制御することにより、イニシエータから送信されてくるポーリングリクエストフレームを受信させる。
そして、制御部49は、ステップS132において、イニシエータからのポーリングリクエストフレーム(図9)に含まれるタイムスロット情報TSNを認識し、そのタイムスロット情報TSNが、規格値または特定値のいずれであるかを判定する。
ステップS132において、タイムスロット情報TSNが、規格値であると判定された場合、ステップS133に進み、制御部49は、通信装置12の各ブロックを制御することにより、パッシブモードの通信を行わせる。
即ち、ステップS133では、ステップS133−1,S133−2,S133−3,S133−4,S133−5,S133−6において、図20のステップS113−1,S113−2,S113−3,S113−4,S113−5,S113−6とそれぞれ同様の処理が行われ、これにより、例えば、イニシエータとしての通信装置11と、ターゲットとしての通信装置12との間で、図14で説明したパッシブモードの通信により、実データのデータ交換が行われる。
一方、ステップS132において、タイムスロット情報TSNが、特定値であると判定された場合、ステップS134に進み、制御部49は、通信装置12の各ブロックを制御することにより、例えば、実データをPadのサイズに分割し、その結果得られるTSN+1個のブロックをそれぞれ含めたTSN+1個のポーリングレスポンスフレームそれぞれを、あらかじめ設定されたタイムスロットとしてのタイムスロット#0乃至#TSNそれぞれのタイミングで送信させる。即ち、これにより、TSN+1個のブロックのうちのi番目のブロック(i=1,2,・・・,TSN+1)がPadにセットされたポーリングレスポンスフレームは、タイムスロット#i-1のタイミングで、ターゲットからイニシエータに送信される。
なお、実データをPadのサイズのブロックに分割していった場合に、Padのサイズに満たないブロックが生じることがあるが、Padのサイズに満たないブロックは、例えば、パディングによって、Padのサイズのブロックとされる。
以上のように、複数のポーリングレスポンスフレームを利用することにより、シンプルモードの通信であっても、ある程度のサイズの実データを、ターゲットからイニシエータに送信することができる。
ここで、シンプルモードの通信において、複数のポーリングレスポンスフレームの送信に使用する複数のタイムスロットそれぞれの開始位置(開始のタイミング)は、NFCIP-1(ISO/IEC 18092)の規定にしたがっている。さらに、各タイムスロットのタイミングで、ターゲットが送信するポーリングレスポンスフレームのフォーマットも、図10に示した、NFCIP-1に規定されているフォーマットにしたがっている。
従って、イニシエータでは、シンプルモードの通信においてターゲットが送信するポーリングレスポンスフレームについては、そのプリアンブルフィールド(図10)のプリアンブルによって、ポーリングレスポンスフレームの開始を検出することができる。さらに、イニシエータでは、シンプルモードの通信においてターゲットが送信するポーリングレスポンスフレームについては、その同期フィールド(図10)の同期パターンによって同期をとることができる。
なお、ターゲットとしての通信装置12では、実データを、1つのポーリングレスポンスフレームを利用して送信するか、複数のポーリングレスポンスフレームを利用して送信するかにかかわらず、実データには、その内容や使い道によって、CRCやECC(Error Checking and Correction)などの誤り検出符号や誤り訂正符号を付加し、その誤り検出符号や誤り訂正符号が付加された実データの全体を、1つまたは複数のポーリングレスポンスフレームを利用して送信することができる。
さらに、実データを複数のブロックに分割し、その複数のブロックを複数のポーリングレスポンスフレームを利用して送信する場合には、各ブロックに、誤り検出符号や誤り訂正符号を付加することができる。但し、この場合、誤り検出符号や誤り訂正符号が付加されたブロックが、Padのサイズ以下になるように、実データを分割する必要がある。
以上のように、誤り検出符号や誤り訂正符号を付加することにより、イニシエータにおいて、誤り検出や誤り訂正を行うことが可能となる。
また、実データには、インターリーブをかけてもよい。
なお、ターゲットにおいて、実データを複数のブロックに分割し、その複数のブロックを複数のポーリングレスポンスフレームを利用して送信する場合には、イニシエータは、ターゲットが実データを複数に分割する分割方法(実データがどのようなサイズのブロックに分割されるかを含む)をあらかじめ認識しており、その分割方法に基づき、複数のブロックから元の実データを再構成する。
また、上述の場合には、実データを、Padのサイズのブロックである一定のサイズのブロックに分割するようにしたが、実データの分割の方法は、これに限定されるものではない。即ち、実データは、例えば、Padのサイズ以下の可変のサイズのブロックに分割することが可能である。但し、ブロックのサイズが、Padのサイズに満たない場合には、その満たない分は、ブロックを、ポーリングレスポンスフレームのPadにセットするときにパディングされる。
次に、図21乃至図23の実施の形態では、ターゲットにおいて、イニシエータが送信したポーリングリクエストフレームに含まれるタイムスロット情報TSNに基づき、タイムスロット#0乃至#TSNそれぞれのタイミングで、TSN+1個のポーリングレスポンスフレームのそれぞれを送信するようにしたが、即ち、タイムスロット#0乃至#TSNのすべてを使用して、ポーリングレスポンスフレームを送信するようにしたが、ポーリングレスポンスフレームは、例えば、図24に示すように、タイムスロット#0乃至#TSNの中から、ポーリングレスポンスフレームの送信に使用する1以上TSN+1以下のN個のタイムスロットを選択し、そのN個のタイムスロットだけを使用して送信することが可能である。
ここで、図24では、タイムスロット#0乃至#TSNの中から選択された2個のタイムスロット#1と#3それぞれのタイミングで、2個のポーリングレスポンスフレームが送信されている。
次に、図25のフローチャートを参照して、図24に示したように、シンプルモードの通信において、タイムスロット#0乃至#TSNの中から選択されたN個のタイムスロットを使用する場合の、イニシエータとしての通信装置11(図16)の処理について説明する。
イニシエータとしての通信装置11の制御部29(図17)は、ステップS141において、図19のステップS101と同様にして、ターゲットと行う通信の通信モードを設定して、ステップS142に進み、通信装置11の各ブロックを制御することにより、RFCA処理を行わせ、他の装置からの電磁波が存在しない場合には、電磁波の出力を開始させて、ステップS143に進む。
ステップS143では、制御部29は、現在の通信モードを判定し、通信モードがパッシブモードに設定されていると判定した場合、ステップS144に進み、制御部29は、通信装置11の各ブロックを制御することにより、パッシブモードの通信を行わせる。
即ち、ステップS144では、ステップS144−1,S144−2,S144−3,S144−4,S144−5,S144−6において、図19のステップS104−1,S104−2,S104−3,S104−4,S104−5,S104−6とそれぞれ同様の処理が行われ、これにより、例えば、イニシエータとしての通信装置11と、ターゲットとしての通信装置12との間で、図14で説明したパッシブモードの通信により、実データのデータ交換が行われる。
一方、ステップS143において、通信モードがシンプルモードに設定されていると判定された場合、ステップS145に進み、制御部29は、通信装置11の各ブロックを制御することにより、タイムスロット情報TSNに特定値(規格値以外の1バイトの値)をセットしたポーリングリクエストフレーム(図9)を送信させる。
なお、ここでは、ターゲットが、タイムスロット情報TSNに基づき、タイムスロット#0乃至#TSNの中から選択されたN個のタイムスロットを使用して、ポーリングレスポンスフレームを送信するが、ターゲットが、ポーリングレスポンスを送信するのに、タイムスロット#0乃至#TSNのうちのいずれのN個のタイムスロットを使用するかは、例えば、タイムスロット情報TSN(にセットされる特定値)の値ごとに、イニシエータとターゲットにあらかじめ設定されている(決められている)こととする。
そして、ステップS145では、ポーリングレスポンスフレームの送信に使用するN個のタイムスロットに対応する特定値がセットされたタイムスロット情報TSNを含むポーリングリクエストフレームが送信される。
ステップS145でのピーリングレスポンスフレームの送信後は、ステップS147に進み、制御部29は、通信装置11の各ブロックを制御することにより、ターゲットから送信されてくるポーリングレスポンスフレームを受信させる。
即ち、タイムスロット情報TSNに特定値がセットされているポーリングリクエストフレームを受信したターゲットは、実データ(を分割して得られるブロック)を含むN個のポーリングレスポンスフレームそれぞれを、タイムスロット#0乃至#TSNのうちの、タイムスロット情報TSNに対してあらかじめ設定されているN個のタイムスロットそれぞれのタイミングで送信してくるので、ステップS147では、そのN個のタイムスロットそれぞれのタイミングで送信されてくるN個のポーリングレスポンスフレームそれぞれが受信される。
そして、ステップS149に進み、制御部29は、N個のポーリングレスポンスフレームにそれぞれ含まれるN個のブロックを結合して、元の実データを再構成し、これにより、ターゲットから実データを取得する。
次に、図26のフローチャートを参照して、図24に示したように、シンプルモードの通信において、タイムスロット#0乃至#TSNの中から選択されたN個のタイムスロットを使用する場合の、ターゲットとしての通信装置12の処理について説明する。
例えば、イニシエータとしての通信装置11が、図25のステップS142において電磁波の出力を開始し、ターゲットとしての通信装置12が、イニシエータと近接した状態となると、通信装置12の電源部48(図18)が、イニシエータからの電磁波から電源を得て、通信装置12の各ブロックに供給し、これにより、通信装置12は動作可能状態となる。
通信装置12が動作可能状態となると、ステップS151において、制御部49(図18)が、通信装置12の各ブロックを制御することにより、イニシエータから送信されてくるポーリングリクエストフレームを受信させる。
そして、制御部49は、ステップS152において、イニシエータからのポーリングリクエストフレーム(図9)に含まれるタイムスロット情報TSNを認識し、そのタイムスロット情報TSNが、規格値または特定値のいずれであるかを判定する。
ステップS152において、タイムスロット情報TSNが、規格値であると判定された場合、ステップS153に進み、制御部49は、通信装置12の各ブロックを制御することにより、パッシブモードの通信を行わせる。
即ち、ステップS153では、ステップS153−1,S153−2,S153−3,S153−4,S153−5,S153−6において、図20のステップS113−1,S113−2,S113−3,S113−4,S113−5,S113−6とそれぞれ同様の処理が行われ、これにより、例えば、イニシエータとしての通信装置11と、ターゲットとしての通信装置12との間で、図14で説明したパッシブモードの通信により、実データのデータ交換が行われる。
一方、ステップS152において、タイムスロット情報TSNが、特定値であると判定された場合、ステップS154に進み、制御部49は、タイムスロット情報TSNに基づき、タイムスロット#0乃至#TSNの中から、ポーリングレスポンスフレームの送信に使用するN個のタイムスロットを選択し、即ち、タイムスロット情報TSNに対してあらかじめ設定されているN個のタイムスロットを選択し、ステップS155に進む。
ステップS155では、制御部49は、通信装置12の各ブロックを制御することにより、例えば、実データをN個のブロックに分割し、そのN個のブロックをそれぞれ含めたN個のポーリングレスポンスフレームそれぞれを、ステップS154で選択されたN個のタイムスロットそれぞれのタイミングで送信させる。
なお、ここでは、実データをN個のブロックに分割して得られる各ブロックのサイズは、Padのサイズ以下であるとする。
以上のように、シンプルモードの通信において、タイムスロット#0乃至#TSNの中から選択されたN個のタイムスロットを使用して、ポーリングレスポンスフレームを送信することにより、Nを複数とすれば、図21乃至図23の実施の形態と同様に、シンプルモードの通信であっても、ある程度のサイズの実データを、ターゲットからイニシエータに送信することができる。
さらに、タイムスロット情報TSNに対し、ポーリングレスポンスフレームの送信に使用するN個のタイムスロットを、通信装置11および12(図16)以外には秘密にすることにより、通信装置11および12以外の装置は、いずれのタイムスロットのタイミングで実データ(ブロック)を含むポーリングレスポンスフレームが送信されてくるのかが分からないので、かかる観点からは、外部からの盗聴に対する耐性、つまり、セキュリティが向上しているということができる。
次に、以上の実施の形態では、シンプルモードの通信において、イニシエータの通信相手となるターゲットが1つであることを前提としたが、イニシエータの通信相手となるターゲットは、あらかじめ特定されていれば、1つではなく、複数であっても、その複数のターゲットそれぞれと、イニシエータとの間でシンプルモードの通信を行うことが可能である。
即ち、図27は、NFCIP-1に準拠した近接通信の他に、シンプルモードの通信が可能な通信システムの他の構成例を示している。なお、図中、図16における場合と対応する部分については、同一の符号を付してある。
図27の実施の形態では、通信システムは、通信装置11および12と、通信装置13とから構成されている。
通信装置13は、通信装置12と同様に構成されている。従って、通信装置13は、NFCIP-1に関しては、パッシブモードだけを実装しており、さらに、通信装置13は、イニシエータが出力する電磁波を負荷変調することによりデータを送信するターゲットとしてのみ機能する。
図27の通信システムは、例えば、イニシエータが2以下(1以上)のターゲットと通信をすることを前提とするアプリケーションに適用される。
ここで、イニシエータが2以下のターゲットと通信をすることを前提とするアプリケーションとしては、例えば、遊園地のアトラクションに入場するゲートに、イニシエータとしてのR/Wを設置するとともに、アトラクションを利用するためのパス(チケット)として機能する、ターゲットとしてのICカードを、ユーザに発行し、ゲートにおいて、パスの有効性をチェックするアプリケーションなどがある。
即ち、遊園地では、パスの有効期限を記憶したICカードを、ユーザに発行する。特に、例えば、夫婦などのいわゆるカップルとしての2人組のユーザには、2つのターゲット#1と#2それぞれとしての、パスの有効期限を記憶したICカードを発行する。そして、2人組のユーザの1人が、その2人組のユーザそれぞれに発行された2枚のICカードを重ねてR/Wにかざす。この場合、ICカードからR/Wに対して、2枚のICカードそれぞれに記憶されている有効期限を表す実データが送信され、R/Wでは、その実データが表す有効期限がチェックされる。つまり、2人分のパスの有効期限のチェックが一度に行われる。
いま、シンプルモードの通信において、イニシエータとしての通信装置11の通信相手となるターゲットが、1つ目のターゲット#1としての通信装置12と、2つのターゲット#2としての通信装置13との、2つのターゲットであるとすると、イニシエータと、2つのターゲット#1,#2それぞれとの間では、例えば、図28に示すように、シンプルモードの通信が行われる。
即ち、ターゲット#1は、イニシエータからのポーリングリクエストフレームに対して、そのポーリングリクエストフレームに含まれるタイムスロット情報TSNに基づき、タイムスロット#0乃至#TSNの中から、ポーリングレスポンスフレームの送信に使用する1以上TSN+1以下のN個のタイムスロットを選択し、そのN個のタイムスロットを使用して、ポーリングレスポンスフレームを送信する。同様に、ターゲット#2も、イニシエータからのポーリングリクエストフレームに対して、そのポーリングリクエストフレームに含まれるタイムスロット情報TSNに基づき、タイムスロット#0乃至#TSNの中から、ポーリングレスポンスフレームの送信に使用する1以上TSN+1以下のN'個のタイムスロットを選択し、そのN'個のタイムスロットを使用して、ポーリングレスポンスフレームを送信する。
ここで、N,N',TSNは、式TSN+1≧N+N'を満足する。
さらに、ターゲット#1が使用するN個のタイムスロットと、ターゲット#2が使用するN'個のタイムスロットとは、重複しないように、タイムスロット情報TSNの値ごとにあらかじめ設定されている。
図28の実施の形態では、イニシエータが送信したポーリングリクエストフレームに含まれているタイムスロット情報TSNに対して、ターゲット#1が使用するタイムスロットが、タイムスロット#1,#3,・・・であり、ターゲット#2が使用するタイムスロットが、タイムスロット#0,#2,・・・であることが、あらかじめ設定されており、その設定にしたがい、ターゲット#1は、タイムスロット#1,#3,・・・それぞれのタイミングでポーリングレスポンスフレームを送信しており、ターゲット#2は、タイムスロット#0,#2,・・・それぞれのタイミングでポーリングレスポンスフレームを送信している。
ここで、図27および図28の実施の形態では、イニシエータとしての通信装置11が送信するポーリングリクエストフレームに対して、ターゲット#1としての通信装置12と、ターゲット#2としての通信装置13との2つのターゲットのそれぞれが、重複しないタイムスロットのタイミングで、ポーリングレスポンスフレームを送信するが、イニシエータからのポーリングリクエストフレームに対してポーリングレスポンスフレームを返す(送信する)ターゲット、即ち、イニシエータとの間でシンプルモードの通信を行うターゲットの数は、2つに限定されるものではない。
つまり、イニシエータとの間でシンプルモードの通信を行うターゲットの数は、1以上TSN+1以下の任意の数とすることができる。
但し、イニシエータとの間でシンプルモードの通信を行うターゲットの最大数は、あらかじめ設定しておく(定めておく)必要がある。さらに、その最大数のターゲットのそれぞれが使用するタイムスロットも、TSN+1個のタイムスロットの中から重複しないようにあらかじめ設定しておく必要がある。
図29は、イニシエータとの間でシンプルモードの通信を行うターゲットの最大数を、あらかじめ4つ(4種類)に定めておいた場合に、その4つのターゲット#1,#2,#3,#4それぞれが使用するタイムスロットを示している。
即ち、図29は、タイムスロット情報TSNが22である場合に、そのタイムスロット情報TSNに対して、4つのターゲット#1,#2,#3,#4それぞれが使用するタイムスロット(の設定の仕方の例)を示している。
図29における×印が、ターゲットが使用するタイムスロットを示しており、従って、図29では、ターゲット#1が使用するタイムスロットが、タイムスロット#1,#11,#19,#20,#22であること、ターゲット#2が使用するタイムスロットが、タイムスロット#4,#6,#13,#17,#21であること、ターゲット#3が使用するタイムスロットが、タイムスロット#2,#5,#9,#12,#15であること、ターゲット#4が使用するタイムスロットが、タイムスロット#3,#7,#10,#14,#18であることが、あらかじめ設定されている。
いま、ターゲットが使用するタイムスロットとしてあらかじめ設定されている一連のタイムスロットを、チャネルと呼ぶこととし、ターゲット#iが使用すべきチャネルを、チャネル#iと記述することとすると、図29では、タイムスロット#1,#11,#19,#20,#22をチャネル#1とし、タイムスロット#4,#6,#13,#17,#21をチャネル#2とし、タイムスロット#2,#5,#9,#12,#15をチャネル#3とし、タイムスロット#3,#7,#10,#14,#18をチャネル#4として、4つのターゲット#1乃至#4は、イニシエータからのポーリングリクエストフレームに対し、チャネル#1乃至#4をそれぞれ使用して、ポーリングレスポンスフレームを送信する(返す)。
イニシエータとターゲットには、図29に示したような、ターゲット#iが使用すべきチャネル#i(を構成するタイムスロット)を表したテーブル(以下、適宜、チャネルテーブルという)が、タイムスロット情報TSNの各値に対応付けて記憶されており(例えば、EEPROM29B(図17)とEEPROM49B(図18)に記憶されており)、イニシエータは、例えば、ターゲットから受信する実データのサイズに応じ、そのサイズの実データの送信に必要な数のタイムスロットから構成されるチャネルを使用することができる値のタイムスロット情報TSNを含むポーリングリクエストフレームを送信する。
一方、ターゲット#iは、イニシエータからのポーリングリクエストフレームを受信しそのポーリングリクエストフレームに含まれるタイムスロット情報TSNに対応付けられたチャネルテーブルから、自身が使用するチャネル#iを構成するタイムスロットを認識し、そのタイムスロットを用いて、実データ(を分割したブロック)を含むポーリングレスポンスフレームを送信する。
即ち、イニシエータは、上述したように、シンプルモードの通信において、あらかじめ設定された最大数以下のターゲット#1乃至#Mそれぞれを通信対象とする場合、図25のフローチャートで説明した処理と同様の処理を行う。
但し、図25のステップS145では、複数のターゲット#1乃至#Mそれぞれから受信する実データのサイズに応じ、そのサイズの実データをターゲット#1乃至#Mそれぞれが送信するのに必要な数のタイムスロットから構成されるチャネルを使用することができる値のタイムスロット情報TSNを含むポーリングリクエストフレームが送信される。
また、ステップS149では、制御部29は、チャネルテーブル(図29)を参照することにより、複数のターゲット#1乃至#Mそれぞれがポーリングレスポンスフレームを送信してくるタイムスロットを認識し、これにより、複数のターゲット#1乃至#Mそれぞれごとに、そのターゲットから送信されてきた1以上のポーリングレスポンスフレームそれぞれに含まれるブロックを結合して、元の実データを再構成する。
ここで、イニシエータでは、上述したように、ターゲット#1乃至#Mのうちのi番目のターゲット#iがポーリングレスポンスフレームを送信してくるタイムスロットは、チャネルテーブルを参照することにより認識することができるので、ターゲット#iから送信されてくるポーリングレスポンスフレームは、ポーリングレスポンスフレームが送信されてきたタイムスロットによって認識することができる。
なお、ターゲット#iから送信されてくるポーリングレスポンスフレームは、その他、ポーリングレスポンスフレーム(図10)に含まれるNFCID2から認識することも可能である。
一方、複数のターゲット#1乃至#Mのそれぞれは、図26のフローチャートで説明した処理と同様の処理を行う。
但し、図26のステップS154では、ターゲット#1乃至#Mのうちのi番目のターゲット#iは、イニシエータからのポーリングリクエストフレームに含まれるタイムスロット情報TSNに対応するチャネルテーブル(図29)に基づき、自身が使用すべきチャネル#iを構成する1以上のタイムスロットを認識(選択)する。
また、ステップS155では、ターゲット#iは、チャネル#iを構成するタイムスロットの数がN個であるとすると、実データをN個のブロックに分割し、そのN個のブロックをそれぞれ含めたN個のポーリングレスポンスフレームそれぞれを、チャネル#iを構成するN個のタイムスロットそれぞれのタイミングで送信する。
以上のように、イニシエータとの通信対象となるターゲットが複数であっても、その複数のターゲットそれぞれと、イニシエータとの間で、シンプルモードの通信を行うことができる。
ここで、最大数以下のターゲット#1乃至#Mにおいて、チャネル#iを使用するターゲット#iは、1つでなければならない。即ち、最大数以下のターゲット#1乃至#Mの中に、チャネル#iを使用するターゲット#iは、複数存在してはならない。
なお、チャネルテーブルを、シンプルモードの通信が可能なイニシエータと複数のターゲット以外には秘密にすることにより、そのイニシエータと複数のターゲット以外の装置は、いずれのタイムスロットのタイミングで、いずれのターゲットの実データ(ブロック)を含むポーリングレスポンスフレームが送信されてくるのかが分からないため、複数のターゲットが送信した元の実データそれぞれを再構成することが困難となる。かかる観点からは、セキュリティが向上しているということができる。
また、タイムスロット情報TSNの各値ごとのチャネルテーブルは、チャネルを構成するタイムスロットが異なるものを複数用意しておき、イニシエータとターゲットとにおいて、参照するチャネルテーブルを、所定の時間間隔で変更することができる。この場合、ターゲットが使用するタイムスロットが所定の時間間隔で変更されるので、よりセキュリティを向上させることができる。
以上のように、図16や図27の通信システムにおいては、イニシエータとしての通信装置11が、NFCIP-1(ISO/IEC 18092)の規定どおり、イニシエータが送信した1つのポーリングリクエストフレームに対応して、複数のタイムスロットそれぞれのタイミングで送信されてくるポーリングレスポンスフレームを受信する機能を有する。
また、NFCIP-1では、ポーリングレスポンスフレームのPadを無視すると規定しているが、ターゲットとしての通信装置12や13は、実データをポーリングレスポンスフレームフレームのPadに格納(セット)して、イニシエータに送信する機能を有する。
さらに、ターゲットとしての通信装置12や13は、実データを1つのPadに格納しきれない場合には、実データを複数のブロックに分割して複数のポーリングレスポンスフレームフレームのPadに格納する機能を有する。
また、イニシエータとしての通信装置11は、1つのターゲットが1以上のタイムスロットのタイミングで送信してくるポーリングレスポンスフレームのPadに格納された実データ(ブロック)を、元の実データに再構成する機能を有する。
従って、1つのポーリングレスポンスフレームに格納することができるサイズの実データであれば、SDD処理のシーケンスをそのまま利用して、短い通信時間で、ターゲットからイニシエータに送信することができる。
また、1つのポーリングレスポンスフレームに格納することができるサイズを超えるサイズの実データであっても、TSN+1個のタイムスロット、またはTSN+1個のタイムスロットから選択された複数のタイムスロットで送信される複数のポーリングレスポンスフレームを使用することにより、やはり、SDD処理のシーケンスをそのまま利用して、比較的短い通信時間で、ターゲットからイニシエータに送信することができる。
さらに、TSN+1個のタイムスロットから選択された複数のタイムスロットを使用して、複数のポーリングレスポンスフレームを送信する場合には、TSN+1個のタイムスロットから選択されるタイムスロットを、イニシエータとターゲット以外の装置には秘密にすることにより、ある程度のセキュリティを確保することができる。
また、ターゲットにおいて、実データに誤り検出符号や誤り訂正符号を付加する場合には、例えば、ターゲットがポーリングレスポンスフレームを送信したタイムスロットのタイミングで、他の装置が何らかのデータを送信することによりコリジョンが生じ、イニシエータにおいて、ターゲットが送信した複数のポーリングレスポンスフレームのうちの幾つかが正常に受信することができなくても、残りの正常受信をすることができたポーリングレスポンスフレームから、誤り検出や誤り訂正を行うことができる。
次に、上述した図16や図27の通信システムでは、パッシブモードの通信と、シンプルモードの通信とを、いわば選択的に行うが、シンプルモードの通信のみを行うようにすることも可能である。
即ち、例えば、NFCIP-1以外の近接通信の通信プロトコルが実装されたICカードシステム等の通信システムにおいて、イニシエータとしてのR/Wの周囲にターゲットとしての複数のICカードが存在する場合には、その複数のICカードのそれぞれに対して、1つのタイムスロットを重複しないようにあらかじめ割り当て、各ICカードが、そのICカードの割り当てられた1つのタイムスロットのタイミングで、R/Wが要求する実データを送信することで、複数のICカードそれぞれからR/Wに対して送信されてくる実データが同一のタイミングで送信されるコリジョンが生じることを防止することができる。
しかしながら、R/Wと通信をするICカードが、例えば、1つであることを前提とするアプリケーションに、ICカードシステムが適用される場合にも、R/Wと通信をする1つのICカードに対して、1つのタイムスロットだけが割り当てられるときには、R/Wからの実データの要求に対して、1つのタイムスロットで送信することができる僅かなデータしか送信することができない。従って、ある程度のサイズの実データを、ICカードからR/Wに送信するには、R/Wは、実データの要求を複数回行わなければならず、このため、ある程度のサイズの実データを、ICカードからR/Wに送信するのに、ある程度の通信時間を要することになる。
そこで、NFCIP-1以外の近接通信の通信プロトコルが実装された通信システムであっても、イニシエータと通信をするターゲットが、例えば、1つであることを前提とするアプリケーションに適用され、かつ、タイムスロットを用いた通信を行う通信システムでは、上述のシンプルモードの通信を行うようにするようにすることで、ある程度のサイズの実データを送信するための通信時間を短縮することができる。
即ち、図30は、タイムスロットを用いた通信として、シンプルモードの通信(近接通信)を行う通信システムの構成例を示している。
図30において、通信システムは、シンプルモードの通信を行うことができる通信装置101と102とから構成されており、イニシエータである通信装置101と、ターゲットである通信装置102とが、上述したシンプルモードの通信を行うことによって、実データのデータ交換を行う。
なお、図30の実施の形態では、通信装置101は、自身が電磁波を出力し、その電磁波を変調することによりデータを送信するイニシエータとしてのみ機能し、通信装置102は、イニシエータが出力する電磁波を負荷変調することによりデータを送信するターゲットとしてのみ機能することとする。
また、通信装置101は、例えば、図17に示した通信装置11と同様に構成され、通信装置102は、例えば、図18に示した通信装置12と同様に構成される。
次に、図30の通信システムで行われるシンプルモードの通信について説明するが、ここでは、説明を簡単にするために、イニシエータとしての通信装置101は、NFCIP-1に準拠した図16の通信装置11と同様に、図9のポーリングリクエストフレームを送信することによって、ターゲットに実データを要求することとする。また、ターゲットとしての通信装置102は、NFCIP-1に準拠した図16の通信装置12と同様に、イニシエータからのポーリングリクエストフレームに対して、図10のポーリングレスポンスフレームによって、イニシエータに実データを送信することとする。さらに、タイムスロットの幅Tsや、1つのポーリングリクエストフレームに対して用意されるタイムスロットの数等は、NFCIP-1に規定されているSDD処理の場合と同様であるとする。
まず、図31のフローチャートを参照して、図21に示したように、複数のポーリングリクエストフレームを利用してシンプルモードの通信を行う場合の、イニシエータとしての通信装置101の処理について説明する。
イニシエータとしての通信装置101の制御部29(図17)は、通信装置101の各ブロックを制御することにより、電磁波の出力を開始させる。そして、ステップS201において、制御部29は、図22のステップS125の場合と同様にして、通信装置101の各ブロックを制御することにより、タイムスロット情報TSNに1バイトの値をセットしたポーリングリクエストフレーム(図9)を送信させる。
即ち、ステップS201では、イニシエータとしての通信装置101がターゲットから受信する実データのサイズに対応する1バイトのサイズ対応値がタイムスロット情報TSNにセットされたポーリングリクエストフレームが送信される。
図16や図27の通信システムでは、シンプルモードの通信の他、パッシブモードの通信も行いうるため、シンプルモードの通信を行う場合には、パッシブモードの通信(SDD処理)においてタイムスロット情報TSNにセットされるべき値としてNFCIP-1で規定されている規格値以外の1バイトの値である特定値を、タイムスロット情報TSNにセットするようにしたが、図30の通信システムでは、パッシブモードの通信は行わないので、タイムスロット情報TSNには、任意の1バイトの値をセットすることができる。
ステップS201において、タイムスロット情報TSNに値をセットしたポーリングリクエストフレームが送信されると、ステップS202に進み、制御部29は、通信装置101の各ブロックを制御することにより、ターゲットから送信されてくるポーリングレスポンスフレームを受信させる。
即ち、タイムスロット情報TSNに値がセットされているポーリングリクエストフレームを受信したターゲットは、後述するように、実データを、Padのサイズである8バイトずつに分割したTSN+1のブロックそれぞれがPadにセットされたTSN+1のポーリングレスポンスフレームを、タイムスロット#0乃至#TSNそれぞれのタイミングで送信してくるので、ステップS202では、そのタイムスロット#0乃至#TSNそれぞれのタイミングで送信されてくるTSN+1のポーリングレスポンスフレームそれぞれが受信される。
そして、ステップS203に進み、制御部29は、TSN+1のポーリングレスポンスフレームにそれぞれ含まれるTSN+1のブロックを結合して、元の実データを再構成し、これにより、ターゲットから実データを取得する。
次に、図32のフローチャートを参照して、図21に示したように、複数のポーリングリクエストフレームを利用してシンプルモードの通信を行う場合の、ターゲットとしての通信装置102の処理について説明する。
例えば、イニシエータとしての通信装置101が電磁波の出力を開始し、ターゲットとしての通信装置102が、イニシエータと近接した状態となると、通信装置102の電源部48(図18)が、イニシエータからの電磁波から電源を得て、通信装置102の各ブロックに供給し、これにより、通信装置102は動作可能状態となる。
通信装置102が動作可能状態となると、ステップS211において、制御部49(図18)が、通信装置102の各ブロックを制御することにより、イニシエータから送信されてくるポーリングリクエストフレームを受信させる。
そして、制御部49は、ステップS212において、イニシエータからのポーリングリクエストフレーム(図9)に含まれるタイムスロット情報TSNを認識し、さらに、そのタイムスロット情報TSNに基づき、実データの送信に使用するタイムスロットの数TSN+1を認識して、ステップS213に進む。
ステップS213では、制御部49は、通信装置102の各ブロックを制御することにより、例えば、実データをPadのサイズに分割して得られるTSN+1個のブロックをそれぞれ含めたTSN+1個のポーリングレスポンスフレームそれぞれを、タイムスロット情報TSNに対してあらかじめ設定されたN+1個のタイムスロット#0乃至#TSNそれぞれのタイミングで送信させる。即ち、これにより、TSN+1個のブロックのうちのi番目のブロック(i=1,2,・・・,TSN+1)がPadにセットされたポーリングレスポンスフレームは、タイムスロット#i-1のタイミングで、ターゲットからイニシエータに送信される。
以上のように、複数のポーリングレスポンスフレームを利用することにより、短い通信時間で、ある程度のサイズの実データを、ターゲットとしての通信装置102からイニシエータとしての通信装置101に送信することができる。
次に、図33のフローチャートを参照して、図24に示したように、タイムスロット#0乃至#TSNの中から選択されたN個のタイムスロットを使用してシンプルモードの通信を行う場合の、イニシエータとしての通信装置101(図30)の処理について説明する。
イニシエータとしての通信装置101の制御部29(図17)は、通信装置101の各ブロックを制御することにより、電磁波の出力を開始させる。そして、ステップS221において、制御部29は、通信装置101の各ブロックを制御することにより、タイムスロット情報TSNに1バイトの値をセットしたポーリングリクエストフレーム(図9)を送信させる。
なお、ここでも、図25で説明したように、タイムスロット情報TSNの値ごとに、ターゲットが、ポーリングレスポンスフレームを送信するのに使用する、タイムスロット#0乃至#TSNのうちのN個のタイムスロットが、イニシエータとしての通信装置101とターゲットとしての通信装置102に、あらかじめ設定されていることとする。
そして、ステップS221では、ポーリングレスポンスフレームの送信に使用するN個のタイムスロットに対応する値がセットされたタイムスロット情報TSNを含むポーリングリクエストフレームが送信される。
ステップS221でのポーリングレスポンスフレームの送信後は、ステップS223に進み、制御部29は、通信装置101の各ブロックを制御することにより、ターゲットから送信されてくるポーリングレスポンスフレームを受信させる。
即ち、タイムスロット情報TSNに値がセットされているポーリングリクエストフレームを受信したターゲットは、実データ(を分割して得られるブロック)を含むN個のポーリングレスポンスフレームそれぞれを、タイムスロット#0乃至#TSNのうちの、タイムスロット情報TSNに対してあらかじめ設定されているN個のタイムスロットそれぞれのタイミングで送信してくるので、ステップS223では、そのN個のタイムスロットそれぞれのタイミングで送信されてくるN個のポーリングレスポンスフレームそれぞれが受信される。
そして、ステップS225に進み、制御部29は、N個のポーリングレスポンスフレームにそれぞれ含まれるN個のブロックを結合して、元の実データを再構成し、これにより、ターゲットから実データを取得する。
次に、図34のフローチャートを参照して、図24に示したように、タイムスロット#0乃至#TSNの中から選択されたN個のタイムスロットを使用して、シンプルモードの通信を行う場合の、ターゲットとしての通信装置102(図30)の処理について説明する。
例えば、イニシエータとしての通信装置101が電磁波の出力を開始し、ターゲットとしての通信装置102が、イニシエータと近接した状態となると、通信装置102の電源部48(図18)が、イニシエータからの電磁波から電源を得て、通信装置102の各ブロックに供給し、これにより、通信装置102は動作可能状態となる。
通信装置102が動作可能状態となると、ステップS231において、制御部49(図18)が、通信装置102の各ブロックを制御することにより、イニシエータから送信されてくるポーリングリクエストフレームを受信させる。
そして、制御部49は、ステップS232において、イニシエータからのポーリングリクエストフレーム(図9)に含まれるタイムスロット情報TSNを認識し、さらに、そのタイムスロット情報TSNに基づき、実データの送信に使用するタイムスロットの数TSN+1を認識して、ステップS233に進む。
ステップS233では、制御部49は、TSN+1個のタイムスロット#0乃至#TSNの中から、ポーリングレスポンスフレームの送信に使用する、2以上TSN+1以下のN個のタイムスロットを選択し、即ち、タイムスロット情報TSNに対してあらかじめ設定されているN個のタイムスロットを選択し、ステップS234に進む。
ステップS234では、制御部49は、通信装置102の各ブロックを制御することにより、例えば、実データをN個のブロックに分割し、そのN個のブロックをそれぞれ含めたN個のポーリングレスポンスフレームそれぞれを、ステップS234で選択されたN個のタイムスロットそれぞれのタイミングで送信させる。
なお、ここでは、実データをN個のブロックに分割して得られる各ブロックのサイズは、Padのサイズ以下であるとする。
以上のように、TSN+1個のタイムスロット#0乃至#TSNのすべて、または、そのタイムスロット#0乃至#TSNの中から選択されたN個のタイムスロットを使用して、ポーリングレスポンスフレームを送信することにより、ある程度のサイズの実データを、ターゲットからイニシエータに送信することができる。
また、TSN+1個のタイムスロット#0乃至#TSNの中から選択されたN個のタイムスロットを使用して、ポーリングレスポンスフレームを送信する場合には、タイムスロット情報TSNに対し、ポーリングレスポンスフレームの送信に使用するN個のタイムスロットを、通信装置101および102(図30)以外には秘密にすることにより、通信装置101および102以外の装置は、いずれのタイムスロットのタイミングで実データ(ブロック)を含むポーリングレスポンスフレームが送信されてくるのかが分からないので、かかる観点からは、セキュリティが向上しているということができる。
さらに、図30の通信システムでは、イニシエータである通信装置101の通信相手となるターゲットが、通信装置102の1つであることを前提としたが、イニシエータの通信相手となるターゲットは、あらかじめ特定されていれば、1つではなく、複数であっても、その複数のターゲットそれぞれと、イニシエータとの間でシンプルモードの通信を行うことが可能である。
即ち、イニシエータと複数のターゲットそれぞれには、図29に示したような、タイムスロット情報TSNの各値に対応付けられたチャネルテーブルをあらかじめ設定しておく(記憶させておく)。そして、イニシエータは、例えば、ターゲットから受信する実データのサイズに応じ、そのサイズの実データの送信に必要な数のタイムスロットから構成されるチャネルを使用することができる値のタイムスロット情報TSNを含むポーリングリクエストフレームを送信する。
一方、複数のターゲットのうちのi番目のターゲット#iは、イニシエータからのポーリングリクエストフレームを受信しそのポーリングリクエストフレームに含まれるタイムスロット情報TSNに対応付けられたチャネルテーブルから、自身が使用するチャネル#iを構成するタイムスロットを認識し、そのタイムスロットを用いて、実データ(を分割したブロック)を含むポーリングレスポンスフレームを送信する。
具体的には、例えば、イニシエータとしての通信装置101の通信相手が、M個のターゲット#1乃至#Mであるとすると、イニシエータとしての通信装置101は、図33のフローチャートで説明した処理と同様の処理を行う。
但し、図33のステップS221では、複数のターゲット#1乃至#Mそれぞれから受信する実データのサイズに応じ、そのサイズの実データをターゲット#1乃至#Mそれぞれが送信するのに必要な数のタイムスロットから構成されるチャネルを使用することができる値のタイムスロット情報TSNを含むポーリングリクエストフレームが送信される。
また、ステップS225では、イニシエータとしての通信装置101において、チャネルテーブル(図29)を参照することにより、複数のターゲット#1乃至#Mそれぞれがポーリングレスポンスフレームを送信してくるタイムスロットが認識され、これにより、複数のターゲット#1乃至#Mそれぞれごとに、そのターゲットから送信されてきた1以上のポーリングレスポンスフレームそれぞれに含まれるブロックが結合されて、元の実データが再構成される。
一方、複数のターゲット#1乃至#Mのそれぞれでは、図34のフローチャートで説明した処理と同様の処理が行われる。
但し、図34のステップS233では、ターゲット#1乃至#Mのうちのi番目のターゲット#iとしての、例えば、通信装置102は、イニシエータとしての通信装置101からのポーリングリクエストフレームに含まれるタイムスロット情報TSNに対応するチャネルテーブルに基づき、自身が使用すべきチャネル#iを構成する1以上のタイムスロットを認識(選択)する。
また、ステップS233では、ターゲット#iとしての通信装置102は、チャネル#iを構成するタイムスロットの数がN個であるとすると、実データをN個のブロックに分割し、そのN個のブロックをそれぞれ含めたN個のポーリングレスポンスフレームそれぞれを、チャネル#iを構成するN個のタイムスロットそれぞれのタイミングで送信する。
以上のように、イニシエータとの通信対象となるターゲットが複数であっても、その複数のターゲットそれぞれと、イニシエータとの間で、シンプルモードの通信を行うことができる。
なお、図30の通信システムにおいても、図16や図27の通信システムと同様に、ポーリングレスポンスフレームに含める実データには、誤り検出符号や誤り訂正符号を付加することができる。また、実データには、インターリーブをかけてもよい。さらに、チャネルテーブルは、所定の時間間隔で変更することができる。
ここで、本明細書において、コンピュータ(CPUやDSP(Digital Signal Processor)等のプロセッサを含む)に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11,12,13 通信装置, 21 アンテナ, 22 受信部, 23 復調部, 24 デコード部, 25 データ処理部, 26 エンコード部, 27 電磁波出力部, 29 制御部, 29A CPU, 29B EEPROM, 30 電源部, 41 アンテナ, 42 受信部, 43 復調部, 44 デコード部, 45 データ処理部, 46 エンコード部, 47 負荷変調部, 48 電源部, 49 制御部, 49A CPU, 49B EEPROM, 101,102 通信装置