(57)【特許請求の範囲】
【請求項１】
通信制御装置と、前記通信制御装置の通信可能エリア内に存在する複数の通信機との間で通信を行う通信装置において、
前記通信制御装置は、
前記複数の通信機のそれぞれから仮ＩＤに相当するフラグ応答を受信するためのフラグ要請コマンドを送信するフラグ要請手段と、
前記フラグ要請コマンドに対する返答として、前記複数の通信機のそれぞれからフラグ応答を受信し、通信可能エリア内に存在する前記複数の通信機を特定するフラグ識別手段と、
特定された前記複数の通信機のそれぞれから真のＩＤを受信するためのＩＤ要請コマンドを送信するＩＤ要請手段と、
前記ＩＤ要請コマンドに対する返答として、特定された前記複数の通信機のそれぞれからＩＤ応答を受信し、通信可能エリア内に存在する前記複数の通信機の真のＩＤを特定するＩＤ識別手段と
を有し、
前記複数の通信機のそれぞれは、
前記通信制御装置から前記フラグ要請コマンドを受信した場合に、ランダムに生成したフラグ応答を前記通信制御装置に返信するフラグ応答手段と、
前記通信制御装置から前記ＩＤ要請コマンドを受信した場合に、自身にあらかじめ割り当てられているＩＤを前記通信制御装置に返信するＩＤ応答手段と
を有し、
前記フラグ応答手段は、各々の通信機が所定のビット長においてランダムに特定した１つ以上の任意のビットのみが１となるようにすることで、前記複数の通信機のそれぞれで１となるビットの時間軸上の場所がランダムとなるように仮ＩＤを生成し、生成した前記仮ＩＤを前記フラグ応答として前記通信制御装置に返信し、
前記フラグ識別手段は、前記通信制御装置が所定時間内に前記複数の通信機のそれぞれから返信されたフラグ応答を重ね合わせた加算信号を受信し、前記加算信号で１となっているビットの時間軸上の場所に基づいて前記加算信号から仮ＩＤを抽出することで、フラグ応答を返信した複数の通信機を特定する
ことを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置において、
前記フラグ識別手段は、特定した前記通信機の総数が、あらかじめ設定した許容通信機数よりも大きい場合には、２以上の通信機から同一のフラグ応答が返答された状態であるフラグ応答の衝突が発生した確率が想定値を超過したと判断し、前記フラグ要請手段に対してフラグ要請コマンドの再送指令を出し、
前記フラグ要請手段は、前記再送指令を受け取った場合には、フラグ応答を返送する通信機数を減らすために、任意のビット長のマスクビットを順次設定してフラグ要請コマンドを送信し、
前記フラグ応答手段は、自身にあらかじめ割り当てられているＩＤのある特定ビットと、前記フラグ要請コマンドに含まれている前記マスクビットとの比較結果が一致している場合に前記フラグ応答を前記通信制御装置に返信し、
前記フラグ識別手段は、設定したマスクごとに特定した通信機を集計することにより、通信可能エリア内に存在する前記複数の通信機を特定する
ことを特徴とする通信装置。
【請求項３】
請求項１または２に記載の通信装置において、
前記ＩＤ要請手段は、特定された前記複数の通信機の総数に応じて、前記複数の通信機のそれぞれのタイムスロットを規定した１つのＩＤ要請コマンドを送信し、
前記ＩＤ応答手段は、前記通信制御装置から前記ＩＤ要請コマンドを受信した場合に、自身に割り当てられたタイムスロットと一致するタイミングで、自身にあらかじめ割り当てられているＩＤを前記通信制御装置に返信する
ことを特徴とする通信装置。
【請求項４】
請求項３に記載の通信装置において、
前記通信制御装置は、ＩＤ応答の衝突が発生したタイムスロット情報を記憶する記憶部をさらに備え、
前記ＩＤ識別手段は、タイムスロット毎に受信するＩＤ応答で受信エラーが発生した場合には、同一のタイムスロットで複数の通信機からのＩＤ応答の衝突が発生したと判断し、衝突が発生したタイムスロット情報を前記記憶部に記憶させ、
前記フラグ要請手段は、前記ＩＤ識別手段により前記複数の通信機の総数分のＩＤ応答の受信処理が完了した後に、前記記憶部に前記タイムスロット情報が記憶されている場合には、前記タイムスロット情報に対応する通信機に対して、仮ＩＤを受信するための再フラグ要請コマンドを送信する
ことを特徴とする通信装置。
【請求項５】
請求項１または２に記載の通信装置において、
前記ＩＤ要請手段は、特定された前記複数の通信機の総数に応じて、前記フラグ応答により前記複数の通信機のいずれか１つを特定したＩＤ要請コマンドを送信する処理を逐次行い、
前記ＩＤ応答手段は、前記通信制御装置から前記ＩＤ要請コマンドを受信し、かつ、自身が返送したフラグ応答と前記ＩＤ要請コマンドに含まれているフラグ応答が一致した場合に、自身にあらかじめ割り当てられているＩＤを前記通信制御装置に返信する
ことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１個の通信制御装置とＮ個の通信機とを備えた通信装置に関し、特に、１個の通信制御装置とＮ個の通信機との間の通信のコリジョンコントロールを行う通信装置に関する。
【背景技術】
【０００２】
現在、流通業、運送業などで、バーコードに代わる高機能な情報管理システムとして、ＩＣタグやＲＦＩＤ（Radio Frequency Identification）と呼ばれる無線タグが採用されつつある。
【０００３】
このような無線タグの運用においては、１つのリーダライタに対して１つの無線タグが通信を行う場合もあるが、１つのリーダライタに対して複数の無線タグが通信を行う場合（マルチリード）もある。そして、後者の場合には、リーダライタの通信方式に各無線タグが対応していなければ通信が不能になる。例えば、リーダライタからの応答要求に対して、複数の無線タグが同時にリーダライタに返信すると、複数の無線タグからの信号が衝突してしまう。
【０００４】
このような衝突が発生すると、リーダライタは、無線タグからの信号内容が認識できなくなる。つまり、リーダライタと複数の無線タグとが通信を行う場合には、複数の無線タグが同時に返信することを回避し、リーダライタが各無線タグからの信号を正確に認識できるように通信制御を行う必要がある。
【０００５】
衝突を回避するために、リーダライタと複数の無線タグとの通信に用いられる通信制御方式は、一般にアンチコリジョン方式と呼ばれる。近年では、ＩＣタグ・ＲＦＩＤ用に様々なアンチコリジョン方式が提案されている。このため、運用するシステムに適したアンチコリジョン方式の選択が必要となる。
【０００６】
一般的なアンチコリジョン方式としては、Ｓｌｏｔｔｅｄ−ＡＬＯＨＡ方式を改良したものがよく用いられる。Ｓｌｏｔｔｅｄ−ＡＬＯＨＡ方式は、リーダライタからの応答要求信号に対して、リーダライタによって用意されたタイムスロットを、複数の無線タグがランダム、あるいは一定のルールに従って選択し、リーダライタへ応答信号を返信する。
【０００７】
これにより、リーダライタは、各無線タグからの応答信号を異なるタイミングで受信することが可能になり、応答信号の衝突を回避できる。例えば、タイムスロット数を読取り無線タグ数よりも大きくとることにより、複数の無線タグからのレスポンスの衝突を防ぐとともに、読取り時間の大幅な短縮化を図る無線タグシステムがある（例えば、特許文献１参照）。上述の従来技術においては、リーダライタが通信制御装置に相当し、複数の無線タグがＮ個の通信機に相当する。
【０００８】
【特許文献１】特開２０００−１１３１２７号公報（第１頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来技術には次のような課題がある。従来のアンチコリジョン処理において、各無線タグは、リーダライタからのＩＤ要請信号に対し、リーダライタによって示された範囲内でタイムスロットをランダムに選択し、ＩＤ応答を返すという方式を用いていた。このため、ＩＤ応答は、成功・失敗にかかわらず１パケット分の時間を消費し、ランダムアクセス試行の成功率を向上させるためには、多くのタイムスロットの選択範囲を用意する必要がある。
【００１０】
また、従来技術として、本来のＩＤより短い仮ＩＤを用いる方式や、空データの無駄なタイムスロットでは、すぐに次のタイムスロットに切り替えるといった時間短縮の方法が用いられているものの、高効率、高精度の面からは、いまだ不十分である。
【００１１】
また、従来技術において、リーダライタにより用意されたタイムスロットの選択範囲に対し、非常に多くの無線タグとアンチコリジョン処理を行った場合には、非常に時間をかけて対象となる無線タグを検出するか、最悪いつまで経っても検出できないという問題があった。
【００１２】
これに対し、マスクを用いて無線タグを１/２ずつ、１/４ずつといったように切り分けて順番に処理することにより、多数の無線タグに対応する方式がある。しかしながら、マスク値を最適化するためには、無線タグにＩＤ応答の試し打ちをさせる必要があり、これに時間を要するという問題がある。
【００１３】
上述のようにマルチリードを可能とする種々のアンチコリジョン方式が提案されている。しかし、今後無線タグの需要増大が予想され、より多くの無線タグに高速にアクセスする必要が出てくる。その際、現在あるようなアンチコリジョン方式では、性能不十分であり、より高効率、高精度なアンチコリジョン方式が求められる。
【００１４】
本発明は上述のような課題を解決するためになされたもので、複数の通信機の認識時間を短縮した高効率、高精度なアンチコリジョン通信を行う通信装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明に係る通信装置は、通信制御装置と、通信制御装置の通信可能エリア内に存在する複数の通信機との間で通信を行う通信装置において、通信制御装置は、複数の通信機のそれぞれから仮ＩＤに相当するフラグ応答を受信するためのフラグ要請コマンドを送信するフラグ要請手段と、フラグ要請コマンドに対する返答として、複数の通信機のそれぞれからフラグ応答を受信し、通信可能エリア内に存在する複数の通信機を特定するフラグ識別手段と、特定された複数の通信機のそれぞれから真のＩＤを受信するためのＩＤ要請コマンドを送信するＩＤ要請手段と、ＩＤ要請コマンドに対する返答として、特定された複数の通信機のそれぞれからＩＤ応答を受信し、通信可能エリア内に存在する複数の通信機の真のＩＤを特定するＩＤ識別手段とを有し、複数の通信機のそれぞれは、通信制御装置からフラグ要請コマンドを受信した場合に、ランダムに生成したフラグ応答を通信制御装置に返信するフラグ応答手段と、通信制御装置からＩＤ要請コマンドを受信した場合に、自身にあらかじめ割り当てられているＩＤを通信制御装置に返信するＩＤ応答手段とを有し、フラグ応答手段は、各々の通信機が所定のビット長においてランダムに特定した１つ以上の任意のビットのみが１となるようにすることで、複数の通信機のそれぞれで１となるビットの時間軸上の場所がランダムとなるように仮ＩＤを生成し、生成した仮ＩＤをフラグ応答として通信制御装置に返信し、フラグ識別手段は、通信制御装置が所定時間内に複数の通信機のそれぞれから返信されたフラグ応答を重ね合わせた加算信号を受信し、加算信号で１となっているビットの時間軸上の場所に基づいて加算信号から仮ＩＤを抽出することで、フラグ応答を返信した複数の通信機を特定するものである。
【発明の効果】
【００１６】
本発明によれば、従来同時に行われていたタイムスロットを選択する処理とＩＤを認証する処理とを分離し、タイムスロットを選択する処理には非常に短いフラグを仮ＩＤとして用いることにより、複数の通信機の認識時間を短縮した高効率、高精度なアンチコリジョン通信を行う通信装置を得ることができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の通信装置の好適な実施の形態につき図面を用いて説明する。以下の説明においては、通信装置の一例として、複数の通信機に相当するＩＣタグと、１個の通信制御装置に相当するリーダライタとを備えた無線装置の場合について説明する。
【００１８】
なお、本技術は、１つの通信制御装置とＮ個の通信機の間で行われる無線・有線通信方式すべてのコリジョンコントロールに利用することができる。例えば、以下に説明する「リーダライタ・ＩＣタグ」の組み合わせを、「携帯電話基地局・携帯電話端末」、「無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アクセスポイント・無線ＬＡＮ端末」、「ＩＴＳ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｔｒａｎｓｐｏｒｔａｔｉｏｎ  Ｓｙｓｔｅｍ）システム信号送信局・ＩＴＳシステム対応自動車」、「有線ＬＡＮハブ・有線ＬＡＮカード」などとしても利用可能である。
【００１９】
実施の形態１．
まず始めに、本発明の原理を、従来の通信方法との比較に基づいて説明する。上述したように、従来のアンチコリジョン処理において、各ＩＣタグは、リーダライタからのＩＤ要請信号に対し、リーダライタによって示された範囲内でタイムスロットをランダムに選択し、ＩＤ応答を返すという方式を用いていた。このため、ＩＤ応答は、成功・失敗にかかわらず１パケット分の時間を消費し、ランダムアクセス試行の成功率を向上させるためには多くのタイムスロットの選択範囲を用意する必要があった。
【００２０】
ここで、ＩＣタグは、タイムスロットをランダムに選択する処理、およびＩＤを送信する処理の２つの処理を同時に行っている。そして、タイムスロットの選択に関しては、成功率を向上させるために多くのタイムスロットを要するものの、ＩＤ送信に関しては、本来ＩＣタグ数のタイムスロットしか必要とされない。
【００２１】
そこで、本発明は、これら２つの処理を分離し、タイムスロットの選択に要する時間を短縮することにより高速化を図る点を技術的特徴としている。
【００２２】
図１は、本発明の実施の形態１におけるＩＤ応答と従来方式のＩＤ応答との比較を示す図である。上述した従来の通信方法によるＩＤ応答が、中央の点線の右側に示されている。これに対して、本発明の実施の形態１による仮ＩＤによるＩＤ応答が、中央の点線の左側に示されている。
【００２３】
変調方式には、多くの場合、ＡＳＫ（Amplitude Shift Keying：振幅変調）が用いられるが、従来、複数のＩＣタグが同じタイムスロットを選択すると、リーダライタ側では、複数のパケットが重なって受信され、正しく復調できず、１パケット分の時間を消費する。
【００２４】
一方、本発明では、ＩＣタグは、リーダライタに指定された範囲内で１ｂｉｔ〜数ｂｉｔがＨｉｇｈ（フラグ）、それ以外はＬｏｗというランダムに選択されたパルス信号を仮ＩＤとして用いる。リーダライタでは、複数の仮ＩＤ信号がＡＳＫにより重なりあって受信されるが、受信信号のＨｉｇｈとなった部分の時間軸上の場所の違いにより、ＩＣタグを区別することができる。
【００２５】
図１においては、各ＩＣタグの仮ＩＤとして、１ビットを割り当てる場合を例示している。この図１において、＃１のＩＣタグは、２ビット目を１とするパルス信号を仮ＩＤ信号としてリーダライタに返送している。同様に、＃２のＩＣタグは、４ビット目を１とするパルス信号を、＃３のＩＣタグは、６ビット目を１とするパルス信号を、それぞれ仮ＩＤ信号としてリーダライタに返送している。
【００２６】
一方、リーダライタは、複数の仮ＩＤ信号が重なりあった状態の信号を受信する。このように複数の仮ＩＤ信号が加算されてなる受信信号が、図１の左下に示されており、横軸は、ビットの時系列を示し、縦軸は、リーダライタで受信される信号強度を示している。リーダライタとＩＣタグの距離に応じて、信号強度が異なることとなる。
【００２７】
このように、本発明では、ＩＣタグ側がランダムに選択する仮ＩＤの情報を、従来技術における１パケットではなく、数ｂｉｔのフラグへと圧縮することにより、処理時間の短縮を図っている。
【００２８】
また、上述したように、従来技術においては、マスクを用いてＩＣタグを１/２ずつ、１/４ずつといったように切り分けて順番に処理することにより、多数のＩＣタグに対応する方式がある。例えば、リーダライタが、ＩＤ応答を要求するＩＣタグを、ＩＣタグに割り付けられているＩＤの特定ビットが０か１かを区別する１ビットのマスクを用いてどちらかに限定することにより、ＩＣタグ数を実質的に１／２ずつに切り分けることが可能となる。
【００２９】
しかしながら、マスク値を最適化するには、マスクによる制限をかけた後に応答するＩＣタグ数を把握するために、ＩＣタグにＩＤ応答の試し打ちをさせる必要があり、これに時間を要するという問題があった。
【００３０】
この問題に対して、本発明は、ＩＤ応答をフラグで置き換えた仮ＩＤ信号を用いており、この仮ＩＤの占有率からマスク値を決定することができ、マスク値の最適化に要する時間を短縮することが可能となる。
【００３１】
さらに、本発明におけるリーダライタは、仮ＩＤとしてフラグ応答を受け取った後、フラグに対応するＩＣタグに対し、タイムスロットの位置を指定した上で真のＩＤを要請することができる。これに対して、それぞれのＩＣタグは、指定されたタイムスロットで自分のＩＤをリーダライタに返す。従って、真のＩＤ要請に対するＩＤ応答に必要なタイムスロット数は、仮ＩＤの返答数に限定することができる。
【００３２】
上述においては、図１の左下に示した受信信号が、３つのＩＣタグからの受信信号を受信した理想的な場合を仮定して説明したが、受信信号は、このような理想的な場合以外の状態であることも考えられる。
【００３３】
例えば、４ビット目に受信したパルス信号は、＃２のＩＣタグからのみの信号ではなく、＃２のパルス信号と＃４のパルス信号が重なり合って受信された場合も考えられる。＃２と＃４のそれぞれのＩＣタグがランダムに選択したビットが、たまたまどちらも４ビット目であり、そのパルス信号が重なった場合には、このような第１の状態が発生する。
【００３４】
あるいは、３ビット目に受信したパルス信号は、「０」として受信されているが、３ビット目にパルス信号を返信してきたＩＣタグが複数あった場合も考えられる。例えば、＃４と＃５の２つのＩＣタグが、ともに３ビット目にパルス信号を返信してきた場合に、それらのパルス信号が互いに逆位相の信号として打ち消し合って受信された場合には、「０」として受信される第２の状態が発生する。
【００３５】
複数のＩＣタグが同じフラグを選択していたことに起因するこれらの状態が発生した場合に、本発明の無線装置は、以下の対応を取ることができる。第１の状態が発生した場合には、リーダライタは、実際には２つのＩＣタグからの仮ＩＤ信号を受信したものの、１つのＩＣタグと認識することから、真のＩＤを要請する際に、複数のＩＣタグに同一のタイムスロットを指定することとなる。
【００３６】
その結果、複数のＩＣタグから複数のＩＤ応答を同時に受信することになり、このとき衝突を検出する。そこで、リーダライタは、衝突したタイムスロットにＩＤ応答を行った複数のＩＣタグにのみフラグ再応答要請を行う。これにより、衝突が発生した複数のＩＣタグから再度仮ＩＤを受信することができ、重複したパルス信号の受信を回避することができる。
【００３７】
また、第２の状態が発生した場合には、リーダライタは、パルス信号を返信してきたＩＣタグを検出できないため、それらのＩＣタグに対して真のＩＤ要請を送信することができない。そこで、この場合には、ＩＣタグ側が、真のＩＤ要請が受信できないとして、その旨をリーダライタに返信することにより、リーダライタは、検出し損なったＩＣタグに対して真のＩＤ要請を送信することができる。
【００３８】
上述したように、本発明のリーダライタは、ＩＤ認証に成功したＩＣタグに対しては、成功通知・停止命令を出さなくても、最終的に全ＩＣタグのＩＤを認識することが可能となる。すなわち、本発明におけるリーダライタは、成功通知・停止命令を出すケースと出さないケースの２つの方式を採用できる。
【００３９】
成功通知・停止命令を出さない場合、リーダライタは、ＩＣタグに対してＩＤ要請する際に、フラグに応じたタイムスロットをスケジュールし、複数のＩＣタグ宛の要請をまとめて通知する。そして、リーダライタは、タイムスロットの切り替わりのみを通知し、これに対して、ＩＣタグは、次々とＩＤ応答を行うことにより、リーダライタの成功・失敗の逐次通知を削減できる。さらに、リーダライタは、ＩＣタグのＩＤ応答終了後、衝突したＩＣタグに対してフラグの再応答要請をまとめて行う。
【００４０】
上述した本発明の無線装置におけるＩＣタグおよびリーダライタの機能をまとめると、以下のようになる。
【００４１】
まず、ＩＣタグは、大きく分けて以下の２つの機能を有する。
第１の機能は、リーダライタによって指定された範囲内で任意のフラグによって表現される仮ＩＤを送信し、リーダライタと仮認証する機能である。
【００４２】
第２の機能は、リーダライタから送られた仮ＩＤによって区別された真のＩＤの要請コマンドに対し、真のＩＤをリーダライタへ返信することによりＩＤの認証を行う機能である。
【００４３】
また、リーダライタは、大きく分けて以下の３つの機能を有する。
第１の機能は、フラグ要請を行うことにより、複数のＩＣタグから送信される重なり合った仮ＩＤ信号を受信し、検出した仮ＩＤ信号のビット位置に応じて、複数のＩＣタグの仮認証を行う機能である。
【００４４】
第２の機能は、フラグ要請を行うことにより、複数のＩＣタグから送信される重なり合った仮ＩＤ信号を受信し、リーダライタの指定した範囲と実際に受信した信号との比較に基づいて、必要に応じて、マスクのパラメータを変更し、ＩＣタグに新しい範囲と仮ＩＤの再送要求信号を発行して、複数のＩＣタグをグループに振り分けて順番に処理することにより多数のＩＣタグに対応する機能である。
【００４５】
第３の機能は、仮ＩＤに基づき各ＩＣタグに個別に真のＩＤを要求し、それによって得られたＩＤによって認証を行う機能である。
【００４６】
次に、本願の無線装置の構成について説明する。図２は、本発明の実施の形態１における無線装置の構成図である。無線装置は、通信制御を行うリーダライタ１０と、複数のＩＣタグ２０で構成されている。図２においては、リーダライタ１０の通信可能エリア内にｎ台のＩＣタグ２０（１）〜２０（ｎ）が存在している場合を示している。
【００４７】
さらに、リーダライタ１０は、フラグ要請手段１１、フラグ識別手段１２、ＩＤ要請手段１３、およびＩＤ識別手段１４で構成されている。一方、複数のＩＣタグ２０は、フラグ応答手段２１とＩＤ応答手段２２で構成されている。
【００４８】
フラグ要請手段１１は、ｎ台のＩＣタグ２０のそれぞれから仮ＩＤを受信するためのフラグ要請コマンドを送信する。フラグ識別手段１２は、フラグ要請コマンドに対する返答として、ｎ台のＩＣタグ２０のそれぞれからフラグ応答を受信することにより、通信可能エリア内に存在するｎ台のＩＣタグを特定する。
【００４９】
ＩＤ要請手段１３は、特定されたｎ台のＩＣタグのそれぞれから真のＩＤを受信するためのＩＤ要請コマンドを送信する。さらに、ＩＤ識別手段１４は、ＩＤ要請コマンドに対する返答として、特定されたｎ台のＩＣタグのそれぞれからＩＤ応答を受信し、通信可能エリア内に存在するｎ台のＩＣタグの真のＩＤを特定する。
【００５０】
一方、フラグ応答手段２１は、リーダライタ１０からフラグ要請コマンドを受信した場合に、ランダムに生成したフラグ応答をリーダライタ１０に返信する。さらに、ＩＤ応答手段２２は、リーダライタ１０からＩＤ要請コマンドを受信した場合に、自身にあらかじめ割り当てられているＩＤをリーダライタ１０に返信する。
【００５１】
これらの構成に基づいて、ＩＤ認証の成功通知を行う場合と行わない場合の２つのケースのおける本発明のアンチコリジョン処理について、フローチャートを用いて詳細に説明する。なお、フローチャートの説明においては、図２に示した個々の構成要素ではなく、総称であるリーダライタ１０およびＩＣタグ２０を用いて説明する。
【００５２】
図３は、本発明の実施の形態１においてＩＤ認証の成功通知を行う場合の１ステップ内の各フェーズにおけるリーダライタとＩＣタグの送信パケットの内容に関する説明図である。また、図４は、本発明の実施の形態１においてＩＤ認証の成功通知を行わない場合の１ステップ内の各フェーズにおけるリーダライタとＩＣタグの送信パケットの内容に関する説明図である。
【００５３】
ＩＤ認証の成功通知を行う場合は、図３に示すように、フェーズＡ〜Ｆにより構成されている。一方、ＩＤ認証の成功通知を行わない場合は、図４に示すように、フェーズＡ〜Ｄにより構成されている。
【００５４】
どちらの場合もフェーズＡ、Ｂの処理は共通しており、フェーズＡでリーダライタより仮ＩＤを受信するためのフラグ要請コマンドが送信され、それに対し、フェーズＢでＩＣタグがフラグ応答を行うことにより、仮ＩＤによる仮認証を実行する。また、フェーズＣ以降の処理により、ＩＤ要請の処理を行っている。
【００５５】
先の図２におけるフラグ要請手段１１、フラグ識別手段１２、およびフラグ応答手段２１は、フェーズＡ、Ｂの処理を行う手段である。また、先の図２におけるＩＤ要請手段１３、ＩＤ識別手段１４、およびＩＤ応答手段２２は、フェーズＣ〜Ｆの処理を行う手段である。
【００５６】
ＩＤ認証の成功通知を行う場合は、図３に示すフェーズＦを省略することが可能である。また、ＩＤ認証の成功通知を行わない場合でも、フェーズＤですべてのＩＤ送信が終了した後にまとめてＩＤ認証の成功通知を行い、認証精度の向上を図ることが可能である。
【００５７】
図５〜８は、本発明の実施の形態１においてＩＤ認証の成功通知を行う場合におけるリーダライタ１０側の処理のフローチャートである。最初に、ステートＳＴ＿Ｒ１において、リーダライタ１０は、電源投入後に、マスクビット＝０、マスク＝０００とする初期設定を行い、その後、フェーズＡの処理を行う。
【００５８】
図５においては、３ビットで構成されたマスクにより、０００〜１１１の８通りのマスクを規定し、２ビットで構成されたマスクビットにより、３ビットで構成されたマスクの有効ビットを０〜３として規定している。このビット構成は、図５の構成に限定されず、３ビット以外の構成とすることも可能であり、同様の効果を得ることができる。
【００５９】
フェーズＡの処理におけるＳＴ＿Ｒ２において、リーダライタ１０は、ＩＣタグ２０にフラグ要請コマンドを送信する。このフラグ要請コマンドには、マスク値とフラグの選択可能範囲に関する情報が含まれている。マスク値は、上述したマスクビットおよびマスクを送信することにより規定され、フラグの選択可能範囲は、所定のビット長であるフラグ最大値ＦＭＡＸを送信することにより規定される。さらに、リーダライタ１０は、受信するフラグ値を記憶させる記憶部であるメモリをクリアする。
【００６０】
次に、ＳＴ＿Ｒ３において、リーダライタ１０は、フラグ要請コマンドに相当するフラグスタート信号を出力することにより、ＩＣタグ２０に対してフラグ送信を開始するよう命令を出す。この際に、リーダライタ１０は、各ＩＣタグ２０からの仮ＩＤの受信に備え、スロットカウンタとフラグ応答カウンタをともに０に設定する。
【００６１】
次に、フェーズＢの処理について説明する。ＳＴ＿Ｒ４において、リーダライタ１０は、フラグ時間（タイムスロット）を区切るためのタイマであるＦｌａｇ  Ｔｉｍｅｒを０にセットする。次に、ＳＴ＿Ｒ５およびＳＴ＿Ｒ６において、リーダライタ１０は、Ｆｌａｇ  Ｔｉｍｅｒを順次＋１インクリメントしながら、あらかじめ設定された１フラグ時間の経過を示すＦｌａｇ  ｗａｉｔ  ｔｉｍｅの値と、Ｆｌａｇ  Ｔｉｍｅｒの値とを比較し、１つのフラグ時間の切れ目かどうかを判定する。
【００６２】
最終的にＦｌａｇ  Ｔｉｍｅｒの値がＦｌａｇ  ｗａｉｔ  ｔｉｍｅの値に達した場合には、リーダライタ１０は、次のＳＴ＿Ｒ７の処理を行う。また、このＦｌａｇ  ｗａｉｔ  ｔｉｍｅの時間内にフラグ応答受信を行い、受信が起こった場合には、リーダライタ１０は、割り込み処理でＳＴ＿Ｒ７以降の処理を行うことが可能である。
【００６３】
ＳＴ＿Ｒ７において、リーダライタ１０は、Ｆｌａｇ  Ｔｉｍｅｒがカウントアップするまでの今回のフラグ時間内に何れかのＩＣタグ２０から仮ＩＤのフラグ応答があったかどうかを判定する。具体的には、図１の左下に示した受信信号の時系列データで、対応するフラグ時間の信号がＨｉｇｈとして受信されたかをチェックすることとなる。
【００６４】
フラグ応答があったと判定した場合には、リーダライタ１０は、ＳＴ＿Ｒ８の処理を行った後に、ＳＴ＿Ｒ９の処理を行う。一方、フラグ応答がなかったと判定した場合には、リーダライタ１０は、ＳＴ＿Ｒ９の処理を直接行う。ＳＴ＿Ｒ８において、リーダライタ１０は、フラグ応答カウンタを＋１インクリメントする。さらに、リーダライタ１０は、フラグの位置に相当するスロットカウンタの値とフラグ応答カウンタの値とを対応付けてメモリに記憶する。
【００６５】
次に、リーダライタ１０は、ＳＴ＿Ｒ９において、スロットカウンタを＋１インクリメントする。さらに、ＳＴ＿Ｒ１０において、リーダライタ１０は、スロットカウンタの値とフラグ最大値ＦＭＡＸとを比較することにより、タイムスロットの終了判定を行う。そして、リーダライタ１０は、タイムスロットの終了と判定するまでＳＴ＿Ｒ４に戻ってフラグ応答の受信処理を継続する。
【００６６】
終了判定を行った後、ＳＴ＿Ｒ１１において、リーダライタ１０は、フラグ最大値ＦＭＡＸに対するフラグ応答カウンタの値の比率をフラグ応答の占有率として算出し、算出した占有率があらかじめ設定した許容閾値ＴＨ１以下であるかを判定する。
【００６７】
仮ＩＤの応答に相当するフラグ応答カウンタの占有率が許容閾値ＴＨ１よりも大きい場合には、リーダライタ１０は、同一のスロットカウンタ内で複数のＩＣタグ２０からのフラグ応答を受信した可能性が高いと判断し、ＳＴ＿Ｒ１２〜ＳＴ＿Ｒ１４の処理に移行し、マスクを変更する処理を行った後、再びフラグ要請コマンドを出力することとなる。
【００６８】
なお、上述のＳＴ＿Ｒ１１においては、占有率とＴＨ１とを比較したが、両者にフラグ最大値ＦＭＡＸをかけることにより、フラグ応答カウンタの数（すなわち、フラグ応答をしてきたと特定されたＩＣタグの総数）と許容ＩＣタグ数（＝ＴＨ１×ＦＭＡＸ）とを比較することによっても、同様の結果となる。
【００６９】
リーダライタ１０は、まずＳＴ＿Ｒ１２において、マスクビットがすでに最大値であるか（本実施の形態１の場合は３であるか）を判定する。すでに最大値が設定されている場合には、リーダライタ１０は、これ以上分割してフラグ応答を受信できないため、後述するＳＴ＿Ｒ１６の処理に進む。
【００７０】
一方、最大値がまだ設定されていない場合には、リーダライタ１０は、ＳＴ＿Ｒ１３において、マスクを一段階強化して、フラグ応答を返すＩＣタグ２０数を半分に絞り込む。具体的には、リーダライタ１０は、マスクビットを＋１インクリメントするとともに、マスクビット＝１の場合はマスク＝００１に、マスクビット＝２の場合はマスク＝０１１に、そしてマスクビット＝３の場合はマスク＝１１１に設定する。
【００７１】
そして、ＳＴ＿Ｒ１４において、リーダライタ１０は、ＳＴ＿Ｒ２に戻って、再設定したマスクビットおよびマスクにしたがって、フラグ要請コマンドを出力し直すこととなる。このようにして、占有率が許容閾値ＴＨ１を超えている場合には、マスクを変更してフラグ応答数を半分に絞り込んで、仮ＩＤの受信を再度行うことにより、複数のＩＣタグ２０が同一のスロットカウンタ内で仮ＩＤを返信する確率を低減させることができる。
【００７２】
一方、先のＳＴ＿Ｒ１１において、仮ＩＤの応答に相当するフラグ応答カウンタの占有率が許容閾値ＴＨ１以下の場合には、リーダライタ１０は、ＳＴ＿Ｒ１５において、マスク＝０であるか、すなわち、マスク制限がない状態であるか否かを判定する。そして、マスク制限がない状態である場合には、リーダライタ１０は、ＳＴ＿Ｒ１７において、フラグ応答カウンタが０であるか否か、すなわち、今回のスロットカウンタ内にフラグ応答があったか否かを判定する。
【００７３】
そして、フラグ応答カウンタが０でなく、フラグ応答があったと判定した場合には、リーダライタ１０は、ＳＴ＿Ｒ２０に進み、フェーズＣ以降の処理を行うこととなる。一方、フラグ応答カウンタが０であり、フラグ応答がなかったと判定した場合には、リーダライタ１０は、ＳＴ＿Ｒ１８に進み、全てのＩＣタグ２０の仮ＩＤが判明したと判断し、アンチコリジョン処理終了通知を出力し、ＳＴ＿Ｒ１９において、アンチコリジョン処理を終了する。
【００７４】
また、先のＳＴ＿Ｒ１５において、マスク制限がある状態の場合、または、先のＳＴ＿Ｒ１２において、フラグ応答カウンタが０であるか否か、すなわち、マスクビットがすでに最大値である場合には、リーダライタ１０は、ＳＴ＿Ｒ１６において、次回のフラグ要請コマンド出力時のマスクとして、マスクの値を−１した値をセットした後に、ＳＴ＿Ｒ２０に進み、フェーズＣ以降の処理を行うこととなる。
【００７５】
次に、フェーズＣについて説明する。フェーズＣ以降において、リーダライタ１０は、フェーズＡ、Ｂにおいてフラグ応答を返答してきたＩＣタグ２０に対して、真のＩＤ認証を行うこととなる。まず、ＳＴ＿Ｒ２１において、リーダライタ１０は、フラグ応答カウンタが０であり、フラグ応答がなかったと判定した場合には、ＳＴ＿Ｒ２２に進み、ＳＴ＿Ｒ２に戻って、先のＳＴ＿Ｒ１６で設定したマスクにしたがって、フラグ要請コマンドを出力し直すこととなる。
【００７６】
一方、フラグ応答カウンタが０でなく、フラグ応答があったと判定した場合には、リーダライタ１０は、ＳＴ＿Ｒ２３に進み、先のＳＴ＿Ｒ８でメモリ内に記憶されているスロットカウンタの値とフラグ応答カウンタの値との対応付けに基づいて、フラグ応答を返答したＩＣタグ２０に対して、真のＩＤ要請をコマンドとして順次出力する。このＩＤ要請コマンドによって、リーダライタ１０は、フラグ応答を返答した全てのＩＣタグ２０のそれぞれから、真のＩＤを順次受信する。
【００７７】
さらに、リーダライタ１０は、真のＩＤを受信するためのタイムスロットを区切るためのタイマであるＩＤ  Ｔｉｍｅｒを０にセットした後、フェーズＤ以降の処理を行うこととなる。
【００７８】
次に、フェーズＤの処理について説明する。
ＳＴ＿Ｒ２４およびＳＴ＿Ｒ２５において、リーダライタ１０は、ＩＤ要請コマンドに対応してタイムスロット内に返答されるＩＤパケットを待ち受けるとともに、ＩＤ  Ｔｉｍｅｒを順次＋１インクリメントしながら、あらかじめ設定された１パケット時間の経過を示すＩＤ  ｗａｉｔ  ｔｉｍｅの値と、ＩＤ  Ｔｉｍｅｒの値とを比較し、１つのＩＤを受信するためのパケット時間の切れ目であるかどうかを判定する。
【００７９】
最終的にＩＤ  Ｔｉｍｅｒの値がＩＤ  ｗａｉｔ  ｔｉｍｅの値に達した場合には、リーダライタ１０は、１つのＩＤパケットの受信時間が経過したと判断し、次のＳＴ＿Ｒ２６以降のフェーズＥの処理を行う。また、このＩＤ  ｗａｉｔ  ｔｉｍｅの時間内にＩＤ受信を行い、受信が起こった場合には、リーダライタ１０は、割り込み処理でＳＴ＿Ｒ２６以降の処理を行うことが可能である。
【００８０】
次に、フェーズＥの処理を説明する。
ＳＴ＿Ｒ２６において、リーダライタ１０は、先のフェーズＤでＩＤが正しく受信されたか否かを判定する。そして、雑音・衝突・相殺等でＩＤが正常に受信できなかった場合には、リーダライタ１０は、ＳＴ＿Ｒ２７において、受信に失敗したことを対応するＩＣタグ２０に通知し、その後、後述するＳＴ＿Ｒ３６の処理を行う。
【００８１】
一方、先のＳＴ＿Ｒ２６でＩＤが正常に受信されたと判定した場合には、リーダライタ１０は、ＳＴ＿Ｒ２８において、停止命令（ＨＬＴ命令）を出した回数を数えるためのＨＬＴカウンタを０にセットする。
【００８２】
さらに、リーダライタ１０は、ＳＴ＿Ｒ２９において、ＩＤの受信に成功したのでアンチコリジョン処理を抜けるように、対応するＩＣタグ２０に対してＨＬＴコマンドを出力する。さらに、リーダライタ１０は、対応するＩＣタグ２０からＨＬＴ確認パケットの受信時間を規定するタイマ値であるＨＬＴ  Ｔｉｍｅｒを０にセットし、その後、フェーズＦの処理を行う。
【００８３】
次に、フェーズＦの処理について説明する。
ＳＴ＿Ｒ３０およびＳＴ＿Ｒ３１において、リーダライタ１０は、ＨＬＴコマンドに対する応答であるＨＬＴ確認パケットが対応するＩＣタグ２０から返信されるのを待ち受けるとともに、ＨＬＴ  Ｔｉｍｅｒを順次＋１インクリメントしながら、あらかじめ設定されたＨＬＴ確認パケットの受信時間を規定するＨＬＴ  ｗａｉｔ  ｔｉｍｅの値と、ＨＬＴ  Ｔｉｍｅｒの値とを比較し、ＨＬＴ確認パケットを受信するためのパケット時間の切れ目であるかどうかを判定する。
【００８４】
最終的にＨＬＴ  Ｔｉｍｅｒの値がＨＬＴ  ｗａｉｔ  ｔｉｍｅの値に達した場合には、リーダライタ１０は、ＨＬＴ確認パケットの受信時間が経過したと判断し、次のＳＴ＿Ｒ３２以降の処理を行う。また、このＨＬＴ  ｗａｉｔ  ｔｉｍｅの時間内にＨＬＴ確認パケット受信を行い、受信が起こった場合には、リーダライタ１０は、割り込み処理でＳＴ＿Ｒ３２以降の処理を行うことが可能である。
【００８５】
ＳＴ＿Ｒ３２において、リーダライタ１０は、ＨＬＴ確認パケットが正しく受信されたか否かを判定する。そして、ＨＬＴ確認パケットが正常に受信できなかった場合には、ＳＴ＿Ｒ３３において、リーダライタ１０は、ＨＬＴカウンタが所定の繰り返し回数Ｃ１に等しいか否かを判定する。
【００８６】
そして、先のＳＴ＿Ｒ３３でＨＬＴカウンタがＣ１に達していない場合には、リーダライタ１０は、ＨＬＴカウンタを＋１インクリメントするとともに、ＳＴ＿Ｒ２９に戻り、ＨＬＴコマンドを再出力してＨＬＴ確認パケットの受信を再度試みることとなる。一方、先のＳＴ＿Ｒ３３でＨＬＴカウンタがＣ１に達している場合には、リーダライタ１０は、ＳＴ＿Ｒ３５において、所定回数繰り返したにもかかわらずＨＬＴ確認パケットの応答がないとして、ＨＬＴ失敗通知を出力し、その後、ＳＴ＿Ｒ３６の処理に移行する。
【００８７】
そして、リーダライタ１０は、先のＳＴ＿Ｒ２７、ＳＴ＿Ｒ３２、あるいはＳＴ＿Ｒ３５のいずれかからＳＴ＿Ｒ３６に移行してきた場合には、仮ＩＤ応答をしてきた次のＩＣタグ２０に対する処理を行うために、フラグ応答カウンタを−１デクリメントする。さらに、ＳＴ＿Ｒ３７において、リーダライタ１０は、１つのフラグ応答のＩＤ認証処理が成功・失敗にかかわらず終了したことを通知した後、フェーズＣに戻り、次のＩＣタグ２０に対する処理を継続する。
【００８８】
以上のように、リーダライタ１０は、図５〜図８の一連の処理を行うことにより、図３に示したフェーズＡ〜Ｆの処理を実行する。この結果、リーダライタ１０は、仮ＩＤ応答結果に基づいて、真のＩＤ要請を順次行うことができ、複数のＩＣタグ２０の認識時間を短縮した高効率、高精度なアンチコリジョン通信を行うことができる。
【００８９】
次に、ＩＣタグ２０側の一連の処理について、フローチャートを用いて説明する。図９〜１２は、本発明の実施の形態１においてＩＤ認証の成功通知を行う場合におけるＩＣタグ２０側の処理のフローチャートである。最初に、ステートＳＴ＿Ｔ０において、ＩＣタグ２０は、電源投入後に、セレクトフラグ＝０、フラグ値＝０とする初期設定を行い、その後、フェーズＡの処理を行う。
【００９０】
ここで、セレクトフラグは、一連のアンチコリジョン処理によりＩＣタグ２０のＩＤがリーダライタ１０によって正しく認証されたことにより１にセットされ、電源投入時に０にセットされるフラグである。また、フラグ値は、ＩＣタグ２０が仮ＩＤとして設定する値であり、電源投入時に０にセットされる。
【００９１】
フェーズＡのＳＴ＿Ｔ１において、ＩＣタグ２０は、リーダライタ１０からのコマンドを受信したか否かを判定する。未受信の場合には、ＩＣタグ２０は、フェーズＡにおける受信の待機状態に戻る。一方、コマンドを受信した場合には、ＳＴ＿Ｔ２において、ＩＣタグ２０は、コマンドが正常に受信できたか否かを判定する。正常に受信できなかった場合には、ＩＣタグ２０は、フェーズＡにおける受信の待機状態に戻る。
【００９２】
一方、コマンドを正常に受信した場合には、ＳＴ＿Ｔ３において、ＩＣタグ２０は、セレクトフラグが０であるか１であるかを判定する。このセレクトフラグは、上述したように、一連のアンチコリジョン処理によりＩＣタグ２０のＩＤがリーダライタ１０によって正しく認証されたことにより１にセットされ、電源投入時に０にセットされるフラグである。
【００９３】
セレクトフラグが１である場合には、ＩＣタグ２０は、すでにリーダライタ１０との間でのＩＤ認証が完了していると判断し、リーダライタ１０からのコマンドを無視してアンチコリジョン処理は行わず、その他の処理に移行する。一方、セレクトフラグが０である場合には、ＩＣタグ２０は、リーダライタ１０との間でのＩＤ認証が未完了であると判断し、ＳＴ＿Ｔ４以降の処理に移行する。
【００９４】
次に、ＳＴ＿Ｔ４において、ＩＣタグ２０は、受信したコマンドがフラグ要請コマンドであるか否かを判定する。フラグ要請コマンドでない場合には、ＩＣタグ２０は、自分以外のＩＣタグ２０に対するアンチコリジョン処理の途中であると判断し、フェーズＡにおける受信の待機状態に戻る。一方、フラグ要請コマンドである場合には、ＩＣタグ２０は、フラグ要請コマンドに含まれているマスク値と自身のＩＤとを比較し、指定された下位ビットが一致しているか否かを判定する。
【００９５】
不一致であると判定した場合には、ＩＣタグ２０は、受信したフラグ要請コマンドが自身へのコマンドではないと判断し、フェーズＡにおける受信の待機状態に戻る。一方、一致していると判定した場合には、ＩＣタグ２０は、受信したフラグ要請コマンドが自身へのコマンドであると判断し、フェーズＢの処理に以降する。
【００９６】
次に、フェーズＢの処理について説明する。
ＳＴ＿Ｔ６において、ＩＣタグ２０は、フラグ要請コマンドで指定された範囲内でランダムな値をフラグ値として生成し、メモリに記憶しておく。さらに、ＳＴ＿Ｔ７において、ＩＣタグ２０は、生成したフラグ値を仮ＩＤとするフラグパケットをリーダライタ１０に対して送信し、その後、フェーズＣの処理に移行する。
【００９７】
次に、フェーズＣの処理について説明する。
ＳＴ＿Ｔ８において、ＩＣタグ２０は、リーダライタ１０からのＩＤ要請コマンドを受信したか否かを判定する。未受信の場合には、ＩＣタグ２０は、フェーズＣにおける受信の待機状態に戻る。一方、ＩＤ要請コマンドを受信した場合には、ＳＴ＿Ｔ９において、ＩＣタグ２０は、ＩＤ要請コマンドが正常に受信できたか否かを判定する。正常に受信できなかった場合には、ＩＣタグ２０は、フェーズＣにおける受信の待機状態に戻る。
【００９８】
一方、正常にＩＤ要請コマンドを受信できた場合には、ＩＣタグ２０は、ＩＤ要請コマンドに含まれているフラグ値と、自身のメモリに記憶されているフラグ値とを比較し、一致しているか否かを判定する。
【００９９】
不一致であると判定した場合には、ＩＣタグ２０は、受信したＩＤ要請コマンドが自身へのコマンドではないと判断し、フェーズＣにおける受信の待機状態に戻る。一方、一致していると判定した場合には、ＩＣタグ２０は、受信したＩＤ要請コマンドが自身へのコマンドであると判断し、フェーズＤの処理に移行する。
【０１００】
次に、フェーズＤの処理について説明する。
ＳＴ＿Ｔ１１において、ＩＣタグ２０は、ＩＤ要請コマンドの返答として、自分自身に割り付けられているＩＤをＩＤパケットとして送信する。さらに、ＩＣタグ２０は、送信したＩＤパケットに対する受信結果応答の時間を計測するためのタイマ値ＣＥＲＴ  Ｔｉｍｅｒを０にセットし、フェーズＥの処理に移行する。
【０１０１】
次に、フェーズＥの処理について説明する。
ＳＴ＿Ｔ１２およびＳＴ＿Ｔ１３において、ＩＣタグ２０は、ＩＤパケットに対する受信結果応答であるＨＬＴコマンド（認証パケットに相当）がリーダライタ１０から返信されるのを待ち受けるとともに、ＣＥＲＴ  Ｔｉｍｅｒを順次＋１インクリメントしながら、あらかじめ設定されたＩＤパケットの受信結果応答時間を規定するＣＥＲＴ  ｗａｉｔ  ｔｉｍｅの値と、ＣＥＲＴ  Ｔｉｍｅｒの値とを比較し、ＨＬＴコマンドを受信するためのパケット時間の切れ目であるかどうかを判定する。
【０１０２】
最終的にＣＥＲＴ  Ｔｉｍｅｒの値がＣＥＲＴ  ｗａｉｔ  ｔｉｍｅの値に達した場合には、ＩＣタグ２０は、ＨＬＴコマンドの受信時間が経過したと判断し、次のＳＴ＿Ｔ１４以降の処理を行う。また、このＣＥＲＴ  ｗａｉｔ  ｔｉｍｅの時間内にＨＬＴコマンド受信を行い、受信が起こった場合には、ＩＣタグ２０は、割り込み処理でＳＴ＿Ｔ１４以降の処理を行うことが可能である。
【０１０３】
ＳＴ＿Ｔ１４において、ＩＣタグ２０は、リーダライタ１０からのＨＬＴコマンドを受信したか否かを判定する。未受信の場合には、ＳＴ＿Ｔ１６において、ＩＣタグ２０は、ＩＤパケット送信の認証に失敗したと判断し、ＳＴ＿Ｔ０の初期設定に戻る。一方、ＨＬＴコマンドを受信した場合には、ＳＴ＿Ｔ１５において、ＩＣタグ２０は、ＨＬＴコマンドが正常に受信できたか否かを判定する。正常に受信できなかった場合には、ＳＴ＿Ｔ１６において、ＩＣタグ２０は、ＩＤパケット送信の認証に失敗したと判断し、ＳＴ＿Ｔ０の初期設定に戻る。
【０１０４】
一方、正常にＨＬＴコマンドを受信できた場合には、ＩＣタグ２０は、ＳＴ＿Ｔ１７において、ＨＬＴコマンドに含まれている内容が、成功通知であるか失敗通知であるかを判定する。失敗通知であると判定した場合には、ＳＴ＿Ｔ１６において、ＩＣタグ２０は、ＩＤパケット送信の認証に失敗したと判断し、ＳＴ＿Ｔ０の初期設定に戻る。一方、成功通知であると判定した場合には、ＩＣタグ２０は、フェーズＦの処理に移行する。
【０１０５】
次に、フェーズＦについて説明する。
ＳＴ＿Ｔ１８において、ＩＣタグ２０は、リーダライタ１０からの成功通知およびＨＬＴコマンドに対して、了解したことを示すＨＬＴ確認応答を送信し、リーダライタ１０からの応答を待機する。
【０１０６】
次に、ＳＴ＿Ｔ１９において、リーダライタ１０からのコマンドを正常に受信できたか否かを判定する。正常に受信できなかった場合には、ＳＴ＿Ｔ２４において、ＩＣタグ２０は、ＨＬＴ確認応答の認証に失敗したと判断し、ＳＴ＿Ｔ０の初期設定に戻る。一方、正常にリーダライタ１０からのコマンドを受信できた場合には、ＩＣタグ２０は、ＳＴ＿Ｔ２０において、受信したコマンドが、ＨＬＴ失敗通知、ＨＬＴコマンド、あるいは１フラグ認証終了通知の３種のうちの何れかであるかを判定する。
【０１０７】
この場合において、ＨＬＴ失敗通知は、ＩＣタグ２０からの確認応答をリーダライタ１０側が所定回数聞いたが、結果的に１度も応答が届いていないのでやり直しを命ずる通知に相当する。また、ＨＬＴコマンドは、リーダライタ１０はＩＤを認識したが、ＩＣタグ２０からの確認応答が届かなかったのでもう一度確認応答のやり直しを命ずる通知に相当する。
【０１０８】
３種の通知のいずれでもないと判定した場合には、ＳＴ＿Ｔ２４において、ＩＣタグ２０は、本来あるべき認証作業がスキップされ、認証に失敗したと判断し、ＳＴ＿Ｔ０の初期設定に戻る。一方、３種の通知のいずれかを受信したと判定した場合には、ＳＴ＿Ｔ２１において、ＩＣタグ２０は、その通知がＨＬＴ失敗通知であるか否かを判定する。
【０１０９】
ＨＬＴ失敗通知を受信したと判定した場合には、ＳＴ＿Ｔ２４において、ＩＣタグ２０は、ＳＴ＿Ｔ０の初期設定に戻る。一方、ＨＬＴ失敗通知を受信したのではないと判定した場合には、ＩＣタグ２０は、ＳＴ＿Ｔ２２において、受信した通知がＨＬＴコマンドであるか否かを判定する。
【０１１０】
ＨＬＴコマンドを受信したと判定した場合には、ＩＣタグ２０は、ＳＴ＿Ｔ１８に移行し、ＨＬＴ確認応答の送信を再度行う。一方、ＨＬＴコマンドを受信したのではないと判定した場合には、ＩＣタグ２０は、ＳＴ＿Ｔ２３において、受信した通知が１フラグ認証終了通知であるか否かを判定する。
【０１１１】
１フラグ認証終了通知を受信したのではないと判定した場合には、ＳＴ＿Ｔ２４において、ＩＣタグ２０は、ＳＴ＿Ｔ０の初期設定に戻る。一方、１フラグ認証終了通知を受信したと判定した場合には、ＩＣタグ２０は、ＳＴ＿Ｔ２５において、セレクトフラグを１にセットし、ＳＴ＿Ｔ２６にて一連の処理を終了する。
【０１１２】
以上のように、ＩＣタグ２０は、図９〜図１２の一連の処理を行うことにより、図３に示したフェーズＡ〜Ｆの処理を実行する。この結果、ＩＣタグ２０は、リーダライタ１０からのフラグ要請とＩＤ要請に適格に応答することができ、リーダライタ１０との間でＩＣタグ２０の認識時間を短縮した高効率、高精度なアンチコリジョン通信を行うことができる。
【０１１３】
次に、図４に対応して、ＩＤ認証の成功通知を行わない場合のフェーズＡ〜Ｄの処理について説明する。フェーズＡ、Ｂについては、上述したＩＤ認証の成功通知を行う場合と共通であるため、説明を省略し、ここでは、フェーズＣ、Ｄについて説明する。
【０１１４】
図１３は、本発明の実施の形態１の成功通知無しの場合のフェーズＣ、Ｄにおけるリーダライタ１０側のフローチャートである。フェーズＡ、Ｂの処理は、図５〜図７におけるＳＴ＿Ｒ１〜ＳＴ＿Ｒ１９と同一である。
【０１１５】
フェーズＢによるフラグ応答後、フェーズＣのＳＴ＿Ｒ２１において、リーダライタ１０は、フラグ応答のあったＩＣタグ２０に真のＩＤ応答を要請する。このとき、リーダライタ１０は、先のＳＴ＿Ｒ８においてメモリに記憶されているフラグの位置に相当するスロットカウンタの値とフラグ応答カウンタの値との対応関係から、フラグ応答のあった各ＩＣタグ２０に応じたタイムスロットをスケジュールし、複数のＩＣタグ２０宛のＩＤ要請コマンドをまとめて１パケットとして通知する。それと同時に、リーダライタ１０は、タイムスロットを区切るためのタイマをスタートさせる。
【０１１６】
これ以降の処理は、フェーズＤに相当する。ＳＴ＿Ｒ２２において、リーダライタ１０は、タイムスロットの区切り毎にタイムスロットカウンタを＋１インクリメントしつつ、切り替わりをＩＣタグ２０に通知する。次に、リーダライタ１０は、受信したＩＤ応答に対し、ＳＴ＿Ｒ２３において、複数のＩＣタグ２０からの衝突確認をする。そして、衝突していた場合には、リーダライタ１０は、ＳＴ＿Ｒ２４において、衝突したタイムスロットをタイムスロット情報としてメモリに記録する。
【０１１７】
次に、リーダライタ１０は、ＳＴ＿Ｒ２５において、フラグ応答数とＩＤ応答数が一致するか否かをチェックすることにより、タイムスロットの終了判定を行い、リーダライタ１０の設定したタイムスロットが終了するまでＳＴ＿Ｒ２２に戻って処理を継続する。一方、ＩＤ応答が終了したと判断した場合には、リーダライタ１０は、フェーズＡに戻り、ＳＴ＿Ｒ２において、先のＳＴ＿Ｒ２４においてメモリに記憶されているタイムスロット情報に基づいて、衝突の発生したタイムスロットのＩＣタグ２０に対し、フラグ再応答要請を行う。
【０１１８】
以上のように、リーダライタ１０は、図１３の一連の処理を行うことにより、図４に示したフェーズＣ、Ｄの処理を実行する。この結果、リーダライタ１０は、仮ＩＤ応答結果によるタイムスロットの指定に基づいて、真のＩＤ要請を一括して行うことができる。さらに、リーダライタ１０は、衝突が発生したＩＣタグ２０に対して、まとめてフラグ再要請コマンドを出力することができる。この結果、複数のＩＣタグ２０の認識時間を短縮した高効率、高精度なアンチコリジョン通信を行うことができる。
【０１１９】
次に、成功通知無しの場合におけるＩＣタグ２０側の一連の処理について、フローチャートを用いて説明する。図１４は、本発明の実施の形態１の成功通知無しの場合のフェーズＣ、ＤにおけるＩＣタグ２０側のフローチャートである。フェーズＡ、Ｂの処理は、図９、図１０におけるＳＴ＿Ｔ０〜ＳＴ＿Ｔ７と同一である。
【０１２０】
フェーズＣのＳＴ＿Ｔ８において、ＩＣタグ２０は、リーダライタ１０からのＩＤ要請コマンドを受信すると、タイムスロットカウンタをスタートさせる。
【０１２１】
これ以降の処理は、フェーズＤに相当する。ＩＣタグ２０は、タイムスロットの切り替わり毎に、ＳＴ＿Ｔ９において、タイムスロットが自分に割り付けられたものであるか否かを判定する。現在のタイムスロットが自分に割り付けられたものでない場合には、ＩＣタグ２０は、ＳＴ＿Ｔ１０へ処理を移行し、タイムスロットカウンタを＋１インクリメントする。さらに、ＩＣタグ２０は、ＳＴ＿Ｔ８に処理を戻し、新たなＩＤ要請コマンドの受信を待つ。
【０１２２】
一方、現在のタイムスロットが自分に割り付けられたものである場合には、ＩＣタグ２０は、ＳＴ＿Ｔ１１において、自身のＩＤをＩＤパケットとして送信し、次の処理へ移行する。
【０１２３】
以上のように、ＩＣタグ２０は、図１４の一連の処理を行うことにより、図４に示したフェーズＣ、Ｄの処理を実行する。この結果、ＩＣタグ２０は、リーダライタ１０からのフラグ要請コマンドとＩＤ要請コマンドに適格に応答することができ、リーダライタ１０との間でＩＣタグ２０の認識時間を短縮した高効率、高精度なアンチコリジョン通信を行うことができる。
【０１２４】
上述したように、実施の形態１によれば、タイムスロットをランダムに選択する処理とＩＤを認証する処理とを分離し、タイムスロットを選択する処理には非常に短いフラグを仮ＩＤとして用いることにより、複数の無線タグの認識時間を短縮した高効率、高精度なアンチコリジョン通信を行う無線装置を実現できる。
【０１２５】
さらに、ＩＣタグ側がランダムに選択する仮ＩＤの情報を、従来技術における１パケットではなく、数ｂｉｔのフラグへと圧縮することにより、さらなる処理時間の短縮が実現できる。さらに、仮ＩＤの受信結果を利用することにより、マスク値の最適化を短時間で行うことができる。
【０１２６】
また、成功通知を行う場合には、仮ＩＤ応答結果に基づいて、真のＩＤ要請を順次行うことができ、複数のＩＣタグとの高効率、高精度なアンチコリジョン通信を行うことができる。
【０１２７】
また、成功通知を行わない場合には、仮ＩＤ応答結果によるタイムスロットの指定に基づいて、真のＩＤ要請を一括して行うことができ、さらに、衝突が発生したＩＣタグに対して、まとめてフラグ再要請コマンドを出力することができ、複数のＩＣタグとの高効率、高精度なアンチコリジョン通信を行うことができる。
【０１２８】
なお、上述のフローチャートには示していないが、仮ＩＤ要求であるフラグ応答が重複することにより相殺が生じた場合には、ＩＣタグ側は、リーダライタからのＩＤ要請コマンドを所定時間内に受信しないことを監視することにより、リーダライタ側にＩＤ要請コマンドが受信できない旨を伝えることができる。この内容を受信したリーダライタ側は、該当するＩＣタグに対して、真のＩＤを取得するためにＩＤ要請コマンドを出力することができる。
【０１２９】
なお、上述の実施の形態では、「リーダライタ・ＩＣタグ」の組み合わせによる無線装置を例に説明したが、本発明によるコリジョンコントロール機能を有する通信装置は、これに限定されるものではない。本発明の通信装置は、１つの通信制御装置とＮ個の通信機の間で行われる無線・有線通信方式すべてのコリジョンコントロールに利用することができる。
【０１３０】
例えば、「携帯電話基地局・携帯電話端末」、「無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アクセスポイント・無線ＬＡＮ端末」、「ＩＴＳ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｔｒａｎｓｐｏｒｔａｔｉｏｎ  Ｓｙｓｔｅｍ）システム信号送信局・ＩＴＳシステム対応自動車」などの組合せからなる無線通信装置、あるいは、「有線ＬＡＮハブ・有線ＬＡＮカード」などの組合せからなる有線通信装置としても利用可能である。
【図面の簡単な説明】
【０１３１】
【図１】本発明の実施の形態１におけるＩＤ応答と従来方式のＩＤ応答との比較を示す図である。
【図２】本発明の実施の形態１における無線装置の構成図である。
【図３】本発明の実施の形態１においてＩＤ認証の成功通知を行う場合の１ステップ内の各フェーズにおけるリーダライタとＩＣタグの送信パケットの内容に関する説明図である。
【図４】本発明の実施の形態１においてＩＤ認証の成功通知を行わない場合の１ステップ内の各フェーズにおけるリーダライタとＩＣタグの送信パケットの内容に関する説明図である。
【図５】本発明の実施の形態１においてＩＤ認証の成功通知を行う場合におけるリーダライタ側の処理のフローチャートである。
【図６】本発明の実施の形態１においてＩＤ認証の成功通知を行う場合におけるリーダライタ側の処理のフローチャートである。
【図７】本発明の実施の形態１においてＩＤ認証の成功通知を行う場合におけるリーダライタ側の処理のフローチャートである。
【図８】本発明の実施の形態１においてＩＤ認証の成功通知を行う場合におけるリーダライタ側の処理のフローチャートである。
【図９】本発明の実施の形態１においてＩＤ認証の成功通知を行う場合におけるＩＣタグ側の処理のフローチャートである。
【図１０】本発明の実施の形態１においてＩＤ認証の成功通知を行う場合におけるＩＣタグ側の処理のフローチャートである。
【図１１】本発明の実施の形態１においてＩＤ認証の成功通知を行う場合におけるＩＣタグ側の処理のフローチャートである。
【図１２】本発明の実施の形態１においてＩＤ認証の成功通知を行う場合におけるＩＣタグ側の処理のフローチャートである。
【図１３】本発明の実施の形態１の成功通知無しの場合のフェーズＣ、Ｄにおけるリーダライタ側のフローチャートである。
【図１４】本発明の実施の形態１の成功通知無しの場合のフェーズＣ、ＤにおけるＩＣタグ側のフローチャートである。
【符号の説明】
【０１３２】
１０  リーダライタ（通信制御装置）、１１  フラグ要請手段、１２  フラグ識別手段、１３  ＩＤ要請手段、１４  ＩＤ識別手段、２０  ＩＣタグ（通信機）、２１  フラグ応答手段、２２  ＩＤ応答手段。
【図１】
0004708126.tif 000002
【図２】
0004708126.tif 000003
【図３】
0004708126.tif 000004
【図４】
0004708126.tif 000005
【図５】
0004708126.tif 000006
【図６】
0004708126.tif 000007
【図７】
0004708126.tif 000008
【図８】
0004708126.tif 000009
【図９】
0004708126.tif 000010
【図１０】
0004708126.tif 000011
【図１１】
0004708126.tif 000012
【図１２】
0004708126.tif 000013
【図１３】
0004708126.tif 000014
【図１４】
0004708126.tif 000015