(57)【要約】【課題】少なくとも2つのホストプロセッサ(HP1、HP2)と、いくつかの動作モード(Mi)に従って、かつ、いくつかの非接触型通信プロトコル(PTi)に従って構成可能であるRFIDタイプの非接触型データ送信/受信インタフェース(CLINT)とを含むチップセットにおいてデータをルーティングするための方法であって、ホストプロセッサの少なくとも1つに、非接触型データ伝送チャネルを介して非接触型データ送信/受信インタフェースによって受信されたデータをルーティングするステップを含む方法を提供する。【解決手段】本発明によれば、ルーティングするステップは、ホストプロセッサ(HP1、HP2)内の、そのデータの宛先ポイントを、宛先ポイントを特定する基準として、そのデータが受信された非接触型データ伝送チャネルを作成するのに非接触型データ送信/受信インタフェースによって使用された動作モード(Mi)および非接触型通信プロトコルを使用して特定する予備ステップを含む。【選択図】図4
2008022533.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも2つのホストプロセッサ(HP1、HP2)と、いくつかの動作モード(Mi、M1、M2、M3)に従って、かつ、いくつかの非接触型通信プロトコル(PTi、PT1、PT2、PT3)に従って構成可能であるRFIDタイプの非接触型データ送信/受信インタフェース(CLINT)とを含むチップセットにおいてデータをルーティングするための方法であって、
前記ホストプロセッサの少なくとも1つに、非接触型データ伝送チャネルを介して前記非接触型データ送信/受信インタフェースによって受信されたデータをルーティングするステップを含み、ルーティングする前記ステップは、ホストプロセッサ(HP1、HP2)内の、前記データの宛先ポイントを、前記宛先ポイントを特定する基準として、前記データが受信された前記非接触型データ伝送チャネルを作成するのに前記非接触型データ送信/受信インタフェースによって使用された動作モード(Mi)および非接触型通信プロトコル(PTi)を使用して特定する予備ステップを含むことを特徴とする方法。
【請求項２】
ルーティングテーブル(RT)の中に、宛先ポイントの識別子(IDdp)と、前記非接触型データ送信/受信インタフェースの動作モードパラメータ(Mi)と、非接触型通信プロトコルパラメータ(PTi)とをそれぞれが含む複数のデータパスを事前保存するステップと、
非接触型データ伝送チャネルを介して前記非接触型データ送信/受信インタフェースによってデータが受信されると、前記データが受信された前記非接触型データ伝送チャネルを作成するのに前記非接触型データ送信/受信インタフェースによって使用された動作モードパラメータおよび非接触型通信プロトコルパラメータに対応する動作モードパラメータ(Mi)および非接触型通信プロトコルパラメータ(PTi)を有するデータパスを、前記ルーティングテーブルの中で探索することにより、前記データの少なくとも1つの宛先ポイントを特定するステップとを含むことを特徴とする請求項1に記載の方法。
【請求項３】
前記ホストプロセッサ内に位置する送信元ポイント(P1、P2)によって送信され、前記非接触型データ送信/受信インタフェース(CLINT)内に位置する宛先ポイント(P3)を指定する、データパスを開くためのコマンド(CMD)に応答して、データパスにルーティングチャネル番号(CHANi)を割り当てること、およびルーティングテーブル(RT)の中に、前記ルーティングチャネル番号、および前記送信元ポイントの少なくとも1つの識別子(IDsp)と、前記宛先ポイントの1つの識別子(IDdp)とを含むルーティングパラメータを保存することにより、前記送信元ポイントを前記宛先ポイントにリンクする前記データパスを定義するステップと、
前記送信元ポイントによって供給されたデータを、前記ルーティングチャネル番号を含む小さいヘッダフィールドを有するフレーム(DF)の中にそれらのデータをカプセル化することにより、前記宛先ポイントに送信するステップと、
前記ルーティングチャネル番号を含むヘッダフィールドを有するフレーム(DF)の中にカプセル化されたデータを受信すると、前記ルーティングチャネル番号を、宛先ポイントを選択する索引として使用することにより、前記ルーティングテーブルの中で前記データの前記宛先ポイントを探索するステップとを含むことを特徴とする請求項1または2に記載の方法。
【請求項４】
前記ホストプロセッサ内に位置する送信元ポイント(P1、P2)によって送信され、前記非接触型データ送信/受信インタフェース(CLINT)内に位置する宛先ポイント(P3)を指定する、データパスを開くためのコマンド(CMD)に応答して、データパスにルーティングチャネル番号(CHANi)を割り当てること、および前記ルーティングテーブルの中に、前記ルーティングチャネル番号、および前記非接触型データ送信/受信インタフェースの動作モードパラメータ(Mi)と、非接触型通信プロトコルパラメータ(PTi)とを含むルーティングパラメータを保存することにより、前記送信元ポイントと前記宛先ポイントの間で前記データパスを開くステップと、
送信されるべきデータが受信されたデータパスに関して、前記ルーティングテーブルの中に含まれる前記動作モード(Mi)パラメータ、および前記非接触型通信プロトコル(PTi)パラメータを使用することにより、前記非接触型データ送信/受信インタフェースが、非接触型データ伝送チャネルでデータを送信するように、前記非接触型データ送信/受信インタフェースを構成するステップとを含むことを特徴とする請求項3に記載の方法。
【請求項５】
前記ルーティングテーブルは、2つのホストプロセッサ間でデータパスを開くのにも使用されることを特徴とする請求項3または4に記載の方法。
【請求項６】
前記ルーティングテーブルの中に保存されるべき、ルーティングパラメータと、前記非接触型データ送信/受信インタフェースを構成するための構成パラメータとを含むデータパスを作成するためのコマンドを提供するステップを含むことを特徴とする請求項1から5のうちのいずれか一項に記載の方法。
【請求項７】
前記ルーティングテーブルは、ホストプロセッサ(HP1、HP2)内に位置する送信元ポイントを有するデータパスが、作成される、または閉じられると、動的に埋められる、または空にされることを特徴とする請求項1から6のうちのいずれか一項に記載の方法。
【請求項８】
ホストプロセッサ(HP1、HP2)内に位置する送信元ポイントを有するデータパスを前記ルーティングテーブルの中に事前保存するステップを含むことを特徴とする請求項1から6のうちのいずれか一項に記載の方法。
【請求項９】
前記ルーティングテーブルの中に保存される送信元ポイントまたは宛先ポイントは、ホストプロセッサによって実行されるサービスであることを特徴とする請求項1から8のうちのいずれか一項に記載の方法。
【請求項１０】
前記ルーティングテーブルの中に格納される前記ルーティングパラメータは、前記宛先ポイントに送信されるデータのコピーを受信しなければならない通知ポイントの識別子(IDdp)も含むことを特徴とする請求項1から9のうちのいずれか一項に記載の方法。
【請求項１１】
ホストプロセッサが、SIMカード集積回路などのセキュア回路であるチップセットにおいて実施されることを特徴とする請求項1から10のうちのいずれか一項に記載の方法。
【請求項１２】
いくつかの動作モード(Mi、M1、M2、M3)に従って、かつ、いくつかの非接触型通信プロトコル(PTi、PT1、PT2、PT3)に従って構成可能であるRFIDタイプの非接触型データ送信/受信インタフェース(CLINT)と、コントローラ(NFCC)と、前記非接触型データ送信/受信インタフェース(CLINT)を少なくとも2つのホストプロセッサ(HP1、HP2)にリンクする少なくとも2つの入力/出力ポート(INT1、INT2)とを含む、データを送信/受信するためのデバイス(NFCR2)であって、
前記コントローラ(NFCC)は、非接触型データ伝送チャネルを介して前記非接触型データ送信/受信インタフェースによってデータが受信されると、前記ホストプロセッサ(HP1、HP2)内の、前記データの少なくとも1つの宛先ポイントを、前記宛先ポイントを特定する基準として、前記データが受信された前記非接触型データ伝送チャネルを作成するのに前記非接触型データ送信/受信インタフェースによって使用された動作モード(Mi)および非接触型通信プロトコル(PTi)を使用して、特定するように構成されることを特徴とするデバイス。
【請求項１３】
前記コントローラ(NFCC)は、ルーティングテーブル(RT)の中に、前記非接触型データ送信/受信インタフェース(CLINT)内に位置する送信元ポイントを有するデータパスを保存し、それらのデータパスのそれぞれに関して、宛先ポイントの少なくとも1つの識別子(IDdp)と、前記非接触型データ送信/受信インタフェースの1つの動作モードパラメータ(Mi)と、1つの非接触型通信プロトコルパラメータ(PTi)とを事前保存し、
非接触型データ伝送チャネルを介して前記非接触型データ送信/受信インタフェースによってデータが受信されると、前記データが受信された前記非接触型データ伝送チャネルを作成するのに前記非接触型データ送信/受信インタフェースによって使用された動作モードパラメータおよび非接触型通信プロトコルパラメータに対応する動作モードパラメータ(Mi)および非接触型通信プロトコルパラメータ(PTi)を有するデータパスを、前記ルーティングテーブルの中で探索することにより、前記データの少なくとも1つの宛先ポイントを特定するように構成されることを特徴とする請求項12に記載のデバイス。
【請求項１４】
前記コントローラ(NFCC)が、ホストプロセッサ内に位置する送信元ポイント(P1,P2)によって送信され、前記非接触型データ送信/受信インタフェース(CLINT)内に位置する宛先ポイントを指定する、データパスを開くためのコマンド(CMD)に応答して、データパスにルーティングチャネル番号(CHANi)を割り当てること、およびルーティングテーブル(RT)の中に、前記ルーティングチャネル番号、および前記送信元ポイントの少なくとも1つの識別子(IDsp)と、前記宛先ポイントの1つの識別子(IDdp)とを含むルーティングパラメータを保存することにより、前記送信元ポイントと前記宛先ポイントの間で前記データパスを開き、
前記ルーティングチャネル番号を含むヘッダフィールドを有するフレーム(DF)の中にカプセル化されたデータを受信すると、前記ルーティングチャネル番号を、宛先ポイントを選択する索引として使用して、前記ルーティングテーブルの中で前記データの前記宛先ポイントを探索するように構成されることを特徴とする請求項12または13に記載のデバイス。
【請求項１５】
前記コントローラ(NFCC)は、ホストプロセッサ(HP1、HP2)内に位置する送信元ポイントによって送信され、前記非接触型データ送信/受信インタフェース(CLINT)内に位置する宛先ポイント(P3)を指定する、データパスを開くためのコマンド(CMD)に応答して、データパスにルーティングチャネル番号(CHANi)を割り当てること、および前記ルーティングテーブルの中に、前記ルーティングチャネル番号、および前記非接触型データ送信/受信インタフェースの動作モードパラメータ(Mi)と、非接触型通信プロトコルパラメータ(PTi)とを含むルーティングパラメータを保存することにより、前記送信元ポイントと前記宛先ポイントの間でデータパスを開くように構成され、
前記非接触型データ送信/受信インタフェースは、送信されるべきデータが受信されたデータパスに関して、前記ルーティングテーブルの中に含まれる前記動作モードパラメータ(Mi)、および非接触型通信プロトコル(PTi)パラメータを使用することにより、非接触型データ伝送チャネルでデータを送信するように構成されることを特徴とする請求項14に記載のデバイス。
【請求項１６】
前記コントローラは、2つのホストプロセッサ(HP1、HP2)間でデータパスを開くのにも前記ルーティングテーブルを使用することを特徴とする請求項14または15に記載のデバイス。
【請求項１７】
前記コントローラ(NFCC)は、ルーティングパラメータと、前記非接触型データ送信/受信インタフェースを構成するための構成パラメータとを含む、データパスを作成するためのコマンドを復号化し、前記ルーティングテーブルの中に、前記コマンドの中に存在する前記ルーティングパラメータおよび前記構成パラメータを保存するように構成されることを特徴とする請求項14から16のうちのいずれか一項に記載のデバイス。
【請求項１８】
前記コントローラ(NFCC)は、ホストプロセッサ(HP1、HP2)内に位置する送信元ポイントを有するデータパスが、作成される、または閉じられると、前記ルーティングテーブルを動的に埋める、または空にするように構成されることを特徴とする請求項14から17のうちのいずれか一項に記載のデバイス。
【請求項１９】
前記コントローラ(NFCC)は、前記ルーティングテーブルの中に、ホストプロセッサ(HP1、HP2)内に位置する送信元ポイントを有するデータパスを事前保存するように構成されることを特徴とする請求項14から17のうちのいずれか一項に記載のデバイス。
【請求項２０】
前記ルーティングテーブルの中に保存される送信元ポイントまたは宛先ポイントは、ホストプロセッサによって実行されるサービスであることを特徴とする請求項14から19のうちのいずれか一項に記載のデバイス。
【請求項２１】
前記ルーティングテーブルの中に格納される前記ルーティングパラメータは、前記宛先ポイントに送信されるデータのコピーを受信しなければならない通知ポイントの識別子(IDdp)も含むことを特徴とする請求項14から20のうちのいずれか一項に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも1つのホストプロセッサと、RFIDタイプの非接触型データ送信/受信インタフェースとを含むチップセットにおいてデータをルーティングするための方法に関する。
【０００２】
また、本発明は、RFIDタイプの非接触型データ送信/受信インタフェースと、コントローラと、データ送信/受信インタフェースをホストプロセッサにリンクする少なくとも1つの入力/出力ポートとを含むデータ送信/受信回路にも関する。
【０００３】
本発明は、特に、NFC(近接場通信)チップセットの製造に関する。
【背景技術】
【０００４】
NFC技術が、現在、Forum NFC(http://www.nfc-forum.org)という名称の下でグループ化された企業連合によって開発されている。NFC技術は、RFID(無線周波数識別)技術から派生し、いくつかの動作モード、すなわち、「読み取り装置」モード、「カードエミュレーション」モード、および「デバイス」モード(「デバイスツーデバイスモード」とも呼ばれる)を有するNFC読み取り装置を使用する。「読み取り装置」モードでは、NFC読み取り装置は、従来のRFID読み取り装置のように動作して、RFIDチップ(チップカードまたは非接触型タグ)に読み取りアクセスまたは書き込みアクセスを行う。NFC読み取り装置は、磁界を放射し、その磁界の振幅を変調することによってデータを送信し、負荷変調および電磁結合によってデータを受信する。本出願者の名義の欧州特許第1327222号によって説明される「エミュレーション」モードでは、NFC読み取り装置は、トランスポンダのように受動的に動作して別の読み取り装置と対話し、その別の読み取り装置によってRFIDチップと見なされる。読み取り装置は、全く磁界を放射せず、他方の読み取り装置によって発せられた磁界を復調することによってデータを受信し、読み取り装置のアンテナ回路のインピーダンスを変調すること(負荷変調)によってデータを送信する。「デバイス」モードでは、読み取り装置は、やはり同一の動作モードに置かれた別の読み取り装置と対をなさなければならず、各読み取り装置が、データを受信するための受動状態(磁界放射を伴わない)と、データを送信するための能動状態(磁界放射を伴う)に交互になる。
【０００５】
それら3つの動作モード(その他の動作モードが、将来、設計される可能性がある)に加えて、NFC読み取り装置は、いくつかの非接触型通信プロトコルを実施することができ、例えば、ISO 14443-Aプロトコル、ISO 14443-Bプロトコル、ISO 15693プロトコルなどに従ってデータを交換することができる。各プロトコルは、磁界の放射の周波数、能動モードでデータを送信する磁界の振幅を変調するための変調方法、および受動モードでデータを送信する電磁結合による負荷変調方法を定義する。したがって、NFC読み取り装置は、マルチモードおよびマルチプロトコルのデバイスである。本出願者は、例えば、「MicroRead」という名称の下でNFC読み取り装置を市販している。
【０００６】
NFC読み取り装置の拡張された通信能力のため、NFC読み取り装置は、セルラー電話機またはPDA(パーソナルデジタルアシスタント)などのポータブルデバイスに組み込まれることが企図されている。その結果が、図1に示されるタイプのNFCチップセット、すなわち、NFC読み取り装置(「NFCR1」として示される)と、少なくとも1つのホストプロセッサHP1とを含むチップセットの製造である。「ホストプロセッサ」とは、マイクロプロセッサと、マイクロコントローラとを含み、NFC読み取り装置のポートに接続された任意の集積回路を意味する。多くのアプリケーションでは、チップセットは、第2のホストプロセッサHP2も含む。第1のホストプロセッサHP1は、NFC読み取り装置が組み込まれるデバイスのメインプロセッサであるのに対して、第2のホストプロセッサHP2は、セキュア回路である。ホストプロセッサHP1は、例えば、移動電話機のベースバンド回路(または無線電話回路)であり、ホストプロセッサHP2は、例えば、SIMカード(すなわち、SIMカード内に存在するマイクロコントローラ)である。したがって、NFC読み取り装置のリソースは、その2つのプロセッサHP1およびHP2に提供されて、プロセッサHP1およびHP2が、非接触型アプリケーションを管理することを可能にする。そのようなアプリケーションが、図1のNFCチップセットを備えた移動電話機30を表す図2に示されている。以下が、区別されることが可能である。すなわち、
【０００７】
1)AP1タイプのアプリケーション:移動電話機30のNFC読み取り装置は、読み取り装置モードになっていて、非接触型集積回路CLCTに対する読み取りまたは書き込みを行う。移動電話機は、そのケースでは、RFID読み取り装置のように使用される。このタイプのアプリケーションは、無料であることが可能であり、例えば、バス待合所の広告に挿入された広告データを読み取ることに存することが可能である。また、このアプリケーションは、支払い可能であることも可能であり、例えば、加入者のために取っておかれた情報を読み取ることに存することが可能である。アプリケーションAP1のプログラムは、サービスが、無料である場合、好ましくは、プロセッサHP1によって保持されて、実行され、あるいは、サービスが、支払い可能である場合、加入者の識別を要するので、好ましくは、プロセッサHP2によって保持されて、実行される。このため、図1に示されるとおり、アプリケーションAP1は、プロセッサHP1またはプロセッサHP2によって処理されることが可能である。
【０００８】
2)AP2タイプのアプリケーション:電話機30のNFC読み取り装置は、カードエミュレーションモードになっていて、支払い、もしくは支払い可能なアクセス制限アプリケーション(支払いマシン、地下鉄の改札口)における従来のRD読み取り装置によって読み取られる。その場合、移動電話機30は、チップカードのように使用される。アプリケーションAP2のプログラムは、サービスへのアクセスが、加入者の識別を要求するので、好ましくは、図1に示されるとおり、セキュアプロセッサHP2によって保持されて、実行される。
【０００９】
3)AP3タイプのアプリケーション:電話機30のNFC読み取り装置は、「デバイス」モードになっていて、別のデバイス、例えば、別の移動電話機31、またはコンピュータ32に組み込まれた読み取り装置と対話する。このタイプのアプリケーションは、一般に、無料であり、データパケットが、1つのデバイスから別のデバイスに転送されること(特に、ポイントツーポイントファイル転送)を可能にする。アプリケーションAP3のプログラムは、セキュアプロセッサが、SIMカードプロセッサである場合、セキュアプロセッサHP2より高いコンピューティング能力を有する、好ましくは、図1に示されるとおり、非セキュアプロセッサHP1によって保持されて、実行される。
【００１０】
このため、NFCチップセットの製造は、プロセッサHP1、HP2のそれぞれと、NFC読み取り装置との間におけるデータストリーム(非接触型データ伝送チャネルを介して送信されるデータ)のルーティング、およびNFC読み取り装置と、プロセッサHP1、HP2のそれぞれとの間における着信データストリーム(非接触型データ伝送チャネルを介して受信されるデータ)のルーティングを提供することを要求する。このことは、図3A、図3Bに関連して理解される、いくつかの実際的な問題を生じさせる。
【００１１】
図3Aは、NFC読み取り装置のアーキテクチャを概略で示す。読み取り装置は、アンテナ回路ACTと、インタフェースCLINTにリンクされたハードワイヤ通信インタフェースINT1、INT2と、コントローラNFCCとを備えた非接触型データ送信/受信インタフェースCLINTを含む。インタフェースINT1は、ホストプロセッサHP1に接続され、インタフェースINT2は、ホストプロセッサHP2に接続され、そのアセンブリが、NFCチップセット(「CHIPSET」として示される)を形成する。
【００１２】
図3Bは、非接触型データ送信/受信インタフェースCLINTのリソースが、プロセッサHP1、HP2のそれぞれによって使用されることが可能であるように、誘導されなければならないデータストリームを表す。簡明のために、インタフェースCLINTは、3つのプロトコルPT1、PT2、PT3、例えば、ISO 14443-A、ISO 14443-B、およびISO 15693だけに従ってデータを送信または受信することができ、前述した3つの動作モードM1、M2、M3(読み取り装置モード、エミュレーションモード、および「デバイス」モード)を有するものと想定される。このため、以下の4つの異なるタイプのデータストリームが、区別されることが可能である。すなわち、
1)プロセッサHP1内に位置する送信元ポイントP1から来て、インタフェースCLINT内に位置する宛先ポイントP3に送信され、次に、インタフェースCLINTにより、プロトコルPTi(PT1、PT2、またはPT3)および動作モードMi(M1、M2またはM3)に従って作成された非接触型データ伝送チャネルにおいて送信される発信データストリームDT1out(Mi、PTi)、
2)プロセッサHP2内に位置する送信元ポイントP2から来て、インタフェースCLINT内に位置する宛先ポイントP3に伝送され、次に、インタフェースCLINTより、プロトコルPTiおよび動作モードMiに従って作成された非接触型データ伝送チャネルを介して送信される発信データストリームDT2out(Mi、PTi)、
3)プロトコルPTiおよび動作モードMiに従って作成された非接触型データ伝送チャネルを介してインタフェースCLINTによって受信され、次に、インタフェースCLINTによって、送信元ポイントP3から、プロセッサHP1内に位置する宛先ポイントP1まで送信される着信データストリームDT1in(Mi、PTi)、
4)プロトコルPTiおよび動作モードMiに従って作成された非接触型データ伝送チャネルを介してインタフェースCLINTによって受信され、次に、インタフェースCLINTによって、送信元ポイントP3から、プロセッサHP2内に位置する宛先ポイントP2まで送信される着信データストリームDT2in(Mi、PTi)。
【００１３】
各発信データストリームは、3つの動作モードM1、M2、M3で、3つのプロトコルPT1、PT2、PT3に従って送信されることが可能であるので、各発信データストリームに関して、9つの異なる構成が可能であることになる(各モードMi/プロトコルPTi組合せが、許可されるものと想定して)。このことは、プロセッサHP1またはHP2のいずれかが、送信されるべきデータをインタフェースCLINTに送信するだけでは、十分でないことを意味する。プロセッサは、送信される各データストリングに関して、それらのデータを非接触型データ伝送チャネルで伝送するのにインタフェースCLINTによって使用されるべきモード/プロトコルMi/PTi構成を指定することも行わなければならない。
【００１４】
インタフェースCLINTが、適切に構成されることを可能にしながら、発信データのルーティングを可能にするのに、「汎用」タイプのHCI(「ホストコントローラインタフェース」)データ伝送を提供して、任意のタイプのホストプロセッサが、非接触型通信チャネルでデータを伝送するのに使用されるべき構成(プロトコルPTiおよび動作モードMi)を指定しながら、送信されるべきデータをインタフェースCLINTに供給することを可能にすることが、提案されている。そのようなHCIプロトコルは、ヘッダフィールドと、データフィールドとをそれぞれが含むデータフレームを提供する。ヘッダフィールドは、インタフェースCLINTを制御するのに要求される情報、特に、データの開始ポイントと宛先ポイント、インタフェースCLINTによって使用されるべき動作モードおよびプロトコルを指定するフィールド群を含む。
【００１５】
本発明が解決することを目指す第1の問題は、従来のHCIプロトコルが、長く、複雑なヘッダフィールドを有するデータフレームを提供して、データ自体が処理される前に、相当な処理時間を要求することである。この問題は、「オーバヘッド化」と呼ばれ、過度に長いフレームヘッダが、データストリームを過負荷にして、データ伝送時間を増大させることを意味する。それらの大きいヘッダフィールドは、大きいバッファ、および高い処理能力をさらに要求する。
【特許文献１】欧州特許第1327222号
【特許文献２】国際特許出願第2004/029860号
【非特許文献１】http://www.nfc-forum.org
【発明の開示】
【発明が解決しようとする課題】
【００１６】
このため、本発明の第1の目的は、非接触型データ送信/受信インタフェースのプロトコルパラメータおよび動作モードパラメータが、設定されることを可能にしながら、実施するのが容易であり、長いヘッダフィールドを全く要求しない、NFCチップセットにおいてデータをルーティングするための方法を提供することである。
【００１７】
本発明が解決することを目指す、第1の問題とは異なる、別の問題は、着信データ(DT1inおよびDT2in)のルーティングに関する。着信データが、受信された際、非接触型データ送信/受信インタフェースCLINTおよびコントローラNFCCは、それらのデータの受信ホストプロセッサがいずれであるかを必ずしも知らない。その結果、データは、両方のプロセッサに送信され、それらのデータに応答しないことは、それらのデータにかかわりのないプロセッサに任されている。
【００１８】
国際特許出願第2004/029860号が、着信データをルーティングするための手段として、非接触型データ伝送チャネルを介して受信されたコマンドの中に位置するAPDU(アプリケーションプロトコルデータユニット)フィールドを使用することを含むルーティング方法を示唆している。しかし、前記出願の13ページに示されるとおり、その方法は、ルーティングを実施する新たなプロトコルが開発されることを要求し、このことは、非接触型データ伝送チャネルでデータを送信する外部ユニットが、データが、いずれの内部ユニット(いずれのホストプロセッサ)に向けられているかを指定しなければならないことを意味する。
【００１９】
ところで、多くのアプリケーションでは、データを送信する外部ユニットは、いずれが、それらのデータを受信するプロセッサであるかを指定するルーティング指示を与えるように設計されていない。実際、ルーティングは、同一のチップセットのいくつかのプロセッサが、同一の非接触型データ送信/受信インタフェースを共用するという事実に結び付いた内部問題である。したがって、汎用ルーティングプロトコルが、NFC標準を満たさないデバイスに、近い将来、組み込まれる見込みは極めて薄い。例えば、支払いまたは制限アクセスのために使用される従来の読み取り装置は、非接触型チップカードを宛先とする認証コマンドおよび/または秘密コード検証コマンドを送信する。したがって、認証中、そのような読み取り装置は、読み取り装置には、本物の非接触型カードを扱っているのか、またはカードエミュレーションモードでNFCチップセットを扱っているのかが分からない。その結果、そのような読み取り装置は、読み取り装置が送信するアプリケーションデータが、チップセット内部でルーティングされることを可能にするパラメータを送信するように設計されていない。
【００２０】
このため、本発明の別の目的は、NFCチップセットにおいて、非接触型データ伝送チャネルを介して受信されたデータの受信ホストプロセッサが、必ずしもそれらのデータの内容を分析することを必要とせずに、特定されることを可能にする方法を提供することである。
【課題を解決するための手段】
【００２１】
本発明の少なくとも1つの目的は、少なくとも2つのホストプロセッサと、いくつかの動作モードに従って、かつ、いくつかの非接触型通信プロトコルに従って構成可能であるRFIDタイプの非接触型データ送信/受信インタフェースとを含むチップセットにおいてデータをルーティングするための方法であって、ホストプロセッサの少なくとも1つに、非接触型データ伝送チャネルを介して非接触型データ送信/受信インタフェースによって受信されたデータをルーティングするステップを含み、ルーティングするステップは、ホストプロセッサ内の、そのデータの宛先ポイントを、宛先ポイントを特定する基準として、そのデータが受信された非接触型データ伝送チャネルを作成するのに非接触型データ送信/受信インタフェースによって使用された動作モードおよび非接触型通信プロトコルを使用して特定する予備ステップを含む方法によって達せられる。
【００２２】
一実施形態によれば、方法は、ルーティングテーブルの中に、宛先ポイントの識別子と、非接触型データ送信/受信インタフェースの動作モードパラメータと、非接触型通信プロトコルパラメータとをそれぞれが含む複数のデータパスを事前保存するステップと、データが、非接触型データ伝送チャネルを介して非接触型データ送信/受信インタフェースによって受信されると、そのデータが受信された非接触型データ伝送チャネルを作成するのに非接触型データ送信/受信インタフェースによって使用された動作モードパラメータおよび非接触型通信プロトコルパラメータに対応する動作モードパラメータおよび非接触型通信プロトコルパラメータを有するデータパスを、ルーティングテーブルの中で探索することにより、そのデータの少なくとも1つの宛先ポイントを特定するステップとを含む。
【００２３】
一実施形態によれば、方法は、ホストプロセッサ内に位置する送信元ポイントから送信され、非接触型データ送信/受信インタフェース内に位置する宛先ポイントを指定する、データパスを開くためのコマンドに応答して、データパスにルーティングチャネル番号を割り当てること、およびルーティングテーブルの中に、そのルーティングチャネル番号、および送信元ポイントの少なくとも1つの識別子と、宛先ポイントの1つの識別子とを含むルーティングパラメータを保存することにより、送信元ポイントを宛先ポイントにリンクするデータパスを定義するステップと、送信元ポイントによって供給されたデータを、そのルーティングチャネル番号を含む小さいヘッダフィールドを有するフレームの中にそれらのデータをカプセル化することによって送信するステップと、そのルーティングチャネル番号を含むヘッダフィールドを有するフレームの中にカプセル化されたデータを受信すると、そのルーティングチャネル番号を、宛先ポイントを選択する索引として使用して、ルーティングテーブルの中でデータの宛先ポイントを探索するステップとを含む。
【００２４】
一実施形態によれば、方法は、ホストプロセッサ内に位置する送信元ポイントによって送信され、非接触型データ送信/受信インタフェース内に位置する宛先ポイントを指定する、データパスを開くためのコマンドに応答して、データパスにルーティングチャネル番号を割り当てること、およびルーティングテーブルの中に、そのルーティングチャネル番号、および非接触型データ送信/受信インタフェースの動作モードパラメータと、非接触型通信プロトコルパラメータとを含むルーティングパラメータを保存することにより、送信元ポイントと宛先ポイントの間でデータパスを開くステップと、送信されるべきデータが受信されたデータパスに関して、ルーティングテーブルの中に含まれる動作モードパラメータ、および非接触型通信プロトコルパラメータを使用して、非接触型データ送信/受信インタフェースが、非接触型データ伝送チャネルでデータを送信するように、非接触型データ送信/受信インタフェースを構成するステップとを含む。
【００２５】
一実施形態によれば、ルーティングテーブルは、2つのホストプロセッサ間でデータパスを開くのにも使用される。
【００２６】
一実施形態によれば、方法は、ルーティングテーブルの中の保存されるべきルーティングパラメータと、非接触型データ送信/受信インタフェースを構成するための構成パラメータとを含む、データパスを作成するためのコマンドを提供するステップを含む。
【００２７】
一実施形態によれば、ルーティングテーブルは、ホストプロセッサ内に位置する送信元ポイントを有するデータパスが、作成される、または閉じられると、動的に埋められる、または空にされる。
【００２８】
一実施形態によれば、本方法は、ルーティングテーブルの中に、ホストプロセッサ内に位置する送信元ポイントを有するデータパスを事前保存するステップを含む。
【００２９】
一実施形態によれば、ルーティングテーブルの中に保存される送信元ポイントまたは宛先ポイントは、ホストプロセッサによって実行されるサービスである。
【００３０】
一実施形態によれば、ルーティングテーブルの中に格納されるルーティングパラメータは、宛先ポイントに送信されるデータのコピーを受信しなければならない通知ポイントの識別子も含む。
【００３１】
一実施形態によれば、方法は、ホストプロセッサが、SIMカード集積回路などのセキュア回路であるチップセットにおいて実施される。
【００３２】
また、本発明は、いくつかの動作モードに従って、かつ、いくつかの非接触型通信プロトコルに従って構成可能なRFIDタイプの非接触型データ送信/受信インタフェースと、コントローラと、非接触型データ送信/受信インタフェースを少なくとも2つのホストプロセッサにリンクする少なくとも2つの入力/出力ポートとを含む、データを送信/受信するためのデバイスであって、コントローラは、非接触型データ伝送チャネルを介して非接触型データ送信/受信インタフェースによってデータが受信されると、ホストプロセッサ内の、そのデータの少なくとも1つの宛先ポイントを、宛先ポイントを特定する基準として、そのデータが受信された非接触型データ伝送チャネルを作成するのに非接触型データ送信/受信インタフェースによって使用された動作モードおよび非接触型通信プロトコルを使用して、特定するように構成される、デバイスにも関する。
【００３３】
一実施形態によれば、コントローラは、ルーティングテーブルの中に、非接触型データ送信/受信インタフェース内に位置する送信元ポイントを有するデータパスを保存し、それらのデータパスのそれぞれに関して、宛先ポイントの少なくとも1つの識別子と、非接触型データ送信/受信インタフェースの1つの動作モードパラメータと、1つの非接触型通信プロトコルパラメータとを事前保存し、非接触型データ伝送チャネルを介して非接触型データ送信/受信インタフェースによってデータが受信されると、そのデータが受信された非接触型データ伝送チャネルを作成するのに非接触型データ送信/受信インタフェースによって使用された動作モードパラメータおよび非接触型通信プロトコルパラメータに対応する動作モードパラメータおよび非接触型通信プロトコルパラメータを有するデータパスを、ルーティングテーブルの中で探索することにより、そのデータの少なくとも1つの宛先ポイントを特定するように構成される。
【００３４】
一実施形態によれば、コントローラは、ホストプロセッサ内に位置する送信元ポイントから送信され、非接触型データ送信/受信インタフェース内に位置する宛先ポイントを指定する、データパスを開くためのコマンドに応答して、データパスにルーティングチャネル番号を割り当てること、およびルーティングテーブルの中に、そのルーティングチャネル番号、および送信元ポイントの少なくとも1つの識別子と、宛先ポイントの1つの識別子とを含むルーティングパラメータを保存することにより、送信元ポイントと宛先ポイントの間でデータパスを開き、そのルーティングチャネル番号を含むヘッダフィールドを有するフレームの中にカプセル化されたデータを受信すると、そのルーティングチャネル番号を、宛先ポイントを選択する索引として使用して、ルーティングテーブルの中でデータの宛先ポイントを探索するように構成される。
【００３５】
一実施形態によれば、コントローラは、ホストプロセッサ内に位置する送信元ポイントから送信され、非接触型データ送信/受信インタフェース内に位置する宛先ポイントを指定する、データパスを開くためのコマンドに応答して、データパスにルーティングチャネル番号を割り当てること、およびルーティングテーブルの中に、そのルーティングチャネル番号、および非接触型データ送信/受信インタフェースの動作モードパラメータと、非接触型通信プロトコルパラメータとを含むルーティングパラメータを保存することにより、送信元ポイントと宛先ポイントの間でデータパスを開くように構成され、非接触型データ送信/受信インタフェースは、送信されるべきデータが受信されたデータパスに関して、ルーティングテーブルの中に含まれる動作モードパラメータ、および非接触型通信プロトコルパラメータを使用して、非接触型データ伝送チャネルでデータを送信するように構成される。
【００３６】
一実施形態によれば、コントローラは、2つのホストプロセッサ間でデータパスを開くのにもルーティングテーブルを使用する。
【００３７】
一実施形態によれば、コントローラは、ルーティングパラメータと、非接触型データ送信/受信インタフェースを構成するための構成パラメータとを含む、データパスを作成するためのコマンドを復号化し、ルーティングテーブルの中に、コマンドの中に存在するルーティングパラメータおよび構成パラメータを保存するように構成される。
【００３８】
一実施形態によれば、コントローラは、ホストプロセッサ内に位置する送信元ポイントを有するデータパスが、作成される、または閉じられると、ルーティングテーブルを動的に埋める、または空にするように構成される。
【００３９】
一実施形態によれば、コントローラは、ルーティングテーブルの中に、ホストプロセッサ内に位置する送信元ポイントを有するデータパスを事前保存するように構成される。
【００４０】
一実施形態によれば、ルーティングテーブルの中に保存される送信元ポイントまたは宛先ポイントは、ホストプロセッサによって実行されるサービスである。
【００４１】
一実施形態によれば、ルーティングテーブルの中に格納されるルーティングパラメータは、宛先ポイントに送信されるデータのコピーを受信しなければならない通知ポイントの識別子も含む。
【００４２】
本発明の以上、およびその他の目的、特徴、および利点は、添付の図と関連して与えられる本発明の方法の以下の説明においてより詳細に説明されるが、それらの図に限定されない。
【発明を実施するための最良の形態】
【００４３】
(本発明の第1の態様:ルーティングテーブルの使用に基づいてデータをルーティングするための方法)
図4は、本発明によるルーティング方法の実施を概略で示す。この方法は、「NFCR2」として示されるNFC読み取り装置と、既に前述したホストプロセッサHP1、HP2とを含むNFCチップセットにおいて実施される。読み取り装置NFCR2は、前述した読み取り装置NFCR1と同一のユニットを含み、特に、コントローラNFCCと、アンテナ回路ACTを備えた非接触型データ送信/受信インタフェースCLINTとを含む。簡明にするため、インタフェースCLINTは、3つのプロトコルPTi、すなわち、プロトコルPT1(ISO 14443-Aまたは「ISOA」)、プロトコルPT2(ISO 14443-Bまたは「ISOB」)、およびプロトコルPT3(ISO 15693または「ISO15」)に従ってだけ、データを送信または受信することができるものと想定される。インタフェースCLINTは、3つの前述した動作モードMi、すなわち、M1(「読み取り装置」モード)、M2(「カードエミュレーション」モード)、およびM3(「デバイス」モード)をさらに有する。
【００４４】
チップセットにおけるデータストリームの送信元ポイントまたは宛先ポイントは、P1(ホストプロセッサHP1内に位置するポイント)、P2(ホストプロセッサHP2内に位置するポイント)、およびP3(非接触型インタフェースCLINT内に位置するポイント)で表される。
【００４５】
本発明によれば、NFC読み取り装置のコントローラNFCCは、以下の特性を有するHCI(ホストコンピュータインタフェース)プロトコルのアドミニストレータとして使用される。すなわち、
ルーティングチャネル番号CHANiによってそれぞれが識別されるデータパスが保存される、ルーティングテーブルRTの使用、
データパス(ルーティングチャネル)が管理されることを可能にするコマンドCMD、特に、データパスを開閉するためのコマンドの使用、および
ルーティングチャネル番号CHANiを含む小さなヘッダフィールドと、データフィールド(DATA)とを含むデータフレームDFの使用である。
【００４６】
ルーティングテーブルの中に保存されたデータパスは、少なくとも以下のパラメータによって互いに区別される。すなわち、
CHANi、IDsp、IDdp、Mi、PTiである。
CHANiは、データパスに割り当てられたルーティングチャネル番号であり、IDspは、データパスの送信元ポイントの識別子であり、IDdpは、データパスの宛先ポイントの識別子であり、MiおよびPTiは、非接触型データ伝送チャネルを介してデータを送信または受信するのにインタフェースCLINTによって使用される動作モードおよび非接触型通信プロトコルである。
【００４７】
ルーティングコマンドの例、およびデータフレームの例は、この説明の不可分の一部である付録1で説明される。簡明のため、提供されることが可能なコマンドのすべてを、本明細書で説明することはしない。付録1は、経路を作成するため、経路を変更するため、および経路を削除するための不可欠なコマンド、およびそのようなコマンドに対する応答(確認メッセージまたはエラーメッセージ)を説明する。また、付録1は、有利には、8ビットだけを含む小さいヘッダフィールドを有する、データフレームDFのフォーマットも説明する。
【００４８】
データパスを開くため、閉じるため、または変更するためのコマンドは、ホストプロセッサHP1、HP2のいずれかによって、またはインタフェースCLINTによって送信され、コントローラNFCCによって処理される。それらのコマンドは、問題のデータパスに関して、インタフェースCLINTの動作モードMiおよびプロトコルPTiを指定する。データパスを開くことが、ホストプロセッサHP1またはHP2のいずれかによって要求された場合、コマンドの中に含まれるモードMiおよびプロトコルPTiが、コントローラNFCCによって、データパスを介して受信されるデータを送信するのにインタフェースCLINTが作成しなければならない非接触型通信チャネルに関して、インタフェースCLINTを構成するのに使用される。データパスを開くことが、インタフェースCLINTによって要求された場合、インタフェースCLINTによって送信されたコマンドの中で指定された動作モードMiおよびプロトコルPTiが、情報をもたらし、インタフェースCLINTが、データパスでインタフェースCLINTが伝送することを望むデータを受信した動作モードおよびプロトコル条件を指定する。
【００４９】
データパスの実際の作成は、HCIアドミニストレータ(「HCI ADMIN」)としてのコントローラNFCCによって実行される。データパスを作成するためのコマンド(「経路作成」コマンド)が、受信され、受け付け可能である場合、コントローラNFCCは、ルーティングチャネル番号CHANiをその経路に割り当て、次に、ルーティングテーブルRTの中に、コマンドの中で示されるパラメータIDsp、IDdp、Mi、PTiを書き込み、次に、コマンドを送信したエンティティに、確認メッセージを送信する。
【００５０】
コントローラNFCCによって作成されたルーティングテーブルの例が、この説明の不可分の一部である、付録2のテーブル1によって説明される。このルーティングテーブルは、プロセッサHP1またはHP2のいずれかのプロセッサ内に位置する送信元ポイント(すなわち、送信元ポイントP1またはP2)を有する経路を開くための一連のコマンドを受信した後に、作成される。オプションとして、コントローラは、データパスの中を流れるデータのコピーを受信するように意図される2次受信ポイントを定義することができる。2次受信側または通知ポイントは、データが、他方のホストプロセッサに通知されなければならないデータパスをコントローラに示す通知テーブル(図示せず)を使用してコントローラによって特定される。テーブル1では、静的に提示されるが、ルーティングテーブルは、動的であり、コントローラNFCCによって受信される作成コマンド、変更コマンド、または削除コマンドに応じて、リアルタイムで更新される。
【００５１】
代替の実施形態では、ルーティングテーブルは、静的であり、例えば、ホストプロセッサのいずれかのプロセッサの要求時、およびチップセットがオンにされた際に、コントローラNFCCによって事前保存されている。付録2のテーブル2は、送信元ポイントとして、ホストプロセッサHP1、HP2内に位置するポイントP1またはP2を有する事前保存されたルーティングテーブルの例を説明する。また、チャネル番号CHANiも、可能な各ルーティング構成に関して、テーブルの中に事前保存されることが可能である。そのような事前保存されたテーブルでは、テーブルの各行(1行が、ルーティングチャネルに対応する)の中で、「ビジー」フィールドが、提供される。コントローラNFCCは、「1」という値を「ビジー」フィールドの中に、コントローラNFCCが、対応するデータパスを開いた際に書き込み、データパスを削除するためのコマンドに応答して、「0」という値を書き込む。
【００５２】
また、データフレームの中で受信されるデータの伝送も、コントローラNFCCの制御下にあり、コントローラNFCCは、ルーティングテーブルを参照して、それらのデータの宛先ポイントを特定する。有利には、付録1で説明されるデータフレームのフォーマットで見ることができるとおり、プロセッサにデータを送信する送信元ポイントが、使用されるルーティングチャネルのすべてのパラメータを指定することは必要ない。すなわち、データフレームのヘッダフィールドは、パラメータ化ビットTおよびLと、6チャネル番号ビットだけを含む(63のデータパスが、同時にルーティングされることを可能にし、チャネル「0」は、HCIプロトコルの管理のために確保されている)。
【００５３】
このため、データフレームを受信すると、コントローラNFCCは、ルーティングテーブルの中で指定された宛先ポイントにそのデータを送り返すことを、チャネル番号を、ルーティングテーブルの中でその宛先ポイント(および、場合により、通知ポイントも)を見つける索引として使用して、行う。宛先ポイントが、ポイントP3(インタフェースCLINT)である場合、コントローラNFCCは、インタフェースCLINTが、ルーティングテーブルの中に含まれる非接触型プロトコルPTi情報および動作モードMi情報に従って、非接触型データ伝送チャネルでデータを送信するように、インタフェースCLINTのパラメータを設定する。代替の実施形態では、インタフェースCLINTは、データフレームの中でデータが受信されると、ルーティングテーブルを読み取ることにより、インタフェースCLINTのパラメータを自ら設定する(これは、コントローラNFCCの権限の一部が、インタフェースCLINTに委譲されることを要求する)
【００５４】
このため、本発明の別の利点は、動作モードMiパラメータおよび非接触型通信プロトコルPTiパラメータをデータフレームのヘッダの中に含める必要なしに、ルーティングテーブルが、インタフェースCLINTのパラメータが設定されることを可能にすることである。したがって、本発明によるルーティングテーブルは、その言葉の従来の意味での単純なルーティングテーブルではなく、パラメータ化テーブルも形成する。
【００５５】
付録2のテーブル3は、インタフェースCLINTの要求で作成されるデータパス(P3を送信元ポイントとして有する)を含む動的ルーティングテーブルの例を説明する。プリアンブルで示されるとおり、着信データ(非接触型通信チャネルを介して受信されたデータ)のルーティングによってもたらされる問題は、インタフェースCLINTおよびコントローラNFCCが、それらのデータの受信ホストプロセッサがいずれであるのかを必ずしも知らないことである。その結果、インタフェースCLINTの要求でコントローラNFCCによって、この場合に作成されるルーティングテーブルは、データが、2つのホストプロセッサHP1、HP2内に位置する両方の宛先ポイントP1、P2に送信されなければならないことを示し、そのデータに応答せず、他方のホストプロセッサに、インタフェースCLINTに応答データを送信させておくのは、そのデータにかかわりのないホストプロセッサに任されている。
【００５６】
この場合、ホストプロセッサHP1、HP2のいずれかの要求で、またはインタフェースCLINTの要求で作成されるデータパスは、好ましくは、双方向であることに留意されたい。このため、例えば、モードパラメータM2およびプロトコルPT2によって定義される非接触型通信チャネルでデータを送信するのに、プロセッサHP1内に位置するポイントP1によってデータパスが作成されると、モードM2で、プロトコルPT2に従ってインタフェースCLINTによって受信されたすべてのデータが、そのデータパスで送信され、したがって、ポイントP1によって受信される。また、双方向データパスを提供することは、異なる送信元ポイントおよび/または宛先ポイントを有する2つの双方向パスが、インタフェースCLINTに関して同一のモードMiパラメータ、および同一のプロトコルPTiパラメータを使用するのを防止することにより、競合を管理することを含意することも、当業者には認められよう。例えば、テーブル1によって説明されるルーティングテーブルは、共存することができないデータパス(例えば、チャネル1とチャネル9、これらのデータパスは、例示としてだけ、同一のテーブルの中に記載されている)を表す。
【００５７】
(本発明の第2の態様:非接触型インタフェースのモードパラメータおよびプロトコルパラメータに従って着信データをルーティングすること)
本発明は、この場合、以下の2つの所見に基づく。すなわち、
1)NFCチップセット内に存在するホストプロセッサは、それらのプロセッサの性質(セキュアであるか否か、SIMカードプロセッサまたはベースバンドプロセッサ)、それらのプロセッサの処理能力、およびそれらのプロセッサが含む処理ユニットに起因して、あるアプリケーション、またはあるタイプのアプリケーションに「特化」している。
2)NFCチップセットが管理しなければならない様々なアプリケーションのなかで、各アプリケーション、または各タイプのアプリケーションは、一般に、非接触型データ送信/受信インタフェースCLINTの特定された動作モード、および特定された非接触型通信プロトコル(PT1、PT2、PT3など)に対応する。
【００５８】
その結果、インタフェースCLINTの動作モードMiと、プロトコルPTiとの組合せは、特定のホストプロセッサによって管理されるように意図されるタイプのアプリケーションに対応することが可能である。このことは、図1で見ることができ、図1では、エミュレーションモードのセキュアアプリケーションAP2が、一般に、SIMカード(プロセッサHP2)によって管理されるのに対して、タイプAP3の非セキュアアプリケーション(例えば、ポイントツーポイントファイル転送)は、より高い処理能力のため、および転送のセキュリティ確保の欠如のため、好ましくは、ベースバンドプロセッサによって管理されることを見て取ることができる。さらに、エミュレーションモードのセキュアアプリケーションは、一般に、ISOAプロトコルおよびISOBプロトコルに基づくのに対して、より大きい通信距離を提供するISO 13693モードは、ホストプロセッサHP1によって生じさせられ、プロセッサHP2が、SIMカードである場合、プロセッサHP2によっては生じさせられない非セキュアなアプリケーションを優先的に対象とする。
【００５９】
このため、本発明によれば、着信データルーティング規則は、データが受信される際に従った、インタフェースCLINTの動作モードMi、および非接触型通信プロトコルPTiに従って事前定義される。所定のルーティング規則は、例えば、以下のとおりである(ただし、以下の例には限定されない)。すなわち、
インタフェースCLINTが、ISOA読み取り装置モードでデータを受信した場合、そのデータは、ホストプロセッサHP1に優先的に送信され、ホストプロセッサHP2に通知され、
インタフェースCLINTが、ISOB読み取り装置モードでデータを受信した場合、そのデータは、ホストプロセッサHP1に優先的に送信され、ホストプロセッサHP2に通知され、
インタフェースCLINTが、ISO 15693読み取り装置モードでデータを受信した場合、そのデータは、ホストプロセッサHP2に優先的に送信され、ホストプロセッサHP1には通知されず、
インタフェースCLINTが、ISOAカードエミュレーションモードでデータを受信した場合、そのデータは、ホストプロセッサHP2に優先的に送信され、ホストプロセッサHP1には通知されず、
インタフェースCLINTが、ISOBカードエミュレーションモードでデータを受信した場合、そのデータは、ホストプロセッサHP1に優先的に送信され、ホストプロセッサHP2には通知されず、
インタフェースCLINTが、ISO 15693カードエミュレーションモードでデータを受信した場合、そのデータは、ホストプロセッサHP2だけに通知され、ホストプロセッサHP1には送信されることも、通知されることもなく、
インタフェースCLINTが、ISOA「デバイス」モード(マッチングは、ホストプロセッサHP1によって管理される)でデータを受信した場合、そのデータは、ホストプロセッサHP1に優先的に送信され、ホストプロセッサHP2に通知され、
インタフェースCLINTが、ISOB「デバイス」モードでデータを受信した場合、そのデータは、ブロックされ(アクションなし)、
インタフェースCLINTが、ISO 15693「デバイス」モード(マッチングは、ホストプロセッサHP1によって管理される)でデータを受信した場合、データは、ホストプロセッサHP1に優先的に送信され、ホストプロセッサHP2に通知される。
以上の規則セットにより、着信データルーティングテーブルが、付録2のテーブル4によって説明されるとおり、定義されることが可能になる。このルーティングテーブルは、静的であり、例えば、セキュアプロセッサHP2の要求時、およびNFCチップセットがオンにされた際に、コントローラNFCCによって事前保存される。このテーブルは、リアルタイムで変更されることが可能であることが、理解されよう。
【００６０】
本発明の第2の態様は、以上に説明したばかりの方法による着信データのルーティングが、従来のHCIプロトコルを使用して、すなわち、ルーティングテーブルと、小さいヘッダフィールドを有するデータフレームとを使用することなく、実施されることが可能である限りで、第1の態様とは独立であることが、当業者には認められよう。
【００６１】
(本発明による方法が実施されることを可能にするNFC読み取り装置のハードウェアアーキテクチャおよびソフトウェアアーキテクチャの実施例)
図5は、図4の読み取り装置NFCR2のハードウェアアーキテクチャの実施例を示す。この読み取り装置は、以下を含む。すなわち、
既に説明したコントローラNFCCおよびインタフェースCLINT、
ROMタイプ(読み取り専用メモリ)のプログラムメモリMEM1と、RAMタイプ(ランダムアクセスメモリ)のデータメモリMEM2と、ルーティングテーブルRTが保存されるEEPROMタイプの電気的に消去可能なプログラマブルメモリMEM3とを含むメモリアレイ、
DESアルゴリズムと、ECC(誤り訂正符号)アルゴリズムとを含む認証-誤り訂正回路AUTHCT、
ホストプロセッサHP1が、この場合、接続される、UART(汎用非同期送受信)タイプの接続ポートINT1、
ホストプロセッサHP2が、この場合、接続される(プロセッサHP2は、この場合、SIMカードであるものと想定される)、ISO 7816タイプの接続ポートINT2、
第3のホストプロセッサ、例えば、別のセキュアカードが、接続されることを可能にする、SWP(シングルワイヤプロトコル)タイプの接続ポートINT3、
メモリアレイ、コントローラNFCC、インタフェースCLINT、およびポートINT1、INT2、INT3をリンクするデータバスDTBおよびアドレスバスADB、および
コントローラNFCCが、以上の様々な要素に読み取りおよび/または書き込みの制御およびアクセスを行うことを可能にするコントローラバスCTBである。
【００６２】
インタフェースCLINT、およびポートINT1、INT2、INT3はそれぞれ、データバスおよびアドレスバスを介して書き込みアクセス可能、および読み取りアクセス可能な、パラレル入力を有する入力バッファBUF1と、パラレル出力を有する出力バッファBUF2とを有する。このため、ホストプロセッサHP1、HP2と、コントローラNFCCまたはインタフェースCLINTとの間におけるルーティングコマンドまたはデータフレームを形成するデータの交換は、バッファBUF1、BUF2のサイズのデータブロックによって実行され、コントローラNFCCによってペースが調整される。
【００６３】
図6は、読み取り装置NFCR2およびホストプロセッサHP1、HP2のソフトウェアアーキテクチャの実施例を示す。このソフトウェアアーキテクチャは、チップセットの各要素に関して、最低レベル(データリンクレイヤ)から最高レベル(アプリケーションレイヤ)までに及ぶいくつかのソフトウェアレイヤを含む。図6のそれらのソフトウェアレイヤの表現は、本発明によるNFCチップセットの現実のソフトウェアアーキテクチャと比べて簡略化されているが、本明細書で提案されているように本発明を実施することを所望する当業者には、十分である。
【００６４】
各ホストプロセッサHP1、HP2は、レベルの低い方から高い方の順に、以下の少なくとも4つのソフトウェアレイヤを含む。すなわち、
ホストプロセッサが、コントローラNFCCとデータを交換することができるようにするハードウェア要素の動作を管理する最低レベルレイヤHWML(ハードウェア管理レイヤ)。これは、例えば、プロセッサHP1のためのUARTインタフェースの管理レイヤ、およびプロセッサHP2のためのISO 7816インタフェースの管理レイヤである。
通信ポートINT1、INT2、INT3のプロトコルを管理するINTPL(インタフェースプロトコルレイヤ)レイヤ。これは、例えば、プロセッサHP1のためのUARTプロトコルの管理レイヤ、およびプロセッサHP2のためのISO 7816プロトコルの管理レイヤである。
本発明に従ってHCIプロトコルを管理する、すなわち、前述した、付録1におけるコマンドを生成すること、およびそのようなコマンドに対する応答メッセージを処理することにより、通信チャネルの作成を管理するHCILレイヤ。このレイヤは、このレイヤに実質的にトランスペアレントであるINTPLレイヤおよびHWMLレイヤの上にある。
図2および図4に示されるRFIDアプリケーションのようなRFIDアプリケーション(チップカードまたは電子タグを読み取ること、チップカードのエミュレーション、ファイルを交換する外部プロセッサとの「デバイスツーデバイス」モードの対話など)を管理する高レベルアプリケーションレイヤAPL。このレイヤは、それぞれがセキュアまたは非セキュアであり(プロセッサの内部リソースに応じて)、それぞれが、しかじかのタイプのプロトコルPTiと、インタフェースCLINTのしかじかの動作モードMiとを使用する、いくつかのアプリケーションプログラムを含むことが可能である。このため、この高いレベルのレイヤは、このレイヤに実質的にトランスペアレントである、本発明によるHWMLレイヤ、INTPLレイヤ、およびHCILレイヤの上にある。本発明によるHCILレイヤのおかげで作成されたデータパスを介するデータ転送の迅速さが、有利には、アプリケーションレイヤAPLのパフォーマンスの大幅な向上をもたらす。
【００６５】
本発明による別の有利な態様によれば、ホストプロセッサ内に位置する送信元ポイントP1または宛先ポイントP2は、「サービス」(特定されたアプリケーション)である。それらのサービスはそれぞれ、他のサービスとは独立に、コントローラNFCCに、インタフェースCLINT(前述したとおり、モードおよびプロトコルの衝突を被る)を同時に使用するデータパスを作成するよう求めることができる。このため、このソフトウェアアーキテクチャは、サービスが、データパスの送信元ポイントまたは宛先ポイントとして実施されることを可能にし、2つのエンティティ間で、例えば、2つのホストプロセッサ間、またはホストプロセッサと非接触型データ送信/受信インタフェースの間で、いくつかのデータパスが、同時に作成されることを可能にする。
【００６６】
実質的に同様に、コントローラNFCCは、以下のソフトウェアレイヤを含む。すなわち、
ホストプロセッサ内に存在するレイヤ、HWMLおよびINTPLと同一のタイプの2つのレイヤ、HWML1およびINTPL。図を簡明にするため、それらのレイヤは、プロセッサNFCC内に表されているが、現実には、コントローラの一部と考えられるポートINT1およびINT2、およびバスADB、DTB、CTBに位置する。実際、UARTプロトコルおよび7816プロトコルの処理は、この場合、バスADB、DTB、CTBを介して、入力バッファBUF1および出力バッファBUF2をコントローラに提供する、ポートINT1、INT2において実行される。
データフレームまたはコマンドを、バッファと同一のサイズのデータブロックに分解することにより、コントローラが、バスADB、DTB、CTBを介して、バッファBUF1に書き込むこと、およびバッファBUF2を読み取ることを可能にする別の低いレベルのレイヤ、HWML2。
ルーティングアドミニストレータとして、ホストプロセッサHP1、HP2のHCILレイヤと対話するHCI-ADMIN-LレイヤまたはHCIプロトコル管理レイヤ。したがって、このレイヤは、前述したデータパス割り当てタスクを実行し、低いレベルのレイヤHWML2を介して、ルーティングテーブルRTに読み取りアクセスおよび書き込みアクセスを行う。
インタフェースCLINTを管理し、非接触型通信チャネルでデータを送信するのに、インタフェースCLINTが入らなければならないモードMiと、使用されるべきプロトコルPTiとを示すCLINTCL(非接触型インタフェース制御レイヤ)レイヤ。この目的で、CLINTCLレイヤは、ルーティングテーブルの中に存在するパラメータPTiおよびMiを使用する。より詳細には、HCI-ADMIN-Lレイヤが、データパスを開くためのコマンドに応答して、それらのパラメータをルーティングテーブルの中に書き込むのに対して、CLINTCLレイヤは、ホストプロセッサHP1、HP2によって送信されたデータフレームのチャネル番号を索引として使用して、テーブルの中でそれらのパラメータを探索する。また、このレイヤは、非接触型データ受信モードでインタフェースCLINTを制御して、モード(読み取り装置モード、エミュレーションモード、およびデバイスモード)のスキャンを実行して、各モードで、着信データを探索するよう、インタフェースCLINTに周期的に求める。このことは、インタフェースCLINTが、定期的な間隔で磁界を放射して、インタフェースCLINTのポーリング範囲内に存在する可能性がある非接触型カードまたは非接触型タグ(または非接触の形で動作する他の可搬の物体)にポーリングを行うことを意味する。また、インタフェースCLINTは、定期的な間隔で、リッスンモード(「エミュレーション」モード)に入って、アクティブモードの読み取り装置が、ポーリングメッセージを送信しているかどうかを検出する。
ホストプロセッサと同様に、アプリケーションを独自で管理することができるオプションのレイヤ、APL。実際、これまで、本発明の目的の範囲内に留まるように、説明してこなかったが、アプリケーションは、NFC読み取り装置自体によって扱われることも可能である。そのケースでは、図6に示される実施形態において該当するように、インタフェースCLINTが、INTPLレイヤを備えている場合、本発明によるHCI通信チャネルを介して送ることにより、コントローラNFCCとインタフェースCLINTの間でデータが、通信されることが可能である。
【００６７】
最後に、インタフェースCLINTは、以下のソフトウェアレイヤを含む。すなわち、
コントローラNFCC側で、バスADB、DTB、CTBを介してデータバッファBUF1、BUF2を管理する、コントローラNFCCのレイヤHWML2と均等の、低いレベルのレイヤHWML。
インタフェースCLINTが、本発明によるHCIプロトコルと適合するようにし、本発明のさらなる実施の可能性(特に、インタフェースCLINT自体が、データフレームを生成して、非接触型通信チャネルを介して受信されたデータをホストプロセッサに送信すること)を提供するHCILレイヤ(前述した)。
アンテナ回路ACT側で、動作モードM1、M2、M3、およびプロトコルPT1、PT2、PT3の実施のために、アンテナ回路ACTに印加される、または回路ACTによって受信される電気信号を制御する、または処理するCLPTL(非接触型プロトコルレイヤ)レイヤおよびMCL(モード制御レイヤ)レイヤ。
コントローラ側に位置するレイヤと、アンテナ回路側に位置するレイヤの間で、インタフェースCLINTにおいて定義されるいくつかの送信元ポイントP3または宛先ポイントP3が、ホストプロセッサHP1、HP2のアプリケーションレイヤAPLにおける複数のポイントP1、P2を有するいくつかのデータパスを作成することを可能にする高いレベルのサービスレイヤ、HLSL。この高いレベルのアーキテクチャは、オプションであり、インタフェースCLINT内に実質的に位置する複数のポイントP3は、コントローラNFCCによって管理されることが可能であるものと理解される。
【００６８】
本明細書で、単に例として説明される、コマンドのフォーマット(特に、ビット「T」を取り除き、8ビットのヘッダフィールドを保ちながら、64のルーティングチャネルではなく、124のルーティングチャネルを得ることができる)と、ルーティングテーブルのフォーマットの両方、およびルーティングテーブルの静的管理または動的管理、あるいは同時にその両方に関して、本発明の様々な代替の実施形態が可能であることが、当業者には理解されよう。
【００６９】
(説明の不可分の一部を形成する付録1)
(A/ルーティングコマンドの例)
【００７０】
【表１】
2008022533.tif 000003
【００７１】
(コマンドおよび応答メッセージの例)
【００７２】
【表２】
2008022533.tif 000004
【００７３】
【表３】
2008022533.tif 000005
【００７４】
【表４】
2008022533.tif 000006
【００７５】
【表５】
2008022533.tif 000007
【００７６】
【表６】
2008022533.tif 000008
【００７７】
【表７】
2008022533.tif 000009
【００７８】
(B/データフレームの例)
T=データフレーム、またはデータフレームに対する応答を表す0
L=256バイトのデータのフレームの場合、0
L=64Kバイトのデータの場合、1
DL=バイト単位のデータの長さ
DATA=アプリケーションデータ
CHANi=ルーティングチャネル番号
【００７９】
【表８】
2008022533.tif 000010
【００８０】
【表９】
2008022533.tif 000011
【００８１】
【表１０】
2008022533.tif 000012
【００８２】
【表１１】
2008022533.tif 000013
【００８３】
(説明の不可分の一部を形成する付録2−ルーティングテーブルの例)
【００８４】
【表１２】
2008022533.tif 000014
【００８５】
【表１３】
2008022533.tif 000015
【００８６】
【表１４】
2008022533.tif 000016
【００８７】
【表１５】
2008022533.tif 000017
【図面の簡単な説明】
【００８８】
【図１】NFCチップセットの従来のアーキテクチャ、およびNFCチップセットが対話することができる非接触型回路を示すブロック図である。
【図２】移動電話機に組み込まれたNFCチップセットの様々なアプリケーションを示す図である。
【図３Ａ】図1のNFCチップセット内に存在するNFC読み取り装置の従来のアーキテクチャを示すブロック図である。
【図３Ｂ】NFCチップセットを通過する、様々なアプリケーションに対応するデータストリームを示す図である。
【図４】NFCチップセットにおける本発明によるルーティング方法の実施を示す概略図である。
【図５】図4のチップセット内に存在するNFC読み取り装置のハードウェアアーキテクチャの実施例を示す図である。
【図６】図5のNFC読み取り装置のソフトウェアアーキテクチャの実施例を示す図である。
【符号の説明】
【００８９】
ACT  アンテナ回路
CLINT  非接触型データ送信/受信インタフェース
CMD  コマンド
DF  データフレーム
HP1、HP2  ホストプロセッサ
NFCC  コントローラ
NFCR  読み取り装置
RT  ルーティングテーブル
【図１】
2008022533.tif 000018
【図２】
2008022533.tif 000019
【図３Ａ】
2008022533.tif 000020
【図３Ｂ】
2008022533.tif 000021
【図４】
2008022533.tif 000022
【図５】
2008022533.tif 000023
【図６】
2008022533.tif 000024
【外国語明細書】
2008022533.tif 000025
2008022533.tif 000026
2008022533.tif 000027
2008022533.tif 000028
2008022533.tif 000029
2008022533.tif 000030
2008022533.tif 000031
2008022533.tif 000032
2008022533.tif 000033
2008022533.tif 000034
2008022533.tif 000035
2008022533.tif 000036
2008022533.tif 000037
2008022533.tif 000038
2008022533.tif 000039
2008022533.tif 000040
2008022533.tif 000041
2008022533.tif 000042
2008022533.tif 000043
2008022533.tif 000044
2008022533.tif 000045
2008022533.tif 000046
2008022533.tif 000047
2008022533.tif 000048
2008022533.tif 000049
2008022533.tif 000050
2008022533.tif 000051
2008022533.tif 000052
2008022533.tif 000053
2008022533.tif 000054
2008022533.tif 000055
2008022533.tif 000056
2008022533.tif 000057
2008022533.tif 000058
2008022533.tif 000059
2008022533.tif 000060
2008022533.tif 000061
2008022533.tif 000062
2008022533.tif 000063
2008022533.tif 000064
2008022533.tif 000065
2008022533.tif 000066
2008022533.tif 000067
2008022533.tif 000068
2008022533.tif 000069
2008022533.tif 000070
2008022533.tif 000071
2008022533.tif 000072
2008022533.tif 000073
2008022533.tif 000074