(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-15
(54)【発明の名称】二線式ホストインターフェース
(51)【国際特許分類】
G06F 13/42 20060101AFI20221108BHJP
G06F 13/38 20060101ALI20221108BHJP
G06F 3/00 20060101ALI20221108BHJP
G06K 19/077 20060101ALI20221108BHJP
G06K 19/07 20060101ALI20221108BHJP
【FI】
G06F13/42 310
G06F13/38 320A
G06F3/00 P
G06K19/077 244
G06K19/07 180
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022515872
(86)(22)【出願日】2020-09-11
(85)【翻訳文提出日】2022-03-24
(86)【国際出願番号】 EP2020075474
(87)【国際公開番号】W WO2021048356
(87)【国際公開日】2021-03-18
(32)【優先日】2019-09-11
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】502442681
【氏名又は名称】アイデックス バイオメトリクス エーエスエー
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100212705
【氏名又は名称】矢頭 尚之
(74)【代理人】
【識別番号】100219542
【氏名又は名称】大宅 郁治
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】ワイズ、アドリアン
(72)【発明者】
【氏名】アルワリア、キース
(57)【要約】
第1のデバイス(106)と第2のデバイス(108)とを接続するための二線式インターフェース(300)。二線式インターフェース(300)は、ハンドシェーキングモードとデータ転送モードとで動作可能である。ハンドシェーキングモードで、第1(106)および第2(108)のデバイスがハンドシェーキングシーケンスを実施し得るように、インターフェース(300)の第1のワイヤ(302)は第1のデバイス(106)によって駆動され、インターフェース(300)の第2のワイヤ(304)は第2のデバイス(108)によって駆動される。データ転送モードで、第1のワイヤ(302)および第2のワイヤ(304)のうちの1つは、クロック信号を提供するために第1(106)および第2(108)のデバイスのうちの1つによって駆動され、他のワイヤは、どちらのデバイスがデータを送信しているかに応じて、第1のデバイス(106)または第2のデバイス(108)のいずれかによって駆動される。したがって、二線式インターフェース(300)は、2つのモード(たとえば、ハンドシェーキングモードとデータ転送モードと)で動作可能であり、インターフェース(300)のワイヤ(302、304)のうちの1つは、2つのモードで異なるデバイスによって駆動され得る。
【特許請求の範囲】
【請求項1】
システムであって、
第1のデバイスと、
第2のデバイスと、
前記第1のデバイスを前記第2のデバイスに接続する二線式インターフェースと
を備え、
ハンドシェーキングモードで、前記インターフェースの第1のワイヤが前記第1のデバイスによって駆動され、前記インターフェースの第2のワイヤが前記第2のデバイスによって駆動されるように、前記インターフェースが、前記ハンドシェーキングモードとデータ転送モードとで動作可能であり、
前記データ転送モードで、前記第1のワイヤおよび前記第2のワイヤのうちの1つが、クロック信号を提供するために前記第1のデバイスおよび前記第2のデバイスのうちの1つによって駆動され、他のワイヤが、前記第1のデバイスおよび前記第2のデバイスのどちらがデータを送信しているかに応じて、データを送信するために前記第1のデバイスまたは前記第2のデバイスのいずれかによって駆動される
システム。
【請求項2】
前記第1のデバイスが、コマンド応答ベースの動作を通して前記第2のデバイスを制御するように構成される、請求項1に記載のシステム。
【請求項3】
前記第1のデバイスと前記第2のデバイスの間のコマンド応答シーケンス中、前記第1および第2のデバイスが、少なくとも1回、前記インターフェースをハンドシェーキングモードで動作させることと、前記インターフェースをデータ転送モードで動作させることとの間で遷移させるように、および/または前記インターフェースをハンドシェーキングモードで動作させることと、前記インターフェースをデータ転送モードで動作させることとの間で遷移させるように、構成される、請求項2に記載のシステム。
【請求項4】
前記インターフェースをハンドシェーキングモードで動作させることから前記インターフェースをデータ転送モードで動作させることに遷移させることが、ハンドシェーキングシーケンスの完了によってトリガされる、請求項3に記載のシステム。
【請求項5】
前記第1のデバイスおよび前記第2のデバイスが、前記ハンドシェーキングシーケンスの前記完了後にハンドシェークツーデータしきい値時間量が経過した後でのみ、前記インターフェースをデータ転送モードで動作させるように構成される、請求項4に記載のシステム。
【請求項6】
前記インターフェースをハンドシェーキングモードで動作させることから前記インターフェースをデータ転送モードで動作させることに前記遷移させることが、異なるデバイスに前記第1のワイヤおよび前記第2のワイヤのうちの1つを駆動させるとき、前記第1のワイヤおよび前記第2のワイヤのうちの前記1つを前記ハンドシェーキングモードで駆動する前記デバイスが、前記ハンドシェーキングシーケンスの前記完了後にハンドシェークツー非駆動しきい値時間量が失効した後、前記第1のワイヤおよび前記第2のワイヤのうちの前記1つを駆動することを中止するように構成され得る、請求項5に記載のシステム。
【請求項7】
前記ハンドシェークツー非駆動しきい値が、前記第1のワイヤおよび前記第2のワイヤのうちの前記1つが、前記ハンドシェーキングシーケンスの完了後のある時間期間にわたって、前記第1のデバイスまたは前記第2のデバイスによって駆動されないように、前記ハンドシェークツーデータしきい値未満である、請求項6に記載のシステム。
【請求項8】
前記インターフェースをデータ転送モードで動作させることから前記インターフェースをハンドシェーキングモードで動作させることに遷移させることが、データ転送の完了によってトリガされる、請求項3から7のいずれか一項に記載のシステム。
【請求項9】
前記第1のデバイスおよび前記第2のデバイスが、前記データ転送の前記完了後にデータツーハンドシェークしきい値時間量が経過した後でのみ、前記インターフェースをハンドシェーキングモードで動作させるように構成される、請求項8に記載のシステム。
【請求項10】
前記インターフェースをデータ転送モードで動作させることから前記インターフェースをハンドシェーキングモードで動作させることに前記遷移させることが、異なるデバイスに前記第1のワイヤおよび前記第2のワイヤのうちの1つを駆動させるとき、前記第1のワイヤおよび前記第2のワイヤのうちの前記1つを前記データ転送モードで駆動する前記デバイスが、前記データ転送の前記完了後にデータツー非駆動しきい値時間量が失効した後、前記第1のワイヤおよび前記第2のワイヤのうちの前記1つを駆動することを中止するように構成される、請求項9に記載のシステム。
【請求項11】
前記データツー非駆動しきい値が、前記第1のワイヤおよび前記第2のワイヤのうちの前記1つが、前記データ転送の完了後のある時間期間にわたって、前記第1のデバイスまたは前記第2のデバイスによって駆動されないように、前記データツーハンドシェークしきい値未満である、請求項10に記載のシステム。
【請求項12】
前記第1および第2のデバイスが前記インターフェースをハンドシェーキングモードで動作させているとき、前記第1のデバイスが、前記第1のワイヤ上で第1のハンドシェーキングシーケンスを開始することによって、コマンド応答シーケンスを開始するように構成され、前記第1のハンドシェーキングシーケンスの完了時、前記第1および第2のデバイスが、前記インターフェースを前記データ転送モードで動作させるために遷移するように構成され、ここにおいて、前記第1のデバイスが前記第2のワイヤを駆動する、請求項2から11のいずれか一項に記載のシステム。
【請求項13】
前記第1のハンドシェーキングシーケンスが、
前記第1のデバイスが前記第1のワイヤの状態を第1の状態から第2の状態に駆動することと、
前記第2のデバイスが、前記第1のワイヤが前記第2の状態であることを検出したことに応答して、前記第2のワイヤを前記第1の状態から前記第2の状態に駆動することと、
前記第1のデバイスが、前記第2のワイヤが前記第2の状態であることを検出したことに応答して、前記第1のワイヤを前記第2の状態から前記第1の状態に駆動することと、
前記第2のデバイスが、前記第1のワイヤが前記第1の状態であることを検出したことに応答して、前記第2のワイヤを前記第2の状態から前記第1の状態に駆動することと
を備える、請求項12に記載のシステム。
【請求項14】
前記第2のデバイスが、低電力モードと通常動作モードとで動作可能であり得、前記第1のハンドシェーキングシーケンスを開始することが、前記第2のデバイスを前記低電力モードから前記通常動作モードに遷移させる、請求項12または請求項13に記載のシステム。
【請求項15】
前記第1および第2のデバイスが、各データ転送の後、前記インターフェースをデータ転送モードで動作させることから前記インターフェースをハンドシェーキングモードで動作させることに遷移させるように構成される、請求項3から14のいずれか一項に記載のシステム。
【請求項16】
前記インターフェースがデータ転送モードで動作しているとき、前記第1のワイヤが、前記クロック信号を提供するために前記第1のデバイスによって駆動される、請求項1から15のいずれか一項に記載のシステム。
【請求項17】
前記インターフェースがデータ転送モードで動作しているとき、前記第1のデバイスおよび前記第2のデバイスが、SPIデータ転送を実施するように構成される、請求項1から16のいずれか一項に記載のシステム。
【請求項18】
前記第1のデバイスがマスタデバイスであり、前記第2のデバイスがスレーブデバイスである、請求項1から17のいずれか一項に記載のシステム。
【請求項19】
前記インターフェースがデータ転送モードで動作しているとき、前記第2のワイヤが、前記クロック信号を提供するために前記第2のデバイスによって駆動される、請求項1から15のいずれか一項に記載のシステム。
【請求項20】
前記インターフェースがデータ転送モードで動作しているとき、前記第1のデバイスおよび前記第2のデバイスが、UARTデータ転送を実施するように構成される、請求項1から15および19のいずれか一項に記載のシステム。
【請求項21】
前記インターフェースが、前記第1のデバイスが別のデバイスと通信するために前記インターフェースを使用する外部通信モードでさらに動作可能であり、
前記システムが、第1のモードと第2のモードとで動作可能であり、前記システムが前記第1のモードで動作しているとき、前記インターフェースが前記外部通信モードと前記データ転送モードとで動作可能であり、前記システムが前記第2のモードで動作しているとき、前記インターフェースが、前記ハンドシェーキングモードと前記データ転送モードとで動作可能である
請求項1から15および19から20のいずれか一項に記載のシステム。
【請求項22】
前記インターフェースが前記外部通信モードで動作しているとき、前記第1のデバイスが、ISO7816に従って前記他のデバイスと通信するように構成される、請求項21に記載のシステム。
【請求項23】
前記システムが前記第1のモードで動作しており、前記インターフェースが前記外部通信モードで動作しているとき、前記第2のデバイスが、所定のデータパターンに関するデータを送信するために使用される前記ワイヤを監視し、前記所定のデータパターンを検出したことに応答して、前記インターフェースを前記外部通信モードで動作させることから前記インターフェースを前記データ転送モードで動作させることに遷移させるように構成される、請求項21または請求項22に記載のシステム。
【請求項24】
前記インターフェースが前記外部通信モードで動作しているとき、前記第1のデバイスが、通信プロトコルを使用して前記他のデバイスと通信し、前記所定のデータパターンが、前記通信プロトコルにおいて良性である、請求項23に記載のシステム。
【請求項25】
前記通信プロトコルがISO7816T=0であり、前記所定のデータパターンが、互いの所定時間内に2つのNULLプロシージャバイトを備える、請求項24に記載のシステム。
【請求項26】
前記通信プロトコルがISO7816T=1であり、前記所定のデータパーンが、それに対して前記他のデバイスがRブロックで応答するように構成される、不良に形成されたSブロックである、請求項24に記載のシステム。
【請求項27】
前記第2のデバイスが、前記第1のデバイスと前記第2のデバイスとの間のプライベートチャネルを確立するためのデータを送信するために使用されるインターフェースのワイヤから前記他のデバイスを隔離することによって、前記外部通信モードで動作することから前記データ転送モードで動作するように前記インターフェースを遷移させるように構成される、請求項23から26のいずれか一項に記載のシステム。
【請求項28】
前記インターフェースが前記外部通信モードで動作しているとき、前記クロック信号用に使用される前記ワイヤが、外部クロックから生成されたクロック信号で駆動され、前記第2のデバイスが、クロック信号に対して使用される前記ワイヤを内部クロックから生成されたクロック信号で駆動することによって、前記外部通信モードで動作することから前記データ転送モードで動作するように前記インターフェースを遷移させるようにさらに構成される、請求項27に記載のシステム。
【請求項29】
前記プライベートチャネルが確立されることに続いて、前記第2のデバイスが、前記内部クロックから生成された前記クロック信号の周波数を前記第1のデバイスに通知するように構成される、請求項28に記載のシステム。
【請求項30】
前記システムが前記第2のモードで動作しており、前記インターフェースが前記データ転送モードで動作しているとき、前記第2のデバイスが、データを転送するために使用される前記ワイヤの特定のパターンを検出したことに応答して、前記外部通信モードで動作するように前記インターフェースを遷移させるように構成される、請求項21から29のいずれか一項に記載のシステム。
【請求項31】
前記第2のデバイスが、データを送信するために使用される前記インターフェースの前記ワイヤに前記他のデバイスを再接続することによって、前記外部通信モードで動作するように前記インターフェースを遷移させるように構成される、請求項27を引用する、請求項30に記載のシステム。
【請求項32】
前記第2のデバイスは、前記クロック信号に対して使用される前記ワイヤを前記外部クロックから生成された前記クロック信号で駆動することによって、前記外部通信モードで動作するように前記インターフェースを遷移させるように構成される、請求項28または請求項29を引用する、請求項30または31に記載のシステム。
【請求項33】
前記システムが前記第1のモードで動作しているとき、前記第1のデバイスが、前記他のデバイスと非接触通信中であり、前記システムが前記第2のモードで動作しているとき、前記第1のデバイスが、前記他のデバイスと接触通信中である、請求項21から32のいずれか一項に記載のシステム。
【請求項34】
前記第1のデバイスが、端末と通信するように構成されたチップである、請求項1から33のいずれか一項に記載のシステム。
【請求項35】
前記チップがセキュア要素である、請求項34に記載のシステム。
【請求項36】
前記第2のデバイスが、生体データを感知するための生体センサーを備えた生体モジュールである、請求項1から35のいずれか一項に記載のシステム。
【請求項37】
請求項1から36のいずれか一項に記載のシステムを備えた、デバイス。
【請求項38】
前記デバイスがスマートカードである、請求項37に記載のデバイス。
【発明の詳細な説明】
【背景技術】
【0001】
[0001]スマートカードは、埋込み集積回路チップと内部メモリとを含むデバイスを指し得る。その内部メモリは、集積回路チップ上に位置し得るか、またはカード内に埋め込まれた別個のチップであり得る。スマートカードは、接触カードであり得るか、非接触カードであり得るか、または接触および非接触カードとして動作することが可能であり得る。いくつかのタイプのスマートカードは、バッテリまたは太陽電池などのオンカード電源を含み得る。スマートカードは、プラスチックカード、キーフォブ、時計、ウェアラブル、電子パスポートおよびUSBベースのトークン、ならびにモバイルフォンにおいて使用される加入者識別モジュール(SIM)を含む多種多様なフォームファクタで存在する。
【0002】
[0002]接触カードは、端末(たとえば、カードリーダ)に物理的に接続することによって端末から電力を受け取り、その端末と通信することができる。たとえば、接触カードは、(たとえば、端末内のスロット内にカードを挿入することによって)カードと端末とが好適な物理的な接触をもたらされるときに端末に電気接続性を与える1つまたは複数のコンタクトパッドまたは要素を備え得る。
【0003】
[0003]非接触カードは、端末とカードとの間での直接の物理的な接触なしに端末から電力を受け取り、その端末と通信することができる。一般に、非接触カードは、電波を介して端末と通信する。非接触カードは、端末から放出された無線周波数(RF)信号などの電磁信号を受信するためにアンテナを含み得る。同様に、カードからのデータは、カードのアンテナによって端末に通信して戻され得る。
【0004】
[0004]いくつかの非接触カードは、「パッシブ」である。パッシブカードは、端末によって放出された信号からハーベストされたエネルギーから埋込みチップに電力供給する。放出された信号からエネルギーをハーベストする1つの方法は、放出された信号を受信するときに誘導によってそれの端末にわたって電圧を誘起するコイルとしてアンテナを構成することである。
【0005】
[0005]スマートカード技術は、たとえば、支払いを実施すること、環境の領域へのユーザの物理的なアクセスを許可すること、ユーザのパーソナル識別情報を記憶すること、ユーザを識別または認証することなどのますます多様化する機能を実施するために使用される様々なデバイス内に実装されている。
【0006】
[0006]スマートカードは、セキュリティを増大するためにおよび/またはスマートカードを使用するユーザの体験を改善するために追加構成要素をますます搭載している。たとえば、指紋センサーなどの生体センサーが、ユーザの識別情報の検証または認証を与えるためにスマートカードに搭載されている。同様に、いくつかのスマートカードは、様々な目的のために、たとえば、カードアカウントまたはカードホルダに関連する情報を表示するために、カードの使用中に情報(たとえば、取引ステータス、取引額、ユーザへの命令)を与えるために、(たとえば、ロゴを強調する、カードを個人化するなどのための)装飾およびブランド化のために使用され得るディスプレイスクリーンを採用する。バンクカード上のディスプレイスクリーンの一般的な用途は、カード検証値(CVV)または動的CVV(dCVV)(すなわち、周期的に変化するCVV)を表示することである。
【0007】
[0007]スマートカードがこれらの追加構成要素のうちの1つまたは複数を備える場合、埋込み回路チップが追加構成要素と通信可能であることが望ましいことがある。これは特に、埋込み集積回路チップおよび追加のモジュールによって実施される機能が結合される場合に当てはまることがある。たとえば、スマートカードがそのスマートカードのユーザの識別情報を検証するための生体センサーを備えた生体モジュールを備える場合、埋込み集積回路チップは、ユーザが生体モジュールによって認証されている場合、第1の機能のみを実施し(たとえば、支払いを実施し)得る。この例では、埋込み集積回路チップおよび生体モジュールは、生体通信を交換し得る。
【0008】
[0008]埋込み集積回路チップと追加構成要素(たとえば、生体モジュール)との間の通信は、埋込み集積回路チップと追加構成要素との間の物理インターフェースによって可能にされ得る。物理インターフェースは、埋込み集積回路チップと追加構成要素との間の導体またはワイヤのセットによって実装され得、チップおよび追加構成要素は、通信プロトコルに従って導体またはワイヤを介して通信するように構成され得る。そのようなインターフェースは、概して、少なくとも3本のワイヤを使用して実装されている。そのようなインターフェースの例は、I2C(IC間)インターフェースを実装するための2本のワイヤと、ハンドシェーキングのための2本のワイヤとを使用する、四線式SPI(シリアル周辺インターフェース)または四線式インターフェースを含む。
【0009】
[0009]しかしながら、多くの場合、スマートカードは、追加構成要素(たとえば、生体モジュール)とは別々に製造され、追加構成要素は、製造後にのみスマートカード内に挿入される。具体的には、場合によっては、追加構成要素(たとえば、生体モジュール)が製造後にスマートカードに追加されることを可能にするために、インターフェースの各導体またはワイヤに接続された、露出した接触板またはパッドを備えた、追加構成要素が挿入され得る、カットアウト(または、同様のもの)を備えたスマートカードが製造され得る。追加構成要素(たとえば、生体モジュール)は、次いで、(たとえば、ワイヤ、対応する接触板などを介して)電気的に接続され、カットアウト内に挿入される(たとえば、導電性接着剤によってバインドされる)。しかしながら、概して、インターフェース内のワイヤの数が多ければ多いほど、スマートカードはさらに複雑になり、スマートカードの製造にさらに費用がかかる。さらに、インターフェース内のワイヤの数が多ければ多いほど、接触板またはパッドはさらに小さくなり、接触板またはパッドが小さくなればなるほど、接触板またはパッドと対応する追加モジュール(たとえば、生体モジュール)との間のセキュアで信頼性の高い接続を行うことはさらに困難になる。したがって、インターフェース、およびインターフェースを介して動作し、低減された数の導体またはワイヤを有する、関連する通信プロトコルが望まれる。
【0010】
[0010]以下で説明される実施形態は、例として与えられているにすぎず、知られているスマートカードの欠点のいずれかまたはすべてを解決する実装形態の限定ではない。
【発明の概要】
【0011】
[0011]本発明の概要は、発明を実施するための形態において以下でさらに説明される概念の選択を紹介するために与えられる。本発明の概要は、請求される主題の主要な特徴または本質的特徴を識別するものではなく、請求される主題の範囲を限定するために使用されるものでもない。
【0012】
[0012]本明細書で説明されるのは、2つのデバイスを接続するための二線式インターフェースである。具体的には、本明細書で説明されるのは、第1のデバイスと第2のデバイスとを接続する二線式インターフェースであり、ここにおいて、インターフェースは、ハンドシェーキングモードとデータ転送モードとで動作可能である。ハンドシェーキングモードで、第1および第2のデバイスがハンドシェーキングシーケンスを実施し得るように、インターフェースの第1のワイヤは第1のデバイスによって駆動され、インターフェースの第2のワイヤは第2のデバイスによって駆動される。データ転送モードで、第1のワイヤおよび第2のワイヤのうちの1つは、クロック信号を提供するために第1および第2のデバイスのうちの1つによって駆動され、他のワイヤは、どちらのデバイスがデータを送信しているかに応じて、第1のデバイスまたは第2のデバイスのいずれかによって駆動される。したがって、本明細書で説明される二線式インターフェースは、2つのモード(たとえば、ハンドシェーキングモードとデータ転送モードと)で動作可能であり、インターフェースのワイヤのうちの1つは、2つのモードで異なるデバイスによって駆動され得る。
【0013】
[0013]第1の態様は、第1のデバイスと、第2のデバイスと、第1のデバイスを第2のデバイスに接続する二線式インターフェースとを備えたシステムを提供し、ここにおいて、インターフェースは、ハンドシェーキングモードで、インターフェースの第1のワイヤが第1のデバイスによって駆動され、インターフェースの第2のワイヤが第2のデバイスによって駆動され、データ転送モードで、第1のワイヤおよび第2のワイヤのうちの1つが、クロック信号を提供するために第1のデバイスおよび第2のデバイスのうちの1つによって駆動され、他のワイヤが、第1のデバイスおよび第2のデバイスのうちのどちらがデータを送信しているかに応じて、データを送信するために第1のデバイスまたは第2のデバイスのいずれかによって駆動されるように、ハンドシェーキングモードとデータ転送モードとで動作可能であり得る。
【0014】
[0014]第1のデバイスは、コマンド応答ベースの動作を通して第2のデバイスを制御するように構成され得る。
【0015】
[0015]第1のデバイスと第2のデバイスの間のコマンド応答シーケンス中、第1および第2のデバイスは、少なくとも1回、インターフェースをハンドシェーキングモードで動作させることと、インターフェースをデータ転送モードで動作させることとの間で遷移させるように、および/またはインターフェースをハンドシェーキングモードで動作させることと、インターフェースをデータ転送モードで動作させることとの間で遷移させるように、構成され得る。
【0016】
[0016]インターフェースをハンドシェーキングモードで動作させることからインターフェースをデータ転送モードで動作させることに遷移させることは、ハンドシェーキングシーケンスの完了によってトリガされ得る。
【0017】
[0017]第1のデバイスおよび第2のデバイスは、ハンドシェーキングシーケンスの完了後にハンドシェークツーデータしきい値時間量が経過した後でのみ、インターフェースをデータ転送モードで動作させるように構成され得る。
【0018】
[0018]インターフェースをハンドシェーキングモードで動作させることからインターフェースをデータ転送モードで動作させることに遷移させることが、異なるデバイスに第1のワイヤおよび第2のワイヤのうちの1つを駆動させるとき、第1のワイヤおよび第2のワイヤのうちの1つをハンドシェーキングモードで駆動させるデバイスは、ハンドシェーキングシーケンスの完了後にハンドシェークツー非駆動しきい値時間量が失効した後、第1のワイヤおよび第2のワイヤのうちの1つを駆動することを中止するように構成され得る。
【0019】
[0019]ハンドシェークツー非駆動しきい値は、第1のワイヤおよび第2のワイヤのうちの1つが、ハンドシェーキングシーケンスの完了後のある時間期間にわたって、第1のデバイスまたは第2のデバイスによって駆動されないように、ハンドシェークツーデータしきい値未満であってよい。
【0020】
[0020]インターフェースをデータ転送モードで動作させることからインターフェースをハンドシェーキングモードで動作させることに遷移させることは、データ転送の完了によってトリガされ得る。
【0021】
[0021]第1のデバイスおよび第2のデバイスは、データ転送の完了後にデータツーハンドシェークしきい値時間量が経過した後でのみ、インターフェースをハンドシェーキングモードで動作させるように構成され得る。
【0022】
[0022]インターフェースをデータ転送モードで動作させることからインターフェースをハンドシェーキングモードで動作させることに遷移させることが、異なるデバイスに第1のワイヤおよび第2のワイヤのうちの1つを駆動させるとき、第1のワイヤおよび第2のワイヤのうちの1つをデータ転送モードで駆動するデバイスは、データ転送の完了後にデータツー非駆動しきい値時間量が失効した後、第1のワイヤおよび第2のワイヤのうちの1つを駆動することを中止するように構成され得る。
【0023】
[0023]データツー非駆動しきい値(data-to-undriven threshold)は、第1のワイヤおよび第2のワイヤのうちの1つが、データ転送の完了後のある時間期間にわたって、第1のデバイスまたは第2のデバイスによって駆動されないように、データツーハンドシェークしきい値未満である。
【0024】
[0024]第1および第2のデバイスがインターフェースをハンドシェーキングモードで動作させているとき、第1のデバイスは、第1のワイヤ上で第1のハンドシェーキングシーケンスを開始することによって、コマンド応答シーケンスを開始するように構成され得、第1のハンドシェーキングシーケンスの完了時、第1のおよび第2のデバイスは、インターフェースをデータ転送モードで動作させるために遷移するように構成され、ここにおいて、第1のデバイスは第2のワイヤを駆動する。
【0025】
[0025]第1のハンドシェーキングシーケンスは、第1のデバイスが第1のワイヤの状態を第1の状態から第2の状態に駆動することと、第2のデバイスが、第1のワイヤが第2の状態にあることを検出したことに応答して、第2のワイヤを第1の状態から第2の状態に駆動することと、第1のデバイスが、第2のワイヤが第2の状態にあることを検出したことに応答して、第1のワイヤを第2の状態から第1の状態に駆動することと、第2のデバイスが、第1のワイヤが第1の状態にあることを検出したことに応答して、第2のワイヤを第2の状態から第1の状態に駆動することとを備え得る。
【0026】
[0026]第2のデバイスは、低電力モードと通常動作モードとで動作可能であり得、第1のハンドシェーキングシーケンスを開始することは、 第2のデバイスを低電力モードから通常動作モードに遷移させる。
【0027】
[0027]第1および第2のデバイスは、各データ転送の後、インターフェースをデータ転送モードで動作させることからインターフェースをハンドシェーキングモードで動作させることに遷移させるように構成され得る。
【0028】
[0028]インターフェースがデータ転送モードで動作しているとき、第1のワイヤは、クロック信号を提供するために第1のデバイスによって駆動され得る。
【0029】
[0029]インターフェースがデータ転送モードで動作しているとき、第1のデバイスおよび第2のデバイスは、SPIデータ転送を実施するように構成され得る。
【0030】
[0030]第1のデバイスはマスタデバイスであってよく、第2のデバイスはスレーブデバイスであってよい。
【0031】
[0031]インターフェースがデータ転送モードで動作しているとき、第2のワイヤは、クロック信号を提供するために第2のデバイスによって駆動される。
【0032】
[0032]インターフェースがデータ転送モードで動作しているとき、第1のデバイスおよび第2のデバイスは、UARTデータ転送を実施するように構成され得る。
【0033】
[0033]インターフェースは、第1のデバイスが別のデバイスと通信するためにそのインターフェースを使用する外部通信モードでさらに動作可能であり得、システムは、第1のモードと第2のモードとで動作可能であり得、システムが第1のモードで動作しているとき、インターフェースは、外部通信モードとデータ転送モードとで動作可能であり、システムが第2のモードで動作しているとき、インターフェースは、ハンドシェーキングモードとデータ転送モードとで動作可能である。
【0034】
[0034]インターフェースが外部通信モードで動作しているとき、第1のデバイスは、ISO7816に従って他のデバイスと通信するように構成され得る。
【0035】
[0035]システムが第1のモードで動作しており、インターフェースが外部通信モードで動作しているとき、第2のデバイスは、所定のデータパターンに関するデータを送信するために使用されるワイヤを監視し、所定のデータパターンを検出したことに応答して、インターフェースを外部通信モードで動作させることからインターフェースをデータ転送モードで動作させることに遷移させるように構成され得る。
【0036】
[0036]インターフェースが外部通信モードで動作しているとき、第1のデバイスは、通信プロトコルを使用して他のデバイスと通信することができ、所定のデータパターンは、その通信プロトコルにおいて良性(benign)であり得る。
【0037】
[0037]通信プロトコルはISO7816T=0であってよく、所定のデータパターンは、互いの所定時間内に2つのNULLプロシージャバイト(procedure bytes)を備え得る。
【0038】
[0038]通信プロトコルはISO7816T=1であってよく、所定のデータパーンは、それに対して他のデバイスがRブロックで応答するように構成される、不良に形成されたSブロック(a badly formed S-block)であってよい。
【0039】
[0039]第2のデバイスは、第1のデバイスと第2のデバイスとの間のプライベートチャネルを確立するためのデータを送信するために使用されるインターフェースのワイヤから他のデバイスを隔離することによって、外部通信モードで動作することからデータ転送モードで動作するようにインターフェースを遷移させるように構成され得る。
【0040】
[0040]インターフェースが外部通信モードで動作しているとき、クロック信号に対して使用されるワイヤは外部クロックから生成されたクロック信号で駆動され、第2のデバイスは、クロック信号に対して使用されるワイヤを内部クロックから生成されたクロック信号で駆動することによって、外部通信モードで動作することからデータ転送モードで動作する用にインターフェースを遷移させるようにさらに構成され得る。
【0041】
[0041]プライベートチャネルが確立されることに続いて、第2のデバイスは、内部クロックから生成されたクロック信号の周波数を第1のデバイスに通知するように構成され得る。
【0042】
[0042]システムが第2のモードで動作しており、インターフェースがデータ転送モードで動作しているとき、第2のデバイスは、データを転送するために使用されるワイヤの特定のパターンを検出したことに応答して、外部通信モードで動作するようにインターフェースを遷移させるように構成され得る。
【0043】
[0043]第2のデバイスは、データを送信するために使用されるインターフェースのワイヤに他のデバイスを再接続することによって、外部通信モードで動作するようにインターフェースを遷移させるように構成され得る。
【0044】
[0044]第2のデバイスは、クロック信号に対して使用されるワイヤを外部クロックから生成されたクロック信号で駆動することによって、外部通信モードで動作するようにインターフェースを遷移させるように構成され得る。
【0045】
[0045]システムが第1のモードで動作しているとき、第1のデバイスは、他のデバイスと非接触通信中であり得、システムが第2のモードで動作しているとき、第1のデバイスは、他のデバイスと接触通信中であり得る。
【0046】
[0046]第1のデバイスは、端末と通信するように構成されたチップであってよい。
【0047】
[0047]チップは、セキュア要素とすることができる。
【0048】
[0048]第2のデバイスは、生体データを感知するための生体センサーを備えた生体センサーモジュールとすることができる。
【0049】
[0049]第2の態様は、第1の態様のシステムを備えたデバイスを提供する。
【0050】
[0050]デバイスはスマートカードであってよい。
【0051】
[0051]本明細書で説明される方法を実施するためのコンピュータプログラムコードが提供され得る。コンピュータシステムにおいて実行されたとき、コンピュータシステムに、本明細書で説明される方法を実施させるコンピュータ可読命令を記憶した非一時的コンピュータ可読記憶媒体が提供され得る。
【0052】
[0052]上記の特徴は、当業者には明らかであるように、適宜に組み合わされ得、本明細書で説明される例の態様のいずれかと組み合わされ得る。
【0053】
[0053]例について、添付の図面を参照しながら詳細に説明する。
【図面の簡単な説明】
【0054】
【
図1】[0054]端末との非接触または接触通信が可能な第1の例示的なデバイスのブロック図、ここにおいて、デバイスは、インターフェースによって接続されたチップおよび生体モジュールを備える。
【
図2】[0055]
図1の生体モジュールの例示的な実装形態のブロック図。
【
図3】[0056]
図1のインターフェースの第1の例示的な実装形態の概略図。
【
図4】[0057]例示的なコマンド応答シーケンスとモード遷移の例示的なセットとを示す概略図。
【
図5】[0058]その後に、チップがデータを送信している、データ転送モードへの遷移が続く、例示的なハートビートハンドシェーキングシーケンスを示すタイミング図。
【
図6】[0059]その後に、チップがデータを送信している、データ転送モードへの遷移が続く、例示的なレディ(ready)ハンドシェーキングシーケンスを示すタイミング図。
【
図7】[0060]その後に、生体モジュールがデータを送信している、データ転送モードへの遷移が続く、例示的なレディハンドシェーキングシーケンスを示すタイミング図。
【
図8】[0061]その後に、ハンドシェーキングモードへの遷移が続く、例示的なチップデータ転送を示すタイミング図。
【
図9】[0062]その後に、ハンドシェーキングモードへの遷移が続く、例示的な生体モジュール転送を示すタイミング図。
【
図10】[0063]
図1のインターフェースの第2の例示的な実装形態の概略図。
【
図11】[0064]第1の例示的なコマンド応答シーケンスおよび第1の例示的なモード遷移セットを示す概略図。
【
図12】[0065]第2の例示的なコマンド応答シーケンスおよび第2の例示的なモード遷移セットを示す概略図。
【
図13】[0066]チップがデータを送信しているデータ転送モードへの遷移によって続く、例示的なハートビートハンドシェーキングシーケンスを示すタイミング図。
【
図14】[0067]その後に、チップがデータを送信しているデータ転送モードへの遷移が続く、例示的なレディハンドシェーキングシーケンスを示すタイミング図。
【
図15】[0068]その後に、生体モジュールがデータを送信しているデータ転送モードへの遷移が続く、例示的なレディハンドシェーキングシーケンスを示すタイミング図。
【
図16】[0069]その後に、ハンドシェーキングモードへの遷移が続く、例示的なチップデータ転送を示すタイミング図。
【
図17】[0070]その後に、ハンドシェーキングモードへの遷移が続く、例示的な生体モジュールデータ転送を示すタイミング図。
【
図18】[0071]端末との非接触または接触通信が可能な第2の例示的なデバイスのブロック図、ここにおいて、デバイスは、インターフェースによって接続されたチップと生体モジュールとを備える。
【
図19】[0072]外部通信モードからデータ転送モードへの遷移をトリガするための第1の例示的なコマンドを示すタイミング図。
【
図20】[0073]外部通信モードからデータ転送モードへの遷移をトリガするための第2の例示的なコマンドを示すタイミング図。
【発明を実施するための形態】
【0055】
[0074]添付の図面は様々な例を示す。図面中で図示された要素境界(たとえば、ボックス、ボックスのグループ、または他の形状)が境界の一例を表すことを、当業者は諒解されよう。いくつかの例では、1つの要素が複数の要素として設計され得るかもしれず、または複数の要素が1つの要素として設計され得るかもしれない。共通の参照番号が、適切な場合、同様の特徴を示すために図全体にわたって使用される。
【0056】
[0075]以下の説明は、例として、いかなる当業者でも本発明を製作および使用することができるように提示される。本発明は、本明細書で説明される実施形態に限定されず、開示する実施形態に様々な修正が当業者には明らかになろう。実施形態は単に例として説明される。
【0057】
[0076]上で説明されたように、スマートカードの埋込み集積回路チップとスマートカードの別の構成要素(たとえば、生体モジュール)との間の既知のインターフェース内の多数のワイヤは、スマートカードのコストと複雑性とを高め、接触パッドと他の構成要素(たとえば、生体モジュール)との間のセキュアで信頼性の高い接続を困難にする小型の接触パットを生じさせる。したがって、インターフェースと、インターフェースを介して動作し、より少数の導体またはワイヤを有する、関連する通信プロトコルとが望まれる。
【0058】
[0077]したがって、本明細書で説明されるのは、2つのデバイスを接続するための、二線式インターフェースと関連する通信プロトコルとである。具体的には、本明細書で説明されるのは、第1のデバイスと第2のデバイスとを接続するための二線式インターフェースであり、ここにおいて、インターフェースは、ハンドシェーキングモードとデータ転送モードとで動作可能である。ハンドシェーキングモードで、第1および第2のデバイスがハンドシェーキングシーケンスを実施し得るように、インターフェースの第1のワイヤは第1のデバイスによって駆動され、インターフェースの第2のワイヤは第2のデバイスによって駆動される。データ転送モードで、第1のワイヤおよび第2のワイヤのうちの1つは、クロック信号を提供するために第1および第2のデバイスのうちの1つによって駆動され、他のワイヤは、どちらのデバイスがデータを送信しているかに応じて、第1のデバイスまたは第2のデバイスのいずれかによって駆動される。
【0059】
[0078]たとえば、データ転送モードで、第1のワイヤは、クロック信号を提供するために第1のデバイスによって駆動され得、第2のワイヤは、どちらのデバイスがデータを送信しているかに応じて、第1のデバイスまたは第2のデバイスのいずれかによって駆動され得る(たとえば、第2のワイヤは、第1のデバイスがデータを送信しているとき、第1のデバイスによって駆動され得、第2のワイヤは、第2のデバイスがデータを送信しているとき、第2のデバイスによって駆動され得る)。別の例では、データ転送モードで、第2のワイヤは、クロック信号を提供するために第2のデバイスによって駆動され得、第1のワイヤは、どちらのデバイスがデータを送信しているかに応じて、第1のデバイスまたは第2のデバイスのいずれかによって駆動され得る。したがって、データ転送モードで、データワイヤは半二重であり、すなわち、第1のデバイスまたは第2のデバイスのいずれかが、データワイヤ上でデータを送信し得るが、これらが両方とも同時に送信することはできない。
【0060】
[0079]データ転送モードでのクロック信号の機能は、データ転送を実施するために使用される通信プロトコルに応じて異なり得る。具体的には、データ転送がSPIプロトコルなどの同期通信プロトコルに従って実施されるとき、クロック信号は、送信機によるデータワイヤに関するデータの出力、および受信機によるデータワイヤのサンプリングをトリガするために使用され得る。たとえば、SPIプロトコルにおいて、クロック信号の立上がりエッジ(または、立下りエッジ)は、データの出力および入力データのサンプリングをトリガする。対照的に、データ転送が、ISO7816 UARTプロトコルなど、非同期通信プロトコルに従って実施されるとき、クロック信号は異なる目的を有し得る。たとえば、ISO7816 UARTでは、クロック信号は、送信機と受信機との間のシリアル入出力(I/O)に対するボーレートクロックを導出するために使用される共通基準クロックにすぎない。
【0061】
[0080]したがって、本明細書で説明される二線式インターフェースは、2つのモード(たとえば、ハンドシェーキングモードとデータ転送モードと)で動作可能であり、インターフェースのワイヤのうちの1つは、2つのモードで異なるデバイスによって駆動され得る。言い換えれば、ワイヤのうちの1つは、2つのモードで方向が変更され得る。たとえば、ワイヤのうちの1つは、1つのモード(たとえば、ハンドシェーキングモード)で、第1のデバイスに対する入力であり、第2のデバイスの出力であることから、他のモード(たとえば、データ転送モード)で、第1のデバイスの出力であり、第2のデバイスの入力であることに変更され得る。
【0062】
[0081]ハンドシェーキングモードは、デバイスが必要とされないとき、第1および/または第2のデバイスが低電力モードで動作することを可能にし得る。たとえば、第1のデバイスがコマンド応答ベースの動作を通して第2のデバイスの動作を制御する場合、第2のデバイスは、第2のデバイスがコマンドを実行すること(たとえば、生体認証を実施すること)を第1のデバイスが望むまで、低電力モードで動作し得る。これらの場合、第1のデバイスは、ハンドシェーキングシーケンスを介してそれが必要とされることを第2のデバイスに知らせることができる。ハンドシェーキングシーケンスの検出は、それの低電力モードから通常動作モードに第2のデバイスをウェイクさせ得る。同様に、第1のデバイスは、第2のデバイスが第1のデバイスによって発行されたコマンドを実行する間、低電力モードに入ることが可能である。これらの場合、第2のデバイスは、第2のデバイスがハンドシェーキングシーケンスを介してコマンドの実行を完了したことを第1のデバイスに通知し得る。第1のデバイスによるハンドシェーキングシーケンスの検出は、それの低電力モードから通常動作モードに第1のデバイスをウェイクさせ得る。これは、たとえば、以下でより詳細に説明されるように、第1および第2のデバイスが、端末からワイヤレスに受け取られる電力が制限されるように、端末と非接触モードで動作しているスマートカードの部分を形成するときに、特に有用である。
【0063】
[0082]ハンドシェーキングモードは、データ転送のために使用される通信プロトコルに応じて、または代替的に、第1のデバイスから第2のデバイスにデータを送信するために、および第2のデバイスから第1のデバイスにデータを送信するために、単一のデータワイヤが使用されることを可能にし得る。具体的には、通信プロトコルが、SPIプロトコルなど、1つである場合、各デバイスが、単一のデータワイヤに対する電気競合があり得るように、概して、データ送信のためにそれ自体の専用ワイヤ、すなわち、第1のデバイスから第2のデバイスにデータを送信するための1本のワイヤと、第2のデバイスから第1のデバイスにデータを送信するための別個のワイヤとを有する場合、ハンドシェーキングモードは、データワイヤが異なるデバイスによっていつ駆動されることになるかをシグナリングするかまたは示すために使用され得る。これは、どのデバイスがデータワイヤを駆動するかに関して何の競合も存在しない、ISO7816 UARTなど、他の通信プロトコルにおいては課題でないことがある。
【0064】
[0083]ハンドシェーキングモードは、また、または代替的に、受信機が、データが送られる前にそのデータを受信する準備が明確にできていることをデータの送信機に通知するために使用され得る。これは、デバイスが低電力状態であり得、データがそこに送信される前に低電力状態からウェイクアップされる場合、特に重要であり得る。これは、デバイスを低電力モードから完全にアウェイクさせるための時間は異なることがあり、一度アウェイクされ、通常動作モードで動作する場合ですら、利用可能な電力量が低い場合、デバイスはゆっくりと動作することがあるためである。したがって、受信機がデータを受信する準備ができていることを検証するためにハンドシェーキング信号を使用しない場合、受信機の準備ができていなかったために、データの一部がドロップされ得るリスクが存在する。
【0065】
[0084]下記で説明される例では、埋込み集積回路チップと、端末(たとえば、カードリーダ)と通信することが可能なデバイス(たとえば、スマートカード)の生体モジュールとの間の通信のために、二線式インターフェースが使用される。しかしながら、埋込み集積回路チップおよび生体モジュールは、説明される二線式インターフェースを使用して通信し得る例示的な第1および第2のデバイスにすぎず、本明細書で説明される二線式インターフェースは、任意の2つのデバイス同士の間の通信のために使用され得ることは当業者に明らかになろう。
【0066】
[0085]次に、第1の機能を実施するために接触または非接触インターフェースを介して端末102と通信することが可能な例示的なデバイス100を示す
図1を参照する。
【0067】
[0086]デバイス100および端末102は、多くのフォームファクタのうちの1つを取り得る。デバイス100は、たとえば、スマートカード、IDカード、パスポート、フォブ、ドングル、セキュリティトークン(たとえば、USBトークン)などであり得る。代替的に、デバイス100は、モバイルフォンまたはスマートフォンなどの通信デバイス、ブレスレット、時計、手袋、ピン(たとえば、ブローチ)、バッジまたは何らかの他の非接触ウェアラブルデバイスなどのウェアラブルデバイスに統合され得る。端末102は、たとえば、ポイントオブセール(POS)端末などのカードリーダ、キャッシュレジスタ、ATM機械、コンピュータ、スマートフォンなどであり得る。いくつかの例では、デバイスは、近接型集積回路カード(PICC)であり得、端末は、近接型結合デバイス(PCD)であり得る。
【0068】
[0087]デバイス100は、アンテナ104と、チップ106と、生体モジュール108と、1つまたは複数の接触要素110とを備える。チップ106は、デバイス100内に埋め込まれ、たとえば、セキュア要素であり得る。生体モジュール108はまた、デバイス100内に埋め込まれ得る。この例では、生体モジュール108は、チップ106とは物理的に別個の構成要素である。チップ106および生体モジュール108の各々は、デバイス100中に埋め込まれたそれぞれの集積回路チップ上に実装され得る。生体モジュール108およびチップ106は、112に概して示されている二線式インターフェースによって互いに接続される。二線式インターフェースの例示的な実装形態が以下で説明される。
【0069】
[0088]デバイス100は、デバイス100が非接触モードで動作しているときはアンテナ104を通して、接触モードで動作しているときは接触要素110を通して、端末102と通信する(たとえば、端末にメッセージを送信し、および/または端末からメッセージを受信する)。単一の接触要素110が
図1に示されているが、他の例では、複数の接触要素があり得る。
【0070】
[0089]接触要素110は、限定されないが、1つまたは複数の導電リンクまたは要素などの任意の好適な手段によってチップ106に接続される。接触要素110により、デバイス100は、接触要素110が端末102の対応する要素と好適に物理的接触しているときに端末102と通信することおよびそれから電力を受け取ることが可能になる。したがって、デバイス100が接触モードで動作しているとき、チップ106は、接触要素110を介して端末102から電力を受け取る。場合によっては、デバイス100は、接触モードで動作しているときにISO7816規格に従って端末102と通信し得る。
【0071】
[0090]
図1に示されている例では、生体モジュール108も接触要素110から電力を受け取ることができるように、接触要素110は生体モジュール108にも接続される。しかしながら、他の例では、チップ106が、接触モードで動作しているときに端末102から電力を受け取り、受け取った電力をそれの内部要素に電力供給し、生体モジュール108に電力を供給するように管理するように、接触要素110は、チップ106にしか接続されないことがある。
【0072】
[0091]同様に、アンテナ104は、限定されないが、1つまたは複数の導電リンクまたは要素などの任意の好適な手段によってチップ106に接続される。アンテナ104により、デバイス100は、デバイス100が端末102の好適な近接または範囲内にあるときに端末102とワイヤレス通信することおよびそれから電力をハーベストすることが可能になる。具体的には、チップ106は、電力ハーベスティングユニット114と、トランシーバモデム116と、電力管理ユニット118と、接触インターフェース回路120とを備える。場合によっては、アンテナ104はまた、たとえば、限定されないが、導電リンクまたは要素などの物理リンクによって生体モジュール108に接続され得る。これらの場合、生体モジュール108は、受信されたワイヤレス信号から電力をハーベストするためにそれ自体の電力ハーベスティングユニットを備える。しかしながら、他の場合には、アンテナ104は、チップ106にしか接続されないことがあり、チップ106は、受信されたワイヤレス信号からハーベストされた電力をチップ106と生体モジュール108とに分配するように構成され得る。
【0073】
[0092]電力ハーベスティングユニット114は、デバイス100が非接触モードで動作しているときにアンテナ104によって受信される、端末102によって放出されたワイヤレス信号から電力をハーベストするように構成される。電力ハーベスティングユニット114は、たとえば、端末102によって放出された受信信号から電圧を誘起し得る。その誘起された電圧は、チップ106および生体モジュール108の他の構成要素に供給され得る。端末102から放出されるワイヤレス信号は、無線通信規格によって定められた無線周波数(RF)信号であり得る。一例では、ワイヤレス信号は、ニアフィールド通信(NFC)信号であり得る。
【0074】
[0093]トランシーバモデム116は、デバイス100が非接触モードで動作しているときに端末102へのメッセージの送信およびそれからのメッセージの受信を管理するように構成される。具体的には、端末102は、それが転送することを望むデータをもつキャリア信号を変調すること(たとえば、振幅変調すること)によってデバイス100にデータを転送するように構成され得る。これらの場合、モデム116は、受信信号を復調すること(たとえば、それの振幅を復調すること)によって受信されたワイヤレス信号からデータを抽出するように構成され得る。
【0075】
[0094]同様に、モデム116は、端末から放出されたワイヤレス信号上にチップ106によって生成されたデータを変調することによって端末にメッセージを転送するように構成され得る。場合によっては、モデム116は、アンテナ104に変調された負荷を適用することによって受信信号を変調するように構成され得る。デバイスにおいてアンテナ負荷を変調することは、変調により受信信号から引き出される電力を変化させる。引き出された電力の変動は、端末102によって検出され、データとして解釈され得る。
【0076】
[0095]電力管理ユニット(PMU)118は、チップ106によって(非接触モードで電力ハーベスティングユニット114によってハーベストされたかまたは接触モードで接触要素110を通して供給されたかのいずれかの)電力の使用を管理または制御するように構成される。PMU118は、それらのタスクを実施するためにチップ106の他の構成要素によって消費される電力を制御し得る。生体モジュール108がアンテナ104または接触要素110に接続されない場合において、PMUはまた、端末102から受け取ったまたはそこからハーベストされた電力の生体モジュール108への供給を制御し得る。
【0077】
[0096]チップ106は、接触モードで動作しているときの端末102へのメッセージの送信と、それからのメッセージの受信とを管理する接触インターフェース回路120をさらに備える。接触インターフェース回路120は、デバイス100が接触モードで動作しているときにチップ106と端末102との間の通信が任意の関連規格(たとえば、ISO7816規格)を満足させることを保証するように構成され得る。
【0078】
[0097]生体モジュール108は、ユーザの生体データに基づいて、ユーザの生体認証を実施するように構成される。具体的には、生体モジュール108は、生体センサー122を備える。生体センサー122は、ユーザを生物測定学的に識別または認証するために使用され得るユーザの生体データをキャプチャするように構成される。生体センサー122から取得された生体データに基づく生体認証は、生体モジュール108および/またはチップ106によって実施され得る。生体モジュール108および/またはチップ106によって実施され得る例示的な生体識別情報は、限定されないが、指紋認識、虹彩認識、静脈認識、網膜認識、音声認識、行動認識、顔認識などを含む。場合によっては、生体認証は、チップ106によって実施される第1の機能の一部としてまたはそれと併せて実施され得る。たとえば、場合によっては、生体認証は、チップ106からの生体認証を実施したいという要求に応答して、生体モジュール108によって実施され得る。
【0079】
[0098]これは、端末と通信することができるデバイスの一例にすぎず、他の例では、デバイスが非接触モードでしか動作することできないように、デバイスは接触要素と接触インターフェース回路とを備えないことがあり、またはデバイスが接触モードでしか動作することができないように、デバイスは、アンテナと、電力ハーベスティングユニットと、トランシーバモデムとを備えないことがあることが、当業者には明白であろう。
【0080】
[0099]次に、
図1の生体モジュール108の例示的な実装形態を示す
図2を参照する。上で説明されたように、生体モジュール108は、デバイス100のユーザを生体測定的に識別または認証するように構成される。生体モジュール108は、電力管理ユニット202と、制御ユニット204と、生体コントローラ206と、生体センサー122とを備える。場合によっては、(たとえば、チップ106と生体モジュール108とが共にアンテナ104に接続されるアーキテクチャをデバイス100が採用するとき)生体モジュール108はまた、電力ハーベスティングユニット208を備え得る。生体モジュール108の構成要素は、任意の好適な手段を介して(たとえば、個々の通信リンクを介してまたは構成要素のうちの1つまたは複数に共通であるバスを介して)相互接続され得る。
【0081】
[00100]本明細書で説明される例では、生体モジュール108は、それ自体の電源または電源装置を有さず、それぞれ接触要素110またはアンテナ104から直接受け取られるか、またはチップ106を介して受け取られ得る、デバイス100が接触モードで動作するときは接触要素110から、デバイス100が非接触モードで動作するときはアンテナ104から受け取った電力に依拠する。したがって、電力管理ユニット202は、デバイス100が接触モードで動作しているときは接触要素から、デバイス100が非接触モードで動作しているときは(生体モジュール108がそれを有する場合は)電力ハーベスティングユニット208から、および/またはチップ106から電力を受け取り得、生体モジュール108の構成要素への電力の分配を管理または制御する。場合によっては、デバイス100が非接触モードで動作しているとき、電力管理ユニット202は、電力ハーベスティングユニット208によってハーベストされた電力から整流電圧を受け取る。
【0082】
[00101]電力管理ユニット202は、制御ユニット204と、生体コントローラ206と、生体センサー122との各々に物理的に相互接続され得る。これにより、電力管理ユニット202は、これらの構成要素の各々に供給される電力を別々に制御することが可能になる。生体モジュール108内への電力管理ユニット202の包含により、生体モジュール108は、チップ106とは無関係にそれの内部要素の各々の電力消費量を制御することも可能になる。
【0083】
[00102]生体センサー122は、ユーザを識別または認証するために使用され得るユーザの生体データをキャプチャするように構成される。いくつかの例では、生体センサー122は、生体ソースの画像をキャプチャすることによって生体データをキャプチャし得る。生体センサー122は、たとえば、指紋センサー(片面または両面センサー)、網膜センサー、虹彩センサー、静脈センサー、顔センサー、または音声/オーディオセンサーなどであり得る。
【0084】
[00103]生体コントローラ206は、生体センサー122の動作を制御するように構成される。生体コントローラ206は、たとえば、センサーが生体データ(たとえば、指紋パターン、網膜パターン、虹彩パターンなど)をキャプチャする収集モードに入るように生体センサー122に命令するように構成され得る。生体コントローラ206は、生体センサー122によってキャプチャされた任意のデータを受信し、キャプチャされたデータを制御ユニット204に与え得る。場合によっては、生体コントローラ206は、収集状態と低電力状態とを含む複数の状態間で生体センサー122を遷移させることも可能であり得る。場合によっては、生体コントローラ206は、特定用途向け集積回路(ASIC)によって実装され得る。
【0085】
[00104]制御センサー204は、ユーザの生体認証を実施するために他の構成要素(生体コントローラ206および生体センサー122)を制御するように構成される。具体的には、制御ユニット204は、(i)生体認証を実施するために使用され得るユーザの生体データを取得するために生体コントローラ206を介して生体センサー122の動作を制御し、(ii)ユーザが生体測定的に識別または認証されているかどうかを決定するために、生体センサー122によってキャプチャされた生体データを記憶されたテンプレートデータと比較するために生体マッチングを実施するように構成され得る。場合によっては、制御ユニット204は、マイクロコントローラユニット(MCU)として実装され得る。
【0086】
[00105]場合によっては、制御ユニット204は、生体認証を実施したいというチップ106からの要求を受信したことに応答して、および/または(たとえば、電力管理ユニット202から受信された情報から)生体モジュール108が使用可能になるのに十分な電力を受け取ったと決定したことに応答して、ユーザを生物測定学的に認証する際に使用するためのユーザの生体データをキャプチャすることを生体センサー122に(生体コントローラ206を介して)行わせるように構成され得る。
【0087】
[00106]制御ユニット204は、任意の好適な方法で生体マッチングを実施するように構成され得る。たとえば、生体センサー122によってキャプチャされた生体データが画像である場合、制御ユニット204は、生体センサー122によってキャプチャされた画像を1つまたは複数の記憶されたテンプレート画像と比較するために画像マッチングを実施し得る。テンプレート画像は、信頼できる画像である。画像は、デバイス100のユーザに属する生体ソースのものであるとみなされるという点で、信頼され得る。画像マッチングを実施するために、制御ユニット204は、1つまたは複数の抽出された特徴のセットを識別するためにキャプチャされた画像に対して特徴抽出を実施し得る。抽出された特徴は、次いで、キャプチャされた画像がテンプレート画像にマッチするのかどうかを決定するためにテンプレート画像の特徴と比較される。制御ユニット204は、たとえば、キャプチャされた画像のためのマッチャスコアを決定するために画像の特徴を比較し得る。キャプチャされた画像は、マッチャスコアが所定のしきい値を上回る場合にテンプレート画像にマッチすると見なされ得る。
【0088】
[00107]制御ユニット204は、ユーザがチップ106に生物測定学的に認証されたという指示を通信し得る。チップ106は、次いで、デバイス100のユーザが端末102に認証されて戻ったという指示を通信し得る。カードユーザの認証は、デバイス100に関連する一次機能を完了することを可能にし得る。代替的に、制御ユニット204は、ユーザが正常に認証されなかったことをチップ106に通信し得、その場合、デバイス100に関連する一次機能は、続行しないことがあるか、または変更された様式で続行し得る。
【0089】
[00108]代替例では、生体マッチングを実施するプロセスは、生体モジュール108によってではなく、チップ106によって実施され得る。具体的には、生体センサー122によってキャプチャされた生体データは、チップ106に送信され得、次いで、チップ106は、生体マッチングを実施する。したがって、これらの例では、生体認証は、チップ106と生体モジュール108の両方によって実施される。
【0090】
[00109]次に、チップ106と生体モジュール108との間のインターフェース112を実装するために使用され得る二線式インターフェース300の第1の例示的な実装形態を示す
図3を参照する。インターフェース300は、第1のワイヤまたは導体302と、第2のワイヤまたは導体304とを備える。インターフェース300は、ハンドシェーキングモードとデータ転送モードとで動作可能である。ハンドシェーキングモードで、ハンドシェーキングシーケンスを実施するために、第1のワイヤ302はチップ106によって駆動され、第2のワイヤは生体モジュール304によって駆動される。したがって、ハンドシェーキングモードで、第1のワイヤは、ハンドシェークアウト(HSO:handshake out)信号を送信するために使用され、第2のワイヤは、ハンドシェークイン(HSI:handshake in)信号を送信するために使用される。「ハンドシェーキングシーケンス」という用語は、本明細書において、プロセスの次のステージは何になるかおよび/またはそれがいつ開始することになるかを確立するために、チップ106と生体モジュール108との間の2つ以上の信号または遷移の規定されたシーケンスを意味するために使用される。概して、ハンドシェーキングシーケンス中、チップ106と生体モジュール108との間で実質的なデータは何も交換されない。以下でより詳細に説明されるように、ハンドシェーキングシーケンスは、コマンド応答シーケンスを開始するために、1つのデバイスがデータを受信するまたはデータを送信する準備ができていることを示すためなどに、実施され得る。
【0091】
[00110]データ転送モードで、第1のワイヤ302は、クロック信号を提供するためにチップ106によって駆動され、第2のワイヤ304は、チップ106または生体モジュール108がデータを送信しているかに応じて、チップ106または生体モジュール108のいずれかによって駆動される。たとえば、チップ106がデータを生体モジュール108に送信している場合、チップ106が第2のワイヤ304を駆動し、生体モジュール108がデータをチップ106に送信している場合、生体モジュール108が第2のワイヤ304を駆動する。したがって、
図3のインターフェース300において、第1のワイヤ302は、常にチップ106によって駆動され(すなわち、チップ106の出力であり)、第2のワイヤ304は、チップ106または生体モジュール108のいずれかによって駆動され得る(すなわち、それは、チップ106または生体モジュール108の出力である)。
【0092】
[00111]場合によっては、チップ106および生体モジュール108がインターフェース300をデータ転送モードで動作させているとき、生体モジュール108は、SPIデータ転送(すなわち、SPIプロトコルによるデータ転送)を実施するように構成される。したがって、これらの場合、インターフェース300がデータ転送モードで動作しているとき、インターフェース300は、SPIインターフェースとして働く。当業者によって知られているように、SPIインターフェースは、短距離通信のために使用される同期シリアル通信インターフェース仕様である。SPIインターフェースはしばしば、四線式インターフェースとして実装され、ここにおいて、第1のワイヤは、(SPI CLK、SCLKまたはSCKと呼ばれることがある)クロック信号を送信するために使用され、第2のワイヤは、(複数のスレーブが存在する場合)スレーブを選択するために使用される(CSと呼ばれることがある)チップ選択信号を送信するために使用され、第3のワイヤは、マスタアウト、スレーブイン(MOSI)信号を送信するために使用され、第4のワイヤは、マスタイン、スレーブアウト(MISO)信号を送信するために使用される。クロックを生成するデバイスはマスタであり、マスタとスレーブとの間で送信されるデータは、マスタによって生成されたクロックに同期される。インターフェース300がSPIデータ転送モードで動作しているとき、第1のワイヤ302は、SCLKまたはSCK(シリアルクロック)信号を提供するために使用され、第2のワイヤ304は、チップ106または生体モジュール108がデータを送信しているかに応じて、MISOまたはMOSI信号を送信するために使用される。
【0093】
[00112]場合によっては、チップ106は、コマンド応答ベースの動作または方法を通して生体モジュール108を制御するように構成され得る。当業者に知られているように、コマンド応答動作において、コマンド応答シーケンスは、スレーブ(たとえば、生体モジュール108)に対するコマンドを送るホストまたはマスタ(たとえば、チップ106)によって開始される。コマンドを受信したことに応答して、スレーブ(たとえば、生体モジュール108)は、コマンドを実行して、応答をマスタ(たとえば、チップ106)に送り返す。場合によっては、チップ106と生体モジュール108との間のコマンド応答シーケンス中、インターフェース300の少なくとも1つのモード遷移が存在する。具体的には、これらの場合、チップ106および生体モジュール108は、少なくとも1回、インターフェース300をハンドシェーキングモードで動作させることからインターフェース300をデータ転送モードで動作させることに遷移させるように、および/またはインターフェース300をデータ転送モードで動作させることからインターフェース300をハンドシェーキングモードで動作させることに遷移させるように構成され得る。たとえば、場合によっては、チップ106および生体モジュール108は、インターフェースをハンドシェーキングモードで開始し、ハンドシェーキングシーケンスが完了した後、チップ106がコマンドを開始し(たとえば、コマンドまたはコマンドヘッダを送信し)得るように、インターフェース300をデータ転送モードに遷移させるように構成され得る。インターフェース300は、次いで、コマンド応答シーケンスが完了する(たとえば、生体モジュール108がコマンドに対する応答を送信する)まで、ハンドシェーキングモードとデータ転送モードとを交互に行い得る。コマンド応答シーケンスの異なる時点において実施される異なるハンドシェーキングシーケンスがあり得る。
【0094】
[00113]次に、例示的なコマンド応答シーケンスと、コマンド応答シーケンス中に生じ得るモード遷移とを示す
図4を参照する。この例では、背の高い矩形402は、インターフェース300がハンドシェーキングモードで動作していることを示すために使用され、上位が短い矩形404は、インターフェース300がデータ転送モードで動作し、チップ106が第2のワイヤ304を駆動していること(すなわち、チップ106がデータを送信していること)を示すために使用され、下位が短い矩形406は、インターフェース300がデータ転送モードで動作し、生体モジュール108が第2のワイヤ304を駆動していること(すなわち、生体モジュール108がデータを送信していること)を示すために使用され、楕円408は、モード遷移を示すために使用される。
【0095】
[00114]
図4の例では、インターフェース300は、チップ106および生体モジュール108がハートビートハンドシェーキングシーケンスを実施するハンドシェーキングモード402
1で開始することが分かる。場合によっては、ハートビートハンドシェーキングシーケンスは、生体モジュール108が何らかの作業を行うこと(たとえば、アクションを実施することまたはコマンドを実行すること)をチップ106が望むことを生体モジュール108に通知し、生体モジュール108がコマンドを実施する準備ができていることを確証するために実施され得る。場合によっては、生体モジュール108がチップ106とコマンド応答シーケンスを実行していないとき、生体モジュール108は、低電力モードに入ることができる。これらの場合、ハートビートハンドシェーキングシーケンスは、生体モジュール108を低電力モードからウェイクさせ得る。
【0096】
[00115]ハートビートハンドシェーキングシーケンスが完了すると、インターフェース300は、チップ106がコマンドヘッダを送信するデータ転送モード4041に遷移される4081。コマンドヘッダは、生体モジュール108によって実行されることになるコマンド(たとえば、生体モジュールによって実施されることになるアクション)を指定し得る。たとえば、コマンドヘッダは、生体モジュール108がデバイス100のユーザの生体認証を実施することを指定し得る。コマンドヘッダが送信されると、インターフェースは、レディハンドシェーキングシーケンスが実施されるハンドシェーキングモード4022に遷移され戻される4082。レディハンドシェーキングシーケンスは、生体モジュール108がデータを送信する準備ができていることを示すために実施され得る。レディハンドシェーキングシーケンスが完了すると、インターフェース300は、生体モジュール108がコマンドヘッダの肯定応答を送信するデータ転送モード4061に遷移される4083。肯定応答が送信されると、インターフェース300は、コマンドヘッダに加えて、コマンドデータが生体モジュールに送信されることになるかどうかに応じて、4084または4086において、ハンドシェーキングモード4023または4024に遷移され得る。
【0097】
[00116]具体的には、場合によっては、コマンドを実行する際に生体モジュール108によって使用されることになるコマンドヘッダの後、(概して、コマンドデータと呼ばれることがある)追加情報が生体モジュールに提供され得る。コマンドデータは、たとえば、コマンドヘッダ内で指定されるコマンドを実行するためのパラメータおよび/またはコマンドを実行する際に生体モジュール108によって使用されることになる情報を指定し得る。これらの場合、コマンドヘッダの肯定応答が生体モジュール108によって送信された後、インターフェース300は、レディハンドシェーキングシーケンスが実施され得るハンドシェーキングモード4023に遷移される4084。レディハンドシェーキングシーケンスは、生体モジュール108がデータを受信する準備ができていることを示すために実施され得る。レディハンドシェーキングシーケンスが完了すると、インターフェース300は、チップ106がコマンドヘッダを送信するデータ転送モード4042に遷移される4085。コマンドデータが送信されると、インターフェース300は、ハンドシェーキングモード4024に遷移され戻される。しかしながら、コマンドデータが何も存在しない場合、コマンドヘッダの肯定応答が送信された後、インターフェース300は、4086において、ハンドシェーキングモード4024に遷移され得る。
【0098】
[00117]ハンドシェーキングモード4024状態になると、生体モジュール108がコマンドを実行している間、コマンド実行ハンドシェーキングシーケンスが実行され得、コマンドが生体モジュール108によって実行されると、レディハンドシェーキングシーケンスが実施され得る。レディハンドシェーキングシーケンスは、生体モジュール108がこのときデータを送信する準備ができていることを示すために実施され得る。
【0099】
[00118]レディハンドシェーキングシーケンスが実施されると、インターフェース300は、生体モジュール108が応答ヘッダを送信するデータ転送モード4062に遷移される4087。応答ヘッダが送信されると、インターフェース300は、レディハンドシェーキングシーケンスが実施されるハンドシェーキングモード4025に遷移され戻される4088。レディハンドシェーキングシーケンスは、生体モジュール108がデータを受信する準備ができていることを示すために実施され得る。レディハンドシェーキングシーケンスが完了すると、インターフェース300は、チップ106が応答ヘッダの肯定応答を送信するデータ転送モード4043に遷移される。肯定応答が送信されると、インターフェース300は、応答ヘッダに加えて、応答データがチップ106に送信されることになるかどうかに応じて、40810または40812において、ハンドシェーキングモード4026または4027に遷移される。
【0100】
[00119]具体的には、場合によっては、応答ヘッダの後、(応答データと呼ばれることがある)追加情報がチップ106に提供され得る。これらの場合、応答ヘッダの肯定応答がチップ106によって送信された後、インターフェース300は、レディハンドシェーキングシーケンスが実施され得るハンドシェーキングモード4026に遷移される40810。レディハンドシェーキングシーケンスは、生体モジュール108がデータを送信する準備ができていることを示すために実施され得る。レディハンドシェーキングシーケンスが完了すると、インターフェース300は、生体モジュール108が応答データを送信するデータ転送モード4063に遷移される40811。応答データが送信されると、インターフェース300は、チップ106が、たとえば、別のコマンド応答シーケンスを開始するためにハートビートハンドシェーキングシーケンスを開始させ得るハンドシェーキングモード4027に遷移され戻される40812。生体モジュール108が応答データを送信すると、生体モジュール108は低電力モードに入ることができる。しかしながら、応答データが何も存在しない場合、応答ヘッダの肯定応答が送信された後、インターフェース300は、40812において、チップ106が、たとえば、別のコマンド応答シーケンスを開始するためにハートビートハンドシェーキングシーケンスを開始し得るハンドシェーキングモード4027に遷移され得る。この場合、生体モジュール108が応答ヘッダ肯定応答を受信すると、生体モジュール108は、低電力モードに入るように構成され得る。
【0101】
[00120]場合によっては、
図4に示されるように、インターフェース300をハンドシェーキングモードで動作させることからインターフェース300をデータ転送モードで動作させることの遷移させることは、ハンドシェーキングシーケンス(たとえば、ハートビートハンドシェーキングシーケンス、レディハンドシェーキングシーケンス)の完了によってトリガされ得る。これらの場合、チップ106および生体モジュール108がインターフェース300をデータ転送モードで動作させるように自らを再構成するために十分な時間を有することを保証するために、チップ106および生体モジュール108は、ハンドシェーキングシーケンスの完了後にハンドシェークツーデータしきい値時間量が経過した後でのみ、インターフェース300をデータ転送モードで動作させるように構成され得る。ハンドシェークツーデータしきい値は、経験的に決定され得る。
【0102】
[00121]インターフェースをハンドシェーキングモードで動作させることからインターフェースをデータ転送モードで動作させることに遷移させることが、異なるデバイス/モジュールに、第2のワイヤをハンドシェーキングモードではなくデータ転送モードで駆動させる場合(たとえば、生体モジュール108が、チップ106が第2のワイヤを駆動するデータ転送モードに第2のワイヤを駆動するハンドシェーキングモードからの遷移が存在するとき)、生体モジュール108は、ハンドシェーキングシーケンスの完了後にハンドシェークツー非駆動しきい値時間量が経過した後、第2のワイヤを駆動することを中止するように構成され得る。ハンドシェークツー非駆動しきい値は、ハンドシェーキングシーケンスの完了後のある時間期間にわたって、第2のワイヤが駆動されないように、ハンドシェークツーデータしきい値未満になるように選択され得る。これは、ハンドシェーキングモードからデータ転送モードに遷移するとき、第2のワイヤに対する競合を回避する。
【0103】
[00122]場合によっては、
図4に示されるように、インターフェース300をデータ転送モードで動作させることからインターフェースをハンドシェーキングモードで動作させることに遷移させることは、データ転送(たとえば、コマンドヘッダ、コマンドデータ、肯定応答、応答ヘッダ、または応答データの送信)の完了によってトリガされ得る。これらの場合、チップ106および生体モジュール108がインターフェース300をハンドシェーキングモードで動作させるように自らを再構成するために十分な時間を有することを保証するために、チップ106および生体モジュール108は、データ転送の完了後にデータツーハンドシェークしきい値時間量が経過した後でのみ、インターフェース300をハンドシェーキングモードで動作させるように構成され得る。データツーハンドシェークしきい値時間量は、経験的に決定され得る。
【0104】
[00123]インターフェースをデータ転送モードで動作させることからインターフェース300をハンドシェーキングモードで動作させることに遷移させることが、異なるデバイス/モジュールに第2のワイヤ304をデータ転送モードではなく第2のワイヤ304をハンドシェーキングモードで駆動させる場合(たとえば、チップ106が、生体モジュール108が第2のワイヤを駆動するハンドシェーキングモードに第2のワイヤを駆動するデータ転送モードからの遷移が存在するとき)、チップ106は、データ転送の完了後にデータツー非駆動しきい値時間量が経過した後、第2のワイヤ304を駆動することを中止するように構成され得る。データツー非駆動しきい値は、データ転送の完了後のある時間期間にわたって、第2のワイヤが駆動されないように、データツーハンドシェークしきい値未満になるように選択され得る。これは、データ転送モードからハンドシェーキングモードに遷移させるとき、第2のワイヤに対する競合を回避する。
【0105】
[00124](その例示的なタイミングしきい値を含めて)モード同士の間の例示的なハンドシェーキングシーケンスおよび遷移は、
図5から
図9を参照しながら以下で説明される。これらの例では、インターフェース300がデータ転送モードで動作させられているとき、データ転送の前および後に第1のワイヤ302が高くなるように、インターフェース300は、(すなわち、クロック極性(CPOL)が1に設定され、クロック位相(CPHA)が1に設定される)SPIモード3で動作するSPIインターフェースとして働く。第1のワイヤ302の制止状態も高いため、ハンドシェーキングモードとデータ転送モードとの間を切り替えるとき、第1のワイヤには何の遷移も存在しない。しかしながら、これは単なる例であり、他のSPIモードが使用されてよく、他の同期通信プロトコルがデータ転送モードで使用されてよいことは当業者には明白であろう。
【0106】
[00125]次に、その後に、チップ106がコマンドヘッダを送信するデータ転送モードへの遷移が続く、例示的なハートビートハンドシェーキングシーケンスを示す
図5を参照する。この例では、インターフェース300は、ハンドシェーキングモードで開始し、チップ106は、502において、第1のワイヤ302上でハートビート信号を送ることによって、ハートビートハンドシェーキングシーケンスを開始する。場合によっては、チップ106は、第1の状態から第2の状態への第1のワイヤの遷移を引き起すことによって、第1のワイヤ302上でハートビート信号を送り得る。たとえば、
図5に示されるように、チップ106は、第1のワイヤを低く駆動することによって、第1のワイヤ302上でハートビート信号を送り得る。(生体モジュール108に低電力モードから通常動作モードに遷移させる)第1のワイヤ302上のハートビートが生体モジュール108によって検出され、これは、504において、生体モジュール108に第2のワイヤ304上でハートビートを肯定応答させる。場合によっては、生体モジュール108は、第1の状態から第2の状態への第2のワイヤの遷移を引き起すことによって、第2のワイヤ304上でハートビートを肯定応答し得る。たとえば、
図5に示されるように、生体モジュール108は、第2のワイヤ304を低く駆動することによって、ハートビートを肯定応答し得る。
【0107】
[00126]ハートビート肯定応答を受信したことに応答して、チップ106は、506において、第1のワイヤ302上でハートビートを除去するが、ハンドシェーキングモードにとどまる。場合によっては、チップ106は、第1のワイヤを第2の状態から第1の状態に駆動することによって、第1のワイヤ302上でハートビートを除去し得る。たとえば、
図5に示されるように、チップ106は、第1のワイヤ302を高く駆動することによって、第1のワイヤ302上でハートビート信号を除去し得る。ハートビートの除去を検出したことに応答して、生体モジュール108は、生体モジュール108がデータを受信する準備ができていることを示す信号を第2のワイヤ304上で送り、508において第2のワイヤ304を解放することになる。場合によっては、生体モジュール108は、生体モジュール108がデータを受信する準備ができていることを示すことができ、第2のワイヤ304を第2の状態から第1の状態に駆動し戻すことによって、第2のワイヤを解放することになる。たとえば、
図5に示されるように、生体モジュール108は、生体モジュール108がデータを受信する準備ができていることを示し、第2のワイヤ304を高く駆動することによって、第2のワイヤを解放し得る。これは、ハートビートハンドシェーキングシーケンスを完了し得、これはデータ転送モードへのインターフェース300の遷移をトリガする。
【0108】
[00127]具体的には、チップ106および生体モジュール108は、ハートビートハンドシェーキングシーケンスの完了(すなわち、512における)からハンドシェークツーデータしきい値(thtd)時間量が経過した後、インターフェース300をデータ転送モードで動作させ始めることができる。たとえば、ハートビートハンドシェーキングシーケンスの完了後にハンドシェークツーデータしきい値時間量が経過した後、チップ106は、(514において)SPIデータ転送ごとにクロック信号を提供するために第1のワイヤ302を、およびデータ転送を開始するために第2のワイヤ304を駆動し始めることができる。ハンドシェークツーデータしきい値は、チップ106および生体モジュール108にインターフェース300をデータ転送モードで動作させるように自らを再構成するために十分な時間を与えるように選択され得る。場合によっては、チップ106および/または生体モジュール108は、インターフェース300をハンドシェーキングモードで動作させる1つのモジュールと、インターフェース300をデータ転送モードで動作させる異なるモジュールとを有し得る。たとえば、チップ106または生体モジュール108は、インターフェース300をデータ転送モードで動作させるSPIモジュールと、インターフェース300をハンドシェーキングモードで動作させるハンドシェーキングモジュールとを備え得る。これらの場合、インターフェース300の第1および第2のワイヤは、モードに応じて、適切なモジュールに方向づけされ得る。適切なモジュールへの信号の方向づけは、ハードウェアまたはソフトウェア内で実施され得る。
【0109】
[00128]第2のワイヤ304がデータ転送モードでチップ106によって駆動されるように準備する際、生体モジュール108は、(すなわち、510において)ハートビートハンドシェーキングシーケンスの完了後にハンドシェークツー非駆動しきい値(thtu)時間量が経過した後、第2のワイヤ304を駆動することを停止し得る。ハンドシェークツー非駆動しきい値は、第2のワイヤ304に対する競合を回避するために、第2のワイヤ304がチップ106または生体モジュール108によって駆動されない時間期間が存在するように、ハンドシェークツーデータしきい値未満である。ハンドシェークツー非駆動しきい値は、生体モジュール108がデータを受信する準備ができているという指示を検出し、さらにチップ106が第2のワイヤ304を駆動し始める前に第2のワイヤ304が駆動されない場合、十分な期間をチップ106に与えるように選択され得る。場合によっては、ハンドシェークツー非駆動しきい値は、1μsと10μsとの間であってよく、ハンドシェークツーデータしきい値は、20μsよりも高くてよい。
【0110】
[00129]次に、その後に、チップ106がデータを送信するデータ転送モードへの遷移が続く、例示的なレディハンドシェーキングシーケンスを示す
図6を参照する。これは、
図4のコマンドデータ送信に対してレディハンドシェーキングシーケンスを、または応答ヘッダ肯定応答送信に対してレディハンドシェーキングシーケンスを実装するために使用され得る。レディハンドシェーキングシーケンスは、生体モジュール108がデータを受信する準備ができていることを示すために使用され得る。この例では、インターフェース300は、ハンドシェーキングモードで開始し、生体モジュール108は、602において、第2のワイヤ304を第1の状態から第2の状態に駆動することによって、レディハンドシェーキングシーケンスを開始する。たとえば、
図6に示されるように、生体モジュール108は、第2のワイヤ304を低く駆動することによって、レディハンドシェーキングシーケンスを開始し得る。生体モジュール108は、次いで、その後、604において、第2のワイヤ304を第2の状態から第1の状態に駆動し戻すことによって、レディハンドシェーキングシーケンスの終了を示し得る。たとえば、
図6に示されるように、生体モジュール108は、第2のワイヤ304を高く駆動することによって、レディハンドシェーキングシーケンスの終了を示し得る。レディハンドシェーキングシーケンスの完了は、データ転送モードへのインターフェース300の遷移をトリガする。
【0111】
[00130]具体的には、チップ106および生体モジュール108は、(すなわち、608における)レディハンドシェーキングシーケンスの完了からハンドシェークツーデータしきい値(thtd)時間量が経過した後、インターフェース300をデータ転送モードで動作させ始めることができる。たとえば、レディハンドシェーキングシーケンスの完了後にハンドシェークツーデータしきい値時間量が経過した後、チップ106は、(610において)SPIデータ転送ごとにクロック信号を提供するように第1のワイヤ302を駆動し、データ転送を開始するために第2のワイヤ304を駆動し始めることができる。上で説明されたように、ハンドシェークツーデータしきい値は、チップ106および生体モジュール108にインターフェース300をデータ転送モードで動作させるように自らを再構成するために十分な時間を与えるように選択され得る。
【0112】
[00131]
図5に示した例と同様に、第2のワイヤ304がデータ転送モードでチップ106によって駆動されるように準備する際、生体モジュール108は、(すなわち、606において)レディハンドシェーキングシーケンスの完了後にハンドシェークツー非駆動しきい値(t
htu)時間量が経過した後、第2のワイヤを駆動することを停止し得る。ハンドシェークツー非駆動しきい値は、第2のワイヤ304に対する競合を回避するために、第2のワイヤ304がチップ106または生体モジュール108によって駆動されない時間期間が存在するように、ハンドシェークツーデータしきい値未満である。ハンドシェークツー非駆動しきい値は、
図5に関して上で説明されたように選択され得る。
【0113】
[00132]次に、その後に、生体モジュール108がデータを送信するデータ転送モードへの遷移が続く、例示的なレディハンドシェーキングシーケンスを示す
図7を参照する。これは、
図4のコマンドヘッダ肯定応答に対してレディハンドシェーキングシーケンス、応答ヘッダ送信に対してレディハンドシェーキングシーケンス、または応答データ送信に対してレディハンドシェーキングシーケンスを実装するために使用され得る。レディハンドシェーキングシーケンスは、生体モジュール108がデータを送信する準備ができていることを示すために使用され得る。この例は、
図6に示した例と非常に類似するが、データ転送モードに遷移する(すなわち、第2のワイヤがハンドシェーキングモードと後続のデータ転送モードとで生体モジュール108によって駆動される)とき、第2のワイヤ304の方向づけは変更されないため、
図6の例にあるように、第2のワイヤ304が駆動されない期間は存在しない。
【0114】
[00133]この例では、インターフェース300は、ハンドシェーキングモードで開始し、生体モジュール108は、702において、第2のワイヤ304を第1の状態から第2の状態に駆動することによって、レディハンドシェーキングシーケンスを開始する。たとえば、
図7に示されるように、生体モジュール108は、第2のワイヤ304を低く駆動することによって、レディハンドシェーキングシーケンスを開始し得る。生体モジュール108は、次いで、その後、704において、第2のワイヤ304を第2の状態から第1の状態に駆動し戻すことによって、レディハンドシェーキングシーケンスの終了を示し得る。たとえば、
図7に示されるように、生体モジュール108は、第2のワイヤ304を高く駆動することによって、レディハンドシェーキングシーケンスの終了を示し得る。レディハンドシェーキングシーケンスの完了は、データ転送モードへのインターフェース300の遷移をトリガする。
【0115】
[00134]具体的には、チップ106および生体モジュール108は、(すなわち、706における)レディハンドシェーキングシーケンスの完了後にハンドシェークツーデータしきい値(thtd)時間量が経過した後、インターフェース300をデータ転送モードで動作させ始めることができる。たとえば、レディハンドシェーキングシーケンスの完了後にハンドシェークツーデータしきい値時間量が経過した後、チップ106は、(706において)SPIデータ転送ごとにクロック信号を提供するように第1のワイヤ302を駆動し始めることができ、生体モジュール108は、(708において)SPIデータ転送を開始するために第2のワイヤ304を駆動し始めることができる。上で説明されたように、ハンドシェークツーデータしきい値は、チップ106および生体モジュール108にインターフェース300をデータ転送モードで動作させるように自らを再構成するために十分な時間を与えるように選択され得る。
【0116】
[00135]次に、その後ハンドシェーキングモードへの遷移が続く、例示的なチップ106データ転送を示す
図8を参照する。これは、
図4のレディハンドシェーキングシーケンスに対してコマンドヘッダ送信、コマンド実行ハンドシェーキングシーケンスに対してコマンドデータ送信、またはレディハンドシェーキングシーケンスに対して応答ヘッダ肯定応答送信を実装するために使用され得る。この例では、インターフェース300はデータ転送モードで開始する。(802における)データ転送の完了は、ハンドシェーキングモードへの遷移をトリガする。
【0117】
[00136]具体的には、チップ106および生体モジュール108は、(すなわち、808において)データ転送の完了からデータツーハンドシェークしきい値(tdth)時間量が経過した後、インターフェース300をハンドシェーキングモードで動作させ始めるように構成され得る。データツーハンドシェークしきい値は、生体モジュール108およびチップ106にインターフェース300をハンドシェーキングモードで動作させるように自らを再構成するために十分な時間を与えるように選択され得る。上で説明されたように、場合によっては、チップ106および/または生体モジュール108は、インターフェース300をハンドシェーキングモードで動作させる1つのモジュールと、インターフェース300をデータ転送モードで動作させる異なるモジュールとを有し得る。たとえば、チップ106または生体モジュール108は、インターフェース300をデータ転送モードで動作させるSPIモジュールと、インターフェース300をハンドシェーキングモードで動作させるハンドシェーキングモジュールとを備え得る。これらの場合、インターフェース300の第1および第2のワイヤは、モードに応じて、適切なモジュールに方向づけされ得る。適切な内部モジュールへの信号のこの方向づけは、ハードウェアまたはソフトウェア内で実施され得る。
【0118】
[00137]第2のワイヤ304がハンドシェーキングモードで生体モジュール108によって駆動されるように準備する際、チップ106は、(すなわち、806において)データ転送の完了後にデータツー非駆動しきい値(tdtu)時間量が経過した後、第2のワイヤ304を駆動することを停止し得る。データツー非駆動しきい値は、ハンドシェーキングモードに遷移するときに第2のワイヤ304に対する競合を回避するために、データ転送の完了後、第2のワイヤ304がチップ106または生体モジュール108によって駆動されない時間期間が存在するように、データツーハンドシェークしきい値未満である。
【0119】
[00138]場合によっては、
図8に示されるように、チップ106は、(すなわち、804における)データ転送の完了後、一定の時間期間、第1および第2のワイヤ302、304の両方を高く駆動するように構成され得る。これらの場合、第2のワイヤ304を高く駆動すること、すなわち、それの静止状態、と、第2のワイヤが駆動されない状態との間の時間期間は、本明細書において、静止ツー非駆動しきい値(t
qtu)と呼ばれることがある。これらの場合、データツー非駆動しきい値は、第2のワイヤが駆動されない前に、第2のワイヤが高く、さらに競合を回避するために第2のワイヤが生体モジュール108によって駆動される前に、第2のワイヤがチップ106によって駆動されない十分な時間が存在することを保証するために、静止ツー非駆動しきい値が十分長いように、選択され得る。
【0120】
[00139]場合によっては、静止ツー非駆動しきい値は、1μsよりも高くてよく、データツー非駆動しきい値は、10μs未満であってよく、データツーハンドシェークしきい値は、20μsよりも高くてよい。
【0121】
[00140]次に、その後ハンドシェーキングモードへの遷移が続く、例示的な生体モジュール108データ転送を示す
図9を参照する。これは、
図4のレディハンドシェーキングシーケンスに対してコマンドヘッダ肯定応答送信、レディハンドシェーキングシーケンスに対して応答ヘッダ送信、またはレディハンドシェーキングシーケンスに対して応答データ送信を実装するために使用され得る。この例は、データ転送モードからハンドシェーキングモードに遷移するとき、第2のワイヤ304が方向づけを変更しないことを除いて、
図8に示された例と同様である。
【0122】
[00141]この例ではインターフェース300はデータ転送モードで開始する。(902における)データ転送の完了は、ハンドシェーキングモードへの遷移をトリガする。
【0123】
[00142]具体的には、チップ106および生体モジュール108は、(すなわち、906において)データ転送の完了からデータツーハンドシェークしきい値(tdth)時間量が経過した後、インターフェース300をハンドシェーキングモードで動作させ始めるように構成され得る。データツーハンドシェークしきい値は、生体モジュール108およびチップ106にインターフェース300をハンドシェーキングモードで動作させるように自らを再構成するために十分な時間を与えるように選択され得る。
【0124】
[00143]場合によっては、
図9に示されるように、生体モジュール108は、(すなわち、904における)データ転送の完了後に一定の時間期間、SPIブロックを無効にし、第1のワイヤ302をハンドシェーキング入力として構成し、第2のワイヤ304をハンドシェーキング出力として構成し、最初にハンドシェーキング出力を高く駆動するように構成され得る。
【0125】
[00144]次に、チップ106と生体モジュール108との間のインターフェース112を実装するために使用され得る二線式インターフェース1000の第2の例示的な実装形態を示す
図10を参照する。インターフェース1000は、第1のワイヤまたは導体1002と、第2のワイヤまたは導体1004とを備える。インターフェース1000は、ハンドシェーキングモードとデータ転送モードとで動作可能である。ハンドシェーキングモードで、ハンドシェーキングシーケンスを実施するために、第1のワイヤ1002はチップ106によって駆動され、第2のワイヤ1004は生体モジュール108によって駆動される。したがって、ハンドシェーキングモードで、第1のワイヤ1002は、ハンドシェークアウト(HSO)信号を送信するために使用され、第2のワイヤ1004は、ハンドシェークイン(HSI)信号を送信するために使用される。データ転送モードで、第2のワイヤ1004は、クロック信号を提供するために生体モジュール108によって駆動され、第1のワイヤ1002は、チップ106または生体モジュール108がデータを送信しているかに応じて、チップ106または生体モジュール108のいずれかによって駆動される。たとえば、チップ106がデータを生体モジュール108に送信している場合、チップ106が第1のワイヤ1002を駆動し、生体モジュール108がデータをチップ106に送信している場合、生体モジュール108が第1のワイヤ1002を駆動する。したがって、
図10のインターフェース1000において、第2のワイヤ1004は、常に生体モジュール108によって駆動され(すなわち、生体モジュール108の出力であり)、第1のワイヤ1002は、チップ106または生体モジュール108のいずれかによって駆動され得る(すなわち、それは、チップ106または生体モジュール108の出力である)。
【0126】
[00145]場合によっては、インターフェース1000がデータ転送モードで動作しているとき、データ転送は、ISO7816ユニバーサル非同期受信機/送信機(UART)インターフェースに従って実施される。したがって、これらの場合、チップ106および生体モジュール108がインターフェース1000をデータ転送モードで動作させるとき、インターフェースは、UARTインターフェースとして働く。当業者に知られているように、UARTインターフェースは、その上でデータが送信される、少なくとも1つのデータワイヤを備え、その上でクロック信号が送信されるワイヤを有し得る。
【0127】
[00146]データパケット(たとえば、バイト)をデータワイヤ上で送信するために、データパケットが送られようとしていることを受信機に警告し、受信機内のクロックに送信機のクロックと同期させるために、「スタートビット」と呼ばれるビットが使用される。スタートビットの後、データパケットの個々のビットが送られる。場合によっては、データパケット内にエラーが存在するかどうかを決定する際に受信機を助けるために、エラー検出ビット(すなわち、パリティビット)がデータパケットのビットの後に追加され得る。個々のビットのすべて(および、場合によっては、パリティビット)が送られた後、データパケット(たとえば、バイト)の終了をシグナリングするために、1つまたは複数の「停止ビット」が送られる。受信機がスタートビットを受信するとき、受信機は、ボーレートとして知られている、指定された周波数において着信ビットの読取りを開始する。当業者に知られているように、ボーレートは、ビット/秒(bps)で表される、データ転送の速度の測度である。
【0128】
[00147]場合によっては、共通クロック信号が使用されてもよい。クロックエッジの位置がデータがどこに送信またはサンプリングされるかを決定する、SPIなどの同期通信プロトコルと異なり、UART(非同期通信プロトコル)の場合、クロック信号は、ボーレートを導出するためだけに使用される。たとえば、クロック信号の送信機および受信者は、受信されたクロック信号の周波数に比例するようにボーレートを選択する。限定されないが、パケット内のデータビットの数、パリティビットが生成/検査されるか否か、停止ビットの数、クロック信号とボーレートとの間の周波数関係、およびデータライン/ワイヤの数など、UARTパラメータのうちの1つまたは複数が構成可能であり得る。
【0129】
[00148]ISO7816 UARTインターフェースは、ISO7816に従って構成されたUARTインターフェースである。より具体的には、ISO7816 UARTインターフェースは、UARTパラメータのうちの1つまたは複数がISO7816規格に従って指定または制限されるUARTインターフェースである。たとえば、ISO7816は、データパケットが8ビットを有することを指定し、したがって、ISO7816 UARTインターフェースは、8ビットデータパケットを使用するように構成されることになる。
【0130】
[00149]インターフェース1000がUARTデータ転送モードで動作しているとき、クロック信号(UART CLK)を提供するために第2のワイヤ1004が使用され、データ(UART DATA)を送信するために第1のワイヤ1002が使用される。
【0131】
[00150]上で説明されたように、場合によっては、チップ106は、コマンド応答ベースの動作または方法を通して、生体モジュール108を制御するように構成され得る。当業者に知られているように、コマンド応答ベースの動作において、コマンド応答シーケンスは、スレーブ(たとえば、生体モジュール108)にコマンドを送るホストまたはマスタ(たとえば、チップ106)によって開始される。コマンドを受信したことに応答して、スレーブ(たとえば、生体モジュール108)は、コマンドを実行して、応答をマスタ(たとえば、チップ106)に送り返す。場合によっては、チップ106と生体モジュール108との間のコマンド応答シーケンス中、インターフェース1000の少なくとも1つのモード遷移が存在する。具体的には、チップ106および生体モジュール108は、少なくとも1回、インターフェース1000をハンドシェーキングモードで動作させることからデータ転送モードで動作させることに遷移させるように、および/またはインターフェース1000をデータ転送モードで動作させることからハンドシェーキングモードで遷移させるように構成される。たとえば、場合によっては、チップ106および生体モジュール108は、インターフェースをハンドシェーキングモードで開始し、ハンドシェーキングシーケンスが完了した後、チップ106がコマンドを開始し(たとえば、コマンドまたはコマンドヘッダを送信し)得るデータ転送モードにインターフェース1000を遷移させるように構成され得る。インターフェース300は、次いで、コマンド応答シーケンスが完了するまで(たとえば、生体モジュール108がコマンドに対する応答を送信するまで)ハンドシェーキングモードとデータ転送モードとを交互に行い得る。コマンド応答シーケンスの異なる時点において実施される異なるハンドシェーキングシーケンスがあり得る。
【0132】
[00151]次に、例示的なコマンド応答シーケンスと、コマンド応答シーケンス中に生じ得るモード遷移とを示す
図11を参照する。この例では、背の高い矩形1102は、インターフェースがハンドシェーキングモードで動作していることを示すために使用され、上位が短い矩形1104は、インターフェースがデータ転送モードで動作しており、チップ106が第1のワイヤ1002を駆動していること(すなわち、チップ106がデータを送信していること)を示し、下位が短い矩形1106は、インターフェースがデータ転送モードで動作しており、生体モジュール108が第1のワイヤ1102を駆動していること(すなわち、生体モジュール108がデータを送信していること)を示すために使用され、楕円1108は、モード遷移を示すために使用される。
【0133】
[00152]
図11の例では、インターフェース1000は、チップ106および生体モジュール108がハートビートハンドシェーキングシーケンスを実施するハンドシェーキングモード1102
1で開始することが分かる。場合によっては、ハートビートハンドシェーキングシーケンスは、生体モジュール108が何らかの作業を行うこと(たとえば、アクションを実施することまたはコマンドを実行すること)をチップ106が望むことを生体モジュール108に通知し、生体モジュール108がコマンドを実行する準備ができていることを検証または確証するために実施され得る。場合によっては、生体モジュール108がチップ106とコマンド応答シーケンスを実行していないとき、生体モジュール108は、低電力モードに入ることができる。これらの場合、ハートビートハンドシェーキングシーケンスは、生体モジュール108を低電力モードから通常動作モードに遷移させ得る。ハートビートハンドシェーキングシーケンスが完了すると、インターフェース1000は、チップ106がコマンドヘッダを送信するデータ転送モード1104
1に遷移される1108
1。コマンドヘッダは、生体モジュール108によって実行されることになるコマンド(たとえば、生体モジュール108によって実施されることになるアクション)を指定し得る。たとえば、コマンドヘッダは、生体モジュール108がデバイス100のユーザの生体認証を実施することを指定し得る。コマンドヘッダが送信されると、インターフェースは、レディハンドシェーキングシーケンスが実施されるハンドシェーキングモード1102
2に遷移され戻される1108
2。レディハンドシェーキングシーケンスは、生体モジュール108がデータを送信する準備ができていることを示すために実施され得る。レディハンドシェーキングシーケンスが完了すると、インターフェース1000は、生体モジュール108がコマンドヘッダの肯定応答を送信するデータ転送モード1106
1に遷移される1108
3。肯定応答が送信されると、インターフェース1000は、コマンドヘッダに加えて、コマンドデータが生体モジュールに送信されることになるかどうかに応じて、1108
4または1108
6において、ハンドシェーキングモード1102
3または1102
4に遷移され得る。
【0134】
[00153]上で説明されたように、コマンドを実行する際に生体モジュール108によって使用されることになるコマンドヘッダの後、(概して、コマンドデータと呼ばれることがある)追加情報が生体モジュール108に提供され得る。コマンドデータは、たとえば、コマンドヘッダ内で指定されるコマンドを実行するためのパラメータおよび/またはコマンドを実行する際に生体モジュール108によって使用されることになる情報を指定し得る。これらの場合、コマンドヘッダの肯定応答が生体モジュール108によって送信された後、インターフェース1000は、レディハンドシェーキングシーケンスが実施され得るハンドシェーキングモード11023に遷移される11084。レディハンドシェーキングシーケンスは、生体モジュール108がデータを受信する準備ができていることを示すために実施され得る。レディハンドシェーキングシーケンスが完了すると、インターフェース1000は、チップ106がコマンドヘッダを送信するデータ転送モード11042に遷移される11085。コマンドデータが送信されると、インターフェース1000は、ハンドシェーキングモード11024に遷移され戻される11086。しかしながら、コマンドデータが何も存在しない場合、コマンドヘッダの肯定応答が送信された後、インターフェース1000は、11086において、ハンドシェーキングモード11024に遷移され得る。
【0135】
[00154]ハンドシェーキングモード11024状態になると、生体モジュール108がコマンドを実行している間、コマンド実行ハンドシェーキングシーケンスが実行され得、コマンドが生体モジュール108によって実行されると、レディハンドシェーキングシーケンスが実装され得る。レディハンドシェーキングシーケンスは、生体モジュール108がこのときデータを送信する準備ができていることを示すために実施され得る。
【0136】
[00155]レディハンドシェーキングシーケンスが実施されると、インターフェース1000は、生体モジュール108が応答ヘッダを送信するデータ転送モード11062に遷移される11087。応答ヘッダが送信されると、インターフェース1000は、レディハンドシェーキングシーケンスが実施されるハンドシェーキングモード11025に遷移され戻される11088。レディハンドシェーキングシーケンスは、生体モジュール108がデータを受信する準備ができていることを示すために実施され得る。レディハンドシェーキングシーケンスが完了すると、インターフェース1000は、チップ106が応答ヘッダの肯定応答を送信するデータ転送モード11043に遷移される11089。肯定応答が送信されると、インターフェース1000は、応答ヘッダに加えて、応答データがチップ106に送信されることになるかどうかに応じて、110810または110812において、ハンドシェーキングモード11026または11027に遷移される。
【0137】
[00156]具体的には、場合によっては、応答ヘッダの後、(応答データと呼ばれることがある)追加情報がチップ106に提供され得る。これらの場合、応答ヘッダの肯定応答がチップ106によって送信された後、インターフェース1000は、レディハンドシェーキングシーケンスが実施され得るハンドシェーキングモード11026に遷移される110810。レディハンドシェーキングシーケンスは、生体モジュール108がデータを送信する準備ができていることを示すために実施され得る。レディハンドシェーキングシーケンスが完了すると、インターフェース1000は、生体モジュール108が応答データを送信するデータ転送モード11063に遷移される110811。応答データが送信されると、インターフェース1000は、チップ106が、たとえば、新しいコマンド応答シーケンスを開始させるためにハートビートハンドシェーキングシーケンスを開始し得るハンドシェーキングモード11027に遷移され戻される110812。しかしながら、応答データが何も存在しない場合、応答ヘッダの肯定応答が送信された後、インターフェース1000は、110812において、チップ106が、たとえば、新しいコマンド応答シーケンスを開始させるためにハートビートハンドシェーキングシーケンスを開始し得るハンドシェーキングモード11027に遷移される。
【0138】
[00157]次に、第2の例示的なコマンド応答シーケンスと、チップ106および生体モジュール108がインターフェース1000をデータ転送モードで動作させているとき、ISO7816 UARTに従ってインターフェース1000を動作させる場合に生じ得るモード遷移とを示す
図12を参照する。この例は、インターフェース1000が、各データ転送の後、ハンドシェーキングモードに遷移され戻されないことを除いて、
図11に示された例と同様である。具体的には、この例では、ハートビートハンドシェーキングシーケンスの完了後、インターフェース1000は、データ転送モードに遷移され、インターフェース1000は、次いで、生体モジュール108がコマンドを実行しているときを除いて、コマンド応答シーケンスが完了するまで、データ転送モードにとどまる。SPIデータ転送において、スレーブはデータを送るまたは受信する準備ができているため、レディハンドシェーキングは、いつクロックをオンにする(すなわち、クロック信号を生成する)かをSPIマスタ(たとえば、チップ106)に告げるが、プロトコルがどのデバイス(または、チップ106または生体モジュール108)が次に送ることになるかを定義するため、これは、ISO7816 UARTデータ転送では必要ではない。
図11に示された例と比較して、
図12に示される例における低減された数のモード遷移により、モードを不要に切り替えるオーバヘッドにおける時間を節約するため、コマンド応答シーケンスがさらに効率的に実施されることが可能になる。
【0139】
[00158]
図12の例では、インターフェース1000は、チップ106および生体モジュール108がハートビートハンドシェーキングシーケンスを実施するハンドシェーキングモード1202
1で開始する。場合によっては、ハートビートハンドシェーキングシーケンスは、生体モジュール108が何らかの作業を行うこと(たとえば、アクションを実施することまたはコマンドを実行すること)をチップ106が望むことを生体モジュール108に通知し、生体モジュール108がコマンドを実行する準備ができていることを確証するために実施され得る。上で説明されたように、生体モジュール108がチップ106とコマンド応答シーケンスを実行していないとき、生体モジュール108は、低電力モードに入ることができる。これらの場合、ハートビートハンドシェーキングシーケンスは、生体モジュール108を低電力モードから通常動作モードに遷移させ得る。ハートビートハンドシェーキングシーケンスが完了すると、インターフェース1000は、チップ106がコマンドヘッダを生体モジュール108に送信するデータ転送モード1204
1に遷移される1208
1。コマンドヘッダは、生体モジュール108によって実行されることになるコマンド(たとえば、生体モジュール108によって実施されることになるアクション)を指定し得る。たとえば、コマンドヘッダは、生体モジュール108がデバイス100のユーザの生体認証を実施することを指定し得る。
【0140】
[00159]コマンドヘッダが送信されると、
図11におけるようにハンドシェーキングモードに遷移され戻される代わりに、インターフェース1000は、生体モジュール108がコマンドヘッダの肯定応答を送信するデータ転送モード1206
1にとどまる。次に何が起こるかは、チップ106から生体モジュール108に送られることになるコマンドデータが存在するかどうかに依存する。コマンドデータが何も存在しない場合、インターフェース1000は、生体モジュール108がコマンドを実行する間、チップ106および生体モジュール108がコマンド実行ハンドシェーキングシーケンスを実施するハンドシェーキングモード1202
2に遷移する1208
2。しかしながら、送られるべきコマンドデータが存在する場合、インターフェース1000は、データ転送モード1204
2にとどまり、コマンドデータがチップ106から生体モジュール108に送信される。コマンドデータ送信が完了すると、インターフェース1000は、生体モジュール108がコマンドを実行する間、チップ106および生体モジュール108がコマンド実行ハンドシェーキングシーケンスを実施するハンドシェーキングモード1202
2に遷移される1208
3。
【0141】
[00160]生体モジュール108がコマンドの実行を完了すると、生体モジュール108は、レディハンドシェーキングシーケンスを実施することによって、完了をシグナリングする。レディハンドシェーキングシーケンスは、生体モジュール108が応答ヘッダを送信するデータ転送モード1206
2への遷移1208
4をトリガする。応答ヘッダ送信が完了すると、インターフェース1000が、
図11におけるようにハンドシェーキングモードに遷移され戻される代わりに、インターフェース1000は、データ転送モード1204
3にとどまり、チップ106は、応答ヘッダの肯定応答を送信する。次に何が起こるかは、生体モジュール108からチップ106に送られるべき応答データが存在するかどうかに依存する。応答データが何も存在しない場合、インターフェース1000は、チップ106が新しいコマンド応答シーケンスを開始させるためにハートビートハンドシェーキングシーケンスを開始し得るハンドシェーキングモード1202
3に遷移する1208
5。しかしながら、送られるべき応答データが存在する場合、インターフェース1000は、データ転送モード1206
3にとどまり、応答データが生体モジュール108からチップ106に送信される。応答データ送信が完了すると、インターフェース1000は、チップ106が、たとえば、新しいコマンド応答シーケンスを開始させるためにハートビートハンドシェーキングシーケンスを開始し得る、ハンドシェーキングモード1202
3に遷移される1208
6。
【0142】
[00161]場合によっては、
図11および
図12に示されるように、インターフェース1000をハンドシェーキングモードで動作させることからインターフェースをデータ転送モードで動作させることに遷移させることは、ハンドシェーキングシーケンス(たとえば、ハートビートハンドシェーキングシーケンス、レディハンドシェーキングシーケンス)の完了によってトリガされ得る。これらの場合、チップ106および生体モジュール108がインターフェース1000をデータ転送モードで動作させるように自らを再構成するために十分な時間を有することを保証するために、チップ106および生体モジュール108は、ハンドシェーキングシーケンスの完了後にハンドシェークツーデータしきい値時間量が経過した後でのみ、インターフェース1000をデータ転送モードで動作させるように構成され得る。ハンドシェークツーデータしきい値は、経験的に決定され得る。
【0143】
[00162]場合によっては、
図11に示されるように、インターフェース1000をデータ転送モードで動作させることからインターフェースをハンドシェーキングモードで動作させることに遷移させることは、データ転送(たとえば、コマンドヘッダ、コマンドデータ、肯定応答、応答ヘッダ、または応答データの送信)の完了によってトリガされ得る。これらの場合、チップ106および生体モジュール108がインターフェース1000をハンドシェーキングモードで動作させるように自らを再構成するために十分な時間を有することを保証するために、チップ106および生体モジュール108は、データ転送の完了後にデータツーハンドシェークしきい値時間量が経過した後でのみ、インターフェース1000をハンドシェーキングモードで動作させるように構成され得る。データツーハンドシェークしきい値は、経験的に決定され得る。
【0144】
[00163](その例示的なタイミングしきい値を含めて)モード同士の間の例示的なハンドシェーキングシーケンスおよび遷移は、
図13から
図17を参照しながら以下で説明される。これらの例では、チップ106および生体モジュール108は、インターフェース1000をデータ転送モードで動作させているとき、ISO7816 UARTに従ってインターフェース1000内で動作するように構成される。この例では、UARTは、8ビットデータ、1ストップビット、パリティなし(すなわち、バイト当たり10ビット周期)対して構成される。しかしながら、これが単なる例であることは当業者には明らかであろう。
【0145】
[00164]次に、その後に、チップ106がコマンドヘッダを送信するデータ転送モードへの遷移が続く、例示的なハートビートハンドシェーキングシーケンスを示す
図13を参照する。この例では、インターフェース1000は、ハンドシェーキングモードで開始し、チップ106は、1302において、第1のワイヤ1002上でハートビート信号を送ることによって、ハートビートハンドシェーキングシーケンスを開始する。場合によっては、チップ106は、第1の状態から第2の状態への第1のワイヤ1002の遷移を引き起すことによって、第1のワイヤ1002上でハートビート信号を送り得る。たとえば、
図13に示されるように、チップ106は、(静止状態が高いとき)第1のワイヤ1002を低く駆動することによって、第1のワイヤ1002上でハートビート信号を送り得る。第1のワイヤ1002上でハートビートが生体モジュール108によって検出され(これは、生体モジュール108に低電力モードから通常動作モードに遷移させ得る)、これは、1304において、生体モジュール108にハートビートを第2のワイヤ1004上で肯定応答させる。場合によっては、生体モジュール108は、第2のワイヤ1004を第1の状態から第2の状態に駆動することによって、第2のワイヤ1004上でハートビートを肯定応答し得る。たとえば、
図13に示されるように、生体モジュール108は、(静止状態が高い場合)第2のワイヤ1004を低く駆動することによって、ハートビートを肯定応答し得る。
【0146】
[00165]ハートビート肯定応答を受信したことに応答して、チップ106は、1306において、第1のワイヤ1002上でハートビートを除去するが、ハンドシェーキングモードにとどまる。場合によっては、チップ106は、第1のワイヤ1002を第2の状態から第1の状態に駆動することによって、第1のワイヤ1002上でハートビートを除去し得る。たとえば、
図13に示されるように、チップ106は、第1のワイヤ1002を高く駆動すること(すなわち、第1のワイヤ1002を静止状態に戻すこと)によって、第1のワイヤ1002上でハートビート信号を除去し得る。ハートビートの除去を検出したことに応答して、生体モジュール108は、1308において、生体モジュール108がデータを受信する準備ができていることを示す信号を第2のワイヤ1004上で送る。場合によっては、生体モジュール108は、第2のワイヤ1004を第2の状態から第1の状態に駆動し戻すことによって、生体モジュール108がデータを受信する準備ができていることを示し得る。たとえば、
図13に示されるように、生体モジュール108は、第2のワイヤ1004を高く駆動すること(すなわち、第2のワイヤ1004を静止状態に戻すこと)によって、生体モジュール108がデータを受信する準備ができていることを示し得る。これは、ハートビートハンドシェーキングシーケンスを完了し得、これはデータ転送モードへのインターフェース1000の遷移をトリガする。
【0147】
[00166]チップ106および生体モジュール108は、(すなわち、1310における)ハートビートハンドシェーキングシーケンスの完了からハンドシェークツーデータしきい値(thtd)時間量が経過した後、インターフェース1000をデータ転送モードで動作させ始めることができる。たとえば、ハートビートハンドシェーキングシーケンスの完了後にハンドシェークツーデータしきい値時間量が経過した後、生体モジュール108は、クロック信号を提供するために第2のワイヤ1004を駆動し始めることができる。チップ106は、次いで、チップ106がデータ(たとえば、コマンドヘッダ)を送信する前に、クロックが安定するのを待機し得る(たとえば、チップ106は、生体モジュール108がクロック信号を駆動し始めた後、一定のサイクル数(たとえば、16)待機し得る)。
【0148】
[00167]ハンドシェークツーデータしきい値は、チップ106および生体モジュール108にインターフェース1000をデータ転送モードで動作させるように自らを再構成するために十分な時間を与えるように選択され得る。場合によっては、ハンドシェークツーデータしきい値は、少なくとも20μsであってよい。場合によっては、チップ106および/または生体モジュール108は、インターフェース1000をハンドシェーキングモードで動作させるかまたは制御する1つのモジュールと、インターフェース1000をデータ転送モードで動作させるかまたは制御する異なるモジュールとを有し得る。たとえば、チップ106または生体モジュール108は、インターフェース1000をデータ転送モードで動作させるUARTモジュールと、インターフェース1000をハンドシェーキングモードで動作させるハンドシェーキングモジュールとを備え得る。これらの場合、インターフェース1000の第1および第2のワイヤは、モードに応じて、適切なモジュールに方向づけされ得る。適切なモジュールへの信号の方向づけは、ハードウェアまたはソフトウェア内で実施され得る。
【0149】
[00168]次に、その後に、チップ106がデータを送信するデータ転送モードへの遷移が続く、例示的なレディハンドシェーキングシーケンスを示す
図14を参照する。これは、
図11のコマンドデータ転送に対してレディハンドシェーキングシーケンス、または応答ヘッダ肯定応答送信に対してレディハンドシェーキングシーケンスを実装するために使用され得る。レディハンドシェーキングシーケンスは、生体モジュール108がデータを受信する準備ができていることを示すために使用され得る。この例では、インターフェース1000は、ハンドシェーキングモードで開始し、生体モジュール108は、1402において、第2のワイヤ1004を第1の状態から第2の状態に駆動することによって、レディハンドシェーキングシーケンスを開始する。たとえば、
図14に示されるように、生体モジュール108は、第2のワイヤ1004を低く駆動することによって、レディハンドシェーキングシーケンスを開始し得る。生体モジュール108は、次いで、その後、1404において、第2のワイヤ1004を第2の状態から第1の状態に駆動し戻すことによって、レディハンドシェーキングシーケンスの終了を示し得る。たとえば、
図14に示されるように、生体モジュール108は、第2のワイヤ1004を高く駆動することによって、レディハンドシェーキングシーケンスの終了を示し得る。レディハンドシェーキングシーケンスの完了は、データ転送モードへのインターフェース1000の遷移をトリガする。
【0150】
[00169]具体的には、チップ106および生体モジュール108は、(すなわち、1406において)レディハンドシェーキングシーケンスの完了からハンドシェークツーデータしきい値(thtd)時間量が経過した後、インターフェース1000をデータ転送モードで動作させ始めるように構成され得る。たとえば、レディハンドシェーキングシーケンスの完了からハンドシェークツーデータしきい値時間量が経過した後、生体モジュール108は、UARTデータ転送ごとにクロック信号を提供するために第2のワイヤ1004を駆動し始めることができる。次いで、クロックが安定するのを待機した後(たとえば、所定のクロックサイクル数(たとえば、16)の後)、チップ106は(1408において)それのデータ送信を開始し得る。上で説明されたように、ハンドシェークツーデータしきい値は、チップ106および生体モジュール108にインターフェース1000をデータ転送モードで動作させるように自らを再構成するために十分な時間を与えるように選択され得る。
【0151】
[00170]次に、その後に、生体モジュール108がデータを送信するデータ転送モードへの遷移が続く、例示的なレディハンドシェーキングシーケンスを示す
図15を参照する。これは、
図11または
図12のコマンドヘッダ肯定応答に対してレディハンドシェーキングシーケンス、応答ヘッダ送信に対してレディハンドシェーキングシーケンス、または応答データ送信に対してレディハンドシェーキングシーケンスを実装するために使用され得る。レディハンドシェーキングシーケンスは、生体モジュール108がデータを送信する準備ができていることを示すために使用され得る。この例では、インターフェース1000は、ハンドシェーキングモードで開始し、生体モジュール108は、1502において、第2のワイヤ1004を第1の状態から第2の状態に駆動することによって、レディハンドシェーキングシーケンスを開始する。たとえば、
図15に示されるように、生体モジュール108は、第2のワイヤ1004を低く駆動することによって、レディハンドシェーキングシーケンスを開始し得る。生体モジュール108は、次いで、その後、1504において、第2のワイヤ1004を第2の状態から第1の状態に駆動し戻すことによって、レディハンドシェーキングシーケンスの終了を示し得る。たとえば、
図15に示されるように、生体モジュール108は、第2のワイヤ1004を高く駆動することによって、レディハンドシェーキングシーケンスの終了を示し得る。レディハンドシェーキングシーケンスの完了は、データ転送モードへのインターフェース1000の遷移をトリガする。
【0152】
[00171]データ転送モードへの遷移は、生体モジュール108がデータを送信することを可能にするためであるが、この例では、チップ106および生体モジュール108は、最初に、チップ106が生体モジュール108によるデータ送信要求の肯定応答を送ることができるように、インターフェース1000をチップ106がデータを送信するデータ転送モード(すなわち、チップ106が第1のワイヤ1002を駆動しているデータ転送モード)で動作させるように構成される。具体的には、レディハンドシェーキングシーケンスの完了は、生体モジュール108にデータ転送のための出力クロック(たとえば、UARTクロック)になるように第2のワイヤ1004を遷移させ、チップ106にデータ出力(たとえば、UARTデータアウト)になるように第1のワイヤ1002を遷移させる。
【0153】
[00172]チップ106および生体モジュール108は、次いで、(すなわち、1506において)レディハンドシェーキングシーケンスの完了からハンドシェークツーデータしきい値(t
htd)時間量が経過した後、インターフェース1000をデータ転送モードで動作させ始めるように構成され得る。具体的には、(すなわち、1506において)レディハンドシェーキングシーケンスの完了からハンドシェークツーデータしきい値時間量が経過した後、生体モジュール108は、UARTデータ転送に従ってクロック信号を提供するために第2のワイヤ1004を駆動し始めることができる。次いで、クロックが安定するのを待機した後(たとえば、すなわち、1508において、所定のクロックサイクル数(たとえば、16)の後)、チップ106は、チップ106が、生体モジュール108が送ろうとしているデータを受け入れる準備ができていることを生体モジュール108に示すための肯定応答を第1のワイヤ1002上で送信する。場合によっては。肯定応答は、シングルバイト(たとえば、0×06 16進法、0×f9 16進法)であってよく、または2バイト(たとえば、0×06 0×00 16進法)であってもよい。SPIデータ転送において、マスタ(たとえば、チップ106)はクロック信号を生成し、マスタ(たとえば、チップ106)は、そのマスタがデータを受信する準備ができるまで、クロック信号を生成しないことになるため、この肯定応答は、
図3から
図9に関して上で説明されたインターフェース300において使用されない。肯定応答の送信は、生体モジュール108がデータを送信する(すなわち、第1のワイヤ1002が生体モジュール108によって駆動される)データ転送モードへのインターフェース1000の遷移をトリガする。
【0154】
[00173]具体的には、(すなわち、1510において)肯定応答が送信されると、チップ106は、第1のワイヤ1002をデータ転送入力(たとえば、UARTデータ入力)に遷移させ、生体モジュール108は、第1のワイヤ1002をデータ転送出力(たとえば、UARTデータ出力)に遷移させ、次いで、生体モジュール108は、それのデータ(たとえば、コマンドヘッダ肯定応答、応答ヘッダ、または応答データ)を送信する。
【0155】
[00174]次に、その後、ハンドシェーキングモードへの遷移が続く、例示的なチップ106データ転送を示す
図16を参照する。これは、
図11のレディハンドシェーキングシーケンスに対してコマンドデータ転送、
図11および
図12のコマンド実行ハンドシェーキングシーケンスに対してコマンドデータ転送、または
図11のレディハンドシェーキングシーケンスに対して応答ヘッダ肯定応答転送を実装するために使用され得る。この例では、インターフェース1000は、チップ106がデータ(たとえば、コマンドヘッダ、コマンドデータ、応答ヘッダ肯定応答)を送信するデータ転送モードで開始する。(たとえば、1602において、データ転送の最後のバイトの停止ビットの送信によって示される)データ転送の完了は、ハンドシェーキングモードへの遷移をトリガする。
【0156】
[00175]具体的には、データ転送の完了に続いて(すなわち、1604において、生体モジュール108がデータ転送の終了を検出した後)、チップ106および生体モジュール108は、インターフェース1000をハンドシェーキングモードに遷移させ始めることができる。たとえば、チップ106は、第1のワイヤ1002をハンドシェーク出力になるように、および第2のワイヤ1004をハンドシェーク入力になるように構成し得、生体モジュール108は、第1のワイヤ1002をハンドシェーク入力になるように、および第2のワイヤ1004をハンドシェーク出力になるように構成し得る。次いで、(すなわち、1606において)チップ106および生体モジュール108がインターフェース1000をハンドシェーキングモードに遷移させ始めたときからデータツーハンドシェークしきい値時間量(tdth)が経過した後、チップ106および生体モジュール108は、インターフェース1000をハンドシェーキングモードで動作させ始めることができる(たとえば、チップ106または生体モジュール108のいずれかがハンドシェーキングシーケンスを開始し得る)。たとえば、1606において、生体モジュール108は、レディハンドシェーキングシーケンスを開始するために第2のワイヤ1004を低く駆動し得るか、または1606において、チップ106は、ハートビートハンドシェーキングシーケンスを開始するために第1のワイヤ1002を低く駆動し得る。データツーハンドシェークしきい値は、チップ106または生体モジュール108がハンドシェーキングシーケンスの開始を検出し得る(たとえば、チップ106または生体モジュール108が、本明細書でハンドシェーキングエッジと呼ばれることがある高・低遷移を検出する準備ができている)ように、他のデバイスが自らを再構成する時間を有する前に、チップ106または生体モジュール108がハンドシェーキングシーケンスを開始しないことを保証するために実装され得る。
【0157】
[00176]次に、その後ハンドシェーキングモードへの遷移が続く、例示的な生体モジュール108データ転送を示す
図17を参照する。これは、
図11のレディハンドシェーキングシーケンスに対してコマンドヘッダ肯定応答転送、
図11のレディハンドシェーキングシーケンスに対して応答ヘッダ転送、または
図11および
図12のレディハンドシェーキングシーケンスに対して応答データ転送を実装するために使用され得る。この例では、インターフェース1000は、生体モジュール108がデータ(たとえば、コマンドヘッダ肯定応答、応答ヘッダ、応答データ)を送信するデータ転送モードで開始する。(たとえば、1702において、データの最後のバイトの停止ビットの送信によって示される)データ転送の完了は、ハンドシェーキングモードへの遷移をトリガする。
【0158】
[00177]具体的には、データ転送の完了に続いて(すなわち、1704において、チップ106がデータ転送の終了を検出した後)、チップ106および生体モジュール108は、インターフェース1000をハンドシェーキングモードで遷移させ始める。たとえば、チップ106は、第1のワイヤ1002をハンドシェーク出力になるように、および第2のワイヤ1004をハンドシェーク入力になるように構成し、生体モジュール108は、第1のワイヤ1002をハンドシェーク入力になるように、および第2のワイヤ1004をハンドシェーク出力になるように構成する。次いで、(すなわち、1706において)チップ106および生体モジュール108がインターフェース1000をハンドシェーキングモードで遷移させ始めたときからデータツーハンドシェークしきい値時間量(tdth)が経過した後、チップ106および生体モジュール108は、インターフェース1000をハンドシェーキングモードで動作させ始めることができる(たとえば、チップ106または生体モジュール108のいずれかがハンドシェーキングシーケンスを開始し得る)。たとえば、1706において、生体モジュール108は、レディハンドシェーキングシーケンスを開始するために第2のワイヤ1004を低く駆動し得るか、または1706において、チップ106は、ハートビートハンドシェーキングシーケンスを開始するために第1のワイヤ1002を低く駆動し得る。
【0159】
[00178]上で説明された両方の例示的なインターフェース実装形態(たとえば、
図3から
図9に関して説明された例示的な実装形態および
図10から
図17に関して上で説明された例示的な実装形態)では、ハンドシェークアウトワイヤ(たとえば、第1のワイヤ302または1002)は、コマンド実行中、ある状態(たとえば、高)に駆動され得、ハンドシェークインワイヤ(たとえば、第2のワイヤ304または1004)は、コマンド実行中、異なる状態(たとえば、低)に駆動され得る。
【0160】
[00179]場合によっては、チップ106は、デバイス100が非接触モードで動作しているときに非接触送信プロトコルに従って端末102と通信するように構成され得、それによって、端末102によって送られたメッセージまたはコマンドは、端末との接続を維持するためのチップ106からの応答のための指定された待機時間を設定する。非接触プロトコルは、たとえば、ISO14443および/またはEMVCo(登録商標)規格によって指定され得る。チップ106は、応答のための待機時間を延長する要求を端末102に通信することができるが、各要求は、既存の待機時間の満了より前に送られるべきであり、そうでない場合、端末102は、チップへの接続が失敗したと仮定する。このようにして、チップ106と端末106との間の通信を支配する送信プロトコルは、それらの通信に対するタイミング制限を設定し得る。具体的には、非接触プロトコルは、(待機時間延長要求または何らかの他のメッセージを通信することによって)指定された待機時間の満了より前にチップ106が端末102に応答することの失敗がチップと端末102との間の接続を失敗させる(たとえば、タイムアウト)ようなものであり得る。
【0161】
[00180]具体的には、ISO14443およびEMVCo(登録商標)規格は、チップ106にコマンドを送った端末102が、チップ106からの応答のための(フレーム待機時間(FWT)として知られる)初期待機時間を設定することを指定する。FWTは、チップ106が端末102に応答を送って戻すことを開始するために許可された時間の最大量である。FWT内に端末に応答を送ることのチップ106による失敗は、チップ106と端末102との間の通信接続が喪失されること、たとえば、タイムアウトを生じ得る。FWTの値は、デバイス100と端末102との間でネゴシエートされ得る。待機時間延長要求は、S(WTX)と表され得る。待機時間延長要求を受信したことに応答して、端末は、チップ106からの応答のための待機時間を延長する。デバイス100は、フレーム待機時間FWTだけ待機時間を延長し得る(すなわち、それは、初期待機時間に等しい量だけ待機時間を延長し得る)。待機時間延長要求は、現在の待機時間の満了の前の任意の時間に行われ得る。
【0162】
[00181]生体モジュール108は、それの機能を、チップ106が端末102と通信している期間中に実施しないことが望ましい。これは、2つの主要な理由による。第1に、デバイス100が非接触モードで動作しているとき、端末102から放出されたワイヤレス信号からハーベスティングされ得る電力は限定されることがあり、ハーベスティングされた電力は、デバイス100がそれに従って動作している規格によって必要とされる端末102とのスケジュールされた通信をサポートするために優先され得る。第2に、チップ106が端末102と通信している期間中に生体モジュール108によって引き込まれる電力は、端末102によって放出される信号の負荷変調に影響を及ぼし、これは、端末102には余分のノイズのように見え得る。言い換えれば、生体モジュール108によって引き込まれる電力は、チップ106と端末102との間の通信において干渉を引き起こし得る。
【0163】
[00182]これらの問題を回避するために、生体モジュール108によって実施されるコマンド実行は、複数の個別の動作、またはタスクに区分され得る。各タスクは、それが部分を形成するコマンド実行よりも、完了するために低減された時間量を要し得る。生体モジュール108によって実施される処理は、個別の動作間の境界上で開始または休止され得る。言い換えれば、生体モジュール108によって実施される処理は、個別のタスクの完了時に休止され、後続の個別のタスクを処理することによってレジュームされ得る。生体モジュール108によって実行されるコマンドは、異なる度合いのグラニュラリティで個別のタスクに区分されることが可能である。たとえば、個別の動作は、上で説明された生体認証ステップのうちの1つ(たとえば、センサーによる画像収集)を指し得る。代替的に、個別の動作は、生体認証ステップの組合せであり得る。デバイス100は、次いで、これらの個別の動作の処理を(この例では、待機時間延長要求S(WTX)である)デバイス100と端末102との間のスケジュールされた通信と同期させるように動作する。デバイス100は、個別の動作が待機時間内に実施されるように、この同期を実施する。
【0164】
[00183]同期を実施するための3つの手法は、その全体が参照により本明細書に組み込まれる、本出願人の米国特許出願第15/883,543号において説明されている。3つの説明された方法のいずれも、チップ106と端末102との間の通信がタイムアウトしないおよび/または損なわれないことを保証するために、生体モジュール108によって実施されるコマンド実行、およびチップ106と端末102との間の通信を同期させるために使用され得ると具申される。
【0165】
[00184]米国特許出願第15/883,543号は、チップ108がS(WTX)メッセージを端末102に送信することを可能にするために、生体モジュール108によるコマンド実行を一時停止し、その後、レジュームするために使用され得る例示的な一時停止およびレジュームハンドシェーキングシーケンスについても説明する。
【0166】
[00185]上で説明された例では、チップと生体モジュールとの間のインターフェースは、チップと生体モジュールとの間の通信(たとえば、生体通信)のためだけに使用されるが、他の場合には、チップと生体モジュールとの間のインターフェースは、複数の機能または目的のために使用され得る。具体的には、場合によっては、チップと生体モジュールとの間のインターフェースは、チップと生体モジュールとの間の通信(たとえば、生体通信)のために、およびチップと端末などの別のデバイスとの間の通信のために使用され得る。
【0167】
[00186]たとえば、次に、端末1802と接触または非接触通信が可能な第2の例示的なデバイス1800を示す
図18を参照する。
図1のデバイス100同様、
図18のデバイス1800は、チップ1806と生体モジュール1808とを備え、チップ1806は、1つまたは複数の接触要素1810を介して接触モードで、またはアンテナ1804を介して非接触モードで、端末1802と通信し得る。しかしながら、この例では、チップ1806と接触要素1810との間の専用インターフェース(たとえば、ワイヤまたは導体)が存在する代わりに、生体モジュール1808は、生体モジュール1808を介して接触要素1810に接続される。具体的には、生体モジュール1808は、第1のインターフェース1820を介して接触要素1810に、第2のインターフェース1812を介してチップ1806に接続される。デバイス1800が接触モードで動作しているとき、チップ1806と端末1802との間のすべての通信は、生体モジュール1808を通過する。デバイス1800が接触モードで動作しているとき、チップ1806は、ISO7816規格に従って端末1802と通信し得る。
【0168】
[00187]デバイス1800は、チップ1806をアンテナ1804に接続する第3のインターフェース1822をやはり備える。デバイス1800が非接触モードで動作しているとき、チップ1806と端末1802との間の通信は、生体モジュール1808を介してルーティングされない。デバイス1800が非接触モードで動作しているとき、チップ1806は、ISO14443規格に従って端末1802と通信し得る。
【0169】
[00188]例示的な生体モジュール、ここにおいて、デバイス1800が、その全体が参照により本明細書に組み込まれる、本出願人の同時係属英国特許出願第1814210.9号で説明される接触モードで動作しているとき、チップ1806と端末1802との間の通信は、生体モジュール1808を介してルーティングされる。本明細書中で説明されるように、生体モジュール1808は、生体モジュール自体(たとえば、その生体コントローラ)からおよび第1のインターフェース1820を介して接触要素1810から信号入力を受信し、チップ1806による受信のために、これらの受信した入力を第2のインターフェース1812上に多重化するマルチプレクサ(MUX)を備え得る。MUXは、MUXを生体モジュール(たとえば、その生体コントローラ)に方向づけるインターフェース1812を介してチップ1806から、または適宜にインターフェース1820を介して接触要素1810から、入力を受信する。
【0170】
[00189]たとえば、第1および第2のインターフェース1820および1812は各々、少なくとも2本のワイヤ、すなわち、(本明細書でクロックワイヤと呼ばれることがある)クロック信号を搬送するワイヤと(本明細書でデータワイヤと呼ばれることがある)データを送信するためのワイヤと、を有し得、生体モジュールは、対応するポート、すなわち、クロックポートおよびデータポート、を備え得る。MUXは、第2のインターフェース1812のクロックワイヤを第1のインターフェース1820のクロックワイヤに、または生体モジュールのクロックポートに接続し、第2のインターフェース1812のデータワイヤを第1のインターフェース1820のデータワイヤに、または生体モジュールのデータポートに接続するように構成され得る。
【0171】
[00190]場合によっては、第2のインターフェース1812は、
図10から
図17に関して上記で説明されたインターフェース1000を使用して実装され得る。具体的には、デバイス1800が非接触モードで動作しており、インターフェース1812(たとえば、インターフェース1000)がチップ1806と生体モジュール1808との間の通信(たとえば、生体通信)のためにもっぱら使用されるとき、チップ1806および生体モジュール1808は、
図10から
図17に関して上で説明されたインターフェース1812を、すなわち、ハンドシェーキングモードとデータ転送モードとで動作させ得る。
【0172】
[00191]しかしながら、接触要素1810を介したチップ1806と端末1802との間の通信のためのインターフェース1812の使用に適応するために、インターフェース1812(たとえば、インターフェース1000)は、チップ1806が接触要素1810を介して端末1802と通信している外部通信モードでさらに動作可能であり得る。その場合、デバイス1800が接触モードで動作しているとき、インターフェース1812は、外部通信モードと上で説明されたデータ転送モードとの間で動作可能であり得る。したがって、デバイス1800が接触モードで動作しているとき、インターフェース1812は、ハンドシェーキングモードで動作可能でないことがある。インターフェース1000がUARTデータ転送モードで動作しているとき、UARTパラメータのうちのいくつかは、外部通信モードで使用するためにそれらのパラメータとは異なるように選定され得る。モード同士の間で異なるパラメータは、限定はされないが、パケット内のデータビットの数、パリティビットが生成および/または検査されるかどうか、ストップビットの数、および/または第2のワイヤ1004上のクロック信号(UART CLK)とボーレートとの間の周波数関係を含み得る。
【0173】
[00192]デバイス1800が接触モードで動作しているとき、インターフェース1812は、当初、チップ1806と端末1802との間の通信のために使用され得る(すなわち、インターフェース1812は、当初、外部通信モードで動作させられ得る)。インターフェース1812がチップ1806と端末1802との間の通信のために使用されている間(すなわち、インターフェースが外部通信モードで動作しているとき)、生体モジュール1808は、チップ1806から接触要素1810への通信のルーティングおよびその逆に加えて、チップ1806がインターフェース1812をデータ転送モードに遷移させることを望むことを示す特殊なコマンドまたはパターンに対するデータ送信または転送のために使用されるインターフェース1812のワイヤ(たとえば、第1のワイヤ1002)を監視するように構成され得る。チップ1806は、たとえば、デバイス1800のユーザの生体認証を実施するためのコマンドを生体モジュール1808に発行するためにインターフェース1812をデータ転送モードに遷移させることを望むことがある。チップ1806は(インターフェース1812および1820を介して)端末1802に接続されることになるため、いずれかのそのようなコマンドまたはパターンが送信されるとき、コマンドまたはパターンは、好ましくは、コマンドまたはパターンが端末1802に問題を検出させないように、または誤った方法でふるまわせないように、選択される。言い換えれば、チップ1806と端末1802との間で使用される通信プロトコルにおいて良性であるデータ転送モードへの遷移を示すかまたはシグナリングするコマンドまたはパターンを選択することが有利であり得る。
【0174】
[00193]次に、チップ1806および端末1802がISO7816T=0に従って通信するように構成されるとき、チップ1806と端末1802との間のインターフェース1812が外部通信モードからデータ転送モードに遷移されることを示すためにチップ1806によって送信され得る第1の例示的なコマンドまたはパターンを示す
図19を参照する。当業者に知られているように、ISO7816は、データがアプリケーションプロトコルデータユニット(APDU)内で搬送されることを要求する。この例では、チップ1806は、コマンドAPDUの最後の文字の後、互いの短時間内に2つのNULL(0×60 16進法)プロシージャバイトを送る(たとえば、第2のNULLが第1のNULL到着の10ms以内に到着する)ことによって、インターフェース1812(たとえば、インターフェース1000)が外部通信モードからデータ転送モードに遷移されることを示すように構成され得る。2つのNULLプロシージャバイトは、ISO7816T=0において構文的に正当であるが、チップ1806が端末1802からのコマンドに応答するまでにより多くの時間を必要とするとき、NULLプロシージャバイトは、待機時間を満たすことが意図される「キープアライブ」応答であるため、異例である。結果として、そのようなコマンドまたはパターンは、端末1802にチップ1806との接続および/または通信に関する問題が存在することを検出させないことになる。
【0175】
[00194]次に、チップ1806および端末1802がISO7816T=1に従って通信するように構成されるとき、チップ1806と生体モジュール1808との間のインターフェース1812が外部通信モードからデータ転送モードに遷移されることを示すためにチップ1806によって送信され得る第2の例示的なパターンまたはコマンドを示す
図20を参照する。ISO7816T=1は、待機時間延長のためにNULLプロシージャバイトを使用せず、したがって、この例では、チップ1806は、コマンドADPUの最後の文字の後のある時点で、不良に形成された(または、不正確に形成された)Sブロックを送ることによって、インターフェース1812(たとえば、インターフェース1000)が外部通信モードからデータ転送モードに遷移されることを示すように構成され得る。そのような不良に形成されたSブロックの一例は、「00 E3 00 1C」16進法である。このSブロックは、複数の理由で不良に形成されている。それはS(WTX応答)ブロック、すなわち、通常、チップ1806によって送られない(それは、通常、端末1802によって送られる)(要求ではなく)時間延長応答である。長さフィールドは、このタイプのブロックに対して不正確であり、LRCは不正確である(それは、予想される値のビット単補数である)。端末1802は、正確に形成されたRブロックを用いて、そのような不良に形成されたSブロックに応答すべきである。したがって、この例では、生体モジュール1808が、第1のワイヤ1002上でこの特定の不良に形成されたSブロックを検出し、続いて、端末1802からのRブロック応答を検出するとき、生体モジュール1808は、インターフェース1812(たとえば、1000)が外部通信モードからデータ転送モードに遷移されることになると決定し得る。
【0176】
[00195]生体モジュール1808が、インターフェース1812(たとえば、インターフェース1000)が外部通信モードからデータ転送モードに遷移されることを示す、特定のコマンドまたはパターンをデータワイヤ(たとえば、第1のワイヤ1002)上で検出するとき、生体モジュール1808は、チップ1806と生体モジュール1808との間にプライベートチャネルを確立するために、チップ1806と生体モジュール1808との間の生体通信から接触要素1810を電気的に隔離するように構成され得る。たとえば、生体モジュール1808をチップ1806と生体モジュール1808との間のインターフェース1812(たとえば、インターフェース1000)の第1のワイヤ1002に結合された接触要素1810に接続するインターフェース1820のワイヤは、チップ1806と生体モジュール1808との間のインターフェース1812(たとえば、インターフェース1000)上の生体通信から接触要素1810を隔離するためのアイソレータを備え得る。アイソレータは、接触要素1810からインターフェース1820上に到着するデータがインターフェース1812に伝搬されることを依然として可能にしながら、チップ1806と生体モジュール1808との間のインターフェース1812上のデータが、生体モジュール1808と接触要素1810との間のインターフェース1820に伝搬されることを防ぐことができると言う点で、一方向アイソレータであり得る。アイソレータは、パストランジスタであってよい。パストランジスタは、電界効果トランジスタ(FET)であってよい。接触要素1810、したがって、端末1802がチップ1806と生体モジュール1808との間の生体通信から隔離されると、生体通信は、チップ1806と端末1802との間で合意されたのと同じ通信プロトコルまたはパラメータを使用する必要がない。
【0177】
[00196]場合によっては、チップ1806と生体モジュール1808との間のインターフェース1812(たとえば、インターフェース1000)が外部通信モードからデータ転送モードに遷移されることを示す、特定のコマンドまたはパターンをデータワイヤ(たとえば、第1のワイヤ1002)上で検出したことに応答して、チップ1806と生体モジュール1808との間の生体通信から接触要素1810を電気的に隔離することに加えて、生体モジュール1808は、クロックソースを内部で生成されたクロックに切り替えるように構成され得る。たとえば、デバイス1800が接触モードで動作しているとき、生体モジュール1808は、端末1802によって生成されたクロック信号を、インターフェース1820を介して接触要素から受信することになり、生体モジュール1808は、インターフェース1812を介してそのクロック信号(または、バージョンtherof)をチップ1806に提供する。しかしながら、インターフェース1812(たとえば、インターフェース1000)がデータ転送モードで動作するように遷移されるとき、生体モジュール1808は、端末1802によって生成されたクロック信号を、インターフェース1812を介してチップ1806に提供する代わりに、内部で生成されたクロック信号をチップ1806に提供するように構成され得る。これにより、チップ1806と端末1802との間の通信のために使用されたよりも高いボーレートがチップ1806と生体モジュール1808との間の通信のために使用されることが可能になる。具体的には、チップ1806と生体モジュール1808との間の比較的短いデータワイヤ(たとえば、第1のワイヤ1002)は、端末1802へのより大きなデータワイヤ/ラインから減結合されるため、生体通信は、ISO7816規格によって予想されるよりも高いデータレートで実装され得る。
【0178】
[00197]生体モジュール1808がインターフェース1812(たとえば、インターフェース1000)をデータ転送モードに遷移させ、チップ1806および生体モジュール1808がプライベートチャネルのパラメータを使用するように自らを再構成すると、チップ1806は、コマンドをインターフェース1812(たとえば、インターフェース1000)の第1のワイヤ1002上で生体モジュール1808に送信することによって、生体モジュール1808とコマンド応答シーケンスを開始し得る。
【0179】
[00198]生体モジュール1808がチップ1806と生体モジュール1808との間のインターフェース1812上で送信されたクロックを生体モジュール1808の内部クロックに切り替えるように構成される場合、インターフェース1812(たとえば、インターフェース1000)がデータ転送モードで動作しているとき、インターフェース1812(たとえば、インターフェース1000)がデータ転送モードに転送されると、生体モジュール1808は、較正値をチップ1806に送るように構成され得る。較正値は、端末1802によって生成されたクロック信号の周波数と内部クロック信号の周波数との間の関係の指示を提供する。場合によっては、較正値は、式(1)に従って生成されてよく、式中、fterminalは、インターフェース1820を介して受信された接触要素1810からの着信クロック信号の周波数であり、fbiometricは、生体モジュール1808の内部クロックによって生成されたクロック信号の周波数である。
【0180】
【0181】
[00199]較正値は、16ビット無符号量(unsigned quantity)として伝達され得る。8192の使用は、(たとえば、テスト、デバッギング、などのために)場合によっては、低いfbiometricが使用され得るように、何らかのヘッドルームを可能にし得る。これらの場合、チップ1806は、生体モジュール1808からクロック較正値を受信したことに応答して、(8192/較正値)によって、それの待機時間タイムアウトをスケーリングするように構成され得、インターフェース1812(たとえば、インターフェース1000)が外部通信モードに遷移され戻されるとき、(較正値/8192)によって、それの待機時間タイムアウトをスケーリングするように構成され得る。
【0182】
[00200]クロック較正値を伝達するために使用されるパケットに対する例示的なフォーマットが、表1に示される。
【0183】
【0184】
[00201]デバイス1800が接触モードで動作しており、インターフェース1812がデータ転送モードで動作しているとき、生体モジュール1808がデータを送信するために使用されるワイヤ(たとえば、第1のワイヤ1002)上に特定のパターンを検出したとき、生体モジュール1808は、インターフェース1812を外部通信モードに遷移させ戻すように構成され得る。たとえば、場合によっては、特定のパターンは、表2に示されるようにすべてゼロを有するヘッダ(たとえば、6バイト)であってよい。有効なヘッダはすべてゼロではあり得ないため、これは、インターフェース1812(たとえば、インターフェース1000)が外部通信モードに遷移されることを示すために使用され得る。
【0185】
【0186】
[00202]インターフェース1812(たとえば、インターフェース1000)を外部通信モードに遷移させ戻すことは、生体モジュール1808と接触要素1810との間のインターフェース1820のデータワイヤを生体モジュール1808とチップ1806との間のインターフェース1812のデータワイヤに再接続することを備え得る。データ転送モードで使用されるクロック信号が生体モジュール1808に対して内部のクロックから生成されたクロック信号である場合、インターフェース1812を外部通信モードに遷移させ戻すことは、生体モジュール1808と接触要素1810との間のインターフェース1820のクロックワイヤを生体モジュール1808とチップ1806との間のインターフェース1812のクロックワイヤに再接続することを備え得る。
【0187】
[00203]生体モジュール1808は、生体モジュール1808と接触要素1810との間のインターフェース1820上に電力が存在するかどうかを査定することによって、デバイス1800が接触モードで端末と通信しているか、または非接触モードで端末と通信しているかを決定するように構成され得る。生体モジュール1808がインターフェース1820上に電力を検出した場合、生体モジュール1808は、デバイス1800が接触モードで動作していると決定し得る。生体モジュール1808は、代替または追加として、接触要素1810と生体モジュール1808との間のインターフェース1820のクロックライン上にアクティブクロックが存在するかどうかを査定することによって、デバイス1800が接触モードで、または非接触モードで端末1802と通信しているかを決定するように構成され得る。生体モジュール1808がクロックライン上にクロックの存在を検出した場合、生体モジュール1808は、デバイス1800が接触モードで動作していると決定する。生体モジュール1808がクロックライン上にクロックが存在しないことを検出した場合、生体モジュール1808は、デバイス1800が非接触モードで動作していると決定する。
【0188】
[00204]
図18の例では、生体モジュール1808とチップ1806の両方は、端末1802によって電力供給される。具体的には、非接触モードで、生体モジュール1808およびチップ1806は、アンテナ1804を介して端末1802から受信されたワイヤレス信号から電力を受信し、接触モードで、生体モジュール1808およびチップ1806は、接触要素1810を介して端末1802から電力を受信する。場合によっては、生体モジュール1808およびチップ1806は各々、デバイス1800が非接触モードで動作しているとき、生体モジュール1808およびチップ1806が互いとは無関係にRFフィールドから電力をハーベストし得るように、アンテナ1804においてRFフィールドから電力をハーベストするために
図1および
図2に関して上で説明されたように動作する電力ハーベスティングユニットを備え得る。しかしながら、場合によっては、デバイス1800が接触モードで動作しているとき、生体モジュール1808の電力管理ユニットは、第1のインターフェース1820の電力線を介して接触要素から電力を受け取ることができ、生体モジュール1808の電力管理ユニットは、生体モジュール1808(たとえば、その生体制御ユニット)とチップ106の両方に電力を出力し得る。したがって、これらの場合、デバイス1800が接触モードで動作しているとき、接触要素1810を介して受け取られる電力は、生体モジュール1808を介してチップ1806に提供され得る。これは単なる例であり、他の場合には、生体モジュール1808およびチップ1806のうちの1つのみが、電力ハーベスタを備えることができ、デバイス1800が非接触モードで動作しているときに電力ハーベスタからハーベストされた電力は、電力ハーベスタを備えたデバイスを介して他のデバイスに分配される、および/またはデバイス1800が接触モードで動作しているとき、生体モジュール1808とチップの両方は各々、接触要素から直接的に電力を受け取り得ることは当業者には明白であろう。
【0189】
[00205]出願人は、本明細書で説明された各個々の特徴と、2つ以上のそのような特徴の任意の組合せとが、本明細書で開示される問題を解決するのかどうかとは無関係に、そのような特徴または特徴の組合せが、当業者の通例の一般的知識に照らして全体として本明細書に基づいて行われることが可能な程度まで、本明細書によって、分離して、そのような特徴または組合せを開示している。上記の説明に鑑みて、様々な修正が本発明の範囲内で行われ得ることが当業者には明白であろう。
【国際調査報告】