(57)【要約】【課題】第１および第２のプロトコルをサポートする通信機器と、第２の接続要求コマンドに対して第１の応答レスポンスを返信する、第１のプロトコルをサポートする通信機器との通信を実現する。【解決手段】通信機器は、受信した応答レスポンスの信号から第１の所定間隔毎に検出したパルスを基に第１の所定フレームを検出するＩｒＤＡプロトコルフレーム検出部２０２と、受信した応答レスポンスの信号から第２の所定間隔毎に検出したパルスを基に第２の所定フレームを検出するＩｒＳｉｍｐｌｅプロトコルフレーム検出部２０１と、上記ＩｒＤＡプロトコルフレーム検出部２０２が第１の所定フレームを検出したとき、応答レスポンスの通信速度が第１の通信速度であると決定し、上記ＩｒＳｉｍｐｌｅプロトコルフレーム検出部２０１が第２の所定フレームを検出したとき、応答レスポンスの通信速度を第２の通信速度であると決定する通信速度制御部２３０とを備える。【選択図】図１４
2008141253.tif 000002
【特許請求の範囲】
【請求項１】
受信信号から、第１の通信速度に対応する第１の間隔毎にパルスを検出する第１のパルス検出手段と、
該第１のパルス検出手段が検出したパルスを基に第１の所定フレームを検出する第１の通信速度検出手段と、
受信信号から、第１の通信速度とは異なる第２の通信速度に対応する第２の間隔毎にパルスを検出する第２のパルス検出手段と、
該第２のパルス検出手段が検出したパルスを基に第２の所定フレームを検出する第２の通信速度検出手段と、
上記第１の通信速度検出手段が第１の所定フレームを検出したとき、受信信号の通信速度が第１の通信速度であると決定し、上記第２の通信速度検出手段が第２の所定フレームを検出したとき、受信信号の通信速度を第２の通信速度であると決定する通信速度認識手段とを備えることを特徴とする通信機器。
【請求項２】
上記第１のパルス検出手段および上記第２のパルス検出手段が、通信速度に応じて定まる所定値以上のパルス幅のパルスのみを検出することを特徴とする請求項１に記載の通信機器。
【請求項３】
上記第１の通信速度検出手段が、受信信号を第１の所定間隔で区切った間隔内に２つ以上のパルスを検出する第１の周波数検出手段をさらに備え、
上記第２の通信速度検出手段が、受信信号を第２の所定間隔で区切った間隔内に２つ以上のパルスを検出する第２の周波数検出手段をさらに備え、
上記第１の周波数検出手段が２つ以上のパルスを検出した後、上記第１の通信速度検出手段が第１の所定フレームを検出したとき、上記通信速度認識手段は、受信信号の通信速度を、上記第１の周波数検出手段が２つ以上のパルスを検出する前に決定した通信速度のまま維持し、
上記第２の周波数検出手段が２つ以上のパルスを検出した後、上記第２の通信速度検出手段が第２の所定フレームを検出したとき、上記通信速度認識手段は、受信信号の通信速度を、上記第２の周波数検出手段が２つ以上のパルスを検出する前に決定した通信速度のまま維持すること特徴とする請求項１または２に記載の通信機器。
【請求項４】
上記通信速度認識手段が、
上記第１の通信速度検出手段が第１の所定フレームを検出したとき、第１の受信信号を受信したことを示す第１の通知を行い、
上記第２の通信速度検出手段が第２の所定フレームを検出したとき、第２の受信信号を受信したことを示す第２の通知を行うことを特徴とする請求項１から３のいずれか１項に記載の通信機器。
【請求項５】
上記通信速度認識手段が、受信信号の通信速度を第１の通信速度であると決定した後、上記第２の通信速度検出手段が第２の所定フレームを検出したとき、上記通信速度認識手段が、第２の受信信号を受信したことを示す第３の通知を行い、
上記通信速度認識手段が、受信信号の通信速度を第２の通信速度であると決定した後、上記第１の通信速度検出手段が第１の所定フレームを検出したとき、上記通信速度認識手段が、第１の受信信号を受信したことを示す第４の通知を行うことを特徴とする請求項１から４のいずれか１項に記載の通信機器。
【請求項６】
上記通信速度認識手段が、受信信号の通信速度を第１の通信速度であると決定した後、上記第２の通信速度検出手段が第２の所定フレームを検出したとき、上記通信速度認識手段は、受信信号の通信速度を第１の通信速度のまま維持し、
上記通信速度認識手段が、受信信号の通信速度を第２の通信速度であると決定した後、上記第１の通信速度検出手段が第１の所定フレームを検出したとき、上記通信速度認識手段が、受信信号の通信速度を第２の通信速度のまま維持することを特徴とする請求項１から５のいずれか１項に記載の通信機器。
【請求項７】
上記通信速度認識手段が、受信信号の通信速度を第１の通信速度であると決定した後、上記第２の通信速度検出手段が第２の所定フレームを検出したとき、外部からの指示によって、上記通信速度認識手段が、受信信号の通信速度を第２の通信速度であると決定し、
上記通信速度認識手段が、受信信号の通信速度が第２の通信速度であると決定した後、上記第１の通信速度検出手段が第１の所定フレームを検出したとき、外部からの指示によって、上記通信速度認識手段が、受信信号の通信速度を第１の通信速度であると決定すること特徴とする請求項１から５のいずれか１項に記載の通信機器。
【請求項８】
第１のプロトコルにより接続を行う第１のプロトコル制御手段と、
第２のプロトコルにより接続を行う第２のプロトコル制御手段と、
上記通信速度認識手段が、受信信号の通信速度を第１の通信速度であると決定した場合、上記第１のプロトコル制御手段により対向局との接続を行い、上記通信速度認識手段が、受信信号の通信速度を第２の通信速度であると決定した場合、上記第２のプロトコル制御手段により対向局との接続を行うプロトコル制御手段とを備えることを特徴とする請求項１から７のいずれか１項に通信機器。
【請求項９】
二次局と通信する一次局としての通信機器であって、
受信信号が、上記第１のプロトコル制御手段が送信する第１の接続処理コマンドに対する第１の応答レスポンスの受信信号であるか、または、上記第２のプロトコル制御手段が送信する第２の接続処理コマンドに対する第２の応答レスポンスの受信信号である場合に、
上記プロトコル制御手段が、上記通信速度認識手段が第１の通信速度であると決定した場合、上記第１のプロトコル制御手段により二次局との接続を行い、上記通信速度認識手段が第２の通信速度であると決定した場合、上記第２のプロトコル制御手段により二次局との接続を行うことを特徴とする請求項８に記載の通信機器。
【請求項１０】
上記第１の通信速度が９６００ｂｐｓであり、上記第２の通信速度が１１５．２ｋｂｐｓであることを特徴とする請求項１から９のいずれか１項に記載の通信機器。
【請求項１１】
上記第１のプロトコルがＩｒＤＡ（Infrared Data Association）プロトコルであり、上記第２のプロトコルがＩｒＳｉｍｐｌｅプロトコルであることを特徴とする請求項８または９に記載の通信機器。
【請求項１２】
受信信号から、第１の通信速度に対応する第１の間隔毎にパルスを検出する第１のパルス検出ステップと、
該第１のパルス検出ステップにて検出したパルスを基に第１の所定フレームを検出する第１の通信速度検出ステップと、
受信信号から、第１の通信速度とは異なる第２の通信速度に対応する第２の間隔毎にパルスを検出する第２のパルス検出ステップと、
該第２のパルス検出ステップにて検出したパルスを基に第２の所定フレームを検出する第２の通信速度検出ステップと、
上記第１の通信速度検出ステップにて第１の所定フレームを検出したとき、受信信号の通信速度が第１の通信速度であると決定し、上記第２の通信速度検出ステップにて第２の所定フレームを検出したとき、受信信号の通信速度を第２の通信速度であると決定する通信速度認識ステップとを含むことを特徴とする通信方法。
【請求項１３】
請求項１から１１のいずれか１項に記載の通信機器を動作させる通信回路であって、上記の各手段として機能することを特徴とする通信回路。
【請求項１４】
請求項１から１１のいずれか１項に記載の通信機器を動作させるプログラムであって、コンピュータを上記の各手段として機能させるためのプログラム。
【請求項１５】
請求項１４に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１６】
請求項１から１１のいずれか１項に記載の通信機器を搭載し、該通信機器によって他の通信装置と通信することを特徴とする通信装置と、該他の通信装置とを備えることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを送受信するための通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
（ＩｒＤＡ）
携帯電話、ＰＤＡ（Personal Digital Assistant）、デジタルカメラ、ノートＰＣ（Personal Computer）、プリンタ、スキャナなどの多くの機器をつなぐインタフェースとしてＩｒＤＡ-Ｄ１.１（Infrared Data Association-Data ver1.1）（以下では、「ＩｒＤＡ」（登録商標）と称す）などの赤外線方式がある（非特許文献１から５参照）。
【０００３】
ＩｒＤＡなどの赤外線方式は、指向性があるため、通信機器間に遮蔽物が存在する場合は、データの転送が不可能であるが、通信機器間の見通しが良い場合は、高速のデータ転送が可能である。ＩｒＤＡ規格には、最大転送速度が１６ＭｂｐｓのVery Fast IR（ＶＦＩＲ）と、４ＭｂｐｓのFast IR（ＦＩＲ）と、１１５．２ｋｂｐｓ以下の通信速度のSerial IR（ＳＩＲ）とがあるが、現在市場に出回っているのは、最大転送速度が４Ｍｂｐｓまでのものである。
【０００４】
図３６を参照しながら、ＩｒＤＡ規格におけるＩｒＬＡＰ層の接続手順について説明する。図３６は、赤外線通信の規格の一つであるＩｒＤＡ規格において、ＩｒＬＡＰ層の接続を行うときの信号シーケンスである。
【０００５】
一次局（Primary Device）とは、最初に通信相手を探す側の局、すなわち、データ転送状態の確立を要求する局であり、接続を要求するコマンド（例えば、局発見コマンド（ＸＩＤ（Exchange Station Identification）コマンド））を送出する側の局である。また、二次局（Secondary Device）とは、該要求を受け入れる側の局である。例えば、ＩｒＤＡ規格では、局発見コマンドに対して局発見レスポンス（ＸＩＤレスポンス）を送出する側の局である。なお、一次局から二次局への要求（命令）をコマンドと呼び、逆に、そのコマンドに対する、二次局から一次局への応答をレスポンスと呼ぶ。また、対向局とは、通信相手側の局である。すなわち、一次局の対向局は二次局であり、二次局の対向局は一次局である。
【０００６】
ＸＩＤコマンドとは、一次局から通信可能距離内に二次局となり得る局が存在するかを探すコマンドである。図３６中、括弧内の番号はSlotNumberを１６進数で表している。SlotNumberは、何個目のコマンドを送出しているかを表すものである。
【０００７】
ＸＩＤコマンドを受け取った二次局は、局発見レスポンスであるＸＩＤレスポンスを返し、自局の存在を一次局に知らせる処理を行う。一次局は、規定の数のＸＩＤコマンドを送出し、最後のＸＩＤコマンドのSlotNumberを「0xFF」とする。「0xFF」は、これが最後のコマンド（ＸＩＤ−Ｅｎｄ）であることを示している。
【０００８】
続いて、一次局は、自局の最大転送可能速度、最大受信可能データ長等の通信に必要となるパラメータを、ＳＮＲＭ（Set Normal Response Mode）コマンドを用いて二次局に知らせる。そのコマンドを受け取った二次局は、自局の設定値と比較し、受け入れることが可能な設定値を、ＵＡレスポンスを用いて一次局に知らせる。
【０００９】
ＩｒＬＡＰのコマンドフレームによるＩｒＬＡＰの接続の後、ＩｒＬＡＰのデータフレームにより、ＩｒＬＭＰ、ＴｉｎｙＴＰ、ＯＢＥＸの接続が行われる。
【００１０】
一次局のＩｒＬＭＰの接続要求が、ＩｒＬＡＰのデータフレームにより二次局に転送され、二次局のＩｒＬＭＰ接続応答が、ＩｒＬＡＰのデータフレームにより一次局に転送され、ＩｒＬＭＰの接続が行われる。
【００１１】
ついで、ＴｉｎｙＴＰの接続要求が、ＩｒＬＡＰのデータフレームにより二次局に転送され、二次局のＴｉｎｙＴＰ接続応答が、ＩｒＬＡＰのデータフレームにより一次局に転送され、ＴｉｎｙＴＰの接続が行われる。
【００１２】
さらに、一次局のＯＢＥＸの接続要求が、ＩｒＬＡＰのデータフレームにより二次局に転送され、二次局のＯＢＥＸ接続応答が、ＩｒＬＡＰのデータフレームにより一次局に転送されＯＢＥＸの接続が行われることにより、情報データの転送が可能な接続状態が確立する。
【００１３】
なお、切断時には、ＯＢＥＸの切断要求と応答、ＴｉｎｙＴＰの切断要求と応答、ＩｒＬＭＰの切断要求と応答がＩｒＬＡＰのデータフレームにより送信され、ついでＩｒＬＡＰの切断要求コマンドフレームであるＤＩＳＣコマンドと応答コマンドフレームであるＵＡレスポンスが送信され、一次局と二次局との間の通信状態が切断される。
【００１４】
上記のＩｒＤＡによる接続手順では、データ転送に要する時間が長くなり、転送効率が低下するという問題があった。すなわち、ＩｒＤＡによる接続の確立までには、センシング、ＸＩＤコマンドによる局発見、ＳＮＲＭコマンド，ＵＡレスポンスによるネゴシエーションパラメータの交換が必要である。さらに、このＸＩＤによる局発見は、ＩｒＤＡ規格により９６００ｂｐｓという速度に規定されており、データが交換される４Ｍｂｐｓという速度よりもかなり低速な速度に規定されている。また、情報データの転送までには、上述のとおり、ＩｒＬＡＰ層の接続が完了した後、ＩｒＬＭＰ層、ＴｉｎｙＴＰ層、ＯＢＥＸ層の各層を順に接続していく必要がある。
【００１５】
一般的に、大容量のデータを転送するのに要する時間は長くなるので、通信機器間の接続を長時間保つ必要がある。しかし、赤外線による通信では、例えば通信機器間の見通しが悪くなったときには接続が切断されるため、安定した接続状態を長時間保てない場合がある。一度接続が切断されると、ＩｒＤＡでは、再び各層において９６００ｂｐｓという低速な速度で接続を確立した上で、データ転送を行う必要がある。すなわち、ＩｒＤＡはデータ転送時のオーバーヘッドが大きく、大容量データを効率的に送受信するには不向きである。
【００１６】
（ＩｒＳｉｍｐｌｅ）
そこで、赤外線通信の利便性の向上を目的として、接続に必要な時間を短縮し、接続要求から切断までの通信効率を高めた通信プロトコルとして、ＩｒＳｉｍｐｌｅ（登録商標）が２００５年に規格化されている（非特許文献６から８、特許文献１参照）。ＩｒＳｉｍｐｌｅは、ＩｒＤＡの一部機能を改良したものであり、ＩｒＤＡと部分的に互換性がある。ＩｒＳｉｍｐｌｅは、局発見に関わる通信を行わないため、従来のＩｒＤＡと比較すると接続に要する時間が短く、同一サイズのデータ通信における通信時間を４分の１から１０分の１程度に短縮することができる。
【００１７】
ＩｒＳｉｍｐｌｅには、片方向通信と双方向通信の２つの通信方式がある。片方向通信では、接続および切断処理を１つのフレームで終了できるように処理を簡略化することにより、接続および切断処理時間を短縮し、またデータ転送においてはエラー再送処理を簡略化することで、高速化を図っている。
【００１８】
図３７を参照しながら、ＩｒＳｉｍｐｌｅ規格の片方向通信におけるＩｒＬＡＰ層の接続手順について説明する。図３７は、ＩｒＳｉｍｐｌｅ規格における片方向通信において、ＩｒＬＡＰ層の接続を行うときの信号シーケンスである。図３７に示すように、一次局は、二次局の存在を確認するための局発見コマンドを送信することなく、接続要求コマンドであるＳＮＲＭコマンドを送信する。これにより接続が完了したことになるため、ＳＮＲＭコマンドを送信した一次局は、二次局から応答コマンドフレームであるＵＡレスポンスを待つことなく、データ送信を開始する。一方、上記ＳＮＲＭコマンドを受信した二次局は、ＵＡレスポンスを返すことなく、一次局からのデータ転送を待つ。受信したＳＮＲＭコマンド内に上位層データが含まれていない場合は、不正な接続要求として、データ転送待機状態へ遷移しない実装としてもよい。
【００１９】
次に、図３８を参照しながら、ＩｒＳｉｍｐｌｅ規格の双方向通信におけるＩｒＬＡＰ層の接続手順について説明する。図３８は、ＩｒＳｉｍｐｌｅ規格における双方向通信において、ＩｒＬＡＰ層の接続を行うときの信号シーケンスである。
【００２０】
図３８に示すように、一次局は、二次局の存在を確認するための局発見コマンドを送信することなく、接続要求コマンドであるＳＮＲＭコマンドを送信する。ＳＮＲＭコマンドを受信した二次局は応答コマンドフレームであるＵＡレスポンスを送信する。一次局が、ＵＡレスポンスを受信したことにより、ＩｒＬＡＰ層、ＩｒＬＭＰ層、ＩｒＳＭＰ層、ＯＢＥＸ層の各層の接続が完了する。つまり、ＩｒＬＡＰ層の接続が完了した後に、ＩｒＬＭＰ層、ＩｒＳＭＰ層、ＯＢＥＸ層を順に接続していく必要はない。そして、これ以降は、ＳＮＲＭコマンドおよびＵＡレスポンスで決定されたＱｏＳ（Quality of Service）に基づいた通信パラメータによって、データ交換が行われる。
【００２１】
上記のＳＮＲＭコマンドは９６００ｂｐｓの通信速度で送信され、ＵＡレスポンスは１１５.２ｋｂｐｓの通信速度で送信される。そのため、一次局はＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドを送信した後、１１５.２ｋｂｐｓのフレームを受信できる状態でＵＡレスポンスを待つ。
【００２２】
次に、図３９を参照しながら、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドについて説明する。図３９は、ＳＮＲＭコマンドのフレームを示す説明図である。
【００２３】
「A（Address）Field」は接続を確立するために使用されるフィールドであり、７ビットの接続先アドレス、および、１ビットのC/R（Command/Response）識別子を示す。図３８のＳＮＲＭコマンドの場合は、接続前であるため、接続先アドレスの値はブロードキャストを表す「0x7F」となる。また、C/Rビットの値は、このフレームがコマンドであることを表す「1」となる。つまり、図３８のＳＮＲＭコマンドにおけるA Fieldの値は、アドレスデータとC/Rビットとを合わせて、「0xFF」となる。
【００２４】
「C（Control）Field」は、このフレームの制御フィールドであり、このフレームがどの種類のフレームフォーマットであるかを示す。このフレームはＳＮＲＭコマンドであるため、C Fieldの値は、Unnumbered format（U format）においてＳＮＲＭを表す「0x93」（双方向通信）、または、「0x83」（片方向通信）となる。どちらの値になるかは、送信権を委譲するか否かに応じて決まり、双方向通信の場合は「0x93」となり、片方向通信の場合は「0x83」となる。図３８に示すシーケンスは双方向通信であるので、C Fieldの値は「0x93」となる。
【００２５】
「Source Address」は送信元（一次局）のアドレスを示すフィールドであり、「0」および「0xFFFFFFFF」以外の値となる。
【００２６】
「Destination Device Address」は送信先（二次局）のアドレスを示すフィールドである。図３８では、接続前であるため、Destination Device Addressの値はブロードキャストアドレスを表す「0xFFFFFFFF」となる。
【００２７】
「Connection Device Address」は、接続完了後に使用する７ビットの新しいコネクションアドレスの値、および、１ビットのC/Rビット（値は必ず「0」）で構成される。コネクションアドレスの値は一次局が自由に設定できる。
【００２８】
「Requested-QoS Parameters」は、一次局がサポートしている通信速度や、最大ターンアラウンドタイムなどのＱｏＳのパラメータ値を示すフィールドである。
【００２９】
「Upper User Data」は、ＩｒＳｉｍｐｌｅプロトコルで新たに規定されたフィールドであって、ＩｒＬＡＰ層より上位層で使用するデータが記述される。例えば、ＩｒＳＭＰのパラメータやＯＢＥＸの接続要求であるＣＯＮＮＥＣＴコマンドなどが記述される。
【００３０】
次に、図４０を参照しながら、ＩｒＳｉｍｐｌｅプロトコルのＵＡレスポンスについて説明する。図４０は、ＵＡレスポンスのフレームを示す説明図である。
【００３１】
「A（Address）Field」は、対応するＳＮＲＭコマンドの「Connection Device Address」で設定された７ビットのアドレスの値、および、１ビットのC/Rビットで構成される。C/Rビットの値はこのフレームがレスポンスであることを示す「0」となる。
【００３２】
「C（Control）Field」は、このフレームがＵＡレスポンスフレームであるため、Unnumbered format（U format）においてＵＡレスポンス表す「0x73」となる。
【００３３】
「Source Device Address」は、二次局で決めた32ビットのアドレス値であり、「0」および「0xFFFFFFFF」以外の値となる。
【００３４】
「Destination Device Address」は送信先（一次局）のアドレスを示すフィールドである。対応するＳＮＲＭコマンドフレームのSource Device Addressで通知された一次局のアドレス値となる。
【００３５】
「Returned-QoS Parameters」は、一次局のRequested-QoS Parametersと自局のＱｏＳパラメータから判別したＱｏＳのパラメータ値となる。
【００３６】
「Upper User Data」は、ＩｒＳｉｍｐｌｅプロトコルで新たに規定されたフィールドであって、ＩｒＬＡＰ層より上位層で使用するデータが記述される。例えば、上位層であるＩｒＳＭＰのパラメータやＯＢＥＸの接続要求に対する回答であるＳｕｃｃｅｓｓレスポンスなどである。
【００３７】
ＩｒＳｉｍｐｌｅプロトコルとＩｒＤＡプロトコルの物理層は同一であることから、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする通信機器は、二次局の通信機器と接続を試みるとき、二次局の応答に応じてプロトコルを自動的に識別して切り替える機能を有する（非特許文献６参照）。すなわち、上記通信機器は、二次局がＩｒＤＡプロトコルに応答する場合は、ＩｒＤＡプロトコルにより二次局との接続を行い、二次局がＩｒＳｉｍｐｌｅプロトコルの双方向通信に応答する場合は、ＩｒＳｉｍｐｌｅの双方向通信により二次局との接続を行う。
【００３８】
図４１を参照しながら、上記通信機器が、ＩｒＳｉｍｐｌｅプロトコルとＩｒＤＡプロトコルとの切り替え手順について説明する。図４１は、上記通信機器が、ＩｒＳｉｍｐｌｅプロトコルとＩｒＤＡプロトコルとの切り替えを行うときの信号シーケンスである。
【００３９】
一次局は以下に示す（１）から（３）の処理を繰り返して、二次局との接続を試みる。下記ＳＮＲＭコマンドおよびＸＩＤコマンドは９６００ｂｐｓの通信速度で送信される。
（１）ＩｒＳｉｍｐｌｅプロトコルにより接続を試みる。具体的には、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドを送信する。また、同時に、１１５．２ｋｂｐｓの通信速度で二次局からの受信待ちを行う。
（２）二次局からの応答が無い場合は、二次局を発見するために１スロットのＸＩＤコマンドを送信する。また、同時に、９６００ｂｐｓの通信速度で二次局からの受信待ちを行う
（３）二次局からの応答が無い場合は、ＸＩＤ−Ｅｎｄコマンドを送信して局発見を終了し、再び接続を試みる。従って、ＳＮＲＭコマンドを送信する。また、同時に、１１５．２ｋｂｐｓの通信速度で二次局からの受信待ちを行う。
【００４０】
二次局は、上記（１）から（３）の順番で送信されるフレームを受信し、受信したフレームが、自局でサポートするプロトコルに規定されている正常なフレームであると判断した場合、そのフレームに対して応答する。
【００４１】
すなわち、二次局がＩｒＳｉｍｐｌｅプロトコルを規定どおりにサポートする場合、上記（１）または（３）のＳＮＲＭコマンドに対してＵＡレスポンスを返信する。また、二次局がＩｒＤＡプロトコルを規定どおりにサポートする場合、上記（２）のＸＩＤコマンドに対してＸＩＤレスポンスを返信する。また、二次局がＩｒＳｉｍｐｌｅプロトコルおよびＩｒＤＡプロトコルの両方を規定どおりにサポートする場合、１スロットのＸＩＤコマンドを２回連続して受信しなければＸＩＤレスポンスフレームを返信しないという規定がＩｒＳｉｍｐｌｅプロトコルにある（非特許文献６参照）。この規定により、上記（１）のＳＮＲＭフレームを受信し損なって上記（２）のＸＩＤフレームを最初に受信した場合であっても、ＸＩＤレスポンスを返信しない。そして、次に送信される上記（３）のＩｒＳｉｍｐｌｅのプロトコルのＳＮＲＭコマンドに応答してＵＡレスポンスを返信する。
【００４２】
上記（１）および（３）において送信されるＳＮＲＭコマンドのフレーム構成は、図３９と同様である。
【００４３】
次に、図４２を参照しながら、ＩｒＤＡプロトコルの局発見コマンドであるＸＩＤコマンドについて説明する。図４２は、上記（２）で送信されるＸＩＤコマンドのフレームを示す説明図である。
【００４４】
「A Field」は上述と同様のフィールドである。値は「0xFF」となる。
【００４５】
「C Field」は上述と同様のフィールドである。値は、ＸＩＤコマンドフレームを示す「0x3F」となる。
【００４６】
「Format Identifier」は、拡張用の識別子であり、通常「0x01」とする。
【００４７】
「Source Device Address」は上述と同様のフィールドである。
【００４８】
「Destination Device Address」は上述と同様のフィールドである。
【００４９】
「Discovery Flags」は、ＸＩＤコマンドのスロット数（同時に相手局をサーチできる数）を示すフィールドである。図４１に示す例は１スロットであるため、値は「0x00」となる。
【００５０】
「Slot Number」は、現在のスロット番号を示すフィールドである。番号はシーケンシャルに付与される。図４１の最初のＸＩＤコマンドフレームの場合、Slot Numberの値は「0x00」となる。また最終のＸＩＤコマンドフレームであるＸＩＤ−Ｅｎｄコマンドフレームの場合、Slot Numberの値は、最終であることを示す「0xFF」となる。
【００５１】
「Version Number」は、ＩｒＬＡＰのバージョン番号を示すフィールドである。バージョン１．１では、Version Numberの値は「0x00」となる。
【００５２】
「Discovery Info」は、最終のコマンドであるＸＩＤ−Ｅｎｄコマンドフレームのみに付加されるフィールドであり、局発見中の任意の情報が記述される。例えば、一次局の機器名称などの局情報などが記述される。
【００５３】
（ＩｒＳｉｍｐｌｅプロトコルの双方向通信を規定どおりにサポートする二次局が、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする一次局と接続するときの信号シーケンス）
ＩｒＳｉｍｐｌｅプロトコルの双方向通信を規定どおりにサポートする二次局が、上記で説明した、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする一次局と接続するときの信号シーケンスは、図３８と同様である。すなわち、一次局は、二次局の存在を確認するための局発見コマンドを送信することなく、接続要求コマンドであるＳＮＲＭコマンドを送信する。ＳＮＲＭコマンドを受信した二次局は応答コマンドフレームであるＵＡレスポンスを送信する。一次局が、ＵＡレスポンスを受信したことにより、ＩｒＬＡＰ層、ＩｒＬＭＰ層、ＩｒＳＭＰ層、ＯＢＥＸ層の各層の接続が完了する。そして、これ以降は、ＳＮＲＭコマンドおよびＵＡレスポンスで決定されたＱｏＳに基づいた通信パラメータによって、データ交換が行われる。
【００５４】
上記のＳＮＲＭコマンドは９６００ｂｐｓの通信速度で送信され、また、ＵＡレスポンスは１１５．２ｋｂｐｓの通信速度で送信される。そのため、一次局はＳＮＲＭコマンドを送信した後は、１１５．２ｋｂｐｓのフレームを受信できる状態でＵＡレスポンスを待つ。
【００５５】
（ＩｒＤＡプロトコルのみを規定どおりにサポートする二次局が、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする一次局と接続するときの信号シーケンス）
次に、図４３を参照しながら、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする通信機器とＩｒＤＡプロトコルのみを規定どおりにサポートする通信機器との接続手順について説明する。図４３は、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする一次局が、ＩｒＤＡプロトコルのみを規定どおりにサポートする二次局と接続するときの信号シーケンスである。
【００５６】
図４３に示すように、一次局は接続要求であるＳＮＲＭコマンドを送信するが、二次局はこのフレームには応答しない。応答しない理由は、「A Field」および「Destination Device Address」の両方がブロードキャストアドレスを示すフレーム（以下、「ブロードキャストフレーム」と称す）は、ＩｒＤＡプロトコルで規定されている正常なフレームではない。そして、正常でないフレームを受信した場合は、応答レスポンスを返信しない旨が規定されているためである（非特許文献１参照）。
【００５７】
図４３において一次局が送信するＳＮＲＭコマンドは、いずれの値もブロードキャストを表すため、ＩｒＤＡプロトコルを規定どおりにサポートする二次局はこのＳＮＲＭコマンドには応答しない。
【００５８】
そして、送信したＳＮＲＭコマンドに対する応答が無いので、一次局はＩｒＤＡプロトコルによる接続に切り替えて、ＩｒＤＡの局発見フレームであるＸＩＤ（0x00）コマンドを送信する。二次局は、自局が存在することを一次局に知らせるために、このＸＩＤ（0x00）コマンドに応答し、ＸＩＤレスポンスを送信する。
【００５９】
図４４を参照しながら、ＩｒＤＡプロトコルの局発見レスポンスであるＸＩＤレスポンスについて説明する。図４４は、ＸＩＤレスポンスフレームのフレームを示す説明図である。
【００６０】
「A Field」は上述と同様のフィールドである。C/Rビットの値は、このフレームがレスポンスであることを表す「0」となる。よって、A Fieldの値は、アドレスデータとC/Rビットとを合わせて、「0xFE」となる。
【００６１】
「C Field」は上述と同様のフィールドである。値は、ＸＩＤレスポンスフレームを示す「0xBF」になる。
【００６２】
「Format Identifier」は上述と同様のフィールドである。値は「0x01」となる。
【００６３】
「Source Device Address」は、送信元（二次局）のアドレスを示すフィールドであり、「0」および「0xFFFFFFFF」以外の値となる。
【００６４】
「Destination Device Address」は、送信先（一次局）のアドレスを示すフィールドである。この場合は、ＸＩＤコマンドフレームのSource Device Addressで通知された一次局のアドレスとなる。
【００６５】
「Discovery Flags」は上述と同様のフィールドである。値は、ＸＩＤコマンドフレームにおけるDiscovery Flagsの値と同じとなる。例えば、ＸＩＤコマンドフレームにおけるDiscovery Flagsの値が「0x00」であった場合は、「0x00」となる。
【００６６】
「Slot Number」は上述と同様のフィールドである。値は、対応するＸＩＤコマンドフレームのSlot Numberの値と同じとなる。例えば、ＸＩＤ（0x00）コマンドに対するレスポンスであれば、値は「0x00」となる。
【００６７】
「Version Number」は上述と同様のフィールドである。
【００６８】
「Discovery Info」は上述と同様のフィールドである。例えば、二次局の機器名称などの局情報などが記述される。
【００６９】
一次局はＸＩＤレスポンスを受信した後、ＸＩＤ−Ｅｎｄコマンドを送信する。これにより局発見が終了する。
【００７０】
次に、一次局は、ＩｒＤＡプロトコルの接続要求であるＳＮＲＭコマンドを送信する。図４５を参照しながら、ＩｒＤＡプロトコルのＳＮＲＭコマンドについて説明する。図４５は、ＳＮＲＭコマンドのフレームを示す説明図である。
【００７１】
フレーム構成は図３９とほぼ同様であるが、Destination Device Addressには、局発見中のＸＩＤレスポンスフレームのSource Device Addressの値を記述する。また、Upper User Dataは存在しない。
【００７２】
上記ＳＮＲＭコマンドでは、A Fieldの値、および、Destination Device Addressの値のいずれもがブロードキャストアドレスではないので、二次局はこのＳＮＲＭコマンドをＩｒＤＡプロトコルの正常なフレームとして受信し、ＵＡレスポンスを送信する。
【００７３】
図４６を参照しながら、ＩｒＤＡプロトコルのＵＡレスポンスについて説明する。図４６は、ＩｒＤＡプロトコルのＵＡレスポンスのフレームを示す説明図である。フレーム構成は図４０とほぼ同様であるが、Upper User Dataは存在しない。
【００７４】
一次局が上記ＵＡレスポンスを受信したことで、ＩｒＬＡＰ層の接続が終了する。これに引き続き、ＳＮＲＭコマンドおよびＵＡレスポンスで決定されたＱｏＳに基づいた通信パラメータによって、ＩｒＬＡＰ層より上位層での接続が行われる。
【００７５】
ＩｒＤＡプロトコルにより局発見および接続を行う場合において、ＸＩＤコマンドフレーム、ＸＩＤレスポンスフレーム、ＳＮＲＭコマンドフレーム、および、ＵＡレスポンスフレームはいずれも９６００ｂｐｓの通信速度で送信される。そのため、一次局はＸＩＤコマンドフレームあるいはＳＮＲＭコマンドフレームを送信した後は、９６００ｂｐｓの通信速度のフレームが受信できる状態で、ＸＩＤレスポンスフレームあるいはＵＡレスポンスフレームを待つ。
【００７６】
（ＩｒＤＡプロトコルにおけるＳＩＲ通信時の物理層の伝送フォーマット）
次に、図４７を参照しながら、ＩｒＤＡプロトコルにおけるＳＩＲ通信時の物理層の伝送フォーマットについて説明する。図４７は、ＩｒＤＡプロトコルにおけるＳＩＲ通信時の物理層の伝送フォーマットの例を示す説明図である。上述の９６００ｂｐｓの通信速度のフレームおよび１１５．２ｋｂｐｓの通信速度のフレームは、以下で説明するフォーマットに従って送信される。
【００７７】
ＳＩＲ通信時は、送信データはＵＡＲＴ（Universal Asynchronous Receiver Transmitter）で送信される。つまり、１バイトの送信データに対して、送信データの先頭を示す１ビットのスタートビットが送信データの前に付加される。スタートビットの値は「0」である。また、送信データの最後を示す１ビットのストップビットが送信データの後に付加される。ストップビットの値は「1」である。図４７（ａ）にＵＡＲＴフレームの例を示す。この例では、送信対象のビット列は「01100101」である。送信時は下位ビットから送信されるので、送信データは「10100110」となる。そして、送信データの前にスタートビットの「0」が付加され、送信データの後ろにストップビットの「1」が付加されるため、ＵＡＲＴフレームは「0101001101」となる。
【００７８】
そして、ＵＡＲＴフレームの各ビットはＲＺ符号方式により反転され、パルス出力される。つまり、ＵＡＲＴフレームにおいて値が「0」のビットはパルス出力され、値が「1」のビットはパルス出力されない。図４７（ｂ）に図４７（ａ）のＵＡＲＴフレームを反転した例を示す。ＵＡＲＴフレームが「0101001101」である場合、１ビット目、３ビット目、５ビット目、６ビット目、および９ビット目の値が「1」となり、それらがパルス出力される。
【００７９】
（パルス幅の許容値）
次に、図４８を参照しながら、パルス幅の許容値について説明する。図４８は、通信速度毎のパルス幅の最小許容値、最大許容値、および一般的な使用値を示す説明図である。例えば、９６００ｂｐｓの通信速度の場合、パルス幅の最小許容値は１．４１マイクロ秒、一般的な使用値は１９．５３マイクロ秒、最大許容値は２２．１３マイクロ秒と規定されている。
【００８０】
（ＩｒＤＡプロトコルにおけるＳＩＲ通信時のフレームフォーマット）
次に、図４９を参照しながら、ＩｒＤＡプロトコルにおけるＳＩＲ通信時のフレームフォーマットについて説明する。図４９は、ＩｒＤＡプロトコルにおけるＳＩＲ通信時のフレームを示す説明図である。
【００８１】
「Additional_BOF（Additional Beginning Of Frame）」は、必要に応じて先頭に付加されるフィールドであり、値は「0xFF」が推奨されている（非特許文献１参照）。連続して複数個付加されることもある。
【００８２】
「BOF（Beginning Of Frame）」は、フレームの先頭を表すフィールドであり、ＳＩＲ通信時の値は「0xC0」である。
【００８３】
「IrLAP Data」は、ＩｒＬＡＰ層のペイロードデータを格納するフィールドである。例えば、ＳＮＲＭコマンドフレーム、ＵＡレスポンスフレームが格納される。
【００８４】
「FCS（Frame Check Sequence）」は、誤り検出のためのフィールドであり、ＳＩＲ通信時は１６ビットのＣＲＣ（Cyclic Redundancy Check）である。
【００８５】
「EOF（End Of Frame）」は、フレームの最後を表すフィールドであり、ＳＩＲ通信時の値は「0xC1」である。
【００８６】
（ＵＡＲＴ信号への変換）
次に、図５０を参照しながら、受信側における、パルス波からＵＡＲＴフレームへの変換について説明する。図５０は、ＳＩＲ受信回路およびＵＡＲＴ受信回路において、受信したパルス波をＵＡＲＴフレームに変換する様子を示す説明図である。
【００８７】
前述のとおり、ＩｒＤＡプロトコルのＳＩＲ時の物理層のフォーマットはＵＡＲＴに従う。よって、ＳＩＲ受信回路では、まず、受信したパルス（図５０（ａ））をあらかじめ定められた通信速度に対応するパルス幅（９６００ｂｐｓの通信速度の場合、約１９．５３マイクロ秒）のパルスに伸長する（図５０（ｂ））。その後、各パルスを反転させる（図５０（ｃ））。次に、ＵＡＲＴ受信回路にて、スタートビットを検出して、あらかじめ定められた時間間隔（９６００ｂｐｓの場合、約１９．５３マイクロ秒）でサンプリングを行う。そして、最後にストップビットの値が「1」であることを確認する。
【００８８】
（９６００ｂｐｓの通信速度のフレームと１１５．２ｋｂｐｓの通信速度のフレームとを自動識別する方法）
非特許文献５には、二次局から送信される９６００ｂｐｓの通信速度の応答フレームと１１５．２ｋｂｐｓの通信速度の応答フレームとを一次局で自動識別して、いずれの通信速度であっても受信できる方法（以下、「通信速度自動認識方法」と称す）が記載されている。図５１を参照しながら、９６００ｂｐｓの通信速度の応答フレームと１１５．２ｋｂｐｓの通信速度の応答フレームとを自動識別して受信する方法について説明する。図５１は、９６００ｂｐｓの通信速度の応答フレームと１１５．２ｋｂｐｓの通信速度の応答フレームとを自動識別して受信する方法を示す図である。
【００８９】
通信速度自動認識方法では、最初に１１５．２ｋｂｐｓの通信速度でフレームを受信する。しかし、１１５．２ｋｂｐｓの通信速度でフレームを受信中に、９６００ｂｐｓの通信速度のフレームが送信されていると判断したときは、９６００ｂｐｓの通信速度でフレームの受信する処理に切り替える。９６００ｂｐｓの通信速度のフレームの先頭には、通常は１０個のAdditional BOFが連続して付加されている。Additional BOFの値は、非特許文献５で推奨されている「0xFF」であるとする。Additional_BOFが送信されるときは、図４７で説明したように、１ビット目にスタートビット（値は「0」）が付加され、次に送信データである「0xFF」が続き、最後にストップビット（値は「1」）が付加される。つまり、Additional_BOFのビット列は送信時には「0111111111」となる。そして各ビットを反転した「1000000000」が実際に送信されるフレームとなる。よって、この場合は１ビット目のみが送信光としてパルス出力される。
【００９０】
次に、図５２を参照しながら、９６００ｂｐｓの通信速度におけるビットの送信間隔と１１５．２ｋｂｐｓの通信速度における１０ビット分の送信間隔とを比較する。図５２は、９６００ｂｐｓの通信速度におけるビットの送信間隔と１１５．２ｋｂｐｓの通信速度における１０ビット分の送信間隔との比較を示す説明図である。図５２では、９６００ｂｐｓの通信速度で送信されるビット列「1000000000」と、これを１１５．２ｋｂｐｓの通信速度で受信した場合に認識されるビット列について説明する。
【００９１】
９６００ｂｐｓの通信速度における１ビットの送信間隔は約１００マイクロ秒である。つまり、上記のAdditional BOF（1000000000）の１ビット目の「1」と２ビット目の「0」との間隔は約１００マイクロ秒である。また、１１５．２ｋｂｐｓの通信速度における１０ビット分の送信間隔は、約８６．８マイクロ秒である。従って、上記Additional BOFの１ビット目の「1」と２ビット目の「0」との間隔は、１１５．２ｋｂｐｓの通信速度における１０ビット分（すなわち、送信データにスタートビットとストップビットが付加されたビット列）より大きくなる。従って、９６００ｂｐｓの通信速度のAdditional BOFの１ビット目の「1」を、１１５．２ｋｂｐｓの通信速度で受信した場合、「0xFF」というビット列を受信したものとして認識される。
【００９２】
そして、通信速度自動認識方法では、上記「0xFF」と認識したビット列を連続して７つ受信した場合は、９６００ｂｐｓのフレームのAdditional BOFを受信していると判断する（非特許文献５参照）。そして、８つ目のAdditional BOF以降は、９６００ｂｐｓの通信速度でフレームを受信する。これにより、その後に送信されるBOF（値は「0xC0」）を検出することが可能となる。
【００９３】
このように、Additional BOFの値が「0xFF」であれば、通信速度自動認識方法により、９６００ｂｐｓの通信速度の応答フレームと１１５．２ｋｂｐｓの通信速度の応答フレームとを自動識別して受信することができる。
【非特許文献１】Infrared Data Association Serial Infrared Link Access Protocol(IrLAP) Version1.1(June 16,1996)
【非特許文献２】Infrared Data Association Serial Infrared Link Management Protocol(IrLMP) Version 1.1(January 23,1996)
【非特許文献３】Infrared Data Association ‘Tiny TP’:A Flow-Control Mechanism for use with IrLMP Version 1.1(October 20,1996)
【非特許文献４】Infrared Data Association Object Exchange Protocol Version 1.3(Jan 3,2003)
【非特許文献５】Infrared Data Association IrLAP Fast Connect(Application Note) Version 1.0(Nov 27,2002)
【非特許文献６】IrDA Serial Infrared Link Access Protocol Specification for IrSimple Addition Version 1.0(Oct 14,2005)
【非特許文献７】IrDA Serial Infrared Link Management Protocol Specification for IrSimple Addition Version 1.0(Oct 14,2005)
【非特許文献８】IrDA Serial Infrared Sequence Management Protocol for IrSimple Version 1.0(Oct 14,2005)
【非特許文献９】Infrared Data Association Serial Infrared Physical Layer Specification Version 1.4(May 30,2001)
【特許文献１】国際公開第２００６／０８０３３０号パンフレット（公開日：平成１８年(２００６)８月３日）
【発明の開示】
【発明が解決しようとする課題】
【００９４】
上記で説明したように、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする通信機器は、ＩｒＤＡプロトコルあるいはＩｒＳｉｍｐｌｅプロトコルを規定どおりにサポートする二次局と接続し、通信することができる。
【００９５】
しかしながら、A FieldおよびDestination Device Addressの両方がブロードキャストアドレスを示すブロードキャストフレームを受信したときにＩｒＤＡプロトコルのＵＡレスポンスを返信する、ＩｒＤＡプロトコルを規定どおりにサポートしていない通信機器（以下、「応答レスポンス誤送信機器」と称す）が存在し、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする通信機器は、この応答レスポンス誤送信機器と通信を行うことができない。
【００９６】
（応答レスポンス誤送信機器である二次局が、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする一次局と接続するときの信号シーケンス（接続に失敗する例））
図５３を参照しながら、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする通信機器と応答レスポンス誤送信機器との接続手順について説明する。図５３は、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする通信機器が一次局として、上記応答レスポンス誤送信機器を相手に接続を試みるときの信号シーケンスである。
【００９７】
図３８で説明したように、一次局は、まずＩｒＳｉｍｐｌｅプロトコルの接続要求であるＳＮＲＭコマンドを送信した後、二次局からのＵＡレスポンスを１１５．２ｋｂｐｓの通信速度で待つ。
【００９８】
上述のとおり、上記ＳＮＲＭコマンドのA FieldおよびDestination Device Addressはいずれもブロードキャストアドレスを示すので、ＩｒＤＡプロトコルを規定どおりにサポートする二次局であれば、上記ＳＮＲＭコマンドはブロードキャストフレームであると認識し、ＵＡレスポンスを返信しない。しかし、上記応答レスポンス誤送信機器は上記ＳＮＲＭコマンドをＩｒＤＡプロトコルのＳＮＲＭフレームであると誤って認識し、ＩｒＤＡプロトコルのＵＡレスポンスを９６００ｂｐｓの通信速度で送信する。
【００９９】
しかし、一次局は、１１５．２ｋｂｐｓの通信速度でＩｒＳｉｍｐｌｅのＵＡレスポンスフレームを待っているため、９６００ｂｐｓの通信速度で送信されたＩｒＤＡプロトコルのＵＡレスポンスを検出することはできない。従って、一次局は、二次局からの応答が無いと判断し、図４１で説明したとおり、次にＸＩＤコマンドを９６００ｂｐｓの通信速度で送信する。
【０１００】
しかし、二次局は上記ＵＡレスポンスを送信した時点で接続処理を完了するため、ネゴシエーションした速度で、次に送信されてくるはずのフレーム（すなわち、ＩｒＬＡＰ層の上位層における接続要求フレーム）を待っている。そのため、二次局は、一次局が送信した９６００ｂｐｓのＸＩＤコマンドを検出することはできず、引き続きフレームの待ち状態が続く。
【０１０１】
一方、一次局は、上記ＸＩＤコマンドに対する応答が無いので、図４１で説明したとおり、再びＩｒＳｉｍｐｌｅプロトコルでの接続要求であるＳＮＲＭコマンドを送信する。しかし、二次局は引き続きＩｒＬＡＰ層の上位層における接続要求フレームを待っているため、応答できない。
【０１０２】
上記のとおり、一次局および二次局のいずれも相手局のフレームを受信できず、最終的には、各局における処理のタイムアウトにより、接続が失敗して終了する。
【０１０３】
以上のように、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする通信機器は、上記応答レスポンス誤送信機器と通信を行うことができない。
【０１０４】
（応答レスポンス誤送信機器である二次局が、ＩｒＤＡプロトコルのみを規定どおりにサポートする一次局と接続するときの信号シーケンス（接続に成功する例））
なお、二次局が応答レスポンス誤送信機器であっても、ＩｒＤＡプロトコルのみを規定どおりにサポートする一次局とは接続することができる。図５４を参照しながら、ＩｒＤＡプロトコルのみを規定どおりにサポートする通信機器と応答レスポンス誤送信機器との接続手順について説明する。図５４は、ＩｒＤＡプロトコルのみを規定どおりにサポートする通信機器が一次局として、上記応答レスポンス誤送信機器を相手に接続を試みるときの信号シーケンスである。
【０１０５】
図３６で説明したように、一次局は、まずＩｒＤＡプロトコルの局発見コマンドであるＸＩＤコマンドを送信した後、二次局からのＸＩＤレスポンスを９６００ｂｐｓの通信速度で待つ。これに対し、二次局は局発見レスポンスであるＸＩＤレスポンスを９６００ｂｐｓの通信速度で返信する。これにより、局発見シーケンスが終了する。次に、一次局は、二次局からのＸＩＤレスポンスを受信後、接続シーケンスを開始するために、ＩｒＤＡプロトコルの接続要求コマンドであるＳＮＲＭコマンドを送信する。ＩｒＤＡプロトコルは、ＩｒＳｉｍｐｌｅプロトコルとは異なり、ＳＮＲＭコマンドを送信後は、１１５．２ｋｂｐｓの通信速度ではなく９６００ｂｐｓの通信速度で二次局からのレスポンスを待つ。二次局は、ＳＮＲＭコマンドに対して、ＵＡレスポンスを９６００ｂｐｓの通信速度で返信するため、一次局はこのＵＡレスポンスを受信することができる。これにより、正常にＩｒＬＡＰ層までの接続を終了する。これに引き続き、ＳＮＲＭコマンドおよびＵＡレスポンスで決定されたＱｏＳに基づいた通信パラメータによって、ＩｒＬＡＰ層より上位層での接続が行われる。
【０１０６】
以上のように、ＩｒＤＡプロトコルのみを規定どおりにサポートする通信機器は、上記応答レスポンス誤送信機器と通信を行うことができる。一方、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする通信機器は、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドを送信後、１１５．２ｋｂｐｓの通信速度でＩｒＳｉｍｐｌｅのＵＡレスポンスフレームを待つ。そのため、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする通信機器は、９６００ｂｐｓの通信速度でＩｒＤＡプロトコルのＵＡレスポンスを送信する上記応答レスポンス誤送信機器と通信を行うことができない。
（通信速度自動認識方法で正しく通信できない例）
上述のように、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする一次局は、１１５．２ｋｂｐｓの通信速度で二次局からのＵＡレスポンスを待っているため、９６００ｂｐｓの通信速度のＵＡレスポンスを受信することができない。これに対して、図５１で説明したように、二次局から送信される９６００ｂｐｓの通信速度の応答フレームと１１５．２ｋｂｐｓの通信速度の応答フレームとを一次局で自動識別して、いずれの通信速度であっても受信できる通信速度自動認識方法がある。図５１で説明したように、Additional BOFの値が「0xFF」の場合であれば、通信速度自動認識方法により、９６００ｂｐｓの通信速度のＵＡレスポンスと１１５．２ｋｂｐｓの通信速度のＵＡレスポンスとを自動識別して受信することができる。しかし、Additional BOFの値を「0xFF」とすることは推奨されているにすぎず（非特許文献１参照）、現在、Additional BOFの値が「0xFF」ではないフレームを送信する通信機器が多く出回っている。Additional BOFの値が「0xFF」ではないフレームが送信される場合、通信速度自動認識方法では９６００ｂｐｓの通信速度で送信されるBOFを正常に検出することができない場合がある。
【０１０７】
図５５を参照しながら、９６００ｂｐｓの通信速度で送信されるBOFを正常に検出することができない例を説明する。図５５は、非特許文献５に記載の通信速度自動認識方法により、９６００ｂｐｓの通信速度で送信されるBOFを正常に検出することができないことを示す説明図である。図５５では、９６００ｂｐｓの通信速度で、Additional BOF（値は「0x00」）、BOF（値は「0xC0」）、そしてIrLAP Data（値は「0x01」）が順次送信された例を示している。
【０１０８】
図５２で説明したように、９６００ｂｐｓの通信速度における１ビットの送信間隔は、１１５．２ｋｂｐｓの通信速度における１０ビット分の送信間隔よりも大きい。よって、９６００ｂｐｓの通信速度で送信されるAdditional BOF（値は「0x00」）を１１５．２ｋｂｐｓの通信速度で受信すると、パルスごとに「0xFF」というビット列を受信したと認識される。そして、この場合、パルスが７つ連続して送信されるため、受信側では７つ連続して「0xFF」というビット列を受信したと認識する。従って、通信速度自動認識方法では、１つ目のAdditional BOFの７ビット目を受信したところで、９６００ｂｐｓの通信速度のフレームを受信していると判断し、それ以降は、９６００ｂｐｓの通信速度でフレームを受信する。そして、例えば、Additional BOFの９ビット目のパルスから９６００ｂｐｓの通信速度で受信してデータをサンプリングする場合、BOFの８ビット目を受信した時点で、受信側では「1011111110」すなわち「0x01」というビット列を受信したと認識することになる。そのため、BOFが送信されているにも関わらず、受信側はBOFを認識することができない。従って、受信側はフレームの開始位置を正しく検出できず、それ以降に受信するデータを正しく認識することができない。
【０１０９】
このように、通信速度自動認識方法を用いた場合であっても、二次局が９６００ｂｐｓの通信速度で送信するAdditional BOFの値が「0xFF」でないときに、一次局は受信データを正しく認識できないことがあり、その結果、応答レスポンス誤送信機器と正常に通信することができない場合がある。
【０１１０】
上記に限らず、複数の通信プロトコルをサポートする通信システムにおいて、二次局からの応答レスポンスの通信速度が異なる第１のプロトコルおよび第２のプロトコルの両方を規定どおりにサポートする通信機器が、最初に第２のプロトコルの接続要求コマンドを送信した場合に、二次局である第１のプロトコルのみをサポートする通信機器が、誤って第１のプロトコルの応答レスポンスを返信することにより、一次局が待っている通信速度ではない通信速度で二次局からフレームが送信されるため、接続を確立できない場合がある。
【０１１１】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、受信信号の通信速度を自動的に認識する通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録した記録媒体を提供することにある。また他の目的は、２種類の通信プロトコルの一方に対応する接続要求コマンドを受信したときに、他方の通信プロトコルに対応する応答レスポンスを返信する、当該他方の通信プロトコルをサポートする通信機器と通信を行うことができる通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録した記録媒体を提供することにある。
【課題を解決するための手段】
【０１１２】
上記課題を解決するために、本発明に係る通信機器は、受信信号から、第１の通信速度に対応する第１の間隔毎にパルスを検出する第１のパルス検出手段と、該第１のパルス検出手段が検出したパルスを基に第１の所定フレームを検出する第１の通信速度検出手段と、受信信号から、第１の通信速度とは異なる第２の通信速度に対応する第２の間隔毎にパルスを検出する第２のパルス検出手段と、該第２のパルス検出手段が検出したパルスを基に第２の所定フレームを検出する第２の通信速度検出手段と、上記第１の通信速度検出手段が第１の所定フレームを検出したとき、受信信号の通信速度が第１の通信速度であると決定し、上記第２の通信速度検出手段が第２の所定フレームを検出したとき、受信信号の通信速度を第２の通信速度であると決定する通信速度認識手段とを備えることを特徴としている。
【０１１３】
また、本発明に係る通信方法は、受信信号から、第１の通信速度に対応する第１の間隔毎にパルスを検出する第１のパルス検出ステップと、該第１のパルス検出ステップにて検出したパルスを基に第１の所定フレームを検出する第１の通信速度検出ステップと、受信信号から、第１の通信速度とは異なる第２の通信速度に対応する第２の間隔毎にパルスを検出する第２のパルス検出ステップと、該第２のパルス検出ステップにて検出したパルスを基に第２の所定フレームを検出する第２の通信速度検出ステップと、上記第１の通信速度検出ステップにて第１の所定フレームを検出したとき、受信信号の通信速度が第１の通信速度であると決定し、上記第２の通信速度検出ステップにて第２の所定フレームを検出したとき、受信信号の通信速度を第２の通信速度であると決定する通信速度認識ステップとを含むことを特徴としている。
【０１１４】
上記の構成によれば、対向局から受信する信号が、第１の通信速度または第２の通信速度のいずれであっても受信できるように、一方では、第１の通信速度で対向局から送信される信号を待ち、同時にもう一方では、第２の通信速度で対向局からの送信される信号を待つ。そして、それぞれの通信速度で受信した信号からパルスを検出し、検出したパルスに基づいて所定フレームの検出を試みる。
【０１１５】
そして、第１の所定フレームを検出したときは、受信信号が第１の通信速度で送信されたものであると決定する。一方、第２の所定フレームを検出したときは、受信信号が第２の通信速度で送信されたものであると決定する。
【０１１６】
よって、受信信号の第１の通信速度と第２の通信速度とが異なる場合、いずれの通信速度の受信信号であっても、受信信号の通信速度を確実に認識することができる。
【０１１７】
したがって、上記通信機器および通信方法は、対向局から送信される信号の通信速度を確実に認識することができるという効果を奏する。
【０１１８】
さらに、本発明に係る通信機器は、上記の構成において、上記第１のパルス検出手段および上記第２のパルス検出手段が、通信速度に応じて定まる所定値以上のパルス幅のパルスのみを検出する構成としてもよい。
【０１１９】
上記の構成によれば、さらに、受信した信号からパルスを検出するにあたり、所定値未満のパルス幅のパルスを検出しないので、例えば、外乱光を受信した場合に生じる電磁波などのパルス幅が短いノイズを検出しないようにすることができる。ここで所定値とは、通信速度に応じて定まるパルス幅の最小許容値であり、例えば、９６００ｂｐｓの通信速度の場合、最小許容値は１．４１マイクロ秒である。
【０１２０】
よって、パルス幅が短いノイズを含まないパルスを基に、第１および第２の所定フレームを検出することができるので、より正確に第１および第２の所定フレームを検出することができる。そのため、受信信号の通信速度をより正確に決定することができる。
【０１２１】
したがって、上記通信機器は、対向局から送信される信号の通信速度を確実に認識できるという効果を奏する。
【０１２２】
さらに、本発明に係る通信機器は、上記第１の通信速度検出手段が、受信信号を第１の所定間隔で区切った間隔内に２つ以上のパルスを検出する第１の周波数検出手段をさらに備え、上記第２の通信速度検出手段が、受信信号を第２の所定間隔で区切った間隔内に２つ以上のパルスを検出する第２の周波数検出手段をさらに備え、上記第１の周波数検出手段が２つ以上のパルスを検出した後、上記第１の通信速度検出手段が第１の所定フレームを検出したとき、上記通信速度認識手段は、受信信号の通信速度を、上記第１の周波数検出手段が２つ以上のパルスを検出する前に決定した通信速度のまま維持し、上記第２の周波数検出手段が２つ以上のパルスを検出した後、上記第２の通信速度検出手段が第２の所定フレームを検出したとき、上記通信速度認識手段は、受信信号の通信速度を、上記第２の周波数検出手段が２つ以上のパルスを検出する前に決定した通信速度のまま維持する構成としてもよい。
【０１２３】
上記の構成によれば、さらに、受信信号からパルスを検出するにあたり、所定間隔内、すなわち同一のスロットに２つ以上のパルスが存在することを検知することができる。なお、所定間隔は通信速度に応じて定まり、例えば、１１５．２ｋｂｐｓの通信速度の場合は、約８．６マイクロ秒であり、９６００ｂｐｓの通信速度の場合は、約１００マイクロ秒である。また、所定間隔のことをスロット間隔ともいう。
【０１２４】
ここで、所定間隔内に２つ以上のパルスが存在するという状況は、一次局が通信速度に応じたスロットで信号を受信しているときに、該通信速度より速い通信速度で信号を受信した場合に起こりうる。一次局が、このまま実際の通信速度より遅い通信速度で信号を受信しつづけると、遅い通信速度に対応する所定フレームを誤って検出してしまう場合がある。
【０１２５】
よって、所定間隔内に２つ以上のパルスが存在することを検知することによって、一次局は、実際の通信速度よりも遅い通信速度で信号を受信していることを認識することができるので、実際の通信速度よりも遅い通信速度での受信を回避することができる。
【０１２６】
したがって、上記通信機器は、実際の受信信号の通信速度より遅い通信速度で対向局からの信号を受信してしまうことを回避することができるという効果を奏する。
【０１２７】
さらに、本発明に係る通信機器は、上記の構成において、上記通信速度認識手段が、上記第１の通信速度検出手段が第１の所定フレームを検出したとき、第１の受信信号を受信したことを示す第１の通知を行い、上記第２の通信速度検出手段が第２の所定フレームを検出したとき、第２の受信信号を受信したことを示す第２の通知を行う構成としてもよい。
【０１２８】
上記の構成によれば、さらに、第１の所定フレームを検出したとき、第１の受信信号を受信したことを示す第１の通知を行う。また、第２の所定フレームを検出したとき、第２の受信信号を受信したことを示す第２の通知を行う。
【０１２９】
よって、第１または第２の通知を行うことにより、通知が行われた通信装置または操作者は、現在受信している信号の通信速度を認識することができる。
【０１３０】
したがって、通知が行われた通信装置または操作者は、一次局と二次局とが現在接続できているかどうかを認識しながらデータ通信を行うことができ、さらに、いずれの通信速度で接続できているかを確認することができるという効果を奏する。
【０１３１】
さらに、本発明に係る通信機器は、上記の構成において、上記通信速度認識手段が、受信信号の通信速度を第１の通信速度であると決定した後、上記第２の通信速度検出手段が第２の所定フレームを検出したとき、上記通信速度認識手段が、第２の受信信号を受信したことを示す第３の通知を行い、上記通信速度認識手段が、受信信号の通信速度を第２の通信速度であると決定した後、上記第１の通信速度検出手段が第１の所定フレームを検出したとき、上記通信速度認識手段が、第１の受信信号を受信したことを示す第４の通知を行う構成としてもよい。
【０１３２】
上記の構成によれば、さらに、受信信号の通信速度を第１の通信速度であると決定した後に第２の所定フレームを検出した場合、第２の通信速度の信号を受信したことを示す第３の通知を行う。また、受信信号の通信速度を第２の通信速度であると決定した後に第１の所定フレームを検出した場合、第１の通信速度の信号を受信したことを示す第４の通知を行う。
【０１３３】
よって、第３または第４の通知を行うことにより、通知が行われた通信装置または操作者は、現在決定している通信速度で対向局からデータを受信中に、他の通信速度の信号を受信したことを認識することができる。そのため、例えば、最初に第１の通信速度でデータを受信中に、第３の通知が行われた場合は、第１の通信速度でのデータ受信が途中で失敗した可能性があることを認識することができる。
【０１３４】
したがって、通信装置または操作者に対して、データ受信が途中で失敗した可能性があることを示唆することができるという効果を奏する。
【０１３５】
さらに、本発明に係る通信機器は、上記の構成において、上記通信速度認識手段が、受信信号の通信速度を第１の通信速度であると決定した後、上記第２の通信速度検出手段が第２の所定フレームを検出したとき、上記通信速度認識手段は、受信信号の通信速度を第１の通信速度のまま維持し、上記通信速度認識手段が、受信信号の通信速度を第２の通信速度であると決定した後、上記第１の通信速度検出手段が第１の所定フレームを検出したとき、上記通信速度認識手段が、受信信号の通信速度を第２の通信速度のまま維持する構成としてもよい。
【０１３６】
上記の構成によれば、さらに、受信信号の通信速度を第１の通信速度であると決定した後に第２の所定フレームを検出しても、受信信号の通信速度を第２の通信速度であると決定せず、第１の通信速度のまま維持する。また、受信信号の通信速度を第２の通信速度であると決定した後に第１の所定フレームを検出しても、受信信号の通信速度を第１の通信速度であると決定せず、第２の通信速度のまま維持する。
【０１３７】
よって、受信信号の通信速度を第１の通信速度であると決定した後に第２の所定フレームを誤って検出した場合でも、受信信号の通信速度が第２の通信速度であると決定することがない。また、受信信号の通信速度を第２の通信速度であると決定した後に第１の所定フレームを誤って検出した場合でも、受信信号の通信速度が第１の通信速度であると決定することがない。
【０１３８】
したがって、上記通信機器は、現在決定している通信速度でデータを受信中に、誤って他の通信速度で対向局とデータ通信を開始することを回避することができるので、現在決定している通信速度によるデータ通信を継続することができるという効果を奏する。
【０１３９】
さらに、本発明に係る通信機器は、上記の構成において、上記通信速度認識手段が、受信信号の通信速度を第１の通信速度であると決定した後、上記第２の通信速度検出手段が第２の所定フレームを検出したとき、外部からの指示によって、上記通信速度認識手段が、受信信号の通信速度を第２の通信速度であると決定し、上記通信速度認識手段が、受信信号の通信速度が第２の通信速度であると決定した後、上記第１の通信速度検出手段が第１の所定フレームを検出したとき、外部からの指示によって、上記通信速度認識手段が、受信信号の通信速度を第１の通信速度であると決定する構成としてもよい。
【０１４０】
上記の構成によれば、さらに、受信信号の通信速度を第１の通信速度であると決定した後に第２の所定フレームを検出した場合、外部から所定の指示があれば、受信信号の通信速度を第２の通信速度であると決定する。また、受信信号の通信速度を第２の通信速度であると決定した後に第１の所定フレームを検出した場合、外部から所定の指示があれば、受信信号の通信速度を第１の通信速度であると決定する。ここで、外部からの指示とは、例えば、所定の時間が経過した後に通知されるリセット信号による指示などである。
【０１４１】
よって、受信信号の通信速度を第１の通信速度であると決定した後に第２の所定フレームを正しく検出した場合、外部からの所定の指示により、第２の通信速度に切り替えて信号を受信することができる。また、受信信号の通信速度を第２の通信速度であると決定した後に第１の所定フレームを正しく検出した場合、外部からの所定の指示により、第１の通信速度に切り替えて信号を受信することができる。
【０１４２】
したがって、上記通信機器は、現在決定している通信速度によるデータ通信を維持しつづける状況に陥ることなく、外部からの所定の指示により、他の通信速度で対向局とデータ通信を開始することができるので、確実に対向局とデータ通信を行うことができるという効果を奏する。
【０１４３】
さらに、本発明に係る通信機器は、第１のプロトコルにより接続を行う第１のプロトコル制御手段と、第２のプロトコルにより接続を行う第２のプロトコル制御手段と、上記通信速度認識手段が、受信信号の通信速度を第１の通信速度であると決定した場合、上記第１のプロトコル制御手段により対向局との接続を行い、上記通信速度認識手段が、受信信号の通信速度を第２の通信速度であると決定した場合、上記第２のプロトコル制御手段により対向局との接続を行うプロトコル制御手段とを備える構成としてもよい。
【０１４４】
上記の構成によれば、第１の所定フレームを検出したときは、受信信号が第１の通信速度で送信されたものであると決定し、対向局がサポートしているのは第１のプロトコルであると判断するので、第１のプロトコルにより接続処理を進める。一方、第２の所定フレームを検出したときは、受信信号が第２の通信速度で送信されたものであると決定し、対向局がサポートしているのは第２のプロトコルであると判断するので、第２のプロトコルにより接続処理を進める。
【０１４５】
よって、受信信号の第１の通信速度と第２の通信速度とが異なる場合、対向局から送信される信号が第１通信速度または第２の通信速度のいずれに対応するものであっても、対向局から送信される信号を確実に受信することができる。
【０１４６】
したがって、上記通信機器および通信方法は、対向局と確実に接続することができるという効果を奏する。特に、上記通信機器が一次局である場合、応答レスポンス誤送信機器を二次局として、第１のプロトコルにて確実に接続することができるという効果を奏する。
【０１４７】
さらに、本発明に係る通信機器は、上記の構成において、二次局と通信する一次局としての通信機器であって、受信信号が、上記第１のプロトコル制御手段が送信する第１の接続処理コマンドに対する第１の応答レスポンスの受信信号であるか、または、上記第２のプロトコル制御手段が送信する第２の接続処理コマンドに対する第２の応答レスポンスの受信信号である場合に、上記プロトコル制御手段が、上記通信速度認識手段が第１の通信速度であると決定した場合、上記第１のプロトコル制御手段により二次局との接続を行い、上記通信速度認識手段が第２の通信速度であると決定した場合、上記第２のプロトコル制御手段により二次局との接続を行う構成としてもよい。
【０１４８】
上記の構成によれば、一次局は、二次局が第１または第２のプロトコルのいずれに対応する応答レスポンスを送信しても受信できるように、一方では、第１の応答レスポンスの通信速度で二次局からの応答レスポンスの信号を待ち、同時にもう一方では、第２の応答レスポンスの通信速度で二次局からの応答レスポンスの信号を待つ。そして、それぞれの通信速度で受信した応答レスポンスの信号からパルスを検出し、検出したパルスに基づいて所定フレームの検出を試みる。
【０１４９】
そして、第１の所定フレームを検出したときは、該応答レスポンスが第１の応答レスポンスの通信速度で送信されたものであると決定し、二次局がサポートしているのは第１のプロトコルであると判断するので、第１のプロトコルにより接続処理を進める。一方、第２の所定フレームを検出したときは、該応答レスポンスが第２の応答レスポンスの通信速度で送信されたものであると決定し、二次局がサポートしているのは第２のプロトコルであると判断するので、第２のプロトコルにより接続処理を進める。
【０１５０】
よって、第１の応答レスポンスの通信速度と第２の応答レスポンスの通信速度とが異なる場合、二次局から送信される応答レスポンスが第１または第２のプロトコルのいずれに対応するものであっても、一次局は応答レスポンスを確実に受信することができる。
【０１５１】
すなわち、二次局が、（ａ）第１のプロトコルを規定どおりにサポートし、第１のプロトコルに対応する応答レスポンスを送信する場合、（ｂ）第２のプロトコルを規定どおりにサポートし、第２のプロトコルに対応する応答レスポンスを送信する場合、（ｃ）第１および第２のプロトコルを規定どおりにサポートし、かつ、第２のプロトコルを優先させるため第２のプロトコルに対応する応答レスポンスを送信する場合、（ｄ）最初に第２の接続処理コマンドを受信したときに第１のプロトコルの応答レスポンスを返信する応答レスポンス誤送信機器の場合のいずれであっても、一次局が二次局からの応答レスポンスを受信し、確実に接続処理を進めることができる。
【０１５２】
したがって、一次局は、二次局と確実に接続することができるという効果を奏する。特に、上記通信機器は応答レスポンス誤送信機器と第１のプロトコルにて確実に接続することができるという効果を奏する。
【０１５３】
さらに、本発明に係る通信機器は、上記の構成において、上記第１の通信速度が９６００ｂｐｓであり、上記第２の通信速度が１１５．２ｋｂｐｓである構成としてもよい。
【０１５４】
上記の構成によれば、さらに、上記通信機器は、対向局から受信信号の通信速度が９６００ｂｐｓまたは１１５．２ｋｂｐｓのいずれであっても、信号を受信することができる。そして、それぞれの通信速度で受信した信号を解析して所定フレームの検出を試みる。
【０１５５】
そして、第１の所定フレームを検出したときは、受信信号の通信速度が９６００ｂｐｓであると決定する。一方、第２の所定フレームを検出したときは、受信信号の通信速度が１１５．２ｋｂｐｓであると決定する。
【０１５６】
よって、対向局から送信される信号の通信速度が９６００ｂｐｓまたは１１５．２ｋｂｐｓのいずれであっても、上記通信機器は受信信号を確実に受信することができる。
【０１５７】
したがって、上記通信機器は、対向局と確実にデータ通信することができるという効果を奏する。特に、上記通信機器が一次局である場合、応答レスポンス誤送信機器を二次局として、第１のプロトコルにて確実にデータ通信することができるという効果を奏する。
【０１５８】
さらに、本発明に係る通信機器は、上記の構成において、上記第１のプロトコルがＩｒＤＡプロトコルであり、上記第２のプロトコルがＩｒＳｉｍｐｌｅプロトコルである構成としてもよい。
【０１５９】
上記の構成によれば、さらに、上記通信機器は、対向局がＩｒＤＡまたはＩｒＳｉｍｐｌｅプロトコルのいずれをサポートしている場合でも接続できるように、対向局から送信されるフレームがＩｒＤＡプロトコルに対応するものである場合、または、ＩｒＳｉｍｐｌｅプロトコルに対する場合のいずれでも、それぞれの通信速度でフレームを受信することができる。そして、それぞれの通信速度で受信信号を解析して所定フレームの検出を試みる。
【０１６０】
そして、第１の所定フレームを検出したときは、受信信号の通信速度がＩｒＤＡプロトコルに対応するフレームの通信速度であると判別し、二次局はＩｒＤＡプロトコルをサポートしていると判断するので、ＩｒＤＡプロトコルにより接続処理を進める。一方、第２の所定フレームを検出したときは、受信信号の通信速度がＩｒＳｉｍｐｌｅプロトコルに対応するフレームの通信速度であると判別し、二次局はＩｒＳｉｍｐｌｅプロトコルをサポートしていると判断するので、ＩｒＳｉｍｐｌｅプロトコルにより接続処理を進める。
【０１６１】
よって、例えば、二次局が、（ａ）ＩｒＤＡプロトコルを規定どおりにサポートし、ＩｒＤＡプロトコルに対応する応答レスポンスを送信する場合、（ｂ）ＩｒＳｉｍｐｌｅプロトコルを規定どおりにサポートし、ＩｒＳｉｍｐｌｅプロトコルに対応する応答レスポンスを送信する場合、（ｃ）ＩｒＤＡおよびＩｒＳｉｍｐｌｅプロトコルを規定どおりにサポートし、かつ、ＩｒＳｉｍｐｌｅプロトコルを優先させるためＩｒＳｉｍｐｌｅプロトコルに対応する応答レスポンスを送信する場合、（ｄ）最初にＩｒＳｉｍｐｌｅの接続要求コマンドを受信したときにＩｒＤＡプロトコルに対応する応答レスポンスを返信する応答レスポンス誤送信機器の場合のいずれであっても、一次局としての上記通信機器が上記二次局からの応答レスポンスを受信し、確実に接続処理を進めることができる。
【０１６２】
したがって、上記通信機器は、対向局と確実に接続することができるという効果を奏する。特に、上記通信機器が一次局である場合、応答レスポンス誤送信機器を二次局として、ＩｒＤＡプロトコルにて確実に接続することができるという効果を奏する。
【０１６３】
さらに、本発明に係る通信システムは、上記通信機器を搭載し、該通信機器によって他の通信装置と通信することを特徴とする通信装置と、該他の通信装置とを備えることを特徴としている。
【０１６４】
よって、二次局が、（ａ）第１のプロトコルを規定どおりにサポートし、第１の応答レスポンスを送信する場合、（ｂ）第２のプロトコルを規定どおりにサポートし、第２の応答レスポンスを送信する場合、（ｃ）第１および第２のプロトコルを規定どおりにサポートし、かつ、第２のプロトコルを優先させるため第２の応答レスポンスを送信する場合、（ｄ）最初に第２の接続要求コマンドを受信したときに第１の応答レスポンスを返信する応答レスポンス誤送信機器の場合のいずれであっても、一次局としての上記通信機器が上記二次局から送信されるフレームを受信し、確実に接続処理を進めることができる。
【０１６５】
したがって、上記通信システムでは、一次局と二次局とが確実に接続することができるという効果を奏する。
【０１６６】
なお、上記通信機器は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記通信機器をコンピュータにて実現させる通信機器の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【０１６７】
また、上記通信機器は、上記の各手段として機能する通信回路によって実現してもよい。
【発明の効果】
【０１６８】
以上のように、本発明に係る通信機器は、受信信号から、第１の通信速度に対応する第１の間隔毎にパルスを検出する第１のパルス検出手段と、該第１のパルス検出手段が検出したパルスを基に第１の所定フレームを検出する第１の通信速度検出手段と、受信信号から、第１の通信速度とは異なる第２の通信速度に対応する第２の間隔毎にパルスを検出する第２のパルス検出手段と、該第２のパルス検出手段が検出したパルスを基に第２の所定フレームを検出する第２の通信速度検出手段と、上記第１の通信速度検出手段が第１の所定フレームを検出したとき、受信信号の通信速度が第１の通信速度であると決定し、上記第２の通信速度検出手段が第２の所定フレームを検出したとき、受信信号の通信速度を第２の通信速度であると決定する通信速度認識手段とを備えている。
【０１６９】
また、本発明に係る通信方法は、受信信号から、第１の通信速度に対応する第１の間隔毎にパルスを検出する第１のパルス検出ステップと、該第１のパルス検出ステップにて検出したパルスを基に第１の所定フレームを検出する第１の通信速度検出ステップと、受信信号から、第１の通信速度とは異なる第２の通信速度に対応する第２の間隔毎にパルスを検出する第２のパルス検出ステップと、該第２のパルス検出ステップにて検出したパルスを基に第２の所定フレームを検出する第２の通信速度検出ステップと、上記第１の通信速度検出ステップにて第１の所定フレームを検出したとき、受信信号の通信速度が第１の通信速度であると決定し、上記第２の通信速度検出ステップにて第２の所定フレームを検出したとき、受信信号の通信速度を第２の通信速度であると決定する通信速度認識ステップとを含んでいる。
【０１７０】
よって、受信信号の第１の通信速度と第２の通信速度とが異なる場合、いずれの通信速度の受信信号であっても、受信信号の通信速度を確実に認識することができる。
【０１７１】
したがって、上記通信機器および通信方法は、対向局から送信される信号の通信速度を確実に認識することができるという効果を奏する。
【発明を実施するための最良の形態】
【０１７２】
実施の形態において、具体例を挙げて説明する場合、実施の形態に係る通信機器が一次局として動作する形態について説明する。もちろん、該通信機器は二次局として動作してもよい。
【０１７３】
また、実施の形態において、具体例を挙げて説明する場合、実施の形態に係る通信機器は、二次局から受信するフレームの通信速度を認識することによって、通信プロトコルを決定し、二次局との接続を行う形態について説明する。もちろん、本発明に係る通信機器はこれに限られるものではなく、認識した受信フレームの通信速度に基づいて、通信プロトコルの決定を行う他、例えば、図４１で説明したように、ＳＮＲＭコマンドを送信した後の１１５．２ｋｂｐｓの通信速度での受信待ち、および、ＸＩＤコマンドを送信した後の９６００ｂｐｓの通信速度での受信待ちのそれぞれの受信待ち時の通信速度を外部から制御することなく切り替える処理を行ってもよい。
【０１７４】
また、実施の形態において、具体例を挙げて説明する場合、第１のプロトコルをＩｒＤＡとし、第２のプロトコルをＩｒＳｉｍｐｌｅとして説明する。もちろん、第１のプロトコルはＩｒＤＡに限られるものではなく、また、第２のプロトコルはＩｒＳｉｍｐｌｅに限られるものではない。すなわち、第１のプロトコルと第２のプロトコルとは、それぞれが送信するフレームを識別することが可能であればよい。例えば、二次局が送信し、１次局が受信するフレームである応答レスポンスにおいて、第１のプロトコルに対応する応答レスポンスの通信速度と第２のプロトコルに対応する応答レスポンスの通信速度とが異なるものであればよい。また、例えば、第１のプロトコルに対応する応答レスポンスのフレーム構造と第２のプロトコルに対応する応答レスポンスのフレーム構造とに差異があればよい。また、例えば、フレーム構造が同じであっても、識別可能なデータが書き込まれていればよい。
【０１７５】
また、実施の形態において、具体例を挙げて説明する場合、実施の形態に係る通信機器の受信フレームを、接続要求コマンドに対する応答レスポンス（ＵＡレスポンス）として説明する。もちろん、実施の形態に係る通信機器が受信するフレームは応答レスポンス（ＵＡレスポンス）に限られるものではなく、例えば、接続要求コマンドであってもよい。
【０１７６】
また、実施の形態において、具体例を挙げて説明する場合、第１の所定フレームをBOFフィールドとし、第２の所定フレームをEOFフィールドとして説明する。もちろん、第１の所定フレームはBOFフィールドに限られるものではなく、また、第２の所定フレームはEOFフィールドに限られるものではない。
【０１７７】
なお、実施の形態では、物理層、データリンク層、ネットワーク層、トランスポート層、セッション層＋プレゼンテーション層を、それぞれ、ＰＨＹ、ＩｒＬＡＰ、ＩｒＬＭＰ、ＩｒＳＭＰ、ＯＢＥＸと表記することがある。
【０１７８】
〔実施の形態１〕
本発明の一実施形態に係る通信機器について図１から図５に基づいて説明すると以下の通りである。
【０１７９】
（通信システムの全体構成）
図２を参照しながら、本実施形態に係る通信システム３ａについて説明する。図２は、本実施形態に係る通信機器１ａと通信機器２とを備える通信システム３ａの構成を示すブロック図である。
【０１８０】
通信機器１ａは、例えば、撮像した画像データを通信機器２に送信するデジタルカメラや、メールデータ、アドレス帳データ、スケジュール帳データなどを通信機器２に送信する携帯電話機などである。通信機器２は、例えば、通信機器１ａから受信した画像データを表示するテレビや、通信機器１ａから受信したメールデータ、アドレス帳データ、スケジュール帳データなどを記録するＰＣ（Personal Computer）などである。
【０１８１】
また、通信機器２は、（１）ＩｒＤＡプロトコルをサポートするが、「A Field」および「Destination Device Address」の両方がブロードキャストアドレスを示すフレーム（以下、「ブロードキャストフレーム」と称す）に対してＵＡレスポンスを返信する、ＩｒＤＡプロトコルを規定どおりにサポートしていない通信機器（以下、「応答レスポンス誤送信機器」と称す）、（２）ＩｒＤＡプロトコルのみを規定どおりにサポートする通信機器、（３）ＩｒＳｉｍｐｌｅプロトコルのみを規定どおりにサポートする通信機器、（４）ＩｒＤＡプロトコルおよびＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする通信機器のいずれかである。
【０１８２】
図２に示すように、通信機器１ａと通信機器２とは、赤外線を用いた無線通信にてデータを送信部８０から受信部８３へ、および、送信部８２から受信部８１へ送信し、相互に通信することが可能である。
【０１８３】
送信部８０、８２は、例えば、赤外線を用いた無線通信にてデータを外部に送信できるものである。通信媒体として赤外線を用いる場合、送信部８０、８２は、例えばＬＥＤ（発光ダイオード）やＬＤ（レーザーダイオード）で構成される。なお、上記では、無線通信の方式として赤外線を挙げたが、それに限定されるものではない。
【０１８４】
受信部８１、８３は、例えば、赤外線を用いた無線通信にてデータを外部から受信できるものである。通信媒体として赤外線を用いる場合、受信部８１、８３は、例えば、ＰＤ（フォトダイオード）で構成される。なお、上記では、無線通信の方式として赤外線を挙げたが、それに限定されるものではない。
【０１８５】
また、通信機器１ａは、通信ネットワーク９００に接続されて、通信ネットワーク９００を通じて図示しない外部の通信機器と通信が可能であってもよい。通信ネットワーク９００に接続されている場合、通信機器１ａは、図示しない外部の通信機器との間で、音声データ、メールデータ、画像データなどを送受信することができる。
【０１８６】
なお、通信ネットワーク９００としては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワーク９００を構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４ケーブル、ＵＳＢケーブル、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
【０１８７】
（通信機器の構成）
次に、図１を参照しながら、通信機器１ａの構成について説明する。図１は、本実施の一形態に係る通信機器１ａの構成を示すブロック図である。図１に示すように通信機器１ａは、主制御部１０ａ、記憶部２０、入力制御部４０、入力装置４１、送信部８０、および受信部８１とを備えて構成される。
【０１８８】
主制御部１０ａは、入力制御部４０、送信部８０、および受信部８１を制御するものである。主制御部１０ａは、記憶部２０に記憶されたプログラムを実行することによって上記の制御を行うとともに、所定の演算処理を行うものである。所定の演算処理としては、例えば、他の通信機器との接続要求がある。主制御部１０ａは、例えば、記憶部２０に記憶されたプログラムをロードする図示しないメモリ（例えばＲＡＭ（Random Access Memory））と、メモリにロードされたプログラムを実行する図示しないＣＰＵ（Central Processing Unit）によって実現される。上記メモリは、例えば半導体メモリで構成され、入力制御部４０、送信部８０、受信部８１、およびＣＰＵが処理を行うために必要なデータなどのデータを記憶する。主制御部１０ａの詳細な構成については後述する。
【０１８９】
記憶部２０は、例えば、主制御部１０ａのＣＰＵで実行されるプログラム、プログラムで利用される設定データや入力データ、プログラムの実行によって得られたデータ、通信機器２に送信するデータなどを記憶するものであり、ＲＯＭ（Read-Only Memory）やフラッシュメモリなどの不揮発性メモリなどで実現される。記憶部２０に記憶するデータには、他の通信装置へ送信部８０を介して送信するデータが含まれる。例えば、図示していない撮像装置から取り込まれた画像データ、入力装置４１から入力されたメールデータ、アドレス帳データ、スケジュール帳データ、図示していないメール受信部により受信したメールデータ、画像データなどである。なお、記憶部２０は、必ずしも通信機器１ａに備えられる必要はなく、外部記憶装置として通信機器１ａに接続される構成でもよい。
【０１９０】
入力装置４１は、通信機器１ａの操作者の入力操作を受けつける入力装置であり、入力操作に応じた入力信号を入力制御部４０に送信する。入力装置４１は、例えば、通信機器１ａの表面に設けられたボタン（キー）、スイッチ、タッチパネルなどの入力デバイスで構成される。操作者が入力装置４１から入力操作を行うことにより、メール、アドレス帳、スケジュール帳などのデータを生成することができる。生成されたデータは、主制御部１０ａを経由して記憶部２０に記憶される。なお、入力装置４１が受けつける入力操作には、通信機器１ａの操作者が送信しようとする画像データの選択、通信機器２との赤外線通信を開始するための赤外線通信開始指示などが含まれる。
【０１９１】
入力制御部４０は、通信機器１ａの操作者の操作を受けつける入力装置４１を制御し、操作者の入力操作に応じた入力信号を主制御部１０ａに送信する。
【０１９２】
なお、図示しないが、表示装置、撮像装置、音声入力装置、音声出力装置などを通信機器１ａの機能に応じて適宜選択して備えてもよい。例えば、通信機器１ａをデジタルカメラに適用する場合には、撮像装置を設けて、撮像した画像を、主制御部１０ａ、送信部８０、受信部８１による通信機能によって、通信機器２に送信するように構成することができる。また、例えば、通信機器１ａを携帯電話機に適用する場合には、音声入力装置、音声出力装置、および通信ネットワーク９００と接続するための外部通信制御部を設けて、受信した音声データやメールデータを、主制御部１０ａ、送信部８０、受信部８１による通信機能によって、通信機器２に送信するように構成することができる。
【０１９３】
次に、主制御部１０ａについて、詳細に説明する。主制御部１０ａは、ＩｒＬＡＰ層処理部１００と上位層処理部１０１と下位層処理部１０２と通信プロトコル解析部１６０ａとを含んでいる。
【０１９４】
ＩｒＬＡＰ層処理部１００は、プロトコル制御部１１０、タイマー１２０、送信要求コマンド解析部１３０、送信用上位層データ格納部１４０、ＩｒＳｉｍｐｌｅプロトコル送信フレーム生成部１５０、ＩｒＤＡプロトコル送信フレーム生成部１５１、ＩｒＳｉｍｐｌｅプロトコル受信フレーム解析部１７０、ＩｒＤＡプロトコル受信フレーム解析部１７１、受信用上位層データ格納部１８０、受信コマンド通知生成部１９０とを備えて構成される。
【０１９５】
プロトコル制御部１１０は、ＩｒＬＡＰ層のプロトコルを制御する。そのために、プロトコル制御部（プロトコル制御手段）１１０は、IrDA-IrLAP制御部（第１のプロトコル制御部）（第１のプロトコル制御手段）１１１、IrSimple-IrLAP制御部（第２のプロトコル制御部）（第２のプロトコル制御手段）１１２、プロトコル切り替え部１１３を有する。
【０１９６】
IrDA-IrLAP制御部１１１は、IrDA-IrLAPプロトコルによる通信を行う。そのために、IrDA-IrLAP制御部１１１は、局発見制御部１１１１、接続制御部１１１２、データ転送制御部１１１３、切断制御部１１１４を備える。局発見制御部１１１１は、IrDA-IrLAPプロトコルによる局発見処理を行う。接続制御部１１１２は、IrDA-IrLAPプロトコルによる接続処理を行う。データ転送制御部１１１３は、IrDA-IrLAPプロトコルによるデータ転送を行う。切断制御部１１１４は、IrDA-IrLAPプロトコルによる切断処理を行う。そして、IrDA-IrLAP制御部１１１は、接続時には、局発見制御部１１１１により局発見処理を行った上で接続制御部１１１２により接続処理を行い、データ転送時には、データ転送制御部１１１３によりデータ転送を行い、切断時には、切断制御部１１１４により切断処理を行う。
【０１９７】
IrSimple-IrLAP制御部１１２は、IrSimple-IrLAPプロトコルによる通信を行う。そのために、IrSimple-IrLAP制御部１１２は、接続制御部１１２１、データ転送制御部１１２２、切断制御部１１２３を備える。接続制御部１１２１は、IrSimple-IrLAPプロトコルによる接続処理を行う。データ転送制御部１１２２は、IrSimple-IrLAPプロトコルによるデータ転送を行う。切断制御部１１２３は、IrSimple-IrLAPプロトコルによる切断処理を行う。そして、IrSimple-IrLAP制御部１１２は、接続時には、接続制御部１１２１により接続処理を行い、データ転送時には、データ転送制御部１１２２によりデータ転送を行い、切断時には、切断制御部１１２３により切断処理を行う。
【０１９８】
プロトコル切り替え部１１３は、IrDA-IrLAP制御部１１１とIrSimple-IrLAP制御部１１２とを切り替える。つまり、通信機器２との接続を確立するとき、ＩｒＬＡＰ層処理部１００は、プロトコル切り替え部１１３の切り替え処理によって、まずＩｒＳｉｍｐｌｅプロトコルによる接続を試み、通信機器２からの応答が無ければ、次にＩｒＤＡプロトコルによる接続を試み、再び通信機器２からの応答が無ければ、次に再びＩｒＳｉｍｐｌｅプロトコルによる接続を試みる、という処理を繰り返す。
【０１９９】
タイマー１２０は、プロトコル制御部１１０により、制御されるタイマーである。タイマー１２０は、例えば、プロトコル制御部１１０が接続処理のタイムアウトを判定する際に利用される。
【０２００】
また、プロトコル制御部１１０は、IrSimple-IrLAP制御部１１２による接続処理中に、後述する通信プロトコル解析部１６０ａからＩｒＤＡプロトコルに対応するＵＡレスポンスを受信したという判定結果を受けた場合、ＩｒＤＡプロトコルでの接続を行うため、IrSimple-IrLAP制御部１１２による接続処理を終了させ、ＬＡＰ層までの接続処理を完了する。
【０２０１】
同様に、プロトコル制御部１１０は、IrDA-IrLAP制御部１１１による接続処理中に、通信プロトコル解析部１６０ａからＩｒＳｉｍｐｌｅプロトコルに対応するＵＡレスポンスを受信したという判定結果を受けた場合は、ＩｒＳｉｍｐｌｅプロトコルでの接続を行うため、IrDA-IrLAP制御部１１１による接続処理を終了させ、接続処理を完了してもよい。
【０２０２】
送信要求コマンド解析部１３０は、上位層（ＩｒＬＭＰ層）からの送信要求コマンドを解析する。ここでいう送信要求コマンドとは、接続要求、データ転送要求、切断要求である。解析結果は、プロトコル制御部１３０に通知される。
【０２０３】
送信用上位層データ格納部１４０は、上位層（ＩｒＬＭＰ層）からの送信データを格納する。格納されたデータは、ＩｒＳｉｍｐｌｅプロトコル送信フレーム生成部１５０またはＩｒＤＡプロトコル送信フレーム生成部１５１に渡され、送信フレーム内に配置される。
【０２０４】
ＩｒＳｉｍｐｌｅプロトコル送信フレーム生成部１５０は、ＩｒＳｉｍｐｌｅプロトコルで規定されたフレームフォーマットに従って、下位層（ＰＨＹ層）へ渡す送信フレームを生成する。送信用上位層データ格納部１４０から取得したデータおよび、プロトコル制御部１１０の指示に基づいて、送信データを予めＩｒＳｉｍｐｌｅプロトコルで規定されたフレームフォーマットに沿って配置し、送信フレームを生成する。またこのとき、二次局がエラー検出を行うためのエラー検出符号を送信フレームに付加する。エラー検出符号は、例えばＣＲＣである。また、エラー訂正符号を送信フレームに付加してもよい。
【０２０５】
ＩｒＤＡプロトコル送信フレーム生成部１５１は、ＩｒＤＡプロトコルで規定されたフレームフォーマットに従って、下位層（ＰＨＹ層）へ渡す送信フレームを生成する。送信用上位層データ格納部１４０から取得したデータおよび、プロトコル制御部１１０の指示に基づいて、送信データを予めＩｒＤＡプロトコルで規定されたフレームフォーマットによって配置し、送信フレームを生成する。また、併せて、二次局がエラー検出を行うためのエラー検出符号を送信フレームに付加する。エラー検出符号は、例えばＣＲＣである。また、エラー訂正符号を送信フレームに付加してもよい。
【０２０６】
なお、図１では、ＩｒＳｉｍｐｌｅプロトコル送信フレーム生成部１５０およびＩｒＤＡプロトコル送信フレーム生成部１５１との２つのプロトコル送信フレーム生成部を備える構成としているが、複数種類の通信プロトコルで通信する場合は、それぞれの通信プロトコルに対応するプロトコル送信フレーム生成部を備える構成とすればよい。
【０２０７】
ＩｒＳｉｍｐｌｅプロトコル受信フレーム解析部１７０は、通信プロトコル解析部１６０ａより送信された受信フレームをＩｒＳｉｍｐｌｅプロトコルのフレームフォーマットに従って解析を行い、解析結果をプロトコル制御部１１０に通知する。また、受信フレームから抽出された上位層データを受信用上位層データ格納部１８０に格納する。なお、上位層データを受信用上位層データ格納部１８０に格納するとき、プロトコル制御部１１０を介して格納してもよい。
【０２０８】
ＩｒＤＡプロトコル受信フレーム解析部１７１は、通信プロトコル解析部１６０ａより送信された受信フレームをＩｒＤＡプロトコルのフレームフォーマットに従って解析を行い、解析結果をプロトコル制御部１１０に通知する。また、受信フレームから抽出された上位層データを受信用上位層データ格納部１８０に格納する。なお、上位層データを受信用上位層データ格納部１８０に格納するとき、プロトコル制御部１１０を介して格納してもよい。
【０２０９】
なお、図１では、ＩｒＳｉｍｐｌｅプロトコル受信フレーム解析部１７０およびＩｒＤＡプロトコル受信フレーム解析部１７１との２つのプロトコル受信フレーム解析部を備える構成としているが、複数種類の通信プロトコルで通信する場合は、それぞれの通信プロトコルに対応するプロトコル受信フレーム解析部を備える構成とすればよい。
【０２１０】
受信用上位層データ格納部１８０は、ＩｒＳｉｍｐｌｅプロトコル受信フレーム解析部１７０またはＩｒＤＡプロトコル受信フレーム解析部１７１にて、抽出された上位層データを格納する。格納されたデータは、上位層（ＩｒＬＭＰ層）へと渡される。
【０２１１】
受信コマンド通知生成部１９０は、プロトコル制御部１１０からの受信コマンド通知生成要求により、受信コマンドを生成し、上位層（ＩｒＬＭＰ層）へと通知する。ここでいう受信コマンドとは、接続要求受信コマンド、データ転送要求受信コマンド、切断要求受信コマンドである。
【０２１２】
上位層処理部１０１は、受信用上位層データ格納部１８０からのデータと受信コマンド通知生成部１９０からの受信コマンドとを基にして、ＩｒＬＡＰ層より上位層での処理を行う。
【０２１３】
下位層処理部１０２は、ＩｒＳｉｍｐｌｅプロトコル送信フレーム生成部１５０およびＩｒＤＡプロトコル送信フレーム生成部１５１からの送信フレームとを基にして、ＩｒＬＡＰ層より下位層での処理を行う。
【０２１４】
通信プロトコル解析部１６０ａは、下位層処理部１０２から受信したフレームの解析を行い、ＩｒＳｉｍｐｌｅプロトコルに対応しているフレームであるか、ＩｒＤＡプロトコルに対応しているフレームであるかの判定を行い、判定結果をプロトコル制御部１１０に通知する。また、通信プロトコル解析部１６０ａは、受信フレームがＩｒＳｉｍｐｌｅプロトコルに対応するフレームである場合には、受信フレームをＩｒＳｉｍｐｌｅプロトコル受信フレーム解析部１７０に送信し、受信フレームがＩｒＤＡプロトコルに対応するフレームである場合には、受信フレームをＩｒＤＡプロトコル受信フレーム解析部１７１に送信する。
【０２１５】
図３を参照しながら、通信プロトコル解析部１６０ａについて、詳細に説明する。図３は、通信プロトコル解析部１６０ａの構成を示すブロック図である。図３に示すように通信プロトコル解析部１６０ａは、ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ａ、ＩｒＤＡプロトコルフレーム受信部６２０ａ、および通信プロトコル判定部６３０ａとを備えて構成される。
【０２１６】
ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ａは、IrSimple-IrLAP制御部１１２が接続要求コマンドであるＳＮＲＭコマンドを送信後、１１５．２ｋｂｐｓの通信速度で返信される応答レスポンスを受信できる状態となる。そして、１１５．２ｋｂｐｓの通信速度で返信されるＩｒＳｉｍｐｌｅプロトコルのフレームを受信し、解析を行う。ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ａが受信するフレームは、背景技術で説明したとおり図４９に示すフレームフォーマットに従う。すなわち、受信フレームはBOFとIrLAP DataとFCSとEOFとのフィールドを備えて構成される。そのために、ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ａは、ＩｒＳｉｍｐｌｅプロトコルフレーム開始検出部６１１ａ、ＩｒＳｉｍｐｌｅプロトコルフレーム終了検出部６１２ａ、ＩｒＳｉｍｐｌｅプロトコル誤り検出部６１３ａを備える。
【０２１７】
ＩｒＳｉｍｐｌｅプロトコルフレーム開始検出部６１１ａは、受信したフレームのBOFフィールドの検出および除去を行う。そして、BOFフィールドを検出した場合は、フラグ検出信号を通信プロトコル判定部６３０ａに送信する。同様に、ＩｒＳｉｍｐｌｅプロトコルフレーム終了検出部６１２ａは、受信したフレームのEOFフィールドの検出および除去を行う。そして、EOFフィールドを検出した場合は、フラグ検出信号を通信プロトコル判定部６３０ａに送信する。
【０２１８】
次に、BOFフィールドおよびEOFフィールドが検出された場合には、ＩｒＳｉｍｐｌｅプロトコル誤り検出部６１３ａが、受信したフレームのFCSフィールドの値を基にして受信したデータに伝送誤りが発生していないかどうかの判定を行う。そして、誤りを検出しなかった場合、ＩｒＳｉｍｐｌｅプロトコル誤り検出部６１３ａは、IrLAP Dataフィールドの抽出を行い、ＩｒＳｉｍｐｌｅプロトコル受信フレーム解析部１７０へ抽出したデータを出力する。なお、ＩｒＳｉｍｐｌｅプロトコルフレーム開始検出部６１１ａまたはＩｒＳｉｍｐｌｅプロトコルフレーム終了検出部６１２ａのいずれか片方のみが、フラグ検出信号を通信プロトコル判定部６３０ａに送信してもよい。
【０２１９】
同様に、ＩｒＤＡプロトコルフレーム受信部６２０ａは、IrSimple-IrLAP制御部１１２が接続要求コマンドであるＳＮＲＭコマンドを送信後、９６００ｂｐｓの通信速度で返信される応答レスポンスを受信できる状態となる。そして、９６００ｂｐｓの通信速度で返信されるＩｒＤＡプロトコルのフレームを受信し、解析を行う。ＩｒＤＡプロトコルフレーム受信部６２０ａが受信するフレームは、背景技術で説明したとおり図４９に示すフレームフォーマットに従う。すなわち、受信フレームはBOFとIrLAP DataとFCSとEOFとのフィールドを備えて構成される。そのために、ＩｒＤＡプロトコルフレーム受信部６２０ａは、ＩｒＤＡプロトコルフレーム開始検出部６２１ａ、ＩｒＤＡプロトコルフレーム終了検出部６２２ａ、ＩｒＤＡプロトコル誤り検出部６２３ａを備える。
【０２２０】
ＩｒＤＡプロトコルフレーム開始検出部６２１ａは、受信したフレームのBOFフィールドの検出および除去を行う。そして、BOFフィールドを検出した場合は、フラグ検出信号を通信プロトコル判定部６３０ａに送信する。同様に、ＩｒＤＡプロトコルフレーム終了検出部６２２ａは、受信したフレームのEOFフィールドの検出および除去を行う。そして、EOFフィールドを検出した場合は、フラグ検出信号を通信プロトコル判定部６３０ａに送信する。次に、BOFフィールドおよびEOFフィールドが検出された場合には、ＩｒＤＡプロトコル誤り検出部６２３ａが、受信したフレームのFCSフィールドの値を基にして受信したデータに伝送誤りが発生していないかどうかの判定を行う。
【０２２１】
そして、誤りを検出しなかった場合、ＩｒＤＡプロトコル誤り検出部６２３ａは、IrLAP Dataフィールドの抽出を行い、ＩｒＤＡプロトコル受信フレーム解析部１７１へ抽出したデータを出力する。なお、ＩｒＤＡプロトコルフレーム開始検出部６２１ａまたはＩｒＤＡプロトコルフレーム終了検出部６２２ａのいずれか片方のみが、フラグ検出信号を通信プロトコル判定部６３０ａに送信してもよい。
【０２２２】
通信プロトコル判定部６３０ａは、フラグ検出信号を受信し、受信したフラグ検出信号が、ＩｒＳｉｍｐｌｅプロトコルフレーム開始検出部６１１ａ（または、ＩｒＳｉｍｐｌｅプロトコルフレーム終了検出部６１２ａ）から送信されたものであると認識した場合は、通信機器２がＩｒＳｉｍｐｌｅプロトコルに対応した通信機器であると判定する。逆に、受信したフラグ検出信号が、ＩｒＤＡプロトコルフレーム開始検出部６２１ａ（または、ＩｒＤＡプロトコルフレーム終了検出部６２２ａ）から送信されたものであると認識した場合は、通信機器２が、誤ってＩｒＤＡプロトコルに対応する応答フレームを返信するＩｒＤＡプロトコルに対応した通信機器であると判定する。
【０２２３】
そして、通信プロトコル判定部６３０ａは、その判定結果をプロトコル制御部１１０へ通知する。この通知に基づき、プロトコル制御部１１０が応答レスポンス受信後の接続処理をＩｒＳｉｍｐｌｅプロトコルで行うか、または、ＩｒＤＡプロトコルで行うかを制御する。具体的には、通信機器２がＩｒＳｉｍｐｌｅプロトコルに対応した通信機器であると判定した場合は、ＩｒＬＡＰ層、ＩｒＬＭＰ層、ＩｒＳＭＰ層、ＯＢＥＸ層の接続が完了し、これ以降は、ＳＮＲＭコマンドおよびＵＡレスポンスで決定されたＱｏＳに基づいた通信パラメータによって、データ交換が行われる。また、通信機器２がＩｒＤＡプロトコルに対応した通信機器であると判定した場合は、ＩｒＬＡＰ層までのＩｒＤＡプロトコルの接続が完了し、引き続きＩｒＬＭＰ、ＴｉｎｙＴＰ、ＯＢＥＸの接続が行われる。
【０２２４】
（通信機器１ａと通信機器２との接続処理の流れ）
次に、図４を参照しながら、一次局である通信機器１ａが、通信機器１ａの通信可能距離内にある通信機器２と接続する手順について説明する。図４は、通信機器１ａが二次局からの応答に応じて接続処理を変更する処理の流れを示すフローチャートである。
【０２２５】
通信機器１ａの操作者が入力装置４１から赤外線通信開始指示を入力すると、プロトコル切り替え部１１３は、まずIrSimple-IrLAP制御部１１２を最初に動作させ、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドを接続制御部１１２１から送信する（Ｓ１）。通信機器２がＩｒＳｉｍｐｌｅプロトコルをサポートしている場合は、通信機器２は二次局としてＳＮＲＭコマンドに応答して、ＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスを返信する。
【０２２６】
また、通信機器２がＩｒＤＡプロトコルおよびＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする場合は、ＩｒＳｉｍｐｌｅプロトコルで接続することを優先するために、ＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスを返信する。また、通信機器２が応答レスポンス誤送信機器である場合は、ＳＮＲＭコマンドに応答して、ＩｒＤＡプロトコルに対応したＵＡレスポンスを返信する。
【０２２７】
次に、ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ａおよびＩｒＤＡプロトコルフレーム受信部６２０ａが二次局からの応答を待つ。応答があれば（Ｓ２にてＹＥＳ）、ＩｒＳｉｍｐｌｅプロトコルフレーム開始検出部６１１ａまたはＩｒＤＡプロトコルフレーム開始検出部６２１ａが受信フレームのBOFフィールドを検出するか、または、ＩｒＳｉｍｐｌｅプロトコルフレーム終了検出部６１２ａまたはＩｒＤＡプロトコルフレーム終了検出部６２２ａが受信フレームのEOFフィールドを検出する。そして、検出信号を通信プロトコル判定部６３０ａに送信し、通信プロトコル判定部６３０ａがその検出信号に基づき、応答フレームが対応している通信プロトコルを判定する（Ｓ９およびＳ１０）。
【０２２８】
一方、所定の時間、応答がなければ（Ｓ２にてＮＯ）、プロトコル切り替え部１１３がIrSimple-IrLAP制御部１１２に代えてIrDA-IrLAP制御部１１１を動作させ、ＩｒＤＡプロトコルをサポートする二次局が通信機器１ａの通信可能距離内に存在するかどうかを確認するために、１スロットのＸＩＤコマンドを局発見制御部１１１１から送信する（Ｓ３）。ここで、所定の時間とは、例えば、ＩｒＳｉｍｐｌｅプロトコルで規定されている、５０ミリ秒から８５ミリ秒の時間である。
【０２２９】
通信機器２がＩｒＤＡプロトコルをサポートしている場合は、通信機器２は二次局としてＸＩＤコマンドに応答してＸＩＤレスポンスを返信する。また、通信機器２がＩｒＤＡプロトコルおよびＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする場合は、ＩｒＳｉｍｐｌｅプロトコルで接続することを優先するために、１回目の１スロットのＸＩＤコマンドには応答しないように規定されている（非特許文献６参照）。よって、通信機器２がＩｒＤＡプロトコルおよびＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする場合は、応答フレームを返信しない。
【０２３０】
次に、ＩｒＤＡプロトコルフレーム受信部６２０ａが二次局からの応答を待ち、応答があれば（Ｓ４にてＹＥＳ）、ＩｒＤＡプロトコルをサポートした通信機器２を発見したことになり、IrDA-IrLAP制御部１１１がＩｒＤＡプロトコルでの接続を行う（Ｓ１１〜Ｓ１２）。一方、所定の時間、応答がなければ（Ｓ４にてＮＯ）、ＩｒＤＡプロトコルで規定されているＸＩＤ−Ｅｎｄコマンドを局発見制御部１１１１が送信し（Ｓ５）、局発見コマンドの終了を通信可能距離内の二次局に伝える。
【０２３１】
次に、プロトコル切り替え部１１３がIrDA-IrLAP制御部１１１に代えてIrSimple-IrLAP制御部１１２を動作させ、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドを接続制御部１１２１が送信する（Ｓ６）。通信機器２がＩｒＳｉｍｐｌｅプロトコルをサポートしている場合は、通信機器２は二次局としてＳＮＲＭコマンドに応答して、ＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスを返信する。また、通信機器２がＩｒＤＡプロトコルおよびＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする場合は、ＩｒＳｉｍｐｌｅプロトコルで接続することを優先するために、ＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスを返信する。また、通信機器２が応答レスポンス誤送信機器である場合は、ＳＮＲＭコマンドに応答して、ＩｒＤＡプロトコルに対応したＵＡレスポンスを返信する。
【０２３２】
次に、ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ａおよびＩｒＤＡプロトコルフレーム受信部６２０ａが二次局からの応答を待つ。応答があれば（Ｓ７にてＹＥＳ）、ＩｒＳｉｍｐｌｅプロトコルフレーム開始検出部６１１ａまたはＩｒＤＡプロトコルフレーム開始検出部６２１ａが受信フレームのBOFフィールドを検出するか、または、ＩｒＳｉｍｐｌｅプロトコルフレーム終了検出部６１２ａまたはＩｒＤＡプロトコルフレーム終了検出部６２２ａが受信フレームのEOFフィールドを検出する。そして、検出信号を通信プロトコル判定部６３０ａに送信し、通信プロトコル判定部６３０ａがその検出信号に基づき、応答フレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスであるのか、または、ＩｒＤＡプロトコルに対応したＵＡレスポンスであるのかを判定する（Ｓ９およびＳ１０）。
【０２３３】
一方、所定の時間、応答がなければ（Ｓ７にてＮＯ）、ステップＳ１〜Ｓ７の繰り返しが満了したかどうかをプロトコル切り替え部１１３が判定し（Ｓ８）、繰り返しが満了していれば（Ｓ８にてＹＥＳ）、二次局は発見されずに接続処理を終了する。
【０２３４】
なお、繰り返しが満了したことの判定は、規定された回数だけ繰り返しを行ったことを判定してもよいし、接続手順を開始してからの経過時間をタイマー１２０により測定して判定してもよい（例えば、接続開始後５秒間だけ繰り返すなど）。
【０２３５】
一方、繰り返しが満了していなければ（Ｓ８にてＮＯ）、再度、プロトコル切り替え部１１３がIrSimple-IrLAP制御部１１２を動作させ、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドを接続制御部１１２１が送信する（Ｓ１）。
【０２３６】
また、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドに対して、通信機器２から応答があった場合（Ｓ２またはＳ７にてＹＥＳ）、通信プロトコル判定部６３０ａが上述の検出信号に基づき、受信した応答フレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスであるか否かの判定を行う（Ｓ９）。応答フレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスであれば（Ｓ９にてＹＥＳ）、ＩｒＳｉｍｐｌｅプロトコルをサポートする通信機器２を二次局として発見したことになるので、通信機器１ａの内部状態をＩｒＳｉｍｐｌｅプロトコルにて接続および通信を行うモード（以下、「ＩｒＳｉｍｐｌｅプロトコル通信モード」と称する）とする。そして、判定結果をプロトコル制御部１１０に通知し、これにより、ＩｒＬＡＰ層、ＩｒＬＭＰ層、ＩｒＳＭＰ層、ＯＢＥＸ層の接続が完了し、接続シーケンスを完了する。
【０２３７】
一方、応答フレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスでなければ（Ｓ９にてＮＯ）、受信した応答フレームがＩｒＤＡプロトコルに対応したＵＡレスポンスであるか否かの判定を行う（Ｓ１０）。応答フレームがＩｒＤＡプロトコルに対応したＵＡレスポンスであれば（Ｓ１０にてＹＥＳ）、ＩｒＤＡプロトコルをサポートする通信機器２を二次局として発見したことになる。そして、判定結果をプロトコル制御部１１０に通知し、ＩｒＬＡＰ層までのＩｒＤＡプロトコルの接続を完了する。
【０２３８】
また、応答フレームがＩｒＤＡプロトコルに対応したＵＡレスポンスでなければ（Ｓ１０にてＮＯ）、通信機器２がサポートする通信プロトコルはＩｒＳｉｍｐｌｅプロトコルでもなく、ＩｒＤＡプロトコルでもないことから、接続せずに接続シーケンスを終了する。
【０２３９】
また、ＩｒＤＡプロトコルのＸＩＤコマンドに対して、通信機器２から応答があった場合（Ｓ４にてＹＥＳ）、ＩｒＤＡプロトコルで規定されているＸＩＤ−Ｅｎｄコマンドを局発見制御部１１１１が送信し（Ｓ１１）、局発見コマンドの終了を通信可能距離内の二次局に伝える。これにより、ＩｒＤＡプロトコルをサポートする通信機器２を二次局として発見したことになるので、通信機器１ａの内部状態をＩｒＤＡプロトコルにて接続および通信を行うモード（以下、「ＩｒＤＡプロトコル通信モード」と称する）とする。局発見が完了したので、次に、ＩｒＤＡプロトコルに従ってＩｒＬＡＰ層の接続処理を行い（Ｓ１２）、ＩｒＬＡＰ層までの接続を完了し、接続シーケンスを終了する。
【０２４０】
次に、二次局である通信機器２が、（１）ＩｒＤＡプロトコルをサポートするが、ブロードキャストフレームに対してＵＡレスポンスを返信する応答レスポンス誤送信機器の場合、（２）ＩｒＳｉｍｐｌｅプロトコルを規定どおりにサポートする場合、（３）ＩｒＤＡプロトコルのみを規定どおりにサポートする場合、のそれぞれについて、通信機器１ａと通信機器２との接続の流れを説明する。
【０２４１】
（１）通信機器２が応答レスポンス誤送信機器の場合
図４を参照しながら、通信機器１ａと応答レスポンス誤送信機器である通信機器２との接続の流れについて説明する。
【０２４２】
接続制御部１１２１が送信したＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンド（Ｓ１）は、ブロードキャストフレームでありＩｒＤＡプロトコルで規定されている正常なフレームではないが、通信機器２はＩｒＤＡプロトコルに対応したＵＡレスポンスを返信する。通信機器１ａは、通信機器２からの応答があったので（Ｓ２にてＹＥＳ）、応答フレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスであるかを判別する（Ｓ９）。
【０２４３】
通信機器２から返信されたＵＡレスポンスはＩｒＤＡプロトコルに対応するものであり、ＩｒＳｉｍｐｌｅプロトコルに対応したものではないため（Ｓ９にてＮＯ）、次に、受信した応答フレームがＩｒＤＡプロトコルに対応したＵＡレスポンスであるか否かの判別を行う（Ｓ１０）。
【０２４４】
そして、受信した応答フレームがＩｒＤＡプロトコルに対応したＵＡレスポンスであるので（Ｓ１０にてＹＥＳ）、ＩｒＬＡＰ層までのＩｒＤＡプロトコルの接続を完了し、接続シーケンスを終了する。さらに、図示しないがＩｒＬＡＰ層の接続が完了すると、上位層処理部１０１がＩｒＬＭＰ層、ＴｉｎｙＴＰ層、ＯＢＥＸ層での接続を実行する。各層の接続が完了すると、通信機器１ａは記憶部２０に記憶しているデータをＩｒＤＡプロトコルにより通信機器２に送信することが可能となる。上記のように処理が進むことで、通信機器１ａは、応答レスポンス誤送信機器である通信機器２と、ＩｒＤＡプロトコルでの通信を行うことができる。
【０２４５】
図５を参照しながら、通信機器１ａと応答レスポンス誤送信機器である通信機器２との接続シーケンスについて説明する。図５は、通信機器１ａと応答レスポンス誤送信機器である通信機器２とが接続を行うときの信号シーケンスである。
【０２４６】
図５に示すように、一次局はＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドを送信した後、９６００ｂｐｓおよび１１５．２ｋｂｐｓの通信速度で、二次局からのＵＡレスポンスを待つ。二次局は、上記ＳＮＲＭコマンドに応答してＩｒＤＡプロトコルに対応したＵＡレスポンスを９６００ｂｐｓの通信速度で送信する。一次局は、９６００ｂｐｓおよび１１５．２ｋｂｐｓの通信速度で、二次局からのＵＡレスポンスを待っているので、二次局から送信されたＵＡレスポンスを受信することができる。そして、二次局からのＵＡレスポンスがＩｒＤＡプロトコルに対応したＵＡレスポンスであるか否かを判別することができるので、ＩｒＬＡＰ層までのＩｒＤＡプロトコルの接続を完了し、ＩｒＬＭＰ層、ＴｉｎｙＴＰ層、ＯＢＥＸ層での接続を実行する。
【０２４７】
（２）通信機器２がＩｒＳｉｍｐｌｅプロトコルを規定どおりにサポートする場合
図４を参照しながら、通信機器１ａとＩｒＳｉｍｐｌｅプロトコルを規定どおりにサポートする通信機器２との接続の流れについて説明する。なお、接続時の信号シーケンスは、背景技術で説明した図３８に示す信号シーケンスと同じである。
【０２４８】
通信機器２は、接続制御部１１２１が送信したＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンド（Ｓ１）に応答し、ＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスを返信する。通信機器１ａは、通信機器２からの応答があったので（Ｓ２にてＹＥＳ）、応答フレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスであるかを判別する（Ｓ９）。
【０２４９】
通信機器２から返信されたＵＡレスポンスは、ＩｒＳｉｍｐｌｅプロトコルに対応したものであるため（Ｓ９にてＹＥＳ）、通信機器１ａはＩｒＳｉｍｐｌｅプロトコルをサポートする通信機器２を二次局として発見したことになるので、通信機器１ａの内部状態をＩｒＳｉｍｐｌｅプロトコル通信モードとする。これにより、ＩｒＬＡＰ層、ＩｒＬＭＰ層、ＩｒＳＭＰ層、ＯＢＥＸ層の接続が完了し、接続シーケンスを完了する。上記のように処理が進むことで、通信機器１ａは通信機器２とＩｒＳｉｍｐｌｅプロトコルでの通信を行うことができる。
【０２５０】
（３）通信機器２がＩｒＤＡプロトコルのみを規定どおりにサポートする場合
図４を参照しながら、通信機器１ａとＩｒＤＡプロトコルのみを規定どおりにサポートする通信機器２との接続の流れについて説明する。なお、接続時の信号シーケンスは、背景技術で説明した図４３に示す信号シーケンスと同じである。
【０２５１】
通信機器２は、接続制御部１１２１が送信したＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンド（Ｓ１）がブロードキャストフレームであるため、応答しない。通信機器１ａは、所定の時間（例えば、ＩｒＳｉｍｐｌｅプロトコルで規定されている、５０ミリ秒から８５ミリ秒の時間）、通信機器２からの応答がないので（Ｓ２にてＮＯ）、プロトコル切り替え部１１３がIrSimple-IrLAP制御部１１２に代えてIrDA-IrLAP制御部１１１を動作させ、ＩｒＤＡプロトコルをサポートする二次局が通信機器１ａの通信可能距離内に存在するかどうかを確認するために、１スロットのＸＩＤコマンドを局発見制御部１１１１から送信する（Ｓ３）。
【０２５２】
通信機器２は二次局としてＸＩＤコマンドに応答してＸＩＤレスポンスを返信する。二次局からの応答があったので（Ｓ４にてＹＥＳ）、通信機器１ａはＩｒＤＡプロトコルをサポートした通信機器２を発見したことになり、ＩｒＤＡプロトコルで規定されているＸＩＤ−Ｅｎｄコマンドを局発見制御部１１１１が送信し（Ｓ１１）、局発見コマンドの終了を通信可能距離内の二次局に伝える。そして、局発見が完了したので、ＩｒＤＡプロトコルに従ってＩｒＬＡＰ層の接続処理を行い（Ｓ１２）、ＩｒＬＡＰ層までの接続を完了し、接続シーケンスを終了する。上記のように処理が進むことで、通信機器１ａは通信機器２とＩｒＤＡプロトコルでの通信を行うことができる。
【０２５３】
なお、局発見制御部１１１１がＸＩＤコマンドを送信した後、所定の時間、応答がなければ（Ｓ４にてＮＯ）、ＩｒＤＡプロトコルで規定されているＸＩＤ−Ｅｎｄコマンドを局発見制御部１１１１が送信し（Ｓ５）、局発見コマンドの終了を通信可能距離内の二次局に伝える。次に、プロトコル切り替え部１１３がIrDA-IrLAP制御部１１１に代えてIrSimple-IrLAP制御部１１２を動作させ、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドを接続制御部１１２１が送信する（Ｓ６）。この場合にも所定の時間、応答がなければ（Ｓ７にてＮＯ）、ステップＳ１〜Ｓ７の繰り返しが満了したかどうかをプロトコル切り替え部１１３が判定し（Ｓ８）、繰り返しが満了していれば（Ｓ８にてＹＥＳ）、二次局は発見されずに接続処理を終了する。
【０２５４】
以上のように、通信機器２が、（１）最初にＩｒＳｉｍｐｌｅの接続要求コマンドを受信したときにＩｒＤＡプロトコルに対応する応答レスポンスを返信する応答レスポンス誤送信機器の場合、（２）ＩｒＳｉｍｐｌｅプロトコルのみを規定どおりにサポートし、ＩｒＳｉｍｐｌｅプロトコルに対応する応答レスポンスを送信するか、または、ＩｒＤＡおよびＩｒＳｉｍｐｌｅプロトコルを規定どおりにサポートし、かつ、ＩｒＳｉｍｐｌｅプロトコルを優先させるためＩｒＳｉｍｐｌｅプロトコルに対応する応答レスポンスを送信する場合、（３）ＩｒＤＡプロトコルのみを規定どおりにサポートし、ＩｒＤＡプロトコルに対応する応答レスポンスを送信する場合のいずれであっても、本実施形態に係る通信機器１ａが通信機器２からの応答レスポンスを受信し、確実に接続処理を進めることができる。
【０２５５】
〔実施の形態２〕
実施の形態１の構成では、受信した応答レスポンスの通信速度に応じて通信プロトコルを判定するが、通信路の伝送品質が悪い場合には、受信したフレームのBOFフィールドまたはEOFフィールドが正しく検出できないことがある。その結果、通信プロトコルを正しく判定できないことがある。そこで、実施の形態１の構成に加え、さらに、受信した応答レスポンスのフレーム構造の解析を行う実施の形態について説明する。
【０２５６】
本実施形態について図６から図８、および図４に基づいて説明すれば、以下の通りである。なお、説明の便宜上、実施の形態１にて示した各部材と同一の機能を有する部材には、同一の符号を付記し、その説明を省略する。
【０２５７】
（通信システムの全体構成）
図６を参照しながら、本実施形態に係る通信システム３ｂについて説明する。図６は、本実施形態に係る通信機器である通信機器１ｂと通信機器２とを備える通信システム３ｂの構成を示すブロック図である。通信機器１ｂは、通信機器１ａと同様のデジタルカメラや携帯電話機などであり、通信機器２と相互に通信することが可能である。また、通信機器１ｂは、通信ネットワーク９００を通じて図示しない外部の通信機器と通信が可能であってもよい。
【０２５８】
（通信機器の構成）
次に、図７を参照しながら、通信機器１ｂの構成について説明する。図７は通信機器１ｂの構成を示すブロック図である。図７に示すように、通信機器１ｂは、実施の形態１の通信機器１ａとほぼ同様の部材を備えているが、主制御部１０ａに代えて主制御部１０ｂを備えている。主制御部１０ｂは、実施の形態１の主制御部１０ａとほぼ同様の部材を備えているが、通信プロトコル解析部１６０ａに代えて通信プロトコル解析部１６０ｂを備えている。
【０２５９】
図８を参照しながら、通信プロトコル解析部１６０ｂについて、詳細に説明する。図８は、通信プロトコル解析部１６０ｂの構成を示すブロック図である。図８に示すように通信プロトコル解析部１６０ｂは、ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ｂ、ＩｒＤＡプロトコルフレーム受信部６２０ｂ、通信プロトコル判定部６３０ｂ、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂ、およびＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂとを備えて構成される。
【０２６０】
ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ｂは、IrSimple-IrLAP制御部１１２が接続要求コマンドであるＳＮＲＭコマンドを送信後、１１５．２ｋｂｐｓの通信速度で返信される応答レスポンスを受信できる状態となる。そして、ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ｂは、１１５．２ｋｂｐｓの通信速度で返信されるＩｒＳｉｍｐｌｅプロトコルフレームを受信し、解析を行う。ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ｂが受信するフレームは、背景技術で説明したとおり図４９に示すフレームフォーマットに従う。すなわち、受信フレームはBOFとIrLAP DataとFCSとEOFとのフィールドを備えて構成される。そのために、ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ｂは、ＩｒＳｉｍｐｌｅプロトコルフレーム開始検出部６１１ｂ、ＩｒＳｉｍｐｌｅプロトコルフレーム終了検出部６１２ｂ、およびＩｒＳｉｍｐｌｅプロトコル誤り検出部６１３ｂを備える。
【０２６１】
ＩｒＳｉｍｐｌｅプロトコルフレーム開始検出部６１１ｂは、受信したフレームのBOFフィールドの検出および除去を行う。同様に、ＩｒＳｉｍｐｌｅプロトコルフレーム終了検出部６１２ｂは、受信したフレームのEOFフィールドの検出および除去を行う。次に、BOFフィールドおよびEOFフィールドが検出された場合には、ＩｒＳｉｍｐｌｅプロトコル誤り検出部６１３ｂが、受信したフレームのFCSフィールドの値を基にして受信したデータに伝送誤りが発生していないかどうかの判定を行う。そして、誤りを検出しなかった場合、ＩｒＳｉｍｐｌｅプロトコル誤り検出部６１３ｂはIrLAP Dataフィールドの抽出を行い、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂへ抽出したデータを出力する。
【０２６２】
ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂは、受信したデータのフレーム構造を解析し、所定のフィールドが存在するかどうかを調べる。そして、その結果を通信プロトコル判定部６３０ｂに送信する。所定のフィールドが存在するかどうか調べる方法については後述する。
【０２６３】
同様に、ＩｒＤＡプロトコルフレーム受信部６２０ａは、９６００ｂｐｓの通信速度で返信されるＩｒＤＡプロトコルフレームを受信し、解析を行う。そのために、ＩｒＤＡプロトコルフレーム開始検出部６２１ｂ、ＩｒＤＡプロトコルフレーム終了検出部６２２ｂ、およびＩｒＤＡプロトコル誤り検出部６２３ｂを備える。ＩｒＤＡプロトコルフレーム開始検出部６２１ｂは、受信したフレームのBOFフィールドの検出および除去を行う。同様に、ＩｒＤＡプロトコルフレーム終了検出部６２２ｂは、受信したフレームのEOFフィールドの検出および除去を行う。
【０２６４】
次に、BOFフィールドおよびEOFフィールドが検出された場合には、ＩｒＤＡプロトコル誤り検出部６２３ｂが、受信したフレームのFCSフィールドの値を基にして受信したデータに伝送誤りが発生していないかどうかの判定を行う。誤りを検出しなかった場合、ＩｒＤＡプロトコル誤り検出部６２３ｂは、IrLAP Dataフィールドの抽出を行い、ＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂへ抽出したデータを出力する。
【０２６５】
ＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂは、受信したデータの構造を解析し、所定のフィールドが存在するかどうかを調べる。そして、その結果を通信プロトコル判定部６３０ｂに送信する。所定のフィールドが存在するかどうか調べる方法については後述する。
【０２６６】
通信プロトコル判定部６３０ｂでは、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂまたはＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂから送信される結果を基に、受信フレームが対応している通信プロトコルを判定し、判定結果をプロトコル制御部１１０に通知する。すなわち、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂから所定のフィールドが存在した旨の結果が送信された場合には、受信フレームが対応している通信プロトコルはＩｒＳｉｍｐｌｅプロトコルであると判定する。一方、ＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂから所定のフィールドが存在した旨の結果が送信された場合には、受信フレームが対応している通信プロトコルはＩｒＤＡプロトコルであると判定する。
【０２６７】
次に、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂおよびＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂにおいて、所定のフィールドが存在するかどうか調べる方法を、例を挙げて説明する。
【０２６８】
背景技術で説明したように、ＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスのフレームには、Upper User Dataという固有のフィールドが必ず存在するが、ＩｒＤＡプロトコルに対応したＵＡレスポンスのフレームには、Upper User Dataフィールドが存在しない（図４０および図４６参照）。つまり、Upper User Dataフィールドが存在するかどうかを調べることにより、受信したフレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスフレームであるか、または、ＩｒＤＡプロトコルに対応したＵＡレスポンスフレームであるかを判別することができる。
【０２６９】
従って、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂとＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂは、それぞれ受信したデータにUpper User Dataフィールドが存在するかどうかを調べる。そして、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂがUpper User Dataフィールドを検出した場合は、その結果を通信プロトコル判定部６３０ｂに送信する。一方、ＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂがUpper User Dataフィールドを検出しなかった場合は、その結果を通信プロトコル判定部６３０ｂに送信する。
【０２７０】
そして、通信プロトコル判定部６３０ｂは、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂから結果が送信された場合には、受信したフレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスのフレームであると判定する。一方、通信プロトコル判定部６３０ｂは、ＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂから結果が送信された場合には、受信したフレームがＩｒＤＡプロトコルに対応したＵＡレスポンスのフレームであると判定する。
【０２７１】
（通信機器１ｂと通信機器２との接続処理の流れ）
次に、図４を参照しながら、一次局である通信機器１ｂが、通信機器１ｂの通信可能距離内にある通信機器２と接続する手順について説明する。図４は、通信機器１ｂが二次局からの応答に応じて接続処理を変更する処理の流れを示すフローチャートである。
【０２７２】
通信機器１ｂの操作者が入力装置４１から赤外線通信開始指示を入力すると、プロトコル切り替え部１１３は、まずIrSimple-IrLAP制御部１１２を最初に動作させ、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドを接続制御部１１２１から送信する（Ｓ１）。
【０２７３】
次に、ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ｂおよびＩｒＤＡプロトコルフレーム受信部６２０ｂが二次局からの応答を待つ。応答があれば（Ｓ２にてＹＥＳ）、ＩｒＳｉｍｐｌｅプロトコルフレーム開始検出部６１１ｂが受信フレームのBOFフィールドを検出し、ＩｒＳｉｍｐｌｅプロトコルフレーム終了検出部６１２ｂが受信フレームのEOFフィールドを検出し、ＩｒＳｉｍｐｌｅプロトコル誤り検出部６１３ｂ伝送誤りの判定を行い、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂへ抽出したデータを出力する。または、ＩｒＤＡプロトコルフレーム開始検出部６２１ｂが受信フレームのBOFフィールドを検出し、ＩｒＤＡプロトコルフレーム終了検出部６２２ｂが受信フレームのEOFフィールドを検出し、ＩｒＤＡプロトコル誤り検出部６２３ｂが伝送誤りの判定を行い、ＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂへ抽出したデータを出力する。
【０２７４】
そして、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂとＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂは、それぞれ受信したデータにUpper User Dataフィールドが存在するかどうかを調べ、その結果を通信プロトコル判定部６３０ｂに送信する。そして、通信プロトコル判定部６３０ｂがその結果に基づき、応答フレームが対応している通信プロトコルを判定する（Ｓ９およびＳ１０）。
【０２７５】
一方、所定の時間、応答がなければ（Ｓ２にてＮＯ）、プロトコル切り替え部１１３がIrSimple-IrLAP制御部１１２に代えてIrDA-IrLAP制御部１１１を動作させ、ＩｒＤＡプロトコルをサポートする二次局が通信機器１ｂの通信可能距離内に存在するかどうかを確認するために、１スロットのＸＩＤコマンドを局発見制御部１１１１から送信する（Ｓ３）。ここで、所定の時間とは、例えば、ＩｒＳｉｍｐｌｅプロトコルで規定されている、５０ミリ秒から８５ミリ秒の時間である。
【０２７６】
通信機器２がＩｒＤＡプロトコルをサポートしている場合は、通信機器２は二次局としてＸＩＤコマンドに応答してＸＩＤレスポンスを返信する。また、通信機器２がＩｒＤＡプロトコルおよびＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする場合は、ＩｒＳｉｍｐｌｅプロトコルで接続することを優先するために、１回目の１スロットのＸＩＤコマンドには応答しないように規定されている（非特許文献６参照）。よって、通信機器２がＩｒＤＡプロトコルおよびＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする場合は、応答フレームを返信しない。
【０２７７】
次に、ＩｒＤＡプロトコルフレーム受信部６２０ｂが二次局からの応答を待ち、応答があれば（Ｓ４にてＹＥＳ）、ＩｒＤＡプロトコルをサポートした通信機器２を発見したことになり、IrDA-IrLAP制御部１１１がＩｒＤＡプロトコルでの接続を行う（Ｓ１１〜Ｓ１２）。一方、所定の時間、応答がなければ（Ｓ４にてＮＯ）、ＩｒＤＡプロトコルで規定されているＸＩＤ−Ｅｎｄコマンドを局発見制御部１１１１が送信し（Ｓ５）、局発見コマンドの終了を通信可能距離内の二次局に伝える。
【０２７８】
次に、プロトコル切り替え部１１３がIrDA-IrLAP制御部１１１に代えてIrSimple-IrLAP制御部１１２を動作させ、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドを接続制御部１１２１が送信する（Ｓ６）。
【０２７９】
通信機器２がＩｒＳｉｍｐｌｅプロトコルをサポートしている場合は、通信機器２は二次局としてＳＮＲＭコマンドに応答して、ＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスを返信する。また、通信機器２がＩｒＤＡプロトコルおよびＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする場合は、ＩｒＳｉｍｐｌｅプロトコルで接続することを優先するために、ＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスを返信する。また、通信機器２が応答レスポンス誤送信機器である場合は、ＳＮＲＭコマンドに応答して、ＩｒＤＡプロトコルに対応したＵＡレスポンスを返信する。
【０２８０】
次に、ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ｂおよびＩｒＤＡプロトコルフレーム受信部６２０ｂが二次局からの応答を待つ。応答があれば（Ｓ７にてＹＥＳ）、ＩｒＳｉｍｐｌｅプロトコルフレーム開始検出部６１１ｂが受信フレームのBOFフィールドを検出し、ＩｒＳｉｍｐｌｅプロトコルフレーム終了検出部６１２ｂが受信フレームのEOFフィールドを検出し、ＩｒＳｉｍｐｌｅプロトコル誤り検出部６１３ｂが伝送誤りの判定を行い、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂへ抽出したデータを出力する。または、ＩｒＤＡプロトコルフレーム開始検出部６２１ｂが受信フレームのBOFフィールドを検出し、ＩｒＤＡプロトコルフレーム終了検出部６２２ｂが受信フレームのEOFフィールドを検出し、ＩｒＤＡプロトコル誤り検出部６２３ｂが伝送誤りの判定を行い、ＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂへ抽出したデータを出力する。
【０２８１】
そして、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂとＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂは、それぞれ受信したデータにUpper User Dataフィールドが存在するかどうかを調べ、その結果を通信プロトコル判定部６３０ｂに送信する。そして、通信プロトコル判定部６３０ｂがその結果に基づき、応答フレームが対応している通信プロトコルを判定する（Ｓ９およびＳ１０）。
【０２８２】
一方、所定の時間、応答がなければ（Ｓ７にてＮＯ）、ステップＳ１〜Ｓ７の繰り返しが満了したかどうかをプロトコル切り替え部１１３が判定し（Ｓ８）、繰り返しが満了していれば（Ｓ８にてＹＥＳ）、二次局は発見されずに接続処理を終了する。繰り返しが満了したことの判定は、規定された回数だけ繰り返しを行ったことを判定してもよいし、接続手順を開始してからの経過時間をタイマー１２０により測定して判定してもよい（例えば、接続開始後５秒間だけ繰り返すなど）。一方、繰り返しが満了していなければ（Ｓ８にてＮＯ）、再度、プロトコル切り替え部１１３がIrSimple-IrLAP制御部１１２を動作させ、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドを接続制御部１１２１が送信する（Ｓ１）。
【０２８３】
また、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドに対して、通信機器２から応答があった場合（Ｓ２またはＳ７にてＹＥＳ）、通信プロトコル判定部６３０ｂが、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂまたはＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂから送信される結果に基づき、受信した応答フレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスであるか否かの判定を行う（Ｓ９）。応答フレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスであれば（Ｓ９にてＹＥＳ）、ＩｒＳｉｍｐｌｅプロトコルをサポートする通信機器２を二次局として発見したことになるので、通信機器１ａの内部状態をＩｒＳｉｍｐｌｅプロトコル通信モードとする。そして、判定結果をプロトコル制御部１１０に通知し、これにより、ＩｒＬＡＰ層、ＩｒＬＭＰ層、ＩｒＳＭＰ層、ＯＢＥＸ層の接続が完了し、接続シーケンスを完了する。
【０２８４】
一方、応答フレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスでなければ（Ｓ９にてＮＯ）、受信した応答フレームがＩｒＤＡプロトコルに対応したＵＡレスポンスであるか否かの判定を行う（Ｓ１０）。応答フレームがＩｒＤＡプロトコルに対応したＵＡレスポンスであれば（Ｓ１０にてＹＥＳ）、ＩｒＤＡプロトコルをサポートする通信機器２を二次局として発見したことになる。そして、判定結果をプロトコル制御部１１０に通知し、ＩｒＬＡＰ層までのＩｒＤＡプロトコルの接続を完了する。
【０２８５】
また、応答フレームがＩｒＤＡプロトコルに対応したＵＡレスポンスでなければ（Ｓ１０にてＮＯ）、通信機器２がサポートする通信プロトコルはＩｒＳｉｍｐｌｅプロトコルでもなく、ＩｒＤＡプロトコルでもないことから、接続せずに接続シーケンスを終了する。
【０２８６】
また、ＩｒＤＡプロトコルのＸＩＤコマンドに対して、通信機器２から応答があった場合（Ｓ４にてＹＥＳ）、ＩｒＤＡプロトコルで規定されているＸＩＤ−Ｅｎｄコマンドを局発見制御部１１１１が送信し（Ｓ１１）、局発見コマンドの終了を通信可能距離内の二次局に伝える。これにより、ＩｒＤＡプロトコルをサポートする通信機器２を二次局として発見したことになるので、通信機器１ｂの内部状態をＩｒＤＡプロトコル通信モードとする。局発見が完了したので、次に、ＩｒＤＡプロトコルに従ってＩｒＬＡＰ層の接続処理を行い（Ｓ１２）、ＩｒＬＡＰ層までの接続を完了し、接続シーケンスを終了する。
【０２８７】
なお、二次局である通信機器２が、（１）ＩｒＤＡプロトコルをサポートするが、ブロードキャストフレームに対してＵＡレスポンスを返信する応答レスポンス誤送信機器の場合、（２）ＩｒＳｉｍｐｌｅプロトコルを規定どおりにサポートする場合、（３）ＩｒＤＡプロトコルのみを規定どおりにサポートする場合、のそれぞれにおいて、通信機器１ｂと接続するときの処理の流れは、実施の形態１で説明した、通信機器１ａと通信機器２との接続の流れと同様である。
【０２８８】
以上のとおり、本実施形態の構成では、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂおよびＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂが送信する結果を基に、通信プロトコル判定部６３０ｂが通信プロトコルを判定する構成としている。つまり、本実施形態の構成は、実施の形態１の構成に加え、さらに受信フレームの構造を解析し、所定フィールドの有無を調べている。
【０２８９】
よって、本実施形態の構成によれば、通信速度による通信プロトコルの判定とフレーム構造の解析による通信プロトコルの判定とを組み合わせて実施するため、実施の形態１の構成よりもさらに確実に通信プロトコルの判定を行うことができる。
【０２９０】
すなわち、通信路の伝送品質が悪く、受信したフレームのBOFフィールドまたはEOFフィールドを正しく検出できないことにより、通信速度による通信プロトコルの判定が正しく実施できない場合でも、本実施形態の構成によれば、さらにフレーム構造の解析を行うため、より確実に通信プロトコルを判定することができる。
【０２９１】
〔実施の形態３〕
実施の形態２は、受信した応答レスポンスのフレーム構造を解析するために、ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂとＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂとを備える構成であるが、フレーム構造を解析する部材は一つであってもよい。すなわち、受信したＩｒＳｉｍｐｌｅプロトコルに対応する応答レスポンスと受信したＩｒＤＡプロトコルに対応する応答レスポンスとのいずれの応答レスポンスのフレーム構造をも解析する部材を備える構成であってもよい。
【０２９２】
本実施形態について図９から図１１、および図４に基づいて説明すれば、以下の通りである。なお、説明の便宜上、実施の形態１および２にて示した各部材と同一の機能を有する部材には、同一の符号を付記し、その説明を省略する。
【０２９３】
（通信システムの全体構成）
図９を参照しながら、本実施形態に係る通信機器を用いた通信システム３ｃについて説明する。図９は、本実施形態に係る通信機器である通信機器１ｃと通信機器２とを備える通信システム３ｃの構成を示すブロック図である。通信機器１ｃは、通信機器１ａと同様のデジタルカメラや携帯電話機などであり、通信機器２と相互に通信することが可能である。また、通信機器１ｃは、通信ネットワーク９００を通じて図示しない外部の通信機器と通信が可能であってもよい。
【０２９４】
（通信機器の構成）
次に、図１０を参照しながら、通信機器１ｃの構成について説明する。図１０は通信機器１ｃの構成を示すブロック図である。図１０に示すように、通信機器１ｃは、実施の形態２の通信機器１ａとほぼ同様の部材を備えているが、主制御部１０ａに代えて主制御部１０ｃを備えている。主制御部１０ｃは、実施の形態１の主制御部１０ａとほぼ同様の部材を備えているが、通信プロトコル解析部１６０ａに代えて通信プロトコル解析部１６０ｃを備えている。
【０２９５】
図１１を参照しながら、通信プロトコル解析部１６０ｃについて、詳細に説明する。図１１は、通信プロトコル解析部１６０ｃの構成を示すブロック図である。図１１に示すように通信プロトコル解析部１６０ｃは、ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ｃ、ＩｒＤＡプロトコルフレーム受信部６２０ｃ、通信プロトコル判定部６３０ｃ、および受信フレームフィールド構造解析部６４０ｃとを備えて構成される。さらに、受信フレームフィールド構造解析部６４０ｃは、受信フレームフィールド解析部６４１ｃ、および受信フレーム出力セレクタ部６４２ｃとを備えて構成される。
【０２９６】
ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ｃは、IrSimple-IrLAP制御部１１２が接続要求コマンドであるＳＮＲＭコマンドを送信後、１１５．２ｋｂｐｓの通信速度で返信される応答レスポンスを受信できる状態となる。ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ｃは、１１５．２ｋｂｐｓの通信速度で返信されるＩｒＳｉｍｐｌｅプロトコルフレームを受信し、解析を行う。ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ｃが受信するフレームは、背景技術で説明したとおり図４９に示すフレームフォーマットに従う。すなわち、受信フレームはBOFとIrLAP DataとFCSとEOFとのフィールドを備えて構成される。そのために、ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ｃは、ＩｒＳｉｍｐｌｅプロトコルフレーム開始検出部６１１ｃ、ＩｒＳｉｍｐｌｅプロトコルフレーム終了検出部６１２ｃ、およびＩｒＳｉｍｐｌｅプロトコル誤り検出部６１３ｃを備える。
【０２９７】
ＩｒＳｉｍｐｌｅプロトコルフレーム開始検出部６１１ｃは、受信したフレームのBOFフィールドの検出および除去を行う。同様に、ＩｒＳｉｍｐｌｅプロトコルフレーム終了検出部６１２ｃは、受信したフレームのEOFフィールドの検出および除去を行う。次に、BOFフィールドおよびEOFフィールドが検出された場合には、ＩｒＳｉｍｐｌｅプロトコル誤り検出部６１３ｃが、受信したフレームのFCSフィールドの値を基にして受信したデータに伝送誤りが発生していないかどうかの判定を行う。そして、誤りを検出しなかった場合、ＩｒＳｉｍｐｌｅプロトコル誤り検出部６１３ｃはIrLAP Dataフィールドの抽出を行い、受信フレームフィールド解析部６４１ｃへ抽出したデータを出力する。
【０２９８】
同様に、ＩｒＤＡプロトコルフレーム受信部６２０ｃは、９６００ｂｐｓの通信速度で返信されるＩｒＤＡプロトコルフレームを受信し、解析を行う。そのために、ＩｒＤＡプロトコルフレーム開始検出部６２１ｃ、ＩｒＤＡプロトコルフレーム終了検出部６２２ｃ、およびＩｒＤＡプロトコル誤り検出部６２３ｃを備える。ＩｒＤＡプロトコルフレーム開始検出部６２１ｃは、受信したフレームのBOFフィールドの検出および除去を行う。同様に、ＩｒＤＡプロトコルフレーム終了検出部６２２ｃは、受信したフレームのEOFフィールドの検出および除去を行う。
【０２９９】
次に、BOFフィールドおよびEOFフィールドが検出された場合には、ＩｒＤＡプロトコル誤り検出部６２３ｃが、受信したフレームのFCSフィールドの値を基にして受信したデータに伝送誤りが発生していないかどうかの判定を行う。誤りを検出しなかった場合、ＩｒＤＡプロトコル誤り検出部６２３ｃは、IrLAP Dataフィールドの抽出を行い、受信フレームフィールド解析部６４１ｃへ抽出したデータを出力する。
【０３００】
受信フレームフィールド解析部６４１ｃは、ＩｒＳｉｍｐｌｅプロトコル誤り検出部６１３ｃまたはＩｒＤＡプロトコル誤り検出部６２３ｃから受信したデータの構造を解析し、所定のフィールドが存在するかどうかを調べる。そして、その結果を通信プロトコル判定部６３０ｃに送信する。また、受信フレームフィールド解析部６４１ｃは、受信したデータをそのまま受信フレーム出力セレクタ部６４２ｃに送信する。
【０３０１】
受信フレームフィールド解析部６４１ｃにおいて、所定のフィールドが存在するかどうか調べる方法は、実施の形態２のＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部６４０ｂおよびＩｒＤＡプロトコル受信フレームフィールド解析部６５０ｂにおいて、所定のフィールドが存在するかどうか調べる方法とほぼ同様である。すなわち、受信フレームフィールド解析部６４１ｃは、受信したデータにUpper User Dataフィールドが存在するかどうかを調べる。そして、Upper User Dataフィールドを検出した場合は、その結果を通信プロトコル判定部６３０ｃに送信する。一方、Upper User Dataフィールドを検出しなかった場合は、その結果を通信プロトコル判定部６３０ｃに送信する。
【０３０２】
通信プロトコル判定部６３０ｃは、受信フレームフィールド解析部６４１ｃから、Upper User Dataフィールドを検出したという結果が送信されると、受信したフレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスのフレームであると判定する。一方、受信フレームフィールド解析部６４１ｃから、Upper User Dataフィールドを検出しなかったという結果が送信されると、通信プロトコル判定部６３０ｃは、受信したフレームがＩｒＤＡプロトコルに対応したＵＡレスポンスのフレームであると判定する。そして、判定結果を、受信フレーム出力セレクタ部６４２ｃおよびプロトコル制御部１１０に通知する。
【０３０３】
受信フレーム出力セレクタ部６４２ｃは、通信プロトコル判定部６３０ｃからの判定結果に基づき、受信フレームフィールド解析部６４１ｃから受信したデータの出力先を切り替える。すなわち、判定結果がＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスのフレームであるという内容であれば、受信したデータをＩｒＳｉｍｐｌｅプロトコル受信フレーム解析部１７０へ出力する。一方、判定結果がＩｒＤＡプロトコルに対応したＵＡレスポンスのフレームであるという内容であれば、受信したデータをＩｒＤＡプロトコル受信フレーム解析部１７１へ出力する。
【０３０４】
（通信機器１ｃと通信機器２との接続処理の流れ）
次に、図４を参照しながら、一次局である通信機器１ｃが、通信機器１ｃの通信可能距離内にある通信機器２と接続する手順について説明する。図４は、通信機器１ｃが二次局からの応答に応じて接続処理を変更する処理の流れを示すフローチャートである。
【０３０５】
通信機器１ｃの操作者が入力装置４１から赤外線通信開始指示を入力すると、プロトコル切り替え部１１３は、まずIrSimple-IrLAP制御部１１２を最初に動作させ、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドを接続制御部１１２１から送信する（Ｓ１）。
【０３０６】
次に、ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ｃおよびＩｒＤＡプロトコルフレーム受信部６２０ｃが二次局からの応答を待つ。応答があれば（Ｓ２にてＹＥＳ）、ＩｒＳｉｍｐｌｅプロトコルフレーム開始検出部６１１ｃが受信フレームのEOFフィールドを検出し、ＩｒＳｉｍｐｌｅプロトコルフレーム終了検出部６１２ｃが受信フレームのBOFフィールドを検出し、ＩｒＳｉｍｐｌｅプロトコル誤り検出部６１３ｃ伝送誤りの判定を行い、受信フレームフィールド解析部６４１ｃへ抽出したデータを出力する。または、ＩｒＤＡプロトコルフレーム開始検出部６２１ｃが受信フレームのEOFフィールドを検出し、ＩｒＤＡプロトコルフレーム終了検出部６２２ｃが受信フレームのBOFフィールドを検出し、ＩｒＤＡプロトコル誤り検出部６２３ｃが伝送誤りの判定を行い、受信フレームフィールド解析部６４１ｃへ抽出したデータを出力する。
【０３０７】
そして、受信フレームフィールド解析部６４１ｃは、受信したデータにUpper User Dataフィールドが存在するかどうかを調べ、その結果を通信プロトコル判定部６３０ｃに送信する。そして、通信プロトコル判定部６３０ｃがその結果に基づき、応答フレームが対応している通信プロトコルを判定する（Ｓ９およびＳ１０）。
【０３０８】
一方、所定の時間、応答がなければ（Ｓ２にてＮＯ）、プロトコル切り替え部１１３がIrSimple-IrLAP制御部１１２に代えてIrDA-IrLAP制御部１１１を動作させ、ＩｒＤＡプロトコルをサポートする二次局が通信機器１ｃの通信可能距離内に存在するかどうかを確認するために、１スロットのＸＩＤコマンドを局発見制御部１１１１から送信する（Ｓ３）。ここで、所定の時間とは、例えば、ＩｒＳｉｍｐｌｅプロトコルで規定されている、５０ミリ秒から８５ミリ秒の時間である。
【０３０９】
通信機器２がＩｒＤＡプロトコルをサポートしている場合は、通信機器２は二次局としてＸＩＤコマンドに応答してＸＩＤレスポンスを返信する。また、通信機器２がＩｒＤＡプロトコルおよびＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする場合は、ＩｒＳｉｍｐｌｅプロトコルで接続することを優先するために、１回目の１スロットのＸＩＤコマンドには応答しないように規定されている（非特許文献６参照）。よって、通信機器２がＩｒＤＡプロトコルおよびＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする場合は、応答フレームを返信しない。
【０３１０】
次に、ＩｒＤＡプロトコルフレーム受信部６２０ｃが二次局からの応答を待ち、応答があれば（Ｓ４にてＹＥＳ）、ＩｒＤＡプロトコルをサポートした通信機器２を発見したことになり、IrDA-IrLAP制御部１１１がＩｒＤＡプロトコルでの接続を行う（Ｓ１１〜Ｓ１２）。一方、所定の時間、応答がなければ（Ｓ４にてＮＯ）、ＩｒＤＡプロトコルで規定されているＸＩＤ−Ｅｎｄコマンドを局発見制御部１１１１が送信し（Ｓ５）、局発見コマンドの終了を通信可能距離内の二次局に伝える。
【０３１１】
次に、プロトコル切り替え部１１３がIrDA-IrLAP制御部１１１に代えてIrSimple-IrLAP制御部１１２を動作させ、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドを接続制御部１１２１が送信する（Ｓ６）。通信機器２がＩｒＳｉｍｐｌｅプロトコルをサポートしている場合は、通信機器２は二次局としてＳＮＲＭコマンドに応答して、ＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスを返信する。また、通信機器２がＩｒＤＡプロトコルおよびＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする場合は、ＩｒＳｉｍｐｌｅプロトコルで接続することを優先するために、ＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスを返信する。また、通信機器２が応答レスポンス誤送信機器である場合は、ＳＮＲＭコマンドに応答して、ＩｒＤＡプロトコルに対応したＵＡレスポンスを返信する。
【０３１２】
次に、ＩｒＳｉｍｐｌｅプロトコルフレーム受信部６１０ｃおよびＩｒＤＡプロトコルフレーム受信部６２０ｃが二次局からの応答を待つ。応答があれば（Ｓ７にてＹＥＳ）、ＩｒＳｉｍｐｌｅプロトコルフレーム開始検出部６１１ｃが受信フレームのEOFフィールドを検出し、ＩｒＳｉｍｐｌｅプロトコルフレーム終了検出部６１２ｃが受信フレームのBOFフィールドを検出し、ＩｒＳｉｍｐｌｅプロトコル誤り検出部６１３ｃ伝送誤りの判定を行い、受信フレームフィールド解析部６４１ｃへ抽出したデータを出力する。または、ＩｒＤＡプロトコルフレーム開始検出部６２１ｃが受信フレームのEOFフィールドを検出し、ＩｒＤＡプロトコルフレーム終了検出部６２２ｃが受信フレームのBOFフィールドを検出し、ＩｒＤＡプロトコル誤り検出部６２３ｃが伝送誤りの判定を行い、受信フレームフィールド解析部６４１ｃへ抽出したデータを出力する。
【０３１３】
そして、受信フレームフィールド解析部６４１ｃは、それぞれ受信したデータにUpper User Dataフィールドが存在するかどうかを調べ、その結果を通信プロトコル判定部６３０ｃに送信する。そして、通信プロトコル判定部６３０ｃがその結果に基づき、応答フレームが対応している通信プロトコルを判定する（Ｓ９およびＳ１０）。
【０３１４】
一方、所定の時間、応答がなければ（Ｓ７にてＮＯ）、ステップＳ１〜Ｓ７の繰り返しが満了したかどうかをプロトコル切り替え部１１３が判定し（Ｓ８）、繰り返しが満了していれば（Ｓ８にてＹＥＳ）、二次局は発見されずに接続処理を終了する。繰り返しが満了したことの判定は、規定された回数だけ繰り返しを行ったことを判定してもよいし、接続手順を開始してからの経過時間をタイマー１２０により測定して判定してもよい（例えば、接続開始後５秒間だけ繰り返すなど）。一方、繰り返しが満了していなければ（Ｓ８にてＮＯ）、再度、プロトコル切り替え部１１３がIrSimple-IrLAP制御部１１２を動作させ、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドを接続制御部１１２１が送信する（Ｓ１）。
【０３１５】
また、ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドに対して、通信機器２から応答があった場合（Ｓ２またはＳ７にてＹＥＳ）、通信プロトコル判定部６３０ｃが、受信フレームフィールド解析部６４１ｃから送信される結果に基づき、受信した応答フレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスであるか否かの判定を行う（Ｓ９）。応答フレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスであれば（Ｓ９にてＹＥＳ）、ＩｒＳｉｍｐｌｅプロトコルをサポートする通信機器２を二次局として発見したことになるので、通信機器１ａの内部状態をＩｒＳｉｍｐｌｅプロトコル通信モードとする。そして、判定結果をプロトコル制御部１１０に通知し、これにより、ＩｒＬＡＰ層、ＩｒＬＭＰ層、ＩｒＳＭＰ層、ＯＢＥＸ層の接続が完了し、接続シーケンスを完了する。
【０３１６】
一方、応答フレームがＩｒＳｉｍｐｌｅプロトコルに対応したＵＡレスポンスでなければ（Ｓ９にてＮＯ）、受信した応答フレームがＩｒＤＡプロトコルに対応したＵＡレスポンスであるか否かの判定を行う（Ｓ１０）。応答フレームがＩｒＤＡプロトコルに対応したＵＡレスポンスであれば（Ｓ１０にてＹＥＳ）、ＩｒＤＡプロトコルをサポートする通信機器２を二次局として発見したことになる。そして、判定結果をプロトコル制御部１１０に通知し、ＩｒＬＡＰ層までのＩｒＤＡプロトコルの接続を完了する。
【０３１７】
また、応答フレームがＩｒＤＡプロトコルに対応したＵＡレスポンスでなければ（Ｓ１０にてＮＯ）、通信機器２がサポートする通信プロトコルはＩｒＳｉｍｐｌｅプロトコルでもなく、ＩｒＤＡプロトコルでもないことから、接続せずに接続シーケンスを終了する。
【０３１８】
また、ＩｒＤＡプロトコルのＸＩＤコマンドに対して、通信機器２から応答があった場合（Ｓ４にてＹＥＳ）、ＩｒＤＡプロトコルで規定されているＸＩＤ−Ｅｎｄコマンドを局発見制御部１１１１が送信し（Ｓ１１）、局発見コマンドの終了を通信可能距離内の二次局に伝える。これにより、ＩｒＤＡプロトコルをサポートする通信機器２を二次局として発見したことになるので、通信機器１ｃの内部状態をＩｒＤＡプロトコル通信モードとする。局発見が完了したので、次に、ＩｒＤＡプロトコルに従ってＩｒＬＡＰ層の接続処理を行い（Ｓ１２）、ＩｒＬＡＰ層までの接続を完了し、接続シーケンスを終了する。
【０３１９】
なお、二次局である通信機器２が、（１）ＩｒＤＡプロトコルをサポートするが、ブロードキャストフレームに対してＵＡレスポンスを返信する応答レスポンス誤送信機器の場合、（２）ＩｒＳｉｍｐｌｅプロトコルを規定どおりにサポートする場合、（３）ＩｒＤＡプロトコルのみを規定どおりにサポートする場合、のそれぞれにおいて、通信機器１ｃと接続するときの処理の流れは、実施の形態１で説明した、通信機器１ａと通信機器２との接続の流れと同様である。
【０３２０】
以上のように、本実施形態の構成によれば、通信速度による通信プロトコルの判定とフレーム構造の解析による通信プロトコルの判定とを組み合わせて実施するため、実施の形態１の構成よりもさらに確実に通信プロトコルの判定を行うことができる。
【０３２１】
すなわち、通信路の伝送品質が悪く、受信したフレームのBOFフィールドまたはEOFフィールドを正しく検出できないことにより、通信速度による通信プロトコルの判定が正しく実施できない場合でも、本実施形態の構成によれば、さらにフレーム構造の解析を行うため、より確実に通信プロトコルを判定することができる。
【０３２２】
〔実施の形態４〕
実施の形態１の構成では、受信した応答レスポンスの通信速度に基づいて通信プロトコルを判定したが、本実施形態では、回路を用いて当該判定を行う構成について説明する。
【０３２３】
本実施形態について図１２から図１６に基づいて説明すれば、以下の通りである。なお、説明の便宜上、実施の形態１から３にて示した各部材と同一の機能を有する部材には、同一の符号を付記し、その説明を省略する。
【０３２４】
（通信システムの全体構成）
図１２を参照しながら、本実施形態に係る通信機器を用いた通信システム３ｄについて説明する。図１２は、本実施形態に係る通信機器である通信機器１ｄと通信機器２とを備える通信システム３ｄの構成を示すブロック図である。通信機器１ｄは、通信機器１ａと同様のデジタルカメラや携帯電話機などであり、通信機器２と相互に通信することが可能である。また、通信機器１ｄは、通信ネットワーク９００を通じて図示しない外部の通信機器と通信が可能であってもよい。
【０３２５】
（通信機器の構成）
次に、図１３を参照しながら、通信機器１ｄの構成について説明する。図１３は通信機器１ｄの構成を示すブロック図である。図１３に示すように通信機器１ｄは、実施の形態１の通信機器１ａとほぼ同様の部材を備えているが、主制御部１０ａに代えて主制御部１０ｄを備えている。また、通信機器１ｄは、表示制御部５０および表示装置５１をさらに備えている。
【０３２６】
表示装置５１は、表示制御部５０より送られた情報を表示する。表示装置５１は、例えばＬＣＤ（Liquid Crystal Display；液晶表示装置）で構成される。表示装置５１に表示する情報としては、通信機器１ｄの操作者に提示する操作メニュー、通信機器１ｄの操作者が送信しようとする画像データ、後述する通信プロトコル解析部１６０ｄから送信される、受信フレームの通信速度を表すデータなどが含まれる。
【０３２７】
表示制御部５０は、表示装置５１を制御し、主制御部１０ｄから指示された情報を表示装置３１に送信する。
【０３２８】
主制御部１０ｄは、実施の形態１の主制御部１０ａとほぼ同様の部材を備えているが、通信プロトコル解析部１６０ａに代えて通信プロトコル解析部１６０ｄを備えている。
【０３２９】
通信プロトコル解析部１６０ｄは、下位層処理部１０２から受信した信号から、受信フレームがＩｒＳｉｍｐｌｅプロトコルのフレームであるか、または、ＩｒＤＡプロトコルのフレームであるかの判定を行い、受信速度を決定し、ＩｒＳｉｍｐｌｅプロトコル受信フレーム解析部１７０およびＩｒＤＡプロトコル受信フレーム解析部１７１に受信データを出力する。
【０３３０】
次に、図１４を参照しながら、通信プロトコル解析部１６０ｄについて、詳細に説明する。図１４は、通信プロトコル解析部１６０ｄの構成を示すブロック図である。図１４に示すように通信プロトコル解析部１６０ｄは、ＩｒＳｉｍｐｌｅプロトコルフレーム検出部２０１、ＩｒＤＡプロトコルフレーム検出部２０２、通信速度制御部（通信速度認識手段）２３０、およびデータ選択部２４０とを備えて構成される。
【０３３１】
ＩｒＳｉｍｐｌｅプロトコルフレーム検出部２０１は、下位層処理部１０２から送信される受信信号からフレーム開始信号（BOF）を検出して同期をとり、受信データを抽出する。そのためにＩｒＳｉｍｐｌｅプロトコルフレーム検出部２０１は、スロットカウンタ２１１、パルス検出部（第２のパルス検出手段）２１２、フレーム開始検出部２１３、フレーム終了検出部２１４、およびデータ抽出部２１５を備えて構成される。
【０３３２】
スロットカウンタ２１１は、あらかじめ定められた周期でカウントを行うカウンタである。カウンタの値が「0」のとき、パルス検出部２１２からパルスを受信した旨が通知されると、約８．６マイクロ秒（１１５．２ｋｂｐｓの通信速度のスロット間隔）の周期でカウントを行い、カウンタの値をパルス検出部２１２、フレーム開始検出部２１３、フレーム終了検出部２１４、およびデータ抽出部２１５に通知する。
【０３３３】
パルス検出部２１２は、スロットカウンタ２１１がカウントする値をスロットとみなし、各スロットにおいて、下位層処理部１０２から受信した信号のパルスの有無を判定し、判定結果をフレーム開始検出部２１３およびフレーム終了検出部２１４に通知する。また、カウンタの値が「0」のときに下位層処理部１０２から信号を受信すると、スロットカウンタ２１１に、スタートビットのパルスを受信したことを通知する。パルス検出部２１２の詳細な構成については後述する。
【０３３４】
フレーム開始検出部２１３は、スロットカウンタ２１１がカウントする値をスロットとみなし、パルス検出部２１２から送信されるパルスの有無を基に、BOF（値は「0xC0」）の検出を行う。そして、BOFが検出されると、検出結果を通信速度制御部２３０に通知する。
【０３３５】
フレーム終了検出部２１４は、スロットカウンタ２１１がカウントする値をスロットとみなし、パルス検出部２１２から送信されるパルスの有無を基に、EOF（値は「0xC1」）の検出を行う。そして、EOFが検出されると、検出結果を通信速度制御部２３０に通知する。
【０３３６】
データ抽出部２１５、スロットカウンタ２１１がカウントする値をスロットとみなし、パルス検出部２１２から送信されるパルスの有無を基に、データを抽出する。そして、抽出したデータをデータ選択部２４０に送信する。
【０３３７】
ＩｒＤＡプロトコルフレーム検出部２０２は、下位層処理部１０２から送信される受信信号からフレーム開始信号（BOF）を検出して同期をとり、受信データを抽出する。そのためにＩｒＤＡプロトコルフレーム検出部２０２は、スロットカウンタ２２１、パルス検出部（第１のパルス検出手段）２２２、フレーム開始検出部２２３、フレーム終了検出部２２４、およびデータ抽出部２２５を備えて構成される。
【０３３８】
スロットカウンタ２２１は、あらかじめ定められた周期でカウントを行うカウンタである。カウンタの値が「0」のとき、パルス検出部２２２からパルスを受信した旨が通知されると、約１００マイクロ秒（９６００ｂｐｓの通信速度のスロット間隔）の周期でカウントを行い、カウンタの値をパルス検出部２２２、フレーム開始検出部２２３、フレーム終了検出部２２４、およびデータ抽出部２２５に通知する。
【０３３９】
パルス検出部２２２は、スロットカウンタ２２１がカウントする値をスロットとみなし、各スロットにおいて、下位層処理部１０２から受信した信号のパルスの有無を判定し、判定結果をフレーム開始検出部２２３およびフレーム終了検出部２３４に通知する。また、カウンタの値が「0」のときに下位層処理部１０２から信号を受信すると、スロットカウンタ２２１に、スタートビットのパルスを受信したことを通知する。パルス検出部２２２の詳細な構成については後述する。
【０３４０】
フレーム開始検出部２２３は、スロットカウンタ２２１がカウントする値をスロットとみなし、パルス検出部２２２から送信されるパルスの有無を基に、BOF（値は「0xC0」）の検出を行う。そして、BOFが検出されると、検出結果を通信速度制御部２３０に通知する。
【０３４１】
フレーム終了検出部２２４は、スロットカウンタ２２１がカウントする値をスロットとみなし、パルス検出部２２２から送信されるパルスの有無を基に、EOF（値は「0xC1」）の検出を行う。そして、EOFが検出されると、検出結果を通信速度制御部２３０に通知する。
【０３４２】
データ抽出部２２５、スロットカウンタ２２１がカウントする値をスロットとみなし、パルス検出部２２２から送信されるパルスの有無を基に、データを抽出する。そして、抽出したデータをデータ選択部２４０に送信する。
【０３４３】
通信速度制御部２３０は、フレーム開始検出部２１３からBOFが検出されたこと（または、フレーム終了検出部２１４からEOFが検出されたこと）が通知された場合は、受信したフレームの通信速度を１１５．２ｋｂｐｓと決定し、フレーム開始検出部２２３からBOFが検出されたこと（または、フレーム終了検出部２２４からEOFが検出されたこと）が通知された場合は、受信したフレームの通信速度を９６００ｂｐｓと決定する。そして、その決定結果をデータ選択部２４０に通知する。
【０３４４】
データ選択部２４０は、通信速度制御部２３０から通知された通信速度が１１５．２ｋｂｐｓである場合は、データ抽出部２１５から受信したデータを選択し、ＩｒＳｉｍｐｌｅプロトコル受信フレーム解析部１７０へ出力する。一方、通信速度制御部２３０から通知された通信速度が９６００ｂｐｓである場合は、データ抽出部２２５から受信したデータを選択し、ＩｒＤＡプロトコル受信フレーム解析部１７１へ出力する。また、データを選択した結果をプロトコル制御部１１０へ通知する。この通知に基づき、プロトコル制御部１１０が応答レスポンス受信後の接続処理をＩｒＳｉｍｐｌｅプロトコルで行うか、または、ＩｒＤＡプロトコルで行うかを制御する。
【０３４５】
次に、図１５を参照しながら、パルス検出部２１２およびパルス検出部２２２について、詳細に説明する。図１５は、パルス検出部２１２の構成を示すブロック図である。パルス検出部２１２の構成とパルス検出部２２２の構成とは同様であるため、パルス検出部２２２の説明は省略する。図１５に示すようにパルス検出部２１２は、ＣＬＲ生成部２５０、ＥＮ生成部２６０、ＡＮＤゲート２７０〜２７９、およびＤフリップフロップ２８０〜２８９を備えて構成される。
【０３４６】
ＣＬＲ生成部２５０は、スロットカウンタ２１１からのカウンタの値を基にして、Ｄフリップフロップ２８０〜２８９をリセットするためのクリア信号（以下、「ＣＬＲ」と称す）を生成し、Ｄフリップフロップ２８０〜２８９に出力する。例えば、カウンタの値が「10」に達したときにＣＬＲを生成する。「10」とした理由は、ＵＡＲＴフレームの１フレームが10ビットであるためである。
【０３４７】
ＥＮ生成部２６０は、スロットカウンタ２１１からのカウンタの値をスロットとみなし、スロットごとに立ち上がる信号（ＥＮ０〜ＥＮ９）を生成し、それぞれＤフリップフロップ２８０〜２８９へ出力する。例えば、カウンタの値が「0」のときは、ＡＮＤゲート２７０への出力信号（ＥＮ０）のみがＨｉｇｈとなる信号を生成し、Ｄフリップフロップ２８０へ出力する。これにより、スロット０における受信信号の立ち上がりを、Ｄフリップフロップ２８０のクロックのみに反映させる。
【０３４８】
ＡＮＤゲート２７０〜２７９は、下位層処理部１０２からの受信信号とＥＮ生成部２６０から出力される信号（ＥＮ０〜ＥＮ９）との論理積を算出し、それぞれＤフリップフロップ２８０〜２８９へ出力する。つまり、受信信号の立ち上がりエッジは、ＥＮ０〜ＥＮ９のそれぞれの出力信号がＨｉｇｈのときにのみ、それぞれＤフリップフロップ２８０〜２８９へ出力される。
【０３４９】
Ｄフリップフロップ２８０〜２８９は、それぞれスロット０〜９に対応づけられており、Ｄフリップフロップ２８０〜２８９の出力の値は、それぞれスロット０〜９に対応する信号とみなされる。Ｄフリップフロップ２８０〜２８９は、クロックに立ち上がりエッジの信号が入力されると、出力信号としてＨｉｇｈを出力する。つまり、Ｄフリップフロップの出力信号がＨｉｇｈであるときは、対応するスロットにおいてエッジが検出されたこととなる。例えば、Ｄフリップフロップ２８０の出力信号がＨｉｇｈであるときは、スロット０においてパルスが検出されたこととなる。
【０３５０】
なお、図１５においては、下位層処理部１０２からの受信信号は正論理のパルスであるものとして記述したが、受信信号が負論理のパルスであってもよい。その場合、例えば受信信号を反転してＤフリップフロップ２８０〜２８９へ入力してもよいし、他の方法により正論理のパルスに変換してもよい。
【０３５１】
なお、パルス検出部２１２およびパルス検出部２２２は、上述した各構成に限定されるものではなく、同等の機能を有する部材で構成されるものであればよい。また、各部材はソフトウェアによって実現してもよい。
【０３５２】
次に、図１６を参照しながら、パルス検出部２１２が受信信号を基にスロット毎のパルスを検出する様子を、例を挙げて詳細に説明する。図１６は、パルス検出部２１２がスロット毎のパルスを検出するタイミングチャートである。
【０３５３】
図１６に示す例は、受信信号として「10011001010」という信号が入力された例である。
まず、スロットカウンタ２１１は、パルス検出部２１２からパルスを受信した旨が通知されると、あらかじめ定められた周期で値「0」からカウントを開始する。ＥＮ生成部２６０は、カウンタの値をスロットとみなし、スロットごとに立ち上がる信号（ＥＮ０〜ＥＮ９）を生成している。ＣＬＲ生成部２５０は、カウンタの値が１０に達したときにＣＬＲ信号を生成している。
【０３５４】
そして、受信信号の立ち上がりエッジとＥＮ０〜ＥＮ９の各信号との論理積がとられることにより、スロットに対応するＤフリップフロップのクロック信号のみがＨｉｇｈとなる。そして、スロットカウント値が１０に達するまで、各スロットのパルス検出信号の値が保持される。その結果、スロットカウント値が１０に達したときに、Ｄフリップフロップ２８０〜２８９の出力信号を基に、受信データ「10011001010」を検出することができる。
【０３５５】
上記ではパルス検出部２１２でのパルス検出の様子について例を挙げて説明したが、パルス検出部２２２でのパルス検出の様子も上記と同様である。
【０３５６】
以上のように、実施の形態４のＩｒＳｉｍｐｌｅプロトコルフレーム検出部２０１、ＩｒＤＡプロトコルフレーム検出部２０２、通信速度制御部２３０により、受信フレームの通信速度を正しく判定することができる。
【０３５７】
なお、通信速度制御部２３０が現在受信しているフレームの通信速度を、主制御部１０ｄを介して表示装置５１に通知してもよい。例えば、１１５．２ｋｂｐｓの通信速度で受信を待つ状態であるのに、９６００ｂｐｓの通信速度のフレームを受信したこと表示装置５１に表示することにより、通信機器１ｄの操作者が認識することができる。さらに、例えば９６００ｂｐｓの通信速度でBOFを検出した後、９６００ｂｐｓの通信速度で受信を行っているときに、９６００ｂｐｓの通信速度でEOFを検出していないのに、１１５．２ｋｂｐｓの通信速度のEOFが検出された場合は、その旨を表示装置５１に表示してもよい。これにより、９６００ｂｐｓの通信速度での受信に失敗したことを、通信機器１ｄの操作者が認識することができる。
【０３５８】
以上のように、回路により、受信した応答レスポンスの通信速度に応じて通信プロトコルの判定を行う構成とした場合でも、本実施形態の構成によれば、通信機器２からの応答レスポンスを確実に受信することができる。
【０３５９】
〔実施の形態５〕
実施の形態４の構成では、受信したパルスのパルス幅に関わらず、受信したパルスの立ち上がりエッジを検出する構成とした。しかし、背景技術で説明したように、ＩｒＤＡ−ＳＩＲにおけるパルス幅の最小許容値は、いずれの通信速度においても１．４１マイクロ秒である（図４８参照）。すなわち、１．４１マイクロ秒よりも短いパルス幅のパルス（以下、「短パルス」と称す）は、ＩｒＤＡ-ＳＩＲのフレームではない可能性が高い。例えば、受信部８１が外乱光を受信した場合に生じる電磁波などのノイズなどであることが考えられる。一般的に、通信の品質を高める上では、このような短いパルス幅のノイズは可能な限り除去することが望ましい。すなわち、パルス幅が１．４１マイクロ秒未満の短パルスは立ち上がりエッジとして検出しないようにすることが望ましい。そこで、実施の形態４の構成に加え、さらに、短パルスを除去する実施の形態について説明する。
【０３６０】
本実施形態について図１７から図２２に基づいて説明すれば、以下の通りである。なお、説明の便宜上、実施の形態１から４にて示した各部材と同一の機能を有する部材には、同一の符号を付記し、その説明を省略する。
【０３６１】
（通信システムの全体構成）
図１７を参照しながら、本実施形態に係る通信機器を用いた通信システム３ｅについて説明する。図１７は、本実施形態に係る通信機器である通信機器１ｅと通信機器２とを備える通信システム３ｅの構成を示すブロック図である。通信機器１ｅは、通信機器１ａと同様のデジタルカメラや携帯電話機などであり、通信機器２と相互に通信することが可能である。また、通信機器１ｅは、通信ネットワーク９００を通じて図示しない外部の通信機器と通信が可能であってもよい。
【０３６２】
（通信機器の構成）
次に、図１８を参照しながら、通信機器１ｅの構成について説明する。図１８は通信機器１ｅの構成を示すブロック図である。図１８に示すように通信機器１ｅは、実施の形態４の通信機器１ｄとほぼ同様の部材を備えているが、主制御部１０ａに代えて主制御部１０ｅを備えている。主制御部１０ｅは、実施の形態１の主制御部１０ａとほぼ同様の部材を備えているが、通信プロトコル解析部１６０ａに代えて通信プロトコル解析部１６０ｅを備えている。
【０３６３】
通信プロトコル解析部１６０ｅは、下位層処理部１０２から受信した信号から、受信フレームがＩｒＳｉｍｐｌｅプロトコルのフレームであるか、または、ＩｒＤＡプロトコルのフレームであるかの判定を行い、受信速度を決定し、ＩｒＳｉｍｐｌｅプロトコル受信フレーム解析部１７０およびＩｒＤＡプロトコル受信フレーム解析部１７１に受信データを出力する。
【０３６４】
次に、図１９を参照しながら、通信プロトコル解析部１６０ｅについて、詳細に説明する。図１９は、通信プロトコル解析部１６０ｅの構成を示すブロック図である。図１９に示すように通信プロトコル解析部１６０ｅは、実施の形態４の通信プロトコル解析部１６０ｄとほぼ同様の部材を備えているが、ＩｒＳｉｍｐｌｅプロトコルフレーム検出部２０１、ＩｒＤＡプロトコルフレーム検出部２０２に代えて、ＩｒＳｉｍｐｌｅプロトコルフレーム検出部７０１ｅ、ＩｒＤＡプロトコルフレーム検出部７０２ｅそれぞれ備えている。
【０３６５】
ＩｒＳｉｍｐｌｅプロトコルフレーム検出部７０１ｅは、ＩｒＳｉｍｐｌｅプロトコルフレーム検出部２０１とほぼ同様の部材を備えているが、パルス検出部２１２に代えて、パルス検出部（第２のパルス検出手段）７１２ｅを備えている。
【０３６６】
ＩｒＤＡプロトコルフレーム検出部７０２ｅは、ＩｒＤＡプロトコルフレーム検出部２０２とほぼ同様の部材を備えているが、パルス検出部２２２に代えて、パルス検出部（第１のパルス検出手段）７２２ｅを備えている。
【０３６７】
次に、図２０を参照しながら、パルス検出部７１２ｅおよびパルス検出部７２２ｅについて、詳細に説明する。図２０は、パルス検出部７１２ｅの構成を示すブロック図である。パルス検出部７１２ｅの構成とパルス検出部７２２ｅの構成とは同様であるため、パルス検出部７２２ｅの構成の説明は省略する。図２０に示すようにパルス検出部７１２ｅは、実施の形態４のパルス検出部２１２とほぼ同様の部材を備えているが、短パルス除去部７９０ｅをさらに備えている。
【０３６８】
短パルス除去部７９０ｅは、パルス幅が所定値よりも短い短パルスを除去することにより、短パルスを後段に伝播させない。これにより、後段のＡＮＤゲート２７０〜２７９では、短パルスが除去された状態の受信信号とＥＮ生成部２６０から出力される信号（ＥＮ０〜ＥＮ９）との論理積が算出され、それぞれＤフリップフロップ２８０〜２８９へ出力されるので、短パルスの立ち上がりエッジはＤフリップフロップ２８０〜２８９へ出力されない。
【０３６９】
次に、図２１を参照しながら、短パルス除去部７９０ｅについて、詳細に説明する。図２１は、短パルス除去部７９０ｅの構成を示すブロック図である。図２１に示すように短パルス除去部７９０ｅは、シフトレジスタ２９１、ＡＮＤゲート２９８、およびＤフリップフロップ２９９を備えて構成される。
【０３７０】
シフトレジスタ２９１は、６段のＤフリップフロップ２９２〜２９７を備えて構成されている。下位層処理部１０２からの受信信号がＤフリップフロップ２９２に入力されると、クロック（例えば、５ＭＨｚ）によりラッチされた信号が、クロックの立ち上がりのタイミングで後段のＤフリップフロップ２９３に伝播する。次に、Ｄフリップフロップ２９３にラッチされた信号が、次のクロックの立ち上がりのタイミングで後段のＤフリップフロップ２９４に伝播する。次に、Ｄフリップフロップ２９４にラッチされた信号が、次のクロックの立ち上がりのタイミングで後段のＤフリップフロップ２９５に伝播する。次に、Ｄフリップフロップ２９５にラッチされた信号が、次のクロックの立ち上がりのタイミングで後段のＤフリップフロップ２９６に伝播する。次に、Ｄフリップフロップ２９６にラッチされた信号が、次のクロックの立ち上がりのタイミングで後段のＤフリップフロップ２９７に伝播する。
【０３７１】
ＡＮＤゲート２９８は、Ｄフリップフロップ２９２〜２９７のそれぞれの出力信号の論理積をＤフリップフロップ２９９に出力する。
【０３７２】
Ｄフリップフロップ２９９は、パルス除去後の出力信号を生成する。Ｄフリップフロップ２９２〜２９７への入力となるクロックのスキューにより、Ｄフリップフロップ２９２〜２９７の出力タイミングに差が生じた場合、ＡＮＤゲート２９８の出力にスパイクノイズが発生する可能性がある。Ｄフリップフロップ２９９は、このスパイクノイズを出力しないように除去するためのものである。
【０３７３】
なお、短パルス除去部７９０ｅは、上述した各構成に限定されるものではなく、同等の機能を有する部材で構成されるものであればよい。また、各部材はソフトウェアによって実現してもよい。
【０３７４】
次に、図２２を参照しながら、短パルス除去部７９０ｅが受信信号から短パルスを除去する様子を、例を挙げて詳細に説明する。図２２は、短パルス除去部７９０ｅが、パルス幅が１．２マイクロ秒未満の短パルスを除去するタイミングチャートである。図２２は、短パルス除去部７９０ｅに入力される受信信号として、まず１．０マイクロ秒のパルス幅の受信信号が入力され、次に、１．２マイクロ秒のパルス幅の受信信号が入力された例である。
【０３７５】
まず、１．０マイクロ秒のパルス幅の受信信号が入力された場合について説明する。１．０マイクロ秒のパルス幅の受信信号がシフトレジスタ２９１に入力されると、Ｄフリップフロップ２９２〜２９７により、１．０マイクロ秒のパルス幅のパルスが１クロックずつ遅れて６つ生成される。クロック周期が５ＭＨｚであるとすると、クロックの立ち上がりから次の立ち上がりまでの時間は２００ナノ秒である。よって、Ｄフリップフロップ２９２〜２９７により生成されるパルスは、それぞれ２００ナノ秒ずつ遅れて生成される。そして、Ｄフリップフロップ２９２〜２９７の出力はＡＮＤゲート２９８に入力され、それらの論理積がＡＮＤゲート２９８から出力される。Ｄフリップフロップ２９２〜２９７のそれぞれの入力クロックにスキューがない場合、１．０マイクロ秒のパルス幅の６つのパルスが２００ナノ秒ずつ遅れてＡＮＤゲート２９８に入力されるが、これら６つのパルスが同時にＨｉｇｈになることはない。従って、ＡＮＤゲート２９８からはＨｉｇｈが出力されないので、結果として、１．０マイクロ秒のパルス幅の受信信号は除去されたこととなる。
【０３７６】
次に、１．２マイクロ秒のパルス幅の受信信号が入力された場合について説明する。１．２マイクロ秒のパルス幅の受信信号が、シフトレジスタ２９１に入力されると、Ｄフリップフロップ２９２〜２９７により、１．２マイクロ秒のパルス幅のパルスが１クロックずつ遅れて６つ生成される。上記と同様に、Ｄフリップフロップ２９２〜２９７により生成されるパルスは、２００ナノ秒ずつ遅れて生成される。
【０３７７】
そして、Ｄフリップフロップ２９２〜２９７のそれぞれの出力はＡＮＤゲート２９８に入力され、それらの論理積がＡＮＤゲート２９８から出力される。Ｄフリップフロップ２９２〜２９７のそれぞれのクロックにスキューがない場合、１．２マイクロ秒のパルス幅の６つのパルスが２００ナノ秒ずつ遅れてＡＮＤゲート２９８に入力されるが、この場合は、６つのパルスが同時にＨｉｇｈになるタイミングがある。従って、ＡＮＤゲート２９８からはＨｉｇｈが出力される。その結果、１．２マイクロ秒のパルス幅の受信信号は除去されずに、後段に伝播することとなる。
【０３７８】
このように、短パルス除去部７９０ｅにより、パルス幅が１．２マイクロ秒未満の短パルスは除去され、後段に伝播されない。一方、パルス幅が１．２マイクロ秒以上のパルスは除去されず、後段に伝播される。
【０３７９】
なお、上記の短パルス除去部７９０ｅは、パルス幅の閾値を１．２マイクロ秒とするために、シフトレジスタ２９１は６段のＤフリップフロップ２９２〜２９７を備えて構成され、かつ、クロック周期は５ＭＨｚであるとしたが、これに限定されるものではない。シフトレジスタ２９１が備えるＤフリップフロップの数とクロック周期とを適宜変更することにより、パルス幅の閾値を任意の値に設定することができる。
【０３８０】
以上のように、パルス幅が１．４１マイクロ秒未満の短パルスは立ち上がりエッジとして検出しないようにすることで、ノイズを除去することができ、通信の品質を高めることができる。よって、本実施形態の構成によれば、実施の形態４よりもさらに正確にパルス検出を行うことができるため、より確実に通信プロトコルを判定することができる。したがって、本実施形態の構成によれば、通信機器２からの応答レスポンスを確実に受信し、接続処理を進めることができる。
【０３８１】
〔実施の形態６〕
実施の形態４の構成では、パルス検出部２１２およびパルス検出部２２２は、スロットごとに受信したパルスの立ち上がりエッジを一回だけ検出する。つまり、同一スロットに２以上のパルスが存在した場合でも、１つ目のパルスの立ち上がりエッジのみが検出され、２つ目のパルスの立ち上がりエッジは検出されない。その結果、誤った信号が検出される場合がある。図２３を参照しながら、同一スロットに２以上のパルスが存在する場合に、誤って信号を検出する様子を、例を挙げて説明する。図２３は９６００ｂｐｓの通信速度のＩｒＤＡプロトコルフレーム検出部２０２に、１９２００ｂｐｓの通信速度の信号が入力された場合のタイミングチャートである。
【０３８２】
図２３に示す例は、１９２００ｂｐｓの通信速度の信号として「0x00」に続き「0xF8」が入力された例である。
【０３８３】
それぞれスタートビットおよびストップビットが付加された後、ビット反転されて「1111111110」および「1111000000」となる。１９２００ｂｐｓの通信速度の信号を９６００ｂｐｓの通信速度に対応したスロットで受信すると、１スロットには２つのパルスが存在することとなる。しかし、パルス検出部２２２は１つ目のパルスの立ちあがりエッジのみでパルス検出を行う。その結果、パルス検出部２２２は「1111111000」というビット列を検出する。これをＵＡＲＴ信号に変換し、スタートビットおよびストップビットを除去すると、「00000011」すなわち「0xC0」である。「0xC0」はBOFの値であるので、結果としてBOFが誤って検出されたこととなる。
【０３８４】
このような誤検出を防止するため、実施の形態４の構成に加え、さらに、受信フレームの周波数を検出する実施の形態について説明する。
【０３８５】
本実施形態について図２４から図２８に基づいて説明すれば、以下の通りである。なお、説明の便宜上、実施の形態１から５にて示した各部材と同一の機能を有する部材には、同一の符号を付記し、その説明を省略する。
【０３８６】
（通信システムの全体構成）
図２４を参照しながら、本実施形態に係る通信機器を用いた通信システム３ｆについて説明する。図２４は、本実施形態に係る通信機器である通信機器１ｆと通信機器２とを備える通信システム３ｆの構成を示すブロック図である。通信機器１ｆは、通信機器１ａと同様のデジタルカメラや携帯電話機などであり、通信機器２と相互に通信することが可能である。また、通信機器１ｆは、通信ネットワーク９００を通じて図示しない外部の通信機器と通信が可能であってもよい。
【０３８７】
（通信機器の構成）
次に、図２５を参照しながら、通信機器１ｆの構成について説明する。図２５は通信機器１ｆの構成を示すブロック図である。図２５に示すように通信機器１ｆは、実施の形態４の通信機器１ｄとほぼ同様の部材を備えているが、主制御部１０ｄに代えて主制御部１０ｆを備えている。主制御部１０ｆは、実施の形態４の主制御部１０ｄとほぼ同様の部材を備えているが、通信プロトコル解析部１６０ｄに代えて通信プロトコル解析部１６０ｆを備えている。
【０３８８】
次に、図２６を参照しながら、通信プロトコル解析部１６０ｆについて、詳細に説明する。図２６は、通信プロトコル解析部１６０ｆの構成を示すブロック図である。図２６に示すように通信プロトコル解析部１６０ｆは、実施の形態４の通信プロトコル解析部１６０ｄとほぼ同様の部材を備えているが、ＩｒＳｉｍｐｌｅプロトコルフレーム検出部２０１、ＩｒＤＡプロトコルフレーム検出部２０２、通信速度制御部２３０、データ選択部２４０に代えて、ＩｒＳｉｍｐｌｅプロトコルフレーム検出部７０１ｆ、ＩｒＤＡプロトコルフレーム検出部７０２ｆ、通信速度制御部（通信速度認識手段）７３０ｆ、データ選択部７４０ｆをそれぞれ備えている。
【０３８９】
図２６に示すようにＩｒＳｉｍｐｌｅプロトコルフレーム検出部７０１ｆは、実施の形態４のＩｒＳｉｍｐｌｅプロトコルフレーム検出部２０１とほぼ同様の部材を備えているが、周波数検出部（第２の周波数検出手段）７１６ｆをさらに備えている。
【０３９０】
周波数検出部７１６ｆは、スロットカウンタ２１１がカウントする値をスロットとみなし、下位層処理部１０２から受信した信号について、同一スロット内に２つ以上のパルスが存在するかどうかを判定し、その判定結果を通信速度制御部７３０ｆに通知する。
【０３９１】
通信速度制御部７３０ｆは、周波数検出部７１６ｆから２つ以上のパルスが検出された旨の通知があった場合、その後にフレーム開始検出部２１３（またはフレーム終了検出部２１４）から通知があっても反応しない（つまり、受信したフレームの通信速度が１１５．２ｋｂｐｓであると決定しない）。また、周波数検出部７１６ｆから通知がある前に、フレーム開始検出部２１３（またはフレーム終了検出部２１４）から通知があり、受信したフレームの通信速度が１１５．２ｋｂｐｓであると決定していた場合は、通信速度制御部７３０ｆは、周波数検出部７１６ｆからの通知を受けたとき、１１５．２ｋｂｐｓの通信速度での受信中止を決定し、その決定結果をデータ選択部７４０ｆに通知する。その後、通信速度制御部７３０ｆは、フレーム開始検出部２１３（またはフレーム終了検出部２１４）からの検出結果の通知を再度待つ。
【０３９２】
同様に、ＩｒＤＡプロトコルフレーム検出部７０２ｆは、実施の形態４のＩｒＤＡプロトコルフレーム検出部２０２とほぼ同様の部材を備えているが、周波数検出部（第１の周波数検出手段）７２６ｆをさらに備えている。
【０３９３】
周波数検出部７２６ｆは、周波数検出部７１６ｆと同様に、スロットカウンタ２２１がカウントする値をスロットとみなし、下位層処理部１０２から受信した信号について、同一スロット内に２つ以上のパルスが存在するかどうかを判定し、その判定結果を通信速度制御部７３０ｆに通知する。
【０３９４】
通信速度制御部７３０ｆは、周波数検出部７２６ｆから、２つ以上のパルスが検出されたという通知があった場合、その後にフレーム開始検出部２２３（またはフレーム終了検出部２２４）から通知があっても反応しない（つまり、受信したフレームの通信速度が９６００ｂｐｓであると決定しない）。また、周波数検出部７２６ｆからの通知がある前に、フレーム開始検出部２２３（またはフレーム終了検出部２２４）からの通知があり、受信したフレームの通信速度が９６００ｂｐｓであると決定していた場合は、通信速度制御部７３０ｆは、周波数検出部７２６ｆからの通知を受けて９６００ｂｐｓの通信速度での受信中止を決定し、その決定結果をデータ選択部７４０ｆに通知する。その後、通信速度制御部７３０ｆは、フレーム開始検出部２２３（またはフレーム終了検出部２２４）からの検出結果の通知を再度待つ。
【０３９５】
データ選択部７４０ｆは、通信速度制御部７３０ｆから通知された通信速度が１１５．２ｋｂｐｓである場合は、データ抽出部２１５から受信したデータを選択し、ＩｒＳｉｍｐｌｅプロトコル受信フレーム解析部１７０へ出力する。一方、通信速度制御部７３０ｆから通知された通信速度が９６００ｂｐｓである場合は、データ抽出部２２５から受信したデータを選択し、ＩｒＤＡプロトコル受信フレーム解析部１７１へ出力する。また、データ選択部７４０ｆは、通信速度制御部７３０ｆから受信中止の通知があったとき、データ出力を中止する。また、データを選択した結果をプロトコル制御部１１０へ通知する。この通知に基づき、プロトコル制御部１１０が応答レスポンス受信後の接続処理をＩｒＳｉｍｐｌｅプロトコルで行うか、または、ＩｒＤＡプロトコルで行うかを制御する。
【０３９６】
次に、図２７を参照しながら、周波数検出部７１６ｆおよび周波数検出部７２６ｆについて、詳細に説明する。図２７は、周波数検出部７１６ｆの構成を示すブロック図である。周波数検出部７１６ｆの構成と周波数検出部７２６ｆの構成とは同様であるため、周波数検出部７２６ｆの構成の説明は省略する。図２７に示すように周波数検出部７１６ｆは、ＣＬＲ生成部３００、Ｄフリップフロップ３０１、Ｄフリップフロップ３０２、パルスカウンタ３０３、および周波数判定部３０４を備えて構成される。
【０３９７】
ＣＬＲ生成部３００は、スロットカウンタ２１１からのカウンタの値を基にして、スロットカウント値が変化するごとに、パルスカウンタ３０３をリセットするためのＣＬＲ信号を生成し、パルスカウンタ３０３に出力する。
【０３９８】
Ｄフリップフロップ３０１は、クロックに下位層処理部１０２からの受信信号が入力されており、受信信号の立ち上がりを検出すると、Ｈｉｇｈを出力する。また、後段のＤフリップフロップ３０２の出力がＣＬＲに入力されており、ＣＬＲにＨｉｇｈが入力されると、Ｌｏｗを出力する。
【０３９９】
Ｄフリップフロップ３０２は、１クロック周期幅のパルスを出力し、パルスカウンタ３０３に出力する。
【０４００】
パルスカウンタ３０３は、Ｄフリップフロップ３０２からの入力がＨｉｇｈになるごとに、カウンタを１ずつ増やし、周波数判定部３０４に出力する。そして、ＣＬＲ生成部３００からの入力があったとき、カウンタをリセットする。
【０４０１】
周波数判定部３０４は、パルスカウンタ３０３の出力値が２以上かどうかを判定する。パルスカウンタ３０３の出力値が２以上である場合、同一スロット内に複数のパルスが存在することになるので、周波数判定部３０４は、受信予定の通信速度よりも速い通信速度で信号を受信していると判定する。そして、判定結果を通信速度制御部７３０ｆへ通知する。
【０４０２】
なお、周波数検出部７１６ｆおよび周波数検出部７２６ｆは、上述した各構成に限定されるものではなく、同等の機能を有する部材で構成されるものであればよい。また、各部材はソフトウェアによって実現してもよい。
【０４０３】
次に、図２８を参照しながら、周波数検出部７１６ｆおよび周波数検出部７２６ｆが、受信予定の通信速度の周波数より高い周波数でデータを受信したことを検知する様子を、例を挙げて詳細に説明する。図２８は、１スロット内に２つのパルスが存在する場合に、周波数検出部７１６ｆおよび周波数検出部７２６ｆが、受信予定の通信速度の周波数より高い周波数で受信したことを検知するタイミングチャートである。
【０４０４】
図２８に示すとおり、スロットカウンタ２１１がカウントする値が４のときに、２つのパルスを受信するものとする。１つ目のパルスの立ち上がりエッジが検出されると、１段目のＤフリップフロップ３０１がＨｉｇｈを出力する。この結果、２段目のＤフリップフロップ３０２は次のクロックの立ち上がりで、Ｈｉｇｈを出力する。さらにこの結果、１段目のＤフリップフロップ３０１にＣＬＲ信号が入るので、１段目のＤフリップフロップ３０１はＬｏｗを出力する。さらにこの結果、２段目のＤフリップフロップ３０２は次のクロックの立ち上がりでＬｏｗを出力する。このように、受信パルスが入力されるたびに、２段目のＤフリップフロップ３０２は、１クロック分のパルスをパルスカウンタ３０３に出力する。２つ目のパルスの立ち上がりエッジが検出された場合も同様である。
【０４０５】
そして、パルスカウンタ３０３は、Ｄフリップフロップ３０２の出力がＨｉｇｈになるごとにカウント値を１ずつ増やす。スロットカウンタの値が４である間に、Ｄフリップフロップ３０２の出力が２度Ｈｉｇｈになり、かつ、スロットカウンタ２１１がカウントする値が４である間は、ＣＬＲ生成部３００からのリセットがパルスカウンタ３０３に入力されないので、２つ目のパルスを受信した後のパルスカウンタ３０３のカウント値は「２」となる。そして、周波数判定部３０４は、パルスカウンタ３０３のカウント値が２以上となるため、受信予定の通信速度の周波数よりも高い周波数で信号を受信していると判定する。
【０４０６】
このように、周波数検出部７１６ｆおよび周波数検出部７２６ｆにより、受信データの周波数が受信予定の通信速度の周波数より高いことを検出でき、その結果、その通信速度での受信を中止するなどの制御を行うことができる。
【０４０７】
以上のように、受信フレームの周波数を検出することで、同一スロットに２以上のパルスが存在することを検知でき、誤った通信速度での受信を回避することができる。よって、本実施形態の構成によれば、実施の形態４よりもさらに正確にパルスを受信することができるため、より確実に通信プロトコルを判定することができる。したがって、本実施形態の構成によれば、通信機器２からの応答レスポンスを確実に受信し、接続処理を進めることができる。
【０４０８】
〔実施の形態７〕
実施の形態４の構成では、通信速度制御部２３０は、フレームの受信速度を決定した後であっても、他の通信速度でBOFを誤って検出することがある。図２９を参照しながら、通信速度を決定した後、他の通信速度でBOFを検出する様子を、例を挙げて説明する。図２９は１１５．２ｋｂｐｓの通信速度で受信した信号を、ＩｒＤＡプロトコルフレーム検出部２０２が誤って、９６００ｂｐｓのBOFであると検出する場合の説明図である。
【０４０９】
図２９は、１１５．２ｋｂｐｓの通信速度で「0xC0」が送信された後、「0xFF」が連続して７つ送信され、その後しばらく間、信号がない例である。ＩｒＤＡ−ＳＩＲの物理フォーマットが調歩同期式であり、１バイトごとの送信データの送信間隔に規定がないため、しばらく間、信号がないという場合がある。
【０４１０】
まず、１１５．２ｋｂｐｓの通信速度のスロットでフレーム開始検出部２１３が「0xC0」を受信することにより、BOFを検出し、検出結果を通信速度制御部２３０に通知する。そして、通信速度制御部２３０は、フレーム開始検出部２１３からBOFが検出されたことが通知されたので、受信したフレームの通信速度が１１５．２ｋｂｐｓであると決定する。
【０４１１】
次に、送信される「0xFF」は、スタートビットおよびストップビットが付加され、反転されて、スタートビットのみがパルス出力される。背景技術で説明したように、９６００ｂｐｓの通信速度における１ビットの送信間隔は、１１５．２ｋｂｐｓの通信速度における１０ビット分の送信間隔よりも大きい（図５２参照）。よって、１１５．２ｋｂｐｓ通信速度で送信される「1000000000」を９６００ｂｐｓの通信速度で受信すると、「1」を受信したと認識される。
【０４１２】
よって、フレーム開始検出部２２３が９６００ｂｐｓの通信速度のスロットで１１５．２ｋｂｐｓの通信速度の「0xFF」を連続して７つ受信し、その後の信号がない状態を３スロット分受信すると、結果として、「1111111000」を受信したと認識する。「1111111000」はBOFの値であるから、フレーム開始検出部２２３はBOFを検出したと認識し、検出結果を通信速度制御部２３０に通知する。そして、通信速度制御部２３０はフレーム開始検出部２２３からBOFが検出されたことが通知されたので、受信したフレームの通信速度が９６００ｂｐｓであると決定する。
【０４１３】
このように、１１５．２ｋｂｐｓの通信速度でデータを受信しているときに、誤って９６００ｂｐｓの通信速度であると判定すると、引き続き送信される１１５．２ｋｂｐｓの通信速度のデータを正しく受信することができない。
【０４１４】
上記のような誤検出を防止するため、実施の形態４の構成に代えて、所定の通信速度で受信中は他の通信速度に切り替えない実施の形態について、以下で説明する。
【０４１５】
本実施形態について図３０から図３２に基づいて説明すれば、以下の通りである。なお、説明の便宜上、実施の形態１から６にて示した各部材と同一の機能を有する部材には、同一の符号を付記し、その説明を省略する。
【０４１６】
（通信システムの全体構成）
図３０を参照しながら、本実施形態に係る通信機器を用いた通信システム３ｇについて説明する。図３０は、本実施形態に係る通信機器である通信機器１ｇと通信機器２とを備える通信システム３ｇの構成を示すブロック図である。通信機器１ｇは、通信機器１ａと同様のデジタルカメラや携帯電話機などであり、通信機器２と相互に通信することが可能である。また、通信機器１ｇは、通信ネットワーク９００を通じて図示しない外部の通信機器と通信が可能であってもよい。
【０４１７】
（通信機器の構成）
次に、図３１を参照しながら、通信機器１ｇの構成について説明する。図３１は通信機器１ｇの構成を示すブロック図である。図３１に示すように通信機器１ｇは、実施の形態４の通信機器１ｄとほぼ同様の部材を備えているが、主制御部１０ｄに代えて主制御部１０ｇを備えている。主制御部１０ｇは、実施の形態４の主制御部１０ｄとほぼ同様の部材を備えているが、通信プロトコル解析部１６０ｄに代えて通信プロトコル解析部１６０ｇを備えている。
【０４１８】
次に、図３２を参照しながら、通信プロトコル解析部１６０ｇについて、詳細に説明する。図３２は、通信プロトコル解析部１６０ｇの構成を示すブロック図である。図３２に示すように通信プロトコル解析部１６０ｇは、実施の形態４の通信プロトコル解析部１６０ｄとほぼ同様の部材を備えているが、通信速度制御部２３０に代えて、通信速度制御部（通信速度認識手段）７３０ｇを備えている。
【０４１９】
通信速度制御部７３０ｇは、フレーム開始検出部２１３からBOFが検出されたことが通知された場合は、受信したフレームの通信速度を１１５．２ｋｂｐｓと決定し、フレーム開始検出部２２３からBOFが検出されたことが通知された場合は、受信したフレームの通信速度を９６００ｂｐｓと決定する。そして、その決定結果をデータ選択部２４０に通知する。そして、受信したフレームの通信速度を１１５．２ｋｂｐｓと決定した後は、フレーム終了検出部２１４からEOFが検出されたことが通知されるまでは、フレーム開始検出部２２３からBOFが検出されたことの通知には反応しない（つまり、受信したフレームの通信速度が９６００ｂｐｓであると決定しない）。
【０４２０】
逆に、受信したフレームの通信速度を９６００ｂｐｓと決定した後は、フレーム終了検出部２２４からEOFが検出されたことが通知されるまでは、フレーム開始検出部２１３からBOFが検出されたことの通知には反応しない（つまり、受信したフレームの通信速度が１１５．２ｋｂｐｓであると決定しない）。これにより、１１５．２ｋｂｐｓの通信速度で受信中に、フレーム開始検出部２２３がBOFを誤認識しても、受信速度を変更しないようにできる。
【０４２１】
なお、通信速度制御部７３０ｇが受信フレームの通信速度を１１５．２ｋｂｐｓに決定した後、フレーム終了検出部２１４がEOFを検出できず、フレーム終了検出部２１４から通知がされないことが考えられる。このような場合は、所定の時間が経過した後に、通信速度制御部７３０ｇを強制的にリセットし、再びフレーム開始検出部２１３およびフレーム開始検出部２２３のいずれの通知にも反応するようにしてもよい。所定の時間が経過したことの判定は、EOFの検出したことの通知を受けてからの経過時間をタイマー１２０により測定して判定してもよい。
【０４２２】
以上のように、一度決定した通信速度でデータを受信しているときは、他の通信速度のデータを受信しないようにすることで、例えば１１５．２ｋｂｐｓの通信速度でデータを受信しているときに、誤って９６００ｂｐｓの通信速度であると判定した場合であっても、引き続き送信される１１５．２ｋｂｐｓの通信速度のデータを正しく受信することができる。よって、本実施形態の構成によれば、実施の形態４よりもさらに正確に応答レスポンを受信することができるため、より確実に通信プロトコルを判定することができる。したがって、本実施形態の構成によれば、通信機器２からの応答レスポンスを確実に受信し、接続処理を進めることができる。
【０４２３】
〔実施の形態８〕
実施の形態１から７においては、二次局からの応答レスポンスの通信速度が異なる複数の通信プロトコルをサポートする通信システムについて説明したが、本実施形態では、二次局からの応答レスポンスの通信速度が同じである複数の通信プロトコルをサポートする通信システムについて説明する。本実施形態について図３３から図３５に基づいて説明すれば、以下の通りである。なお、説明の便宜上、実施の形態１から７にて示した各部材と同一の機能を有する部材には、同一の符号を付記し、その説明を省略する。
【０４２４】
（通信システムの全体構成）
図３３を参照しながら、本実施形態に係る通信機器を用いた通信システム３ｈについて説明する。図３３は、本実施形態に係る通信機器である通信機器１ｈと通信機器２とを備える通信システム３ｈの構成を示すブロック図である。通信機器１ｈは、通信機器１ａと同様のデジタルカメラや携帯電話機などであり、通信機器２と相互に通信することが可能である。また、通信機器１ｈは、通信ネットワーク９００を通じて図示しない外部の通信機器と通信が可能であってもよい。
【０４２５】
（通信機器の構成）
次に、図３４を参照しながら、通信機器１ｈの構成について説明する。図３４は通信機器１ｈの構成を示すブロック図である。図３４に示すように、通信機器１ｈは、実施の形態２の通信機器１ａとほぼ同様の部材を備えているが、主制御部１０ａに代えて主制御部１０ｈを備えている。主制御部１０ｈは、ＩｒＬＡＰ層処理部１００ｈと上位層処理部１０１ｈと下位層処理部１０２ｈと通信プロトコル解析部１６０ｈとを備えている。
【０４２６】
ＩｒＬＡＰ層処理部１００ｈは、プロトコル制御部１１０ｈ、タイマー１２０、送信要求コマンド解析部１３０ｈ、送信用上位層データ格納部１４０ｈ、第１のプロトコル送信フレーム生成部１５０ｈ、第２のプロトコル送信フレーム生成部１５１ｈ、第１のプロトコル受信フレーム解析部１７０ｈ、第２のプロトコル受信フレーム解析部１７１ｈ、受信用上位層データ格納部１８０ｈ、受信コマンド通知生成部１９０ｈを備えて構成される。
【０４２７】
プロトコル制御部１１０ｈは、ＩｒＬＡＰ層のプロトコルを制御する。そのために、プロトコル制御部１１０ｈは、第１のプロトコル制御部１１１ｈ、第２のプロトコル制御部１１２ｈ、プロトコル切り替え部１１３ｈを有する。
【０４２８】
第１のプロトコル制御部１１１ｈは、第１のプロトコルによる通信を行う。そのために、第１のプロトコル制御部１１１ｈは、接続制御部１１１１ｈ、データ転送制御部１１１２ｈ、切断制御部１１１３ｈを備える。接続制御部１１１１ｈは、第１のプロトコルによる接続処理を行う。データ転送制御部１１１２ｈは、第１のプロトコルによるデータ転送を行う。切断制御部１１１３ｈは、第１のプロトコルによる切断処理を行う。そして、第１のプロトコル制御部１１１ｈは、接続時には、接続制御部１１１１ｈにより接続処理を行い、データ転送時には、データ転送制御部１１１２ｈによりデータ転送を行い、切断時には、切断制御部１１１３ｈにより切断処理を行う。
【０４２９】
第２のプロトコル制御部１１２ｈは、第２のプロトコルによる通信を行う。そのために、第２のプロトコル制御部１１２ｈは、接続制御部１１２１ｈ、データ転送制御部１１２２ｈ、切断制御部１１２３ｈを備える。接続制御部１１２１ｈは、第２のプロトコルによる接続処理を行う。データ転送制御部１１２２ｈは、第２のプロトコルによるデータ転送を行う。切断制御部１１２３ｈは、第２のプロトコルによる切断処理を行う。そして、第２のプロトコル制御部１１２ｈは、接続時には、接続制御部１１２１ｈにより接続処理を行い、データ転送時には、データ転送制御部１１２２ｈによりデータ転送を行い、切断時には、切断制御部１１２３ｈにより切断処理を行う。
【０４３０】
プロトコル切り替え部１１３ｈは、第１のプロトコル制御部１１１ｈと第２のプロトコル制御部１１２ｈとを切り替える。つまり、通信機器２との接続を確立するとき、ＩｒＬＡＰ層処理部１００ｈは、プロトコル切り替え部１１３ｈの切り替え処理によって、まず第２のプロトコルによる接続を試み、通信機器２からの応答が無ければ、次に第１のプロトコルによる接続を試み、再び通信機器２からの応答が無ければ、次に再び第２のプロトコルによる接続を試みる、という処理を繰り返す。
【０４３１】
また、プロトコル制御部１１０ｈは、第２のプロトコル制御部１１２ｈによる接続処理中に、後述する通信プロトコル解析部１６０ｈから第１のプロトコルに対応する応答レスポンスを受信したという判定結果を受けた場合、第１のプロトコルでの接続を行うため、第２のプロトコル制御部１１２ｈによる接続処理を終了させ、第１のプロトコルでの接続処理を行う。
【０４３２】
同様に、プロトコル制御部１１０ｈは、第１のプロトコル制御部１１１ｈによる接続処理中に、通信プロトコル解析部１６０ｈから第２のプロトコルに対応する応答レスポンスを受信したという判定結果を受けた場合は、第２プロトコルでの接続を行うため、第１のプロトコル制御部１１１ｈによる接続処理を終了させ、第２のプロトコルでの接続処理を行う。
【０４３３】
なお、図３４では、第１のプロトコル制御部１１１ｈと第２のプロトコル制御部１１２ｈとの２つのプロトコル制御部を備える構成としている。しかし、同一レイヤで複数種類の通信プロトコルを選択的に用いて通信する場合は、それぞれの通信プロトコルに対応するプロトコル制御部を備える構成とすればよい。
【０４３４】
送信要求コマンド解析部１３０ｈは、上位層からの送信要求コマンドを解析する。ここでいう送信要求コマンドとは、接続要求、データ転送要求、切断要求である。解析結果は、プロトコル制御部１３０ｈに通知される。
【０４３５】
送信用上位層データ格納部１４０ｈは、上位層処理部１０１ｈからの送信データを格納する。格納されたデータは、第１のプロトコル送信フレーム生成部１５０ｈまたは第２のプロトコル送信フレーム生成部１５１ｈに渡され、送信フレーム内に配置される。
【０４３６】
第１のプロトコル送信フレーム生成部１５０ｈは、第１のプロトコルで規定されたフレームフォーマットに従って、下位層へ渡す送信フレームを生成する。送信用上位層データ格納部１４０ｈから取得したデータおよび、プロトコル制御部１１０ｈの指示に基づいて、送信データを予め第１のプロトコルで規定されたフレームフォーマットに従って配置し、送信フレームを生成する。またこのとき、二次局がエラー検出を行うためのエラー検出符号を送信フレームに付加する。エラー検出符号は、例えばＣＲＣである。また、エラー訂正符号を送信フレームに付加してもよい。
【０４３７】
第２のプロトコル送信フレーム生成部１５１ｈは、第２のプロトコルで規定されたフレームフォーマットに従って、下位層へ渡す送信フレームを生成する。送信用上位層データ格納部１４０ｈから取得したデータおよび、プロトコル制御部１１０ｈの指示に基づいて、送信データを予め第２のプロトコルで規定されたフレームフォーマットによって配置し、送信フレームを生成する。また、併せて、二次局がエラー検出を行うためのエラー検出符号を送信フレームに付加する。エラー検出符号は、例えばＣＲＣである。また、エラー訂正符号を送信フレームに付加してもよい。
【０４３８】
なお、図３４では、第１のプロトコル送信フレーム生成部１５０ｈおよび第２のプロトコル送信フレーム生成部１５１ｈとの２つのプロトコル送信フレーム生成部を備える構成としているが、複数種類の通信プロトコルで通信する場合は、それぞれの通信プロトコルに対応するプロトコル送信フレーム生成部を備える構成とすればよい。
【０４３９】
第１のプロトコル受信フレーム解析部１７０ｈは、通信プロトコル解析部１６０ｈより送信された受信フレームを第１のプロトコルのフレームフォーマットに従って解析を行い、解析結果をプロトコル制御部１１０ｈに通知する。また、受信フレームから抽出された上位層データを受信用上位層データ格納部１８０ｈに格納する。なお、上位層データを受信用上位層データ格納部１８０ｈに格納するとき、プロトコル制御部１１０ｈを介して格納してもよい。
【０４４０】
第２のプロトコル受信フレーム解析部１７１ｈは、通信プロトコル解析部１６０ｈより送信された受信フレームを第２のプロトコルのフレームフォーマットに従って解析を行い、解析結果をプロトコル制御部１１０ｈに通知する。また、受信フレームから抽出された上位層データを受信用上位層データ格納部１８０ｈに格納する。なお、上位層データを受信用上位層データ格納部１８０ｈに格納するとき、プロトコル制御部１１０ｈを介して格納してもよい。
【０４４１】
なお、図３４では、第１のプロトコル受信フレーム解析部１７０ｈおよび第２のプロトコル受信フレーム解析部１７１ｈとの２つのプロトコル受信フレーム解析部を備える構成としているが、複数種類の通信プロトコルで通信する場合は、それぞれの通信プロトコルに対応するプロトコル受信フレーム解析部を備える構成とすればよい。
【０４４２】
受信用上位層データ格納部１８０ｈは、第１のプロトコル受信フレーム解析部１７０ｈまたは第２のプロトコル受信フレーム解析部１７１ｈにて、抽出された上位層データを格納する。格納されたデータは、上位層へと渡される。
【０４４３】
受信コマンド通知生成部１９０ｈは、プロトコル制御部１１０ｈからの受信コマンド通知生成要求により、受信コマンドを生成し、上位層へと通知する。ここでいう受信コマンドとは、接続要求受信コマンド、データ転送要求受信コマンド、切断要求受信コマンドである。
【０４４４】
上位層処理部１０１ｈは、受信用上位層データ格納部１８０ｈからのデータと受信コマンド通知生成部１９０ｈからの受信コマンドとを基にして、ＩｒＬＡＰ層より上位層での処理を行う。
【０４４５】
下位層処理部１０２ｈは、第１のプロトコル送信フレーム生成部１５０ｈおよび第２のプロトコル送信フレーム生成部１５１ｈからの送信フレームとを基にして、ＩｒＬＡＰ層より下位層での処理を行う。
【０４４６】
続いて、図３５を参照しながら、通信プロトコル解析部１６０ｈについて、詳細に説明する。図３５は、通信プロトコル解析部１６０ｈの構成を示すブロック図である。図３５に示すように通信プロトコル解析部１６０ｈは、通信プロトコル判定部６３０ｈ、および受信フレーム構造解析部６４０ｈとを備えて構成される。
【０４４７】
受信フレーム構造解析部６４０ｈは、第２のプロトコル制御部１１２ｈが接続要求コマンドを送信後、二次局から返信される応答レスポンスを受信し、解析を行う。受信フレーム構造解析部６４０ｈが受信するフレームは、背景技術で説明したとおり図４９に示すフレームフォーマットに従う。すなわち、受信フレームはBOFとIrLAP DataとFCSとEOFとのフィールドを備えて構成される。そのために、受信フレーム構造解析部６４０ｈは、フレーム開始検出部６１１ｈ、フレーム終了検出部６１２ｈ、および誤り検出部６１３ｈ、受信フレームフィールド解析部６４１ｈ、および受信フレーム出力セレクタ部６４２ｈを備える。
【０４４８】
フレーム開始検出部６１１ｈは、受信したフレームのBOFフィールドの検出および除去を行う。同様に、フレーム終了検出部６１２ｈは、受信したフレームのEOFフィールドの検出および除去を行う。次に、BOFフィールドおよびEOFフィールドが検出された場合には、誤り検出部６１３ｈが、受信したフレームのFCSフィールドの値を基にして受信したデータに伝送誤りが発生していないかどうかの判定を行う。そして、誤りを検出しなかった場合、誤り検出部６１３ｈはIrLAP Dataフィールドの抽出を行い、受信フレームフィールド解析部６４１ｈへ抽出したデータを出力する。
【０４４９】
受信フレームフィールド解析部６４１ｈは、誤り検出部６１３ｈから受信したデータの構造を解析し、所定のフィールドが存在するかどうかを調べる。そして、その結果を通信プロトコル判定部６３０ｈに送信する。また、受信フレームフィールド解析部６４１ｈは、受信したデータをそのまま受信フレーム出力セレクタ部６４２ｈに送信する。
【０４５０】
通信プロトコル判定部６３０ｈは、受信フレームフィールド解析部６４１ｈから、所定のフィールドの検出結果が送信されると、検出結果に基づき、受信したフレームが第１のプロトコルに対応したレスポンスのフレームであるか、または第２のプロトコルに対応したレスポンスのフレームであるかを判定する。そして、判定結果を、受信フレーム出力セレクタ部６４２ｈおよびプロトコル制御部１１０ｈに通知する。
【０４５１】
受信フレーム出力セレクタ部６４２ｈは、通信プロトコル判定部６３０ｈからの判定結果に基づき、受信フレームフィールド解析部６４１ｈから受信したデータの出力先を切り替える。すなわち、判定結果が第１のプロトコルに対応したレスポンスのフレームであることを示す内容であれば、受信したデータを第１のプロトコル受信フレーム解析部１７０ｈへ出力する。一方、判定結果が第２のプロトコルに対応したレスポンスのフレームであるという内容であれば、受信したデータを第２のプロトコル受信フレーム解析部１７１ｈへ出力する。
【０４５２】
以上のように、第１の応答レスポンスの通信速度と第２の応答レスポンスの通信速度とが同じであっても、第１の応答レスポンスのフレーム構造と第２の応答レスポンスのフレーム構造とが異なる場合、本実施形態の構成によれば、二次局から送信される応答レスポンスを確実に受信することができる。
〔変形例〕
また、本明細書の通信機器および二次局となる通信機器は、赤外線通信が可能な通信機器であれば、例えば、携帯電話機、ＰＤＡ、ＰＣ、テレビ、デジタルカメラ、プリンタなどであってもよい。
【０４５３】
例えば、本明細書の通信機器は、他の携帯電話機から携帯電話網を介して受信したメールデータや画像データなどを二次局に赤外線で送信する携帯電話機に好適である。また、例えば、本発明に係る通信機器は、撮像した画像データを二次局に赤外線で送信するデジタルカメラなどの撮像装置に好適である。また、本発明に係る通信機器が送受信するデータは、テキストデータ、音声データ、画像データ、映像データ、またはそれらを組み合わせたものであってもよく、また、特定のフォーマットに限定されるものではない。
【０４５４】
また、上述の実施の形態では、通信機器１ａ・１ｂ・１ｃ・１ｄ・１ｅ・１ｆ・１ｇ・１ｈが一次局として動作する形態について記述したが、通信機器１ａ・１ｂ・１ｃ・１ｄ・１ｅ・１ｆ・１ｇ・１ｈは二次局としても動作する機能を有していてもよい。
【０４５５】
また、上述の実施の形態では、通信機器１ａ・１ｂ・１ｃ・１ｄ・１ｅ・１ｆ・１ｇは、第１のプロトコルとしてＩｒＤＡプロトコルをサポートし、第２のプロトコルとしてＩｒＳｉｍｐｌｅプロトコルをサポートするとして説明したが、ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルに限定されるものではない。すなわち、本発明に係る通信機器は、通信速度の異なる複数の通信プロトコルをサポートする通信機器、または、応答フレームの構造が異なる複数の通信プロトコルをサポートする通信機器に好適である。
【０４５６】
なお、実施の形態は上述の他に、以下のようにも表現できる。
【０４５７】
[１]本発明に係る通信方式は、第１の通信プロトコルに対応した接続もしくは局発見もしくはその両方の意味を持つ要求フレームを送信後、対向局からの第２の通信プロトコルに対応した応答フレームを受信した場合に、第１の通信プロトコルで処理を行い、第２の通信プロトコルに対応した接続もしくは局発見もしくはその両方の意味を持つ要求フレームを送信後、対向局からの第２の通信プロトコルに対応した応答フレームを受信した場合に、第２の通信プロトコルで処理を行う複数の通信プロトコルに対応した通信方式であって、前期通信機器は、第２の通信プロトコルに対応した上記要求フレームを送信した後、対向局から返信される第１の通信プロトコルに対応した応答フレームもしくは第２の通信プロトコルに対応した応答フレームの双方の応答フレームを受信可能とし、受信した応答フレームが第１の通信プロトコルに対応した応答フレームであるか、第２の通信プロトコルに対応した応答フレームであるかを解析するものであってもよい。
【０４５８】
[２]さらに、本発明に係る通信方式は、前記受信した応答フレームが第１の通信プロトコルに対応した応答フレームであるか、第２の通信プロトコルに対応した応答フレームであるかを解析する手段として、対向局から返信される応答フレームの通信速度が第１の通信プロトコルと第２の通信プロトコルで異なる場合、対向局から返信される応答フレームの通信速度の検出を行い、検出した通信速度によって、受信した応答フレームが第１の通信プロトコルに対応した応答フレームであるか、第２の通信プロトコルに対応した応答フレームであるかの解析を行うものであってもよい。
【０４５９】
[３]さらに、本発明に係る通信方式は、前記受信した応答フレームが第１の通信プロトコルに対応した応答フレームであるか、第２の通信プロトコルに対応した応答フレームであるかを解析する手段として、対向局から返信される応答フレームのフレーム構造が第１の通信プロトコルと第２の通信プロトコルで異なる場合、対向局から返信される応答フレームのフレーム構造の相違を検出し、検出した応答フレームのフレーム構造の相違によって、受信した応答フレームが第１の通信プロトコルに対応した応答フレームであるか、第２の通信プロトコルに対応した応答フレームであるかの解析を行うものであってもよい。
【０４６０】
[４]さらに、本発明に係る通信方式は、前記受信した応答フレームが第１の通信プロトコルに対応した応答フレームであるか、第２の通信プロトコルに対応した応答フレームであるかを解析した結果、受信した応答フレームが第１の通信プロトコルに対応した応答フレームである場合には、第１の通信プロトコルでの同一レイヤもしくは上位レイヤの接続もしくはデータ交換処理を開始し、受信した応答フレームが第２の通信プロトコルに対応した応答フレームである場合には、第２の通信プロトコルで同一レイヤもしくは上位レイヤの接続もしくはデータ交換処理を開始するものであってもよい。
【０４６１】
[５]さらに、本発明に係る通信方式は、前記第１の通信プロトコルはＩｒＤＡプロトコルであり、前記第２の通信プロトコルはＩｒＳｉｍｐｌｅプロトコルであってもよい。
【０４６２】
[６]本発明に係る通信回路は、所定のプロトコルに準拠した通信方式を用いた通信回路であって、複数のあらかじめ定められた転送速度に対応したスロットを用いて、受信パルスを検出するための検出回路を、各々が異なる転送速度に対応した状態で、同時に動作させ、あらかじめ定められたフレーム開始に相当するデータを検出した検出回路に対応した転送速度を通信速度とするものであってもよい。
【０４６３】
[７]さらに、本発明に係る通信回路は、前記フレーム開始に相当するデータを検出した転送速度検出回路において、あらかじめ定められたフレーム終了に相当するデータを受信する前に、他の転送速度に対応した転送速度検出回路において、あらかじめ定められたフレーム開始に相当するデータを受信した場合、その旨を外部に通知する手段を有するものであってもよい。
【０４６４】
[８]さらに、本発明に係る通信回路は、前記あらかじめ定められた転送速度とは、９，６００ｂｐｓと１１５．２ｋｂｐｓであってもよい。
【０４６５】
[９]さらに、本発明に係る通信回路は、あらかじめ定められたフレーム開始に相当するデータを検出した受信転送速度を外部に通知する手段を有するものであってもよい。
【０４６６】
[１０]さらに、本発明に係る通信回路は、前記受信パルスが所定の長さより長いパルス幅である場合に、パルス受信と認識するものであってもよい。
【０４６７】
[１１]さらに、本発明に係る通信回路は、前記スロット内に２つ以上のパルスを検出した場合は、その通信回路でフレーム開始が検出されたとしても、無視するものであってもよい。
【０４６８】
[１２]さらに、本発明に係る通信回路は、前記あらかじめ定められたフレーム開始データが検出された通信回路に対応する転送速度が、所定の転送速度であった場合は、その転送速度に受信速度を設定し外部よりリセットされるまでその受信速度を保つものであってもよい。
【０４６９】
最後に、主制御部１０６１０ａ６１０ｂ６１０ｃｄ・１０ｅ・１０ｆ・１０ｇ・１０ｈは、上述のようにＣＰＵを用いてソフトウェアによって実現してもよいし、ハードウェアロジックによって構成してもよい。ソフトウェアによって実現する場合は、通信機器１ａ・１ｂ・１ｃ・１ｄ・１ｅ・１ｆ・１ｇ・１ｈは、各機能を実現する制御プログラムの命令を実行するＣＰＵ、上記プログラムを格納したＲＯＭ、上記プログラムを展開するＲＡＭ、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである通信機器１ａ・１ｂ・１ｃ・１ｄ・１ｅ・１ｆ・１ｇ・１ｈの制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、通信機器１ａ・１ｂ・１ｃ・１ｄ・１ｅ・１ｆ・１ｇ・１ｈに供給し、通信機器１ａ・１ｂ・１ｃ・１ｄ・１ｅ・１ｆ・１ｇ・１ｈ内のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０４７０】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０４７１】
また、通信機器１ａ・１ｂ・１ｃ・１ｄ・１ｅ・１ｆ・１ｇ・１ｈを通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４ケーブル、ＵＳＢケーブル、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０４７２】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０４７３】
本発明は、通信機器に広く適用可能であり、特に光空間通信機能を有する通信機器、例えばノートＰＣ、ＰＤＡ、携帯電話、デジタルカメラ等の携帯型無線通信機器に好適に利用できる。
【図面の簡単な説明】
【０４７４】
【図１】本発明の実施の一形態である通信機器の要部構成を示すブロック図である。
【図２】本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。
【図３】本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。
【図４】本発明の実施の一形態である通信機器が二次局からの応答に応じて接続処理を変更する処理の流れを示すフローチャートである。
【図５】本発明の実施の一形態である通信機器と、ブロードキャストフレームを受信したときにＩｒＤＡプロトコルのＵＡレスポンスを返信するＩｒＤＡプロトコルを規定どおりにサポートしていない通信機器とが接続を行うときの信号シーケンスである。
【図６】本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。
【図７】本発明の実施の一形態である通信機器の要部構成を示すブロック図である。
【図８】本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。
【図９】本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。
【図１０】本発明の実施の一形態である通信機器の要部構成を示すブロック図である。
【図１１】本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。
【図１２】本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。
【図１３】本発明の実施の一形態である通信機器の要部構成を示すブロック図である。
【図１４】本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。
【図１５】本発明の実施の一形態である通信機器におけるパルス検出部の要部構成を示すブロック図である。
【図１６】本発明の実施の一形態である通信機器におけるパルス検出部がスロット毎のパルスを検出するタイミングチャートである。
【図１７】本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。
【図１８】本発明の実施の一形態である通信機器の要部構成を示すブロック図である。
【図１９】本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。
【図２０】本発明の実施の一形態である通信機器におけるパルス検出部の要部構成を示すブロック図である。
【図２１】本発明の実施の一形態である通信機器における短パルス除去部の要部構成を示すブロック図である。
【図２２】本発明の実施の一形態である通信機器における短パルス除去部が、パルス幅が１．２マイクロ秒未満の短パルスを除去するタイミングチャートである。
【図２３】本発明の実施の一形態である通信機器におけるＩｒＤＡプロトコルフレーム検出部に、１９２００ｂｐｓの通信速度の信号が入力された場合のタイミングチャートである。
【図２４】本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。
【図２５】本発明の実施の一形態である通信機器の要部構成を示すブロック図である。
【図２６】本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。
【図２７】本発明の実施の一形態である通信機器における周波数検出部の要部構成を示すブロック図である。
【図２８】１スロット内に２つのパルスが存在する場合に、本発明の実施の一形態である通信機器における周波数検出部が、受信予定の通信速度の周波数より高い周波数で受信したことを検知するタイミングチャートである。
【図２９】１１５．２ｋｂｐｓの通信速度で受信した信号を、本発明の実施の一形態である通信機器におけるＩｒＤＡプロトコルフレーム検出部が誤って、９６００ｂｐｓのBOFであると検出する場合の説明図である。
【図３０】本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。
【図３１】本発明の実施の一形態である通信機器の要部構成を示すブロック図である。
【図３２】本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。
【図３３】本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。
【図３４】本発明の実施の一形態である通信機器の要部構成を示すブロック図である。
【図３５】本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。
【図３６】ＩｒＤＡ規格において、ＩｒＬＡＰ層の接続を行うときの信号シーケンス図である。
【図３７】ＩｒＳｉｍｐｌｅ規格における片方向通信において、ＩｒＬＡＰ層の接続を行うときの信号シーケンス図である。
【図３８】ＩｒＳｉｍｐｌｅ規格における双方向通信において、ＩｒＬＡＰ層の接続を行うときの信号シーケンス図である。
【図３９】ＩｒＳｉｍｐｌｅプロトコルのＳＮＲＭコマンドフォーマットを示す説明図である。
【図４０】ＩｒＳｉｍｐｌｅプロトコルのＵＡレスポンスフォーマットを示す説明図である。
【図４１】ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする通信機器が、ＩｒＳｉｍｐｌｅプロトコルとＩｒＤＡプロトコルとの切り替えを行うときの信号シーケンス図である。
【図４２】ＩｒＤＡプロトコルのＸＩＤコマンドフォーマットを示す説明図である。
【図４３】ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする通信機器が、ＩｒＤＡプロトコルのみを規定どおりにサポートする通信機器を二次局として接続するときの信号シーケンス図である。
【図４４】ＩｒＤＡプロトコルのＸＩＤレスポンスフォーマットを示す説明図である。
【図４５】ＩｒＤＡプロトコルのＳＮＲＭコマンドフォーマットを示す説明図である。
【図４６】ＩｒＤＡプロトコルのＵＡレスポンスフォーマットを示す説明図である。
【図４７】ＩｒＤＡプロトコルにおけるＳＩＲ通信時の物理層の伝送フォーマットの例を示す説明図である。
【図４８】通信速度毎のパルス幅の最小許容値、最大許容値、および一般的な使用値を示す説明図である。
【図４９】ＩｒＤＡプロトコルにおけるＳＩＲ通信時のフレームを示す説明図である。
【図５０】ＳＩＲ受信回路およびＵＡＲＴ受信回路において、受信したパルス波をＵＡＲＴフレームに変換する様子を示す説明図である。
【図５１】９６００ｂｐｓの通信速度の応答フレームと１１５．２ｋｂｐｓの通信速度の応答フレームとを自動識別して受信する既存の方法を示す図である。
【図５２】９６００ｂｐｓの通信速度におけるビットの送信間隔と１１５．２ｋｂｐｓの通信速度における１０ビット分の送信間隔との比較を示す説明図である。
【図５３】ＩｒＤＡプロトコルとＩｒＳｉｍｐｌｅプロトコルの両方を規定どおりにサポートする通信機器が一次局として、ＩｒＳｉｍｐｌｅのＳＮＲＭコマンドに対してＩｒＤＡのＵＡ応答レスポンスを返信する通信機器を相手に接続を試みるときの信号シーケンス図である。
【図５４】ＩｒＤＡプロトコルのみを規定どおりにサポートする通信機器が一次局として、ＩｒＳｉｍｐｌｅのＳＮＲＭコマンドに対してＩｒＤＡのＵＡ応答レスポンスを返信する通信機器を相手に接続を試みるときの信号シーケンスである。
【図５５】二次局から送信される９６００ｂｐｓの通信速度の応答フレームと１１５．２ｋｂｐｓの通信速度の応答フレームとを一次局で自動識別して、いずれの通信速度であっても受信できる非特許文献５の記載の方法により、９６００ｂｐｓの通信速度で送信されるBOFを正常に検出することができないことを示す説明図である。
【符号の説明】
【０４７５】
１ａ  通信機器（一次局）
１ｂ  通信機器（一次局）
１ｃ  通信機器（一次局）
１ｄ  通信機器（一次局）
１ｅ  通信機器（一次局）
１ｆ  通信機器（一次局）
１ｇ  通信機器（一次局）
１ｈ  通信機器（一次局）
２    通信機器（二次局）
３ａ  通信システム
３ｂ  通信システム
３ｃ  通信システム
３ｄ  通信システム
３ｅ  通信システム
３ｆ  通信システム
３ｇ  通信システム
３ｈ  通信システム
１１０    プロトコル制御部（プロトコル制御手段）
１１０ｈ  プロトコル制御部
１１１    IrDA-IrLAP制御部（第１のプロトコル制御部）（第１のプロトコル制御手段）
１１１ｈ  第１のプロトコル制御部
１１２    IrSimple-IrLAP制御部（第２のプロトコル制御部）（第２のプロトコル制御手段）
１１２ｈ  第２のプロトコル制御部
１６０ａ  通信プロトコル解析部
１６０ｂ  通信プロトコル解析部
１６０ｃ  通信プロトコル解析部
１６０ｄ  通信プロトコル解析部
１６０ｅ  通信プロトコル解析部
１６０ｆ  通信プロトコル解析部
１６０ｇ  通信プロトコル解析部
１６０ｈ  通信プロトコル解析部
２０１    ＩｒＳｉｍｐｌｅプロトコルフレーム検出部（第２の通信速度検出手段）
２０２    ＩｒＤＡプロトコルフレーム検出部（第１の通信速度検出手段）
２１２    パルス検出部（第２のパルス検出手段）
２２２    パルス検出部（第１のパルス検出手段）
２３０    通信速度制御部（通信速度認識手段）
６１０ａ  ＩｒＳｉｍｐｌｅプロトコルフレーム受信部
６１０ｂ  ＩｒＳｉｍｐｌｅプロトコルフレーム受信部
６１０ｃ  ＩｒＳｉｍｐｌｅプロトコルフレーム受信部
６２０ａ  ＩｒＤＡプロトコルフレーム受信部
６２０ｂ  ＩｒＤＡプロトコルフレーム受信部
６２０ｃ  ＩｒＤＡプロトコルフレーム受信部
６３０ａ  通信プロトコル判定部
６３０ｂ  通信プロトコル判定部
６３０ｃ  通信プロトコル判定部
６３０ｈ  通信プロトコル判定部
６４０ｂ  ＩｒＳｉｍｐｌｅプロトコル受信フレームフィールド解析部
６４０ｃ  受信フレーム構造解析部
６４０ｈ  受信フレーム構造解析部
６５０ｂ  ＩｒＤＡプロトコル受信フレームフィールド解析部
７０１ｅ  ＩｒＳｉｍｐｌｅプロトコルフレーム検出部（第２の通信速度検出手段）
７０１ｆ  ＩｒＳｉｍｐｌｅプロトコルフレーム検出部（第２の通信速度検出手段）
７０２ｅ  ＩｒＤＡプロトコルフレーム検出部（第１の通信速度検出手段）
７０２ｆ  ＩｒＤＡプロトコルフレーム検出部（第１の通信速度検出手段）
７１２ｅ  パルス検出部（第２のパルス検出手段）
７１６ｆ  周波数検出部（第２の周波数検出手段）
７２２ｅ  パルス検出部（第１のパルス検出手段）
７２６ｆ  周波数検出部（第１の周波数検出手段）
７３０ｆ  通信速度制御部（通信速度認識手段）
７３０ｇ  通信速度制御部（通信速度認識手段）
【図１】
2008141253.tif 000003
【図２】
2008141253.tif 000004
【図３】
2008141253.tif 000005
【図４】
2008141253.tif 000006
【図５】
2008141253.tif 000007
【図６】
2008141253.tif 000008
【図７】
2008141253.tif 000009
【図８】
2008141253.tif 000010
【図９】
2008141253.tif 000011
【図１０】
2008141253.tif 000012
【図１１】
2008141253.tif 000013
【図１２】
2008141253.tif 000014
【図１３】
2008141253.tif 000015
【図１４】
2008141253.tif 000016
【図１５】
2008141253.tif 000017
【図１６】
2008141253.tif 000018
【図１７】
2008141253.tif 000019
【図１８】
2008141253.tif 000020
【図１９】
2008141253.tif 000021
【図２０】
2008141253.tif 000022
【図２１】
2008141253.tif 000023
【図２２】
2008141253.tif 000024
【図２３】
2008141253.tif 000025
【図２４】
2008141253.tif 000026
【図２５】
2008141253.tif 000027
【図２６】
2008141253.tif 000028
【図２７】
2008141253.tif 000029
【図２８】
2008141253.tif 000030
【図２９】
2008141253.tif 000031
【図３０】
2008141253.tif 000032
【図３１】
2008141253.tif 000033
【図３２】
2008141253.tif 000034
【図３３】
2008141253.tif 000035
【図３４】
2008141253.tif 000036
【図３５】
2008141253.tif 000037
【図３６】
2008141253.tif 000038
【図３７】
2008141253.tif 000039
【図３８】
2008141253.tif 000040
【図３９】
2008141253.tif 000041
【図４０】
2008141253.tif 000042
【図４１】
2008141253.tif 000043
【図４２】
2008141253.tif 000044
【図４３】
2008141253.tif 000045
【図４４】
2008141253.tif 000046
【図４５】
2008141253.tif 000047
【図４６】
2008141253.tif 000048
【図４７】
2008141253.tif 000049
【図４８】
2008141253.tif 000050
【図４９】
2008141253.tif 000051
【図５０】
2008141253.tif 000052
【図５１】
2008141253.tif 000053
【図５２】
2008141253.tif 000054
【図５３】
2008141253.tif 000055
【図５４】
2008141253.tif 000056
【図５５】
2008141253.tif 000057