(57)【特許請求の範囲】
【請求項１】
単一周波数の搬送波を変調した無線信号を用いて、２つの通信装置間においてデータ通信を行うシステムに使用される前記通信装置であって、
自身が搬送波を出力してデータを送信するアクティブモードと、他方の通信装置より送信された搬送波を負荷変調することでデータを送信するパッシブモードとを切替えて通信が実行可能であり、
少なくとも１つのトランザクションを実行している間は、何れか１つのモードを維持すると共に、
前記パッシブモードを実行する場合は、受信した搬送波より抽出したクロック信号に同期して動作するように構成され、
前記アクティブモードによる通信を行っている場合に、受信した搬送波の周波数と、自身が生成出力しているクロック信号に基づき生成した搬送波周波数との差を監視する周波数差監視手段を備え、
前記周波数差が所定値以上になると共に、前記通信が途中で失敗した場合には、次回に通信を開始する場合にパッシブモードを選択することを特徴とする通信装置。
【請求項２】
前記パッシブモードにおいてトランザクションを開始する際に、最初に受信を行なう側となる場合は、アクティブモードにて応答するべきコマンドを受信すると、所定の受信回数を超えるまで、若しくは所定の時間が経過するまでは応答を返さないことを特徴とする請求項１記載の通信装置。
【請求項３】
前記周波数差監視手段による監視の結果、前記周波数差が所定値以上になると、その旨を他方の通信装置に通知することを特徴とする請求項１又は２記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、単一周波数の搬送波を変調した無線信号を用いて、２つの通信装置間においてデータ通信を行うシステムに使用される前記通信装置に関する。
【背景技術】
【０００２】
無線信号を用いて非接触方式の近接通信を行う規格の１つにＮＦＣ（Near Field Communication）通信があり、国際標準規格であるＩＳＯ／ＩＥＣ１８０９２においてＮＦＣＩＰ−１として開示されている。この規格にはアクティブモードとパッシブモードとの２つがあるが、前者は、自身が搬送波を送信することでデータの送信を行なうモードであり、後者は、他方の通信装置より送信された搬送波を負荷変調することでデータを送信するモードである（例えば、特許文献１参照）。
【特許文献１】特開２００４−２１５２２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
一般に、アクティブモードで通信を行う場合は、周波数が規格若しくは仕様で定められた誤差の範囲内に収まるように生成した搬送波を双方が出力して通信を行う。そして、伝文の冒頭に同期信号が付加されている場合は、受信側はその同期信号に基づいて復調開始時点を決定し、算出されるデータ１ビット分のクロック数毎に復調を行なうようになっている。
この時、データ１ビット分に相当するクロック数が、受信した搬送波に基づいて生成される場合は問題ないが、受信側で生成出力しているクロック信号に基づく場合は、そのクロック信号に基づく周波数と送信側の搬送波周波数との間に上記誤差範囲を超えるずれがあると、そのずれの累積がデータ１ビットに相当する分より大きくなった時点で復調が失敗することになる。
そして、通信を開始する時点から送受信間の周波数が一定以上ずれているような場合は、同期を取ることができないため通信が成立せずその原因が何処にあるかは明確であるため、どのように対処すべきかは自ずと明らかとなる。
【０００４】
しかしながら、搬送波周波数が通信の途中で変化する場合も想定される。このようなケースは、例えば通信装置において搬送波を生成する処理にソフトウエアが介在している、といった場合に発生する可能性がある。すると、通信装置の動作状態がソフトウエアの処理状態に応じて変化する結果、通信の失敗が生じたり、生じなかったりすることも考えられ、対処が非常に困難となってしまう。
本発明は上記事情に鑑みてなされたものであり、その目的は、２つの通信モードが使用できる場合に、状況に応じて確実に通信が行えるモードを選択して動作することが可能な通信装置を提供することにある。
【課題を解決するための手段】
【０００５】
請求項１記載の通信装置によれば、周波数差監視手段は、自身が搬送波を出力してデータを送信するアクティブモードで通信している場合に、受信した搬送波の周波数と、自身が生成出力しているクロック信号に基づき生成した搬送波周波数との差を監視する。そして、上記周波数差が所定値以上になると共にアクティブモードでの通信が途中で失敗すると、次回に通信を開始する場合にパッシブモードを選択する。
即ち、周波数差監視手段の監視結果に基づき、アクティブモードでの通信が失敗した原因が、他の通信装置より送信された搬送波周波数と、自身が生成した搬送波相当の周波数との差によるものであることが判明すれば、それ以降の通信をアクティブモードで行ってもうまく行かないはずである。従って、以降に通信を開始する場合はパッシブモードを選択することで、確実に通信を行うことができる。
【０００６】
請求項２記載の通信装置によれば、パッシブモードにおいてトランザクションを開始する際に最初に受信を行なう側となる場合、即ち、所謂「ターゲット」となる場合は、アクティブモードにて応答するべきコマンドを受信すると、所定の受信回数を超えるまで、若しくは所定の時間が経過するまでは応答を返さない。即ち、他の通信装置によってアクティブモードでの通信が開始されようとしている場合は、そのコマンドを受信しても応答を返さないようにして、他の通信装置に対し、アクティブモードによる通信は不能であることを把握させることが可能となる。
【０００７】
請求項３記載の通信装置によれば、周波数差監視手段による監視の結果、受信した搬送波の周波数と自身が生成した搬送波周波数との差が所定値以上になると、その旨を他方の通信装置に通知する。従って、他方の通信装置にアクティブモードによる通信が成立しないことを確実に把握させて、パッシブモードによる通信を開始させるように促すことができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の一実施例について図面を参照して説明する。図４は、本実施例における通信システムの構成を示すものである。即ち、本実施例の通信システムは、基本的に２つの通信装置１，２の間において１対１で無線通信を行うものである。その際、通信には例えば１３．５６ＭＨｚの電磁波が搬送波として使用される。また、通信装置１，２は、原則的にＮＦＣＩＰ−１のプロトコルに準拠するアクティブモード、又はパッシブモードで通信を行うことを前提とする。
図５は、通信装置１又は２の電気的構成を概略的に示す機能ブロック図である。通信装置１又は２は、電磁波信号送受信用のアンテナ３、送信回路４、受信回路５、制御用のＣＰＵ６、ＣＰＵ６がデータを外部の例えばホストなどとの間で伝送するための外部インターフェイス（Ｉ／Ｆ）７などを備えて構成されている。
【０００９】
また、図６は、受信回路５とＣＰＵ６とを中心とするより詳細な構成を示す機能ブロック図である。受信回路５とＣＰＵ６との間には、復調された受信信号を２値化してＣＰＵ６に出力するための２値化回路８が配置されている。また、受信回路５からは、搬送波波形の立上りエッジを検出するエッジ検出部９に対しても受信信号が出力されている。エッジ検出部９によって検出されたエッジ信号は、２値化回路８並びにエッジ間隔比較処理部（周波数差監視手段）１０に与えられている。
【００１０】
発振回路１１は、ＣＰＵ６の動作クロック信号を発振出力するものであり、そのクロック信号は、ｎ分周器１２を介してもう１つのエッジ検出部１３に与えられている。発振回路１１が出力するクロック信号の周波数は、搬送波周波数よりも高いため、ｎ分周器１２によりｎ分周することで搬送波周波数相当の基準クロック信号を生成する。また、この基準クロック信号は、受信回路５にも与えられて復調処理に使用されている。
そして、エッジ間隔比較処理部１０では、２つのエッジ検出部９，１３より与えられるエッジ信号の出力間隔を比較することで、受信した搬送波信号と、自身の内部で生成した基準クロック信号との周波数ずれを検出し、その検出結果をＣＰＵ６に出力するようになっている。
【００１１】
図７は、エッジ間隔比較処理部１０の一構成例を示すものである。２つのカウントブロック１４，１５には、夫々エッジ検出部９，１３より出力されるエッジ信号が与えられており、カウントブロック１４，１５は、カウントスタートトリガが与えられる毎に、夫々に入力されるエッジ信号数をカウントする。そして、それらのカウント値は、「差の絶対値」出力ブロック１６に与えられている。また、カウントブロック１５のカウント値は、比較ブロック１７にも与えられており、比較ブロック１７は、そのカウント値と、例えばＣＰＵ６により基準カウント数ｎがセットされるデータレジスタ１８の出力データと比較する。そして、比較ブロック１７は、前者が後者を超えた場合にハイレベルの比較結果信号を出力する。
【００１２】
比較ブロック１７より出力される比較結果信号は、トリガパルス信号生成回路１９及びＯＲゲート２０を介して、カウントブロック１４，１５に、カウントスタートトリガとして与えられる。トリガパルス信号生成回路１９は、比較結果信号の立上りエッジから、ワンショットパルスを生成する。また、上記カウントスタートトリガは、「差の絶対値」出力ブロック１６にも、差の絶対値を出力するためのトリガとして与えられている。ＯＲゲート２０の他方の入力端子には、例えばＣＰＵ６によって出力される初回開始トリガ信号が与えられる。
【００１３】
「差の絶対値」出力ブロック１６は、カウントブロック１４，１５によるカウント値を夫々ａ，ｂとすると、それらの差の絶対値である｜ａ−ｂ｜を上記トリガが与えられた時点で比較ブロック２１に出力する。比較ブロック２１は、差の絶対値｜ａ−ｂ｜と、例えばＣＰＵ６によりしきい値ｍがセットされるデータレジスタ２２の出力データと比較する。そして、比較ブロック２１は、前者が後者を超えた場合にハイレベルの比較結果信号ＯＵＴを出力する。
【００１４】
図８は、エッジ間隔比較処理部１０の動作の一例を示すタイミングチャートである。（Ａ），（Ｂ）に示すｘ，ｙは、夫々基準クロック信号のエッジ，受信波形のエッジであり、（Ｃ）に示す信号ｚはカウントスタートトリガである。また、基準カウント数ｎ＝５，しきい値ｍ＝１にセットされているとする。従って、カウント値ａ＝５となる毎に信号ｚが出力される。
信号ｚが出力される毎に、「差の絶対値」出力ブロック１６よりカウント値の差の絶対値｜ａ−ｂ｜が出力される（（Ｄ）参照）。そして、エッジのカウント値ａ，ｂにずれがあり、｜ａ−ｂ｜＝２になるとしきい値ｍを超えるため、比較ブロック２１は、信号ｚの出力時点からカウント値ａが「５」に達するまでの間、信号ＯＵＴをハイレベルにする（（Ｅ）参照）。この場合、受信した搬送波周波数と自身の内部で生成した基準クロック信号との周波数ずれが、しきい値ｍ（許容値）を超えたことを意味する。
尚、以上のように構成されるのは、通信装置１又は２の何れか一方のみでも良く、他方は少なくともＮＦＣＩＰ−１のプロトコルに準拠して構成されていれば、一般的な通信装置であっても良い。
【００１５】
次に、本実施例の作用について、図１乃至図３も参照して説明する。図１は、通信装置１又は２が最初に受信を行なう側となる、所謂「ターゲット」となる場合の受信処理の内容を示すフローチャートである。ＣＰＵ６は、先ず、以前の受信処理において「周波数ずれ」が検出され、且つ、その受信が失敗したか否かを、後述するフラグのセット状態に基づいて判断する（ステップＡ１）。そして、「ＮＯ」と判断するとステップＡ３に移行して受信判定処理を実行する。
【００１６】
ここで、図３は、ステップＡ３における受信判定処理の内容を示すフローチャートである。ＣＰＵ６は、先ず、今回のトランザクション（一連の通信によって行なわれる１まとまりの処理）がアクティブモードで行なわれたか否かを判断する（ステップＳ１）。尚、ここでの判断は、搬送波の受信状態に基づいて行なう。即ち、アクティブモードであれば搬送波の受信は比較的短い期間で停止される。一方パッシブモードであれば、ターゲットは受信した搬送波を負荷変調して応答を返すので、イニシエータはその応答処理が行なわれるのを待機して搬送波を比較的長い期間出力し続ける。従って、搬送波の受信期間は比的長くなる。
【００１７】
ステップＳ１でパッシブモードであると判断すると（「ＮＯ」）、ＣＰＵ６は、パッシブモードにおける受信処理を行なって（ステップＳ３）処理を終了する。一方、ステップＳ１でアクティブモードであると判断すると（「ＹＥＳ」）、ＣＰＵ６は、その通信が成功したか否かを判断し（ステップＳ２）、成功であれば（「ＹＥＳ」）そのまま処理を終了する。
また、ステップＳ２で通信が失敗であったと判断すると（「ＮＯ」）、ＣＰＵ６は、その時の受信処理中にエッジ間隔比較処理部１０によって「周波数ずれ」が検出されているか否かを判断し（ステップＳ４）、「周波数ずれ」が検出されていれば（「ＹＥＳ」）その状態を、例えばメモリにフラグをセットするなどして記憶し（ステップＳ５）、処理を終了する。一方、ステップＳ４で「周波数ずれ」が検出されていなければ（「ＮＯ」）、その他のエラー処理を行なって（ステップＳ６）処理を終了する。
【００１８】
再び、図１を参照する。以前にステップＡ３の受信判定処理を行った結果、ステップＡ１で「ＹＥＳ」と判断すると、ＣＰＵ６は、今回の受信がパッシブモードであるか否かを判断する（ステップＡ２）。そして、パッシブモードであれば（「ＹＥＳ」）、そのままパッシブモードにおいて応答対応処理を行なう（ステップＡ４）。即ち、通信相手にレスポンスを返す。
【００１９】
一方、ステップＡ２においてアクティブモードであると判断すると（「ＮＯ」）、ＣＰＵ６は、そのアクティブモードで開始された通信に対して、規定回数、若しくは規定時間だけ無応答となるように対応したか否かを判断する（ステップＡ５）。そして、「ＮＯ」と判断すれば無応答処理を行なう（ステップＡ６）。即ち、何もしない。また、ステップＡ５において、規定回数、若しくは規定時間を超えて無応答処理を行なった場合は（「ＹＥＳ」）ステップＡ４に移行して応答対応処理を行なう。
【００２０】
このケースは、通信相手である「イニシエータ」が、「ターゲット」が無応答を繰り返しているにもかかわらず、アクティブモードによる通信が成立しないことを認識していないと推定されるため、正しく応答を返すことはできないことを前提として応答を試みる場合となる。そして、この場合の応答は、「アクティブモードによる通信は不可」であること、若しくは「パッシブモードへの切り換え要求」を示すメッセージをイニシエータに送信する。
【００２１】
また、図２は、通信装置１又は２がイニシエータとなる場合の処理を示すフローチャートである。この場合も最初に、以前の通信においてターゲットとなった場合に、ステップＡ３で通信失敗及び「周波数ずれ」の検出があったか否かを判断する（ステップＢ１）。そして、上記の記憶があった場合は（「ＹＥＳ」）パッシブモードで送信処理を行なうようにする（ステップＢ２）。また、ステップＢ１において上記の記憶がなかった場合は（「ＮＯ」）予定していたモード、即ち、アクティブ，パッシブの何れかのモードで送信処理を行なうようにする（ステップＢ３）。
【００２２】
以上のように本実施例によれば、通信装置１又は２のエッジ間隔比較処理部１０は、自身が搬送波を出力してデータを送信するアクティブモードで通信している場合に、受信した搬送波の周波数と、自身が生成出力しているクロック信号に基づき生成した搬送波周波数との差を監視する。そして、上記周波数差が所定値以上になると共にアクティブモードでの通信が途中で失敗すると、次回に通信を開始する場合にパッシブモードを選択するようにした。従って、通信相手との搬送波周波数の差により通信が失敗する可能性が高いアクティブモードは選択せずパッシブモードを選択することで、確実に通信を行うことができる。
【００２３】
また、通信装置１又２は、パッシブモードにおいてトランザクションを開始する際に「ターゲット」となる場合は、アクティブモードにて応答するべきコマンドを受信すると、所定の受信回数を超えるまで、若しくは所定の時間が経過するまでは応答を返さないようにしたので、他の通信装置に対して、アクティブモードによる通信は不能であることを把握させることができる。
更に、エッジ間隔比較処理部１０による監視の結果、受信した搬送波の周波数と自身が生成した搬送波周波数との差が所定値以上になると、通信装置１又２は、その旨を他方の通信装置に通知するようにしたので、他方の通信装置にアクティブモードによる通信が成立しないことを確実に把握させて、パッシブモードによる通信を開始させるように促すことができる。
【００２４】
本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、以下のような変形または拡張が可能である。
アクティブモードによる通信が失敗した場合のステップＡ４における応答対応処理では、必ずしも「アクティブモードによる通信は不可」であることや「パッシブモードへの切り換え要求」をイニシエータに送信する必要は無く、少なくとも行なわれた通信に対する応答を行なえば良い。
また、アクティブモードによる通信が失敗した以降に、「イニシエータ」である通信相手によってアクティブモードでの通信が繰り返された場合は、必ずしもステップＡ４における応答を返す必要はない。
通信装置１又は２について、外部インターフェイス７は必要に応じて設ければ良い。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施例であり、通信装置がターゲットとなる場合の受信処理の内容を示すフローチャート
【図２】通信装置がイニシエータとなる場合の処理を示すフローチャート
【図３】図１のステップＡ３における受信判定処理の内容を示すフローチャート
【図４】通信システムの構成を示す図
【図５】通信装置の電気的構成を概略的に示す機能ブロック図
【図６】受信回路とＣＰＵとを中心とするより詳細な構成を示す機能ブロック図
【図７】エッジ間隔比較処理部の一構成例を示す図
【図８】エッジ間隔比較処理部の動作の一例を示すタイミングチャート
【符号の説明】
【００２６】
図面中、１及び２は通信装置、１０はエッジ間隔比較処理部（周波数差監視手段）を示す。
【図１】
0004407604.tif 000002
【図２】
0004407604.tif 000003
【図３】
0004407604.tif 000004
【図４】
0004407604.tif 000005
【図５】
0004407604.tif 000006
【図６】
0004407604.tif 000007
【図７】
0004407604.tif 000008
【図８】
0004407604.tif 000009