(57)【特許請求の範囲】
【請求項１】
アンテナの交信領域内に存在する複数の通信媒体からの情報をタイムスロット方式のアンチコリジョン機能を利用して受信する通信装置において、
タイムスロット数を決定するための数値を可変自在に記憶する数値記憶手段と、
前記数値によって決定されるタイムスロット数のタイムスロット通信を１ラウンドとし、前記通信媒体との通信開始から終了までの間、前記１ラウンドのタイムスロット通信を繰り返す通信制御手段と、
前記タイムスロット通信の１ラウンド内での衝突発生回数が予め設定された衝突発生回数しきい値を超える頻度の高低を判定する衝突発生頻度判定手段と、
この衝突発生頻度判定手段により衝突発生回数の頻度が高いと判定されると、前記数値記憶手段より記憶されている数値を前記タイムスロット数が増加する方向に更新する数値更新手段と、
を具備したことを特徴とする通信装置。
【請求項２】
前記衝突発生頻度判定手段は、
前記タイムスロット通信の１ラウンドが終了する毎にその１ラウンド内での衝突発生回数が予め設定された衝突発生回数しきい値を超えたか否かを判定する衝突発生回数判定手段と、
この衝突発生回数判定手段により前記１ラウンド内での衝突発生回数が前記衝突発生回数しきい値を超えたと判定された回数を計数する衝突しきい値超越回数計数手段と、
この衝突しきい値超越回数計数手段による計数値が予め設定された衝突発生回数異常判定しきい値を超えたか否かを判定する衝突発生回数異常判定手段とからなり、
前記衝突発生回数異常判定手段により前記衝突しきい値超越回数計数手段による計数値が前記衝突発生回数異常判定しきい値を超えたと判定されると衝突発生回数の頻度が高いと判定することを特徴とする請求項１記載の通信装置。
【請求項３】
前記通信媒体は、ＲＦＩＤタグであることを特徴とする請求項１または２記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＦＩＤ（Radio Frequency Identification）タグ等の通信媒体との間で非接触による通信を行い、前記通信媒体に保持される情報を読取る通信装置に関し、特に、複数の通信媒体との通信制御にタイムスロット方式のアンチコリジョン機能を利用してなる通信装置に関する。
【背景技術】
【０００２】
近年、電磁波あるいは電波を利用して通信装置との間で非接触による交信を行うことにより、メモリ内に保持したデータを送信したり、受信したデータをメモリ内に書き込んだりできる小型の通信媒体が開発され、流通，物流，交通，セキュリティなどの様々な分野で使用されている。因みに通信媒体は、一般的にＲＦＩＤタグ，無線タグ，ＩＣタグ，電子タグなどと称されている。また、通信装置は、タグリーダ，タグリーダ・ライタ，質問器等と称されている。
【０００３】
例えば流通分野においては、店舗の陳列棚等に陳列されている各商品にそれぞれ当該商品特有の情報が書き込まれた通信媒体を付し、必要に応じて通信装置を用いて各商品に付されている通信媒体の情報を読取り検索することによって、在庫管理や商品認証等を行うことが提案されている。このような通信媒体を用いた通信システムの特徴的な機能の１つに、通信装置が複数の通信媒体から略同時にデータを受信できる機能がある。これにより、通信媒体を商品に適用した場合には複数の商品からその商品特有の情報を略同時に非接触で読取ることができるので、在庫管理や商品認証等の作業の効率化を図れるようになる（例えば、特許文献１参照）。
【０００４】
この機能を実現する仕組みをアンチコリジョン（衝突防止）と称している。アンチコリジョンは、通信媒体の応答手順を制御する機能であり、国際標準規格に採用されている代表的なアルゴリズムとしてバイナリツリー方式とタイムスロット方式とがある。タイムスロット方式は、無線ＬＡＮ（Local Area Network）等のパケット通信において広く使われているアクセス制御方式で、アロハ（ＡＬＯＨＡ）方式とも呼ばれている。
【０００５】
一般的なタイムスロット方式のアンチコリジョン機能の動作について説明する。  
先ず、通信装置は、そのアンテナの交信領域内に存在する通信媒体に対し、特定のビット（２０〜２Ｑ：Ｑは≧１の固定値）をタイムスロットとして指定する。
【０００６】
タイムスロットの指定を受けた通信媒体は、そのビットの範囲内で乱数を生成する。例えばタイムスロットが２ビット（Ｑ＝１）であった場合、通信媒体は２ビットの乱数［００］，［０１］，［１０］，［１１］のいずれかを生成する。そして、生成された乱数に一致したタイミングのタイムスロットを利用して通信装置に応答を返す。
【０００７】
この際、１つのタイムスロットに対して１つの通信媒体しか応答を返さなかった場合には、その通信媒体のデータは通信装置によって受信される。しかし、１つのタイムスロットに対して複数の通信媒体が同時に応答を返した場合には衝突となるので、それらの通信媒体のデータは受信されない。
【０００８】
衝突となった通信媒体では、再度乱数を生成する。そして、生成された乱数に一致したタイミングのタイムスロットを利用して通信装置に応答を返す。このような一連の処理を繰り返すことにより、通信装置は複数の通信媒体から略同時にデータを受信できるようになる。
【特許文献１】特開２００２−７４２８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述したように、タイムスロット方式のアンチコリジョン機能の場合は、通信装置のアンテナ交信領域内に存在する通信媒体の数が多いときには、タイムスロット数を増やすことによって衝突発生回数を減らすことができるので、通信効率が良好となる。逆に、通信媒体の数が少ないときには、タイムスロット数を減らすことによって通信時間を短縮できるので、通信効率が良好となる。
【００１０】
しかしながら、従来のこの種の通信装置においては、タイムスロット数は予め実装されたソフトウェアによって固定化されており、適宜タイムスロット数を増減するようなことはできなかった。このためユーザは、システムの利用環境等から適切なタイムスロット数が設定された通信装置を選択しているが、見込み違いがあったり利用環境が変化したりした場合には良好な通信効率が得られないという問題があった。
【００１１】
本発明はこのような事情に基づいてなされたもので、その目的とするところは、使用状況に応じて適切なタイムスロット数を自動的に設定することができ、常に良好な通信効率が得られる通信装置を提供しようとするものである。
【課題を解決するための手段】
【００１２】
本発明は、アンテナの交信領域内に存在する複数の通信媒体からの情報をタイムスロット方式のアンチコリジョン機能を利用して受信する通信装置において、タイムスロット数を決定するための数値を可変自在に記憶する数値記憶手段と、数値によって決定されるタイムスロット数のタイムスロット通信を１ラウンドとし、通信媒体との通信開始から終了までの間、同一ラウンドのタイムスロット通信を繰り返す通信制御手段と、タイムスロット通信の１ラウンド内での衝突発生回数が予め設定された衝突発生回数しきい値を超える頻度の高低を判定する衝突発生頻度判定手段と、この衝突発生頻度判定手段により衝突発生回数の頻度が高いと判定されると、数値記憶手段より記憶されている数値をタイムスロット数が増加する方向に更新する数値更新手段とを備えたものである。
【発明の効果】
【００１４】
かかる手段を講じた本発明によれば、使用状況に応じて適切なタイムスロット数を自動的に設定することができ、常に良好な通信効率が得られる通信装置を提供できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を実施とするための最良の形態について、図面を用いて説明する。  
なお、この実施の形態は、流通分野における在庫管理や商品認証等に本発明の通信装置を適用した場合であり、説明の便宜上、各商品にそれぞれ付される通信媒体をＲＦＩＤタグと称し、通信装置をタグリーダと称するものとする。
【００１６】
図１は本実施の形態におけるタグリーダの要部構成を示すブロック図である。タグリーダは、携帯型のリーダ本体１０と、該リーダ本体１０に取り付けられたアンテナ２０とから構成されている。アンテナ２０は、送信時に高周波信号を電波として放射し、受信時は電波を高周波信号に変換する働きをする。アンテナ２０から放射された電波は、各商品にそれぞれ付されて使用されるＲＦＩＤタグ３０に到達し、各ＲＦＩＤタグ３０で受信される。アンテナ２０の交信領域は、伝送方式，アンテナ形状等によって定められる。
【００１７】
各ＲＦＩＤタグ３０は、それぞれ固有の識別番号を固定的に記憶している。また、当該タグが付された商品特有の情報等も書換自在に記憶している。各ＲＦＩＤタグ３０は、タイムスロット方式のアンチコリジョン機能に対応したものである。
【００１８】
リーダ本体１０は、タイムスロット方式のアンチコリジョン機能を実装したもので、インターフェイス部１１、変調部１２，送信アンプ１３，サーキュレータ１４，受信アンプ１５，復調部１６，信号入出力部（Ｉ／Ｏ）１７,メモリ部１８及び各部を制御する制御部１９等で構成されている。
【００１９】
インターフェイス部１１は、外部接続されるホスト機器と制御部１９との間で行われるデータ通信を中継する。変調部１２は、制御部１９から与えられるデジタル送信データを高周波信号に変調して送信アンプ１３に出力する。送信アンプ１３は、変調部１２にて変調された高周波信号を増幅してサーキュレータ１４に出力する。サーキュレータ１４は、送信アンプ１３にて増幅された変調波信号をアンテナ２０側に出力する。また、アンテナ２０で受信した高周波信号を受信アンプ１５側に出力する。受信アンプ１５は、サーキュレータ１４側から入力された高周波信号を増幅して復調部１６に出力する。復調部１６は、受信アンプ１５にて増幅された高周波信号を復調してデジタル受信データに変換し、制御部１９に出力する。制御部１９は、復調部１６にて復調されたデジタル受信データに基づき、ＲＦＩＤタグ３０のメモリデータを読み込む。
【００２０】
信号入出力部１７は、読取開始ボタン４１のオン／オフ信号を入力して制御部１９に通知する。また、制御部１９の制御により読取中ランプ４２に対してオン／オフ信号を出力する。
【００２１】
メモリ部１８は、各種の設定データや可変的なデータを記憶するための領域である。特に、本発明に係るメモリ領域として図２に示すように、乱数範囲設定値Ｑの保管メモリ５１、乱数範囲設定値下限値ＱMINの設定メモリ５２、乱数範囲設定値上限値ＱMAXの設定メモリ５３、衝突発生回数しきい値ｘの設定メモリ５４、読込みタグ数しきい値ｎの設定メモリ５５、衝突発生回数異常判定しきい値ｙの設定メモリ５６、読込みタグ数異常判定しきい値ｍの設定メモリ５７、カウント値Ｙの第１カウンタメモリ５８及びカウント値Ｍの第２カウンタメモリ５９等を形成している。
【００２２】
各設定メモリ５２，５３，５４，５５，５６，５７には、それぞれ所定の値（１以上の整数：ただしＱMIN＜ＱMAX）が予め設定されている。因みに、標準規格であるＥＰＣ（Electronic Product Code Generation）−２準拠のタグリーダの場合、乱数範囲設定値上限値ＱMAXは［１５］であり、乱数範囲設定値下限値ＱMINは［０］である。
【００２３】
また、保管メモリ５１には、当該タグリーダの出荷時、設定メモリ５２に設定されている乱数範囲設定値下限値ＱMINから設定メモリ５３に設定されている乱数範囲設定値上限値ＱMAXまでの範囲内における任意の値が乱数範囲設定値Ｑの初期値として設定されている。因みに、乱数範囲設定値Ｑは、タイムスロット方式のアンチコリジョン機能においてタイムスロット数（２Ｑ＋１）を決定する値である。保管メモリ５１は、この乱数範囲設定値Ｑを可変自在に記憶する。ここに、保管メモリ５１は、タイムスロット数を決定するための数値を可変自在に記憶する数値記憶手段として機能する。
【００２４】
かかる構成のタグリーダは、ユーザによって読取開始ボタン４１がオン操作されると、制御部１９が図４の流れ図に示す手順の処理を実行するようにプログラム構成されている。
【００２５】
すなわち制御部１９は、信号入出力部１７を介して読取開始ボタン４１のオン信号が入力されたことに応じて、この処理を開始する。先ず、ＳＴ（ステップ）１として保管メモリ５１から現在の乱数範囲設定値Ｑを読み出し、図示しないワークエリアに格納する。また、ＳＴ２として第１カウンタメモリ５８及び第２カウンタメモリ５９の各カウント値Ｙ，Ｍを“０”にリセットする。
【００２６】
次に、制御部１９は、ＳＴ３として上記乱数範囲設定値Ｑを含むタグ読込みコマンドのデジタルデータを生成し、変調部１２に出力する。これにより、上記デジタルデータは、変調部１２にて高周波信号に変調され、送信アンプ１３にて増幅され、サーキュレータ１４を介してアンテナ２０から放射される。アンテナ２０から放射された高周波信号は、当該アンテナ２０の交信領域内に存在するＲＦＩＤタグ３０で受信される。
【００２７】
ＲＦＩＤタグ３０は、受信した高周波信号から電圧を発生させ起動してタグ読込みコマンドを受信する。タグ読込みコマンドを受信したＲＦＩＤタグ３０は、そのコマンド中の乱数範囲設定値Ｑで指定される範囲内のビット（０〜２Ｑ）で乱数を生成する。そして、生成された乱数に一致したタイミングのタイムスロットを利用してタグリーダに応答を返す。
【００２８】
一方、制御部１９は、タグ読込みコマンドを送信後、ＳＴ４としてタイムスロット通信を行う。すなわち乱数範囲設定値Ｑにより算出されるタイムスロット数（２Ｑ＋１）個のタイムスロットを時系列で送信する。そして、１つのタイムスロットに対して１つのＲＦＩＤタグ３０から応答があった場合には、そのＲＦＩＤタグ３０からメモリデータを無線通信により非接触で読み込む。一方、１つのタイムスロットに対して複数のＲＦＩＤタグ３０から応答があった場合には、衝突発生とする。こうして、このタイムスロット数（２Ｑ＋１）個のタイムスロットを送信し終えると、制御部１９は、ＳＴ５として１ラウンドが経過したと判断する。
【００２９】
１ラウンドが経過したことを認識すると、制御部１９は、ＳＴ６としてその１ラウンド内での衝突発生回数ｃを取得する。そして、ＳＴ７としてこの衝突発生回数ｃが設定メモリ５４に予め設定されている衝突発生回数しきい値ｘを超えたか否かを判定する（衝突発生回数判定手段）。ここで、衝突発生回数ｃが衝突発生回数しきい値ｘを超えたと判定された場合には、制御部１９は、ＳＴ８として第１カウンタメモリ５８のカウント値Ｙを“１”だけ増加させる（衝突しきい値超越回数計数手段）。衝突発生回数ｃが衝突発生回数しきい値ｘを超えていないと判定された場合には、カウント値Ｙはそのままとする。
【００３０】
次に、制御部１９は、ＳＴ９としてその１ラウンド内でメモリデータを読み込んだＲＦＩＤタグ３０の数ｒを取得する。そして、ＳＴ１０としてこのＲＦＩＤタグ数ｒが設定メモリ５５に予め設定されている読込みタグ数しきい値ｎに満たないか否かを判定する（通信媒体数判定手段）。ここで、ＲＦＩＤタグ数ｒが読込みタグ数しきい値ｎに満たないと判定された場合には、制御部１９は、ＳＴ１１として第２カウンタメモリ５９のカウント値Ｍを“１”だけ増加させる（通信媒体数しきい値未達回数計数手段）。ＲＦＩＤタグ数ｒが読込みタグ数しきい値ｎ以上であると判定された場合には、カウント値Ｍはそのままとする。
【００３１】
次に、制御部１１は、ＳＴ１２として第１カウンタメモリ５８のカウント値Ｙが設定メモリ５６に予め設定されている衝突発生回数異常判定しきい値ｙを超えたか否かを判定する（衝突発生回数異常判定手段）。ここで、越えたと判定された場合にはタイムスロット通信の１ラウンド内での衝突発生回数が予め設定されたしきい値ｘを超える頻度が高いと判定し、超えていないと判定された場合には同頻度が低いと判定する（衝突発生頻度判定手段）。
【００３２】
衝突発生回数の頻度が高いと判定された場合には、制御部１１は、ＳＴ１３として第１カウンタメモリ５８のカウント値Ｙを“０”にリセットした後、ＳＴ１４としてワークエリアに格納された乱数範囲設定値Ｑが、設定メモリ５３に設定されている乱数範囲設定値上限値ＱMAXに達しているか否かを判断する。そして、乱数範囲設定値Ｑがその上限値ＱMAXに達していない場合には、ＳＴ１５としてワークエリア内の乱数範囲設定値Ｑを“１”だけ増加する。乱数範囲設定値Ｑがその上限値ＱMAXに既に達している場合には、ＳＴ１５の処理は行わない。また、衝突発生回数の頻度が低いと判定された場合には、ＳＴ１３〜ＳＴ１５の各処理を行わない。
【００３３】
次に、制御部１１は、ＳＴ１６として第２カウンタメモリ５９のカウント値Ｍが設定メモリ５７に予め設定されている読込みタグ数異常判定しきい値ｍを超えたか否かを判定する（通信媒体数異常判定手段）。ここで、越えたと判定された場合にはタイムスロット通信の１ラウンド内で情報を受信したＲＦＩＤタグ３０の数が予め設定されたしきい値ｎに満たない頻度が高いと判定し、超えていないと判定された場合には同頻度が低いと判定する（受信頻度判定手段）。
【００３４】
情報を受信したＲＦＩＤタグ３０の数が予め設定されたしきい値ｎに満たない頻度が高いと判定された場合には、制御部１１は、ＳＴ１７として第２カウンタメモリ５９のカウント値Ｍを“０”にリセットした後、ＳＴ１８としてワークエリアに格納されている乱数範囲設定値Ｑが、設定メモリ５２に設定されている乱数範囲設定値下限値ＱMINに達しているか否かを判断する。そして、乱数範囲設定値Ｑがその下限値ＱMINに達していない場合には、ＳＴ１９としてワークエリア内の乱数範囲設定値Ｑを“１”だけ減少させる。乱数範囲設定値Ｑがその下限値ＱMINに既に達している場合には、ＳＴ１９の処理は行わない。また、情報を受信したＲＦＩＤタグ３０の数が予め設定されたしきい値ｎに満たない頻度が低いと判定された場合には、ＳＴ１７〜ＳＴ１９の各処理を行わない。
【００３５】
その後、制御部１９は、ＳＴ４の処理に戻り、同一のタイムスロット通信を繰り返す（通信制御手段）。そしてその後、ユーザによって読取開始ボタン４１がオフ操作されると、制御部１９は、図３の流れ図に示すように、ワークエリアに格納されている乱数範囲設定値Ｑを保管メモリ５１に上書きして、保管メモリ５１内の乱数範囲設定値Ｑを更新する。これにより、図４のＳＴ１５の処理でワークエリア内の乱数範囲設定値Ｑが増加されていた場合には、保管メモリ５１内の乱数範囲設定値Ｑが増加する。すなわち、タイムスロット数が増加する方向に乱数範囲設定値Ｑが更新される。逆に、図４のＳＴ１９の処理でワークエリア内の乱数範囲設定値Ｑが減少されていた場合には、保管メモリ５１内の乱数範囲設定値Ｑが減少する。すなわち、タイムスロット数が減少する方向に乱数範囲設定値Ｑが更新される（数値更新手段）。
【００３６】
このように動作する本実施の形態のタグリーダにおいては、保管メモリ５１に保管されている乱数範囲設定値Ｑによって導き出されるタイムスロット数が、アンテナ２０の交信領域内に存在し得るＲＦＩＤタグ３０の数と比較してかなり少なく、頻繁に衝突が発生するような利用環境下であるときには、実際にＲＦＩＤタグ３０の読取動作を繰り返すことによって、タイムスロット数が増加する方向に乱数範囲設定値Ｑが自動的に変更される。そして、その利用環境下において適切な乱数範囲設定値Ｑが自動的に決定される。これにより、衝突の発生頻度が低減されるので、通信効率が良好となる。
【００３７】
また逆に、現在の乱数範囲設定値Ｑによって導き出されるタイムスロット数が、アンテナ２０の交信領域内に存在し得るＲＦＩＤタグ３０の数と比較してかなり多く、無駄なタイムスロット通信が行われているような利用環境下であるときには、実際にＲＦＩＤタグ３０の読取動作を繰り返すことによって、タイムスロット数が減少する方向に乱数範囲設定値Ｑが自動的に変更される。そして、その利用環境下において適切な乱数範囲設定値Ｑが自動的に決定される。これにより、通信時間が短縮されるので、やはり通信効率が良好となる。
【００３８】
なお、この発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。  
例えば図４の流れ図に示す処理手順において、ＳＴ１２〜ＳＴ１５の一連の処理とＳＴ１６〜ＳＴ１９の一連の処理の手順を逆にしてもよい。また、タグリーダ出荷時の乱数範囲設定値Ｑを乱数範囲設定値下限値ＱMINとし、ＳＴ１６〜ＳＴ１９の一連の処理を省略してもよい。同様に、タグリーダ出荷時の乱数範囲設定値Ｑを乱数範囲設定値上限値ＱMAXとし、ＳＴ１２〜ＳＴ１５の一連の処理を省略することも可能である。
【００３９】
また前記実施の形態では、図４のＳＴ１５及びＳＴ１９の処理において乱数範囲設定値Ｑを１ずつ増減したが、増減幅は１に限定されるものではなく、例えば２ずつ増減するようにしてもよい。また、乱数範囲設定値上限値ＱMAXまたは乱数範囲設定値下限値ＱMINとの差分に応じて増減幅を変更してもよい。例えばＳＴ１５の処理において、現在の乱数範囲設定値Ｑに対して乱数範囲設定値上限値ＱMAXまでの差分が一定値以上の場合には増加幅を２とし、一定値未満の場合には増加幅を１としてもよい。同様に、ＳＴ１９の処理において、現在の乱数範囲設定値Ｑに対して乱数範囲設定値下限値ＱMINまでの差分が一定値以上の場合には減少幅を２とし、一定値未満の場合には減少幅を１としてもよい。
【００４０】
また前記実施の形態では、制御部１９が、読取開始ボタン４１のオン操作により読取開始処理を起動し、オフ操作により読取終了処理を起動するようにしたが、インターフェイス部１１を介して接続されるホスト機器からの読取開始コマンドに応じて読取開始し処理を起動し、読取終了コマンドに応じて読取終了処理を起動するようにしてもよい。したがって、タグリーダ本体１０は携帯型のものに限定されるわけではなく、据置き型であってもよい。また、リーダ専用機だけでなく、書込みも可能なリーダ・ライタにも本発明を適用できるのは言うまでも無いことである。
【００４１】
また、本発明は、ＲＦＩＤタグや無線タグ，ＩＣタグ，電子タグなどと称される通信媒体との通信装置に限定されるものではなく、他の通信媒体との通信制御にタイムスロット方式のアンチコリジョン機能を利用してなる通信装置全般に適用できる。  
この他、前記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を組合わせてもよい。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施の形態であるタグリーダの要部構成を示すブロック図。
【図２】同タグリーダのメモリ部に形成される主要なメモリエリアを示す模式図。
【図３】同タグリーダの制御部が実行する読取終了処理の手順を示す流れ図。
【図４】同タグリーダの制御部が実行する読取開始処理の手順を示す流れ図。
【符号の説明】
【００４３】
１０…タグリーダ本体、１１…インターフェイス部、１２…変調部、１３…送信アンプ、１４…サーキュレータ、１５…受信アンプ、１６…復調部、１７…信号入出力部、１８…メモリ部、１９…制御部、２０…アンテナ、３０…ＲＦＩＤタグ、４１…読取開始ボタン。
【図１】
0004594250.tif 000002
【図２】
0004594250.tif 000003
【図３】
0004594250.tif 000004
【図４】
0004594250.tif 000005