情報処理装置および方法、並びにプログラム
【課題】シリアルインターフェースにおいてコマンドコードを無くすことで、装置間で送受信されるデータのデータ長を短くし、データ転送速度を上げ、回路規模もしくはメモリサイズを小さくし、低消費電力化を行う。
【解決手段】リーダライタ11からのデータを受信した場合、RFIDモジュール32は、IRQ線44で、割り込み信号をホストCPU34に出す。ホストCPU34は、割り込み信号を受信すると、CLK線41を介して、クロック信号を供給する。RFIDモジュール32は、クロック信号に載せて、DATA線42を介して、データ長を示すデータを送信する。ホストCPU34は、受信したデータが示すデータ長以上に、受信したデータのデータ長がなったとき、データの受信に関わる処理を終了する。本発明は、リーダライタと通信を行うICカードなどに適用できる。
【解決手段】リーダライタ11からのデータを受信した場合、RFIDモジュール32は、IRQ線44で、割り込み信号をホストCPU34に出す。ホストCPU34は、割り込み信号を受信すると、CLK線41を介して、クロック信号を供給する。RFIDモジュール32は、クロック信号に載せて、DATA線42を介して、データ長を示すデータを送信する。ホストCPU34は、受信したデータが示すデータ長以上に、受信したデータのデータ長がなったとき、データの受信に関わる処理を終了する。本発明は、リーダライタと通信を行うICカードなどに適用できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置および方法、並びにプログラムに関し、特に、半二重通信を用いた好適な情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
装置間をシリアルインターフェースで接続し、そのシリアルインターフェースを介してデータの授受を行うことは一般的に行われている。(例えば、特許文献1参照)
【特許文献1】特開2001-290764号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
シリアルインターフェースを介してデータの授受を行う場合、コマンドデータの授受が必要であった。このコマンドデータのデータ長だけ、送受信しなくてはならないデータ長が長くなってしまい、データの転送速度に影響してしまう。また、コマンドデータを解析(デコード)するための回路またはプログラムが必要となる。この回路またはプログラムは、コマンドデータを授受する両方の装置で備える必要がある。よって、コマンドデータを授受する装置は、コマンド生成とデコードを行う回路またはプログラムを備える分だけ、回路規模またはメモリサイズが増大してしまい、装置の小型化と低消費電力化をはばむ一要因となっていた。
【0004】
本発明は、このような状況に鑑みてなされたものであり、コマンドデータの授受を省略し、データ長を短くし、回路規模と消費電力を削減できるようにするものである。
【課題を解決するための手段】
【0005】
本発明の一側面の第1の情報処理装置は、リーダライタと通信を行う通信手段と、前記通信手段を制御するモジュールと、前記モジュールとデータの送受信を行う処理手段と、前記通信手段により、前記リーダライタからのデータを受信したとき、前記モジュールが前記処理手段に対して割り込み信号を出力する割り込み信号出力手段と、前記割り込み信号を受信したとき、前記処理手段から前記モジュールにクロック信号を出力するクロック信号出力手段と、前記クロック信号に載せて、前記モジュールが前記処理手段に対してデータを出力する、または前記処理手段が前記モジュールに対してデータを出力するデータ出力手段と、前記処理手段により前記データの送受信の方向を切り替える信号を出力する切り替え信号出力手段とを備え、前記モジュールは、前記割り込み信号を出力し、前記クロック信号を受信したとき、前記処理手段に送信するデータのデータ長を示すデータ長データを送信し、前記処理手段は、前記データ長を示すデータ長データを受信した後、前記モジュールから前記データ出力手段により出力され、受信されたデータのデータ長をカウントし、そのカウント値が、前記データ長データが示すデータ長以上になったとき、前記モジュールからのデータの出力は終了したと判断する。
【0006】
本発明の一側面の第1の情報処理装置においては、無線で他の装置からデータを受信したとき、有線で接続されている装置に対して、割り込み信号が出される。割り込み信号を受信した側の装置は、クロック信号を供給する。その後、データ長を受信した側は、受信されたデータのデータ長が、そのデータ長になった時点で、データの受信が終了したと判断される。
【0007】
前記リーダライタからのデータはコマンドを含み、前記モジュールは、前記通信手段によりリーダライタからデータを受信したとき、当該コマンドを解析し、前記割り込み信号出力手段は、前記モジュールによるコマンドの解析結果に応じて前記処理手段に対して前記割り込み信号を出力するようにすることができる。
【0008】
本発明の一側面の第2の情報処理装置は、第1の装置からデータを受信したとき、所定のインタフェースで接続されている第2の装置に対して割り込み信号を送信する、前記インタフェースに含まれる第1の線と、前記第2の装置からのクロック信号を受信する、前記インタフェースに含まれる第2の線と、前記第2の装置との間で、データの授受を行う、前記インタフェースに含まれる第3の線とを備える。
【0009】
前記第1の装置からのデータはコマンドを含み、前記第1の装置からデータを受信したとき、当該コマンドを解析し、その解析結果に応じて前記第2の装置に対して前記割り込み信号を送信するようにすることができる。
【0010】
前記第1の線を介して、前記第2の装置に対して、前記割り込み信号を送信した後、前記第2の線を介して、前記第2の装置から前記クロック信号を受信し、前記クロック信号を受信した後、そのクロック信号に載せて、前記第3の線を介して前記第2の装置に送信するデータのデータ長を、前記第2の装置に前記第3の線を介して送信するようにすることができる。
【0011】
前記第2の装置に対してデータを送信するか、または前記第2の装置からのデータを受信するかを示す信号を受信する、前記インタフェースに含まれる第4の線をさらに備えるようにすることができる。
【0012】
前記第4の線を介して送信されてくる前記信号の状態の切り替わりにより、前記第2の装置からデータが送信されてくることを検知し、前記第2の装置からのデータの送信が終了したことを検知するようにすることができる。
【0013】
本発明の一側面の第1の情報処理方法は、第1の装置と無線で通信し、第2の装置と有線で通信する情報処理装置の情報処理方法において、前記第1の装置からデータを受信したとき、前記第2の装置に対して割り込み信号を、前記有線で送信し、前記割り込み信号を受信したとき、前記第2の装置からのクロック信号を前記有線で受信し、前記第2の装置との間で、前記有線でデータの授受を行うステップを含む。
【0014】
本発明の一側面の第1のプログラムは、第1の装置と無線で通信し、第2の装置と有線で通信する情報処理装置に、前記第1の装置からデータを受信したとき、前記第2の装置に対して割り込み信号を、前記有線で送信し、前記割り込み信号を受信したとき、前記第2の装置からのクロック信号を前記有線で受信し、前記第2の装置との間で、前記有線でデータの授受を行うステップを含む処理を実行させるコンピュータが読み取り可能なプログラム。
【0015】
本発明の一側面の第2の情報処理装置および第1の情報処理方法、並びに第1のプログラムにおいては、無線で他の装置からデータが受信されたとき、有線で割り込み信号が送信され、その応答として、クロック信号が受信される。
【0016】
本発明の一側面の第2の情報処理装置は、所定のインタフェースで接続されている第2の装置が第1の装置からデータを受信したとき、前記第2の装置から割り込み信号を受信する前記インタフェースに含まれる第1の線と、前記第2の装置にクロック信号を送信する前記インタフェースに含まれる第2の線と、前記第2の装置との間で、データの授受を行う、前記インタフェースに含まれる第3の線とを備える。
【0017】
前記第1の線を介して、前記第2の装置から前記割り込み信号を受信した後、前記第2の線を介して、前記第2の装置に前記クロック信号を送信し、前記クロック信号を送信した後、そのクロック信号に載せて、前記第3の線を介して前記第2の装置から送信されてくるデータのデータ長を示すデータ長データを、前記第2の装置から前記第3の線を介して受信し、前記データ長データを受信した後、その後に前記第2の装置から送信されてくるデータのデータ長をカウントし、そのカウント値が、受信した前記データ長データが示すデータ長以上になったとき、前記第2の装置からのデータの送信は終了したと判断するようにすることができる。
【0018】
前記第2の装置に対してデータを送信するか、または前記第2の装置からのデータを受信するかを示す信号を前記第2の装置に送信する、前記インタフェースに含まれる第4の線をさらに備えるようにすることができる。
【0019】
前記第4の線を介して送信する前記信号の状態の切り替わりにより、前記第2の装置に対してデータを送信することを検知させ、または、前記第2の装置にデータの送信が終了したことを検知させるようにすることができる。
【0020】
本発明の一側面の第2の情報処理方法は、第1の装置と無線で通信する第2の装置と有線で通信する情報処理装置の情報処理方法において、前記第1の装置から前記第2の装置がデータを受信したとき、前記第2の装置から割り込み信号を、前記有線で受信し、前記割り込み信号を受信したとき、前記第2の装置にクロック信号を前記有線で送信し、前記第2の装置との間で、前記有線でデータの授受を行うステップを含む。
【0021】
本発明の一側面の第2のプログラムは、第1の装置と無線で通信し、第2の装置と有線で通信する情報処理装置に、前記第1の装置から前記第2の装置がデータを受信したとき、前記第2の装置から割り込み信号を、前記有線で受信し、前記割り込み信号を受信したとき、前記第2の装置にクロック信号を前記有線で送信し、前記第2の装置との間で、前記有線でデータの授受を行うステップを含む処理を実行させるコンピュータが読み取り可能なプログラム。
【0022】
本発明の一側面の第3の情報処理装置および第2の情報処理方法、並びに第2のプログラムにおいては、無線で他の装置からデータが受信されたとき、有線で接続されている装置からの割り込み信号が受信され、その応答として、クロック信号が送信される。
【発明の効果】
【0023】
本発明の一側面によれば、接続された装置間で、データの授受を行う際、コマンドデータの授受を省略することが可能となる。また、コマンドデータの授受を省略することで、データ長を短くし、コマンドデータの作成、解析を行う回路またはプログラムを削減できるようになり、同時に消費電力も削減できるようになる。
【発明を実施するための最良の形態】
【0024】
以下に、本発明の実施の形態について図面を参照して説明する。
【0025】
[システムの構成について]
図1は、本発明を適用したシステムの一実施の形態の構成を示す図である。図1に示したシステムは、リーダライタ11、RFID内蔵機器12から構成されている。RFIDは、Radio Frequency Identificationの略である。RFIDによれば、ID情報を埋め込んだタグから、電磁界や電波などを用いた近距離の無線通信によって情報をやりとりすることができる。
【0026】
リーダライタ11は、RFアンテナ21を備え、RFID内蔵機器12は、RFアンテナ31を備える。このRFアンテナ21とRFアンテナ31を用いて、リーダライタ11とRFID内蔵機器12は、通信を行えるように構成されている。
【0027】
RFID内蔵機器12は、RFIDモジュール32とホストCPU(Central Processing Unit)34を含む構成とされる。RFIDモジュール32は、RFアンテナ31を介してのリーダライタ11との通信を制御する。また、RFIDモジュール32は、ホストCPU34と通信を行う。またRFIDモジュール32は、RAM(Random Access Memory)、レジスタ、不揮発性メモリ等の記憶部33を備え、その記憶部33に、リーダライタ11からのデータや、ホストCPU34からのデータを一旦記憶する。
【0028】
RFIDモジュール32とホストCPU34は、有線で接続されており、その線には、4本の線が含まれる。まずホストCPU34からRFIDモジュール32へクロック(clock)信号を供給するCLK線41、RFIDモジュール32とホストCPU34とデータの授受を行う双方向のDATA線42が含まれる。そして、ホストCPU32からRFIDモジュール32に、データ転送の方向を示す指示を出すSEL線43、RFIDモジュール32からホストCPU32へ、割り込みを示す指示を出すIRQ線44が含まれる。
【0029】
なお、図1に示したように、RFIDモジュール32とホストCPU34は、RFID内蔵機器12にともに内蔵されている構成とすることもできるし、別々の構成とすることも可能である。例えば、RFIDモジュール32とホストCPU34は、所定のインタフェースで接続されるように構成され、かつ、ホストCPU34を備える装置に対して、RFIDモジュール32が着脱自在に構成される。
【0030】
このように、別体で構成することで、例えば、ホストCPU34を備える装置自体は、リーダライタ11と通信する機能を有していなくても、RFIDモジュール32が装着されることで、リーダライタ11と通信が行える状態にすることができる。このようなことが可能となることで、例えば、ホストCPU34を備える装置側で蓄積したデータを、必要に応じて、RFIDモジュール32を装着し、リーダライタ11に供給するといったことが可能となる。
【0031】
以下の説明においては、図1に示したように、RFIDモジュール32とホストCPU34が内蔵されているRFID内蔵機器12を例に挙げて説明を続ける。
【0032】
[データの授受に関わる処理について]
図1に示したシステムにおいて、リーダライタ11とRFID内蔵機器12は、無線により通信を行い、RFIDモジュール32とホストCPU34は、有線により通信を行う。通信の一例について、図2を参照して説明する。図2を参照して、通信に関わる処理について簡便に説明し、その後、図4乃至図7の図面を参照し詳細に説明する。
【0033】
ステップS11において、ホストCPU34からRFIDモジュール32に対してデータが送信される。このデータは、例えば、イニシャル(Initial)データである。このデータの送信は、データを所定の単位で分割し、複数回に分けて行われる。RFIDモジュール32は、ホストCPU34からのデータを、ステップS31において複数回に分けて受信する。この送信は、DATA線42にデータが載せられて行われる。また、この送信は、ホストCPU34側の準備ができ次第、開始される。
【0034】
ホストCPU34は、送信したいデータを送信し終わった時点で、SEL線43で、データの送信完了通知をRFIDモジュール32に出す。RFIDモジュール32は、ステップS32において、ホストCPU34からのデータの送信完了通知を受信する。このとき、RFIDモジュール32は、SEL線43により送信されてくるSEL信号の立ち上がりを検出する。このようにして、ホストCPU34からRFIDモジュール32へのデータの送信が行われる。
【0035】
リーダライタ11は、ステップS61において、ポーリングリクエストを出す。リーダライタ11の基本的な動作として、ポーリングし、その結果、近傍にデータの通信を行える装置、この場合、RFID内蔵機器12が存在していることを検知すると、その検知した装置と通信を開始する。
【0036】
ステップS33において、RFID内蔵機器12のRFIDモジュール32が、リーダライタ11からのポーリングリクエストを受信すると、ステップS34において、ポーリングレスポンスを出す。ステップS62において、リーダライタ11は、そのポーリングレスポンスを受信すると、ステップS63において、コマンドリクエストを出す。このコマンドリクエストは、ステップS35において、RFIDモジュール32に受信される。
【0037】
RFIDモジュール32は、コマンドリクエストを受信すると、RFIDモジュール32は、受信したコマンドリクエストから、LengthとDATA等を含む必要な部分を記憶部33に記憶する。ここで、Lengthは、DATAのデータ長を表し、DATAは、データ本体を表すとする。
【0038】
また、ステップS36において、データ受信通知を、IRQ線44でホストCPU34に出す。すなわち、RFIDモジュール32は、ホストCPU34に割り込み信号を出す。その後、RFIDモジュール32は、ステップS37において、ホストCPU34の準備ができ次第、ホストCPUからCLK線41を介して供給されるクロックに同期して、LengthとDATA等を、記憶部33から読み出し、所定の単位のデータに分割し、複数回に分けて、DATA線42を介してホストCPU34に対して転送する。
【0039】
ホストCPU34は、ステップS14において、複数回、RFIDモジュール32から転送されてくるLengthとDATA等を受信する。そして、その転送が終了する。
【0040】
ここで、図3を参照し、ステップS63において、リーダライタ11から送信されるコマンドリクエスト(ステップS35において、RFIDモジュール32に受信されるコマンドリクエスト)と、ステップS37において、RFIDモジュール32からホストCPU34に送信されるデータ(ステップS14において、ホストCPU34がRFIDモジュール32から受信するデータ)について説明を加える。
【0041】
コマンドリクエスト71は、“Length”を示すデータ72、コマンドコードなどを含むデータ73、“DATA”本体であるデータ74、およびCRC(Cyclic Redundancy Checking)などを含むデータ75を含む構成とされている。
【0042】
このようなコマンドリクエスト71が、リーダライタ11とRFIDモジュール32との間で授受される。このようなコマンドリクエスト71を受信したRFIDモジュール32は、データ73、すなわち、コマンドコードなどが含まれるデータ部分を解析する。コマンドコードを解析した結果、ホストCPU34にデータ74(DATA)を送信する必要があると判断された場合、RFIDモジュール32は、ホストCPU34に、図3の2行目に示すようなデータを送信する。
【0043】
すなわち、RFIDモジュール32からホストCPU34に送信されるのは、データ72とデータ74である。上述したように、ステップ37において、まず始めに、RFIDモジュール32から、ホストCPU34に対して、データ74のデータ長を表す“Length”というデータ72が送信される。その後、データの本体であるデータ74が送信される。
【0044】
このように、リーダライタ11から送信されるデータは、コマンドを含むデータである。そして、RFIDモジュール32は、受信したデータに含まれるコマンドを解析し、その解析結果に応じて、ホストCPU34に、データ本体を送信(転送)する。よって、コマンドを解析した結果、ホストCPU34に転送する必要がないと判断された場合には、転送されない場合もある。このようにすることで、ホストCPU34は、リーダライタ11からのコマンドリクエストに含まれるコマンドを解析する必要がなくなり、その解析に必要な回路やプログラムを削減することが可能となる。
【0045】
また、転送されるとき、LengthとDATAだけが送信されるため、転送される全データのデータ長を短くすることができ、仮に、転送レートが低い通信路であっても、データの授受にかかる時間などを短くすることができる。また、後述するように、“Length”のデータ72を送受信することにより、RFIDモジュール32からホストCPU34に対してコマンドなどを送信しなくてよくなり、その分、転送効率を向上させることが可能となる。
【0046】
図2の説明に戻り、コマンドレスポンスに対するRFIDモジュール32への返答をホストCPU34から出す必要がある場合、ホストCPU34は、SEL線43のSEL信号をH(High)からL(Lo)に切り替えることで、DATA線42の転送方向をホストCPU34からRFIDモジュール32の方向に切り替える。
【0047】
そして、ステップS15において、ホストCPU34からRFIDモジュール32へのデータの送信が行われる。ホストCPU34は、ホストCPU34の準備ができ次第、ホストCPUからCLK線41を介して供給されるクロックに同期して、複数回にわたり、RFIDモジュール32に対して、DATA線42を介してデータを送信する。このデータは、ステップS38において、RFIDモジュール32により受信される。RFIDモジュール32は、必要に応じ、受信したデータを記憶部33に記憶する。
【0048】
そして、ホストCPU34は、データの送信が終了した場合、SEL線43で、SEL信号をL(Lo)からH(High)に切り替えることで、データの送信完了通知をRFIDモジュール32に出す。RFIDモジュール32は、ステップS39において、ホストCPU34からのデータの送信完了通知を受信する。このとき、RFIDモジュール32は、SEL線43により送信されてくるSEL信号の立ち上がりを検出する。このようにして、ホストCPU34からRFIDモジュール32へのデータの送信が行われる。
【0049】
RFIDモジュール32は、送信完了通知を受信すると、ステップS40において、記憶部33に記憶されているデータを読み出し、必要な情報を付加して、リーダライタ11に対して、コマンドレスポンス(読み出されたデータ)を出す。このRFIDモジュール32からのコマンドレスポンスは、ステップS64において、リーダライタ11により受信される。
【0050】
ここで、再度図3を参照し、ステップS15において、ホストCPU34からRFIDモジュール32に送信されるデータ(ステップS38において、RFIDモジュール32がホストCPU34から受信するデータ)と、ステップS40において、RFIDモジュール32からリーダライタ11に送信されるコマンドレスポンス(ステップS64において、リーダライタ11がRFIDモジュール32から受信するコマンドレスポンス)について説明を加える。
【0051】
図3の3行目に示したように、ホストCPU34が、RFIDモジュール32に対して送信したいDATAが、データ81であったとする。このデータ81は、ホストCPU34が、リーダライタ11に対してコマンドレスポンスとして送信したい内容が記述されたデータである。
【0052】
このようなデータ81を受信したRFIDモジュール32は、図3の4行目に示したようなコマンドレスポンス82を生成して、リーダライタ11に対して送信する。すなわちコマンドレスポンス82は、“Length”を示すデータ83、コマンドコードなどを含むデータ84、“DATA”本体であるデータ81、およびCRC(Cyclic Redundancy Checking)などを含むデータ85を含む構成とされている。
【0053】
すなわち、RFIDモジュール32は、ホストCPU34からのデータ81に対して、そのデータ81のデータ長を表す“Length”というデータ83、リーダライタ11に対して処理内容を指示するコマンドコードなどを含むデータ84、および、CRCなどを含むデータ85を付加することでコマンドレスポンス82を生成する。このようなコマンドレスポンス82が、リーダライタ11とRFIDモジュール32との間で授受される。
【0054】
なお、“Length”は、データ81に含まれていても良い。すなわち、ホストCPU34が、データ81を供給するとき、“Length”のデータも、データ81に含めて、RFIDモジュール32に供給するようにしてもよい。このようにした場合、データ81に含まれる“Length”のデータがRFIDモジュール32で抽出されて、データ83として、コマンドレスポンス82に供給されるようにしても良い。
【0055】
このように、ホストCPU34からのデータ81に対して、RFIDモジュール32が、コマンドコードなどを付加するため、ホストCPU34自体は、リーダライタ11に対するコマンドを認識しておく必要がなく、そのために必要な回路やメモリ、そしてプログラムなどを削減することが可能となる。
【0056】
また、ホストCPU34からRFIDモジュール32に送信されるデータは、データ81だけなので、送信される全データのデータ長を短くすることができ、仮に、転送レートが低い通信路であっても、データの授受にかかる時間などを短くすることができる。
【0057】
また、リーダライタ11とRFIDモジュール32とは、無線により通信が行われるため、CRCなどのデータ75(85)が付加されたデータが送受信されることで、比較的通信が不安定な状況であっても、データが正確に授受されるように構成されている。この無線通信に対して、RFIDモジュール32とホストCPU34とは、有線により通信が行われるため、比較的通信は不安定ではなく、CRCなどのデータが付加されたデータを送受信することなく通信が行われるように構成されている。このように通信にメリハリを付けることで、非接触で通信が行われるようなシステムのように、接触している間という、比較的短い時間内でデータの授受を完了しなくてはならないシステムであっても、データの授受を確実に行い、処理することが可能となる。
【0058】
このように、リーダライタ11とRFID内蔵機器12との通信が行われる。また、このように、RFIDモジュール32とホストCPU34との通信が行われる。さらにRFIDモジュール32とホストCPU34との通信について説明を加える。
【0059】
RFIDモジュール32とホストCPU34との通信には、次の4つのパターンが考えられる。すなわち、第1のパターンとして、RFIDモジュール32からホストCPU34にデータを送信し、終了するパターンがある。第2のパターンとして、ホストCPU34からRFIDモジュール32にデータを送信し、終了するパターンがある。
【0060】
第3のパターンとして、RFIDモジュール32からホストCPU34にデータを送信し、その後、ホストCPU34からRFIDモジュール32へデータを送信して終了するパターンがある。そして、ホストCPU34からRFIDモジュール32へデータを送信し、その後、RFIDモジュール32からホストCPU34にデータを送信して終了するパターンがある。以下に、このようなパターン毎に説明を加える。
【0061】
[第1のパターンについて]
図4を参照し、第1のパターン、すなわち、RFIDモジュール32からホストCPU34にデータを送信し、終了するときのRFIDモジュール32とホストCPU34との通信に関わる処理について説明する。この通信は、例えば、リーダライタ11からのコマンドリクエストを受信したときに行われる。
【0062】
時刻t1の時点で、RFIDモジュール32が、例えば、リーダライタ11からのコマンドリクエストを受信すると、IRQ線44で、IRQ信号をホストCPU34に対して通知する。このように、RFIDモジュール32は、ホストCPU34に供給するデータがあるときに、IRQ信号(割り込み信号)を、ホストCPU34に対して、IRQ線44を介して出す。
【0063】
ホストCPU34は、IRQ信号を受信すると、時刻t2において、データを受信する準備ができ次第、CLK線41で、クロック信号を、RFIDモジュール32に対して供給する。クロック信号を、RFIDモジュール32が受信すると、そのクロックにデータを載せて、RFIDモジュール32は、データを送信する。
【0064】
RFIDモジュール32からホストCPU34に一番始めに出されるデータは、データ長を示す“Length”である。この“Length”の後に、データ、例えば、リーダライタ11からのコマンドが転送される。よって、この“Length”は、この“Length”の後に転送(送信)されるデータのデータ長を示す情報である。
【0065】
ホストCPU34は、この“Length”を受信することで、転送されてくるデータ長を把握することができる。そして、ホストCPU34は、転送されてくるデータ長を把握することで、データの転送が終了したか否かを判断することが可能となる。すなわち、ホストCPU34は、“Length”を受信した後、転送されてきたデータ長(受信したデータ長)のカウントを開始する。そして、ホストCPU34は、そのカウントしているカウント値と、“Length”が示すデータ長が一致、または、超えた時点で、データの転送は終了したことを検知する。
【0066】
このように、データの転送の終了を検知することで、RFIDモジュール32からホストCPU34に対して、データの転送を終了したことを示すコマンドを送信しなくても良い。よって、そのようなコマンドを送信する分のデータ長を削減することができる。また、そのようなコマンドを作成、解析するための回路またはプログラムをもうける必要がなくなるため、回路規模もしくはメモリサイズの縮小をはかることが可能となり、低消費電力化も実現できる。
【0067】
このように、RFIDモジュール32からホストCPU34に対してデータが送信されるときには、SEL線43で通信される信号は、H(High)の状態が維持される。SEL線43の信号は、HまたはL(Low)の状態にある。SEL線43の信号が、Hの状態のときには、RFIDモジュール32からホストCPU34にデータが送信される状態であることを意味する。またSEL線43の信号が、Lの状態のときには、ホストCPU34からRFIDモジュール32にデータが送信される状態であることを意味する。
【0068】
すなわち、SEL線43の信号は、データの送信の向きを示す。そして、RFIDモジュール32とホストCPU34との間の通信は、SEL線43の信号の状態が切り替えられることで、データの送信の向きが変更されるように制御される。なおここでは、SEL線43がHの状態のとき、RFIDモジュール32からホストCPU34にデータが送信され、Lの状態のとき、ホストCPU34からRFIDモジュール32にデータが送信されるとして説明を続けるが、逆の設定、すなわち、SEL線43がHの状態のとき、ホストCPU34からRFIDモジュール32にデータが送信され、Lの状態のとき、RFIDモジュール32からホストCPU34にデータが送信されるという設定でも良い。
【0069】
[第2のパターンについて]
次に第2のパターンのとき通信について、図5を参照して説明を加える。第2のパターンは、ホストCPU34からRFIDモジュール32にデータを送信し、終了するパターンである。
【0070】
ホストCPU34は、時刻t1において、RFIDモジュール32にデータの送信を開始したい場合、SEL線43の信号の状態を、HからLの状態に切り替える。なお、ここでは、SEL線43は、通常(待機状態のとき)、Hの状態にされている。これは、Hの状態は、RFIDモジュール32からホストCPU34に対してデータが送信される状態であり、RFIDモジュール32からの割り込み信号(IRQ信号)を、いつでも受信できる状態に維持しておくためである。
【0071】
ホストCPU34により、SEL線43の信号の状態が、HからLに切り替えられ、その切り替えをRFIDモジュール32が検知することで、RFIDモジュール32は、ホストCPU34からデータが送信されてくることを検知する。そして、RFIDモジュール32は、ホストCPU34からのデータを受信できる状態に移行する。
【0072】
ホストCPU34は、SEL線43の信号の状態をHからLに切り替えた後、準備ができ次第、CLK線41で、クロック信号をRFIDモジュール32に供給し、そのクロック信号に載せて、DATA線42を介して、データを送信する。ホストCPU34からRFIDモジュール32にデータが送信されるときには、始めからデータ自体が送信され、“Length”といったデータ長を示すデータは送信されない。これは、RFIDモジュール32では、ホストCPU34からのデータの送信の終了を判断する必要がないからである。
【0073】
これは、図5に示すように、ホストCPU34は、データ長をカウントしてデータ送信しており、データの送信が終了した時点(時刻t2)で、SEL線43の信号の状態を、LからHの状態に切り替えるためである。SEL線43の信号の状態が、LからHの状態に切り替えられ、その切り替えをRFIDモジュール32が検知することで、RFIDモジュール32は、ホストCPU34がデータの送信を終了したことを検知できる。
【0074】
このように、ホストCPU34からRFIDモジュール32にデータが送信されるときには、“Length”といったデータを送受信する必要がなく、その分、送受信するデータ長を削減することが可能となる。また、RFIDモジュール32は、データの送信の開始時や終了時に、通常の通信においては送受信されるコマンドを、本発明によれば送受信する必要がなくなる。このことにより、RFIDモジュール32は、ホストCPU34からのコマンドを作成、解析するための回路またはプログラムを必要とせず、回路規模もしくはメモリサイズが小さくなり、低消費電力化も実現できる。
【0075】
[第3のパターンについて]
次に第3のパターンのとき通信について、図6を参照して説明を加える。第3のパターンは、RFIDモジュール32からホストCPU34にデータが送信され、その後、ホストCPU34からRFIDモジュール32へデータが送信されて終了するパターンである。この第3のパターンの通信は、第1のパターンの通信から第2のパターンの通信が連続的に行われる通信である。また、この通信は、例えば、リーダライタ11からコマンドリクエストを受信し、そのコマンドに対してコマンドレスポンスを返答するときなどに行われる。
【0076】
例えば、時刻t1において、リーダライタ11からコマンドリクエストを受信すると、RFIDモジュール32は、受信したコマンドリクエストから、LengthとDATA等を含む必要な部分を記憶部33に記憶する。また、RFIDモジュール32は、IRQ線44を介して、IRQ信号をホストCPU34に対して送信する。ホストCPU34は、IRQ信号を受信すると、時刻t2において、データを受信する準備ができ次第、CLK線41で、クロック信号を、RFIDモジュール32に対して出す。クロック信号を、RFIDモジュール32が受信すると、そのクロックにデータを載せて、RFIDモジュール32は、データ長が記載された“Length”というデータをホストCPU34に対して送信する。
【0077】
ホストCPU34は、この“Length”を受信すると、転送されてくるデータ長を把握し、その後転送されてくるデータ長(受信したデータ長)のカウントを開始する。そして、ホストCPU34は、そのカウントしているカウント値と、“Length”が示すデータ長が一致した時点で、データの転送は終了したことを検知する。この検知に対応し、時刻t3において、ホストCPU34は、SEL線43の信号の状態を、HからLに切り替える。
【0078】
そして、ホストCPU34は、SEL線43の信号の状態をHからLに切り替えた後、準備ができ次第、CLK線41で、クロック信号をRFIDモジュール32に供給し、そのクロック信号に載せて、DATA線42を介して、データを送信する。例えば、ホストCPU34は、RFIDモジュール32から転送されてきたリーダライタ11からのコマンドに対する返答(データ)を準備し、送信できる状態になったら、クロック信号に載せて、DATA線42を介して、その返答(データ)を送信する。
【0079】
時刻t4において、ホストCPU34は、データの送信を終了するとき、SEL線43の信号の状態をLからHの状態に戻す。このことによりRFIDモジュール32は、ホストCPU34からのデータの送信が終了したことを検知する。この後、必要に応じ、RFIDモジュール32は、リーダライタ11に対して、ホストCPU34からのデータ(コマンドに対する返答)に必要な情報を付加してコマンドレスポンスを送信する。
【0080】
[第4のパターンについて]
次に第4のパターンのとき通信について、図7を参照して説明を加える。第4のパターンは、ホストCPU34からRFIDモジュール32へデータが送信され、その後、RFIDモジュール32からホストCPU34にデータが送信されて終了するパターンである。この第4のパターンの通信は、第2のパターンの通信から第1のパターンの通信が連続的に行われる通信である。
【0081】
時刻t1において、ホストCPU34は、RFIDモジュール32にデータの送信を開始したい場合、SEL線43の状態を、HからLの状態に切り替える。このSEL線43の信号の状態の変化を、RFIDモジュール32が検知することで、RFIDモジュール32は、ホストCPU34からデータが送信されてくることを検知する。そして、RFIDモジュール32は、ホストCPU34からのデータを受信できる状態に移行する。
【0082】
ホストCPU34は、SEL線43の信号の状態をHからLに切り替えた後、準備ができ次第、CLK線41で、クロック信号をRFIDモジュール32に供給し、そのクロック信号に載せて、DATA線42を介して、データを送信する。全てのデータが送信されると、ホストCPU34は、時刻t2において、SEL線43の信号の状態をLからHの状態に戻す。このことによりRFIDモジュール32は、ホストCPU34からのデータの送信が終了したことを検知する。
【0083】
時刻t2の後の時点で、RFIDモジュール32は、ホストCPU34にデータを送信する場合、IRQ線44で、IRQ信号をホストCPU34に対して通知する。ホストCPU34は、IRQ信号を受信すると、データを受信する準備ができ次第、CLK線41で、クロック信号を、RFIDモジュール32に対して出す。クロック信号を、RFIDモジュール32が受信すると、そのクロックにデータを載せて、RFIDモジュール32は、データを出力する。
【0084】
RFIDモジュール32は、ホストCPU34に一番始めにデータ長を示す“Length”というデータを送信する。その後、送信したいデータを送信する。ホストCPU34は、“Length”を受信した後、送信されてきたデータ長(受信したデータ長)のカウントを開始する。そして、ホストCPU34は、そのカウントしているカウント値と、“Length”が示すデータ長が一致、または、超えた時点で、データの送信は終了したことを検知する。終了を検知した後、ホストCPU34は、RFIDモジュール32へのクロックの供給を停止する。
【0085】
このように、いずれのパターンにおいても、ホストCPU34が、通信の開始と終了を制御するので、RFIDモジュール32とホストCPU34は、通信の開始や終了を指示するコマンドコードを発行しなくても良い。よって、少なくとも、コマンドデータの分だけデータ長を削減することが可能となる。
【0086】
すなわち、通信の開始は、ホストCPU34が、IRQ信号を受信するか、またはSEL線43の信号の状態をHからLに切り替え、CLK線41にクロックを供給することで判断される。しかしながら、この通信の開始は、コマンドコードの授受により行われるのではないので、そのようなコマンドデータのデータ長を削減することが可能となる。
【0087】
また通信の終了は、ホストCPU34が、RFIDモジュール32からの“Length”というデータ長に関するデータに基づく判断で行われるか、またはSEL線43の信号の状態をLからHに切り替えることで判断される。しかしながら、この通信の終了は、コマンドコードの授受により行われるのではないので、そのようなコマンドデータのデータ長を削減することが可能となる。
【0088】
また、コマンドデータを用いないことで、コマンドデータを作成、解釈するための機能を有さなくてもよくなる。よって、RFIDモジュール32とホストCPU34、ともに、回路規模もしくはメモリサイズを縮小することが可能となり、消費電力の削減も実現できる。
【0089】
さらには、上記した通信を実施するのに、新たな信号線を有するインタフェースを用いなくても実現できる。すなわち、割り込み信号(IRQ信号)をデータ送信開始のための信号線、データ送信方向信号線をデータ送信完了のための信号線として用い、RFIDモジュール32(Slave)からホストCPU34(Master)へのデータの先頭にデータ長を付けておくことで実現される。よって、インタフェースの信号線を増やさずに、かつ、コマンドコードとデコード回路を無くすことを実現できる。よって、データ数の削減によるデータ送信速度の向上と、エンコード回路とデコード回路もしくはメモリサイズの削減による回路規模の削減効果と消費電力の削減効果を得ることが、本発明を適用することで期待できる。
【0090】
[RFIDモジュール32の処理について]
次に、RFIDモジュール32に注目し、RFIDモジュール32が上述した通信を実行するときの処理について説明する。図8は、RFIDモジュール32の処理について説明するためのフローチャートである。
【0091】
ステップS101において、RFIDモジュール32は、リーダライタ11からのコマンドリクエストを受信したか否かを判断する。ここでは、RFIDモジュール32からホストCPU34へのデータの転送が開始されるトリガーは、リーダライタ11からのコマンドリクエストを受信したこととするため、ステップS101において、RFIDモジュール32は、リーダライタ11からのコマンドリクエストを受信したか否かを判断するとして説明を続ける。しかしながら、他のトリガーでもよく、ステップS101における処理は、そのようなトリガーがあったか否かが判断される処理である。
【0092】
ステップS101において、RFIDモジュール32は、リーダライタ11からのコマンドリクエストを受信したと判断した場合、ステップS102に処理を進める。ステップS102において、受信されたポーリングコマンドが解析され、必要に応じて解析結果としてのLengthとDATA等が、記憶部33に記憶される。すなわち、図3を参照して説明したように、データ72乃至75で構成されるコマンドリクエスト71が受信され、そのうちのデータ73に含まれるコマンドコードが解析される。そして、その解析結果に応じて、データ72の“Length”とデータ74の“DATA”が記憶部33に記憶される。
【0093】
なお、RFIDモジュール32は、上述したように、ホストCPU34との間の通信では、コマンドを解釈する必要はないように構成されているが、リーダライタ11との間の通信では、リーダライタ11からのコマンドを解釈するように構成されている。RFIDモジュール32は、リーダライタ11からのコマンドを解析し、その解析結果に応じて、ホストCPU34と通信を行うようにしてもよい。
【0094】
または、RFIDモジュール32は、リーダライタ11からのコマンドも、RFIDモジュール32は解析せずに、単に、リーダライタ11からのコマンドをホストCPU34に転送する構成とすることも可能である。
【0095】
このような解析や記憶が行われる一方で、ステップS103において、RFIDモジュール32は、ホストCPU34に対して、IRQ信号(割り込み信号)を、IRQ線44を介して出力する。そして、その割り込み信号に対する応答として、ホストCPU34からCLK線41を介してクロック信号の供給が開始されると、ステップS104において、RFIDモジュール32は、“Length”を出力する。例えば、RFIDモジュール32は、記憶部33に記憶されているコマンドのデータ長を、“Length”としてホストCPU34に供給する。
【0096】
“Length”が出力された後、RFIDモジュール32は、ステップS105において、供給されるクロック信号に載せて、ホストCPU34に供給すべきデータを、DATA線42を介して送信する。すなわち、図3の2行目に示したようなデータ72とデータ74を含むデータが、RFIDモジュール32からホストCPU34に送信される。RFIDモジュール32は、データの送信が終了したか否かといった判断を行う必要がなく、データを送信することができるため、データを送信し終わった直後に、次の処理に移ることが可能である。
【0097】
このようなデータの送信が終了された後、または、ステップS101において、コマンドリクエストを受信していないと判断された場合、ステップS106に処理が進められる。ここまでのステップS101乃至S105の処理は、上述した第1のパターンを実現するための処理である。
【0098】
ステップS106において、RFIDモジュール32は、SEL線43の信号のHからLへの切り替わりを検知したか否かを判断する。ステップS106において、SEL線43の信号のHからLへの切り替わりを検知していないと判断された場合、ステップS101に処理が戻され、それ以降の処理が繰り返される。一方、ステップS106において、SEL線43の信号のHからLへの切り替わりを検知したと判断された場合、ステップS107に処理が進められる。
【0099】
ステップS107において、ホストCPU34からクロックに同期して送信されてきたデータ(例えば、図3の3行目に示したデータ81)を受信し、必要に応じて、記憶部33に記憶する。ステップS108において、RFIDモジュール32は、SEL線43の信号のLからHへの切り替わりを検知したか否かを判断する。ステップS108において、SEL線43の信号のLからHへの切り替わりは検知していないと判断された場合、すなわち、ホストCPU34は、まだデータを送信中である場合、ステップS107に処理が戻され、データの受信と記憶が継続される。
【0100】
一方、ステップS108において、RFIDモジュール32は、SEL線43の信号のLからHへの切り替わりを検知したと判断された場合、ステップS109に処理が進められる。この場合、ホストCPU34からのデータを受信し終わった状態であるので、ステップS109において、必要に応じ、記憶部33に記憶されたデータに必要な情報を付加して、リーダライタ11に対して送信される。すなわち、図3の4行目に示したように、ホストCPU34からのデータ81に対して、データ83(“Length”)、データ84(コマンドコード)、およびデータ85(CRC)が付加され、コマンドレスポンス82が生成され、リーダライタ11に送信される。
【0101】
ステップS106からステップS109は、上述した第2のパターンを実現するための処理である。また、ステップS101からステップS109の処理が実行されるのは、上述した第3のパターンが実行されるときである。また、ステップS106からステップS109が実行された後、ステップS101乃至S105の処理が実行されるのは、上述した第4のパターンが実行されるときである。
【0102】
[ホストCPU34の処理について]
次に、図8のフローチャートを参照して説明したRFIDモジュール32の処理に対応して、ホストCPU34側で実行される処理について、図9のフローチャートを参照して説明する。
【0103】
ホストCPU32の処理がスタートする時点では、ホストCPU32はSEL線43の信号の状態をHにしておく。
【0104】
ステップS151において、ホストCPU34は、RFIDモジュール32から、IRQ線44を介して、IRQ(割り込み)信号を受信したか否かを判断する。ステップS151において、IRQ信号を受信したと判断された場合、ステップS152に処理が進められ、受信していないと判断された場合、ステップS157に処理が進められる。
【0105】
ステップS152において、RFIDモジュール32からのデータの送信に対して準備ができ次第、CLK線41を介して、クロック信号の供給を開始する。クロック信号がRFIDモジュール32に供給されることにより、その応答として、ステップS153において、RFIDモジュール32からの“Length”のデータが受信される。“Length”のデータが受信されると、ステップS154において、受信されたデータ長のカウントが開始される。
【0106】
ステップS155において、RFIDモジュール32から、DATA線42を介して送信されてきたデータが受信される。データが受信される毎に、受信されたデータ長がカウントされる。そして、ホストCPU34は、ステップS156において、受信したデータ長、すなわち、カウントしているデータ長が、“Length”が示すデータ長以上になったか否かを判断する。
【0107】
ステップS156において、受信したデータ長が、“Length”が示すデータ長以上になっていないと判断された場合、換言すれば、まだ、RFIDモジュール32からデータが送信されてくると判断される場合、ステップS155に処理が戻され、データの受信が継続される。
【0108】
一方、ステップS156において、受信したデータ長が、“Length”が示すデータ長以上になったと判断された場合、換言すれば、まだ、RFIDモジュール32からのデータの送信は終了されたと判断された場合、ステップS157に処理が進められる。
【0109】
ステップS151乃至S156の処理は、上述した第1のパターンを実現するための処理である。
【0110】
ステップS157において、ホストCPU34は、RFIDモジュール32に送信したいデータがあるか否かを判断する。ステップS157において、送信したいデータがあると判断された場合、ステップS158に処理が進められ、送信したいデータはないと判断された場合、ステップS151に処理が戻され、それ以降の処理が繰り返される。
【0111】
ステップS158において、送信したいデータがあることをRFIDモジュール32に通知するために、SEL線43の信号の状態を、HからLの状態に切り替える。このようにSEL線43の信号の状態が切り替えられることで、RFIDモジュール32がデータを受信できる状態とされ、また、ホストCPU34自体もデータの送信ができる状態になると、ステップS159に処理が進められる。
【0112】
ステップS159において、ホストCPU34は、RFIDモジュール32に対して、DATA線42を介してデータを送信する。なお、クロック信号が、RFIDモジュール32にCLK線41を介して供給されていない場合、データの送信が実行される前に、クロック信号の供給が開始される。
【0113】
ステップS160において、ホストCPU34は、データの送信は終了したか否かを判断し、終了していないと判断した場合、ステップS159に処理を戻し、引き続き、RFIDモジュール32に対してのデータの送信を行う。一方、ステップS160において、データの送信は終了したと判断された場合、ステップS161に処理が進められる。
【0114】
ステップS161おいて、ホストCPU34は、SEL線43の信号の状態を、LからHの状態に戻す。このようにSEL線43の信号が切り替えられることで、RFIDモジュール32は、データの送信が終了したことを検知し、次の処理へ移ることができる。
【0115】
ステップS157からステップS161は、上述した第2のパターンを実現するための処理である。また、ステップS151からステップS161の処理が実行されるのは、上述した第3のパターンが実行されるときである。また、ステップS157からステップS161が実行された後、ステップS151乃至S156の処理が実行されるのは、上述した第4のパターンが実行されるときである。
【0116】
このように、RFIDモジュール32とホストCPU34との通信が行われることで、その間で送受信されるデータ長を短くすることができる。よって、データに送受信に関わる処理負担を軽減させることが可能となる。
【0117】
また、その間で送受信されるデータにはコマンドが含まれないため、そのようなコマンドを作成、解析する機能を有する必要がなくなり、回路規模もしくはメモリサイズを縮小することが可能となる。さらに、そのような機能を有さなくても良いため、コマンドを解析するため処理負担がなく、全体としての処理負担を軽減させることが可能となり、消費電力を削減できる。
【0118】
なお、上述した実施の形態においては、RFIDモジュール32とホストCPU34との通信を例に挙げて説明したが、本発明の適用は、そのような通信に限定されるわけではない。換言すれば、本発明は、上述したシリアルインターフェースの通信方式としてRFIDを例に挙げて説明したが、RFID以外の通信方式に対しても本発明を適用できる。
【0119】
[記録媒体について]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0120】
図10は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0121】
コンピュータにおいて、CPU101、ROM(Read Only Memory)102、RAM(Random Access Memory)103は、バス104により相互に接続されている。バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、入力部106、出力部107、記憶部108、通信部109、およびドライブ210が接続されている。
【0122】
入力部106は、キーボード、マウス、マイクロフォンなどよりなる。出力部107は、ディスプレイ、スピーカなどよりなる。記憶部108は、ハードディスクや不揮発性のメモリなどよりなる。通信部109は、ネットワークインタフェースなどよりなる。ドライブ110は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア111を駆動する。
【0123】
以上のように構成されるコンピュータでは、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105およびバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。
【0124】
コンピュータ(CPU101)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【0125】
コンピュータでは、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
【0126】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0127】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0128】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0129】
【図1】本発明を適用したシステムの一実施の形態の構成を示す図である。
【図2】システムの動作について説明するための図である。
【図3】データ構造について説明するための図である。
【図4】データの送受信のタイミングについて説明するための図である。
【図5】データの送受信のタイミングについて説明するための図である。
【図6】データの送受信のタイミングについて説明するための図である。
【図7】データの送受信のタイミングについて説明するための図である。
【図8】RFIDモジュールの処理について説明するためのフローチャートである。
【図9】ホストCPUの処理について説明するためのフローチャートである。
【図10】記録媒体について説明する図である。
【符号の説明】
【0130】
11 リーダライタ, 12 RFID内蔵機器, 21 RFアンテナ, 31 RFアンテナ, 32 RFIDモジュール, 33 RAM, 34 ホストCPU, 41 CLK線, 42 DATA線, 43 SEL線, 44 IRQ線
【技術分野】
【0001】
本発明は情報処理装置および方法、並びにプログラムに関し、特に、半二重通信を用いた好適な情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
装置間をシリアルインターフェースで接続し、そのシリアルインターフェースを介してデータの授受を行うことは一般的に行われている。(例えば、特許文献1参照)
【特許文献1】特開2001-290764号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
シリアルインターフェースを介してデータの授受を行う場合、コマンドデータの授受が必要であった。このコマンドデータのデータ長だけ、送受信しなくてはならないデータ長が長くなってしまい、データの転送速度に影響してしまう。また、コマンドデータを解析(デコード)するための回路またはプログラムが必要となる。この回路またはプログラムは、コマンドデータを授受する両方の装置で備える必要がある。よって、コマンドデータを授受する装置は、コマンド生成とデコードを行う回路またはプログラムを備える分だけ、回路規模またはメモリサイズが増大してしまい、装置の小型化と低消費電力化をはばむ一要因となっていた。
【0004】
本発明は、このような状況に鑑みてなされたものであり、コマンドデータの授受を省略し、データ長を短くし、回路規模と消費電力を削減できるようにするものである。
【課題を解決するための手段】
【0005】
本発明の一側面の第1の情報処理装置は、リーダライタと通信を行う通信手段と、前記通信手段を制御するモジュールと、前記モジュールとデータの送受信を行う処理手段と、前記通信手段により、前記リーダライタからのデータを受信したとき、前記モジュールが前記処理手段に対して割り込み信号を出力する割り込み信号出力手段と、前記割り込み信号を受信したとき、前記処理手段から前記モジュールにクロック信号を出力するクロック信号出力手段と、前記クロック信号に載せて、前記モジュールが前記処理手段に対してデータを出力する、または前記処理手段が前記モジュールに対してデータを出力するデータ出力手段と、前記処理手段により前記データの送受信の方向を切り替える信号を出力する切り替え信号出力手段とを備え、前記モジュールは、前記割り込み信号を出力し、前記クロック信号を受信したとき、前記処理手段に送信するデータのデータ長を示すデータ長データを送信し、前記処理手段は、前記データ長を示すデータ長データを受信した後、前記モジュールから前記データ出力手段により出力され、受信されたデータのデータ長をカウントし、そのカウント値が、前記データ長データが示すデータ長以上になったとき、前記モジュールからのデータの出力は終了したと判断する。
【0006】
本発明の一側面の第1の情報処理装置においては、無線で他の装置からデータを受信したとき、有線で接続されている装置に対して、割り込み信号が出される。割り込み信号を受信した側の装置は、クロック信号を供給する。その後、データ長を受信した側は、受信されたデータのデータ長が、そのデータ長になった時点で、データの受信が終了したと判断される。
【0007】
前記リーダライタからのデータはコマンドを含み、前記モジュールは、前記通信手段によりリーダライタからデータを受信したとき、当該コマンドを解析し、前記割り込み信号出力手段は、前記モジュールによるコマンドの解析結果に応じて前記処理手段に対して前記割り込み信号を出力するようにすることができる。
【0008】
本発明の一側面の第2の情報処理装置は、第1の装置からデータを受信したとき、所定のインタフェースで接続されている第2の装置に対して割り込み信号を送信する、前記インタフェースに含まれる第1の線と、前記第2の装置からのクロック信号を受信する、前記インタフェースに含まれる第2の線と、前記第2の装置との間で、データの授受を行う、前記インタフェースに含まれる第3の線とを備える。
【0009】
前記第1の装置からのデータはコマンドを含み、前記第1の装置からデータを受信したとき、当該コマンドを解析し、その解析結果に応じて前記第2の装置に対して前記割り込み信号を送信するようにすることができる。
【0010】
前記第1の線を介して、前記第2の装置に対して、前記割り込み信号を送信した後、前記第2の線を介して、前記第2の装置から前記クロック信号を受信し、前記クロック信号を受信した後、そのクロック信号に載せて、前記第3の線を介して前記第2の装置に送信するデータのデータ長を、前記第2の装置に前記第3の線を介して送信するようにすることができる。
【0011】
前記第2の装置に対してデータを送信するか、または前記第2の装置からのデータを受信するかを示す信号を受信する、前記インタフェースに含まれる第4の線をさらに備えるようにすることができる。
【0012】
前記第4の線を介して送信されてくる前記信号の状態の切り替わりにより、前記第2の装置からデータが送信されてくることを検知し、前記第2の装置からのデータの送信が終了したことを検知するようにすることができる。
【0013】
本発明の一側面の第1の情報処理方法は、第1の装置と無線で通信し、第2の装置と有線で通信する情報処理装置の情報処理方法において、前記第1の装置からデータを受信したとき、前記第2の装置に対して割り込み信号を、前記有線で送信し、前記割り込み信号を受信したとき、前記第2の装置からのクロック信号を前記有線で受信し、前記第2の装置との間で、前記有線でデータの授受を行うステップを含む。
【0014】
本発明の一側面の第1のプログラムは、第1の装置と無線で通信し、第2の装置と有線で通信する情報処理装置に、前記第1の装置からデータを受信したとき、前記第2の装置に対して割り込み信号を、前記有線で送信し、前記割り込み信号を受信したとき、前記第2の装置からのクロック信号を前記有線で受信し、前記第2の装置との間で、前記有線でデータの授受を行うステップを含む処理を実行させるコンピュータが読み取り可能なプログラム。
【0015】
本発明の一側面の第2の情報処理装置および第1の情報処理方法、並びに第1のプログラムにおいては、無線で他の装置からデータが受信されたとき、有線で割り込み信号が送信され、その応答として、クロック信号が受信される。
【0016】
本発明の一側面の第2の情報処理装置は、所定のインタフェースで接続されている第2の装置が第1の装置からデータを受信したとき、前記第2の装置から割り込み信号を受信する前記インタフェースに含まれる第1の線と、前記第2の装置にクロック信号を送信する前記インタフェースに含まれる第2の線と、前記第2の装置との間で、データの授受を行う、前記インタフェースに含まれる第3の線とを備える。
【0017】
前記第1の線を介して、前記第2の装置から前記割り込み信号を受信した後、前記第2の線を介して、前記第2の装置に前記クロック信号を送信し、前記クロック信号を送信した後、そのクロック信号に載せて、前記第3の線を介して前記第2の装置から送信されてくるデータのデータ長を示すデータ長データを、前記第2の装置から前記第3の線を介して受信し、前記データ長データを受信した後、その後に前記第2の装置から送信されてくるデータのデータ長をカウントし、そのカウント値が、受信した前記データ長データが示すデータ長以上になったとき、前記第2の装置からのデータの送信は終了したと判断するようにすることができる。
【0018】
前記第2の装置に対してデータを送信するか、または前記第2の装置からのデータを受信するかを示す信号を前記第2の装置に送信する、前記インタフェースに含まれる第4の線をさらに備えるようにすることができる。
【0019】
前記第4の線を介して送信する前記信号の状態の切り替わりにより、前記第2の装置に対してデータを送信することを検知させ、または、前記第2の装置にデータの送信が終了したことを検知させるようにすることができる。
【0020】
本発明の一側面の第2の情報処理方法は、第1の装置と無線で通信する第2の装置と有線で通信する情報処理装置の情報処理方法において、前記第1の装置から前記第2の装置がデータを受信したとき、前記第2の装置から割り込み信号を、前記有線で受信し、前記割り込み信号を受信したとき、前記第2の装置にクロック信号を前記有線で送信し、前記第2の装置との間で、前記有線でデータの授受を行うステップを含む。
【0021】
本発明の一側面の第2のプログラムは、第1の装置と無線で通信し、第2の装置と有線で通信する情報処理装置に、前記第1の装置から前記第2の装置がデータを受信したとき、前記第2の装置から割り込み信号を、前記有線で受信し、前記割り込み信号を受信したとき、前記第2の装置にクロック信号を前記有線で送信し、前記第2の装置との間で、前記有線でデータの授受を行うステップを含む処理を実行させるコンピュータが読み取り可能なプログラム。
【0022】
本発明の一側面の第3の情報処理装置および第2の情報処理方法、並びに第2のプログラムにおいては、無線で他の装置からデータが受信されたとき、有線で接続されている装置からの割り込み信号が受信され、その応答として、クロック信号が送信される。
【発明の効果】
【0023】
本発明の一側面によれば、接続された装置間で、データの授受を行う際、コマンドデータの授受を省略することが可能となる。また、コマンドデータの授受を省略することで、データ長を短くし、コマンドデータの作成、解析を行う回路またはプログラムを削減できるようになり、同時に消費電力も削減できるようになる。
【発明を実施するための最良の形態】
【0024】
以下に、本発明の実施の形態について図面を参照して説明する。
【0025】
[システムの構成について]
図1は、本発明を適用したシステムの一実施の形態の構成を示す図である。図1に示したシステムは、リーダライタ11、RFID内蔵機器12から構成されている。RFIDは、Radio Frequency Identificationの略である。RFIDによれば、ID情報を埋め込んだタグから、電磁界や電波などを用いた近距離の無線通信によって情報をやりとりすることができる。
【0026】
リーダライタ11は、RFアンテナ21を備え、RFID内蔵機器12は、RFアンテナ31を備える。このRFアンテナ21とRFアンテナ31を用いて、リーダライタ11とRFID内蔵機器12は、通信を行えるように構成されている。
【0027】
RFID内蔵機器12は、RFIDモジュール32とホストCPU(Central Processing Unit)34を含む構成とされる。RFIDモジュール32は、RFアンテナ31を介してのリーダライタ11との通信を制御する。また、RFIDモジュール32は、ホストCPU34と通信を行う。またRFIDモジュール32は、RAM(Random Access Memory)、レジスタ、不揮発性メモリ等の記憶部33を備え、その記憶部33に、リーダライタ11からのデータや、ホストCPU34からのデータを一旦記憶する。
【0028】
RFIDモジュール32とホストCPU34は、有線で接続されており、その線には、4本の線が含まれる。まずホストCPU34からRFIDモジュール32へクロック(clock)信号を供給するCLK線41、RFIDモジュール32とホストCPU34とデータの授受を行う双方向のDATA線42が含まれる。そして、ホストCPU32からRFIDモジュール32に、データ転送の方向を示す指示を出すSEL線43、RFIDモジュール32からホストCPU32へ、割り込みを示す指示を出すIRQ線44が含まれる。
【0029】
なお、図1に示したように、RFIDモジュール32とホストCPU34は、RFID内蔵機器12にともに内蔵されている構成とすることもできるし、別々の構成とすることも可能である。例えば、RFIDモジュール32とホストCPU34は、所定のインタフェースで接続されるように構成され、かつ、ホストCPU34を備える装置に対して、RFIDモジュール32が着脱自在に構成される。
【0030】
このように、別体で構成することで、例えば、ホストCPU34を備える装置自体は、リーダライタ11と通信する機能を有していなくても、RFIDモジュール32が装着されることで、リーダライタ11と通信が行える状態にすることができる。このようなことが可能となることで、例えば、ホストCPU34を備える装置側で蓄積したデータを、必要に応じて、RFIDモジュール32を装着し、リーダライタ11に供給するといったことが可能となる。
【0031】
以下の説明においては、図1に示したように、RFIDモジュール32とホストCPU34が内蔵されているRFID内蔵機器12を例に挙げて説明を続ける。
【0032】
[データの授受に関わる処理について]
図1に示したシステムにおいて、リーダライタ11とRFID内蔵機器12は、無線により通信を行い、RFIDモジュール32とホストCPU34は、有線により通信を行う。通信の一例について、図2を参照して説明する。図2を参照して、通信に関わる処理について簡便に説明し、その後、図4乃至図7の図面を参照し詳細に説明する。
【0033】
ステップS11において、ホストCPU34からRFIDモジュール32に対してデータが送信される。このデータは、例えば、イニシャル(Initial)データである。このデータの送信は、データを所定の単位で分割し、複数回に分けて行われる。RFIDモジュール32は、ホストCPU34からのデータを、ステップS31において複数回に分けて受信する。この送信は、DATA線42にデータが載せられて行われる。また、この送信は、ホストCPU34側の準備ができ次第、開始される。
【0034】
ホストCPU34は、送信したいデータを送信し終わった時点で、SEL線43で、データの送信完了通知をRFIDモジュール32に出す。RFIDモジュール32は、ステップS32において、ホストCPU34からのデータの送信完了通知を受信する。このとき、RFIDモジュール32は、SEL線43により送信されてくるSEL信号の立ち上がりを検出する。このようにして、ホストCPU34からRFIDモジュール32へのデータの送信が行われる。
【0035】
リーダライタ11は、ステップS61において、ポーリングリクエストを出す。リーダライタ11の基本的な動作として、ポーリングし、その結果、近傍にデータの通信を行える装置、この場合、RFID内蔵機器12が存在していることを検知すると、その検知した装置と通信を開始する。
【0036】
ステップS33において、RFID内蔵機器12のRFIDモジュール32が、リーダライタ11からのポーリングリクエストを受信すると、ステップS34において、ポーリングレスポンスを出す。ステップS62において、リーダライタ11は、そのポーリングレスポンスを受信すると、ステップS63において、コマンドリクエストを出す。このコマンドリクエストは、ステップS35において、RFIDモジュール32に受信される。
【0037】
RFIDモジュール32は、コマンドリクエストを受信すると、RFIDモジュール32は、受信したコマンドリクエストから、LengthとDATA等を含む必要な部分を記憶部33に記憶する。ここで、Lengthは、DATAのデータ長を表し、DATAは、データ本体を表すとする。
【0038】
また、ステップS36において、データ受信通知を、IRQ線44でホストCPU34に出す。すなわち、RFIDモジュール32は、ホストCPU34に割り込み信号を出す。その後、RFIDモジュール32は、ステップS37において、ホストCPU34の準備ができ次第、ホストCPUからCLK線41を介して供給されるクロックに同期して、LengthとDATA等を、記憶部33から読み出し、所定の単位のデータに分割し、複数回に分けて、DATA線42を介してホストCPU34に対して転送する。
【0039】
ホストCPU34は、ステップS14において、複数回、RFIDモジュール32から転送されてくるLengthとDATA等を受信する。そして、その転送が終了する。
【0040】
ここで、図3を参照し、ステップS63において、リーダライタ11から送信されるコマンドリクエスト(ステップS35において、RFIDモジュール32に受信されるコマンドリクエスト)と、ステップS37において、RFIDモジュール32からホストCPU34に送信されるデータ(ステップS14において、ホストCPU34がRFIDモジュール32から受信するデータ)について説明を加える。
【0041】
コマンドリクエスト71は、“Length”を示すデータ72、コマンドコードなどを含むデータ73、“DATA”本体であるデータ74、およびCRC(Cyclic Redundancy Checking)などを含むデータ75を含む構成とされている。
【0042】
このようなコマンドリクエスト71が、リーダライタ11とRFIDモジュール32との間で授受される。このようなコマンドリクエスト71を受信したRFIDモジュール32は、データ73、すなわち、コマンドコードなどが含まれるデータ部分を解析する。コマンドコードを解析した結果、ホストCPU34にデータ74(DATA)を送信する必要があると判断された場合、RFIDモジュール32は、ホストCPU34に、図3の2行目に示すようなデータを送信する。
【0043】
すなわち、RFIDモジュール32からホストCPU34に送信されるのは、データ72とデータ74である。上述したように、ステップ37において、まず始めに、RFIDモジュール32から、ホストCPU34に対して、データ74のデータ長を表す“Length”というデータ72が送信される。その後、データの本体であるデータ74が送信される。
【0044】
このように、リーダライタ11から送信されるデータは、コマンドを含むデータである。そして、RFIDモジュール32は、受信したデータに含まれるコマンドを解析し、その解析結果に応じて、ホストCPU34に、データ本体を送信(転送)する。よって、コマンドを解析した結果、ホストCPU34に転送する必要がないと判断された場合には、転送されない場合もある。このようにすることで、ホストCPU34は、リーダライタ11からのコマンドリクエストに含まれるコマンドを解析する必要がなくなり、その解析に必要な回路やプログラムを削減することが可能となる。
【0045】
また、転送されるとき、LengthとDATAだけが送信されるため、転送される全データのデータ長を短くすることができ、仮に、転送レートが低い通信路であっても、データの授受にかかる時間などを短くすることができる。また、後述するように、“Length”のデータ72を送受信することにより、RFIDモジュール32からホストCPU34に対してコマンドなどを送信しなくてよくなり、その分、転送効率を向上させることが可能となる。
【0046】
図2の説明に戻り、コマンドレスポンスに対するRFIDモジュール32への返答をホストCPU34から出す必要がある場合、ホストCPU34は、SEL線43のSEL信号をH(High)からL(Lo)に切り替えることで、DATA線42の転送方向をホストCPU34からRFIDモジュール32の方向に切り替える。
【0047】
そして、ステップS15において、ホストCPU34からRFIDモジュール32へのデータの送信が行われる。ホストCPU34は、ホストCPU34の準備ができ次第、ホストCPUからCLK線41を介して供給されるクロックに同期して、複数回にわたり、RFIDモジュール32に対して、DATA線42を介してデータを送信する。このデータは、ステップS38において、RFIDモジュール32により受信される。RFIDモジュール32は、必要に応じ、受信したデータを記憶部33に記憶する。
【0048】
そして、ホストCPU34は、データの送信が終了した場合、SEL線43で、SEL信号をL(Lo)からH(High)に切り替えることで、データの送信完了通知をRFIDモジュール32に出す。RFIDモジュール32は、ステップS39において、ホストCPU34からのデータの送信完了通知を受信する。このとき、RFIDモジュール32は、SEL線43により送信されてくるSEL信号の立ち上がりを検出する。このようにして、ホストCPU34からRFIDモジュール32へのデータの送信が行われる。
【0049】
RFIDモジュール32は、送信完了通知を受信すると、ステップS40において、記憶部33に記憶されているデータを読み出し、必要な情報を付加して、リーダライタ11に対して、コマンドレスポンス(読み出されたデータ)を出す。このRFIDモジュール32からのコマンドレスポンスは、ステップS64において、リーダライタ11により受信される。
【0050】
ここで、再度図3を参照し、ステップS15において、ホストCPU34からRFIDモジュール32に送信されるデータ(ステップS38において、RFIDモジュール32がホストCPU34から受信するデータ)と、ステップS40において、RFIDモジュール32からリーダライタ11に送信されるコマンドレスポンス(ステップS64において、リーダライタ11がRFIDモジュール32から受信するコマンドレスポンス)について説明を加える。
【0051】
図3の3行目に示したように、ホストCPU34が、RFIDモジュール32に対して送信したいDATAが、データ81であったとする。このデータ81は、ホストCPU34が、リーダライタ11に対してコマンドレスポンスとして送信したい内容が記述されたデータである。
【0052】
このようなデータ81を受信したRFIDモジュール32は、図3の4行目に示したようなコマンドレスポンス82を生成して、リーダライタ11に対して送信する。すなわちコマンドレスポンス82は、“Length”を示すデータ83、コマンドコードなどを含むデータ84、“DATA”本体であるデータ81、およびCRC(Cyclic Redundancy Checking)などを含むデータ85を含む構成とされている。
【0053】
すなわち、RFIDモジュール32は、ホストCPU34からのデータ81に対して、そのデータ81のデータ長を表す“Length”というデータ83、リーダライタ11に対して処理内容を指示するコマンドコードなどを含むデータ84、および、CRCなどを含むデータ85を付加することでコマンドレスポンス82を生成する。このようなコマンドレスポンス82が、リーダライタ11とRFIDモジュール32との間で授受される。
【0054】
なお、“Length”は、データ81に含まれていても良い。すなわち、ホストCPU34が、データ81を供給するとき、“Length”のデータも、データ81に含めて、RFIDモジュール32に供給するようにしてもよい。このようにした場合、データ81に含まれる“Length”のデータがRFIDモジュール32で抽出されて、データ83として、コマンドレスポンス82に供給されるようにしても良い。
【0055】
このように、ホストCPU34からのデータ81に対して、RFIDモジュール32が、コマンドコードなどを付加するため、ホストCPU34自体は、リーダライタ11に対するコマンドを認識しておく必要がなく、そのために必要な回路やメモリ、そしてプログラムなどを削減することが可能となる。
【0056】
また、ホストCPU34からRFIDモジュール32に送信されるデータは、データ81だけなので、送信される全データのデータ長を短くすることができ、仮に、転送レートが低い通信路であっても、データの授受にかかる時間などを短くすることができる。
【0057】
また、リーダライタ11とRFIDモジュール32とは、無線により通信が行われるため、CRCなどのデータ75(85)が付加されたデータが送受信されることで、比較的通信が不安定な状況であっても、データが正確に授受されるように構成されている。この無線通信に対して、RFIDモジュール32とホストCPU34とは、有線により通信が行われるため、比較的通信は不安定ではなく、CRCなどのデータが付加されたデータを送受信することなく通信が行われるように構成されている。このように通信にメリハリを付けることで、非接触で通信が行われるようなシステムのように、接触している間という、比較的短い時間内でデータの授受を完了しなくてはならないシステムであっても、データの授受を確実に行い、処理することが可能となる。
【0058】
このように、リーダライタ11とRFID内蔵機器12との通信が行われる。また、このように、RFIDモジュール32とホストCPU34との通信が行われる。さらにRFIDモジュール32とホストCPU34との通信について説明を加える。
【0059】
RFIDモジュール32とホストCPU34との通信には、次の4つのパターンが考えられる。すなわち、第1のパターンとして、RFIDモジュール32からホストCPU34にデータを送信し、終了するパターンがある。第2のパターンとして、ホストCPU34からRFIDモジュール32にデータを送信し、終了するパターンがある。
【0060】
第3のパターンとして、RFIDモジュール32からホストCPU34にデータを送信し、その後、ホストCPU34からRFIDモジュール32へデータを送信して終了するパターンがある。そして、ホストCPU34からRFIDモジュール32へデータを送信し、その後、RFIDモジュール32からホストCPU34にデータを送信して終了するパターンがある。以下に、このようなパターン毎に説明を加える。
【0061】
[第1のパターンについて]
図4を参照し、第1のパターン、すなわち、RFIDモジュール32からホストCPU34にデータを送信し、終了するときのRFIDモジュール32とホストCPU34との通信に関わる処理について説明する。この通信は、例えば、リーダライタ11からのコマンドリクエストを受信したときに行われる。
【0062】
時刻t1の時点で、RFIDモジュール32が、例えば、リーダライタ11からのコマンドリクエストを受信すると、IRQ線44で、IRQ信号をホストCPU34に対して通知する。このように、RFIDモジュール32は、ホストCPU34に供給するデータがあるときに、IRQ信号(割り込み信号)を、ホストCPU34に対して、IRQ線44を介して出す。
【0063】
ホストCPU34は、IRQ信号を受信すると、時刻t2において、データを受信する準備ができ次第、CLK線41で、クロック信号を、RFIDモジュール32に対して供給する。クロック信号を、RFIDモジュール32が受信すると、そのクロックにデータを載せて、RFIDモジュール32は、データを送信する。
【0064】
RFIDモジュール32からホストCPU34に一番始めに出されるデータは、データ長を示す“Length”である。この“Length”の後に、データ、例えば、リーダライタ11からのコマンドが転送される。よって、この“Length”は、この“Length”の後に転送(送信)されるデータのデータ長を示す情報である。
【0065】
ホストCPU34は、この“Length”を受信することで、転送されてくるデータ長を把握することができる。そして、ホストCPU34は、転送されてくるデータ長を把握することで、データの転送が終了したか否かを判断することが可能となる。すなわち、ホストCPU34は、“Length”を受信した後、転送されてきたデータ長(受信したデータ長)のカウントを開始する。そして、ホストCPU34は、そのカウントしているカウント値と、“Length”が示すデータ長が一致、または、超えた時点で、データの転送は終了したことを検知する。
【0066】
このように、データの転送の終了を検知することで、RFIDモジュール32からホストCPU34に対して、データの転送を終了したことを示すコマンドを送信しなくても良い。よって、そのようなコマンドを送信する分のデータ長を削減することができる。また、そのようなコマンドを作成、解析するための回路またはプログラムをもうける必要がなくなるため、回路規模もしくはメモリサイズの縮小をはかることが可能となり、低消費電力化も実現できる。
【0067】
このように、RFIDモジュール32からホストCPU34に対してデータが送信されるときには、SEL線43で通信される信号は、H(High)の状態が維持される。SEL線43の信号は、HまたはL(Low)の状態にある。SEL線43の信号が、Hの状態のときには、RFIDモジュール32からホストCPU34にデータが送信される状態であることを意味する。またSEL線43の信号が、Lの状態のときには、ホストCPU34からRFIDモジュール32にデータが送信される状態であることを意味する。
【0068】
すなわち、SEL線43の信号は、データの送信の向きを示す。そして、RFIDモジュール32とホストCPU34との間の通信は、SEL線43の信号の状態が切り替えられることで、データの送信の向きが変更されるように制御される。なおここでは、SEL線43がHの状態のとき、RFIDモジュール32からホストCPU34にデータが送信され、Lの状態のとき、ホストCPU34からRFIDモジュール32にデータが送信されるとして説明を続けるが、逆の設定、すなわち、SEL線43がHの状態のとき、ホストCPU34からRFIDモジュール32にデータが送信され、Lの状態のとき、RFIDモジュール32からホストCPU34にデータが送信されるという設定でも良い。
【0069】
[第2のパターンについて]
次に第2のパターンのとき通信について、図5を参照して説明を加える。第2のパターンは、ホストCPU34からRFIDモジュール32にデータを送信し、終了するパターンである。
【0070】
ホストCPU34は、時刻t1において、RFIDモジュール32にデータの送信を開始したい場合、SEL線43の信号の状態を、HからLの状態に切り替える。なお、ここでは、SEL線43は、通常(待機状態のとき)、Hの状態にされている。これは、Hの状態は、RFIDモジュール32からホストCPU34に対してデータが送信される状態であり、RFIDモジュール32からの割り込み信号(IRQ信号)を、いつでも受信できる状態に維持しておくためである。
【0071】
ホストCPU34により、SEL線43の信号の状態が、HからLに切り替えられ、その切り替えをRFIDモジュール32が検知することで、RFIDモジュール32は、ホストCPU34からデータが送信されてくることを検知する。そして、RFIDモジュール32は、ホストCPU34からのデータを受信できる状態に移行する。
【0072】
ホストCPU34は、SEL線43の信号の状態をHからLに切り替えた後、準備ができ次第、CLK線41で、クロック信号をRFIDモジュール32に供給し、そのクロック信号に載せて、DATA線42を介して、データを送信する。ホストCPU34からRFIDモジュール32にデータが送信されるときには、始めからデータ自体が送信され、“Length”といったデータ長を示すデータは送信されない。これは、RFIDモジュール32では、ホストCPU34からのデータの送信の終了を判断する必要がないからである。
【0073】
これは、図5に示すように、ホストCPU34は、データ長をカウントしてデータ送信しており、データの送信が終了した時点(時刻t2)で、SEL線43の信号の状態を、LからHの状態に切り替えるためである。SEL線43の信号の状態が、LからHの状態に切り替えられ、その切り替えをRFIDモジュール32が検知することで、RFIDモジュール32は、ホストCPU34がデータの送信を終了したことを検知できる。
【0074】
このように、ホストCPU34からRFIDモジュール32にデータが送信されるときには、“Length”といったデータを送受信する必要がなく、その分、送受信するデータ長を削減することが可能となる。また、RFIDモジュール32は、データの送信の開始時や終了時に、通常の通信においては送受信されるコマンドを、本発明によれば送受信する必要がなくなる。このことにより、RFIDモジュール32は、ホストCPU34からのコマンドを作成、解析するための回路またはプログラムを必要とせず、回路規模もしくはメモリサイズが小さくなり、低消費電力化も実現できる。
【0075】
[第3のパターンについて]
次に第3のパターンのとき通信について、図6を参照して説明を加える。第3のパターンは、RFIDモジュール32からホストCPU34にデータが送信され、その後、ホストCPU34からRFIDモジュール32へデータが送信されて終了するパターンである。この第3のパターンの通信は、第1のパターンの通信から第2のパターンの通信が連続的に行われる通信である。また、この通信は、例えば、リーダライタ11からコマンドリクエストを受信し、そのコマンドに対してコマンドレスポンスを返答するときなどに行われる。
【0076】
例えば、時刻t1において、リーダライタ11からコマンドリクエストを受信すると、RFIDモジュール32は、受信したコマンドリクエストから、LengthとDATA等を含む必要な部分を記憶部33に記憶する。また、RFIDモジュール32は、IRQ線44を介して、IRQ信号をホストCPU34に対して送信する。ホストCPU34は、IRQ信号を受信すると、時刻t2において、データを受信する準備ができ次第、CLK線41で、クロック信号を、RFIDモジュール32に対して出す。クロック信号を、RFIDモジュール32が受信すると、そのクロックにデータを載せて、RFIDモジュール32は、データ長が記載された“Length”というデータをホストCPU34に対して送信する。
【0077】
ホストCPU34は、この“Length”を受信すると、転送されてくるデータ長を把握し、その後転送されてくるデータ長(受信したデータ長)のカウントを開始する。そして、ホストCPU34は、そのカウントしているカウント値と、“Length”が示すデータ長が一致した時点で、データの転送は終了したことを検知する。この検知に対応し、時刻t3において、ホストCPU34は、SEL線43の信号の状態を、HからLに切り替える。
【0078】
そして、ホストCPU34は、SEL線43の信号の状態をHからLに切り替えた後、準備ができ次第、CLK線41で、クロック信号をRFIDモジュール32に供給し、そのクロック信号に載せて、DATA線42を介して、データを送信する。例えば、ホストCPU34は、RFIDモジュール32から転送されてきたリーダライタ11からのコマンドに対する返答(データ)を準備し、送信できる状態になったら、クロック信号に載せて、DATA線42を介して、その返答(データ)を送信する。
【0079】
時刻t4において、ホストCPU34は、データの送信を終了するとき、SEL線43の信号の状態をLからHの状態に戻す。このことによりRFIDモジュール32は、ホストCPU34からのデータの送信が終了したことを検知する。この後、必要に応じ、RFIDモジュール32は、リーダライタ11に対して、ホストCPU34からのデータ(コマンドに対する返答)に必要な情報を付加してコマンドレスポンスを送信する。
【0080】
[第4のパターンについて]
次に第4のパターンのとき通信について、図7を参照して説明を加える。第4のパターンは、ホストCPU34からRFIDモジュール32へデータが送信され、その後、RFIDモジュール32からホストCPU34にデータが送信されて終了するパターンである。この第4のパターンの通信は、第2のパターンの通信から第1のパターンの通信が連続的に行われる通信である。
【0081】
時刻t1において、ホストCPU34は、RFIDモジュール32にデータの送信を開始したい場合、SEL線43の状態を、HからLの状態に切り替える。このSEL線43の信号の状態の変化を、RFIDモジュール32が検知することで、RFIDモジュール32は、ホストCPU34からデータが送信されてくることを検知する。そして、RFIDモジュール32は、ホストCPU34からのデータを受信できる状態に移行する。
【0082】
ホストCPU34は、SEL線43の信号の状態をHからLに切り替えた後、準備ができ次第、CLK線41で、クロック信号をRFIDモジュール32に供給し、そのクロック信号に載せて、DATA線42を介して、データを送信する。全てのデータが送信されると、ホストCPU34は、時刻t2において、SEL線43の信号の状態をLからHの状態に戻す。このことによりRFIDモジュール32は、ホストCPU34からのデータの送信が終了したことを検知する。
【0083】
時刻t2の後の時点で、RFIDモジュール32は、ホストCPU34にデータを送信する場合、IRQ線44で、IRQ信号をホストCPU34に対して通知する。ホストCPU34は、IRQ信号を受信すると、データを受信する準備ができ次第、CLK線41で、クロック信号を、RFIDモジュール32に対して出す。クロック信号を、RFIDモジュール32が受信すると、そのクロックにデータを載せて、RFIDモジュール32は、データを出力する。
【0084】
RFIDモジュール32は、ホストCPU34に一番始めにデータ長を示す“Length”というデータを送信する。その後、送信したいデータを送信する。ホストCPU34は、“Length”を受信した後、送信されてきたデータ長(受信したデータ長)のカウントを開始する。そして、ホストCPU34は、そのカウントしているカウント値と、“Length”が示すデータ長が一致、または、超えた時点で、データの送信は終了したことを検知する。終了を検知した後、ホストCPU34は、RFIDモジュール32へのクロックの供給を停止する。
【0085】
このように、いずれのパターンにおいても、ホストCPU34が、通信の開始と終了を制御するので、RFIDモジュール32とホストCPU34は、通信の開始や終了を指示するコマンドコードを発行しなくても良い。よって、少なくとも、コマンドデータの分だけデータ長を削減することが可能となる。
【0086】
すなわち、通信の開始は、ホストCPU34が、IRQ信号を受信するか、またはSEL線43の信号の状態をHからLに切り替え、CLK線41にクロックを供給することで判断される。しかしながら、この通信の開始は、コマンドコードの授受により行われるのではないので、そのようなコマンドデータのデータ長を削減することが可能となる。
【0087】
また通信の終了は、ホストCPU34が、RFIDモジュール32からの“Length”というデータ長に関するデータに基づく判断で行われるか、またはSEL線43の信号の状態をLからHに切り替えることで判断される。しかしながら、この通信の終了は、コマンドコードの授受により行われるのではないので、そのようなコマンドデータのデータ長を削減することが可能となる。
【0088】
また、コマンドデータを用いないことで、コマンドデータを作成、解釈するための機能を有さなくてもよくなる。よって、RFIDモジュール32とホストCPU34、ともに、回路規模もしくはメモリサイズを縮小することが可能となり、消費電力の削減も実現できる。
【0089】
さらには、上記した通信を実施するのに、新たな信号線を有するインタフェースを用いなくても実現できる。すなわち、割り込み信号(IRQ信号)をデータ送信開始のための信号線、データ送信方向信号線をデータ送信完了のための信号線として用い、RFIDモジュール32(Slave)からホストCPU34(Master)へのデータの先頭にデータ長を付けておくことで実現される。よって、インタフェースの信号線を増やさずに、かつ、コマンドコードとデコード回路を無くすことを実現できる。よって、データ数の削減によるデータ送信速度の向上と、エンコード回路とデコード回路もしくはメモリサイズの削減による回路規模の削減効果と消費電力の削減効果を得ることが、本発明を適用することで期待できる。
【0090】
[RFIDモジュール32の処理について]
次に、RFIDモジュール32に注目し、RFIDモジュール32が上述した通信を実行するときの処理について説明する。図8は、RFIDモジュール32の処理について説明するためのフローチャートである。
【0091】
ステップS101において、RFIDモジュール32は、リーダライタ11からのコマンドリクエストを受信したか否かを判断する。ここでは、RFIDモジュール32からホストCPU34へのデータの転送が開始されるトリガーは、リーダライタ11からのコマンドリクエストを受信したこととするため、ステップS101において、RFIDモジュール32は、リーダライタ11からのコマンドリクエストを受信したか否かを判断するとして説明を続ける。しかしながら、他のトリガーでもよく、ステップS101における処理は、そのようなトリガーがあったか否かが判断される処理である。
【0092】
ステップS101において、RFIDモジュール32は、リーダライタ11からのコマンドリクエストを受信したと判断した場合、ステップS102に処理を進める。ステップS102において、受信されたポーリングコマンドが解析され、必要に応じて解析結果としてのLengthとDATA等が、記憶部33に記憶される。すなわち、図3を参照して説明したように、データ72乃至75で構成されるコマンドリクエスト71が受信され、そのうちのデータ73に含まれるコマンドコードが解析される。そして、その解析結果に応じて、データ72の“Length”とデータ74の“DATA”が記憶部33に記憶される。
【0093】
なお、RFIDモジュール32は、上述したように、ホストCPU34との間の通信では、コマンドを解釈する必要はないように構成されているが、リーダライタ11との間の通信では、リーダライタ11からのコマンドを解釈するように構成されている。RFIDモジュール32は、リーダライタ11からのコマンドを解析し、その解析結果に応じて、ホストCPU34と通信を行うようにしてもよい。
【0094】
または、RFIDモジュール32は、リーダライタ11からのコマンドも、RFIDモジュール32は解析せずに、単に、リーダライタ11からのコマンドをホストCPU34に転送する構成とすることも可能である。
【0095】
このような解析や記憶が行われる一方で、ステップS103において、RFIDモジュール32は、ホストCPU34に対して、IRQ信号(割り込み信号)を、IRQ線44を介して出力する。そして、その割り込み信号に対する応答として、ホストCPU34からCLK線41を介してクロック信号の供給が開始されると、ステップS104において、RFIDモジュール32は、“Length”を出力する。例えば、RFIDモジュール32は、記憶部33に記憶されているコマンドのデータ長を、“Length”としてホストCPU34に供給する。
【0096】
“Length”が出力された後、RFIDモジュール32は、ステップS105において、供給されるクロック信号に載せて、ホストCPU34に供給すべきデータを、DATA線42を介して送信する。すなわち、図3の2行目に示したようなデータ72とデータ74を含むデータが、RFIDモジュール32からホストCPU34に送信される。RFIDモジュール32は、データの送信が終了したか否かといった判断を行う必要がなく、データを送信することができるため、データを送信し終わった直後に、次の処理に移ることが可能である。
【0097】
このようなデータの送信が終了された後、または、ステップS101において、コマンドリクエストを受信していないと判断された場合、ステップS106に処理が進められる。ここまでのステップS101乃至S105の処理は、上述した第1のパターンを実現するための処理である。
【0098】
ステップS106において、RFIDモジュール32は、SEL線43の信号のHからLへの切り替わりを検知したか否かを判断する。ステップS106において、SEL線43の信号のHからLへの切り替わりを検知していないと判断された場合、ステップS101に処理が戻され、それ以降の処理が繰り返される。一方、ステップS106において、SEL線43の信号のHからLへの切り替わりを検知したと判断された場合、ステップS107に処理が進められる。
【0099】
ステップS107において、ホストCPU34からクロックに同期して送信されてきたデータ(例えば、図3の3行目に示したデータ81)を受信し、必要に応じて、記憶部33に記憶する。ステップS108において、RFIDモジュール32は、SEL線43の信号のLからHへの切り替わりを検知したか否かを判断する。ステップS108において、SEL線43の信号のLからHへの切り替わりは検知していないと判断された場合、すなわち、ホストCPU34は、まだデータを送信中である場合、ステップS107に処理が戻され、データの受信と記憶が継続される。
【0100】
一方、ステップS108において、RFIDモジュール32は、SEL線43の信号のLからHへの切り替わりを検知したと判断された場合、ステップS109に処理が進められる。この場合、ホストCPU34からのデータを受信し終わった状態であるので、ステップS109において、必要に応じ、記憶部33に記憶されたデータに必要な情報を付加して、リーダライタ11に対して送信される。すなわち、図3の4行目に示したように、ホストCPU34からのデータ81に対して、データ83(“Length”)、データ84(コマンドコード)、およびデータ85(CRC)が付加され、コマンドレスポンス82が生成され、リーダライタ11に送信される。
【0101】
ステップS106からステップS109は、上述した第2のパターンを実現するための処理である。また、ステップS101からステップS109の処理が実行されるのは、上述した第3のパターンが実行されるときである。また、ステップS106からステップS109が実行された後、ステップS101乃至S105の処理が実行されるのは、上述した第4のパターンが実行されるときである。
【0102】
[ホストCPU34の処理について]
次に、図8のフローチャートを参照して説明したRFIDモジュール32の処理に対応して、ホストCPU34側で実行される処理について、図9のフローチャートを参照して説明する。
【0103】
ホストCPU32の処理がスタートする時点では、ホストCPU32はSEL線43の信号の状態をHにしておく。
【0104】
ステップS151において、ホストCPU34は、RFIDモジュール32から、IRQ線44を介して、IRQ(割り込み)信号を受信したか否かを判断する。ステップS151において、IRQ信号を受信したと判断された場合、ステップS152に処理が進められ、受信していないと判断された場合、ステップS157に処理が進められる。
【0105】
ステップS152において、RFIDモジュール32からのデータの送信に対して準備ができ次第、CLK線41を介して、クロック信号の供給を開始する。クロック信号がRFIDモジュール32に供給されることにより、その応答として、ステップS153において、RFIDモジュール32からの“Length”のデータが受信される。“Length”のデータが受信されると、ステップS154において、受信されたデータ長のカウントが開始される。
【0106】
ステップS155において、RFIDモジュール32から、DATA線42を介して送信されてきたデータが受信される。データが受信される毎に、受信されたデータ長がカウントされる。そして、ホストCPU34は、ステップS156において、受信したデータ長、すなわち、カウントしているデータ長が、“Length”が示すデータ長以上になったか否かを判断する。
【0107】
ステップS156において、受信したデータ長が、“Length”が示すデータ長以上になっていないと判断された場合、換言すれば、まだ、RFIDモジュール32からデータが送信されてくると判断される場合、ステップS155に処理が戻され、データの受信が継続される。
【0108】
一方、ステップS156において、受信したデータ長が、“Length”が示すデータ長以上になったと判断された場合、換言すれば、まだ、RFIDモジュール32からのデータの送信は終了されたと判断された場合、ステップS157に処理が進められる。
【0109】
ステップS151乃至S156の処理は、上述した第1のパターンを実現するための処理である。
【0110】
ステップS157において、ホストCPU34は、RFIDモジュール32に送信したいデータがあるか否かを判断する。ステップS157において、送信したいデータがあると判断された場合、ステップS158に処理が進められ、送信したいデータはないと判断された場合、ステップS151に処理が戻され、それ以降の処理が繰り返される。
【0111】
ステップS158において、送信したいデータがあることをRFIDモジュール32に通知するために、SEL線43の信号の状態を、HからLの状態に切り替える。このようにSEL線43の信号の状態が切り替えられることで、RFIDモジュール32がデータを受信できる状態とされ、また、ホストCPU34自体もデータの送信ができる状態になると、ステップS159に処理が進められる。
【0112】
ステップS159において、ホストCPU34は、RFIDモジュール32に対して、DATA線42を介してデータを送信する。なお、クロック信号が、RFIDモジュール32にCLK線41を介して供給されていない場合、データの送信が実行される前に、クロック信号の供給が開始される。
【0113】
ステップS160において、ホストCPU34は、データの送信は終了したか否かを判断し、終了していないと判断した場合、ステップS159に処理を戻し、引き続き、RFIDモジュール32に対してのデータの送信を行う。一方、ステップS160において、データの送信は終了したと判断された場合、ステップS161に処理が進められる。
【0114】
ステップS161おいて、ホストCPU34は、SEL線43の信号の状態を、LからHの状態に戻す。このようにSEL線43の信号が切り替えられることで、RFIDモジュール32は、データの送信が終了したことを検知し、次の処理へ移ることができる。
【0115】
ステップS157からステップS161は、上述した第2のパターンを実現するための処理である。また、ステップS151からステップS161の処理が実行されるのは、上述した第3のパターンが実行されるときである。また、ステップS157からステップS161が実行された後、ステップS151乃至S156の処理が実行されるのは、上述した第4のパターンが実行されるときである。
【0116】
このように、RFIDモジュール32とホストCPU34との通信が行われることで、その間で送受信されるデータ長を短くすることができる。よって、データに送受信に関わる処理負担を軽減させることが可能となる。
【0117】
また、その間で送受信されるデータにはコマンドが含まれないため、そのようなコマンドを作成、解析する機能を有する必要がなくなり、回路規模もしくはメモリサイズを縮小することが可能となる。さらに、そのような機能を有さなくても良いため、コマンドを解析するため処理負担がなく、全体としての処理負担を軽減させることが可能となり、消費電力を削減できる。
【0118】
なお、上述した実施の形態においては、RFIDモジュール32とホストCPU34との通信を例に挙げて説明したが、本発明の適用は、そのような通信に限定されるわけではない。換言すれば、本発明は、上述したシリアルインターフェースの通信方式としてRFIDを例に挙げて説明したが、RFID以外の通信方式に対しても本発明を適用できる。
【0119】
[記録媒体について]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0120】
図10は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0121】
コンピュータにおいて、CPU101、ROM(Read Only Memory)102、RAM(Random Access Memory)103は、バス104により相互に接続されている。バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、入力部106、出力部107、記憶部108、通信部109、およびドライブ210が接続されている。
【0122】
入力部106は、キーボード、マウス、マイクロフォンなどよりなる。出力部107は、ディスプレイ、スピーカなどよりなる。記憶部108は、ハードディスクや不揮発性のメモリなどよりなる。通信部109は、ネットワークインタフェースなどよりなる。ドライブ110は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア111を駆動する。
【0123】
以上のように構成されるコンピュータでは、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105およびバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。
【0124】
コンピュータ(CPU101)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【0125】
コンピュータでは、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
【0126】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0127】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0128】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0129】
【図1】本発明を適用したシステムの一実施の形態の構成を示す図である。
【図2】システムの動作について説明するための図である。
【図3】データ構造について説明するための図である。
【図4】データの送受信のタイミングについて説明するための図である。
【図5】データの送受信のタイミングについて説明するための図である。
【図6】データの送受信のタイミングについて説明するための図である。
【図7】データの送受信のタイミングについて説明するための図である。
【図8】RFIDモジュールの処理について説明するためのフローチャートである。
【図9】ホストCPUの処理について説明するためのフローチャートである。
【図10】記録媒体について説明する図である。
【符号の説明】
【0130】
11 リーダライタ, 12 RFID内蔵機器, 21 RFアンテナ, 31 RFアンテナ, 32 RFIDモジュール, 33 RAM, 34 ホストCPU, 41 CLK線, 42 DATA線, 43 SEL線, 44 IRQ線
【特許請求の範囲】
【請求項1】
リーダライタと通信を行う通信手段と、
前記通信手段を制御するモジュールと、
前記モジュールとデータの送受信を行う処理手段と、
前記通信手段により、前記リーダライタからのデータを受信したとき、前記モジュールが前記処理手段に対して割り込み信号を出力する割り込み信号出力手段と、
前記割り込み信号を受信したとき、前記処理手段から前記モジュールにクロック信号を出力するクロック信号出力手段と、
前記クロック信号に載せて、前記モジュールが前記処理手段に対してデータを出力する、または前記処理手段が前記モジュールに対してデータを出力するデータ出力手段と、
前記処理手段により前記データの送受信の方向を切り替える信号を出力する切り替え信号出力手段と
を備え、
前記モジュールは、前記割り込み信号を出力し、前記クロック信号を受信したとき、前記処理手段に送信するデータのデータ長を示すデータ長データを送信し、
前記処理手段は、前記データ長を示すデータ長データを受信した後、前記モジュールから前記データ出力手段により出力され、受信されたデータのデータ長をカウントし、そのカウント値が、前記データ長データが示すデータ長以上になったとき、前記モジュールからのデータの出力は終了したと判断する
情報処理装置。
【請求項2】
前記リーダライタからのデータはコマンドを含み、
前記モジュールは、前記通信手段によりリーダライタからデータを受信したとき、当該コマンドを解析し、
前記割り込み信号出力手段は、前記モジュールによるコマンドの解析結果に応じて前記処理手段に対して前記割り込み信号を出力する
請求項1に記載の情報処理装置。
【請求項3】
第1の装置からデータを受信したとき、所定のインタフェースで接続されている第2の装置に対して割り込み信号を送信する、前記インタフェースに含まれる第1の線と、
前記第2の装置からのクロック信号を受信する、前記インタフェースに含まれる第2の線と、
前記第2の装置との間で、データの授受を行う、前記インタフェースに含まれる第3の線と
を備える情報処理装置。
【請求項4】
前記第1の装置からのデータはコマンドを含み、
前記第1の装置からデータを受信したとき、当該コマンドを解析し、その解析結果に応じて前記第2の装置に対して前記割り込み信号を送信する
請求項3に記載の情報処理装置。
【請求項5】
前記第1の線を介して、前記第2の装置に対して、前記割り込み信号を送信した後、前記第2の線を介して、前記第2の装置から前記クロック信号を受信し、
前記クロック信号を受信した後、そのクロック信号に載せて、前記第3の線を介して前記第2の装置に送信するデータのデータ長を、前記第2の装置に前記第3の線を介して送信する
請求項3または請求項4に記載の情報処理装置。
【請求項6】
前記第2の装置に対してデータを送信するか、または前記第2の装置からのデータを受信するかを示す信号を前記第2の装置から受信する、前記インタフェースに含まれる第4の線をさらに備える
請求項3乃至請求項5のいずれかに記載の情報処理装置。
【請求項7】
前記第4の線を介して送信されてくる前記信号の切り替わりにより、前記第2の装置からデータが送信されてくることを検知し、または、前記第2の装置からのデータの送信が終了したことを検知する
請求項6に記載の情報処理装置。
【請求項8】
第1の装置と無線で通信し、第2の装置と有線で通信する情報処理装置の情報処理方法において、
前記第1の装置からデータを受信したとき、前記第2の装置に対して割り込み信号を、前記有線で送信し、
前記割り込み信号を受信した前記第2の装置からのクロック信号を前記有線で受信し、
前記第2の装置との間で、前記有線でデータの授受を行う
ステップを含む情報処理方法。
【請求項9】
第1の装置と無線で通信し、第2の装置と有線で通信する情報処理装置に、
前記第1の装置からデータを受信したとき、前記第2の装置に対して割り込み信号を、前記有線で送信し、
前記割り込み信号を受信した前記第2の装置からのクロック信号を前記有線で受信し、
前記第2の装置との間で、前記有線でデータの授受を行う
ステップを含む処理を実行させるコンピュータが読み取り可能なプログラム。
【請求項10】
所定のインタフェースで接続されている第2の装置が第1の装置からデータを受信したとき、前記第2の装置から割り込み信号を受信する前記インタフェースに含まれる第1の線と、
前記第2の装置にクロック信号を送信する前記インタフェースに含まれる第2の線と、
前記第2の装置との間で、データの授受を行う、前記インタフェースに含まれる第3の線と
を備える情報処理装置。
【請求項11】
前記第1の線を介して、前記第2の装置から前記割り込み信号を受信した後、前記第2の線を介して、前記第2の装置に前記クロック信号を送信し、
前記クロック信号を送信した後、そのクロック信号に載せて、前記第3の線を介して前記第2の装置から送信されてくるデータのデータ長を示すデータ長データを、前記第2の装置から前記第3の線を介して受信し、
前記データ長データを受信した後、その後に前記第2の装置から送信されてくるデータのデータ長をカウントし、そのカウント値が、受信した前記データ長データが示すデータ長以上になったとき、前記第2の装置からのデータの送信は終了したと判断する
請求項10に記載の情報処理装置。
【請求項12】
前記第2の装置に対してデータを送信するか、または前記第2の装置からのデータを受信するかを示す信号を前記第2の装置に送信する、前記インタフェースに含まれる第4の線をさらに備える
請求項10または請求項11に記載の情報処理装置。
【請求項13】
前記第4の線を介して送信する前記信号の状態の切り替わりにより、前記第2の装置に対してデータを送信することを検知させ、または、前記第2の装置にデータの送信が終了したことを検知させる
請求項12に記載の情報処理装置。
【請求項14】
第1の装置と無線で通信する第2の装置と有線で通信する情報処理装置の情報処理方法において、
前記第1の装置から前記第2の装置がデータを受信したとき、前記第2の装置から割り込み信号を、前記有線で受信し、
前記割り込み信号を受信したとき、前記第2の装置にクロック信号を前記有線で送信し、
前記第2の装置との間で、前記有線でデータの授受を行う
ステップを含む情報処理方法。
【請求項15】
第1の装置と無線で通信し、第2の装置と有線で通信する情報処理装置に、
前記第1の装置から前記第2の装置がデータを受信したとき、前記第2の装置から割り込み信号を、前記有線で受信し、
前記割り込み信号を受信したとき、前記第2の装置にクロック信号を前記有線で送信し、
前記第2の装置との間で、前記有線でデータの授受を行う
ステップを含む処理を実行させるコンピュータが読み取り可能なプログラム。
【請求項1】
リーダライタと通信を行う通信手段と、
前記通信手段を制御するモジュールと、
前記モジュールとデータの送受信を行う処理手段と、
前記通信手段により、前記リーダライタからのデータを受信したとき、前記モジュールが前記処理手段に対して割り込み信号を出力する割り込み信号出力手段と、
前記割り込み信号を受信したとき、前記処理手段から前記モジュールにクロック信号を出力するクロック信号出力手段と、
前記クロック信号に載せて、前記モジュールが前記処理手段に対してデータを出力する、または前記処理手段が前記モジュールに対してデータを出力するデータ出力手段と、
前記処理手段により前記データの送受信の方向を切り替える信号を出力する切り替え信号出力手段と
を備え、
前記モジュールは、前記割り込み信号を出力し、前記クロック信号を受信したとき、前記処理手段に送信するデータのデータ長を示すデータ長データを送信し、
前記処理手段は、前記データ長を示すデータ長データを受信した後、前記モジュールから前記データ出力手段により出力され、受信されたデータのデータ長をカウントし、そのカウント値が、前記データ長データが示すデータ長以上になったとき、前記モジュールからのデータの出力は終了したと判断する
情報処理装置。
【請求項2】
前記リーダライタからのデータはコマンドを含み、
前記モジュールは、前記通信手段によりリーダライタからデータを受信したとき、当該コマンドを解析し、
前記割り込み信号出力手段は、前記モジュールによるコマンドの解析結果に応じて前記処理手段に対して前記割り込み信号を出力する
請求項1に記載の情報処理装置。
【請求項3】
第1の装置からデータを受信したとき、所定のインタフェースで接続されている第2の装置に対して割り込み信号を送信する、前記インタフェースに含まれる第1の線と、
前記第2の装置からのクロック信号を受信する、前記インタフェースに含まれる第2の線と、
前記第2の装置との間で、データの授受を行う、前記インタフェースに含まれる第3の線と
を備える情報処理装置。
【請求項4】
前記第1の装置からのデータはコマンドを含み、
前記第1の装置からデータを受信したとき、当該コマンドを解析し、その解析結果に応じて前記第2の装置に対して前記割り込み信号を送信する
請求項3に記載の情報処理装置。
【請求項5】
前記第1の線を介して、前記第2の装置に対して、前記割り込み信号を送信した後、前記第2の線を介して、前記第2の装置から前記クロック信号を受信し、
前記クロック信号を受信した後、そのクロック信号に載せて、前記第3の線を介して前記第2の装置に送信するデータのデータ長を、前記第2の装置に前記第3の線を介して送信する
請求項3または請求項4に記載の情報処理装置。
【請求項6】
前記第2の装置に対してデータを送信するか、または前記第2の装置からのデータを受信するかを示す信号を前記第2の装置から受信する、前記インタフェースに含まれる第4の線をさらに備える
請求項3乃至請求項5のいずれかに記載の情報処理装置。
【請求項7】
前記第4の線を介して送信されてくる前記信号の切り替わりにより、前記第2の装置からデータが送信されてくることを検知し、または、前記第2の装置からのデータの送信が終了したことを検知する
請求項6に記載の情報処理装置。
【請求項8】
第1の装置と無線で通信し、第2の装置と有線で通信する情報処理装置の情報処理方法において、
前記第1の装置からデータを受信したとき、前記第2の装置に対して割り込み信号を、前記有線で送信し、
前記割り込み信号を受信した前記第2の装置からのクロック信号を前記有線で受信し、
前記第2の装置との間で、前記有線でデータの授受を行う
ステップを含む情報処理方法。
【請求項9】
第1の装置と無線で通信し、第2の装置と有線で通信する情報処理装置に、
前記第1の装置からデータを受信したとき、前記第2の装置に対して割り込み信号を、前記有線で送信し、
前記割り込み信号を受信した前記第2の装置からのクロック信号を前記有線で受信し、
前記第2の装置との間で、前記有線でデータの授受を行う
ステップを含む処理を実行させるコンピュータが読み取り可能なプログラム。
【請求項10】
所定のインタフェースで接続されている第2の装置が第1の装置からデータを受信したとき、前記第2の装置から割り込み信号を受信する前記インタフェースに含まれる第1の線と、
前記第2の装置にクロック信号を送信する前記インタフェースに含まれる第2の線と、
前記第2の装置との間で、データの授受を行う、前記インタフェースに含まれる第3の線と
を備える情報処理装置。
【請求項11】
前記第1の線を介して、前記第2の装置から前記割り込み信号を受信した後、前記第2の線を介して、前記第2の装置に前記クロック信号を送信し、
前記クロック信号を送信した後、そのクロック信号に載せて、前記第3の線を介して前記第2の装置から送信されてくるデータのデータ長を示すデータ長データを、前記第2の装置から前記第3の線を介して受信し、
前記データ長データを受信した後、その後に前記第2の装置から送信されてくるデータのデータ長をカウントし、そのカウント値が、受信した前記データ長データが示すデータ長以上になったとき、前記第2の装置からのデータの送信は終了したと判断する
請求項10に記載の情報処理装置。
【請求項12】
前記第2の装置に対してデータを送信するか、または前記第2の装置からのデータを受信するかを示す信号を前記第2の装置に送信する、前記インタフェースに含まれる第4の線をさらに備える
請求項10または請求項11に記載の情報処理装置。
【請求項13】
前記第4の線を介して送信する前記信号の状態の切り替わりにより、前記第2の装置に対してデータを送信することを検知させ、または、前記第2の装置にデータの送信が終了したことを検知させる
請求項12に記載の情報処理装置。
【請求項14】
第1の装置と無線で通信する第2の装置と有線で通信する情報処理装置の情報処理方法において、
前記第1の装置から前記第2の装置がデータを受信したとき、前記第2の装置から割り込み信号を、前記有線で受信し、
前記割り込み信号を受信したとき、前記第2の装置にクロック信号を前記有線で送信し、
前記第2の装置との間で、前記有線でデータの授受を行う
ステップを含む情報処理方法。
【請求項15】
第1の装置と無線で通信し、第2の装置と有線で通信する情報処理装置に、
前記第1の装置から前記第2の装置がデータを受信したとき、前記第2の装置から割り込み信号を、前記有線で受信し、
前記割り込み信号を受信したとき、前記第2の装置にクロック信号を前記有線で送信し、
前記第2の装置との間で、前記有線でデータの授受を行う
ステップを含む処理を実行させるコンピュータが読み取り可能なプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2010−134672(P2010−134672A)
【公開日】平成22年6月17日(2010.6.17)
【国際特許分類】
【出願番号】特願2008−309577(P2008−309577)
【出願日】平成20年12月4日(2008.12.4)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成22年6月17日(2010.6.17)
【国際特許分類】
【出願日】平成20年12月4日(2008.12.4)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]