(57)【要約】      （修正有）【課題】高速データ転送収集システムは、データの非接触記憶と検索にメッセージ認証と非接触式無線周波数近接カード技術を使う。【解決手段】ホストは特定のアプリケーション機能をタグ所持者に提供する。この機能は不正使用に対してきわめて安全である。ターゲットはＲＦアンテナを制御し、ＲＦの電界内の複数のタグ間の衝突を回避する。タグとホスト間のデータおよび情報の交換は、信頼性が高く高速で認証による安全が確保される。これはタグに特製ASIC設計を用いることにより実現する。タグは特別のアナログおよびデジタル回路、不揮発性メモリ、状態論理を内蔵する。各タグはターゲットと共に処理を行う。一連のメッセージを交換することにより、タグのデータを読み書きする。このメッセージ交換は、無線回線を確立し、タグ同士の通信衝突を回避し、互いの認証を行い、無線回線を介して高速に確実に情報を交換し、処理の整合性と正当性を確保する。【選択図】図２
2005100424.tif 000002
【特許請求の範囲】
【請求項１】
ターゲットとタグとを備え、該タグが未完の「readpage」メッセージおよび未完の「writepage」メッセージを格納するためのタグ一時バッファと、タグメモリと、タグ起動フラグとを有する非接触近接式自動データ収集システムにおいて、
前記タグ一時バッファに未完の「writepage」メッセージがあるかを決定する段階と、
前記タグ一時バッファに未完の「writepage」メッセージがあれば、
前記タグ一時バッファから前記タグメモリへ前記未完の「writepage」メッセージを書き込む段階と、
前記タグ起動フラグがセットされているかを決定する段階と、
前記タグ起動フラグがセットされていれば、
「ack」メッセージを送信する段階と、
前記タグ起動フラグがセットされていなければ、
「wakeup」メッセージを待つ段階と、
前記「wakeup」メッセージを受信する段階と、
前記「wakeup」メッセージに応じ「imawake」メッセージを送信する段階と、
ターゲットメッセージを待つ段階と、
前記ターゲットメッセージを受信する段階と、
前記ターゲットメッセージが、「wakeup」メッセージか「readpage」メッセージか「writepage」メッセージかを決定する段階と、
前記ターゲットメッセージが「wakeup」メッセージであれば、前記タグ起動フラグがセットされているかを決定する段階と、
前記タグ起動フラグがセットされていなければ、ターゲットメッセージを待つ段階に戻る段階と、
前記タグ起動フラグがセットされていれば休止する段階と、
前記ターゲットメッセージが「readpage」メッセージであれば、該「readpage」メッセージをタグ一時バッファに格納し、「ack」メッセージを送り、ターゲットメッセージを待つ段階に戻る段階と、
前記ターゲットメッセージが「writepage」メッセージであれば、該「writepage」メッセージを前記タグ一時バッファに格納し、該タグ一時バッファに未完の「writepage」メッセージが存在するかを決定する段階とを備えることを特徴とするデータ交換方法。
【請求項２】
前記「readpage」メッセージが、メッセージ開始文字と、メッセージ識別文字と、ページ番号とを含み、
前記「writepage」メッセージが、メッセージ開始文字と、メッセージ識別文字と、書込み順序番号と、ページ番号と、ページ内容バイトとを含み、
前記「wakeup」メッセージが、メッセージ開始文字と、メッセージ識別文字と、乱数とを含み、
前記「imawake」メッセージが、メッセージ開始文字と、メッセージ識別文字と、タグ識別番号と、タグ乱数と、タグブロックディレクトリとを含み、
前記「ack」メッセージが、メッセージ開始文字と、メッセージ識別文字と、ページ番号とを含むことを特徴とする請求項１に記載の方法。
【請求項３】
タグとホストコンピュータとを含む非接触近接式自動データ収集システムにおいて、
第１タグメッセージを送信する段階と、
前記第１タグメッセージに応じ第１ホストメッセージを送信する段階と、
前記第１ホストメッセージが有効であるかを決定する段階と、
前記第１ホストメッセージが有効であれば、
第２タグメッセージを送信し、
前記第１ホストメッセージが無効であれば、
第３タグメッセージを送信する
ことを特徴とするデータ交換方法。
【請求項４】
前記第１ホストメッセージが、メッセージ開始文字とメッセージ識別文字とページ番号とを含む「readpage」メッセージか、またはメッセージ開始文字とメッセージ識別文字と書込み順序番号とページ番号とページ内容バイトとを含む「writepage」メッセージであり、
前記第１タグメッセージが、メッセージ開始文字とメッセージ識別文字とタグ識別番号とタグ乱数とタグブロックディレクトリとを含む「imawake」メッセージであり、
前記第２タグメッセージが、前記第１ホストメッセージが「readpage」メッセージである場合は、メッセージ開始文字とメッセージ識別文字とページ番号とページ内容バイトとを含む「sendingpage」メッセージであり、
前記第２タグメッセージが、前記第１ホストメッセージが「writepage」メッセージである場合は、メッセージ開始文字とメッセージ識別文字とページ番号とを含む「ack」メッセージであり、
前記第３タグメッセージが、メッセージ識別文字を含む「nak」メッセージであることを特徴とする請求項３に記載の方法。
【請求項５】
前記「imawake」メッセージと前記「readpage」メッセージと前記「writepage」メッセージとは各々さらにメッセージ認証コードを含み、
前記「readpage」メッセージまたは「writepage」メッセージが有効であるかを決定する段階が、前記「imawake」メッセージからの前記メッセージ認証コードと前記「readpage」メッセージまたは「writepage」メッセージからの前記メッセージ認証コードとを比較し、両者が同一である場合のみ前記「readpage」メッセージまたは「writepage」メッセージが有効であると決定することを特徴とする請求項４に記載の方法。
【請求項６】
前記メッセージ認証コードが、前記「imawake」メッセージの内容から計算した６バイト値であることを特徴とする請求項５に記載の方法。
【請求項７】
前記タグが、複数のブロックに分割されたタグメモリを有し、前記ブロックの各々がさらに複数のページに分割されており、
前記ブロックの各々が、ブロック読出しキーとブロック書込みキーを格納するための読出しキーバッファと書込みキーバッファとを含み、
前記「readpage」メッセージがさらに読出しページキーを含み、
前記「writepage」メッセージがさらに書込みページキーを含み、
前記「readpage」メッセージまたは「writepage」メッセージが有効であるかを決定する段階が、前記ブロック読出しキーと前記読出しページキーとを比較し、両者が一致した場合のみ前記「readpage」メッセージは有効であると判断し、あるいは前記ブロック書込みキーと前記書込みページキーを比較し、両者が一致した場合のみ前記「writepage」メッセージは有効であると判断することを特徴とする請求項４に記載の方法。
【請求項８】
前記非接触近接式自動データ収集システムがさらにターゲットを備え、
前記ターゲットによって前記第１タグメッセージを受信する段階と、
前記第１タグメッセージを前記ターゲットによって前記ホストに送信する段階と、
前記ターゲットによって前記第１ホストメッセージを受信する段階と、
前記第１ホストメッセージを前記ターゲットによって前記タグに送信する段階とをさらに備えることを特徴とする請求項３に記載の方法。
【請求項９】
非接触近接式自動データ収集システムにおいて、ホストとタグとを備え、
前記ホストが、
第１タグメッセージに応じ第１ホストメッセージを送信する手段を含み、
前記タグが、
前記第１タグメッセージを送信する手段と、
受信した前記第１ホストメッセージが有効であるかを決定する手段と、
受信した前記第１ホストメッセージが有効であれば第２タグメッセージを送信する手段と、
受信した前記第１ホストメッセージが無効であれば、第３タグメッセージを送信する手段とを含む
ことを特徴とするデータ交換システム。
【請求項１０】
前記第１ホストメッセージが、メッセージ開始文字とメッセージ識別文字とページ番号とを含む「readpage」メッセージか、またはメッセージ開始文字とメッセージ識別文字と書込み順序番号とページ番号とページ内容バイトとを含む「writepage」メッセージであり、
前記第１タグメッセージが、メッセージ開始文字とメッセージ識別文字とタグ識別番号とタグ乱数とタグブロックディレクトリとを含む「imawake」メッセージであり、
前記第２タグメッセージが、前記第１ホストメッセージが「readpage」メッセージである場合は、メッセージ開始文字とメッセージ識別文字とページ番号とページ内容バイトとを含む「sendingpage」メッセージであり、
前記第２タグメッセージが、前記第１ホストメッセージが「writepage」メッセージである場合は、メッセージ開始文字とメッセージ識別文字とページ番号とを含む「ack」メッセージであり、
前記第３タグメッセージが、メッセージ識別文字を含む「nak」メッセージであることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記「imawake」メッセージと前記「readpage」メッセージと前記「writepage」メッセージとは各々さらにメッセージ認証コードを含み、
前記タグにおいて、前記「readpage」メッセージまたは「writepage」メッセージが有効であるかを決定する手段が、前記「imawake」メッセージからの前記メッセージ認証コードと前記「readpage」メッセージまたは「writepage」メッセージからの前記メッセージ認証コードとを比較し、両者が同一である場合のみ前記「readpage」メッセージまたは「writepage」メッセージが有効であると決定することを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記メッセージ認証コードが、前記「imawake」メッセージの内容から計算した６バイト値であることを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記タグが、複数のブロックに分割されたタグメモリを有し、前記ブロックの各々がさらに複数のページに分割されており、
前記ブロックの各々が、ブロック読出しキーとブロック書込みキーを格納するための読出しキーバッファと書込みキーバッファとを含み、
前記「readpage」メッセージがさらに読出しページキーを含み、
前記「writepage」メッセージがさらに書込みページキーを含み、
前記タグにおいて、前記「readpage」メッセージまたは「writepage」メッセージが有効であるかを決定する手段が、前記ブロック読出しキーと前記読出しページキーとを比較し、両者が一致した場合のみ前記「readpage」メッセージは有効であると判断し、あるいは前記ブロック書込みキーと前記書込みページキーを比較し、両者が一致した場合のみ前記「writepage」メッセージは有効であると判断することを特徴とする請求項１０に記載のシステム。
【請求項１４】
前記システムがさらにターゲットを備え、該ターゲットが、
前記第１タグメッセージを受信する手段と、
前記第１タグメッセージを前記ホストに送信する手段と、
前記第１ホストメッセージを受信する手段と、
前記第１ホストメッセージを前記タグに送信する手段とを有することを特徴とする請求項９に記載のシステム。
【請求項１５】
複数のタグ一時バッファとデータページを格納するタグメモリとを含むタグを備えた非接触近接式自動データ収集システムにおいて、
各々が書込み順序番号とページ内容バイトとを含む複数の「writepage」メッセージを送信する段階と、
前記書込み順序番号に対応するタグ一時バッファに前記「writepage」メッセージをそれぞれ格納する段階と、
前記書込み順序番号が所定値であれば、前記タグ一時バッファに格納した対応する前記「writepage」メッセージから前記ページ内容バイトを読み出して前記タグメモリに複写する段階とを備える、データ交換方法。
【請求項１６】
前記「writepage」メッセージが、メッセージ開始文字と、メッセージ識別文字と、ページ番号とをさらに含み、
前記ページ内容バイトが、前記タグ一時バッファに格納された各前記「writepage」メッセージから読み出され、前記ページ番号によって識別されるタグメモリ内のページに複写されることを特徴とする請求項１５に記載の方法。
【請求項１７】
前記タグ一時バッファに格納された各前記「writepage」メッセージから前記ページ内容バイトを読み出して前記タグメモリに複写する段階が、前記書込み順序番号に従って順次実行されることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記タグ一時バッファの各々が有効性フラグを有し、
前記「writepage」メッセージが有効であるかの決定を行う段階と、
前記「writepage」メッセージが有効であれば、前記有効性フラグを有効に設定する段階と、
前記「writepage」メッセージが無効であれば、前記有効性フラグを無効に設定する段階をさらに備えることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記タグ一時バッファに格納された前記「writepage」メッセージから前記ページ内容バイトを読み出して前記タグメモリに複写する段階が、無効な有効性フラグを持ったタグ一時メモリが読み出されるまで、前記書込み順序番号に従って順次実行されることを特徴とする請求項１８に記載の方法。
【請求項２０】
非接触近接式自動データ収集システムにおいて、ホストとターゲットとタグとを備え、
前記ホストが、
各々が書込み順序番号とページ内容バイトとを含む複数の「writepage」メッセージを送信する手段を有し、
前記ターゲットが、
前記「writepage」メッセージを前記ホストから受信する手段と、
前記「writepage」メッセージを送信する手段とを有し、
前記タグが、
複数のタグ一時バッファと、
データページを格納するためのタグメモリと、
前記ターゲットからの前記「writepage」メッセージを受信し前記タグ一時バッファにそれを格納する手段と、
所定値の書込み順序番号を持った「writepage」メッセージを受信し格納した場合、前記タグ一時バッファに格納した前記「writepage」メッセージの各々から前記ページ内容バイトを読出し、それらを前記タグメモリに複写する手段とを有する、データ交換システム。
【請求項２１】
前記「writepage」メッセージが、メッセージ開始文字とメッセージ識別文字とページ番号とをさらに含み、
前記タグ一時バッファに格納された前記「writepage」メッセージの各々から前記ページ内容バイトを読出しそれらを前記タグメモリに複写する手段が、前記ページ内容バイトを前記ページ番号によって識別されるタグメモリ内のページに複写することを特徴とする請求項２０に記載のシステム。
【請求項２２】
前記タグ一時バッファに格納された前記「writepage」メッセージの各々から前記ページ内容バイトを読出しそれらを前記タグメモリに複写する手段が、「writepage」メッセージの書込み順序番号に従って順次各「writepage」メッセージを複写することを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記タグ一時バッファの各々が有効性フラグを有し、前記タグが、前記「writepage」メッセージの各々が有効であるかの決定を行う手段と、前記「writepage」メッセージが有効であれば、前記有効性フラグを有効に設定する手段と、前記「writepage」メッセージが無効であれば、前記有効性フラグを無効に設定する手段をさらに備えることを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記タグ一時バッファに格納された前記「writepage」メッセージの各々から前記ページ内容バイトを読出しそれらを前記タグメモリに複写する手段が、無効な有効性フラグを持った一時メモリが読み出されるまで、前記書込み順序番号に従って順次「writepage」メッセージを複写することを特徴とする請求項２３に記載のシステム。
【請求項２５】
前記タグ一時バッファと前記タグメモリが、スクラッチ不揮発性メモリからなることを特徴とする請求項２０に記載のシステム。
【請求項２６】
前記スクラッチ不揮発性メモリが、強誘電ランダムアクセスメモリである請求項２５記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広くデータ・情報収集システムおよび方法に関する。さらに詳しくは、非接触近接式自動データ・情報収集システムおよび方法に関する。
【背景技術】
【０００２】
個人が関わる料金業務や情報処理は、その数および頻度が年々飛躍的に増加している。それらに伴う書類や処理時間も増加している。近接カード技術を有効に使うことにより、ある種の業務において紙やプラスチックを不要にして無駄をなくし、業務に携わる時間や処理時間を削減することが行われてきた。
【０００３】
近接カード技術は、多くの分野で役に立つ。特に小額の切符・現金業務に有効である。世界的に見ると現金業務の約８０%（２２５０億件）は、２０米ドル以下の取引である。近接カードは、これら業務の多くにおいて現金の代わりに使用できる。カードを使って何かを購入すれば、そのカードから金額が差し引かれ、カードに対して対価を支払えば、そのカードに金額が追加される。近接カードの他の応用例は、車の免許証として運転履歴をそのカードに記憶すること、パスポートとして査証情報を記憶すること、健康管理カードとして医療履歴や保険情報を記憶すること、電話カードや定期券としてプリペイド金額を記憶し使用毎に支払金額を減額すること等である。近接カード技術は、個人と施設間でデータおよび情報を交換するあらゆる業務に使用できる。
【０００４】
すでに近接カード技術は、大量輸送システムにおいて効果的に使われている。本出願の現在の譲受人であるキュービック社は、そのようなシステムを開発した。すなわち１９９２年１０月１９日の国際特許出願第PCT/US９２/０８８９２号「非接触自動料金徴収システム」であり、１９９３年５月１３日に第WO９３/０９５１６号として公開された。
【０００５】
このシステムは、利用可能な金額を近接カードに記憶する。この金額は、カード所持者の乗車区間に基づいて減額され、対価の支払いがあれば増額される。紙やプラスチックの使い捨て切符が不要となり、無駄がなくなる。業務処理が速まるから、時間当たりの処理量が増える。代表的な近接カードの処理は、紙の切符を標準的な機械式システムに通す場合に比べ、約７倍速い。乗客は、定期入れや財布をさぐってカードを取り出す必要はない。必要なデータは無線周波数（ＲＦ）領域の電界を介して伝送される。近接カードとターゲット（読出し装置、書込み装置）間に物理的接触あるいは可視接触は必要ない。
【０００６】
第PCT/US９２/０８８９２号の開示を適用した実験システムは、ワシントン地下鉄輸送局（WMATA）の電車輸送、地上輸送（バス）、駐車場を含めた大量輸送システムとして稼働している。WMATAの現在のシステムは、「GO CARD」（登録商標）システムと呼ばれ、固定式端末と近接カード間で無線周波数を介してデータを伝送する。以下ではこの固定式端末をターゲットと呼び、近接カードをタグと呼ぶ。
【０００７】
「GO CARD」システムは、ターゲットとホスト（制御用コンピュータ）で構成される。ターゲットは、変復調器およびアンテナを含み、メッセージに基づいて変調した搬送信号を１３.５６MHzの無線搬送周波で伝送する。動作においてターゲットは、ＲＦ電界を発信し、そのターゲットの近接範囲に進入するタグの応答を引き出す。タグが近接範囲に進入すると、ターゲットからの無線送信は、タグに電力を供給する。ターゲットは、タグを起動するためのメッセージを送る。起動したタグは、認証された通信回線をホストとの間にターゲットを介して確立する。ホストは、タグのデータを照会し、新しいデータをタグに書き込む。この処理が完了すると、タグは休止状態（非活動状態）に戻る。
【発明の開示】
【課題を解決するための手段】
【０００８】
本出願は、１９９７年４月１日に出願され現在係属中の米国特許出願第０８/８２５,９４０号の一部継続出願である。この米国特許出願第０８/８２５,９４０号は、１９９６年４月１日出願の米国暫定特許出願第６０/０１４,４４４号の利益を請求するものである。
【０００９】
本発明は、タグとターゲットとホストを含む非接触近接式自動データ収集システムの全体性能を著しく強化するためのシステムおよび方法を提供する。特に本発明は、処理速度を向上し、データの完全性および安全性を確保し、コストを削減し、小型タグの消費電力を削減するシステムおよび方法を提供する。
【００１０】
タグとは、個人が持ち運ぶ薄いカードである。ターゲットとは、無線周波数源であり、タグとホスト制御装置との間に通信回線を提供する。
【００１１】
本発明の特徴の１つは衝突回避である。複数のタグが同時にターゲットとの通信を試みることがある。本発明は、２つのタグが同時にＲＦの電界内に入る場合に生ずる通信の衝突問題を防止する。タグからの第１応答を受信するたびに、ターゲットはその応答が適切なメッセージ形式を持つかチェックする。複数のタグからの第１応答は、それらが干渉した場合、不適切なメッセージ形式を生成するよう設計されている。不適切なメッセージ形式を受信するとターゲットは、メッセージが無効であることをタグに知らせる。するとタグは、しばらくしてから再試行する。ごくまれではあるが衝突が存在するのにターゲットがそれを検出できないことがある。この時ホストは、第２レベルの衝突検出を実行する。これは、２つ以上のタグが同時に同一のターゲットをアクセスすることを確実に防止する。
【００１２】
本発明の他の特徴は、タグ構成の改良である。この改良は、タグとターゲット間の処理時間を短縮し、タグのコストを引き下げ、タグをきわめて小型にし、その消費電力を低減する。例えば本発明は、約５０ミリ秒（ms）で伝送処理を確実に完了できる。この処理時間は、従来の非接触近接式自動データ収集システムにおける処理時間の約２０%である。
【００１３】
特に本発明は、シリアルデータフロー技術と可変速クロックをタグに利用する。例えば本発明は、パラレルに代えてシリアル方式を使いタグ内のデータ移動を行うことにより、チップ面積を大幅に削減する。さらに本発明は、動的クロック方式をタグに用いる。ターゲットとの通信は低速クロックを使うが、タグ内でのデータ転送およびデータ処理は高速クロックを使う。
【００１４】
さらに本発明は、線形フィードバックシフトレジスタ（LFSR）を用い、タグ機能の便宜を図る。LFSRは、回路を単純にし、タグの速度、柔軟性、信頼性を向上する。
【００１５】
本発明のさらに他の特徴は、タグのデータメモリの設計を強化する。本発明は、強誘電性ランダムアクセスメモリ（FRAM）をデータメモリとして使用する。これが処理速度を向上し、消費電力を節約し、データの信頼性を増す。例えば本発明は、タグへの書込みアクセスを１マイクロ秒（μｓ）で実行する。これに対し従来の電気的消去可能なプログラマブル読出し専用メモリ（EEPROM）を使うシステムは、約１０ms必要とする。さらにFRAMの書込み電流は、EEPROMの書込み電流よりはるかに低い。またFRAMは、１０００億以上の読出しまたは書込みサイクルに耐える。これに対しEEPROMは、約１００万サイクルである。
【００１６】
本発明のさらに他の特徴は、データの完全性を確保するためのタグデータバッファリング技術である。データメモリは、入データについて４ページバッファ（６４バイト）を有する。全ページのデータが確認されてから、初めてデータをバッファから最終アドレスに書き込む。タグが早めにＲＦの電界から引き込められても、メッセージを部分的に書き込むことはない。
【００１７】
本発明のタグは、高い安全性を提供する。タグの安全性は２段階で提供する。すなわちメッセージ認証とメモリアクセス制限である。メッセージ認証の詳細は後述する。タグのメモリアクセス制限は、許可されたホストだけに所定のメモリ領域を読み書きさせる。これはキー分割によって実現する。タグメモリの各ブロックは、１対のキー（読出し、書込み）を持ち、ホストは、必要なキー情報と読出しまたは書込みメッセージとを送信し、特定のブロックだけにアクセスできる。本発明のさらに他の特徴は、構成の柔軟性である。例えばエラー訂正や暗号化を簡単に本発明の実施例に追加できる。
【００１８】
本発明のさらに他の特徴は、タグのアナログ電力保護回路である。タグは、電波の変動による内蔵シリコンデバイスの破壊（シリコンチップデバイス特有の破壊）を防止しならが、ターゲットから振幅変調（AM）信号を受信できる。特に本発明の特徴は、クランプ回路である。このクランプ回路は、ＲＦの切替えや無線搬送波上のAM信号に十分高速に反応し、整流搬送波からAM電圧変動を除去する。クランプ制御信号は、AM信号を含みASIC受信回路用のAM信号として利用できる。
【００１９】
このクランプ技術のさらなる利点は、クランプ電圧を正確に決定でき、ASIC破壊電圧よりもわずかに低い値に正確に設定できることである。このためASICを低い破壊電圧に基づいて小型に製造できる。
【００２０】
本発明の前記およびその他特徴および利点は、好適実施例の詳細な説明、添付図面、請求の範囲により明らかにする。
【発明を実施するための最良の形態】
【００２１】
本発明の現在の好適実施例を図に基づき説明する。図において同一参照番号は、同等の要素を示す。図において各参照番号の最も左側の数字は、その参照番号が最初に使用される図面番号に対応する。
【００２２】
本発明は、高速通行用の電子料金徴収システムに関連して説明するが、当業者には明らかなように、本発明の原理は広く他のシステムに応用可能である。すなわち非接触近接方式で情報、データ、メッセージを交換、収集、利用するあらゆるシステムに応用可能である。
【００２３】
本発明のターゲットおよびタグの改良は、料金徴収システムに有効に利用できる。料金徴収システムは、例えば１９９２年１０月１９日出願の国際特許出願第PCT/US９２/０８８９２号および第WO９３/０９５１６号「非接触自動料金徴収システム」に開示した。この開示は、その全体を参照によって本明細書に組み込む。従って本発明の特徴は、第WO９３/０９５１６号の開示との相違点のみを詳細に説明する。
【００２４】
システム概要
図１は、本発明の原理に基づく非接触近接式自動データ収集システム１００の全体を示すブロック図である。システム１００は、複数のホスト１０２、ターゲット１０４、タグ１０６を含む。当業者には明らかなように、これら要素の数は、必要に応じて決定される。
【００２５】
ターゲット１０４は、ホスト１０２およびタグ１０６と通信する。ターゲット１０４およびタグ１０６は、ＲＦ信号１１０、１１２によってメッセージおよびデータを通信する。動作においてターゲット１０４は、ホスト１０２からのコマンドに応答し、基本的にはホスト１０２とタグ１０６間において、シリアルデータの単純な通過、ビットレートの変換、衝突の回避を行う。
【００２６】
本実施例においてホスト１０２は、販売箇所の装置に設置される。応用として、発券機近辺における駅の出入口に設置しても良い。一般にホスト１０２は、ターゲットから離れて局所的に設置できる。ホスト１０２は、標準的なRS-２３２シリアル回線１０８を介してターゲット１０４と通信する。本発明は、他の既知の回線（例えばRS-４２２回線）を使うこともできる。
【００２７】
本実施例においてホスト１０２は、ウインドウズNT（登録商標）を実行するインテル（登録商標）ペンティアム（登録商標）ベースのコンピュータシステムである。十分な性能を有する他のコンピュータシステム（例えばインテルペンティアム（登録商標）プロまたはペンティアム（登録商標）IIベースのコンピュータシステム）や他のオペレーティングシステム（例えばマイクロソフト（登録商標）ウインドウズ（登録商標））を使っても良い。例えばリアルタイムオペレーティングシステムを実行するモトローラ（登録商標）６８３３２マイクロプロセッサを使う専用コントローラ等、他の適切なマイクロプロセッサを使っても良い。
【００２８】
ホスト１０２は、特定機能のアプリケーションを実行するための実行可能プログラム（ソフトウエアまたはコード）を格納する。これらプログラムは、キュービック社が提供する「CARCG GO CARD」サブルーチンライブラリ内の機能を実行する（呼び出す）。このサブルーチンライブラリは、メッセージおよびデータの入出力処理に必要な低位レベルの制御を提供する。
【００２９】
図２は、本発明の原理に基づくターゲット１０４を示すブロック図である。ターゲット１０４は、アンテナ２００と、変復調器２０２と、マイクロコントローラ２０４と、RS-２３２シリアルインタフェースポート２０８とを有する。マイクロコントローラ２０４は、水晶発振器（図示せず）からクロック信号を受け取る。本実施例においてマイクロコントローラ２０４は、ダラスセミコンダクタ社が販売するDS８７C５２０マイクロコントローラである。インタフェースポート２０８は、リニアテクノロジ社のRS-２３２インタフェースである。アンテナ２００は、多くのメーカが販売している３μHyのPCボードコイルである。ただしこれら要素は、他の市販部品でもかまわない。
【００３０】
ホスト１０２と同様、マイクロコントローラ２０４は、所定のプログラムを内蔵し、ターゲット１０４全体の機能の便宜を図る。所定プログラムは、既知のプログラミング言語で書いた適切なコードを有し、プロトコル（衝突回避プロトコルを含む）を実行するための論理を実現する。これらプロトコルについては、図４Ａ〜４Ｃ、６Ａ、６Ｂ、７Ａを参照して後述する。
【００３１】
一般にホスト１０２は、ターゲット１０４とタグ１０６間のメッセージおよびデータの交換を制御し調整する。この交換は、半二重通信プロトコルによって行う。ＲＦ信号１１０および１１２は、ISO/IEC１４４４３に準拠した１３.５６MHzの搬送周波数を持ち、データ伝送用に１１５.２Kbpsにおいて振幅変調される。当業者には明らかなように、本発明は他の公知のプロトコル、伝送レート、各種変調技術を使うこともできる。
【００３２】
動作においてターゲット１０４は、変調タグメッセージ・データをＲＦ信号１１２によって受信する。アンテナ２００は、このメッセージ・データを受信し、復調用の変復調器２０２へ送る（相互接続２１０を介し）。各タグメッセージ・データは、マイクロコントローラ２０４へ送られる（相互接続２１２を介し）。そこでメッセージ・データは、そのタイプにより、処理されるか（相互接続２１４を介し）シリアルインタフェースポート２０８経由ホスト１０２へ送られる（シリアル回線１０８を介し）。同様にターゲット１０４は、変調ターゲットメッセージ・データをＲＦ信号１１０によってタグ１０６へ送る。ターゲットメッセージ・データは、マイクロコントローラ２０４だけで生成される場合もあり、マイクロコントローラ２０４とホスト１０２との連携で生成される場合もある。変復調器２０２は、そのメッセージ・データを変調し、アンテナ２００はそれに対応するＲＦ信号１１０をタグ１０６へ送信する。マイクロコントローラ２０４とホスト１０２は、タグメッセージ・データおよびターゲットメッセージ・データを特定アプリケーション（例えば本実施例における高速通行アプリケーション）に基づき処理する。
【００３３】
図３は、本発明の原理に基づくタグ１０６の全体を示すブロック図である。本好適実施例において、タグ１０６は、アンテナ３００と、特定用途集積回路（ASIC）３０２（タグASIC３０２）とを含む。このASIC３０２は、キュービック社が販売する。本発明のシステムレベルに関連してタグ１０６を全般的に説明する。なお後述の「タグ詳細説明」の章でタグ１０６の詳細説明を行う。
【００３４】
タグASIC３０２は、デジタルサブシステム３０４とアナログサブシステム３０６とに分割されている。デジタルサブシステム３０４は、コントローラ３０８とデータメモリバンク３１０とを含む。アナログサブシステム３０６は、変復調器３１２を含む。
【００３５】
ターゲット１０４の動作と同様、タグ１０６は、メッセージ・データをＲＦ信号１１０、１１２によって送受信する。ターゲットメッセージ・データ（ＲＦ信号１１０に変調された）は、アンテナ３００が受信する。受信したターゲットメッセージ・データは、復調のため変復調器３１２へ送る（相互接続３１４を介し）。各ターゲットメッセージ・データは、相互接続（インタフェース）３１６を介しコントローラ３０８へ送り、コントローラ３０８の構成に基づき処理する。データメモリバンク３１０は、アプリケーションデータを保持する。このアプリケーションデータは、相互接続３１８を介しアクセスされる。
【００３６】
タグメッセージ・データ（ＲＦ信号１１２に変調された）は、アンテナ３００から送信される。コントローラ３０８は、メッセージ生成機能とデータアクセス機能とを提供する。各メッセージ・データは、変調のため変復調器３１２へ送る。メッセージは、最終的にアンテナ３００へ送られ、そこからＲＦ信号１１２としてターゲット１０４へ送信される。
【００３７】
本発明には多くの応用分野がある。「GO CARD」システムに応用して自動料金徴収を行う場合、特に通過中の環境（例えば地下鉄、バス、駐車場、有料道路等）でそれを行う場合、最も重要なことは、料金処理を約０.１秒以内で完了しなければならないことである。この条件は、数多くの人的要因の研究および実地試験の結果明らかになった。
【００３８】
０.１秒の処理時間は、タグをターゲットに挿入し、処理が完了するまでそのタグを保持しておくことを許さない。タグを保持できないのだから、システムはタグがターゲット近辺から処理中のいかなる時に引き離されても、タグの不揮発性データを破壊してはならない。
【００３９】
これら要件を満たすため本発明は、高速通信（１１５.２キロビット/秒）と、効率的通信プロトコル（暗示肯定を含む）と、確実な状態遷移（メッセージ送信後、タグは所定状態に入り、次の入バイトの受信準備をし、余分な同期バイトを使わない）と、知的衝突回避プロトコル（アプリケーションタイプ情報を「imawake」メッセージに入れて送信し、ターゲットからの余分な別個の要求メッセージを避ける）と、不揮発性タグバッファおよび永久データメモリ用のFRAM（書込み時間はEEPROMの１０,０００μｓに対して０.６μｓ）とを使用する。FRAMを不揮発性データバッファに使用すると、データ衝突回避の際、処理時間（および必要メモリ）を削減できる。
【００４０】
データ衝突回避のため、受信した書込みデータ用（電力投入時の書込み自動完了用を含む）のタグ不揮発性バッファにFRAMを使用し、使用可能なＲＦおよび直流電力（電力消滅前にFRAMへの書込み完了を保証）をタグによって監視し、喪失信号検出、ヒステリシス、パルス拡張の組み合わせを利用する高速で十分広く安定したリセット回路を使用し（FRAMの不安定なあるいは不注意の書込み防止、位相同期ループのサイズおよび消費電力の非効率性防止）、受信メッセージの正当性をチェックするメッセージ要約を使用する。
【００４１】
システムの動作制約および規制要件として、隣接ターゲット間にクロストークがあってはならない（料金徴収システムによってはターゲットを隣接配置する必要があるため）。システムは、認証可能でなければならない（FCC等の規制条件）。
【００４２】
隣接ターゲット間のクロストークは、タグからターゲットへのインピーダンス（または負荷）変調を使って除去する。例えばタグは、それに電力を供給するターゲットに近接していなければならず、そのターゲットのＲＦが作る電界のみを変調する。ターゲットがタグに提供するＲＦの電界は、両者の距離がターゲットのアンテナ半径より大きい場合、その距離の３乗に比例して減少する。
【００４３】
規制に関する認証は、ターゲットが小さい（２０%以下）振幅変調（AM）を使ってタグと通信することにより（従って小振幅の側波帯しか発生しない）、および変調において搬送波振幅を減少させるのではなく増加させることによって（これにより平均搬送波電力を削減する）容易である。ターゲットは、きわめて小さい平均搬送波電力で動作できる（タグの存在を検出し０.１秒の処理時間の間だけフルパワーで稼働する。またはタグが０.１秒の処理時間に応答するまでＲＦ搬送波を短いデューティーサイクルで全振幅で動作させる）。
【００４４】
システムがこれら要件を満たすには、以下の動作要素にも左右される。 
・処理の複雑さ、および更新すべきデータ量。 
・通信データ速度およびフォーマットによる伝送オーバヘッド。 
・更新すべきデータに対するホストの処理時間。 
・タグが受信データを不揮発性メモリに書き込む時間。 
・データ破壊が発生していないことを確認するためのオーバヘッド。 
・有効なタグが使用されていることを認証するためのオーバヘッド。 
・タグおよびターゲットの動作電力、周波数、伝送方式。 
これら項目は、以下で詳細に説明する。
【００４５】
プロトコルの説明
図１〜３は、本発明の原理に基づくホスト・ターゲット・タグシステムの全体を示すブロック図である。ホスト・ターゲット・タグプロトコルは、一連のメッセージの交換を含む。一般にターゲットメッセージは、マイクロコントローラ２０４またはホスト１０２によって作られ、タグメッセージはコントローラ３０８によって作られる。これらメッセージは、各要素内のソフトウエアまたは論理によって作られる。一般にメッセージは、約１バイト以上の長さを持ち、ターゲット１０４またはタグ１０６の動作を制御するための制御情報と、メッセージ識別情報と、認証情報と、本発明の適用分野で必要なその他情報とを含む。ただし必ずしもこれらを含む必要はない。
【００４６】
メッセージ・データ交換が提供する一般的な機能を説明する。ホスト１０２は、ターゲット１０４の動作モードを設定し、ターゲット１０４の現在の状態を決定する。ターゲット１０４は、ＲＦ電界へのタグ１０６の進入を検出し、ＲＦ電界へ同時に進入する複数のタグ間を調整する。ホスト１０２は、タグ１０６とのデータ交換において不正操作を防止する。表１は、特定メッセージの各フィールドの一般的な機能を要約している。
【表１】
2005100424.tif 000003
【００４７】
本好適実施例の代表的なプロトコル交換を表１および図４Ａ〜４Ｃ、５Ａ、５Ｂ、６Ａ、６Ｂ、７Ａ、７Ｂを参照して説明する。
【００４８】
ホストからターゲットへのメッセージ交換  図４Ａは、代表的なホストからターゲットへのメッセージ交換を示す。ホストからターゲットへのメッセージ交換は、ホスト１０２がターゲット１０４の動作状態を変更する時に発生する。ホスト１０２は、以前の交換が完了あるいはタイムアウトになると、いつでもこの種の交換を開始できる。
【００４９】
ホスト１０２は、２つのメッセージタイプ（「command」および「wakeup」）をターゲット１０４へ送る。これに応答してターゲット１０４は、「status」メッセージタイプをホスト１０２へ送る。ホスト１０２は、第３のメッセージタイプ「diagreq」をターゲット１０４に送っても良い。これに応答してターゲット１０４は、「diagrsp」をホスト１０２へ送る。
【００５０】
ホスト１０２は、「command」メッセージをターゲット１０４へ送り、ターゲット１０４の動作状態を設定する。有効な正しいアドレスの「command」メッセージを受信するとターゲット１０４は、その「command」メッセージの各データフィールドが指定する動作を実行する。ホスト１０２は、「wakeup」メッセージタイプを送り、ターゲット１０４に「wakeup」メッセージを無線周波数で発信するよう指示する。
【００５１】
ターゲット１０４は、「status」メッセージをホスト１０２に送り、「command」メッセージまたは「wakeup」メッセージを正しく受信したことを確認する。この「status」メッセージは、「command」メッセージと同じデータフィールドを含む。「status」メッセージは、ターゲット１０４のメモリにおけるこれらデータフィールドの現在の設定を報告する。このメモリの内容は、前回受信した「command」メッセージおよびまたは「wakeup」メッセージが設定する。
【００５２】
ホスト１０２は、「diagreq」メッセージタイプを送り、ターゲット１０４に診断ルーチンの１つを実行させ、その結果を「diagrsp」メッセージによって報告させる。ターゲット１０４は、「diagrsp」メッセージをホスト１０２へ送り、正しく受信したことを確認すると共に、「diagreq」メッセージの処理結果を報告する。
【００５３】
ターゲットからタグへのメッセージ交換
ターゲットからタグへのメッセージ交換は、一般に２つの場合がある。すなわち１つのタグがターゲットとの通信を試みる場合（通常事例５００）と、２つ以上のタグが同時にターゲットとの通信を試みる場合（衝突回避事例５１４）である。
【００５４】
図４Ｂは、ターゲットからタグへのメッセージ交換の両事例を示す。ターゲットからタグへのメッセージ交換は、前述したようにホスト１０２が有効な「wakeup」メッセージをターゲット１０４へ送った後に発生する。
【００５５】
ターゲット１０４は、３つのメッセージタイプ（「wakeup」、「pongvalid」、「ponginvalid」）をタグ１０６へ送る。タグ１０６は、２つのメッセージタイプ（「ping」、「imawake」）をターゲット１０４へ送る。ターゲット１０４は、「imawake」メッセージをホスト１０２へ転送する。
【００５６】
図５Aは、１つのタグ５０２が１つのターゲット５０４との通信を試みているところを示す。料金データをターゲット５０４とタグ５０２間で転送しようとしている（通常事例５００）。ターゲット５０４は、タグ５０２との間に通信を確立する前、パルシングモードにある。このモードにおいてターゲット５０４は、マイクロコントローラ２０４の制御下で、周期的に「wakeup」メッセージ（変調されＲＦ信号５０６として）を送信する。
【００５７】
図６Ａのフローチャートは、ターゲット５０４とタグ５０２間の通信プロトコルを示し、図５Ａの通常事例５００に対応する。開始するとホスト１０２は、ターゲット５０４と連絡する（ステップ６０２）。ホスト１０２は、「wakeup」メッセージタイプを送り、ターゲット５０４に「wakeup」メッセージを無線周波数で送信するよう指示する。この「wakeup」メッセージは、メッセージ同期文字またはメッセージ開始文字と、メッセージ識別文字と、乱数（ホスト１０２が生成しターゲット１０４に以前に送られている）と、エラーチェックバイトとを含む。ターゲット５０４は、「wakeup」信号を周期的に送信し（ステップ６０４）、「ping」を待つ（ステップ６０６）。
【００５８】
タグ５０２がターゲット５０４の近くに来ると、タグ５０２が起動し（ステップ６０３）、ターゲット５０４からの次の「wakeup」メッセージを待つ（ステップ６０５）。「wakeup」メッセージを受信すると、任意の待ち時間の後、タグ５０２は「ping」メッセージを返す（ステップ６０８）。この任意の待ち時間は、スロット時間の任意の倍数、例えば０〜３の整数である。ただしこれに限定されない。一般にスロット時間は、タグ５０２からタグ５０２へ戻る「ping」および「pongvalid」メッセージの往復通信時間より大きく設定する。
【００５９】
「ping」メッセージは、２文字（バイト）の長さであり、乱数と、その乱数と１６進数５５（２進数「０１０１０１０１」）との排他的論理和（XOR）とを含む。本明細書は、この衝突チェック方式に限定されないが、この方式が好適である理由は、２つのタグが異なる乱数を送信する限り、それら２つのタグの衝突を検出できるからである。
【００６０】
マイクロコントローラ２０４は、「ping」メッセージが乱数とそれに続くチェックバイトとを含むことを確認し（ステップ６１０）、「pongvalid」メッセージを生成する（ステップ６１２）。「pongvalid」メッセージは、１文字の長さで良い。ターゲット５０４は、タグ５０２からの「imawake」を待つ（ステップ６１８）。
【００６１】
一方タグ５０２は、タグ５０４からの「pongvalid」メッセージを待つ（ステップ６１３）。それを受信するとタグ５０２は、その有効性をチェックし（ステップ６１４）、「imawake」メッセージを返す（ステップ６１６）。「imawake」メッセージは、メッセージ同期文字またはメッセージ開始文字と、メッセージ識別文字と、タグ識別番号およびブロックディレクトリと、認証用にタグ５０２が生成した擬似乱数と、メッセージ要約とを含む。そしてホスト１０２とタグ５０２間の通信が確立される。タグ５０２のメモリに存在する料金データが読み出され、ホスト１０２のアプリケーションプログラムに送信される。アプリケーションプログラムは、その料金データをソフトウエアに基づいて処理し、タグ５０２のメモリに書き込むべき新しい料金データを生成する。
【００６２】
図５Ｂは、２つ以上のタグ５０２、５１０が１つのターゲット５０４との通信を試みる事例を示す（衝突回避事例５１４）。すなわち複数のタグ５０２、５１０が、ほぼ同時にターゲット５０４の近くに持ち込まれる。例えばこれは、２人の乗客が駅の出入口において、各人のタグ５０２、５１０を同時にターゲット５０４に提示する場合である。あるいは１人の乗客が２枚のタグ５０２、５１０を財布や定期入れに持っている場合である。ターゲット５０４からのＲＦ信号５０６は、複数のタグ５０２、５１０に電力を提供できるので、ターゲット５０４に対する同時の通信の試みが可能である。各タグ５０２、５１０は、ＲＦ信号５０８、５１２を発信する。これらは衝突するため、通信は成功しない。
【００６３】
このような場合ターゲット５０４は、本発明の原理に基づき、衝突を検出しそれを回避する。本発明の衝突回避に関する特徴は、１９９７年４月１日出願の同時係属中である米国特許出願第０８/８２５,９４０号に説明した。この出願の全体は、参照によって本明細書に組み込む。ターゲットのマイクロコントローラ２０４は、本発明の衝突回避プロトコルを管理すべくプログラムされている。
【００６４】
図６Ｂのフローチャートは、ターゲット５０４およびタグ５０２、５１０による衝突回避プロトコルの実行を示し、図５Ｂの衝突回避事例５１４に対応する。ターゲット５０４といずれかのタグ（例えば５０２または５１０）との間に通信が確立される前（ステップ６０２）、マイクロコントローラ２０４は、ターゲット５０４を制御し「wakeup」メッセージを周期的に生成し送信させる（ステップ６０４）。このメッセージは、ホスト１０２が元々生成したものであり、ＲＦ信号５０６（図５Ｂ）を介して送信される。ターゲット５０４は、タグからの「ping」メッセージを待つ（ステップ６０６）。
【００６５】
複数のタグ５０２、５１０がターゲット５０４の近くにあると、各タグ５０２、５１０が起動し（ステップ６０３、６０３A）、「wakeup」メッセージを待つ（ステップ６０５、６０５A）。「wakeup」メッセージを受信すると各タグ５０２、５１０は、それぞれ任意の待ち時間の後、応答する（ステップ６０８、６０８A）。すなわち各タグは、ＲＦ信号５０８、５１２によって「ping」メッセージを送信する（図５Ｂ）。各タグ５０２、５１０の任意の待ち時間は、スロット時間の任意の倍数であり、例えば０〜３の整数である。ただしこれに限定されない。前述の通りスロット時間は、タグから見ての「ping」メッセージ送信「pongvalid」メッセージ受信における往復通信時間より大きく設定されるのが通例である。本好適実施例において、スロット時間は０.３５ミリ秒である。
【００６６】
「ping」メッセージの第１バイトの値は、各タグ５０２、５１０が任意に選択する。タグ５０２、５１０が、等しい待ち時間の後、異なる「ping」値を生成し、同時にＲＦ信号５０８、５１２によって「ping」メッセージを送信した場合、これらは衝突する。するとターゲット５０４は、整合性の取れた「ping」メッセージを受信しない（ステップ６１０）。前述の通り「ping」メッセージは、乱数とその反転とで構成される。２つの「ping」メッセージ（ＲＦ信号５０８、５１２）の同時受信に起因する整合性の取れない「ping」メッセージは、ターゲット５０４のマイクロコントローラ２０４が有効と認識しない。認識できなければマイクロコントローラ２０４は、ターゲット５０４にＲＦ信号５０６を介して「ponginvalid」メッセージをタグ５０２、５１０に送信するよう指示する（ステップ６１２）。本好適実施例において「ponginvalid」メッセージは、１文字の長さである。ターゲット５０４は、「ping」メッセージを待つ（ステップ６１６）。
【００６７】
衝突したタグ５０２、５１０は、「pongvalid」メッセージを待つ（ステップ６１３、６１３A）。「ponginvalid」メッセージを受信すると（ステップ６１４、６１４A）、各タグ５０２、５１２は、ＲＦ信号５０８、５１２を介して再び「ping」メッセージの送信を準備する。この送信は、任意に生成される待ち時間の後に行われる（ステップ６１５）。ターゲット５０４のマイクロコントローラ２０４は、認識可能な「ping」メッセージを受信すると（ステップ６１８）、ＲＦ信号５０６を介して即座に「pongvalid」メッセージを返す（ステップ６２０）。そしてターゲット５０４は、「imawake」信号を待つ（ステップ６２４）。
【００６８】
各タグ５０２、５１０は、「pongvalid」メッセージを待つ（ステップ６２２、６２２A）。「pongvalid」メッセージを受信すると、各タグ５０２、５１０は、その有効性をチェックする（ステップ６２６、６３０）。いずれかのタグは、その任意に生成した待ち時間のために「ping」メッセージをまだ送信していない。そのようなタグは、何もしない（ステップ６３２）。すでに「ping」メッセージを送信済みのタグは、「imawake」メッセージを返すことによりホスト１０２との通信を確立する（ステップ６２８）。
【００６９】
タグが送信した「imawake」メッセージをホスト１０２が認識しない場合、再び衝突が考えられる。するとホスト１０２は、「wakeup」メッセージを送信し、ターゲット５０４はマイクロコントローラ２０４の制御下で周期的にそれを送信する。このような衝突は、タグ５０２、５１０が同一のスロット番号と同一の「ping」値を選択した場合に発生する。両タグは、同時に「imawake」メッセージを送信し、共に「wakeup」メッセージを受信し、それぞれ新しい任意のスロット時間と「ping」値とを選択し、次の「wakeup」を待つ。ホスト１０２は、この種の衝突を、受信した「imawake」メッセージの中に不正なメッセージ要約を検出することにより認識する。この不正なメッセージ要約は、２つのタグの「imawake」メッセージがＲＦ電界において混合することにより発生する。各タグは、一意の８ビット識別値と任意の６バイト数を含むため、６バイトのメッセージ要約は、ホスト１０２に到達した時に正しくない。 
タグ１０６は、前記衝突回避が成功した後、一度だけ「imawake」メッセージを送信する。
【００７０】
図７Ａは、ターゲットステートマシン用の衝突回避プロトコルを示す。開始後（ステップ７０２）ターゲット１０４は、「wakeup」メッセージを送信し（ステップ７０４）、「ping」メッセージを待つ（ステップ７０６）。タイムアウトが発生すると（ステップ７０８）ターゲット１０４は、別の「wakeup」メッセージを送信する（ステップ７０４）。タイムアウトの前に「ping」が到着するとターゲット１０４は、その「ping」メッセージの有効性をチェックする（ステップ７１０）。「ping」が無効であればターゲット１０４は、「ponginvalid」メッセージを送信し（ステップ７１２）再び「ping」メッセージを待つ。「ping」が有効であればターゲット１０４は、「pongvalid」メッセージを送信し（ステップ７１４）、「imawake」メッセージを待つ（ステップ７１６）。有効な「imawake」を受信するとターゲット１０４は、通過モードに入る（ステップ７１８）。通過モードにおいてターゲット１０４は、ホスト１０２とタグ１０６間のデータまたは命令を中継し、ホスト１０２からの指令を待つ（ステップ７２０）。
【００７１】
ホストからタグへのメッセージ交換
ホストからタグへのメッセージ交換は、図４Ｃに示す。ホストからタグへのメッセージ交換は、前述の衝突回避処理を含むターゲットからタグへの交換の結果、タグ１０６からターゲット１０４へ「imawake」メッセージが送信されると開始する。ターゲット１０４は、その「imawake」メッセージをホスト１０２へ転送し、その後ホスト１０２から受信する全バイトをタグ１０６へ転送し、タグ１０６から受信する全バイトをホスト１０２へ転送する。これは、ホスト１０２が次の「wakeup」メッセージをターゲット１０４に送信し次のタグを探索するまで持続される。
【００７２】
ホスト１０２は、有効な「imawake」を受信すると、「imawake」メッセージ中の連続番号とディレクトリ情報とをアプリケーション論理に渡す。アプリケーション論理は、１つ以上のタグページを読出し、任意に１つ以上のタグページにデータを書き込む決定をする。
【００７３】
ホスト１０２は、タグ１０６のデータページを読むに当たり、「readpage」コマンドをタグ１０６に送信し、要求データを含んだ「sendingpage」応答を待つ。ホスト１０２は、その「readpage」メッセージをタグ１０６に送信し、タグ１０６のメモリにおける特定の１６バイトページの現在の内容を要求する。タグ１０６は、「sendingpage」メッセージをホスト１０２に送信することにより、受信した「readpage」要求に答える。
【００７４】
ホスト１０２は、タグ１０６のデータページに書き込むに当たり、「writepage」コマンドを新しいデータと共にタグ１０６に送信し、タグからの受信確認応答「ack」を待つ。
【００７５】
タグ１０６は、「readpage」または「writepage」コマンドを不正なMAC（メッセージ認証コード）と共に受信すると、「nak」メッセージを返す。ホストは、「nak」をいくつか受信すると、メッセージが誤って受信されたため受け入れられなかったと判断する。それを超えると、ホストは間違ったキーを使用したと判断する。
【００７６】
タグ１０６は、「imawake」メッセージを送信し少なくとも１つの「readpage」または「writepage」（正しいあるいは不正なMACと共に）を受信した後、「wakeup」メッセージを受信すると、休止状態にはいる。これによりＲＦ電界に存在する他のタグは、ターゲットからタグへのメッセージ交換およびホストからタグへのメッセージ交換を開始できる。
【００７７】
タグ１０６は、「imawake」メッセージの送信後「readpage」または「writepage」メッセージの受信前に、「wakeup」メッセージを受信すると、初めてＲＦ電界に進入したかのように「wakeup」メッセージを待つ状態に戻る。これによりシステムは、簡単に前述の衝突回避を実行できる。
【００７８】
本発明の好適実施例は、リンクしたデータページの書込みやメッセージの認証等も特徴とする。
【００７９】
リンクしたデータページの書込み
本好適実施例におけるホスト１０２は、最大４個の「writepage」コマンドを実行し、タグ１０６が複数のデータページの書込みを単一の論理書込みとして実行するよう指定できる。本発明は、さらに多くのリンクした書込みも実行できる。
【００８０】
ホスト１０２は、データページ書込みをリンクさせるため、非ゼロ値を最後の「writepage」コマンドを除くすべての「書込み連続番号」フィールドに挿入し、その最後の「writepage」コマンドにゼロを挿入する。
【００８１】
タグ１０６は、「書込み連続番号」を使い、４個の一時バッファのどれに「writepage」コマンドを格納するかを決定し、４個の一時バッファの各々に有効性フラグを保持する。
【００８２】
タグ１０６は、「書込み連続番号」フィールドに非ゼロ値を有する「writepage」コマンドを受信すると、MACをチェックし、そのチェック結果に基づいて「ack」または「nak」メッセージをホスト１０２へ送信する。しかしタグ１０６は
指定されたページ番号へ「writepage」のデータバイトを転送しない。MACが正しければ、「ack」メッセージ送信前に、対応する一時バッファの有効ビットをセットする。
【００８３】
タグ１０６は、「書込み連続番号」フィールドにゼロ値を有する「writepage」コマンドを受信すると、再びMACをチェックする。タグ１０６は、MACが不正であれば、「nak」メッセージを返す。MACが正しければ、タグ１０６は、番号０の一時バッファの有効ビットをセットし、そのバッファからデータバイトをアドレス指定されたページに複写する。番号１の一時バッファの有効ビットがセットされていれば、タグ１０６はその一時バッファからデータバイトをそのコマンドが指定するアドレスのページ番号に複写する。同様に番号２および３の一時バッファを順にチェックし、対応する有効ビットがセットされていない一時バッファが見つかれば、その動作を中止する。さもなければ、４個の一時バッファすべてのデータを複写する。そしてタグ１０６は、４個の有効ビットすべてをクリアし、ホスト１０２に「ack」メッセージを返す。
【００８４】
タグ１０６がＲＦ電界の外に出された時、番号０の一時バッファの有効ビットをセットした後であって、一時バッファから指定パージへのデータ転送完了前であり有効ビットのクリア前である場合、タグ１０６は、次にＲＦ電界に進入した時、それを完成させてから衝突回避処理を行う。
【００８５】
従ってホスト１０２は、リンクした全「writepage」コマンドが完了したか、あるいは全く開始されなかったかを推定できるため、同じことを他の方法で行う場合の多大なオーバヘッドから解放される。タグ１０６内のリンクしたページデータは、元のままか、あるいは完全に更新されたかのいずれかを保証される。例えばあるページの残高の減少は、他のページの取引記録に確実にリンクされる。このため処理中のいかなる時点でタグ１０６がＲＦ電界から外に取り出されても、リンクした各ページは、新しい（減額された）残高とそれに伴う取引詳細を反映するか、あるいは元の（減額されていない）残高を反映する。不完全な形の記録は、なされない。
【００８６】
この技術がなければ、ホスト１０２はリンクした各ページの一連のバージョンを格納するための複数のデータページを確保せねばならず、それらページを交代に使わねばならない。その場合ホスト１０２は、処理の開始において余分にデータページを読み出さねばならず、リンクしたデータページのどれが最新バージョンであるかを見つけねばならず、余分にデータページを書き込んで金銭情報を更新せねばならない。タグ１０６内の一時バッファの使用は、タグ１０６のFRAMデータメモリの書込み速度によって実用的となる。タグ１０６をEEPROM等の比較的長い書込み時間を要するメモリ技術で実現するなら、タグ１０６における一時バッファの使用は、各「writepage」コマンドの処理に著しい遅延を生ずる。
【００８７】
メッセージ認証
タグ１０６とホスト１０２間で交換する６つのメッセージの内５つ（「imawake」、「readpage」、「sendingpage」、「writepage」、「ack」）は、メッセージ認証コード（MAC）で終わる。このメッセージ認証コードは、２つの機能を実行する。MACのサイズは、安全性の必要に応じて任意である。好適実施例におけるMACのサイズは、先行するメッセージ内容に応じて計算される６バイト値である。すなわち２個の乱数（衝突回避中に交換する「wakeup」および「imawake」メッセージから生成）と、適切な秘密キー（「imawake」メッセージを除く）と、メッセージ連続番号とである。このMAC計算結果は、MAC値となる。このMAC値は、複数の入力ビットのいずれかが変更されると該入力ビットの半分を適切に変化させる。この特性によりMACは、伝送エラーのチェックとメッセージ認証のチェックに使われる。
【００８８】
正しくないMACは、送信側から受信側への伝送中におけるメッセージビットの破損か、送信側および受信側がMAC計算アルゴリズムに対して同一データを供給していないことが原因である。伝送中のメッセージビットの破損により不正確なMACを受信した場合、失敗したメッセージ交換を再試行すれば、正しいMACが伝送される。不正確なMACの原因が、送信側あるいは受信側でMAC計算アルゴリズムに正しい入力を提供しなかったためである場合、失敗したメッセージ交換を再試行しても失敗する。従ってホスト１０２は、失敗した動作を十分な回数再試行することにより、不正確なMACの原因を伝送エラーであると推定できる。不正確なMACの原因が、送信側または受信側でMAC計算アルゴリズムに正しい入力を提供しなかったためである場合、失敗したメッセージ交換を何度再試行してもすべて失敗する。
【００８９】
タグプロトコル実行
前記したように、本発明は非接触近接式自動データ収集用プロトコルを提供する。図７Ｂのフローチャートは、本発明の原理に基づくタグ側のプロトコル７２１を示す。
【００９０】
本好適実施例において、タグはリセットの後、フラグをクリアし（ステップ７２４）、タグメモリへの有効で未完の書込みをチェックしそれを完成させ（ステップ７２６）、「wakeup」メッセージを受信したかチェックし（ステップ７２８）（受信していない）、起動手順を開始する。
【００９１】
起動手順においてタグ１０６は、乱数を選択し（ステップ７３０）、ターゲットからの有効な「wakeup」メッセージを待つ（ステップ７３２）。「wakeup」メッセージは、そのメッセージと共に送られるターゲット乱数の２つのコピーが一致すれば有効と見なされる。「wakeup」が無効であれば、タグ１０６は有効な「wakeup」の受信を待つ。
【００９２】
有効な「wakeup」を受信するとタグ１０６は、ＲＦ回線における衝突を前述の方法によって回避する（ステップ７３４）。タグ１０６は衝突を回避すると、「imawake」メッセージを送信する（ステップ７３６）。この時タグ１０６は、ターゲットからの認証済み読出しまたは書込みメッセージを受信できる状態にある（ステップ７３８）。
【００９３】
タグ１０６は、ターゲット１０４から次のメッセージを受信する。タグ１０６は、そのメッセージが「wakeup」メッセージであるかをチェックする（ステップ７４０）。そうであればタグ１０６は、ターゲット１０４が他のタグとの通信を試みていると判断する。タグ１０６は、ターゲット１０４からタグ１０６への読出しまたは書込みが完成していなければ（ステップ７４２）、起動手順を再び行う。それ以外の場合、タグ１０６は休止状態となり、通信回線を邪魔しない（ステップ７４４）。
【００９４】
タグ１０６は、「readpage」または「writepage」メッセージを受信すると、全メッセージを不揮発性一時メモリに記憶する（ステップ７４６）。タグ１０６は自身のMACを計算し、それをメッセージのMACと比較する（ステップ７４８）。そして結果をチェックする（ステップ７５０）。メッセージが不正なMACを含んでいれば、タグ１０６は「nak」メッセージをターゲット１０４に送信し（ステップ７５２）、ターゲット１０４からのメッセージを待つ（ステップ７３８）。
【００９５】
MACが有効であれば、起動フラグをセットし、連続番号を増分し、メッセージが「readpage」であるか「writepage」であるかをチェックする（ステップ７５２）。「writepage」であれば、前述の複数ページ書込み規則に基づき有効フラグをセットする（ステップ７５４）。このフラグをチェックし（ステップ７２６）、必要に応じて書込みを完了する。次に起動フラグをチェックする（ステップ７２８）。タグ１０６は現在起動しているから、ステップ７５６へ進み、応答信号をターゲット１０４に送信し、次のメッセージを待つ（ステップ７３８）。
【００９６】
メッセージが「readpage」であれば（ステップ７５２）、ページ書込みループをスキップし、ステップ７５６へ進み、要求ページをターゲット１０４へ送信する。次にホスト１０２の手順へ進み、タグ１０６は次のメッセージを待つ（ステップ７３８）。
【００９７】
タグ詳細説明
タグ概要
タグ１０６特にタグASIC３０２の構成は、本発明の全体的特徴を実現するため有効に作られている。すなわちタグ１０６の通信プロトコルおよびハードウエア・ソフトウエア構成は、高速処理、低消費電力、高安全性、高データ整合性、アプリケーション柔軟性を提供すべく特別設計されている。さらにタグは、小型回路を採用しているため、サイズが小さい。
【００９８】
図４を参照して説明したようにタグ１０６は、タグASIC３０２とアンテナ３００を含む。本発明においてタグASIC３０２は、特別の技法で設計されており、以下に説明する特別の回路特性を実現する。すなわち各特性は、大規模集積回路（VLSI） を使用して各回路の必要動作を別々に定義し、各回路の面積を最適化している。回路相互接続も、特別の配置および配線をすることにより最小にしている。
【００９９】
前述のようにタグASIC３０２は、デジタルサブシステム３０４とアナログサブシステム３０６とに分割されている。図８は、デジタルサブシステム３０４とアナログサブシステム３０６間の信号相互接続（インタフェース）３１６の詳細を示す。インタフェース３１６は、クロック信号８００と、リセット信号８０２と、ターゲットからの信号８０４と、ターゲットへの信号８０６とを含む。アナログシステム３０６は、電力VDD（本実施例では５ボルト）８１０と、接地電位VSS８１２とを提供する。
【０１００】
クロック８００は、アナログサブシステム３０６が相互接続３１４を介して受信するＲＦ信号から生成され、デジタルサブシステム３０４のデジタル論理を駆動するために使われる。本実施例においてクロック８００は、搬送波周波数１３.５６MHzから得られる。
【０１０１】
リセット８０２もアナログサブシステム３０６が制御する。リセット８０２は、起動時に活性となり、ＲＦ電力状態がターゲット１０４との通信に適切になると非活性となる。
【０１０２】
ターゲットからの信号８０４とターゲットへの信号８０６は、ターゲットメッセージ・データおよびタグメッセージ・データをそれぞれ伝送する。好適実施例において、ターゲットからの信号８０４のノーマル（マーキング）状態は、２値の「１」である。
【０１０３】
タグデジタルサブシステム
デジタルサブシステム３０４は、処理速度、チップ面積、消費電力、データの整合性、安全性、およびコストにおいて特に最適化されている。一般にデジタルサブシステム３０４は、シリアル技術を用いてメッセージ・データを転送（移動）し、チップ面積を著しく節約する。一般にこの方法はビットパラレル技術に比べ転送時間および処理時間が長くなるが、本発明は倍速クロック技術（後述）を用いてそれを補償する。
【０１０４】
図９は、デジタルサブシステム３０４の詳細を示す回路図である。デジタルサブシステム３０４は、ステートマシンメモリ９００と、１ビットバス９０４を介して送信器９０５と相互接続したデータメモリ９０２と、受信器９０６と、フラグレジスタ９１２と、有効性レジスタ９１４と、検査回路９１６と、メッセージ認証コード（MAC） レジスタ９１８と、キーストリームレジスタ９４６とを含む。バス９０４は、情報（メッセージ・データ）をデジタルサブシステム３０４内で転送する。デジタルサブシステム３０４は、さらにクロック回路９３０を含む。
【０１０５】
ステートマシンメモリ９００は、タグ１０６の全体を制御する。公知のように、有限ステートマシンは、その任意の時点における出力が、外部入力（例えば該ステートマシンが制御する回路からの入力、あるいはその他入力）および記憶情報（または状態）の関数である。一般にステートマシンは、独立のデジタル回路と、プログラマブル論理アレイ（PLA）と、プログラムメモリを備えた汎用マイクロプロセッサとで実現する。
【０１０６】
しかしながら本実施例は、ステートマシンメモリ９００を読出し専用メモリ（ROM）に格納した所定の参照テーブルとして実現することにより、チップ面積の利用を最適化する。各ROMアドレスはマシンの「状態」であり、アドレス指定（インデックス）した位置の記憶データは、対応する出力を定義する。ROMは性向があるため（１および０によって消費電力や速度が異なる）、本好適実施例はステートマシン内において２値の「１」が１９.８５%に最適化されている。ステートマシンメモリ９００は、プログラマブル読出し専用メモリ（PROM）、消去可能プログラマブル読出し専用メモリ（EPROM）、強誘電ランダムアクセスメモリ（FRAM）等公知の不揮発性メモリ技術で実現しても良い。
【０１０７】
本実施例においてステートマシンメモリ９００は、２５６x３２ビット（４バイト）ROMであり、８ビットステートアドレスレジスタ９２２から８ビット接続９３６を介してアドレス指定される。ステートマシンメモリ９００は、３２ビット接続９３８へ出力を出す。この接続９３８は、３２ビット制御レジスタ９２０に接続する。当業者には明らかなように、ROM、バス、レジスタのサイズは前記に限定されない。他の設定でも良い。
【０１０８】
本発明の他の特徴は、ステートアドレスレジスタ９２２を線形フィードバックシフトレジスタ（LFSR）回路として実現する。これによりステートマシンメモリ９００のアドレス指定機能は、従来に比べ小さいチップ面積、低いコストで実現できる。さらにこの回路のクリティカルパスは、従来の回路に比べはるかに少ない。
【０１０９】
一般にLFSRは、nビット右シフトレジスタであり、n個のビット位置の内m箇所にタップを有する。これらビット位置は、位置０がアドレス最下位ビット（LSB）であり、n-１が最上位ビット（MSB）である。クロックサイクル（クロック信号９３４）の開始において、全タップはm入力排他的NOR（XNOR）回路への入力を行う。次の対応するクロックサイクルにおいて、XNOR回路の出力はn-１ビット位置へシフトされる。動作において正しく初期化されると、LFSRは、一連のビットパターンを繰り返す。この時の周期はn、m、およびタップ位置に依存する。
【０１１０】
図１０は、ステートアドレスレジスタ９２２の詳細を示す回路図である。ステートアドレスレジスタ９２２は、LFSR１０００と、XNOR回路１００２と、２-１マルチプレクサ（MUX）１００４とを有する。本実施例は、４個のタップ（m=４）を有する８ビット（n=８）LFSRを使う。マルチプレクサ１００４は、信号９４４を入力する。この信号９４４は、フィードバック信号１００８を介してステートマシンメモリ９００（後述の「Ivalue」フィールド）またはXNOR回路１００２によって駆動される。フィードバック信号１００８は、ステートアドレスレジスタ９２２内の特定位置における値のパリティの反転である。
【０１１１】
動作においてステートアドレスレジスタ９２２は、初期化（「００００００００」）されると、「１１１１１１１１」を除くすべての８ビット値を繰り返す。この「１１１１１１１１」の状態は休止状態として使われる。ステートアドレスレジスタ９２２は、休止状態の時、必ず「１１１１１１１１」に戻る。
【０１１２】
図９において、ステートマシンメモリ９００の各アドレス指定（インデックス）される位置の内容は、３２ビット超長命令語（VLIW）であり、接続９３８を介して制御レジスタ９２０にロードされる。本実施例において、タグ１０６の全体制御は、２５６個の３２ビットステート命令のみを用いて実行される。
【０１１３】
図１１は、本発明に基づくステート命令語１１００を示す。ステート命令語１１００は、各命令フィールドに分割される。すなわち「Istep」フィールド１１０２と、「Icntl」フィールド１１０４と、「Iflag」フィールド１１０６と、「Itcd」フィールド１１０８と、「Itna」フィールド１１１０と、「Imac」フィールド１１１２と、「Ikey」フィールド１１１４と、「Ibus」フィールド１１１６と、「Ispeed」フィールド１１１８と、「Ivalue」フィールド１１２０とを含む。各フィールドは、デジタルサブシステム３０４の１つ以上の回路（例えばレジスタおよびバスドライバ）を制御する。表２は、命令語１１００の各フィールドの一般機能の要約である。
【表２】
2005100424.tif 000004
【０１１４】
一般に各命令語１１００は、３段階で実行される。最初に必要なデータの移動がレジスタ間で行われる（ステートアドレスレジスタ９２２およびデータアドレスレジスタ９２６を含む）。必要に応じてデータメモリ９０２およびまたはステートマシンメモリ９００がアクセスされる。データメモリ９０２またはステートマシンメモリ９００からのすべてのデータは、データレジスタ９２４または制御レジスタ９２０にそれぞれラッチされる。
【０１１５】
デジタルサブシステム３０４の動作を命令１１００を参照しながら説明する。ステートマシンメモリ９００に対するアドレス指定は、ステートアドレスレジスタ９２２および「Icntl」フィールド１１０４が提供する。表３は「Icntl」フィールド１１０４の値、およびステートマシンメモリ９００の次のアクセスに対するその影響を示す。
【０１１６】
通常ステートアドレスレジスタ９２２は、その所定のLFSRパターン（前述）に基づいて増分する。しかしながら分岐条件が発生すると、「Ivalue」フィールド１１２０からの新しい８ビットアドレスがシリアルにロードされる（８ステップあるいは８クロックサイクルを要する）。条件付き分岐は、データ値やイベントによる。イベントとは、タイムアウトやループの終了等である。後述するように、検査回路９１６とタイマレジスタ９０８とカウンタレジスタ９１０とは、条件付き分岐に関連して使用される。
【表３】
2005100424.tif 000005
【０１１７】
図９においてクロック回路９３０は、システムクロック９３４を発生する。システムクロック９３４は、デジタルサブシステム３０４の全レジスタと他のクロックベースの回路とに相互接続される。クロック回路９３０は、相互接続９３５を介して受信する「Ispeed」フィールド１１１８によって制御される。
【０１１８】
本実施例においてクロック回路９３０は、２速度クロック特性を提供する。クロック回路９３０は、アナログサブシステム３０６からクロック信号８００（１３.５６MHz）を受け取り、デジタルサブシステム３０４の特定の動作に基づき周波数１.７MHzまたは１１５.２KHz（低速クロックモード）のシステムクロック信号９３４を発生する。しかしながら本発明は、他のクロック速度を使うこともできる。
【０１１９】
高速モード（「Ispeed」フィールド１１１８=０）は、通常、全命令語１１００に使われ、ターゲット１０４との通信以外の処理に使われる。すなわち１.７百万個のステート命令１１００が１秒間に実行される（「Istep」フィールド１１０２=１）。
【０１２０】
スローモード（「Ispeed」フィールド１１１８=１）は、ターゲット１０４とタグ１０６間のデータ通信に使用される。すなわちデジタルサブシステム３０４は、ターゲット１０４とタグ１０６間のデータ通信速度１１５.２Kbpsと同一の伝送速度で動作する。従ってタグ１０６に対してのデータは、同様の回路の高速モードと同じ速度で転送される。この２速度クロック機能は、従来の汎用非同期送受信器（UART）等の特別回路を不要にする。
【０１２１】
本発明の他の特徴は、命令語１１００の「getedge」フィールド（表３参照）である。このフィールドは、タイマレジスタ９０８と共に、デジタルサブシステム３０４の動作を中断し、各非同期の入バイト（ターゲット１０４から）の開始ビットが立ち下がるまでその中断状態を続ける。デジタルサブシステム３０４は、開始ビットと、メッセージバイト（シリアル）と、各伝送バイトの通信に必要な全ストップビットとを提供する。タイマレジスタ９０８は、ステートマシンメモリ９００の中断中も動作を続け、立ち下がりが検出されない場合にタイムアウトイベントを発生する。
【０１２２】
検査回路９１６は、バス９０４のデータ値と「Ivalue」フィールド１１２０とをシリアルに比較し、結果を記憶して次のステート命令語１１００における分岐に備える。
【０１２３】
繰返しカウンタレジスタ９１０は、繰り下げカウンタであり、ループの実行（ネストの１段階）を制御する。本実施例において、繰返しカウンタレジスタ９１０は、ステートアドレスレジスタ９２２やタイマレジスタ９０８と同様、LFSRで実現する。繰返しカウンタレジスタ９１０は、ステートマシンメモリ９００によって明示的に繰り下げ及び検査が行われ、分岐制御に使われる。
【０１２４】
動作において「Istep」フィールド１１０２は、各ステート命令語１１００と共に操作されるビット数を制御する。各命令語１１００のアクセスにおいて、「Istep」フィールド１１０２の５ビット値がステートマシンメモリ９００から（制御レジスタ９２０を介して）ロードされる。それに続く各クロックサイクルにおいて、この値はLFSRによって次の値にシフトされる。所定の値に到達すると、次のステート命令語１１００が取り込まれる。「Istep」フィールド１１０２は、１〜３１ステップまで有効であり、これによって所定の命令語１１００を３１回まで実行できる。
【０１２５】
図９に示すようにバス９０４は、８個のバスドライバを有する。各バスドライバは、ソース（例えば制御レジスタ９２０、データレジスタ９２４、受信器９０６等）に対応付けられている。適切な動作を実現するため、１度に１つのバスドライバが対応するドライバ許可信号９４４によって起動される。ステート命令語１１００の「Ibus」フィールド１１１６は、許可されるバスドライバを決定する。当業者には明らかなように、ドライバ許可信号９４４は、適切なアドレスデコーダ回路によって生成できる。かかるアドレスデコーダ回路は、組み合わせ論理や従来の１-８デコーダで実現でき、機能的には市販のインテル８２０５デコーダと同じである。
【０１２６】
代表的なデータフローを説明する。データレジスタ９２４からの８ビットを一時アドレスレジスタ９２８に複写する場合、「Ibus」フィールド１１１６は、データレジスタ９２４がバス９０４を駆動することを示す。この結果「Itcd」フィールド１１０８は、データレジスタ９２４がバス９０４からロードすることを示す（このためデータは、データレジスタ９２４を出て該データレジスタ９２４に戻り、シフトアウトされたばかりの値を復元する）。「Itna」フィールド１１１０は、一時アドレスレジスタ９２８にバス９０４上のデータ（データレジスタ９２４からの）がロードされることを示す。
【０１２７】
デジタルサブシステム３０４の動作は、処理状態（またはフラグ）に依存することが多い。本実施例において処理状態システムは、データパスを占有し動作の柔軟性および効率を確保する。処理状態用に２個の専用レジスタがある。フラグレジスタ９１２と有効性レジスタ９１４である。フラグレジスタ９１２は汎用状態（例えば真偽状態）用に使われ、有効性レジスタ９１４はアプリケーション専用の状態用に使われる。
【０１２８】
データメモリ９０２は、アプリケーションデータ（例えば乗客料金データ、画像データ、医療記録）用の不揮発性記憶領域である。本実施例において、データメモリ９０２は、２０４８x８ビット（１バイト）のFRAMで実現する。このFRAMは、それぞれ相互接続９４０および９４２を介して１１ビットデータアドレスレジスタ９２６と８ビットデータレジスタ９２４とにインタフェースする。データレジスタ９２４の内容は、データメモリ９０２に対する読出しまたは書込み処理に使われる。データメモリ９０２は、「Itna」フィールド１１１０により制御される。「Itna」フィールド１１１０は、データアドレスレジスタ９２６と一時アドレスレジスタ９２８との動作を制御する。
【０１２９】
図１２は、データメモリ９０２のメモリマップ１２００を示す。これは独立した複数タグの通過を扱うアプリケーション用である。このメモリは、１２８の１６バイトページ１２０２（ページ０〜１２７）で構成する。動作においてホスト１０２は、ページ毎にデータメモリ９０２のデータ転送を行う（ターゲット１０４を介して）（すなわち１ページはホスト１０２がアクセスするメモリの最小単位である）。ページ１２０２は、１６のブロック１２０４（ブロック０〜１５）を構成する。各ブロック１２０４は、８枚のページ１２０２で構成する。
【０１３０】
本実施例において、ブロック０（ページ０〜７）は、タグ１０６の内部用に予約されている。ブロック０は、タグ識別バッファ１２０６と、タグ乱数バッファ１２０８と、ホスト乱数バッファ１２１０と、一時変数バッファ１２１２と、一時データバッファ１２１４とを含む。一時データバッファ１２１４は、MACとヘッダデータとを収容するため４枚のページ１２０２で構成される。
【０１３１】
残りの１５ブロック１２０４（ブロック１〜１５）は、ホスト１０２が実行するアプリケーション用に使用できる。各ブロック１２０４は、１枚の予約ページ１２０２を有する。この予約ページは、アプリケーションタイプバッファ１２１６と、読出しキーバッファ１２１８と、書込みキーバッファ１２２０とを含む。バッファ１２１８、１２２０に記憶される秘密キーは、同一ブロック１２０４の他の７枚のデータページ１２０２を読み出し、書き込むために必要である。これら要素の各々については後述する。
【０１３２】
データの整合性および安全性は、本発明のメッセージ認証特性が強化する。各処理について、ホスト１０２とタグ１０６は、所定の処理において互いに認証しなければならない。本実施例において、メッセージ認証コード（MAC）レジスタ９１８は、「Imac」フィールド１１１２が制御する。そしてキーストリーム発生器９４６は、「Ikey」フィールド１１１４が制御する。これらは、処理中に送受される認証用MACの生成および検査に使われる。
【０１３３】
タグアナログサブシステム
アナログサブシステム３０６は、タグASIC３０２用の電源供給回路と無線周波数通信機構とを含む。図１３および１４は、アナログサブシステム３０６の詳細ブロック図および回路図である。
【０１３４】
一般にアナログサブシステム３０６は、デジタルサブシステム３０４とアナログサブシステム３０６用に５Vの電圧を発生し、１３.５６MHzクロック信号（クロック信号８００）をＲＦ信号１１０（ターゲット１０４からの）から発生し、ＲＦ信号１１０の入AMメッセージ・データを復調し、復調データをビットシリアル形式でデジタルサブシステム３０４に渡し（デジタルサブシステム３０４はそのデータのフレーム処理等を行う）、デジタルサブシステム３０４からのデータをインピーダンス変調技術を使って変調しＲＦ搬送波信号１１２とし、リセット信号８０２を発生する。このリセット信号は、デジタルサブシステム３０４およびアナログサブシステム３０６の正しい起動および停止を保証するために使われる。
【０１３５】
図１３において、アナログサブシステム３０６は、アンテナ３００と、全波ブリッジ整流器１３００と、クロック復元回路１３８０と、起動回路１３９０と、８V分流調整器１３１０と、直列調整器１３２０と、５V分流調整器１３３０と、送信器１３４０と、受信器１３５０と、リセット発生器１３６０と、基準発生器１３７０とを含む。
【０１３６】
アンテナ３００は、ＲＦ１１０（ターゲット１０４からの）からエネルギを受け取り、２つの信号１３０２（Va）と１３０４（Vb）をブリッジ整流器１３００とクロック復元回路１３８０とに送る。全波ブリッジ整流器１３００は、交流入力信号１３０２（Va）と１３０４（Vb）をアンテナ３００から受け取り、直流出力電圧VRAW１３０６を発生してタグ１０６を起動する。全波ブリッジ整流器１３００は、VSS８１２にも接続する。
【０１３７】
クロック復元回路１３８０は、Va１３０２とVb１３０４を監視し、クロック８００（１３.５６MHz）を発生してデジタルサブシステム３０４に入力する。当業者には明らかなように、クロック復元回路１３８０は、各種論理ゲート回路を使って実現できる。本好適実施例は、交差結合NORラッチ回路を用いてクロック復元と短クロックパルスの防止とを行う。クロック復元回路１３８０は、NOCLK信号（キャリア喪失信号）１４４０を提供する。この信号はリセット発生器１３６０が使う。NOCLK信号１４４０は、再トリガ可能ショット方式により発生する。この技術は、当業者に知られている多くの方法の１つである。
【０１３８】
基準発生器１３７０（バンドギャップ電圧基準）は、VREF信号１４７０を発生すると共に、アナログサブシステム３０６の他のアナログ回路用に基準電流を発生する。動作においてタグASIC３０２は、VREF１４７０が安定するまでリセット状態に置かれる。
【０１３９】
起動回路１３９０は、調整器１３１０、１３２０、１３３０を確実に起動するため、VREF１４７０がほぼその最終値に到達するのを待つ。調整器１３１０、１３２０、１３３０が時期尚早に分流を開始してしまうと、VDD８１０はある電圧に保持され、そのためVREF１４７０は本来の値に上昇できない。そうなると、VDD８１０が低電圧に保持された状態で安定状態となり、チップは機能しない。起動回路１３９０は、このような事態を防止する。
【０１４０】
起動時に起動回路１３９０は、調整器１３１０、１３２０、１３３０を無効にし、直流入力電圧VRAW１３０６をVDD８１０に短絡し、この状態をVRAW１３０６がほぼ起動閾値電圧に到達するまで維持する。これは、VDD８１０を可及的速やかに昇圧するため、VREF１４７０は調整器制御ループが有効になる前に安定する。デジタルサブシステム３０４は、VRAW１３０６が起動閾値電圧よりも低い場合、リセット状態に維持される。VRAW１３０６が起動閾値電圧を超えると、起動回路１３９０の出力信号（PWRUPL）１４４２は、非活性（活性は低レベル）となる。
【０１４１】
VREF１４７０が安定すると、VRAW１３０６はASIC３０２の破壊電圧近くまで上昇する。このようにして本発明は、メッセージ・データ送信用の変調電圧ステップを可能な限り広げる。本発明は、VRAW１３０６をタグASIC３０２の破壊電圧近辺において確実に動作させることができる。本実施例は、広い変調電圧ステップを送信器１３４０を用いて生成する。
【０１４２】
８V分流調整器１３１０は、入メッセージ・データを検出し、タグASIC３０２を短期間の過電圧遷移から守る。タグASIC３０２等のシリコンデバイスは、本質的に破壊電圧を有する。従って動作電圧をタグASIC３０２の破壊電圧以下に維持しながらターゲット１０４からのAM信号を受信しなければならない。
【０１４３】
低速振幅変動を許容する公知のクランプをタグ１０６を横断して配置することにより、電圧破壊問題を克服できる。この解決方法は、タグ１０６がターゲット１０４のＲＦ電界（ＲＦ信号１１０）に十分低速で進入し、低速応答クランプ回路が有効に応答することが条件である。これは、利用者がタグ１０６を持ってターゲット１０４のＲＦ電界に移動するような事例において、一般に可能である。
【０１４４】
しかしながら、タグ１０６をターゲット１０４近くの固定位置に機械的に置いたり、ＲＦ電界１１０を電気的にオンオフ（パルス性ＲＦ）するような事例もある。このような場合、ＲＦ電界１１０は、高速で変化するため、低速クランプ回路は効果的に応答できない。従ってASIC（タグASIC３０２等）は、過電圧およびラッチアップを引き起こす。これが永久的な損傷を引き起こす可能性はないものの、タグ１０６をパルス性ＲＦ環境で動作させることは困難である。
【０１４５】
この電圧破壊問題を克服しさらに他の効果をもたらすため、本発明は８V分流調整器１３１０を使用する。８V分流調整器１３１０は、AM電圧変動を除去し、切替性またはパルス性ＲＦに十分高速に応答する。８V分流調整器１３１０は、整流搬送波からAM電圧変動を除去することもできる。
【０１４６】
８V分流調整器１３１０の第２の利点は、クランプ電圧を正確に決定でき、ASIC破壊電圧のわずか下に調整でき、小型のタグASIC３０２を低い破壊電圧処理で製造できることである。
【０１４７】
本実施例における８V分流調整器１３１０の動作を詳細に説明する。タグ１０６がメッセージ・データを送信していない時、８V分流調整器１３１０は、VRAW１３０６を８Vに調整する。８V分流調整器１３１０は、VRAW１３０６を抵抗分割器１４１４によって分割しSREF信号１４１６を発生することにより、CTL８信号１４１２（８V分流調整器制御電圧）を発生する。データ復元比較器１４４８（相互コンダクタンス増幅器）は、SREF１４１６と基準電圧VREF１４７０（定格１.２５V）とを比較し、CTL８信号１４１２を出力する。SREF１４１６がVREF１４７０より大きければ、CTL８信号１４１２は上昇し、これによってより多くの電流が８V分流調整器１３１０を流れる。この結果、VRAW１３０６は低下する。SREF１４１６がVREF１４７０より小さければ、CTL８信号１４１２と分流電流は減少し、VRAW１３０６は再び上昇する。この制御ループは、約２μｓのきわめて小さい時定数を有し適切な動作を確保する。
【０１４８】
本実施例において直列調整器１３２０は、CTL８信号１４１２（AMメッセージ・データを含む）を監視し、８V分流調整器１３１０が確実に最小１００μAを引き込むようにする。これが好ましい理由は、長い変調バーストを受信中、直列インピーダンスが８V分流調整器１３１０を介して５００μAを維持しようとするためである。入り変調が停止した時に前記最小分流電流を確保していないと、８V分流調整器１３１０は完全に停止し、後続のメッセージ・データを受信できなくなる。CTL８信号１４１２は、後述するように他の目的にも使われる。
【０１４９】
直列調整器１３２０は、８V分流調整器１３１０および５V分流調整器１３３０によって損失する電流の割合を制御する。直列調整器１３２０は、８V分流調整器１３１０を流れる電流を監視し、直列インピーダンスを調整し、８V分流調整器１３１０を流れる定常状態（変調なし）の平均電流を約５００μＡにする。この直列制御ループは、約１msの長い時定数を有するため、平均分流電流は、メッセージ・データの受信中は実質的に変化しない。これにより入データは、CTL８信号１４１２を受信器１３５０に対して最適にする。タグ１０６からターゲット１０４へのメッセージ・データ送信中、送信器１３４０は、直列インピーダンス１４２０を短絡し、直列インピーダンス制御回路１４２２を無効にする。直列インピーダンスは、出変調が終了する時に以前の値に戻る。VRAW１３０６（８V）とVDD８１０（５V）間の制御された電圧差は、タグ１０６からターゲット１０４へのメッセージ・データ送信用の固定３V変調深さを提供する。直列調整器１３２０と並列の抵抗１４２４は、VRAW１３０６からVDD８１０へ十分な電流が流れることを保証する。
【０１５０】
５V分流調整器１３３０は、VDD８１０を５Vに調整する。VDD８１０は、デジタルサブシステム３０４および他のほとんどのアナログ回路に電力を供給する。５V分流整流器１３３０は、タグASIC３０２に入る超過電流を高速制御ループによって消散し、VDD８１０への２mAの負荷遷移に高速に応答する。この応答時間は、約１０〜１５μｓ（電力供給路を横断する１０ｎＦのFRAM蓄積コンデンサによる）以内である。
【０１５１】
本実施例における５V分流整流器１３３０の動作を説明する。５V分流整流器１３３０の比較器１４３０は、VDD８１０（抵抗分割器１４８２を介してサンプリングされSVDD信号１４３２を発生する）とバンドギャップ基準電圧VREF１４７０とを比較し、CTRL５信号１４３４を発生する。CTRL５信号１４３４は、５V分流整流器１３３０を流れる電流を制御し、VDD８１０を一定電圧に維持する。SVDD１４３２がVREF１４７０より低ければ、CTRL５信号１４３４は低下し、５V分流整流器１３３０を流れる電流も低下し、VDD８１０は上昇する。SVDD１４３２がVREF１４７０を超えると、CTRL５信号１４３４は上昇し、５V分流整流器１３３０はより多くの電流を引き込む。
【０１５２】
PWRUPL信号１４４２が高レベルであれば（すなわち非活性であれば）、CTRL５信号１４３４は接地されすべての分流動作を無効にする。これはVREF１４７０が定常状態になる前に５V分流整流器１３３０が動作するのを防止する。
【０１５３】
５V分流整流器１３３０は、比較器１４３６を含む。この比較器は、VDD８１０が低電圧閾値（本実施例において約４.７V）より低下するとそれを検出する。比較器１４３６は、VDD８１０（抵抗分割器１４８４を介してサンプリングされSVDDLO信号１４３５を発生する）とVREF１４７０とを比較し、LOWVDD１４３８を発生する。このLOWVDD１４３８は、VDD８１０が低すぎるためデジタルサブシステム３０４がFRAMをアクセスできないことを示し、RSTL信号１４６０を生成する。
【０１５４】
送信器１３４０は、TXD信号１４４６（ターゲットへの信号８０６）に基づき出メッセージ・データ（タグ１０６からターゲット１０４へ）用の直列インピーダンスを短絡させる。入力信号TXD１４４６が低レベルになると、VRAW１３０６は前述のようにVDD８１０に短絡する。VRAW１３０６がVDD８１０に短絡すると、８V分流調整器１３１０と直列調整器１３２０は、無効になる。この結果、それらの制御電圧は変化せず、変調が完了した後、定常状態点が維持される。
【０１５５】
直列インピーダンス制御回路１４２２は、CTL８信号１４１２を監視し、８V分流調整器１３１０に５００μＡのみを分流させる。入力信号OUTEN（出力有効）１４４４が非活性になると、CTL８信号１４１２の駆動は無効となる。従ってCTL８信号１４１２は、このノードの漂遊容量によって現在値に保持される。OUTEN信号１４４４が活性になると、８V分流調整器１３１０は、通常通りに動作する。動作においてOUTEN信号は、TXD信号１４４６に接続する。TXD信号１４４６は、前述のようにVRAW１３０６をVDD８１０に短絡することによりタグ１０６からターゲット１０４への変調を有効にする。タグ１０６からターゲット１０４への変調の間、CTL８信号１４１２は、一定に保持される。その変調が終了すると、CTL８信号１４１２は、ほぼ変調開始前の値に戻る。
【０１５６】
受信器１３５０は、CTL８信号１４１２を監視することによって、入メッセージ・データ（ターゲット１０４からタグ１０６への）を検出する。CTL８信号１４１２はＲＦ電界１１０が上昇すれば上昇し、ＲＦ電界１１０がアイドル状態に戻ると減少する。本実施例においてCTL８信号１４１２は、メッセージ・データの受信に応じて例えば１５０〜２００mVだけ変動する。受信器１３５０は、CTL８信号１４１２とCTL８信号１４１２の平均値を比較することにより、メッセージ・データを抽出する。当業者には明らかなように、CTL８信号１４１２の平均値は、公知の回路構成により計算できる。TXD信号１４４６は、タグ１０６の変調中に比較器１４１８をリセットし、タグ１０６からターゲット１０４への送信終了後、受信器１３５０が確実に正しい状態にとどまるようにする。比較器１４１８は、CTL８信号１４１２が低レベル（すなわち出変調が発生している）であれば、リセットされる。RXD信号１４５０（ターゲットからの信号８０４）は、CTL８信号１４１２が定常状態から上昇すると（すなわちＲＦ電界１１０の強度が高まると）低レベルとなり、CTL８信号１４１２が下降すると（すなわちＲＦ電界１１０がアイドル状態に戻ると）高レベルとなる。
【０１５７】
リセット発生器１３６０は、２つのリセット信号を発生する。すなわちRSTL信号１４６０と、RESET信号８０２である。RSTL信号１４６０は、低レベルで活性となり、アナログ回路によって使われる。RSTL信号１４６０は、起動後８V分流調整器１３１０が電流を引き込み始めると（VREF１４７０が活性化）非活性となり、VDD８１０が約４.７V以下に低下するか、VRAW１３０６が起動閾値（約３V）以下に低下すると活性となる。RSTL信号１４６０が活性であれば、８V分流調整器１３１０のクランプ回路は無効となる（すなわち８V分流調整器１３１０によって引き込まれる最小電流がゼロとなる）。RSTL信号１４６０が非活性となると、クランプ回路または比較器１４１８が有効となり、８V分流調整器１３１０は、少なくとも１００μＡの最小電流を引き込む。
【０１５８】
RESET信号８０２は、高レベルで活性となり、デジタルサブシステム３０４に供給される。RESET信号８０２は、起動中活性となるので、デジタルサブシステム３０４は、その回路が安定状態に到達するまで動作を開始しない。リセット発生器１３６０は、CTL８信号１４１２を監視し、RESET信号８０２を活性にする。この活性は、VRAW１３０６が８Vに到達して８V分流調整器１３１０が電流の引き込みを始めるまで維持される。８V分流調整器１３１０が電流を引き込み始めると、８V分流調整器１３１０の比較器１４１８は、CTL８信号１４１２を活性にし、これによってRESET信号８０２を非活性にする。
【０１５９】
RESET信号８０２が非活性になると、５V分流整流器１３３０は、比較器１４３６によってVDD８１０を監視する。VDD８１０が４.７Vより低下すると、比較器１４３６は、LOWVDD１４３８を活性にし、これによってRESET信号１４６２を活性にする。この活性は、デジタルサブシステム３０４の動作を再び禁止する。リセット発生器１３６０は、NOCLK信号１４４０の状態も監視する。ターゲット１０４からのＲＦの電界１１０に干渉が発生すると、NOCLK信号１４４０が活性となりRESET信号８０２を発生する。これは、ターゲットがパルス性ＲＦモードで動作している場合、高速なRESET信号８０２を保証する。
【０１６０】
本発明は、好適実施例を参照しながら示し説明してきたが、当業者には明らかなように、請求の範囲に定義した本発明の精神および範囲から逸脱することなく、形式および詳細において各種の変更が可能である。
【図面の簡単な説明】
【０１６１】
【図１】本発明の原理に基づく非接触近接式自動データ収集システムの全体を示すブロック図である。
【図２】ターゲットの全体を示すブロック図である。
【図３】タグの全体を示すブロック図である。
【図４】図４Ａは、ホストとターゲット間のメッセージ交換の例を示す図である。図４Ｂは、ターゲットとタグ間のメッセージ交換の例を示す図である。図４Ｃは、ホストとタグ間のメッセージ交換の例を示す図である。
【図５】図５Ａは、１つタグがターゲットとの通信を試みる事例を示す図である。図５Ｂは、２つ以上のタグがターゲットとの通信を試みる事例を示す図である。
【図６Ａ】図５Aの事例に対する衝突回避プロトコルの手順を示す図である。
【図６Ｂ】図５Bの事例に対する衝突回避プロトコルの手順を示す図である。
【図７Ａ】ターゲットステートマシン用の衝突回避プロトコルを示す図である。
【図７Ｂ】タグ制御の全体を示すフローチャートである。
【図８】タグ内におけるアナログサブシステムとデジタルサブシステム間のインタフェース用信号の詳細を示す図である。
【図９】タグのデジタルサブシステムを示すブロック図である。
【図１０】ステートアドレスレジスタの詳細を示す回路図である。
【図１１】超長命令語（VLIW）を示す図である。
【図１２】データメモリのメモリマップを示す図である。
【図１３】タグのアナログサブシステムの詳細を示すブロック図である。
【図１４Ａ】タグのアナログサブシステムの詳細を示す回路図である。
【図１４Ｂ】タグのアナログサブシステムの詳細を示す回路図である。
【図１】
2005100424.tif 000006
【図２】
2005100424.tif 000007
【図３】
2005100424.tif 000008
【図４】
2005100424.tif 000009
【図５】
2005100424.tif 000010
【図６Ａ】
2005100424.tif 000011
【図６Ｂ】
2005100424.tif 000012
【図７Ａ】
2005100424.tif 000013
【図７Ｂ】
2005100424.tif 000014
【図８】
2005100424.tif 000015
【図９】
2005100424.tif 000016
【図１０】
2005100424.tif 000017
【図１１】
2005100424.tif 000018
【図１２】
2005100424.tif 000019
【図１３】
2005100424.tif 000020
【図１４Ａ】
2005100424.tif 000021
【図１４Ｂ】
2005100424.tif 000022