以下、添付図面を参照しながら本発明の好適な実施形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明を省略する。
本発明の実施形態である赤外線通信装置について、図1を用いて説明する。赤外線通信装置1は、データを受信する受信装置(例えば、赤外線受信部を有する、パーソナルコンピュータやテレビやプリンタ等)に対する、赤外線を用いた近距離データ通信を行うための装置である。赤外線通信装置1の例として、赤外線送受信部を有する携帯電話端末等が挙げられる。この赤外線通信においては、IrDAプロトコルを改良したIrSimpleプロトコル(用いられる赤外線の波長のピーク値は約850nm)が用いられる。すなわち、IrDAプロトコルもIrSimpleプロトコルも用いられる。図1は、赤外線通信装置1及び受信装置2の構成を説明するための構成図である。
赤外線通信装置1は、機能的な構成要素として、送信部(送信手段)100、受信部(受信手段)104、判定部105、データ送信部(データ送信手段)106、撮像部107、データ格納部108、入力部109、作成部110、及び通信制御部111を備えている。なお、送信部100は、第一送信部101、第二送信部102、及び第三送信部103を備えて構成されている。
引き続いて、赤外線通信装置1の各構成要素について説明する。第一送信部101は、第一パケットを受信装置2に送信する部分である。ここで、第一パケットとは、受信装置2が第一プロトコルに対応可能か否かを問い合わせるパケットのことであり、例えば、上記したSNRMパケット(すなわち、SNRM−Command−Frame(IrSimple)パケット)がこれに相当する。第一プロトコルとは、予め定められた第一の通信手順を行うための単一のスロットを用いた赤外線通信プロトコルのことであり、例えば、上記のIrSimpleプロトコルがこれに相当する。なお、スロットとは、赤外線通信装置1が単数又は複数の受信装置2を発見するためのコマンドを含むパケットの送信と、所定時間(例えば、後述のように50ミリ秒間)の間における、このパケットに対する応答パケットの受信待機と、を含むシーケンスのことである。以下、第一プロトコルはIrSimpleプロトコルであり、第一パケットはSNRMパケットであるという前提で説明を行う。なお、IrSimpleプロトコルは、上記したように、IrDAプロトコルを改良して開発された、赤外線通信を行う際に用いられるプロトコルである。受信装置2に送信されたSNRMパケットが、受信装置2に受信されて、後述のUAパケットが受信装置2から赤外線通信装置1に送信されれば、受信装置2はIrSimpleプロトコルに対応していることになる。
第二送信部102は、第二パケットを受信装置2に送信する部分である。ここで、第二パケットとは、受信装置2が第二プロトコルに対応可能か否かを問い合わせるパケットのことであり、例えば、上記したXID1スロットパケット(すなわち、Discovery−XID−Cmdパケット)がこれに相当する。第二プロトコルとは、予め定められた第二の通信手順を行うための単一のスロットを用いた赤外線通信プロトコルのことであり、例えば、上記の1スロット対応した(すなわち、XID1スロットパケットのみの受信に対応した)IrDAプロトコルがこれに相当する。以下、第二プロトコルは1スロット対応のIrDAプロトコルであり、第二パケットはスロット番号0のXID1スロットパケットであるという前提で説明を行う。XID1スロットパケットには、自局すなわち赤外線通信装置1のアドレス情報が含まれている。受信装置2に送信されたXID1スロットパケットが受信装置2に受信されて、後述のRspパケットが受信装置2から赤外線通信装置1に送信されれば、受信装置2は1スロット対応のIrDAプロトコルに対応していることになる。
第三送信部103は、第一送信部101によるSNRMパケットの送信、及び第二送信部102によるXID1スロットパケットの送信が、所定時間の間に少なくとも1回行われた後に、複数の第三パケットを受信装置2に送信する部分である。ここで、複数の第三パケットとは、受信装置2が第三プロトコルに対応可能か否かを問い合わせるパケットのことであり、例えば、上記したスロット番号が0〜7の8つのXIDマルチスロットパケットがこれに相当する。なお、ここでは、XIDマルチスロットパケットの数が8つの場合について説明するが、XIDマルチスロットパケットの数は特に限定されず、例えば6でも16でもよい。また、XIDマルチスロットパケットの数は、赤外線通信装置1が設定することができる。第三プロトコルとは、予め定められた第三の通信手順を行うための複数のスロットを用いた赤外線通信プロトコルのことであり、例えば、上記のマルチスロット対応した(すなわち、8つのXIDマルチスロットパケットのみの受信に対応した)IrDAプロトコルが、これに相当する。以下、第三プロトコルはマルチスロット対応のIrDAプロトコルであるという前提で説明を行う。受信装置2に送信されたXIDマルチスロットパケットが受信装置2に受信されて、Rspマルチパケットが受信装置2から赤外線通信装置1に送信されれば、受信装置2はマルチスロット対応のIrDAプロトコルに対応していることになる。この場合、受信装置2は、受信した8つのXIDマルチスロットパケットから任意に(例えば、乱数等によりランダムに)1つ選択し、この選択したXIDマルチスロットパケットに対応するRspマルチパケットを赤外線通信装置1に送信することにより応答する。このため、赤外線通信装置1は、最大で、XIDマルチスロットパケットの数(すなわち、この場合は8つ)の受信装置2の存在を発見することができる。
受信部104は、SNRMパケット、XID1スロットパケット、及びXIDマルチスロットパケットを受信した受信装置2から、応答パケットを受信する部分である。ここで、応答パケットとは、この受信装置2が対応しているプロトコルを示すパケットのことである。応答パケットの種類による、受信装置2が対応しているプロトコルの違いについては、後述する。受信部104により受信された応答パケットは、通信制御部111を経由して判定部105に送信される。
判定部105は、受信部104により受信された応答パケットの種類に基づいて、受信装置2が対応しているプロトコルを判定する部分である。受信装置2から受信した応答パケットが、Unnumbered Acknowledge(IrSimple)パケット(以下、UAパケットという。)である場合、受信装置2は、IrSimpleプロトコルに対応していることになる。また、受信装置2から受信した応答パケットが、Discovery Flagsの下位2ビットが00であるDiscovery−XID−Rsp(IrDA)パケット(以下、Rspパケットという。)である場合、受信装置2は、1スロット対応したIrDAプロトコルに対応していることになる。また、受信装置2から受信した応答パケットが、Discovery Flagsの下位2ビットが01、10、又は11であるDiscovery−XID−Rsp(IrDA)パケット(以下、Rspマルチパケットという。)である場合、受信装置2は、マルチスロット対応したIrDAプロトコルに対応していることになる。判定部105により判定された、受信装置2が対応しているプロトコルに関する情報は、通信制御部111を経由してデータ送信部106に送信される。
データ送信部106は、受信部104により受信された応答パケットが示すプロトコルに基づいて、データを受信装置2に送信する部分である。すなわち、データ送信部106は、判定部105により判定された、受信装置2が対応しているプロトコルに基づいて、データを受信装置2に送信する。受信装置2に送信されるデータは、例えば撮像部107により撮像された画像データや、赤外線通信装置1に格納されている電話帳データ等である。
撮像部107は、人物、風景等の被写体を撮像する部分であり、例えば赤外線通信装置1の表面に設けられたカメラ等である。撮像部107が被写体を撮像することにより生成した撮像データは、データ格納部108に送信される。
データ格納部108は、撮像部107から撮像データを受信し、格納する部分である。データ格納部108に格納された撮像データは、通信制御部111による制御のもとで、データ送信部106に送信される。
入力部109は、赤外線通信装置1と受信装置2との間のデータ通信の開始に関する指示を通信制御部111に対して入力する部分であり、例えば赤外線通信装置1の表面に設けられたプッシュボタン等である。
作成部110は、データ送信部106がデータを受信装置2に送信する際に用いるプロトコルを作成する部分である。作成部110により作成されたプロトコルは、通信制御部111を経由してデータ送信部106に送信される。
通信制御部111は、赤外線通信装置1と受信装置2との間のデータ通信を開始させるための制御を行う部分である。通信制御部111は、例えば、受信部104により受信された応答パケットを判定部105に送信したり、判定部105により判定されたプロトコルに関する情報をデータ送信部106に送信したり、データ格納部108に格納された撮像データをデータ送信部106に送信したり、入力部109に入力されたデータ通信の開始に関する指示を受け付けたり、作成部110により作成されたプロトコルをデータ送信部106に送信する等の制御を行う。
引き続いて、赤外線通信装置1とデータ通信を行う受信装置2について説明する。受信装置2は、上記したように、赤外線通信装置1からデータを受信する装置である。受信装置2の例として、赤外線受信部を有する、パーソナルコンピュータやテレビやプリンタ等が挙げられる。
受信装置2は、機能的な構成要素として、受付部201、端末制御部202、応答部203、データ記憶部204、表示部205、及び印刷部206を備えている。ここで、受信装置2がプリンタである場合、表示部205は備えられておらず、受信装置2がテレビである場合、印刷部206は備えられていない。例えば、プリンタは、マルチスロット対応のIrDAプロトコルにのみ対応しており、テレビは、IrSimpleプロトコルにのみ対応している。また、パーソナルコンピュータは、1スロット及びマルチスロット対応のIrDAプロトコル、及びIrSimpleプロトコルに対応している。なお、パーソナルコンピュータは指示入力部(図示せず)を備えており、この指示入力部に対してユーザが指示を入力することにより、表示部205に画像データ等を表示させたり、印刷部206で画像データ等を印刷させたりすることができる。
受付部201は、第一送信部101から送信されたSNRMパケット、第二送信部102から送信されたXID1スロットパケット、及び第三送信部103から送信された複数のXIDマルチスロットパケットを受信する部分である。また、受付部201は、データ送信部106から送信されたデータ等を受信する。受付部201により受信されたこれらのパケットやデータは、端末制御部202に送信される。
端末制御部202は、赤外線通信装置1と受信装置2との間のデータ通信を開始させるための制御を行う部分である。端末制御部202は、受付部201により受信された上記のパケットに基づいて、このパケットに応答するための応答パケットを選択し、この応答パケットを応答部203に送信する。また、端末制御部202は、受付部201により受信された上記のデータを、データ記憶部204に送信する。
応答部203は、端末制御部202から応答パケットを受信し、赤外線通信装置1の受信部104にこの応答パケットを送信する部分である。
データ記憶部204は、端末制御部202からデータを受信して記憶する部分である。データ記憶部204に記憶されたデータは、表示部205又は印刷部206に送信される。
表示部205は、データ記憶部204からデータを受信し、このデータを表示する部分である。表示部205は、例えばディスプレイ等である。
印刷部206は、データ記憶部204からデータを受信し、このデータを印刷して出力する部分である。
引き続いて、赤外線通信装置1が受信装置2に送信する発見コマンドについて説明する。発見コマンドとは、送信部100により送信される、上記のパケットを含んで構成されるコマンドのことである。発見コマンドにより、赤外線通信装置1とデータ通信を行う受信装置2を発見し、この受信装置2が対応するプロトコルやスロット数を特定することができる。図2は、発見コマンドの構成を説明するための発見コマンド10の一例の構成図である。図2における最上部のパケットから1つずつ順に、受信装置2に送信される。
発見コマンド10は、コマンド群10A,10B,10Cの3つのコマンド群が順に続いて構成されている。コマンド群10Aは、SNRMパケット50、XID1スロットパケット60、End−Discovery−XID−Cmd(IrDA)パケット(以下、Endパケットという。)51、及びSNRMパケット52が順に続いて構成されている。SNRMパケット50,52は第一送信部101が送信するパケットであり、XID1スロットパケット60は第二送信部102が送信するパケットであり、Endパケット51は第二送信部102が送信するパケットである。なお、Endパケット51の送信を行うのは、第二送信部102に限定されず、第一送信部101でも第三送信部103でもよい。Endパケット51は、XID1スロットパケット60の発見処理が終了したことを示すパケットである。
コマンド群10Bは、コマンド群10Aと同様の構成である。すなわち、コマンド群10Bは、SNRMパケット53、XID1スロットパケット70、Endパケット54、及びSNRMパケット55が順に続いて構成されている。コマンド群10Aの送信後、後述の所定時間は未だ経過しない(すなわち、タイムアウトしていない)ならば、このコマンド群10Bの送信が行われる。さらに、このコマンド群10Bの送信後、所定時間が未だ経過していない場合に、コマンド群10A,10Bと同様の構成のコマンド群の送信が行われる。この結果、SNRMパケットの送信と、XID1スロットパケットの送信と、SNRMパケットの送信とが、所定時間経過するまで繰り返されることになる。ここでは、コマンド群10Bの送信後、後述の所定時間が経過したとする。この場合、次に、コマンド群10Cの送信が行われる。
コマンド群10Cは、SNRMパケット56、8つのXIDマルチスロットパケット80〜87、Endパケット57、及びSNRMパケット58が順に続いて構成されている。ここで、8つのXIDマルチスロットパケット80〜87はそれぞれ、スロット番号が0〜7のXIDマルチスロットパケットであり、これら8つのXIDマルチスロットパケットが順に続いて構成されている。なお、同じスロット番号0を用いている、XIDマルチスロットパケット80及びXID1スロットパケット60は、Discovery Flagsの下位2ビットが互いに異なるパケットである。SNRMパケット56,58は第一送信部101が送信するパケットであり、8つのXIDマルチスロットパケット80〜87は第二送信部102が送信するパケットであり、Endパケット57は第三送信部103が送信するパケットである。
引き続いて、赤外線通信装置1の動作について、図3に示すシーケンス図を用いて説明する。図3は、赤外線通信装置1と受信装置2との間におけるデータ送受信を開始する際の赤外線通信装置1の動作を示すシーケンス図である。
まず、赤外線通信装置1の送信部100が、SNRMパケット50を受信装置2に送信する(S10)。送信部100は、SNRMパケット50の送信後、50ミリ秒間、赤外線をモニタ(監視)する。以下同様に、送信部100はパケットの送信後、モニタを行う。なお、モニタの再試行は可能としてもよい。このモニタを行っている間に、赤外線通信装置1が、このSNRMパケット50に対応するUAパケットを受信装置2から受信したか否かが、判定部105により判定される(S11)。なお、SNRMパケット50を受信した受信装置2がこのSNRMパケット50に応答する場合、受信装置2の応答部203がUAパケットを赤外線通信装置1に送信する。これにより、赤外線通信装置1がこのUAパケットを受信するため、受信装置2がIrSimpleプロトコルに対応していることが赤外線通信装置1によって認識(IrSimple局の発見)される(S12)。なお、SNRMパケット50には、上記した接続処理に必要な情報も含まれているため、この時点で、上記した接続処理が完了している。この結果、赤外線通信装置1と受信装置2との間において、(IrSimpleプロトコルに基づいた)データ通信が開始される(S13)。より詳しくは、赤外線通信装置1が受信装置2に、データを含むUI(Unnumbered Information)パケットを1つ以上送信することで、データ通信が行われる。なお、データ通信が完了すると、赤外線通信装置1の送信部100は受信装置2にDisconnect−Cmdパケットを送信し、これを受信した受信装置2はDisconnect−Rspパケットを赤外線通信装置1に返信する。これにより、コネクションが切断され、データ通信が終了する。
一方、S11において、赤外線通信装置1がUAパケットを受信したと判定されなかった場合、赤外線通信装置1の送信部100が、XID1スロットパケット60を受信装置2に送信する(S14)。そして、赤外線通信装置1が、このXID1スロットパケット60に対応するRspパケットを受信装置2から受信したか否かが、判定部105により判定される(S15)。なお、XID1スロットパケット60を受信した受信装置2がこのXID1スロットパケット60に応答する場合、受信装置2の応答部203がRspパケットを赤外線通信装置1に送信する。これにより、赤外線通信装置1がこのRspパケットを受信するため、受信装置2が1スロット対応のIrDAプロトコルに対応していることが赤外線通信装置1によって認識(1スロット対応IrDA局の発見)され(S16)、S17に進む。
ここで、S15において、赤外線通信装置1がこのRspパケットを受信装置2から受信したと判定されなかった場合、赤外線通信装置1の送信部100が、Endパケット51を受信装置2に送信する(S17)。そして、赤外線通信装置1が1スロット対応IrDA局を発見したか否かが、判定される(S18)。赤外線通信装置1が1スロット対応IrDA局を発見していた場合、赤外線通信装置1と受信装置2との間において、(1スロット対応の)IrDAプロトコルに基づいたデータ通信が開始される(S13)。より詳しくは、SNRM確認パケット(すなわち、SNRM−Command−Frameパケット)が、赤外線通信装置1から受信装置2に送信される。そして、受信装置2がこのSNRM確認パケットを受信した後に、SNRM確認パケットを赤外線通信装置1に返信する。これにより、赤外線通信装置1と受信装置2との間においてコネクションが確立される。そして、赤外線通信装置1が受信装置2に、データを含むI−Frameパケットを1つ以上送信することで、データ通信が行われる。なお、データ通信が完了すると、赤外線通信装置1の送信部100は受信装置2にUnsequenced−Cmdパケットを送信し、これを受信した受信装置2はUnsequenced−Rspパケットを赤外線通信装置1に返信する。これにより、コネクションが切断され、データ通信が終了する。一方、S18において、赤外線通信装置1が1スロット対応IrDA局を発見したと判定されなかった場合、赤外線通信装置1が、SNRMパケット52を受信装置2に送信する(S19)。そして、赤外線通信装置1が、このSNRMパケット52に対応するUAパケットを受信装置2から受信したか否かが、判定部105により判定される(S20)。なお、SNRMパケット52を受信した受信装置2がこのSNRMパケット52に応答する場合、受信装置2の応答部203がUAパケットを赤外線通信装置1に送信する。これにより、赤外線通信装置1がこのUAパケットを受信するため、受信装置2がIrSimpleプロトコルに対応していることが赤外線通信装置1によって認識(IrSimple局の発見)される(S21)。この結果、赤外線通信装置1と受信装置2との間において、(IrSimpleプロトコルに基づいた)データ通信が開始される(S13)。
一方、S20において、赤外線通信装置1がUAパケットを受信装置2から受信したと判定されなかった場合、この時点でタイムアウトしているか否かが判定される(S22)。すなわち、S11におけるSNRMパケット50の送信と、S15におけるXID1スロットパケット60の送信と、S19におけるSNRMパケット52の送信とが行われた結果、所定時間経過したか否かが判定される。これら3つのパケットの送信が行われても、未だタイムアウトしたと判定されなかった場合、上記のS11に戻って、再度、これら3つのパケットの送信が繰り返される(図2に示した例においては、これら3つのパケットの送信が計2回行われて、タイムアウトしている)。
また、S22において、タイムアウトしたと判定された場合、赤外線通信装置1が、SNRMパケット56を受信装置2に送信する(S23)。そして、赤外線通信装置1が、このSNRMパケット56に対応するUAパケットを受信装置2から受信したか否かが、判定部105により判定される(S24)。なお、SNRMパケット56を受信した受信装置2がこのSNRMパケット56に応答する場合、受信装置2の応答部203がUAパケットを赤外線通信装置1に送信する。これにより、赤外線通信装置1がこのUAパケットを受信するため、受信装置2がIrSimpleプロトコルに対応していることが赤外線通信装置1によって認識(IrSimple局の発見)される(S25)。この結果、赤外線通信装置1と受信装置2との間において、(IrSimpleプロトコルに基づいた)データ通信が開始される(S13)。
一方、S24において、赤外線通信装置1がUAパケットを受信装置2から受信したと判定されなかった場合、赤外線通信装置1の送信部100が、スロット番号0のXIDマルチスロットパケット80を受信装置2に送信する(S26)。そして、赤外線通信装置1が、このXIDマルチスロットパケット80に対応するRspマルチパケットを受信装置2から受信したか否かが、判定部105により判定される(S27)。なお、XIDマルチスロットパケット80を受信した受信装置2がこのXIDマルチスロットパケット80に応答する場合、受信装置2の応答部203がRspマルチパケットを赤外線通信装置1に送信する。このRspマルチパケットには、相手局すなわち受信装置2のアドレス情報が含まれている。これにより、赤外線通信装置1がこのRspマルチパケットを受信するため、受信装置2がマルチスロット対応のIrDAプロトコルに対応していることが、赤外線通信装置1によって認識(マルチスロット対応IrDA局の発見)され(S28)、S29に進む。
ここで、S27において、赤外線通信装置1がこのRspマルチパケットを受信装置2から受信したと判定されなかった場合、赤外線通信装置1の送信部100が、XIDマルチスロットパケットを既に所定個数(ここでは、8つのXIDマルチスロットパケット80〜87)送信したか否かが、判定部105により判定される(S29)。XIDマルチスロットパケットが8つ送信されたと判定されなかった場合は、上記のS26に戻って、赤外線通信装置1の送信部100が、XIDマルチスロットパケットを1つ受信装置2に送信する(S26)。なお、次に送信されるXIDマルチスロットパケットのスロット番号は1つ増えて1(すなわちXIDマルチスロットパケット81)となり、さらに次に送信される場合のXIDマルチスロットパケットのスロット番号はさらに1つ増えて2(すなわちXIDマルチスロットパケット82)となる。このように、XIDマルチスロットパケットが8つ送信されるまで、スロット番号が1つ増えたXIDマルチスロットパケットが順次送信されていく。
また、S29において、XIDマルチスロットパケットが既に8つ送信されたと判定された場合、赤外線通信装置1の送信部100が、Endパケット57を受信装置2に送信する(S30)。そして、赤外線通信装置1がマルチスロット対応IrDA局を発見したか否かが、判定される(S31)。赤外線通信装置1がマルチスロット対応IrDA局を発見していたと判定された場合、赤外線通信装置1と受信装置2との間において、(マルチスロット対応の)IrDAプロトコルに基づいたデータ通信が開始される(S13)。データ通信が開始される処理の詳細は、上記した1スロット対応のIrDAプロトコルの場合と全く同様である。
一方、S31において、赤外線通信装置1がマルチスロット対応IrDA局を発見したと判定されなかった場合、赤外線通信装置1が、SNRMパケット58を受信装置2に送信する(S32)。そして、赤外線通信装置1が、このSNRMパケット58に対応するUAパケットを受信装置2から受信したか否かが、判定される(S33)。なお、SNRMパケット58を受信した受信装置2がこのSNRMパケット58に応答する場合、受信装置2の応答部203がUAパケットを赤外線通信装置1に送信する。これにより、赤外線通信装置1がこのUAパケットを受信するため、受信装置2はIrSimpleプロトコルに対応していることが、赤外線通信装置1によって認識(IrSimple局の発見)される(S34)。この結果、赤外線通信装置1と受信装置2との間において、(IrSimpleプロトコルに基づいた)データ通信が開始される(S13)。
一方、S33において、赤外線通信装置1がUAパケットを受信したと判定されなかった場合、赤外線通信装置1はIrSimple局も1スロット対応のIrSimple局もマルチスロット対応のIrDA局も発見できなかったことになるため、赤外線通信装置1と受信装置2との間におけるデータ通信は開始されることなく、一連の処理は終了される。
引き続いて、受信装置2の動作について、図4に示すシーケンス図を用いて説明する。図4は、赤外線通信装置1と受信装置2との間におけるデータ送受信を開始する際の受信装置2の動作を示すシーケンス図である。
まず、受信装置2がパケットを受信する(S40)。次に、受信装置2がSNRMパケットを受信したか否かが、判定される(S41)。受信装置2がこのSNRMパケットを受信したと判定された場合、受信装置2がIrSimpleプロトコルに対応しているか否かが、判定される(S42)。受信装置2がIrSimpleプロトコルに対応していると判定された場合、受信装置2の応答部203がUAパケットを赤外線通信装置1に送信する(S43)。これにより、赤外線通信装置1がこのUAパケットを受信するため、受信装置2がIrSimpleプロトコルに対応していることが赤外線通信装置1によって認識(IrSimple局の発見)される。この結果、赤外線通信装置1と受信装置2との間において、(IrSimpleプロトコルに基づいた)データ通信が開始される(S44)。なお、S42において、受信装置2がIrSimpleプロトコルに対応していないと判定された場合、後述のS45に進む。
一方、S41において、受信装置2がこのSNRMパケットを受信したと判定されなかった場合、受信装置2がXID1スロットパケットを受信したか否かが、判定される(S45)。受信装置2がXID1スロットパケットを受信したと判定された場合、受信装置2が1スロットのIrDAプロトコルに対応しているか否かが、判定される(S46)。受信装置2が1スロットのIrDAプロトコルに対応していると判定された場合、次に、受信装置2によるXID1スロットパケットの受信は2度目であるか否かが、判定される(S47)。受信装置2によるXID1スロットパケットの受信が2度目であったと判定された場合、受信装置2の応答部203がRspパケットを赤外線通信装置1に送信する(S48)。これにより、赤外線通信装置1がこのRspパケットを受信し、この結果、赤外線通信装置1と受信装置2との間において、(1スロット対応のIrDAプロトコルに基づいた)データ通信が開始される(S44)。一方、S47において、受信装置2によるXID1スロットパケットの受信が2度目であったと判定されなかった場合、上記のS40に戻って、次のパケットの受信を待ち(S40)、再度、判定処理が行われる。これにより、受信装置2が1度目に受信したXID1スロットパケットは、無視される。また、S46において、受信装置2が1スロットのIrDAプロトコルに対応していると判定されなかった場合、後述のS49に進む。
ここで、S45において、受信装置2がXID1スロットパケットを受信したと判定されなかった場合、受信装置2がXIDマルチスロットパケットを受信したか否かが、判定される(S49)。受信装置2がXIDマルチスロットパケットを受信したと判定されなかった場合は、上記のS40に戻って、次のパケットの受信を待ち(S40)、再度、判定処理が行われる。一方、受信装置2がXIDマルチスロットパケットを受信したと判定された場合は、次に、受信装置2がマルチスロットのIrDAプロトコルに対応しているか否かが、判定される(S50)。受信装置2がマルチスロットのIrDAプロトコルに対応していると判定されなかった場合は、上記のS40に戻って、次のパケットの受信を待ち(S40)、再度、判定処理が行われる。一方、受信装置2がマルチスロットのIrDAプロトコルに対応していると判定された場合、受信装置2の応答部203がRspマルチパケットを赤外線通信装置1に送信する(S48)。これにより、赤外線通信装置1がこのRspマルチパケットを受信し、この結果、赤外線通信装置1と受信装置2との間において、(マルチスロット対応のIrDAプロトコルに基づいた)データ通信が開始される(S44)。
引き続いて、本実施形態の作用効果について説明する。まず、第一パケット(SNRMパケット50)の送信(S10)、及び第二パケット(XID1スロットパケット60)の送信(S14)が、送信部100により少なくとも1回行われる。そして、この後(S10〜S22)に、送信部100により複数の第三パケット(8つのXIDマルチスロットパケット80〜87)が受信装置2に送信される(S26〜S29)。そして、第一パケット、第二パケット、及び複数の第三パケットを受信した受信装置2から送信された、当該受信装置2が対応しているプロトコルを示す応答パケット(UAパケット、Rspパケット、又はRspマルチパケット)が、受信部104により受信される。ここで、受信部104により受信された応答パケットが示すプロトコルに基づいて、データ送信部106によりデータが受信装置2に送信される。これにより、受信装置2が第一プロトコル、例えばIrSimpleプロトコルにのみ対応可能である場合でも、この受信装置2に第一パケットが送信されるため、これに対する受信装置2からの応答パケット(UAパケット)が示すプロトコルすなわちIrSimpleプロトコルに基づいたデータ送信が可能となる。また、受信装置2が、第二プロトコル、例えば単一のスロットすなわち1スロット対応のIrDAプロトコルにのみ対応可能である場合でも、この受信装置2に第二パケットが送信されるため、これに対する受信装置2からの応答パケット(Rspパケット)が示すプロトコルすなわち1スロット対応のIrDAプロトコルに基づいたデータ送信が可能となる。さらに、受信装置2が、第三プロトコル、例えば複数のスロットすなわちマルチスロット対応のIrDAプロトコルにのみ対応可能である場合でも、この受信装置2に複数の第三パケットが送信されるため、これに対する受信装置2からの応答パケット(Rspマルチパケット)が示すプロトコルすなわちマルチスロット対応のIrDAプロトコルに基づいたデータ送信が可能となる。この結果、受信装置2が対応可能なプロトコルやスロット数に関わらず、赤外線通信装置1と受信装置2との間のデータ通信が可能となる(S13)。
ここで、受信装置2が、第一プロトコルであるIrSimpleプロトコル、第二プロトコルである1スロット対応のIrDAプロトコル、第三プロトコルであるマルチスロット対応のIrDAプロトコルの全てに対応可能である場合について説明する。この場合、図2に示したコマンド群10A及び10Bの最初あるいは途中の部分のパケットからの、受信装置2における受信準備が整って、このパケットからの受信が開始されると、より高速に通信可能なIrSimpleプロトコルに基づいたデータ通信が選択され、このプロトコルに基づいたデータ通信が行われる(UAパケットが受信装置2から返信されるため)。なお、受信装置2が、これら3つのプロトコルに対応可能である場合、図2のコマンド群10Cの複数の第三パケットの受信からの受信準備が整うと、(マルチスロット対応の)IrDAプロトコルに基づいたデータ通信が選択される(Rspマルチパケットが受信装置2から返信されるため)。
なお、より高速に通信可能なIrSimpleプロトコルに基づいたデータ通信を行いたい場合は、赤外線通信装置1及び受信装置2において、以下の2通りの処理のどちらかの処理が行われればよい。すなわち、1つ目の処理は、まず、赤外線通信装置1の送信部100が、図2に示したコマンド群10A及び10Bに引き続き、図2に示したコマンド群10Cを2回以上繰り返し送信する。これに対して、(1スロット対応IrDA局であり、且つマルチスロット対応IrDA局である)受信装置2は、1度目のパケット受信ではRspマルチパケットを返信せずに、2度目のパケット受信でRspマルチパケットを返信するようにする。
あるいは、2つ目の処理は、まず、1つ目の処理と同様に赤外線通信装置1の送信部100が、図2に示したコマンド群10A及び10Bに引き続き、図2に示したコマンド群10Cを2回以上繰り返し送信する。そして、赤外線通信装置1は、受信装置2から2度目のRspマルチパケットを受信したときに初めて、受信装置2がマルチスロット対応IrDA局であると認識し、後続のデータ通信処理を開始する。すなわち、赤外線通信装置1は、1度目のRspマルチパケットの受信時に、これを受信した事実のみを記憶しておくだけで、データ通信処理は開始しない。
赤外線通信装置1及び受信装置2において、これら2通りの処理のどちらかの処理が行われれば、受信装置2が複数の第三パケットを受信する直前に受信準備が整った場合であっても、第三のプロトコルである(マルチスロット対応の)IrDAプロトコルを用いた通信ではなく、第一のプロトコルであるIrSimpleプロトコルを用いた通信を行うことが可能となる。
また、送信部100は、複数の第三パケットを全て送信した後に、再度、第一パケットを受信装置2に送信する(S32)。これにより、受信装置2において、送信部100から送信された第一パケットを受信する準備ができていなかった場合でも、第一パケットは再度送信されるため、受信装置2が第一パケットをより確実に受信することができる。
1…赤外線通信装置、2…受信装置、10…発見コマンド、10A〜10C…コマンド群、30,32,50,52,53,55,56,58…SNRMパケット、31,51,54,57…Endパケット、40,60,70…XID1スロットパケット、80〜87…XIDマルチスロットパケット、100…送信部、101…第一送信部、102…第二送信部、103…第三送信部、104…受信部、105…判定部、106…データ送信部、107…撮像部、108…データ格納部、109…入力部、110…作成部、111…通信制御部、201…受付部、202…端末制御部、203…応答部、204…データ記憶部、205…表示部、206…印刷部。