(57)【特許請求の範囲】
【請求項１】
質問器と複数の応答器の間で質問と応答を繰り返して質問器が各応答器に付与されている固有のIDを識別するシステムにおいて、
前記応答器が応答の際に自分のIDを送信するようにし、
前記質問器の質問に対し、
１）応答が複数であった場合は、
次回の質問において読取範囲の幅dを1／2に縮小し、
２）応答が単独であった場合は、
応答した応答器のIDを読み取り、
次回の質問において読取範囲を次の順位にシフトすると共に、
前回の質問に対して応答が単独または無応答であった場合は、
さらに読取範囲の幅dを2倍に拡大し、
３）応答が無応答であった場合は、
次回の質問において読取範囲を次の順位にシフトすると共に、
前回の質問に対して応答が単独または無応答であった場合は、
さらに読取範囲の幅dを2倍に拡大し、
以上の処理を読み取るべきIDが存在し得る全ての読取範囲の探索が終了するまで繰り返し行うことを特徴とする複数IDのマルチリード方法。
【請求項２】
質問器と複数の応答器の間で質問と応答を繰り返して質問器が各応答器に付与されている固有のＩＤを識別するシステムにおいて、
前記応答器が応答の際に応答信号だけを送信するようにし、
前記質問器の質問に対し、
１）応答器からの応答があり、
1.1）読取範囲の幅d＝1でなかったときは、
次回の質問において読取範囲の幅dを1／2に縮小し、
1.2）読取範囲の幅d＝1であったときは、
応答した応答器のIDを読み取り、
次回の質問において読取範囲を次の順位にシフトすると共に、
前回の質問に対して応答がありかつ読取範囲の幅d＝1であった場合、
または応答がなかった場合は、
さらに読取範囲の幅dを2倍に拡大し、
２）応答器からの応答がなかった場合は、
次回の質問において読取範囲を次の順位にシフトすると共に、
前回の質問に対して応答がありかつ読取範囲の幅d＝1であった場合、
または応答がなかった場合は、
さらに読取範囲の幅dを2倍に拡大し、
以上の処理を読み取るべきIDが存在し得る全ての読取範囲の探索が終了するまで繰り返し行うことを特徴とする複数IDのマルチリード方法。
【請求項３】
前記読取範囲の幅dを2のべき乗2ｅで定義し、読取範囲の指定はその始端Sと終端Eいずれか一方の整数値と幅dのべき指数eを指定して行うことを特徴とする請求項１又は２記載の複数IDのマルチリード方法。
【請求項４】
前記読取範囲の幅dの縮小値（d／2）は、べき指数計算e＝e−1で求められることを特徴とする請求項３記載の複数IDのマルチリード方法。
【請求項５】
前記読取範囲の幅dの拡大値（2×d）は、べき指数計算e＝e＋1で求められることを特徴とする請求項３記載の複数IDのマルチリード方法。
【請求項６】
前記読取範囲の指定を始端Sとべき指数eを指定して行うときは、終端E＝S＋2ｅ−1で計算されることを特徴とする請求項３記載の複数IDのマルチリード方法。
【請求項７】
前記読取範囲の指定を終端Eとべき指数eを指定して行うときは、始端S＝E−2ｅ＋1で計算されることを特徴とする請求項３記載の複数IDのマルチリード方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、質問器と複数の応答器の間で質問と応答を繰り返して質問器が各応答器に付与されている固有のIDを識別する複数IDのマルチリード方法に関する。
【０００２】
【発明が解決しようとする課題】
IDの識別を非接触で行うことを目的とした無線ICタグの製品化が相次ぎ、商品管理や個人認証、紙幣や有価証券の偽造防止などの分野でその応用が期待されている。
特に、スーパーやコンビニなどのレジカウンタでこれを利用すると、いちいち商品を取り出さなくても料金精算が瞬時にできるようになるので、人員の削減と待ち時間の解消などによる経営効率の改善と顧客サービスの向上が実現する。
【０００３】
IDの識別は、質問器の質問に対して応答器が自分のIDを応答して行う。
従って、質問はそれぞれ個別に行う必要があるが、同一通信エリア内に複数の応答器があると、応答が衝突してIDの識別ができなくなる。
そのため、質問に応答許可条件を指定して条件に合う応答器だけが応答するようにする。
【０００４】
この応答許可条件を指定して衝突を防止する最も確実な方法は、同じIDを持つ応答器はないので、IDそのものを応答許可条件とすることである。
この方法でIDを識別するには、質問器が総当り攻撃で存在するすべてのIDをしらみつぶしに質問して応答器に応答させる必要がある。
ところが、スーパーなどのように膨大な商品を取り扱うところでは、レジの度に店に存在するすべての商品のIDを片端から１つ１つ質問して応答させるのは、時間がかかりすぎて現実的でない。
【０００５】
この問題を解決するために、さまざまなマルチリード方法が提案されているが、従来の方法はいずれも質問器がIDのビットの各桁の符号1／0を順番に質問し、一致しなかった時点でそのIDの応答器の応答を禁止するようにして最後まで残った応答器のIDを検出番号として１つ１つ読み取るようにしている。
このため、IDのビットの桁数が長くなると質問回数が増えて１つ１つのIDを読み取るのに時間がかかり、全ての応答器のIDを読み取るまでにはさらに多くの時間がかかるという問題があった。
また、応答器側に応答を禁止させるための書き込み処理が必要になり、書き込みのための部品コストやオーバヘッドが増大するという問題もあった。
【０００６】
そこで本発明は、ビットの桁数が長くても短時間で効率よくIDが識別でき、応答器側の書き込み処理も必要としない複数IDのマルチリード方法を提案することを目的になされたものである。
【０００７】
【課題を解決するための手段】
かかる目的を達成するために、本発明は以下のように構成した。
【０００８】
すなわち、請求項１の発明は、質問器と複数の応答器の間で質問と応答を繰り返して質問器が各応答器に付与されている固有のIDを識別するシステムにおいて、
前記応答器が応答の際に自分のIDを送信するようにし、
前記質問器の質問に対し、
１）応答が複数であった場合は、
次回の質問において読取範囲の幅dを1／2に縮小し、
２）応答が単独であった場合は、
応答した応答器のIDを読み取り、
次回の質問において読取範囲を次の順位にシフトすると共に、
前回の質問に対して応答が単独または無応答であった場合は、
さらに読取範囲の幅dを2倍に拡大し、
３）応答が無応答であった場合は、
次回の質問において読取範囲を次の順位にシフトすると共に、
前回の質問に対して応答が単独または無応答であった場合は、
さらに読取範囲の幅dを2倍に拡大し、
以上の処理を読み取るべきIDが存在し得る全ての読取範囲の探索が終了するまで繰り返し行うことを特徴とする複数ＩＤのマルチリード方法である。
請求項２の発明は、質問器と複数の応答器の間で質問と応答を繰り返して質問器が各応答器に付与されている固有のＩＤを識別するシステムにおいて、
前記応答器が応答の際に応答信号だけを送信するようにし、
前記質問器の質問に対し、
１）応答器からの応答があり、
1.1）読取範囲の幅d＝1でなかったときは、
次回の質問において読取範囲の幅dを1／2に縮小し、
1.2）読取範囲の幅d＝1であったときは、
応答した応答器のIDを読み取り、
次回の質問において読取範囲を次の順位にシフトすると共に、
前回の質問に対して応答がありかつ読取範囲の幅d＝1であった場合、
または応答がなかった場合は、
さらに読取範囲の幅dを2倍に拡大し、
２）応答器からの応答がなかった場合は、
次回の質問において読取範囲を次の順位にシフトすると共に、
前回の質問に対して応答がありかつ読取範囲の幅d＝1であった場合、
または応答がなかった場合は、
さらに読取範囲の幅dを2倍に拡大し、
以上の処理を読み取るべきIDが存在し得る全ての読取範囲の探索が終了するまで繰り返し行うことを特徴とする複数IDのマルチリード方法である。
請求項３の発明は、前記読取範囲の幅dを2のべき乗2ｅで定義し、読取範囲の指定はその始端Sと終端Eいずれか一方の整数値と幅dのべき指数eを指定して行うことを特徴とする請求項１又は２記載の複数IDのマルチリード方法である。
請求項４の発明は、前記読取範囲の幅dの縮小値（d／2）は、べき指数計算e＝e−1で求められることを特徴とする請求項３記載の複数IDのマルチリード方法である。
請求項５の発明は、前記読取範囲の幅dの拡大値（2×d）は、べき指数計算e＝e＋1で求められることを特徴とする請求項３記載の複数IDのマルチリード方法である。
請求項６の発明は、前記読取範囲の指定を始端Sとべき指数eを指定して行うときは、終端E＝S＋2ｅ−1で計算されることを特徴とする請求項３記載の複数IDのマルチリード方法である。
請求項７の発明は、前記読取範囲の指定を終端Eとべき指数eを指定して行うときは、始端S＝E−2ｅ＋1で計算されることを特徴とする請求項３記載の複数IDのマルチリード方法である。
【０００９】
【発明の実施の形態】
以下に図面を参照して、本発明の実施の形態について説明する。
【００１０】
図１に、本発明を実施した複数IDのマルチリードシステムの構成図を示す。
複数IDのマルチリードシステムは、質問器１と応答器２の間で無線によるデータ通信と電力伝送を行って応答器２のIDを順番に識別する。
ここでは、ワイヤレスカードや無線ICタグなどに付与されたIDを識別するシステムについて説明するが、本発明のマルチリードシステムはこれに限定するものでなく、サービスエリア内にある携帯電話の電話番号を識別するシステムやLANに接続する端末のIDを識別するシステムなどにも適用できる。
【００１１】
質問器１は、アンテナ11とＲＦ部12、送信部13、受信部14のアナログ回路とデータ処理部15のデジタル回路で構成し、IDの読取信号を変調して電波を発射し、応答器２より受信した電波を復調して応答信号を取り出す。
質問器１が発射する電波は、データ通信の他にも応答器２が必要とする電力を伝送している。
【００１２】
応答器２は、アンテナ21とICチップ22を一体に組込み、質問器１の電波をアンテナ21で受信して励起電圧を発生し、これを整流して動作電源とする。
また、受信した電波を復調して読取信号を取り出し、応答信号を変調して電力増幅することなく再発射する。
【００１３】
複数IDのマルチリードシステムは、質問器１がIDの読取範囲を指定して読取信号を送信し、応答器２が自分のIDが読取範囲内にあればそれを応答信号として返送するシステムである。
応答器２は、自発的に信号を発信せず、質問器１の読取信号を受けてこれを正確に認識して初めて受動的に応答信号を返送する。
従って、自分のIDが読取範囲内にない場合や読取信号を認識できない場合は応答しない。
そのため、質問器１の通信エリア内に複数の応答器２が存在する場合、IDの読取範囲を制御することにより無用の応答を阻止し、複数の応答器２の応答による混信と衝突を防止する。
【００１４】
図２と図３に、本発明を実施したマルチリード方法のフローチャートを示す。図２のフローチャートは、質問器１の質問に対し応答器２が自分のIDを返信する場合を示し、図３は、質問器１の質問に対し応答器２が応答信号だけを返信する場合を示す。
処理を開始すると、質問器１は、まず最初に、読み取るべきIDが存在し得る最大の読取範囲（S0、e0）を指定する（ステップＳ１）。
本発明のマルチリード方法は読取範囲の幅dを2のべき乗に比例して増減させるため、処理がしやすいように幅d＝2ｅで定義し、読取範囲（S、e）を始端Sと幅dのべき指数eで指定する。このとき、読取範囲の終端EはE＝S＋2ｅ−1で計算される。
また、べき指数eはIDのビット長を表すことになり、例えば、e＝16は16ビット長のIDに、e＝32は32ビット長のIDに、e＝64は64ビット長のIDに、e＝128は128ビット長のIDに対応したことになる。
読取範囲（S、e）は、例えば最初に始端S0＝1とべき指数e0＝12を指定すると、終端E0＝1＋212−1＝4096となり、最初に指定する最大の読取範囲は1〜4096となる。
また、例えば最初に始端S0＝10001を指定すると、読取範囲（S、e）の下限を10001以上に設定することができる。
以上の指定方法以外に、読取範囲の始端Sと終端Eを指定したり、読取範囲の終端Eと幅dのべき指数eを指定してもよい。
【００１５】
次に、質問器１は読取要求コマンドを応答器２に送信する（ステップＳ２）。読取要求コマンドが送信されると、応答器２は読取要求コマンドの読取範囲（S、e）を参照して終端E＝S＋2ｅ−1を計算し、自分のIDが読取範囲内にあるかどうか（S≦ID≦E）を判定し、読取範囲内にある場合は自分のIDを（図３のフローチャートでは応答信号だけを）返信する（ステップＳ３）。
次に、質問器１は応答器２から応答があるかどうかを判定し（ステップＳ４）、応答がなかった場合はステップＳ９に進み、応答があった場合は、応答が複数の応答器２からのものか単独の応答器２からのものか（図３のフローチャートではべき指数e＝0かどうか）を判定する（ステップＳ５）。
応答が複数か単独かの識別は、応答が重複すると受信信号のビットパターンに乱れが生じることから、サイクリックチェックコード（CRC）などを使用して受信信号のビットパターンをチェックし、誤りを検出したときは複数の応答があったと判断する。
【００１６】
ステップＳ５において質問器１が複数の応答を識別したときは（図３のフローチャートではべき指数e≠0を検出したときは）、読取範囲（S、e）のべき指数eをe´（更新後のべき指数）＝e（更新前のべき指数）−1に更新し（ステップＳ６）、前回応答フラグＦを「複数応答あり」に（図３のフローチャートでは「応答あり」に）セットした後（ステップＳ７）、ステップＳ２に戻って次の読取要求コマンドを送信する。
ステップＳ６の処理により、次の読取要求コマンドにおける読取範囲（S、e）は、図４(a)に示すように、d´（更新後の幅）＝d（更新前の幅）／2となり、幅dが前回より1／2に縮小される。
これに伴ってE´（更新後の終端）はE（更新前の終端）より幅d／2だけ下方にシフトさる。
【００１７】
ステップＳ５において質問器１が単独の応答を識別したときは（図３のフローチャートではべき指数e＝0を検出したときは）、応答した応答器２のIDを読み取り（ステップＳ８）、読取範囲（S、e）の始端SをS´（更新後の始端）＝S（更新前の始端）＋d（＝2ｅ）に更新する（ステップＳ９）。
次に、S´（更新後の始端）と最初に指定した終端E0＝S0＋2ｅ0−1を比較し（ステップＳ10）、S´≧E0であれば、最初に指定した読取範囲の探索を全て終了したと判断して処理を終了する。
S´≧E0でなければ、前回応答フラグＦが「複数応答あり」か（図３のフローチャートでは「応答あり」か）どうかを判定し（ステップＳ11）、「複数応答あり」（図３のフローチャートでは「応答あり」）のときは、前回応答フラグＦをリセットした後（ステップＳ12）、ステップＳ２に戻って次の読取要求コマンドを送信する。
ステップＳ９の処理により、次の読取要求コマンドにおける読取範囲（S、e）は、図４(b)に示すように、S´（更新後の始端）＝S（更新前の始端）＋dとなり、始端Sが前回より幅dだけ上方にシフトされる。
このとき、終端E＝S＋d−1であるから、S´＝S＋d＝E＋1となり、S´（更新後の始端）はE（更新前の終端）に1を足した位置にシフトされることが分かる。
これに伴ってE´（更新後の終端）もE（更新前の終端）より幅dだけ上方にシフトされる。
【００１８】
ステップＳ11において前回応答フラグＦが「複数応答あり」（図３のフローチャートでは「応答あり」）でないときは、読取範囲（S、e）のべき指数eをe´（更新後のべき指数）＝e（更新前のべき指数）＋1に更新した後（ステップＳ13）、ステップＳ２に戻って次の読取要求コマンドを送信する。
ステップＳ13の処理により、次の読取要求コマンドにおける読取範囲（S、e）は、図４(c)に示すように、d´（更新後の幅）＝2d（更新前の幅）となり、幅dが前回より２倍に拡大される。
これに伴ってE´（更新後の終端）はE（更新前の終端）より幅2dだけ上方にシフトされる。
なお、以上の説明では読取範囲（S、e）を上昇順にシフトしながらIDを識別しているが、これとは逆に読取範囲（S、e）を下降順にシフトしながらIDを識別することも考えられる。
【００１９】
図５に、本発明を実施した複数IDのマルチリード方法の具体的な処理シーケンスを示す。
ここでは、ランダムに抽出した５個の応答器２のIDを順番に読み取るものとし、各応答器２の持つIDをそれぞれ7、58、96、145、208とする。
また、質問器１の質問に対し応答器２は自分のIDを返信するものとする。
質問器１は、最初に読取範囲（S＝1、e＝8）を指定する。これにより、終端E0＝S0＋2ｅ0−1＝1＋28−1＝256となり、読取範囲1〜256の読取要求コマンドを応答器２に送信する。
これに対し、全ての応答器２が応答する。
次に、質問器１は応答が複数あるので、べき指数をe−1＝7に変更し、読取範囲（S＝1、e＝7）を指定する。これにより、終端E＝S＋2ｅ−1＝1＋2７−1＝128となり、読取範囲1〜128の読取要求コマンドを応答器２に送信する。
これに対し、7、58、96の応答器２が応答する。
次に、質問器１は応答が複数あるので、べき指数をe−1＝6に変更し、読取範囲（S＝1、e＝6）を指定する。これにより、終端E＝S＋2ｅ−1＝1＋26−1＝64となり、読取範囲1〜64の読取要求コマンドを応答器２に送信する。
これに対し、7、58の応答器２が応答する。
次に、質問器１は応答が複数あるので、べき指数をe−1＝5に変更し、読取範囲（S＝1、e＝5）を指定する。これにより、終端E＝S＋2ｅ−1＝1＋25−1＝32となり、読取範囲1〜32の読取要求コマンドを応答器２に送信する。
これに対し、7の応答器２だけが応答する。
ここで質問器１は応答が単独なので、7を検出番号として読み取り、始端S＝S＋2ｅ＝1＋25＝1＋32＝33に変更し、読取範囲（S＝33、e＝5）を指定する。
これにより、終端E＝S＋2ｅ−1＝33＋25−1＝64となり、次に読取範囲33〜64の読取要求コマンドを応答器２に送信する。
これに対し、58の応答器２だけが応答する。
ここで質問器１は応答が単独なので、58を検出番号として読み取り、始端S＝S＋2ｅ＝33＋25＝33＋32＝65に変更する。
また、前回応答が「複数応答なし」なので、べき指数をe＋1＝6に変更し、読取範囲（S＝65、e＝6）を指定する。これにより、終端E＝S＋2ｅ−1＝65＋26−1＝65＋64−1＝128となり、次に読取範囲65〜128の読取要求コマンドを応答器２に送信する。
これに対し、96の応答器２だけが応答する。
ここで質問器１は応答が単独なので、96を検出番号として読み取り、始端S＝S＋2ｅ＝33＋26＝65＋64＝129に変更する。
また、前回応答が「複数応答なし」なので、べき指数をe＋1＝7に変更し、読取範囲（S＝129、e＝7）を指定する。これにより、終端E＝S＋2ｅ−1＝129＋27−1＝129＋128−1＝256となり、次に読取範囲129〜256の読取要求コマンドを応答器２に送信する。
これに対し、145、208の応答器２が応答する。
次に、質問器１は応答が複数あるので、べき指数をe−1＝6に変更し、読取範囲（S＝129、e＝6）を指定する。これにより、終端E＝S＋2ｅ−1＝129＋26−1＝192となり、読取範囲129〜192の読取要求コマンドを応答器２に送信する。
これに対し、145の応答器２だけが応答する。
ここで質問器１は応答が単独なので、145を検出番号として読み取り、始端S＝S＋2ｅ＝129＋26＝129＋64＝193に変更し、読取範囲（S＝193、e＝6）を指定する。これにより、終端E＝S＋2ｅ−1＝193＋26−1＝256となり、次に読取範囲193〜256の読取要求コマンドを応答器２に送信する。
これに対し、208の応答器２だけが応答する。
ここで質問器１は応答が単独なので、208を検出番号として読み取り、始端S＝S＋2ｅ＝193＋26＝193＋64＝257に変更する。
これにより、始端S＝257が最初に指定した終端E0＝256をオーバするので、この時点で全ての読取処理を終了する。
【００２０】
【発明の効果】
以上説明したように、本発明によれば、従来のように質問器がIDのビットの各桁の符号1／0を順番に質問するのでなく、質問器が読取範囲を指定してIDがその範囲内にあるかないかだけを質問するので、従来のように何回も質問を繰り返す必要がなく、１回の質問で済むので、ビットの桁数によらず短時間で効率的なIDの識別ができる。
また、従来のようにIDのビット符号が一致しなかった応答器の応答を選択的に禁止するのでなく、読取範囲外の応答器の応答を一律に禁止するので、応答器側の書き込み処理を必要とせず、書き込みに要する部品コストやオーバヘッドが低減する。
【００２１】
また、本発明によれば、応答器からの応答によって読取範囲を次の順位にシフトする処理と、読取範囲の幅を１／２に縮小または２倍に拡大する処理だけでIDの探索処理を行うので、簡単なループ構造のプログラムで２分探索法によるIDの探索処理ができるようになる。
一般に、２分探索法によるIDの探索処理をプログラム化する場合、読取範囲を細分化していく過程で履歴情報を記録し、細分化した読取範囲の処理を終えた後はこの履歴情報を参照して元の読取範囲に制御を戻す必要がある。
このため、処理ロジックが複雑になり、読取範囲の履歴を管理するために多くのメモリとＣＰＵを消費する。
また、履歴情報をプログラムで管理しない場合は、サブルーチンが自分自身をコールする再帰サブルーチンを用いる、いわゆるリカーシブ構造のプログラムとなる。このため、プログラム構造が複雑になり、また、サブルーチンをコールする毎に履歴情報を退避・回復するためのオーバヘッドが増大し、処理時間が長くなる。
従って、本発明によれば、構造が簡単で処理ステップが短く、メモリやＣＰＵの消費量が少ない高効率の処理プログラムが実現する。
また、読取範囲を上昇順または下降順にシフトしながらIDを探索するので、IDが上昇順または下降順に検出され、探索終了後のソート処理が不要になる。
【００２２】
また、本発明によれば、読取範囲の幅を2のべき乗2ｅで定義するので、例えば64ビットのIDを指定する場合64ビット必要になるが、これをべき指数eで指定すれば26＝64であるから3ビットで済み、質問時の送信データ量を大幅に節減できる。
また、読取範囲の幅の縮小値（d／2）や拡大値（2×d）の計算が簡単な引き算と足し算で実現できるので、シフトレジスタによる高速演算が可能になる。
【図面の簡単な説明】
【図１】本発明を実施した複数IDのマルチリードシステムの構成図である。
【図２】応答器が自分のIDを返信するマルチリード方法のフローチャートである。
【図３】応答器が応答信号だけを返信するマルチリード方法のフローチャートである。
【図４】次の読取要求コマンドにおける読取範囲の遷移を示す模式図である。
【図５】本発明を実施した複数IDのマルチリード方法の処理シーケンスである。
【符号の説明】
１              質問器
11            アンテナ
12            ＲＦ部
13            送信部
14            受信部
15            データ処理部
２              IDタグ
21            アンテナ
22            ICチップ
【図１】
0003672895.tif 000002
【図２】
0003672895.tif 000003
【図３】
0003672895.tif 000004
【図４】
0003672895.tif 000005
【図５】
0003672895.tif 000006