JP2008141252A - 通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents

通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JP2008141252A
JP2008141252A JP2006322632A JP2006322632A JP2008141252A JP 2008141252 A JP2008141252 A JP 2008141252A JP 2006322632 A JP2006322632 A JP 2006322632A JP 2006322632 A JP2006322632 A JP 2006322632A JP 2008141252 A JP2008141252 A JP 2008141252A
Authority
JP
Japan
Prior art keywords
response
protocol
communication
frame
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006322632A
Other languages
English (en)
Inventor
Hirohito Sakai
宏仁 酒井
Hitoshi Naoe
仁志 直江
Fumihiro Fukae
文博 深江
Takashi Nakajima
孝士 中島
Kenji Mameta
憲治 豆田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2006322632A priority Critical patent/JP2008141252A/ja
Priority to US11/937,876 priority patent/US20080126554A1/en
Priority to CNA2007101961148A priority patent/CN101193121A/zh
Publication of JP2008141252A publication Critical patent/JP2008141252A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】第1および第2のプロトコルをサポートする通信機器と、第2の接続要求コマンドに対して第1の応答レスポンスを返信する、第1のプロトコルをサポートする通信機器との通信を実現する。
【解決手段】通信機器1aは、二次局と通信する一次局であって、第1の接続処理コマンドに対する第1の応答レスポンスと、第1の応答レスポンスとは識別が可能な、第2の接続処理コマンドに対する第2の応答レスポンスとのいずれをも受信し、受信した応答レスポンスを解析し、該応答レスポンスが第1応答レスポンスであるか、または第2の応答レスポンスであるかを判定する通信プロトコル解析部160aと、通信プロトコル解析部160aが第1の応答レスポンスであると判定した場合、第1のプロトコルにより二次局との接続を行い、第2の応答レスポンスであると判定した場合、第2のプロトコルにより二次局との接続を行うプロトコル制御部110とを備える。
【選択図】図1

Description

本発明は、データを送受信するための通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
(IrDA)
携帯電話、PDA(Personal Digital Assistant)、デジタルカメラ、ノートPC(Personal Computer)、プリンタ、スキャナなどの多くの機器をつなぐインタフェースとしてIrDA-D1.1(Infrared Data Association-Data ver1.1)(以下では、「IrDA」(登録商標)と称す)などの赤外線方式がある(非特許文献1から5参照)。
IrDAなどの赤外線方式は、指向性があるため、通信機器間に遮蔽物が存在する場合は、データの転送が不可能であるが、通信機器間の見通しが良い場合は、高速のデータ転送が可能である。IrDA規格には、最大転送速度が16MbpsのVery Fast IR(VFIR)と、4MbpsのFast IR(FIR)と、115.2kbps以下の通信速度のSerial IR(SIR)とがあるが、現在市場に出回っているのは、最大転送速度が4Mbpsまでのものである。
図36を参照しながら、IrDA規格におけるIrLAP層の接続手順について説明する。図36は、赤外線通信の規格の一つであるIrDA規格において、IrLAP層の接続を行うときの信号シーケンスである。
一次局(Primary Device)とは、最初に通信相手を探す側の局、すなわち、データ転送状態の確立を要求する局であり、接続を要求するコマンド(例えば、局発見コマンド(XID(Exchange Station Identification)コマンド))を送出する側の局である。また、二次局(Secondary Device)とは、該要求を受け入れる側の局である。例えば、IrDA規格では、局発見コマンドに対して局発見レスポンス(XIDレスポンス)を送出する側の局である。なお、一次局から二次局への要求(命令)をコマンドと呼び、逆に、そのコマンドに対する、二次局から一次局への応答をレスポンスと呼ぶ。また、対向局とは、通信相手側の局である。すなわち、一次局の対向局は二次局であり、二次局の対向局は一次局である。
XIDコマンドとは、一次局から通信可能距離内に二次局となり得る局が存在するかを探すコマンドである。図36中、括弧内の番号はSlotNumberを16進数で表している。SlotNumberは、何個目のコマンドを送出しているかを表すものである。
XIDコマンドを受け取った二次局は、局発見レスポンスであるXIDレスポンスを返し、自局の存在を一次局に知らせる処理を行う。一次局は、規定の数のXIDコマンドを送出し、最後のXIDコマンドのSlotNumberを「0xFF」とする。「0xFF」は、これが最後のコマンド(XID−End)であることを示している。
続いて、一次局は、自局の最大転送可能速度、最大受信可能データ長等の通信に必要となるパラメータを、SNRM(Set Normal Response Mode)コマンドを用いて二次局に知らせる。そのコマンドを受け取った二次局は、自局の設定値と比較し、受け入れることが可能な設定値を、UAレスポンスを用いて一次局に知らせる。
IrLAPのコマンドフレームによるIrLAPの接続の後、IrLAPのデータフレームにより、IrLMP、TinyTP、OBEXの接続が行われる。
一次局のIrLMPの接続要求が、IrLAPのデータフレームにより二次局に転送され、二次局のIrLMP接続応答が、IrLAPのデータフレームにより一次局に転送され、IrLMPの接続が行われる。
ついで、TinyTPの接続要求が、IrLAPのデータフレームにより二次局に転送され、二次局のTinyTP接続応答が、IrLAPのデータフレームにより一次局に転送され、TinyTPの接続が行われる。
さらに、一次局のOBEXの接続要求が、IrLAPのデータフレームにより二次局に転送され、二次局のOBEX接続応答が、IrLAPのデータフレームにより一次局に転送されOBEXの接続が行われることにより、情報データの転送が可能な接続状態が確立する。
なお、切断時には、OBEXの切断要求と応答、TinyTPの切断要求と応答、IrLMPの切断要求と応答がIrLAPのデータフレームにより送信され、ついでIrLAPの切断要求コマンドフレームであるDISCコマンドと応答コマンドフレームであるUAレスポンスが送信され、一次局と二次局との間の通信状態が切断される。
上記のIrDAによる接続手順では、データ転送に要する時間が長くなり、転送効率が低下するという問題があった。すなわち、IrDAによる接続の確立までには、センシング、XIDコマンドによる局発見、SNRMコマンド,UAレスポンスによるネゴシエーションパラメータの交換が必要である。さらに、このXIDによる局発見は、IrDA規格により9600bpsという速度に規定されており、データが交換される4Mbpsという速度よりもかなり低速な速度に規定されている。また、情報データの転送までには、上述のとおり、IrLAP層の接続が完了した後、IrLMP層、TinyTP層、OBEX層の各層を順に接続していく必要がある。
一般的に、大容量のデータを転送するのに要する時間は長くなるので、通信機器間の接続を長時間保つ必要がある。しかし、赤外線による通信では、例えば通信機器間の見通しが悪くなったときには接続が切断されるため、安定した接続状態を長時間保てない場合がある。一度接続が切断されると、IrDAでは、再び各層において9600bpsという低速な速度で接続を確立した上で、データ転送を行う必要がある。すなわち、IrDAはデータ転送時のオーバーヘッドが大きく、大容量データを効率的に送受信するには不向きである。
(IrSimple)
そこで、赤外線通信の利便性の向上を目的として、接続に必要な時間を短縮し、接続要求から切断までの通信効率を高めた通信プロトコルとして、IrSimple(登録商標)が2005年に規格化されている(非特許文献6から8、特許文献1参照)。IrSimpleは、IrDAの一部機能を改良したものであり、IrDAと部分的に互換性がある。IrSimpleは、局発見に関わる通信を行わないため、従来のIrDAと比較すると接続に要する時間が短く、同一サイズのデータ通信における通信時間を4分の1から10分の1程度に短縮することができる。
IrSimpleには、片方向通信と双方向通信の2つの通信方式がある。片方向通信では、接続および切断処理を1つのフレームで終了できるように処理を簡略化することにより、接続および切断処理時間を短縮し、またデータ転送においてはエラー再送処理を簡略化することで、高速化を図っている。
図37を参照しながら、IrSimple規格の片方向通信におけるIrLAP層の接続手順について説明する。図37は、IrSimple規格における片方向通信において、IrLAP層の接続を行うときの信号シーケンスである。図37に示すように、一次局は、二次局の存在を確認するための局発見コマンドを送信することなく、接続要求コマンドであるSNRMコマンドを送信する。これにより接続が完了したことになるため、SNRMコマンドを送信した一次局は、二次局から応答コマンドフレームであるUAレスポンスを待つことなく、データ送信を開始する。一方、上記SNRMコマンドを受信した二次局は、UAレスポンスを返すことなく、一次局からのデータ転送を待つ。受信したSNRMコマンド内に上位層データが含まれていない場合は、不正な接続要求として、データ転送待機状態へ遷移しない実装としてもよい。
次に、図38を参照しながら、IrSimple規格の双方向通信におけるIrLAP層の接続手順について説明する。図38は、IrSimple規格における双方向通信において、IrLAP層の接続を行うときの信号シーケンスである。
図38に示すように、一次局は、二次局の存在を確認するための局発見コマンドを送信することなく、接続要求コマンドであるSNRMコマンドを送信する。SNRMコマンドを受信した二次局は応答コマンドフレームであるUAレスポンスを送信する。一次局が、UAレスポンスを受信したことにより、IrLAP層、IrLMP層、IrSMP層、OBEX層の各層の接続が完了する。つまり、IrLAP層の接続が完了した後に、IrLMP層、IrSMP層、OBEX層を順に接続していく必要はない。そして、これ以降は、SNRMコマンドおよびUAレスポンスで決定されたQoS(Quality of Service)に基づいた通信パラメータによって、データ交換が行われる。
上記のSNRMコマンドは9600bpsの通信速度で送信され、UAレスポンスは115.2kbpsの通信速度で送信される。そのため、一次局はIrSimpleプロトコルのSNRMコマンドを送信した後、115.2kbpsのフレームを受信できる状態でUAレスポンスを待つ。
次に、図39を参照しながら、IrSimpleプロトコルのSNRMコマンドについて説明する。図39は、SNRMコマンドのフレームを示す説明図である。
「A(Address)Field」は接続を確立するために使用されるフィールドであり、7ビットの接続先アドレス、および、1ビットのC/R(Command/Response)識別子を示す。図38のSNRMコマンドの場合は、接続前であるため、接続先アドレスの値はブロードキャストを表す「0x7F」となる。また、C/Rビットの値は、このフレームがコマンドであることを表す「1」となる。つまり、図38のSNRMコマンドにおけるA Fieldの値は、アドレスデータとC/Rビットとを合わせて、「0xFF」となる。
「C(Control)Field」は、このフレームの制御フィールドであり、このフレームがどの種類のフレームフォーマットであるかを示す。このフレームはSNRMコマンドであるため、C Fieldの値は、Unnumbered format(U format)においてSNRMを表す「0x93」(双方向通信)、または、「0x83」(片方向通信)となる。どちらの値になるかは、送信権を委譲するか否かに応じて決まり、双方向通信の場合は「0x93」となり、片方向通信の場合は「0x83」となる。図38に示すシーケンスは双方向通信であるので、C Fieldの値は「0x93」となる。
「Source Address」は送信元(一次局)のアドレスを示すフィールドであり、「0」および「0xFFFFFFFF」以外の値となる。
「Destination Device Address」は送信先(二次局)のアドレスを示すフィールドである。図38では、接続前であるため、Destination Device Addressの値はブロードキャストアドレスを表す「0xFFFFFFFF」となる。
「Connection Device Address」は、接続完了後に使用する7ビットの新しいコネクションアドレスの値、および、1ビットのC/Rビット(値は必ず「0」)で構成される。コネクションアドレスの値は一次局が自由に設定できる。
「Requested-QoS Parameters」は、一次局がサポートしている通信速度や、最大ターンアラウンドタイムなどのQoSのパラメータ値を示すフィールドである。
「Upper User Data」は、IrSimpleプロトコルで新たに規定されたフィールドであって、IrLAP層より上位層で使用するデータが記述される。例えば、IrSMPのパラメータやOBEXの接続要求であるCONNECTコマンドなどが記述される。
次に、図40を参照しながら、IrSimpleプロトコルのUAレスポンスについて説明する。図40は、UAレスポンスのフレームを示す説明図である。
「A(Address)Field」は、対応するSNRMコマンドの「Connection Device Address」で設定された7ビットのアドレスの値、および、1ビットのC/Rビットで構成される。C/Rビットの値はこのフレームがレスポンスであることを示す「0」となる。
「C(Control)Field」は、このフレームがUAレスポンスフレームであるため、Unnumbered format(U format)においてUAレスポンス表す「0x73」となる。
「Source Device Address」は、二次局で決めた32ビットのアドレス値であり、「0」および「0xFFFFFFFF」以外の値となる。
「Destination Device Address」は送信先(一次局)のアドレスを示すフィールドである。対応するSNRMコマンドフレームのSource Device Addressで通知された一次局のアドレス値となる。
「Returned-QoS Parameters」は、一次局のRequested-QoS Parametersと自局のQoSパラメータから判別したQoSのパラメータ値となる。
「Upper User Data」は、IrSimpleプロトコルで新たに規定されたフィールドであって、IrLAP層より上位層で使用するデータが記述される。例えば、上位層であるIrSMPのパラメータやOBEXの接続要求に対する回答であるSuccessレスポンスなどである。
IrSimpleプロトコルとIrDAプロトコルの物理層は同一であることから、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする通信機器は、二次局の通信機器と接続を試みるとき、二次局の応答に応じてプロトコルを自動的に識別して切り替える機能を有する(非特許文献6参照)。すなわち、上記通信機器は、二次局がIrDAプロトコルに応答する場合は、IrDAプロトコルにより二次局との接続を行い、二次局がIrSimpleプロトコルの双方向通信に応答する場合は、IrSimpleの双方向通信により二次局との接続を行う。
図41を参照しながら、上記通信機器が、IrSimpleプロトコルとIrDAプロトコルとの切り替える手順について説明する。図41は、上記通信機器が、IrSimpleプロトコルとIrDAプロトコルとの切り替えを行うときの信号シーケンスである。
一次局は以下に示す(1)から(3)の処理を繰り返して、二次局との接続を試みる。下記SNRMコマンドおよびXIDコマンドは9600bpsの通信速度で送信される。
(1)IrSimpleプロトコルにより接続を試みる。具体的には、IrSimpleプロトコルのSNRMコマンドを送信する。また、同時に、115.2kbpsの通信速度で二次局からの受信待ちを行う。
(2)二次局からの応答が無い場合は、二次局を発見するために1スロットのXIDコマンドを送信する。また、同時に、9600bpsの通信速度で二次局からの受信待ちを行う
(3)二次局からの応答が無い場合は、XID−Endコマンドを送信して局発見を終了し、再び接続を試みる。従って、SNRMコマンドを送信する。また、同時に、115.2kbpsの通信速度で二次局からの受信待ちを行う。
二次局は、上記(1)から(3)の順番で送信されるフレームを受信し、受信したフレームが、自局でサポートするプロトコルに規定されている正常なフレームであると判断した場合、そのフレームに対して応答する。
すなわち、二次局がIrSimpleプロトコルを規定どおりにサポートする場合、上記(1)または(3)のSNRMコマンドに対してUAレスポンスを返信する。また、二次局がIrDAプロトコルを規定どおりにサポートする場合、上記(2)のXIDコマンドに対してXIDレスポンスを返信する。また、二次局がIrSimpleプロトコルおよびIrDAプロトコルの両方を規定どおりにサポートする場合、1スロットのXIDコマンドを2回連続して受信しなければXIDレスポンスフレームを返信しないという規定がIrSimpleプロトコルにある(非特許文献6参照)。この規定により、上記(1)のSNRMフレームを受信し損なって上記(2)のXIDフレームを最初に受信した場合であっても、XIDレスポンスを返信しない。そして、次に送信される上記(3)のIrSimpleのプロトコルのSNRMコマンドに応答してUAレスポンスを返信する。
上記(1)および(3)において送信されるSNRMコマンドのフレーム構成は、図39と同様である。
次に、図42を参照しながら、IrDAプロトコルの局発見コマンドであるXIDコマンドについて説明する。図42は、上記(2)で送信されるXIDコマンドのフレームを示す説明図である。
「A Field」は上述と同様のフィールドである。値は「0xFF」となる。
「C Field」は上述と同様のフィールドである。値は、XIDコマンドフレームを示す「0x3F」となる。
「Format Identifier」は、拡張用の識別子であり、通常「0x01」とする。
「Source Device Address」は上述と同様のフィールドである。
「Destination Device Address」は上述と同様のフィールドである。
「Discovery Flags」は、XIDコマンドのスロット数(同時に相手局をサーチできる数)を示すフィールドである。図41に示す例は1スロットであるため、値は「0x00」となる。
「Slot Number」は、現在のスロット番号を示すフィールドである。番号はシーケンシャルに付与される。図41の最初のXIDコマンドフレームの場合、Slot Numberの値は「0x00」となる。また最終のXIDコマンドフレームであるXID−Endコマンドフレームの場合、Slot Numberの値は、最終であることを示す「0xFF」となる。
「Version Number」は、IrLAPのバージョン番号を示すフィールドである。バージョン1.1では、Version Numberの値は「0x00」となる。
「Discovery Info」は、最終のコマンドであるXID−Endコマンドフレームのみに付加されるフィールドであり、局発見中の任意の情報が記述される。例えば、一次局の機器名称などの局情報などが記述される。
(IrSimpleプロトコルの双方向通信を規定どおりにサポートする二次局が、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする一次局と接続するときの信号シーケンス)
IrSimpleプロトコルの双方向通信を規定どおりにサポートする二次局が、上記で説明した、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする一次局と接続するときの信号シーケンスは、図38と同様である。すなわち、一次局は、二次局の存在を確認するための局発見コマンドを送信することなく、接続要求コマンドであるSNRMコマンドを送信する。SNRMコマンドを受信した二次局は応答コマンドフレームであるUAレスポンスを送信する。一次局が、UAレスポンスを受信したことにより、IrLAP層、IrLMP層、IrSMP層、OBEX層の各層の接続が完了する。そして、これ以降は、SNRMコマンドおよびUAレスポンスで決定されたQoSに基づいた通信パラメータによって、データ交換が行われる。
上記のSNRMコマンドは9600bpsの通信速度で送信され、また、UAレスポンスは115.2kbpsの通信速度で送信される。そのため、一次局はSNRMコマンドを送信した後は、115.2kbpsのフレームを受信できる状態でUAレスポンスを待つ。
(IrDAプロトコルのみを規定どおりにサポートする二次局が、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする一次局と接続するときの信号シーケンス)
次に、図43を参照しながら、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする通信機器とIrDAプロトコルのみを規定どおりにサポートする通信機器との接続手順について説明する。図43は、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする一次局が、IrDAプロトコルのみを規定どおりにサポートする二次局と接続するときの信号シーケンスである。
図43に示すように、一次局は接続要求であるSNRMコマンドを送信するが、二次局はこのフレームには応答しない。応答しない理由は、「A Field」および「Destination Device Address」の両方がブロードキャストアドレスを示すフレーム(以下、「ブロードキャストフレーム」と称す)は、IrDAプロトコルで規定されている正常なフレームではない。そして、正常でないフレームを受信した場合は、応答レスポンスを返信しない旨が規定されているためである(非特許文献1参照)。
図43において一次局が送信するSNRMコマンドは、いずれの値もブロードキャストを表すため、IrDAプロトコルを規定どおりにサポートする二次局はこのSNRMコマンドには応答しない。
そして、送信したSNRMコマンドに対する応答が無いので、一次局はIrDAプロトコルによる接続に切り替えて、IrDAの局発見フレームであるXID(0x00)コマンドを送信する。二次局は、自局が存在することを一次局に知らせるために、このXID(0x00)コマンドに応答し、XIDレスポンスを送信する。
図44を参照しながら、IrDAプロトコルの局発見レスポンスであるXIDレスポンスについて説明する。図44は、XIDレスポンスフレームのフレームを示す説明図である。
「A Field」は上述と同様のフィールドである。C/Rビットの値は、このフレームがレスポンスであることを表す「0」となる。よって、A Fieldの値は、アドレスデータとC/Rビットとを合わせて、「0xFE」となる。
「C Field」は上述と同様のフィールドである。値は、XIDレスポンスフレームを示す「0xBF」になる。
「Format Identifier」は上述と同様のフィールドである。値は「0x01」となる。
「Source Device Address」は、送信元(二次局)のアドレスを示すフィールドであり、「0」および「0xFFFFFFFF」以外の値となる。
「Destination Device Address」は、送信先(一次局)のアドレスを示すフィールドである。この場合は、XIDコマンドフレームのSource Device Addressで通知された一次局のアドレスとなる。
「Discovery Flags」は上述と同様のフィールドである。値は、XIDコマンドフレームにおけるDiscovery Flagsの値と同じとなる。例えば、XIDコマンドフレームにおけるDiscovery Flagsの値が「0x00」であった場合は、「0x00」となる。
「Slot Number」は上述と同様のフィールドである。値は、対応するXIDコマンドフレームのSlot Numberの値と同じとなる。例えば、XID(0x00)コマンドに対するレスポンスであれば、値は「0x00」となる。
「Version Number」は上述と同様のフィールドである。
「Discovery Info」は上述と同様のフィールドである。例えば、二次局の機器名称などの局情報などが記述される。
一次局はXIDレスポンスを受信した後、XID−Endコマンドを送信する。これにより局発見が終了する。
次に、一次局は、IrDAプロトコルの接続要求であるSNRMコマンドを送信する。図45を参照しながら、IrDAプロトコルのSNRMコマンドについて説明する。図45は、SNRMコマンドフレームのフレームを示す説明図である。
フレーム構成は図39とほぼ同様であるが、Destination Device Addressには、局発見中のXIDレスポンスフレームのSource Device Addressの値を記述する。また、Upper User Dataは存在しない。
上記SNRMコマンドでは、A Fieldの値、および、Destination Device Addressの値のいずれもがブロードキャストアドレスではないので、二次局はこのSNRMコマンドをIrDAプロトコルの正常なフレームとして受信し、UAレスポンスを送信する。
図46を参照しながら、IrDAプロトコルのUAレスポンスについて説明する。図46は、IrDAプロトコルのUAレスポンスフレームのフレームを示す説明図である。フレーム構成は図40とほぼ同様であるが、Upper User Dataは存在しない。
一次局が上記UAレスポンスを受信したことで、IrLAP層の接続が終了する。これに引き続き、SNRMコマンドおよびUAレスポンスで決定されたQoSに基づいた通信パラメータによって、IrLAP層より上位層での接続が行われる。
IrDAプロトコルにより局発見および接続を行う場合において、XIDコマンドフレーム、XIDレスポンスフレーム、SNRMコマンドフレーム、および、UAレスポンスフレームはいずれも9600bpsの通信速度で送信される。そのため、一次局はXIDコマンドフレームあるいはSNRMコマンドフレームを送信した後は、9600bpsの通信速度のフレームが受信できる状態で、XIDレスポンスフレームあるいはUAレスポンスフレームを待つ。
(IrDAプロトコルにおけるSIR通信時の物理層の伝送フォーマット)
次に、図47を参照しながら、IrDAプロトコルにおけるSIR通信時の物理層の伝送フォーマットについて説明する。図47は、IrDAプロトコルにおけるSIR通信時の物理層の伝送フォーマットの例を示す説明図である。上述の9600bpsの通信速度のフレームおよび115.2kbpsの通信速度のフレームは、以下で説明するフォーマットに従って送信される。
SIR通信時は、送信データはUART(Universal Asynchronous Receiver Transmitter)で送信される。つまり、1バイトの送信データに対して、送信データの先頭を示す1ビットのスタートビットが送信データの前に付加される。スタートビットの値は「0」である。また、送信データの最後を示す1ビットのストップビットが送信データの後に付加される。ストップビットの値は「1」である。図47(a)にUARTフレームの例を示す。この例では、送信対象のビット列は「01100101」である。送信時は下位ビットから送信されるので、送信データは「10100110」となる。そして、送信データの前にスタートビットの「0」が付加され、送信データの後ろにストップビットの「1」が付加されるため、UARTフレームは「0101001101」となる。
そして、UARTフレームの各ビットはRZ符号方式により反転され、パルス出力される。つまり、UARTフレームにおいて値が「0」のビットはパルス出力され、値が「1」のビットはパルス出力されない。図47(b)に図47(a)のUARTフレームを反転した例を示す。UARTフレームが「0101001101」である場合、1ビット目、3ビット目、5ビット目、6ビット目、および9ビット目の値が「1」となり、それらがパルス出力される。
(パルス幅の許容値)
次に、図48を参照しながら、パルス幅の許容値について説明する。図48は、通信速度毎のパルス幅の最小許容値、最大許容値、および一般的な使用値を示す説明図である。例えば、9600bpsの通信速度の場合、パルス幅の最小許容値は1.41マイクロ秒、一般的な使用値は19.53マイクロ秒、最大許容値は22.13マイクロ秒と規定されている。
(IrDAプロトコルにおけるSIR通信時のフレームフォーマット)
次に、図49を参照しながら、IrDAプロトコルにおけるSIR通信時のフレームフォーマットについて説明する。図49は、IrDAプロトコルにおけるSIR通信時のフレームを示す説明図である。
「Additional_BOF(Additional Beginning Of Frame)」は、必要に応じて先頭に付加されるフィールドであり、値は「0xFF」が推奨されている(非特許文献1参照)。連続して複数個付加されることもある。
「BOF(Beginning Of Frame)」は、フレームの先頭を表すフィールドであり、SIR通信時の値は「0xC0」である。
「IrLAP Data」は、IrLAP層のペイロードデータを格納するフィールドである。例えば、SNRMコマンドフレーム、UAレスポンスフレームが格納される。
「FCS(Frame Check Sequence)」は、誤り検出のためのフィールドであり、SIR通信時は16ビットのCRC(Cyclic Redundancy Check)である。
「EOF(End Of Frame)」は、フレームの最後を表すフィールドであり、SIR通信時の値は「0xC1」である。
(UART信号への変換)
次に、図50を参照しながら、受信側における、パルス波からUARTフレームへの変換について説明する。図50は、SIR受信回路およびUART受信回路において、受信したパルス波をUARTフレームに変換する様子を示す説明図である。
前述のとおり、IrDAプロトコルのSIR時の物理層のフォーマットはUARTに従う。よって、SIR受信回路では、まず、受信したパルス(図50(a))をあらかじめ定められた通信速度に対応するパルス幅(9600bpsの通信速度の場合、約19.53マイクロ秒)のパルスに伸長する(図50(b))。その後、各パルスを反転させる(図50(c))。次に、UART受信回路にて、スタートビットを検出して、あらかじめ定められた時間間隔(9600bpsの場合、約19.53マイクロ秒)でサンプリングを行う。そして、最後にストップビットの値が「1」であることを確認する。
(9600bpsの通信速度のフレームと115.2kbpsの通信速度のフレームとを自動識別する方法)
非特許文献5には、二次局から送信される9600bpsの通信速度の応答フレームと115.2kbpsの通信速度の応答フレームとを一次局で自動識別して、いずれの通信速度であっても受信できる方法(以下、「通信速度自動認識方法」と称す)が記載されている。図51を参照しながら、9600bpsの通信速度の応答フレームと115.2kbpsの通信速度の応答フレームとを自動識別して受信する方法について説明する。図51は、9600bpsの通信速度の応答フレームと115.2kbpsの通信速度の応答フレームとを自動識別して受信する方法を示す図である。
通信速度自動認識方法では、最初に115.2kbpsの通信速度でフレームを受信する。しかし、115.2kbpsの通信速度でフレームを受信中に、9600bpsの通信速度のフレームが送信されていると判断したときは、9600bpsの通信速度でフレームの受信する処理に切り替える。9600bpsの通信速度のフレームの先頭には、通常は10個のAdditional BOFが連続して付加されている。Additional BOFの値は、非特許文献5で推奨されている「0xFF」であるとする。Additional_BOFが送信されるときは、図47で説明したように、1ビット目にスタートビット(値は「0」)が付加され、次に送信データである「0xFF」が続き、最後にストップビット(値は「1」)が付加される。つまり、Additional_BOFのビット列は送信時には「0111111111」となる。そして各ビットを反転した「1000000000」が実際に送信されるフレームとなる。よって、この場合は1ビット目のみが送信光としてパルス出力される。
次に、図52を参照しながら、9600bpsの通信速度におけるビットの送信間隔と115.2kbpsの通信速度における10ビット分の送信間隔とを比較する。図52は、9600bpsの通信速度におけるビットの送信間隔と115.2kbpsの通信速度における10ビット分の送信間隔との比較を示す説明図である。図52では、9600bpsの通信速度で送信されるビット列「1000000000」と、これを115.2kbpsの通信速度で受信した場合に認識されるビット列について説明する。
9600bpsの通信速度における1ビットの送信間隔は約100マイクロ秒である。つまり、上記のAdditional BOF(1000000000)の1ビット目の「1」と2ビット目の「0」との間隔は約100マイクロ秒である。また、115.2kbpsの通信速度における10ビット分の送信間隔は、約86.8マイクロ秒である。従って、上記Additional BOFの1ビット目の「1」と2ビット目の「0」との間隔は、115.2kbpsの通信速度における10ビット分(すなわち、送信データにスタートビットとストップビットが付加されたビット列)より大きくなる。従って、9600bpsの通信速度のAdditional BOFの1ビット目の「1」を、115.2kbpsの通信速度で受信した場合、「0xFF」というビット列を受信したものとして認識される。
そして、通信速度自動認識方法では、上記「0xFF」と認識したビット列を連続して7つ受信した場合は、9600bpsのフレームのAdditional BOFを受信していると判断する(非特許文献5参照)。そして、8つ目のAdditional BOF以降は、9600bpsの通信速度でフレームを受信する。これにより、その後に送信されるBOF(値は「0xC0」)を検出することが可能となる。
このように、Additional BOFの値が「0xFF」であれば、通信速度自動認識方法により、9600bpsの通信速度の応答フレームと115.2kbpsの通信速度の応答フレームとを自動識別して受信することができる。
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) 国際公開第2006/080330号パンフレット(公開日:平成18年(2006)8月3日)
上記で説明したように、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする通信機器は、IrDAプロトコルあるいはIrSimpleプロトコルを規定どおりにサポートする二次局と接続し、通信することができる。
しかしながら、A FieldおよびDestination Device Addressの両方がブロードキャストアドレスを示すブロードキャストフレームを受信したときにIrDAプロトコルのUAレスポンスを返信する、IrDAプロトコルを規定どおりにサポートしていない通信機器(以下、「応答レスポンス誤送信機器」と称す)が存在し、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする通信機器は、この応答レスポンス誤送信機器と通信を行うことができない。
(応答レスポンス誤送信機器である二次局が、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする一次局と接続するときの信号シーケンス(接続に失敗する例))
図53を参照しながら、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする通信機器と応答レスポンス誤送信機器との接続手順について説明する。図53は、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする通信機器が一次局として、上記応答レスポンス誤送信機器を相手に接続を試みるときの信号シーケンスである。
図38で説明したように、一次局は、まずIrSimpleプロトコルの接続要求であるSNRMコマンドを送信した後、二次局からのUAレスポンスを115.2kbpsの通信速度で待つ。
上述のとおり、上記SNRMコマンドのA FieldおよびDestination Device Addressはいずれもブロードキャストアドレスを示すので、IrDAプロトコルを規定どおりにサポートする二次局であれば、上記SNRMコマンドはブロードキャストフレームであると認識し、UAレスポンスを返信しない。しかし、上記応答レスポンス誤送信機器は上記SNRMコマンドをIrDAプロトコルのSNRMフレームであると誤って認識し、IrDAプロトコルのUAレスポンスを9600bpsの通信速度で送信する。
しかし、一次局は、115.2kbpsの通信速度でIrSimpleのUAレスポンスフレームを待っているため、9600bpsの通信速度で送信されたIrDAプロトコルのUAレスポンスを検出することはできない。従って、一次局は、二次局からの応答が無いと判断し、図41で説明したとおり、次にXIDコマンドを9600bpsの通信速度で送信する。
しかし、二次局は上記UAレスポンスを送信した時点で接続処理を完了するため、ネゴシエーションした速度で、次に送信されてくるはずのフレーム(すなわち、IrLAP層の上位層における接続要求フレーム)を待っている。そのため、二次局は、一次局が送信した9600bpsのXIDコマンドを検出することはできず、引き続きフレームの待ち状態が続く。
一方、一次局は、上記XIDコマンドに対する応答が無いので、図41で説明したとおり、再びIrSimpleプロトコルでの接続要求であるSNRMコマンドを送信する。しかし、二次局は引き続きIrLAP層の上位層における接続要求フレームを待っているため、応答できない。
上記のとおり、一次局および二次局のいずれも相手局のフレームを受信できず、最終的には、各局における処理のタイムアウトにより、接続が失敗して終了する。
以上のように、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする通信機器は、上記応答レスポンス誤送信機器と通信を行うことができない。
(応答レスポンス誤送信機器である二次局が、IrDAプロトコルのみを規定どおりにサポートする一次局と接続するときの信号シーケンス(接続に成功する例))
なお、二次局が応答レスポンス誤送信機器であっても、IrDAプロトコルのみを規定どおりにサポートする一次局とは接続することができる。図54を参照しながら、IrDAプロトコルのみを規定どおりにサポートする通信機器と応答レスポンス誤送信機器との接続手順について説明する。図54は、IrDAプロトコルのみを規定どおりにサポートする通信機器が一次局として、上記応答レスポンス誤送信機器を相手に接続を試みるときの信号シーケンスである。
図36で説明したように、一次局は、まずIrDAプロトコルの局発見コマンドであるXIDコマンドを送信した後、二次局からのXIDレスポンスを9600bpsの通信速度で待つ。これに対し、二次局は局発見レスポンスであるXIDレスポンスを9600bpsの通信速度で返信する。これにより、局発見シーケンスが終了する。次に、一次局は、二次局からのXIDレスポンスを受信後、接続シーケンスを開始するために、IrDAプロトコルの接続要求コマンドであるSNRMコマンドを送信する。IrDAプロトコルは、IrSimpleプロトコルとは異なり、SNRMコマンドを送信後は、115.2kbpsの通信速度ではなく9600bpsの通信速度で二次局からのレスポンスを待つ。二次局は、SNRMコマンドに対して、UAレスポンスを9600bpsの通信速度で返信するため、一次局はこのUAレスポンスを受信することができる。これにより、正常にIrLAP層までの接続を終了する。これに引き続き、SNRMコマンドおよびUAレスポンスで決定されたQoSに基づいた通信パラメータによって、IrLAP層より上位層での接続が行われる。
以上のように、IrDAプロトコルのみを規定どおりにサポートする通信機器は、上記応答レスポンス誤送信機器と通信を行うことができる。一方、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする通信機器は、IrSimpleプロトコルのSNRMコマンドを送信後、115.2kbpsの通信速度でIrSimpleのUAレスポンスフレームを待つ。そのため、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする通信機器は、9600bpsの通信速度でIrDAプロトコルのUAレスポンスを送信する上記応答レスポンス誤送信機器と通信を行うことができない。
(通信速度自動認識方法で正しく通信できない例)
上述のように、IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする一次局は、115.2kbpsの通信速度で二次局からのUAレスポンスを待っているため、9600bpsの通信速度のUAレスポンスを受信することができない。これに対して、図51で説明したように、二次局から送信される9600bpsの通信速度の応答フレームと115.2kbpsの通信速度の応答フレームとを一次局で自動識別して、いずれの通信速度であっても受信できる通信速度自動認識方法がある。図51で説明したように、Additional BOFの値が「0xFF」の場合であれば、通信速度自動認識方法により、9600bpsの通信速度のUAレスポンスと115.2kbpsの通信速度のUAレスポンスとを自動識別して受信することができる。しかし、Additional BOFの値を「0xFF」とすることは推奨されているにすぎず(非特許文献1参照)、現在、Additional BOFの値が「0xFF」ではないフレームを送信する通信機器が多く出回っている。Additional BOFの値が「0xFF」ではないフレームが送信される場合、通信速度自動認識方法では9600bpsの通信速度で送信されるBOFを正常に検出することができない場合がある。
図55を参照しながら、9600bpsの通信速度で送信されるBOFを正常に検出することができない例を説明する。図55は、非特許文献5に記載の通信速度自動認識方法により、9600bpsの通信速度で送信されるBOFを正常に検出することができないことを示す説明図である。図55では、9600bpsの通信速度で、Additional BOF(値は「0x00」)、BOF(値は「0xC0」)、そしてIrLAP Data(値は「0x01」)が順次送信された例を示している。
図52で説明したように、9600bpsの通信速度における1ビットの送信間隔は、115.2kbpsの通信速度における10ビット分の送信間隔よりも大きい。よって、9600bpsの通信速度で送信されるAdditional BOF(値は「0x00」)を115.2kbpsの通信速度で受信すると、パルスごとに「0xFF」というビット列を受信したと認識される。そして、この場合、パルスが7つ連続して送信されるため、受信側では7つ連続して「0xFF」というビット列を受信したと認識する。従って、通信速度自動認識方法では、1つ目のAdditional BOFの7ビット目を受信したところで、9600bpsの通信速度のフレームを受信していると判断し、それ以降は、9600bpsの通信速度でフレームを受信する。そして、例えば、Additional BOFの9ビット目のパルスから9600bpsの通信速度で受信してデータをサンプリングする場合、BOFの8ビット目を受信した時点で、受信側では「1011111110」すなわち「0x01」というビット列を受信したと認識することになる。そのため、BOFが送信されているにも関わらず、受信側はBOFを認識することができない。従って、受信側はフレームの開始位置を正しく検出できず、それ以降に受信するデータを正しく認識することができない。
このように、通信速度自動認識方法を用いた場合であっても、二次局が9600bpsの通信速度で送信するAdditional BOFの値が「0xFF」でないときに、一次局は受信データを正しく認識できないことがあり、その結果、応答レスポンス誤送信機器と正常に通信することができない場合がある。
上記に限らず、複数の通信プロトコルをサポートする通信システムにおいて、二次局からの応答レスポンスの通信速度が異なる第1のプロトコルおよび第2のプロトコルの両方を規定どおりにサポートする通信機器が、最初に第2のプロトコルの接続要求コマンドを送信した場合に、二次局である第1のプロトコルのみをサポートする通信機器が、誤って第1のプロトコルの応答レスポンスを返信することにより、接続を確立できない場合がある。
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、2種類の通信プロトコルの一方に対応する接続要求コマンドを受信したときに、他方の通信プロトコルに対応する応答レスポンスを返信する、当該他方の通信プロトコルをサポートする通信機器と通信を行うことができる、2種類の通信プロトコルの両方をサポートする通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録した記録媒体を提供することにある。
上記課題を解決するために、本発明に係る通信機器は、二次局と通信する一次局としての通信機器であって、第1の接続処理コマンドを送信する第1のプロトコル制御手段と、第2の接続処理コマンドを送信する第2のプロトコル制御手段と、第1の接続処理コマンドに対する第1の応答レスポンスと、第1の応答レスポンスとは識別が可能な、第2の接続処理コマンドに対する第2の応答レスポンスとのいずれをも受信し、受信した応答レスポンスを解析した結果を基に、該受信した応答レスポンスが第1の応答レスポンスであるか、または、第2の応答レスポンスであるかを判定する通信プロトコル解析手段と、上記通信プロトコル解析手段が、受信した応答レスポンスを第1の応答レスポンスであると判定した場合、上記第1のプロトコル制御手段により二次局との接続を行い、上記通信プロトコル解析手段が、受信した応答レスポンスを第2の応答レスポンスであると判定した場合、上記第2のプロトコル制御手段により二次局との接続を行うプロトコル制御手段とを備えることを特徴としている。
また、本発明に係る通信方法は、第1の接続処理コマンドを送信する第1のプロトコル制御ステップと、第2の接続処理コマンドを送信する第2のプロトコル制御ステップと、第1の接続処理コマンドに対する第1の応答レスポンスと、第1の応答レスポンスとは識別が可能な、第2の接続処理コマンドに対する第2の応答レスポンスとのいずれをも受信し、受信した応答レスポンスを解析した結果を基に、該受信した応答レスポンスが第1の応答レスポンスであるか、または、第2の応答レスポンスであるかを判定する通信プロトコル解析ステップと、上記通信プロトコル解析ステップが、受信した応答レスポンスを第1の応答レスポンスであると判定した場合、上記第1のプロトコル制御ステップにより二次局との接続を行い、上記通信プロトコル解析ステップが、受信した応答レスポンスを第2の応答レスポンスであると判定した場合、上記第2のプロトコル制御ステップにより二次局との接続を行うプロトコル制御ステップとを含むことを特徴としている。
上記の構成によれば、一次局は、二次局が第1または第2のプロトコルのいずれをサポートしている場合でも接続できるように、二次局から返信される応答レスポンスが第1のプロトコルに対応するものである場合、または、第2のプロトコルに対する場合のいずれでも、応答レスポンスを受信する。そして、一次局は、受信した応答レスポンスを解析した結果に基づき、該応答レスポンスが第1の応答レスポンスであると判定すれば、二次局がサポートしているのは第1のプロトコルであると判断し、第1のプロトコルにより接続処理を進める。一方、上記解析結果に基づき、該応答レスポンスが第2の応答レスポンスであると判定すれば、二次局がサポートしているのは第2のプロトコルであると判断し、第2のプロトコルにより接続処理を進める。
なお、第1の応答レスポンスと第2の応答レスポンスとが、それぞれの通信速度により識別可能である場合は、通信速度を基に応答レスポンスを解析すればよい。また、第1の応答レスポンスと第2の応答レスポンスとが、それぞれのフレーム構造により識別可能である場合は、フレーム構造を基に応答レスポンスを解析すればよい。また、第1の応答レスポンスと第2の応答レスポンスとが、それぞれのフレーム構造が同じであっても、所定のフィールドに書き込まれたデータにより識別可能である場合は、該所定のフィールドに書き込まれたデータを基に応答レスポンスを解析すればよい。
よって、二次局が、(a)第1のプロトコルを規定どおりにサポートし、第1のプロトコルに対応する応答レスポンスを送信する場合、(b)第2のプロトコルを規定どおりにサポートし、第2のプロトコルに対応する応答レスポンスを送信する場合、(c)第1および第2のプロトコルを規定どおりにサポートし、かつ、第2のプロトコルを優先させるため第2のプロトコルに対応する応答レスポンスを送信する場合、(d)最初に第2の接続処理コマンドを受信したときに第1のプロトコルの応答レスポンスを返信する応答レスポンス誤送信機器の場合のいずれであっても、一次局が二次局からの応答レスポンスを受信し、確実に接続処理を進めることができる。
したがって、一次局は、二次局と確実に接続することができるという効果を奏する。特に、上記通信機器または通信方法は、応答レスポンス誤送信機器と第1のプロトコルにて確実に接続することができるという効果を奏する。
さらに、本発明に係る通信機器は、上記の構成において、第1の応答レスポンスの通信速度と第2の応答レスポンスの通信速度とが異なる場合に、上記通信プロトコル解析手段は、第1の応答レスポンスの通信速度で応答レスポンスを受信し、受信した応答レスポンスから第1の応答レスポンスの通信速度で第1の所定フレームを検出する第1のプロトコル受信手段と、第2の応答レスポンスの通信速度で応答レスポンスを受信し、受信した応答レスポンスから第2の応答レスポンスの通信速度で第2の所定フレームを検出する第2のプロトコル受信手段と、上記第1のプロトコル受信手段が第1の所定フレームを検出したとき、受信した応答レスポンスを第1の応答レスポンスであると判定し、上記第2のプロトコル受信手段が第2の所定フレームを検出したとき、受信した応答レスポンスを第1の応答レスポンスであると判定する通信プロトコル判定手段とを備える構成としてもよい。
上記の構成によれば、さらに、第1の応答レスポンスの通信速度と第2の応答レスポンスの通信速度とが異なる場合、一次局は、二次局が第1または第2のプロトコルのいずれに対応する応答レスポンスを送信しても受信できるように、一方では、第1の応答レスポンスの通信速度で二次局からの応答レスポンスを待ち、同時にもう一方では、第2の応答レスポンスの通信速度で二次局からの応答レスポンスを待つ。そして、それぞれの通信速度で受信した応答レスポンスを解析して所定フレームの検出を試みる。
そして、第1の所定フレームを検出したときは、該応答レスポンスが第1の応答レスポンスの通信速度で送信されたものであると判定し、二次局がサポートしているのは第1のプロトコルであると判断するので、第1のプロトコルにより接続処理を進める。一方、第2の所定フレームを検出したときは、該応答レスポンスが第2の応答レスポンスの通信速度で送信されたものであると判定し、二次局がサポートしているのは第2のプロトコルであると判断するので、第2のプロトコルにより接続処理を進める。
よって、第1の応答レスポンスの通信速度と第2の応答レスポンスの通信速度とが異なる場合、二次局から送信される応答レスポンスが第1または第2のプロトコルのいずれに対応するものであっても、一次局は応答レスポンスを確実に受信することができる。
したがって、一次局は、二次局と確実に接続することができるという効果を奏する。特に、上記通信機器は応答レスポンス誤送信機器と第1のプロトコルにて確実に接続することができるという効果を奏する。
さらに、本発明に係る通信機器は、上記の構成において、上記通信プロトコル解析手段は、受信した第1の応答レスポンスのフレーム構造、および、受信した第2の応答レスポンスのフレーム構造を解析し、第1および第2の所定フィールドを検出する受信フレーム構造解析手段と、上記受信フレーム構造解析手段が第1の所定フィールドを検出したとき、受信した応答レスポンスを第1の応答レスポンスであると判定し、上記受信フレーム構造解析手段が第2の所定フィールドを検出したとき、受信した応答レスポンスを第2の応答レスポンスであると判定する通信プロトコル判定手段とを備える構成としてもよい。
上記の構成によれば、さらに、一次局は、受信した応答レスポンスのフレームを解析し、第1または第2の所定フィールドの検出を行う。また、第2の応答レスポンスの通信速度で受信した応答レスポンスのフレーム構造を解析し、第1または第2の所定フィールドの検出を行う。
そして、第1の所定フィールドを検出したときは、該応答レスポンスが第1の応答レスポンスであると判定し、二次局がサポートしているのは第1のプロトコルであると判断するので、第1のプロトコルにより接続処理を進める。一方、第2の所定フィールドを検出したときは、該応答レスポンスが第2の応答レスポンスであると判定し、二次局がサポートしているのは第2のプロトコルであると判断するので、第2のプロトコルにより接続処理を進める。
よって、第1の応答レスポンスの通信速度と第2の応答レスポンスの通信速度とが同じであっても、第1の応答レスポンスのフレーム構造と第2の応答レスポンスのフレーム構造とが異なる場合、一次局は、二次局から送信される応答レスポンスを確実に受信することができる。
さらに、第1の応答レスポンスの通信速度と第2の応答レスポンスの通信速度とが異なり、かつ、第1の応答レスポンスのフレーム構造と第2の応答レスポンスのフレーム構造とが異なる場合は、それぞれの通信速度で受信した応答レスポンスを解析して所定フレームの検出を試みる通信速度による解析と、それぞれの応答レスポンスのフレーム構造を解析して所定フィールドの検出を行うフレーム構造による解析とを組み合わせてもよい。これにより、第1の応答レスポンスであるか、または、第2の応答レスポンスであるかの判定をさらに確実に行うことができるので、一次局は、二次局から送信される応答レスポンスをより確実に受信することができる。
したがって、一次局は、二次局と確実に接続することができるという効果を奏する。特に、上記通信機器は応答レスポンス誤送信機器と第1のプロトコルにて確実に接続することができるという効果を奏する。
さらに、本発明に係る通信機器は、上記の構成において、上記通信プロトコル解析手段が、受信した応答フレームを第1の応答フレームであると判定した場合、第1のプロトコルでの同一レイヤおよび上位レイヤにおける接続処理を行い、受信した応答フレームを第2の応答フレームであると判定した場合、第2のプロトコルでの同一レイヤおよび上位レイヤにおける接続処理を行う構成としてもよい。
上記の構成によれば、さらに、一次局は、二次局からの応答フレームが第1のプロトコルに対応していると判定した場合、続いて第1のプロトコルでの接続処理を行い、第1のプロトコルでのデータ交換処理を行う。また、一次局は、二次局からの応答フレームが第2のプロトコルに対応していると判定した場合、続いて第2のプロトコルでの接続処理を行い、第2のプロトコルでのデータ交換処理を行う。
よって、二次局から受信した応答フレームが対応するプロトコルで、その後の接続処理およびデータ交換処理が行われる。
したがって、一次局は、二次局とデータ通信することができるという効果を奏する。特に、上記通信機器は応答レスポンス誤送信機器と第1のプロトコルにて確実にデータ通信することができるという効果を奏する。
さらに、本発明に係る通信機器は、上記の構成において、上記第1のプロトコルがIrDAプロトコルであり、上記第2のプロトコルがIrSimpleプロトコルである構成としてもよい。
上記の構成によれば、さらに、一次局は、二次局がIrDAまたはIrSimpleプロトコルのいずれをサポートしている場合でも接続できるように、二次局から返信される応答レスポンスがIrDAプロトコルに対応するものである場合、または、IrSimpleプロトコルに対する場合のいずれでも、応答レスポンスを受信する。さらに一次局は、受信した応答レスポンスを解析した結果、該応答レスポンスがIrDAプロトコルに対応する応答レスポンスであると判別できれば、二次局はIrDAプロトコルをサポートしていると判断し、IrDAプロトコルにより接続処理を進める。一方、受信した応答レスポンスを解析した結果、該応答レスポンスがIrSimpleプロトコルに対応する応答レスポンスであると判別できれば、二次局はIrSimpleプロトコルをサポートしていると判断し、IrSimpleプロトコルにより接続処理を進める。
よって、二次局が、(a)IrDAプロトコルを規定どおりにサポートし、IrDAプロトコルに対応する応答レスポンスを送信する場合、(b)IrSimpleプロトコルを規定どおりにサポートし、IrSimpleプロトコルに対応する応答レスポンスを送信する場合、(c)IrDAおよびIrSimpleプロトコルを規定どおりにサポートし、かつ、IrSimpleプロトコルを優先させるためIrSimpleプロトコルに対応する応答レスポンスを送信する場合、(d)最初にIrSimpleの接続要求コマンドを受信したときにIrDAプロトコルに対応する応答レスポンスを返信する応答レスポンス誤送信機器の場合のいずれであっても、一次局が上記二次局からの応答レスポンスを受信し、確実に接続処理を進めることができる。
したがって、上記通信機器は、二次局と確実に接続することができるという効果を奏する。特に、上記通信機器は応答レスポンス誤送信機器とIrDAプロトコルにて確実に接続することができるという効果を奏する。
さらに、本発明に係る通信システムは、上記通信機器を搭載し、該通信機器によって他の通信装置と通信することを特徴とする通信装置と、該他の通信装置とを備えることを特徴としている。
よって、二次局が、(a)第1のプロトコルを規定どおりにサポートし、第1の応答レスポンスを送信する場合、(b)第2のプロトコルを規定どおりにサポートし、第2の応答レスポンスを送信する場合、(c)第1および第2のプロトコルを規定どおりにサポートし、かつ、第2のプロトコルを優先させるため第2の応答レスポンスを送信する場合、(d)最初に第2の接続要求コマンドを受信したときに第1の応答レスポンスを返信する応答レスポンス誤送信機器の場合のいずれであっても、一次局が上記二次局からの応答レスポンスを受信し、確実に接続処理を進めることができる。
したがって、上記通信システムでは、一次局と二次局とが確実に接続することができるという効果を奏する。
なお、上記通信機器は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記通信機器をコンピュータにて実現させる通信機器の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
また、上記通信機器は、上記の各手段として機能する通信回路によって実現してもよい。
なお、上記通信プロトコル解析手段は、第1の応答レスポンスの通信速度と第2の応答レスポンスの通信速度とが異なる場合に、受信した第1の応答レスポンスのフレーム構造を解析し、第1の所定フィールドを検出する第1の受信フレーム構造解析手段と、受信した第2の応答レスポンスのフレーム構造を解析し、第2の所定フィールドを検出する第2の受信フレーム構造解析手段と、上記第1の受信フレーム構造解析手段が第1の所定フィールドを検出したとき、受信した応答レスポンスを第1の応答レスポンスであると判定し、上記第2の受信フレーム構造解析手段が第2の所定フィールドを検出したとき、受信した応答レスポンスを第2の応答レスポンスであると判定する通信プロトコル判定手段とを備える構成としてもよい。
また、上記通信プロトコル解析手段は、第1の応答レスポンスの通信速度と第2の応答レスポンスの通信速度とが同じ場合に、第1の応答レスポンスと第2の応答レスポンスとをいずれも受信し、受信した応答レスポンスのフレームから所定フィールドを検出する受信フレーム構造解析手段と、上記検出結果を基に、受信した応答レスポンスを第1の応答レスポンスと判定するか、または、第2の応答レスポンスであると判定する通信プロトコル判定手段とを備える構成としてもよい。
以上のように、本発明に係る通信機器は、第1の接続処理コマンドを送信する第1のプロトコル制御手段と、第2の接続処理コマンドを送信する第2のプロトコル制御手段と、第1の接続処理コマンドに対する第1の応答レスポンスと、第1の応答レスポンスとは識別が可能な、第2の接続処理コマンドに対する第2の応答レスポンスとのいずれをも受信し、受信した応答レスポンスを解析した結果を基に、該受信した応答レスポンスは第1の応答レスポンスであるか、または、第2の応答レスポンスであるかを判定する通信プロトコル解析手段と、上記通信プロトコル解析手段が第1の応答レスポンスであると判定した場合、上記第1のプロトコル制御手段により二次局との接続を行い、上記通信プロトコル解析手段が第2の応答レスポンスであると判定した場合、上記第2のプロトコル制御手段により二次局との接続を行うプロトコル制御手段とを備えている。
また、本発明に係る通信方法は、第1の接続処理コマンドを送信する第1のプロトコル制御ステップと、第2の接続処理コマンドを送信する第2のプロトコル制御ステップと、第1の接続処理コマンドに対する第1の応答レスポンスと、第1の応答レスポンスとは識別が可能な、第2の接続処理コマンドに対する第2の応答レスポンスとのいずれをも受信し、受信した応答レスポンスを解析した結果を基に、該受信した応答レスポンスは第1の応答レスポンスであるか、または、第2の応答レスポンスであるかを判定する通信プロトコル解析ステップと、上記通信プロトコル解析ステップが第1の応答レスポンスであると判定した場合、上記第1のプロトコル制御ステップにより二次局との接続を行い、上記通信プロトコル解析ステップが第2の応答レスポンスであると判定した場合、上記第2のプロトコル制御ステップにより二次局との接続を行うプロトコル制御ステップとを含んでいる。
よって、二次局が、(a)第1のプロトコルを規定どおりにサポートし、第1のプロトコルに対応する応答レスポンスを送信する場合、(b)第2のプロトコルを規定どおりにサポートし、第2のプロトコルに対応する応答レスポンスを送信する場合、(c)第1および第2のプロトコルを規定どおりにサポートし、かつ、第2のプロトコルを優先させるため第2のプロトコルに対応する応答レスポンスを送信する場合、(d)最初に第2の接続処理コマンドを受信したときに第1のプロトコルの応答レスポンスを返信する応答レスポンス誤送信機器の場合のいずれであっても、二次局から返信される応答レスポンスを受信し、受信した応答レスポンスを解析した結果に基づき、該応答レスポンスが対応するプロトコルを判定するので、確実に接続処理を進めることができる。
したがって、一次局は、二次局と確実に接続することができるという効果を奏する。特に、上記通信機器または通信方法は、応答レスポンス誤送信機器と第1のプロトコルにて確実に接続することができるという効果を奏する。
実施の形態において、具体例を挙げて説明する場合、実施の形態に係る通信機器が一次局として動作する形態について説明する。もちろん、該通信機器は二次局として動作してもよい。
実施の形態において、具体例を挙げて説明する場合、第1のプロトコルをIrDAとし、第2のプロトコルをIrSimpleとして説明する。もちろん、第1のプロトコルはIrDAに限られるものではなく、また、第2のプロトコルはIrSimpleに限られるものではない。すなわち、第1のプロトコルと第2のプロトコルとは、それぞれが送信するフレームを一次局において識別することが可能であればよい。例えば、二次局が送信し、1次局が受信するフレームである応答レスポンスにおいて、第1のプロトコルに対応する応答レスポンスの通信速度と第2のプロトコルに対応する応答レスポンスの通信速度とが異なるものであればよい。また、例えば、第1のプロトコルに対応する応答レスポンスのフレーム構造と第2のプロトコルに対応する応答レスポンスのフレーム構造とに差異があればよい。また、例えば、フレーム構造が同じであっても、識別可能なデータが書き込まれていればよい。
また、実施の形態において、具体例を挙げて説明する場合、第1の所定フレームをBOFフィールドとし、第2の所定フレームをEOFフィールドとして説明する。もちろん、第1の所定フレームはBOFフィールドに限られるものではなく、また、第2の所定フレームはEOFフィールドに限られるものではない。
また、実施の形態において、具体例を挙げて説明する場合、所定フィールドをUpper User Dataとして説明する。
なお、実施の形態では、物理層、データリンク層、ネットワーク層、トランスポート層、セッション層+プレゼンテーション層を、それぞれ、PHY、IrLAP、IrLMP、IrSMP、OBEXと表記することがある。
〔実施の形態1〕
本発明の一実施形態に係る通信機器について図1から図5に基づいて説明すると以下の通りである。
(通信システムの全体構成)
図2を参照しながら、本実施形態に係る通信システム3aについて説明する。図2は、本実施形態に係る通信機器1aと通信機器2とを備える通信システム3aの構成を示すブロック図である。
通信機器1aは、例えば、撮像した画像データを通信機器2に送信するデジタルカメラや、メールデータ、アドレス帳データ、スケジュール帳データなどを通信機器2に送信する携帯電話機などである。通信機器2は、例えば、通信機器1aから受信した画像データを表示するテレビや、通信機器1aから受信したメールデータ、アドレス帳データ、スケジュール帳データなどを記録するPC(Personal Computer)などである。
また、通信機器2は、(1)IrDAプロトコルをサポートするが、「A Field」および「Destination Device Address」の両方がブロードキャストアドレスを示すフレーム(以下、「ブロードキャストフレーム」と称す)に対してUAレスポンスを返信する、IrDAプロトコルを規定どおりにサポートしていない通信機器(以下、「応答レスポンス誤送信機器」と称す)、(2)IrDAプロトコルのみを規定どおりにサポートする通信機器、(3)IrSimpleプロトコルのみを規定どおりにサポートする通信機器、(4)IrDAプロトコルおよびIrSimpleプロトコルの両方を規定どおりにサポートする通信機器のいずれかである。
図2に示すように、通信機器1aと通信機器2とは、赤外線を用いた無線通信にてデータを送信部80から受信部83へ、および、送信部82から受信部81へ送信し、相互に通信することが可能である。
送信部80、82は、例えば、赤外線を用いた無線通信にてデータを外部に送信できるものである。通信媒体として赤外線を用いる場合、送信部80、82は、例えばLED(発光ダイオード)やLD(レーザーダイオード)で構成される。なお、上記では、無線通信の方式として赤外線を挙げたが、それに限定されるものではない。
受信部81、83は、例えば、赤外線を用いた無線通信にてデータを外部から受信できるものである。通信媒体として赤外線を用いる場合、受信部81、83は、例えば、PD(フォトダイオード)で構成される。なお、上記では、無線通信の方式として赤外線を挙げたが、それに限定されるものではない。
また、通信機器1aは、通信ネットワーク900に接続されて、通信ネットワーク900を通じて図示しない外部の通信機器と通信が可能であってもよい。通信ネットワーク900に接続されている場合、通信機器1aは、図示しない外部の通信機器との間で、音声データ、メールデータ、画像データなどを送受信することができる。
なお、通信ネットワーク900としては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワーク900を構成する伝送媒体としては、特に限定されず、例えば、IEEE1394ケーブル、USBケーブル、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
(通信機器の構成)
次に、図1を参照しながら、通信機器1aの構成について説明する。図1は、本実施の一形態に係る通信機器1aの構成を示すブロック図である。図1に示すように通信機器1aは、主制御部10a、記憶部20、入力制御部40、入力装置41、送信部80、および受信部81とを備えて構成される。
主制御部10aは、入力制御部40、送信部80、および受信部81を制御するものである。主制御部10aは、記憶部20に記憶されたプログラムを実行することによって上記の制御を行うとともに、所定の演算処理を行うものである。所定の演算処理としては、例えば、他の通信機器との接続要求がある。主制御部10aは、例えば、記憶部20に記憶されたプログラムをロードする図示しないメモリ(例えばRAM(Random Access Memory))と、メモリにロードされたプログラムを実行する図示しないCPU(Central Processing Unit)によって実現される。上記メモリは、例えば半導体メモリで構成され、入力制御部40、送信部80、受信部81、およびCPUが処理を行うために必要なデータなどのデータを記憶する。主制御部10aの詳細な構成については後述する。
記憶部20は、例えば、主制御部10aのCPUで実行されるプログラム、プログラムで利用される設定データや入力データ、プログラムの実行によって得られたデータ、通信機器2に送信するデータなどを記憶するものであり、ROM(Read-Only Memory)やフラッシュメモリなどの不揮発性メモリなどで実現される。記憶部20に記憶するデータには、他の通信装置へ送信部80を介して送信するデータが含まれる。例えば、図示していない撮像装置から取り込まれた画像データ、入力装置41から入力されたメールデータ、アドレス帳データ、スケジュール帳データ、図示していないメール受信部により受信したメールデータ、画像データなどである。なお、記憶部20は、必ずしも通信機器1aに備えられる必要はなく、外部記憶装置として通信機器1aに接続される構成でもよい。
入力装置41は、通信機器1aの操作者の入力操作を受けつける入力装置であり、入力操作に応じた入力信号を入力制御部40に送信する。入力装置41は、例えば、通信機器1aの表面に設けられたボタン(キー)、スイッチ、タッチパネルなどの入力デバイスで構成される。操作者が入力装置41から入力操作を行うことにより、メール、アドレス帳、スケジュール帳などのデータを生成することができる。生成されたデータは、主制御部10aを経由して記憶部20に記憶される。なお、入力装置41が受けつける入力操作には、通信機器1aの操作者が送信しようとする画像データの選択、通信機器2との赤外線通信を開始するための赤外線通信開始指示などが含まれる。
入力制御部40は、通信機器1aの操作者の操作を受けつける入力装置41を制御し、操作者の入力操作に応じた入力信号を主制御部10aに送信する。
なお、図示しないが、表示装置、撮像装置、音声入力装置、音声出力装置などを通信機器1aの機能に応じて適宜選択して備えてもよい。例えば、通信機器1aをデジタルカメラに適用する場合には、撮像装置を設けて、撮像した画像を、主制御部10a、送信部80、受信部81による通信機能によって、通信機器2に送信するように構成することができる。また、例えば、通信機器1aを携帯電話機に適用する場合には、音声入力装置、音声出力装置、および通信ネットワーク900と接続するための外部通信制御部を設けて、受信した音声データやメールデータを、主制御部10a、送信部80、受信部81による通信機能によって、通信機器2に送信するように構成することができる。
次に、主制御部10aについて、詳細に説明する。主制御部10aは、IrLAP層処理部100と上位層処理部101と下位層処理部102と通信プロトコル解析部160aとを含んでいる。
IrLAP層処理部100は、プロトコル制御部110、タイマー120、送信要求コマンド解析部130、送信用上位層データ格納部140、IrSimpleプロトコル送信フレーム生成部150、IrDAプロトコル送信フレーム生成部151、IrSimpleプロトコル受信フレーム解析部170、IrDAプロトコル受信フレーム解析部171、受信用上位層データ格納部180、受信コマンド通知生成部190とを備えて構成される。
プロトコル制御部110は、IrLAP層のプロトコルを制御する。そのために、プロトコル制御部110は、IrDA-IrLAP制御部111、IrSimple-IrLAP制御部112、プロトコル切り替え部113を有する。
IrDA-IrLAP制御部111は、IrDA-IrLAPプロトコルによる通信を行う。そのために、IrDA-IrLAP制御部111は、局発見制御部1111、接続制御部1112、データ転送制御部1113、切断制御部1114を備える。局発見制御部1111は、IrDA-IrLAPプロトコルによる局発見処理を行う。接続制御部1112は、IrDA-IrLAPプロトコルによる接続処理を行う。データ転送制御部1113は、IrDA-IrLAPプロトコルによるデータ転送を行う。切断制御部1114は、IrDA-IrLAPプロトコルによる切断処理を行う。そして、IrDA-IrLAP制御部111は、接続時には、局発見制御部1111により局発見処理を行った上で接続制御部1112により接続処理を行い、データ転送時には、データ転送制御部1113によりデータ転送を行い、切断時には、切断制御部1114により切断処理を行う。
IrSimple-IrLAP制御部112は、IrSimple-IrLAPプロトコルによる通信を行う。そのために、IrSimple-IrLAP制御部112は、接続制御部1121、データ転送制御部1122、切断制御部1123を備える。接続制御部1121は、IrSimple-IrLAPプロトコルによる接続処理を行う。データ転送制御部1122は、IrSimple-IrLAPプロトコルによるデータ転送を行う。切断制御部1123は、IrSimple-IrLAPプロトコルによる切断処理を行う。そして、IrSimple-IrLAP制御部112は、接続時には、接続制御部1121により接続処理を行い、データ転送時には、データ転送制御部1122によりデータ転送を行い、切断時には、切断制御部1123により切断処理を行う。
プロトコル切り替え部113は、IrDA-IrLAP制御部111とIrSimple-IrLAP制御部112とを切り替える。つまり、通信機器2との接続を確立するとき、IrLAP層処理部100は、プロトコル切り替え部113の切り替え処理によって、まずIrSimpleプロトコルによる接続を試み、通信機器2からの応答が無ければ、次にIrDAプロトコルによる接続を試み、再び通信機器2からの応答が無ければ、次に再びIrSimpleプロトコルによる接続を試みる、という処理を繰り返す。
タイマー120は、プロトコル制御部110により、制御されるタイマーである。タイマー120は、例えば、プロトコル制御部110が接続処理のタイムアウトを判定する際に利用される。
また、プロトコル制御部110は、IrSimple-IrLAP制御部112による接続処理中に、後述する通信プロトコル解析部160aからIrDAプロトコルに対応するUAレスポンスを受信したという判定結果を受けた場合、IrDAプロトコルでの接続を行うため、IrSimple-IrLAP制御部112による接続処理を終了させ、IrLAP層までの接続処理を完了する。
同様に、プロトコル制御部110は、IrDA-IrLAP制御部111による接続処理中に、通信プロトコル解析部160aからIrSimpleプロトコルに対応するUAレスポンスを受信したという判定結果を受けた場合は、IrSimpleプロトコルでの接続を行うため、IrDA-IrLAP制御部111による接続処理を終了させ、接続処理を完了してもよい。
送信要求コマンド解析部130は、上位層(IrLMP層)からの送信要求コマンドを解析する。ここでいう送信要求コマンドとは、接続要求、データ転送要求、切断要求である。解析結果は、プロトコル制御部130に通知される。
送信用上位層データ格納部140は、上位層(IrLMP層)からの送信データを格納する。格納されたデータは、IrSimpleプロトコル送信フレーム生成部150またはIrDAプロトコル送信フレーム生成部151に渡され、送信フレーム内に配置される。
IrSimpleプロトコル送信フレーム生成部150は、IrSimpleプロトコルで規定されたフレームフォーマットに従って、下位層(PHY層)へ渡す送信フレームを生成する。送信用上位層データ格納部140から取得したデータおよび、プロトコル制御部110の指示に基づいて、送信データを予めIrSimpleプロトコルで規定されたフレームフォーマットに沿って配置し、送信フレームを生成する。またこのとき、二次局がエラー検出を行うためのエラー検出符号を送信フレームに付加する。エラー検出符号は、例えばCRCである。また、エラー訂正符号を送信フレームに付加してもよい。
IrDAプロトコル送信フレーム生成部151は、IrDAプロトコルで規定されたフレームフォーマットに従って、下位層(PHY層)へ渡す送信フレームを生成する。送信用上位層データ格納部140から取得したデータおよび、プロトコル制御部110の指示に基づいて、送信データを予めIrDAプロトコルで規定されたフレームフォーマットによって配置し、送信フレームを生成する。また、併せて、二次局がエラー検出を行うためのエラー検出符号を送信フレームに付加する。エラー検出符号は、例えばCRCである。また、エラー訂正符号を送信フレームに付加してもよい。
なお、図1では、IrSimpleプロトコル送信フレーム生成部150およびIrDAプロトコル送信フレーム生成部151との2つのプロトコル送信フレーム生成部を備える構成としているが、複数種類の通信プロトコルで通信する場合は、それぞれの通信プロトコルに対応するプロトコル送信フレーム生成部を備える構成とすればよい。
IrSimpleプロトコル受信フレーム解析部170は、通信プロトコル解析部160aより送信された受信フレームをIrSimpleプロトコルのフレームフォーマットに従って解析を行い、解析結果をプロトコル制御部110に通知する。また、受信フレームから抽出された上位層データを受信用上位層データ格納部180に格納する。なお、上位層データを受信用上位層データ格納部180に格納するとき、プロトコル制御部110を介して格納してもよい。
IrDAプロトコル受信フレーム解析部171は、通信プロトコル解析部160aより送信された受信フレームをIrDAプロトコルのフレームフォーマットに従って解析を行い、解析結果をプロトコル制御部110に通知する。また、受信フレームから抽出された上位層データを受信用上位層データ格納部180に格納する。なお、上位層データを受信用上位層データ格納部180に格納するとき、プロトコル制御部110を介して格納してもよい。
なお、図1では、IrSimpleプロトコル受信フレーム解析部170およびIrDAプロトコル受信フレーム解析部171との2つのプロトコル受信フレーム解析部を備える構成としているが、複数種類の通信プロトコルで通信する場合は、それぞれの通信プロトコルに対応するプロトコル受信フレーム解析部を備える構成とすればよい。
受信用上位層データ格納部180は、IrSimpleプロトコル受信フレーム解析部170またはIrDAプロトコル受信フレーム解析部171にて、抽出された上位層データを格納する。格納されたデータは、上位層(IrLMP層)へと渡される。
受信コマンド通知生成部190は、プロトコル制御部110からの受信コマンド通知生成要求により、受信コマンドを生成し、上位層(IrLMP層)へと通知する。ここでいう受信コマンドとは、接続要求受信コマンド、データ転送要求受信コマンド、切断要求受信コマンドである。
上位層処理部101は、受信用上位層データ格納部180からのデータと受信コマンド通知生成部190からの受信コマンドとを基にして、IrLAP層より上位層での処理を行う。
下位層処理部102は、IrSimpleプロトコル送信フレーム生成部150およびIrDAプロトコル送信フレーム生成部151からの送信フレームとを基にして、IrLAP層より下位層での処理を行う。
通信プロトコル解析部160aは、下位層処理部102から受信したフレームの解析を行い、IrSimpleプロトコルに対応しているフレームであるか、IrDAプロトコルに対応しているフレームであるかの判定を行い、判定結果をプロトコル制御部110に通知する。また、通信プロトコル解析部160aは、受信フレームがIrSimpleプロトコルに対応するフレームである場合には、受信フレームをIrSimpleプロトコル受信フレーム解析部170に送信し、受信フレームがIrDAプロトコルに対応するフレームである場合には、受信フレームをIrDAプロトコル受信フレーム解析部171に送信する。
図3を参照しながら、通信プロトコル解析部160aについて、詳細に説明する。図3は、通信プロトコル解析部160aの構成を示すブロック図である。図3に示すように通信プロトコル解析部160aは、IrSimpleプロトコルフレーム受信部610a、IrDAプロトコルフレーム受信部620a、および通信プロトコル判定部630aとを備えて構成される。
IrSimpleプロトコルフレーム受信部610aは、IrSimple-IrLAP制御部112が接続要求コマンドであるSNRMコマンドを送信後、115.2kbpsの通信速度で返信される応答レスポンスを受信できる状態となる。そして、115.2kbpsの通信速度で返信されるIrSimpleプロトコルのフレームを受信し、解析を行う。IrSimpleプロトコルフレーム受信部610aが受信するフレームは、背景技術で説明したとおり図49に示すフレームフォーマットに従う。すなわち、受信フレームはBOFとIrLAP DataとFCSとEOFとのフィールドを備えて構成される。そのために、IrSimpleプロトコルフレーム受信部610aは、IrSimpleプロトコルフレーム開始検出部611a、IrSimpleプロトコルフレーム終了検出部612a、IrSimpleプロトコル誤り検出部613aを備える。
IrSimpleプロトコルフレーム開始検出部611aは、受信したフレームのBOFフィールドの検出および除去を行う。そして、BOFフィールドを検出した場合は、フラグ検出信号を通信プロトコル判定部630aに送信する。同様に、IrSimpleプロトコルフレーム終了検出部612aは、受信したフレームのEOFフィールドの検出および除去を行う。そして、EOFフィールドを検出した場合は、フラグ検出信号を通信プロトコル判定部630aに送信する。
次に、BOFフィールドおよびEOFフィールドが検出された場合には、IrSimpleプロトコル誤り検出部613aが、受信したフレームのFCSフィールドの値を基にして受信したデータに伝送誤りが発生していないかどうかの判定を行う。そして、誤りを検出しなかった場合、IrSimpleプロトコル誤り検出部613aは、IrLAP Dataフィールドの抽出を行い、IrSimpleプロトコル受信フレーム解析部170へ抽出したデータを出力する。なお、IrSimpleプロトコルフレーム開始検出部611aまたはIrSimpleプロトコルフレーム終了検出部612aのいずれか片方のみが、フラグ検出信号を通信プロトコル判定部630aに送信してもよい。
同様に、IrDAプロトコルフレーム受信部620aは、IrSimple-IrLAP制御部112が接続要求コマンドであるSNRMコマンドを送信後、9600bpsの通信速度で返信される応答レスポンスを受信できる状態となる。そして、9600bpsの通信速度で返信されるIrDAプロトコルのフレームを受信し、解析を行う。IrDAプロトコルフレーム受信部620aが受信するフレームは、背景技術で説明したとおり図49に示すフレームフォーマットに従う。すなわち、受信フレームはBOFとIrLAP DataとFCSとEOFとのフィールドを備えて構成される。そのために、IrDAプロトコルフレーム受信部620aは、IrDAプロトコルフレーム開始検出部621a、IrDAプロトコルフレーム終了検出部622a、IrDAプロトコル誤り検出部623aを備える。
IrDAプロトコルフレーム開始検出部621aは、受信したフレームのBOFフィールドの検出および除去を行う。そして、BOFフィールドを検出した場合は、フラグ検出信号を通信プロトコル判定部630aに送信する。同様に、IrDAプロトコルフレーム終了検出部622aは、受信したフレームのEOFフィールドの検出および除去を行う。そして、EOFフィールドを検出した場合は、フラグ検出信号を通信プロトコル判定部630aに送信する。次に、BOFフィールドおよびEOFフィールドが検出された場合には、IrDAプロトコル誤り検出部623aが、受信したフレームのFCSフィールドの値を基にして受信したデータに伝送誤りが発生していないかどうかの判定を行う。
そして、誤りを検出しなかった場合、IrDAプロトコル誤り検出部623aは、IrLAP Dataフィールドの抽出を行い、IrDAプロトコル受信フレーム解析部171へ抽出したデータを出力する。なお、IrDAプロトコルフレーム開始検出部621aまたはIrDAプロトコルフレーム終了検出部622aのいずれか片方のみが、フラグ検出信号を通信プロトコル判定部630aに送信してもよい。
通信プロトコル判定部630aは、フラグ検出信号を受信し、受信したフラグ検出信号が、IrSimpleプロトコルフレーム開始検出部611a(または、IrSimpleプロトコルフレーム終了検出部612a)から送信されたものであると認識した場合は、通信機器2がIrSimpleプロトコルに対応した通信機器であると判定する。逆に、受信したフラグ検出信号が、IrDAプロトコルフレーム開始検出部621a(または、IrDAプロトコルフレーム終了検出部622a)から送信されたものであると認識した場合は、通信機器2が、誤ってIrDAプロトコルに対応する応答フレームを返信するIrDAプロトコルに対応した通信機器であると判定する。
そして、通信プロトコル判定部630aは、その判定結果をプロトコル制御部110へ通知する。この通知に基づき、プロトコル制御部110が応答レスポンス受信後の接続処理をIrSimpleプロトコルで行うか、または、IrDAプロトコルで行うかを制御する。具体的には、通信機器2がIrSimpleプロトコルに対応した通信機器であると判定した場合は、IrLAP層、IrLMP層、IrSMP層、OBEX層の接続が完了し、これ以降は、SNRMコマンドおよびUAレスポンスで決定されたQoSに基づいた通信パラメータによって、データ交換が行われる。また、通信機器2がIrDAプロトコルに対応した通信機器であると判定した場合は、IrLAP層までのIrDAプロトコルの接続が完了し、引き続きIrLMP、TinyTP、OBEXの接続が行われる。
(通信機器1aと通信機器2との接続処理の流れ)
次に、図4を参照しながら、一次局である通信機器1aが、通信機器1aの通信可能距離内にある通信機器2と接続する手順について説明する。図4は、通信機器1aが二次局からの応答に応じて接続処理を変更する処理の流れを示すフローチャートである。
通信機器1aの操作者が入力装置41から赤外線通信開始指示を入力すると、プロトコル切り替え部113は、まずIrSimple-IrLAP制御部112を最初に動作させ、IrSimpleプロトコルのSNRMコマンドを接続制御部1121から送信する(S1(第2のプロトコル制御ステップ))。通信機器2がIrSimpleプロトコルをサポートしている場合は、通信機器2は二次局としてSNRMコマンドに応答して、IrSimpleプロトコルに対応したUAレスポンスを返信する。
また、通信機器2がIrDAプロトコルおよびIrSimpleプロトコルの両方を規定どおりにサポートする場合は、IrSimpleプロトコルで接続することを優先するために、IrSimpleプロトコルに対応したUAレスポンスを返信する。また、通信機器2が応答レスポンス誤送信機器である場合は、SNRMコマンドに応答して、IrDAプロトコルに対応したUAレスポンスを返信する。
次に、IrSimpleプロトコルフレーム受信部610aおよびIrDAプロトコルフレーム受信部620aが二次局からの応答を待つ。応答があれば(S2にてYES)、IrSimpleプロトコルフレーム開始検出部611aまたはIrDAプロトコルフレーム開始検出部621aが受信フレームのBOFフィールドを検出するか、または、IrSimpleプロトコルフレーム終了検出部612aまたはIrDAプロトコルフレーム終了検出部622aが受信フレームのEOFフィールドを検出する。そして、検出信号を通信プロトコル判定部630aに送信し、通信プロトコル判定部630aがその検出信号に基づき、応答フレームが対応している通信プロトコルを判定する(S9およびS10(通信プロトコル解析ステップ))。
一方、所定の時間、応答がなければ(S2にてNO)、プロトコル切り替え部113がIrSimple-IrLAP制御部112に代えてIrDA-IrLAP制御部111を動作させ、IrDAプロトコルをサポートする二次局が通信機器1aの通信可能距離内に存在するかどうかを確認するために、1スロットのXIDコマンドを局発見制御部1111から送信する(S3(第1のプロトコル制御ステップ))。ここで、所定の時間とは、例えば、IrSimpleプロトコルで規定されている、50ミリ秒から85ミリ秒の時間である。
通信機器2がIrDAプロトコルをサポートしている場合は、通信機器2は二次局としてXIDコマンドに応答してXIDレスポンスを返信する。また、通信機器2がIrDAプロトコルおよびIrSimpleプロトコルの両方を規定どおりにサポートする場合は、IrSimpleプロトコルで接続することを優先するために、1回目の1スロットのXIDコマンドには応答しないように規定されている(非特許文献6参照)。よって、通信機器2がIrDAプロトコルおよびIrSimpleプロトコルの両方を規定どおりにサポートする場合は、応答フレームを返信しない。
次に、IrDAプロトコルフレーム受信部620aが二次局からの応答を待ち、応答があれば(S4にてYES)、IrDAプロトコルをサポートした通信機器2を発見したことになり、IrDA-IrLAP制御部111がIrDAプロトコルでの接続を行う(S11〜S12)。一方、所定の時間、応答がなければ(S4にてNO)、IrDAプロトコルで規定されているXID−Endコマンドを局発見制御部1111が送信し(S5(第1のプロトコル制御ステップ))、局発見コマンドの終了を通信可能距離内の二次局に伝える。
次に、プロトコル切り替え部113がIrDA-IrLAP制御部111に代えてIrSimple-IrLAP制御部112を動作させ、IrSimpleプロトコルのSNRMコマンドを接続制御部1121が送信する(S6(第2のプロトコル制御ステップ))。通信機器2がIrSimpleプロトコルをサポートしている場合は、通信機器2は二次局としてSNRMコマンドに応答して、IrSimpleプロトコルに対応したUAレスポンスを返信する。また、通信機器2がIrDAプロトコルおよびIrSimpleプロトコルの両方を規定どおりにサポートする場合は、IrSimpleプロトコルで接続することを優先するために、IrSimpleプロトコルに対応したUAレスポンスを返信する。また、通信機器2が応答レスポンス誤送信機器である場合は、SNRMコマンドに応答して、IrDAプロトコルに対応したUAレスポンスを返信する。
次に、IrSimpleプロトコルフレーム受信部610aおよびIrDAプロトコルフレーム受信部620aが二次局からの応答を待つ。応答があれば(S7にてYES)、IrSimpleプロトコルフレーム開始検出部611aまたはIrDAプロトコルフレーム開始検出部621aが受信フレームのBOFフィールドを検出するか、または、IrSimpleプロトコルフレーム終了検出部612aまたはIrDAプロトコルフレーム終了検出部622aが受信フレームのEOFフィールドを検出する。そして、検出信号を通信プロトコル判定部630aに送信し、通信プロトコル判定部630aがその検出信号に基づき、応答フレームがIrSimpleプロトコルに対応したUAレスポンスであるのか、または、IrDAプロトコルに対応したUAレスポンスであるのかを判定する(S9およびS10(通信プロトコル解析ステップ))。
一方、所定の時間、応答がなければ(S7にてNO)、ステップS1〜S7の繰り返しが満了したかどうかをプロトコル切り替え部113が判定し(S8)、繰り返しが満了していれば(S8にてYES)、二次局は発見されずに接続処理を終了する。
なお、繰り返しが満了したことの判定は、規定された回数だけ繰り返しを行ったことを判定してもよいし、接続手順を開始してからの経過時間をタイマー120により測定して判定してもよい(例えば、接続開始後5秒間だけ繰り返すなど)。
一方、繰り返しが満了していなければ(S8にてNO)、再度、プロトコル切り替え部113がIrSimple-IrLAP制御部112を動作させ、IrSimpleプロトコルのSNRMコマンドを接続制御部1121が送信する(S1(第2のプロトコル制御ステップ))。
また、IrSimpleプロトコルのSNRMコマンドに対して、通信機器2から応答があった場合(S2またはS7にてYES)、通信プロトコル判定部630aが上述の検出信号に基づき、受信した応答フレームがIrSimpleプロトコルに対応したUAレスポンスであるか否かの判定を行う(S9(通信プロトコル解析ステップ))。応答フレームがIrSimpleプロトコルに対応したUAレスポンスであれば(S9(通信プロトコル解析ステップ)にてYES)、IrSimpleプロトコルをサポートする通信機器2を二次局として発見したことになるので、通信機器1aの内部状態をIrSimpleプロトコルにて接続および通信を行うモード(以下、「IrSimpleプロトコル通信モード」と称する)とする。そして、判定結果をプロトコル制御部110に通知し、これにより、IrLAP層、IrLMP層、IrSMP層、OBEX層の接続が完了し、接続シーケンスを完了する。
一方、応答フレームがIrSimpleプロトコルに対応したUAレスポンスでなければ(S9(通信プロトコル解析ステップ)にてNO)、受信した応答フレームがIrDAプロトコルに対応したUAレスポンスであるか否かの判定を行う(S10(通信プロトコル解析ステップ))。応答フレームがIrDAプロトコルに対応したUAレスポンスであれば(S10(通信プロトコル解析ステップ)にてYES)、IrDAプロトコルをサポートする通信機器2を二次局として発見したことになる。そして、判定結果をプロトコル制御部110に通知し、IrLAP層までのIrDAプロトコルの接続を完了する。
また、応答フレームがIrDAプロトコルに対応したUAレスポンスでなければ(S10(通信プロトコル解析ステップ)にてNO)、通信機器2がサポートする通信プロトコルはIrSimpleプロトコルでもなく、IrDAプロトコルでもないことから、接続せずに接続シーケンスを終了する。
また、IrDAプロトコルのXIDコマンドに対して、通信機器2から応答があった場合(S4にてYES)、IrDAプロトコルで規定されているXID−Endコマンドを局発見制御部1111が送信し(S11(第1のプロトコル制御ステップ))、局発見コマンドの終了を通信可能距離内の二次局に伝える。これにより、IrDAプロトコルをサポートする通信機器2を二次局として発見したことになるので、通信機器1aの内部状態をIrDAプロトコルにて接続および通信を行うモード(以下、「IrDAプロトコル通信モード」と称する)とする。局発見が完了したので、次に、IrDAプロトコルに従ってIrLAP層の接続処理を行い(S12)、IrLAP層までの接続を完了し、接続シーケンスを終了する。
次に、二次局である通信機器2が、(1)IrDAプロトコルをサポートするが、ブロードキャストフレームに対してUAレスポンスを返信する応答レスポンス誤送信機器の場合、(2)IrSimpleプロトコルを規定どおりにサポートする場合、(3)IrDAプロトコルのみを規定どおりにサポートする場合、のそれぞれについて、通信機器1aと通信機器2との接続の流れを説明する。
(1)通信機器2が応答レスポンス誤送信機器の場合
図4を参照しながら、通信機器1aと応答レスポンス誤送信機器である通信機器2との接続の流れについて説明する。
接続制御部1121が送信したIrSimpleプロトコルのSNRMコマンド(S1(第2のプロトコル制御ステップ))は、ブロードキャストフレームでありIrDAプロトコルで規定されている正常なフレームではないが、通信機器2はIrDAプロトコルに対応したUAレスポンスを返信する。通信機器1aは、通信機器2からの応答があったので(S2にてYES)、応答フレームがIrSimpleプロトコルに対応したUAレスポンスであるかを判別する(S9(通信プロトコル解析ステップ))。
通信機器2から返信されたUAレスポンスはIrDAプロトコルに対応するものであり、IrSimpleプロトコルに対応したものではないため(S9(通信プロトコル解析ステップ)にてNO)、次に、受信した応答フレームがIrDAプロトコルに対応したUAレスポンスであるか否かの判別を行う(S10(通信プロトコル解析ステップ))。
そして、受信した応答フレームがIrDAプロトコルに対応したUAレスポンスであるので(S10(通信プロトコル解析ステップ)にてYES)、IrLAP層までのIrDAプロトコルの接続を完了し、接続シーケンスを終了する。さらに、図示しないがIrLAP層の接続が完了すると、上位層処理部101がIrLMP層、TinyTP層、OBEX層での接続を実行する。各層の接続が完了すると、通信機器1aは記憶部20に記憶しているデータをIrDAプロトコルにより通信機器2に送信することが可能となる。上記のように処理が進むことで、通信機器1aは、応答レスポンス誤送信機器である通信機器2と、IrDAプロトコルでの通信を行うことができる。
図5を参照しながら、通信機器1aと応答レスポンス誤送信機器である通信機器2との接続シーケンスについて説明する。図5は、通信機器1aと応答レスポンス誤送信機器である通信機器2とが接続を行うときの信号シーケンスである。
図5に示すように、一次局はIrSimpleプロトコルのSNRMコマンドを送信した後、9600bpsおよび115.2kbpsの通信速度で、二次局からのUAレスポンスを待つ。二次局は、上記SNRMコマンドに応答してIrDAプロトコルに対応したUAレスポンスを9600bpsの通信速度で送信する。一次局は、9600bpsおよび115.2kbpsの通信速度で、二次局からのUAレスポンスを待っているので、二次局から送信されたUAレスポンスを受信することができる。そして、二次局からのUAレスポンスがIrDAプロトコルに対応したUAレスポンスであるか否かを判別することができるので、IrLAP層までのIrDAプロトコルの接続を完了し、IrLMP層、TinyTP層、OBEX層での接続を実行する。
(2)通信機器2がIrSimpleプロトコルを規定どおりにサポートする場合
図4を参照しながら、通信機器1aとIrSimpleプロトコルを規定どおりにサポートする通信機器2との接続の流れについて説明する。なお、接続時の信号シーケンスは、背景技術で説明した図38に示す信号シーケンスと同じである。
通信機器2は、接続制御部1121が送信したIrSimpleプロトコルのSNRMコマンド(S1(第2のプロトコル制御ステップ))に応答し、IrSimpleプロトコルに対応したUAレスポンスを返信する。通信機器1aは、通信機器2からの応答があったので(S2にてYES)、応答フレームがIrSimpleプロトコルに対応したUAレスポンスであるかを判別する(S9(通信プロトコル解析ステップ))。
通信機器2から返信されたUAレスポンスは、IrSimpleプロトコルに対応したものであるため(S9(通信プロトコル解析ステップ)にてYES)、通信機器1aはIrSimpleプロトコルをサポートする通信機器2を二次局として発見したことになるので、通信機器1aの内部状態をIrSimpleプロトコル通信モードとする。これにより、IrLAP層、IrLMP層、IrSMP層、OBEX層の接続が完了し、接続シーケンスを完了する。上記のように処理が進むことで、通信機器1aは通信機器2とIrSimpleプロトコルでの通信を行うことができる。
(3)通信機器2がIrDAプロトコルのみを規定どおりにサポートする場合
図4を参照しながら、通信機器1aとIrDAプロトコルのみを規定どおりにサポートする通信機器2との接続の流れについて説明する。なお、接続時の信号シーケンスは、背景技術で説明した図43に示す信号シーケンスと同じである。
通信機器2は、接続制御部1121が送信したIrSimpleプロトコルのSNRMコマンド(S1(第2のプロトコル制御ステップ))がブロードキャストフレームであるため、応答しない。通信機器1aは、所定の時間(例えば、IrSimpleプロトコルで規定されている、50ミリ秒から85ミリ秒の時間)、通信機器2からの応答がないので(S2にてNO)、プロトコル切り替え部113がIrSimple-IrLAP制御部112に代えてIrDA-IrLAP制御部111を動作させ、IrDAプロトコルをサポートする二次局が通信機器1aの通信可能距離内に存在するかどうかを確認するために、1スロットのXIDコマンドを局発見制御部1111から送信する(S3(第1のプロトコル制御ステップ))。
通信機器2は二次局としてXIDコマンドに応答してXIDレスポンスを返信する。二次局からの応答があったので(S4にてYES)、通信機器1aはIrDAプロトコルをサポートした通信機器2を発見したことになり、IrDAプロトコルで規定されているXID−Endコマンドを局発見制御部1111が送信し(S11(第1のプロトコル制御ステップ))、局発見コマンドの終了を通信可能距離内の二次局に伝える。そして、局発見が完了したので、IrDAプロトコルに従ってIrLAP層の接続処理を行い(S12)、IrLAP層までの接続を完了し、接続シーケンスを終了する。上記のように処理が進むことで、通信機器1aは通信機器2とIrDAプロトコルでの通信を行うことができる。
なお、局発見制御部1111がXIDコマンドを送信した後、所定の時間、応答がなければ(S4にてNO)、IrDAプロトコルで規定されているXID−Endコマンドを局発見制御部1111が送信し(S5(第1のプロトコル制御ステップ))、局発見コマンドの終了を通信可能距離内の二次局に伝える。次に、プロトコル切り替え部113がIrDA-IrLAP制御部111に代えてIrSimple-IrLAP制御部112を動作させ、IrSimpleプロトコルのSNRMコマンドを接続制御部1121が送信する(S6(第2のプロトコル制御ステップ))。この場合にも所定の時間、応答がなければ(S7にてNO)、ステップS1〜S7の繰り返しが満了したかどうかをプロトコル切り替え部113が判定し(S8)、繰り返しが満了していれば(S8にてYES)、二次局は発見されずに接続処理を終了する。
以上のように、通信機器2が、(1)最初にIrSimpleの接続要求コマンドを受信したときにIrDAプロトコルに対応する応答レスポンスを返信する応答レスポンス誤送信機器の場合、(2)IrSimpleプロトコルのみを規定どおりにサポートし、IrSimpleプロトコルに対応する応答レスポンスを送信するか、または、IrDAおよびIrSimpleプロトコルを規定どおりにサポートし、かつ、IrSimpleプロトコルを優先させるためIrSimpleプロトコルに対応する応答レスポンスを送信する場合、(3)IrDAプロトコルのみを規定どおりにサポートし、IrDAプロトコルに対応する応答レスポンスを送信する場合のいずれであっても、本実施形態に係る通信機器1aが通信機器2からの応答レスポンスを受信し、確実に接続処理を進めることができる。
〔実施の形態2〕
実施の形態1の構成では、受信した応答レスポンスの通信速度に応じて通信プロトコルを判定するが、通信路の伝送品質が悪い場合には、受信したフレームのBOFフィールドまたはEOFフィールドが正しく検出できないことがある。その結果、通信プロトコルを正しく判定できないことがある。そこで、実施の形態1の構成に加え、さらに、受信した応答レスポンスのフレーム構造の解析を行う実施の形態について説明する。
本実施形態について図6から図8、および図4に基づいて説明すれば、以下の通りである。なお、説明の便宜上、実施の形態1にて示した各部材と同一の機能を有する部材には、同一の符号を付記し、その説明を省略する。
(通信システムの全体構成)
図6を参照しながら、本実施形態に係る通信システム3bについて説明する。図6は、本実施形態に係る通信機器である通信機器1bと通信機器2とを備える通信システム3bの構成を示すブロック図である。通信機器1bは、通信機器1aと同様のデジタルカメラや携帯電話機などであり、通信機器2と相互に通信することが可能である。また、通信機器1bは、通信ネットワーク900を通じて図示しない外部の通信機器と通信が可能であってもよい。
(通信機器の構成)
次に、図7を参照しながら、通信機器1bの構成について説明する。図7は通信機器1bの構成を示すブロック図である。図7に示すように、通信機器1bは、実施の形態1の通信機器1aとほぼ同様の部材を備えているが、主制御部10aに代えて主制御部10bを備えている。主制御部10bは、実施の形態1の主制御部10aとほぼ同様の部材を備えているが、通信プロトコル解析部160aに代えて通信プロトコル解析部160bを備えている。
図8を参照しながら、通信プロトコル解析部160bについて、詳細に説明する。図8は、通信プロトコル解析部160bの構成を示すブロック図である。図8に示すように通信プロトコル解析部160bは、IrSimpleプロトコルフレーム受信部610b、IrDAプロトコルフレーム受信部620b、通信プロトコル判定部630b、IrSimpleプロトコル受信フレームフィールド解析部640b、およびIrDAプロトコル受信フレームフィールド解析部650bとを備えて構成される。
IrSimpleプロトコルフレーム受信部610bは、IrSimple-IrLAP制御部112が接続要求コマンドであるSNRMコマンドを送信後、115.2kbpsの通信速度で返信される応答レスポンスを受信できる状態となる。そして、IrSimpleプロトコルフレーム受信部610bは、115.2kbpsの通信速度で返信されるIrSimpleプロトコルフレームを受信し、解析を行う。IrSimpleプロトコルフレーム受信部610bが受信するフレームは、背景技術で説明したとおり図49に示すフレームフォーマットに従う。すなわち、受信フレームはBOFとIrLAP DataとFCSとEOFとのフィールドを備えて構成される。そのために、IrSimpleプロトコルフレーム受信部610bは、IrSimpleプロトコルフレーム開始検出部611b、IrSimpleプロトコルフレーム終了検出部612b、およびIrSimpleプロトコル誤り検出部613bを備える。
IrSimpleプロトコルフレーム開始検出部611bは、受信したフレームのBOFフィールドの検出および除去を行う。同様に、IrSimpleプロトコルフレーム終了検出部612bは、受信したフレームのEOFフィールドの検出および除去を行う。次に、BOFフィールドおよびEOFフィールドが検出された場合には、IrSimpleプロトコル誤り検出部613bが、受信したフレームのFCSフィールドの値を基にして受信したデータに伝送誤りが発生していないかどうかの判定を行う。そして、誤りを検出しなかった場合、IrSimpleプロトコル誤り検出部613bはIrLAP Dataフィールドの抽出を行い、IrSimpleプロトコル受信フレームフィールド解析部640bへ抽出したデータを出力する。
IrSimpleプロトコル受信フレームフィールド解析部640bは、受信したデータのフレーム構造を解析し、所定のフィールドが存在するかどうかを調べる。そして、その結果を通信プロトコル判定部630bに送信する。所定のフィールドが存在するかどうか調べる方法については後述する。
同様に、IrDAプロトコルフレーム受信部620aは、9600bpsの通信速度で返信されるIrDAプロトコルフレームを受信し、解析を行う。そのために、IrDAプロトコルフレーム開始検出部621b、IrDAプロトコルフレーム終了検出部622b、およびIrDAプロトコル誤り検出部623bを備える。IrDAプロトコルフレーム開始検出部621bは、受信したフレームのBOFフィールドの検出および除去を行う。同様に、IrDAプロトコルフレーム終了検出部622bは、受信したフレームのEOFフィールドの検出および除去を行う。
次に、BOFフィールドおよびEOFフィールドが検出された場合には、IrDAプロトコル誤り検出部623bが、受信したフレームのFCSフィールドの値を基にして受信したデータに伝送誤りが発生していないかどうかの判定を行う。誤りを検出しなかった場合、IrDAプロトコル誤り検出部623bは、IrLAP Dataフィールドの抽出を行い、IrDAプロトコル受信フレームフィールド解析部650bへ抽出したデータを出力する。
IrDAプロトコル受信フレームフィールド解析部650bは、受信したデータの構造を解析し、所定のフィールドが存在するかどうかを調べる。そして、その結果を通信プロトコル判定部630bに送信する。所定のフィールドが存在するかどうか調べる方法については後述する。
通信プロトコル判定部630bでは、IrSimpleプロトコル受信フレームフィールド解析部640bまたはIrDAプロトコル受信フレームフィールド解析部650bから送信される結果を基に、受信フレームが対応している通信プロトコルを判定し、判定結果をプロトコル制御部110に通知する。すなわち、IrSimpleプロトコル受信フレームフィールド解析部640bから所定のフィールドが存在した旨の結果が送信された場合には、受信フレームが対応している通信プロトコルはIrSimpleプロトコルであると判定する。一方、IrDAプロトコル受信フレームフィールド解析部650bから所定のフィールドが存在した旨の結果が送信された場合には、受信フレームが対応している通信プロトコルはIrDAプロトコルであると判定する。
次に、IrSimpleプロトコル受信フレームフィールド解析部640bおよびIrDAプロトコル受信フレームフィールド解析部650bにおいて、所定のフィールドが存在するかどうか調べる方法を、例を挙げて説明する。
背景技術で説明したように、IrSimpleプロトコルに対応したUAレスポンスのフレームには、Upper User Dataという固有のフィールドが必ず存在するが、IrDAプロトコルに対応したUAレスポンスのフレームには、Upper User Dataフィールドが存在しない(図40および図46参照)。つまり、Upper User Dataフィールドが存在するかどうかを調べることにより、受信したフレームがIrSimpleプロトコルに対応したUAレスポンスフレームであるか、または、IrDAプロトコルに対応したUAレスポンスフレームであるかを判別することができる。
従って、IrSimpleプロトコル受信フレームフィールド解析部640bとIrDAプロトコル受信フレームフィールド解析部650bは、それぞれ受信したデータにUpper User Dataフィールドが存在するかどうかを調べる。そして、IrSimpleプロトコル受信フレームフィールド解析部640bがUpper User Dataフィールドを検出した場合は、その結果を通信プロトコル判定部630bに送信する。一方、IrDAプロトコル受信フレームフィールド解析部650bがUpper User Dataフィールドを検出しなかった場合は、その結果を通信プロトコル判定部630bに送信する。
そして、通信プロトコル判定部630bは、IrSimpleプロトコル受信フレームフィールド解析部640bから結果が送信された場合には、受信したフレームがIrSimpleプロトコルに対応したUAレスポンスのフレームであると判定する。一方、通信プロトコル判定部630bは、IrDAプロトコル受信フレームフィールド解析部650bから結果が送信された場合には、受信したフレームがIrDAプロトコルに対応したUAレスポンスのフレームであると判定する。
(通信機器1bと通信機器2との接続処理の流れ)
次に、図4を参照しながら、一次局である通信機器1bが、通信機器1bの通信可能距離内にある通信機器2と接続する手順について説明する。図4は、通信機器1bが二次局からの応答に応じて接続処理を変更する処理の流れを示すフローチャートである。
通信機器1bの操作者が入力装置41から赤外線通信開始指示を入力すると、プロトコル切り替え部113は、まずIrSimple-IrLAP制御部112を最初に動作させ、IrSimpleプロトコルのSNRMコマンドを接続制御部1121から送信する(S1(第2のプロトコル制御ステップ))。
次に、IrSimpleプロトコルフレーム受信部610bおよびIrDAプロトコルフレーム受信部620bが二次局からの応答を待つ。応答があれば(S2にてYES)、IrSimpleプロトコルフレーム開始検出部611bが受信フレームのBOFフィールドを検出し、IrSimpleプロトコルフレーム終了検出部612bが受信フレームのEOFフィールドを検出し、IrSimpleプロトコル誤り検出部613b伝送誤りの判定を行い、IrSimpleプロトコル受信フレームフィールド解析部640bへ抽出したデータを出力する。または、IrDAプロトコルフレーム開始検出部621bが受信フレームのBOFフィールドを検出し、IrDAプロトコルフレーム終了検出部622bが受信フレームのEOFフィールドを検出し、IrDAプロトコル誤り検出部623bが伝送誤りの判定を行い、IrDAプロトコル受信フレームフィールド解析部650bへ抽出したデータを出力する。
そして、IrSimpleプロトコル受信フレームフィールド解析部640bとIrDAプロトコル受信フレームフィールド解析部650bは、それぞれ受信したデータにUpper User Dataフィールドが存在するかどうかを調べ、その結果を通信プロトコル判定部630bに送信する。そして、通信プロトコル判定部630bがその結果に基づき、応答フレームが対応している通信プロトコルを判定する(S9およびS10(通信プロトコル解析ステップ))。
一方、所定の時間、応答がなければ(S2にてNO)、プロトコル切り替え部113がIrSimple-IrLAP制御部112に代えてIrDA-IrLAP制御部111を動作させ、IrDAプロトコルをサポートする二次局が通信機器1bの通信可能距離内に存在するかどうかを確認するために、1スロットのXIDコマンドを局発見制御部1111から送信する(S3(第1のプロトコル制御ステップ))。ここで、所定の時間とは、例えば、IrSimpleプロトコルで規定されている、50ミリ秒から85ミリ秒の時間である。
通信機器2がIrDAプロトコルをサポートしている場合は、通信機器2は二次局としてXIDコマンドに応答してXIDレスポンスを返信する。また、通信機器2がIrDAプロトコルおよびIrSimpleプロトコルの両方を規定どおりにサポートする場合は、IrSimpleプロトコルで接続することを優先するために、1回目の1スロットのXIDコマンドには応答しないように規定されている(非特許文献6参照)。よって、通信機器2がIrDAプロトコルおよびIrSimpleプロトコルの両方を規定どおりにサポートする場合は、応答フレームを返信しない。
次に、IrDAプロトコルフレーム受信部620bが二次局からの応答を待ち、応答があれば(S4にてYES)、IrDAプロトコルをサポートした通信機器2を発見したことになり、IrDA-IrLAP制御部111がIrDAプロトコルでの接続を行う(S11〜S12)。一方、所定の時間、応答がなければ(S4にてNO)、IrDAプロトコルで規定されているXID−Endコマンドを局発見制御部1111が送信し(S5(第1のプロトコル制御ステップ))、局発見コマンドの終了を通信可能距離内の二次局に伝える。
次に、プロトコル切り替え部113がIrDA-IrLAP制御部111に代えてIrSimple-IrLAP制御部112を動作させ、IrSimpleプロトコルのSNRMコマンドを接続制御部1121が送信する(S6(第2のプロトコル制御ステップ))。
通信機器2がIrSimpleプロトコルをサポートしている場合は、通信機器2は二次局としてSNRMコマンドに応答して、IrSimpleプロトコルに対応したUAレスポンスを返信する。また、通信機器2がIrDAプロトコルおよびIrSimpleプロトコルの両方を規定どおりにサポートする場合は、IrSimpleプロトコルで接続することを優先するために、IrSimpleプロトコルに対応したUAレスポンスを返信する。また、通信機器2が応答レスポンス誤送信機器である場合は、SNRMコマンドに応答して、IrDAプロトコルに対応したUAレスポンスを返信する。
次に、IrSimpleプロトコルフレーム受信部610bおよびIrDAプロトコルフレーム受信部620bが二次局からの応答を待つ。応答があれば(S7にてYES)、IrSimpleプロトコルフレーム開始検出部611bが受信フレームのBOFフィールドを検出し、IrSimpleプロトコルフレーム終了検出部612bが受信フレームのEOFフィールドを検出し、IrSimpleプロトコル誤り検出部613bが伝送誤りの判定を行い、IrSimpleプロトコル受信フレームフィールド解析部640bへ抽出したデータを出力する。または、IrDAプロトコルフレーム開始検出部621bが受信フレームのBOFフィールドを検出し、IrDAプロトコルフレーム終了検出部622bが受信フレームのEOFフィールドを検出し、IrDAプロトコル誤り検出部623bが伝送誤りの判定を行い、IrDAプロトコル受信フレームフィールド解析部650bへ抽出したデータを出力する。
そして、IrSimpleプロトコル受信フレームフィールド解析部640bとIrDAプロトコル受信フレームフィールド解析部650bは、それぞれ受信したデータにUpper User Dataフィールドが存在するかどうかを調べ、その結果を通信プロトコル判定部630bに送信する。そして、通信プロトコル判定部630bがその結果に基づき、応答フレームが対応している通信プロトコルを判定する(S9およびS10(通信プロトコル解析ステップ))。
一方、所定の時間、応答がなければ(S7にてNO)、ステップS1〜S7の繰り返しが満了したかどうかをプロトコル切り替え部113が判定し(S8)、繰り返しが満了していれば(S8にてYES)、二次局は発見されずに接続処理を終了する。繰り返しが満了したことの判定は、規定された回数だけ繰り返しを行ったことを判定してもよいし、接続手順を開始してからの経過時間をタイマー120により測定して判定してもよい(例えば、接続開始後5秒間だけ繰り返すなど)。一方、繰り返しが満了していなければ(S8にてNO)、再度、プロトコル切り替え部113がIrSimple-IrLAP制御部112を動作させ、IrSimpleプロトコルのSNRMコマンドを接続制御部1121が送信する(S1)。
また、IrSimpleプロトコルのSNRMコマンドに対して、通信機器2から応答があった場合(S2またはS7にてYES)、通信プロトコル判定部630bが、IrSimpleプロトコル受信フレームフィールド解析部640bまたはIrDAプロトコル受信フレームフィールド解析部650bから送信される結果に基づき、受信した応答フレームがIrSimpleプロトコルに対応したUAレスポンスであるか否かの判定を行う(S9(通信プロトコル解析ステップ))。応答フレームがIrSimpleプロトコルに対応したUAレスポンスであれば(S9(通信プロトコル解析ステップ)にてYES)、IrSimpleプロトコルをサポートする通信機器2を二次局として発見したことになるので、通信機器1aの内部状態をIrSimpleプロトコル通信モードとする。そして、判定結果をプロトコル制御部110に通知し、これにより、IrLAP層、IrLMP層、IrSMP層、OBEX層の接続が完了し、接続シーケンスを完了する。
一方、応答フレームがIrSimpleプロトコルに対応したUAレスポンスでなければ(S9(通信プロトコル解析ステップ)にてNO)、受信した応答フレームがIrDAプロトコルに対応したUAレスポンスであるか否かの判定を行う(S10(通信プロトコル解析ステップ))。応答フレームがIrDAプロトコルに対応したUAレスポンスであれば(S10(通信プロトコル解析ステップ)にてYES)、IrDAプロトコルをサポートする通信機器2を二次局として発見したことになる。そして、判定結果をプロトコル制御部110に通知し、IrLAP層までのIrDAプロトコルの接続を完了する。
また、応答フレームがIrDAプロトコルに対応したUAレスポンスでなければ(S10(通信プロトコル解析ステップ)にてNO)、通信機器2がサポートする通信プロトコルはIrSimpleプロトコルでもなく、IrDAプロトコルでもないことから、接続せずに接続シーケンスを終了する。
また、IrDAプロトコルのXIDコマンドに対して、通信機器2から応答があった場合(S4にてYES)、IrDAプロトコルで規定されているXID−Endコマンドを局発見制御部1111が送信し(S11(第1のプロトコル制御ステップ))、局発見コマンドの終了を通信可能距離内の二次局に伝える。これにより、IrDAプロトコルをサポートする通信機器2を二次局として発見したことになるので、通信機器1bの内部状態をIrDAプロトコル通信モードとする。局発見が完了したので、次に、IrDAプロトコルに従ってIrLAP層の接続処理を行い(S12)、IrLAP層までの接続を完了し、接続シーケンスを終了する。
なお、二次局である通信機器2が、(1)IrDAプロトコルをサポートするが、ブロードキャストフレームに対してUAレスポンスを返信する応答レスポンス誤送信機器の場合、(2)IrSimpleプロトコルを規定どおりにサポートする場合、(3)IrDAプロトコルのみを規定どおりにサポートする場合、のそれぞれにおいて、通信機器1bと接続するときの処理の流れは、実施の形態1で説明した、通信機器1aと通信機器2との接続の流れと同様である。
以上のとおり、本実施形態の構成では、IrSimpleプロトコル受信フレームフィールド解析部640bおよびIrDAプロトコル受信フレームフィールド解析部650bが送信する結果を基に、通信プロトコル判定部630bが通信プロトコルを判定する構成としている。つまり、本実施形態の構成は、実施の形態1の構成に加え、さらに受信フレームの構造を解析し、所定フィールドの有無を調べている。
よって、本実施形態の構成によれば、通信速度による通信プロトコルの判定とフレーム構造の解析による通信プロトコルの判定とを組み合わせて実施するため、実施の形態1の構成よりもさらに確実に通信プロトコルの判定を行うことができる。
すなわち、通信路の伝送品質が悪く、受信したフレームのBOFフィールドまたはEOFフィールドを正しく検出できないことにより、通信速度による通信プロトコルの判定が正しく実施できない場合でも、本実施形態の構成によれば、さらにフレーム構造の解析を行うため、より確実に通信プロトコルを判定することができる。
〔実施の形態3〕
実施の形態2は、受信した応答レスポンスのフレーム構造を解析するために、IrSimpleプロトコル受信フレームフィールド解析部640bとIrDAプロトコル受信フレームフィールド解析部650bとを備える構成であるが、フレーム構造を解析する部材は一つであってもよい。すなわち、受信したIrSimpleプロトコルに対応する応答レスポンスと受信したIrDAプロトコルに対応する応答レスポンスとのいずれの応答レスポンスのフレーム構造をも解析する部材を備える構成であってもよい。
本実施形態について図9から図11、および図4に基づいて説明すれば、以下の通りである。なお、説明の便宜上、実施の形態1および2にて示した各部材と同一の機能を有する部材には、同一の符号を付記し、その説明を省略する。
(通信システムの全体構成)
図9を参照しながら、本実施形態に係る通信機器を用いた通信システム3cについて説明する。図9は、本実施形態に係る通信機器である通信機器1cと通信機器2とを備える通信システム3cの構成を示すブロック図である。通信機器1cは、通信機器1aと同様のデジタルカメラや携帯電話機などであり、通信機器2と相互に通信することが可能である。また、通信機器1cは、通信ネットワーク900を通じて図示しない外部の通信機器と通信が可能であってもよい。
(通信機器の構成)
次に、図10を参照しながら、通信機器1cの構成について説明する。図10は通信機器1cの構成を示すブロック図である。図10に示すように、通信機器1cは、実施の形態2の通信機器1aとほぼ同様の部材を備えているが、主制御部10aに代えて主制御部10cを備えている。主制御部10cは、実施の形態1の主制御部10aとほぼ同様の部材を備えているが、通信プロトコル解析部160aに代えて通信プロトコル解析部160cを備えている。
図11を参照しながら、通信プロトコル解析部160cについて、詳細に説明する。図11は、通信プロトコル解析部160cの構成を示すブロック図である。図11に示すように通信プロトコル解析部160cは、IrSimpleプロトコルフレーム受信部610c、IrDAプロトコルフレーム受信部620c、通信プロトコル判定部630c、および受信フレームフィールド構造解析部640cとを備えて構成される。さらに、受信フレームフィールド構造解析部640cは、受信フレームフィールド解析部641c、および受信フレーム出力セレクタ部642cとを備えて構成される。
IrSimpleプロトコルフレーム受信部610cは、IrSimple-IrLAP制御部112が接続要求コマンドであるSNRMコマンドを送信後、115.2kbpsの通信速度で返信される応答レスポンスを受信できる状態となる。IrSimpleプロトコルフレーム受信部610cは、115.2kbpsの通信速度で返信されるIrSimpleプロトコルフレームを受信し、解析を行う。IrSimpleプロトコルフレーム受信部610cが受信するフレームは、背景技術で説明したとおり図49に示すフレームフォーマットに従う。すなわち、受信フレームはBOFとIrLAP DataとFCSとEOFとのフィールドを備えて構成される。そのために、IrSimpleプロトコルフレーム受信部610cは、IrSimpleプロトコルフレーム開始検出部611c、IrSimpleプロトコルフレーム終了検出部612c、およびIrSimpleプロトコル誤り検出部613cを備える。
IrSimpleプロトコルフレーム開始検出部611cは、受信したフレームのBOFフィールドの検出および除去を行う。同様に、IrSimpleプロトコルフレーム終了検出部612cは、受信したフレームのEOFフィールドの検出および除去を行う。次に、BOFフィールドおよびEOFフィールドが検出された場合には、IrSimpleプロトコル誤り検出部613cが、受信したフレームのFCSフィールドの値を基にして受信したデータに伝送誤りが発生していないかどうかの判定を行う。そして、誤りを検出しなかった場合、IrSimpleプロトコル誤り検出部613cはIrLAP Dataフィールドの抽出を行い、受信フレームフィールド解析部641cへ抽出したデータを出力する。
同様に、IrDAプロトコルフレーム受信部620cは、9600bpsの通信速度で返信されるIrDAプロトコルフレームを受信し、解析を行う。そのために、IrDAプロトコルフレーム開始検出部621c、IrDAプロトコルフレーム終了検出部622c、およびIrDAプロトコル誤り検出部623cを備える。IrDAプロトコルフレーム開始検出部621cは、受信したフレームのBOFフィールドの検出および除去を行う。同様に、IrDAプロトコルフレーム終了検出部622cは、受信したフレームのEOFフィールドの検出および除去を行う。
次に、BOFフィールドおよびEOFフィールドが検出された場合には、IrDAプロトコル誤り検出部623cが、受信したフレームのFCSフィールドの値を基にして受信したデータに伝送誤りが発生していないかどうかの判定を行う。誤りを検出しなかった場合、IrDAプロトコル誤り検出部623cは、IrLAP Dataフィールドの抽出を行い、受信フレームフィールド解析部641cへ抽出したデータを出力する。
受信フレームフィールド解析部641cは、IrSimpleプロトコル誤り検出部613cまたはIrDAプロトコル誤り検出部623cから受信したデータの構造を解析し、所定のフィールドが存在するかどうかを調べる。そして、その結果を通信プロトコル判定部630cに送信する。また、受信フレームフィールド解析部641cは、受信したデータをそのまま受信フレーム出力セレクタ部642cに送信する。
受信フレームフィールド解析部641cにおいて、所定のフィールドが存在するかどうか調べる方法は、実施の形態2のIrSimpleプロトコル受信フレームフィールド解析部640bおよびIrDAプロトコル受信フレームフィールド解析部650bにおいて、所定のフィールドが存在するかどうか調べる方法とほぼ同様である。すなわち、受信フレームフィールド解析部641cは、受信したデータにUpper User Dataフィールドが存在するかどうかを調べる。そして、Upper User Dataフィールドを検出した場合は、その結果を通信プロトコル判定部630cに送信する。一方、Upper User Dataフィールドを検出しなかった場合は、その結果を通信プロトコル判定部630cに送信する。
通信プロトコル判定部630cは、受信フレームフィールド解析部641cから、Upper User Dataフィールドを検出したという結果が送信されると、受信したフレームがIrSimpleプロトコルに対応したUAレスポンスのフレームであると判定する。一方、受信フレームフィールド解析部641cから、Upper User Dataフィールドを検出しなかったという結果が送信されると、通信プロトコル判定部630cは、受信したフレームがIrDAプロトコルに対応したUAレスポンスのフレームであると判定する。そして、判定結果を、受信フレーム出力セレクタ部642cおよびプロトコル制御部110に通知する。
受信フレーム出力セレクタ部642cは、通信プロトコル判定部630cからの判定結果に基づき、受信フレームフィールド解析部641cから受信したデータの出力先を切り替える。すなわち、判定結果がIrSimpleプロトコルに対応したUAレスポンスのフレームであるという内容であれば、受信したデータをIrSimpleプロトコル受信フレーム解析部170へ出力する。一方、判定結果がIrDAプロトコルに対応したUAレスポンスのフレームであるという内容であれば、受信したデータをIrDAプロトコル受信フレーム解析部171へ出力する。
(通信機器1cと通信機器2との接続処理の流れ)
次に、図4を参照しながら、一次局である通信機器1cが、通信機器1cの通信可能距離内にある通信機器2と接続する手順について説明する。図4は、通信機器1cが二次局からの応答に応じて接続処理を変更する処理の流れを示すフローチャートである。
通信機器1cの操作者が入力装置41から赤外線通信開始指示を入力すると、プロトコル切り替え部113は、まずIrSimple-IrLAP制御部112を最初に動作させ、IrSimpleプロトコルのSNRMコマンドを接続制御部1121から送信する(S1(第2のプロトコル制御ステップ))。
次に、IrSimpleプロトコルフレーム受信部610cおよびIrDAプロトコルフレーム受信部620cが二次局からの応答を待つ。応答があれば(S2にてYES)、IrSimpleプロトコルフレーム開始検出部611cが受信フレームのEOFフィールドを検出し、IrSimpleプロトコルフレーム終了検出部612cが受信フレームのBOFフィールドを検出し、IrSimpleプロトコル誤り検出部613c伝送誤りの判定を行い、受信フレームフィールド解析部641cへ抽出したデータを出力する。または、IrDAプロトコルフレーム開始検出部621cが受信フレームのEOFフィールドを検出し、IrDAプロトコルフレーム終了検出部622cが受信フレームのBOFフィールドを検出し、IrDAプロトコル誤り検出部623cが伝送誤りの判定を行い、受信フレームフィールド解析部641cへ抽出したデータを出力する。
そして、受信フレームフィールド解析部641cは、受信したデータにUpper User Dataフィールドが存在するかどうかを調べ、その結果を通信プロトコル判定部630cに送信する。そして、通信プロトコル判定部630cがその結果に基づき、応答フレームが対応している通信プロトコルを判定する(S9およびS10(通信プロトコル解析ステップ))。
一方、所定の時間、応答がなければ(S2にてNO)、プロトコル切り替え部113がIrSimple-IrLAP制御部112に代えてIrDA-IrLAP制御部111を動作させ、IrDAプロトコルをサポートする二次局が通信機器1cの通信可能距離内に存在するかどうかを確認するために、1スロットのXIDコマンドを局発見制御部1111から送信する(S3(第1のプロトコル制御ステップ))。ここで、所定の時間とは、例えば、IrSimpleプロトコルで規定されている、50ミリ秒から85ミリ秒の時間である。
通信機器2がIrDAプロトコルをサポートしている場合は、通信機器2は二次局としてXIDコマンドに応答してXIDレスポンスを返信する。また、通信機器2がIrDAプロトコルおよびIrSimpleプロトコルの両方を規定どおりにサポートする場合は、IrSimpleプロトコルで接続することを優先するために、1回目の1スロットのXIDコマンドには応答しないように規定されている(非特許文献6参照)。よって、通信機器2がIrDAプロトコルおよびIrSimpleプロトコルの両方を規定どおりにサポートする場合は、応答フレームを返信しない。
次に、IrDAプロトコルフレーム受信部620cが二次局からの応答を待ち、応答があれば(S4にてYES)、IrDAプロトコルをサポートした通信機器2を発見したことになり、IrDA-IrLAP制御部111がIrDAプロトコルでの接続を行う(S11〜S12)。一方、所定の時間、応答がなければ(S4にてNO)、IrDAプロトコルで規定されているXID−Endコマンドを局発見制御部1111が送信し(S5(第1のプロトコル制御ステップ))、局発見コマンドの終了を通信可能距離内の二次局に伝える。
次に、プロトコル切り替え部113がIrDA-IrLAP制御部111に代えてIrSimple-IrLAP制御部112を動作させ、IrSimpleプロトコルのSNRMコマンドを接続制御部1121が送信する(S6(第2のプロトコル制御ステップ))。通信機器2がIrSimpleプロトコルをサポートしている場合は、通信機器2は二次局としてSNRMコマンドに応答して、IrSimpleプロトコルに対応したUAレスポンスを返信する。また、通信機器2がIrDAプロトコルおよびIrSimpleプロトコルの両方を規定どおりにサポートする場合は、IrSimpleプロトコルで接続することを優先するために、IrSimpleプロトコルに対応したUAレスポンスを返信する。また、通信機器2が応答レスポンス誤送信機器である場合は、SNRMコマンドに応答して、IrDAプロトコルに対応したUAレスポンスを返信する。
次に、IrSimpleプロトコルフレーム受信部610cおよびIrDAプロトコルフレーム受信部620cが二次局からの応答を待つ。応答があれば(S7にてYES)、IrSimpleプロトコルフレーム開始検出部611cが受信フレームのEOFフィールドを検出し、IrSimpleプロトコルフレーム終了検出部612cが受信フレームのBOFフィールドを検出し、IrSimpleプロトコル誤り検出部613c伝送誤りの判定を行い、受信フレームフィールド解析部641cへ抽出したデータを出力する。または、IrDAプロトコルフレーム開始検出部621cが受信フレームのEOFフィールドを検出し、IrDAプロトコルフレーム終了検出部622cが受信フレームのBOFフィールドを検出し、IrDAプロトコル誤り検出部623cが伝送誤りの判定を行い、受信フレームフィールド解析部641cへ抽出したデータを出力する。
そして、受信フレームフィールド解析部641cは、それぞれ受信したデータにUpper User Dataフィールドが存在するかどうかを調べ、その結果を通信プロトコル判定部630cに送信する。そして、通信プロトコル判定部630cがその結果に基づき、応答フレームが対応している通信プロトコルを判定する(S9およびS10(通信プロトコル解析ステップ))。
一方、所定の時間、応答がなければ(S7にてNO)、ステップS1〜S7の繰り返しが満了したかどうかをプロトコル切り替え部113が判定し(S8)、繰り返しが満了していれば(S8にてYES)、二次局は発見されずに接続処理を終了する。繰り返しが満了したことの判定は、規定された回数だけ繰り返しを行ったことを判定してもよいし、接続手順を開始してからの経過時間をタイマー120により測定して判定してもよい(例えば、接続開始後5秒間だけ繰り返すなど)。一方、繰り返しが満了していなければ(S8にてNO)、再度、プロトコル切り替え部113がIrSimple-IrLAP制御部112を動作させ、IrSimpleプロトコルのSNRMコマンドを接続制御部1121が送信する(S1(第2のプロトコル制御ステップ))。
また、IrSimpleプロトコルのSNRMコマンドに対して、通信機器2から応答があった場合(S2またはS7にてYES)、通信プロトコル判定部630cが、受信フレームフィールド解析部641cから送信される結果に基づき、受信した応答フレームがIrSimpleプロトコルに対応したUAレスポンスであるか否かの判定を行う(S9(通信プロトコル解析ステップ))。応答フレームがIrSimpleプロトコルに対応したUAレスポンスであれば(S9(通信プロトコル解析ステップ)にてYES)、IrSimpleプロトコルをサポートする通信機器2を二次局として発見したことになるので、通信機器1aの内部状態をIrSimpleプロトコル通信モードとする。そして、判定結果をプロトコル制御部110に通知し、これにより、IrLAP層、IrLMP層、IrSMP層、OBEX層の接続が完了し、接続シーケンスを完了する。
一方、応答フレームがIrSimpleプロトコルに対応したUAレスポンスでなければ(S9(通信プロトコル解析ステップ)にてNO)、受信した応答フレームがIrDAプロトコルに対応したUAレスポンスであるか否かの判定を行う(S10(通信プロトコル解析ステップ))。応答フレームがIrDAプロトコルに対応したUAレスポンスであれば(S10(通信プロトコル解析ステップ)にてYES)、IrDAプロトコルをサポートする通信機器2を二次局として発見したことになる。そして、判定結果をプロトコル制御部110に通知し、IrLAP層までのIrDAプロトコルの接続を完了する。
また、応答フレームがIrDAプロトコルに対応したUAレスポンスでなければ(S10(通信プロトコル解析ステップ)にてNO)、通信機器2がサポートする通信プロトコルはIrSimpleプロトコルでもなく、IrDAプロトコルでもないことから、接続せずに接続シーケンスを終了する。
また、IrDAプロトコルのXIDコマンドに対して、通信機器2から応答があった場合(S4にてYES)、IrDAプロトコルで規定されているXID−Endコマンドを局発見制御部1111が送信し(S11(第1のプロトコル制御ステップ))、局発見コマンドの終了を通信可能距離内の二次局に伝える。これにより、IrDAプロトコルをサポートする通信機器2を二次局として発見したことになるので、通信機器1cの内部状態をIrDAプロトコル通信モードとする。局発見が完了したので、次に、IrDAプロトコルに従ってIrLAP層の接続処理を行い(S12)、IrLAP層までの接続を完了し、接続シーケンスを終了する。
なお、二次局である通信機器2が、(1)IrDAプロトコルをサポートするが、ブロードキャストフレームに対してUAレスポンスを返信する応答レスポンス誤送信機器の場合、(2)IrSimpleプロトコルを規定どおりにサポートする場合、(3)IrDAプロトコルのみを規定どおりにサポートする場合、のそれぞれにおいて、通信機器1cと接続するときの処理の流れは、実施の形態1で説明した、通信機器1aと通信機器2との接続の流れと同様である。
以上のように、本実施形態の構成によれば、通信速度による通信プロトコルの判定とフレーム構造の解析による通信プロトコルの判定とを組み合わせて実施するため、実施の形態1の構成よりもさらに確実に通信プロトコルの判定を行うことができる。
すなわち、通信路の伝送品質が悪く、受信したフレームのBOFフィールドまたはEOFフィールドを正しく検出できないことにより、通信速度による通信プロトコルの判定が正しく実施できない場合でも、本実施形態の構成によれば、さらにフレーム構造の解析を行うため、より確実に通信プロトコルを判定することができる。
〔実施の形態4〕
実施の形態1の構成では、受信した応答レスポンスの通信速度に基づいて通信プロトコルを判定したが、本実施形態では、回路を用いて当該判定を行う構成について説明する。
本実施形態について図12から図16に基づいて説明すれば、以下の通りである。なお、説明の便宜上、実施の形態1から3にて示した各部材と同一の機能を有する部材には、同一の符号を付記し、その説明を省略する。
(通信システムの全体構成)
図12を参照しながら、本実施形態に係る通信機器を用いた通信システム3dについて説明する。図12は、本実施形態に係る通信機器である通信機器1dと通信機器2とを備える通信システム3dの構成を示すブロック図である。通信機器1dは、通信機器1aと同様のデジタルカメラや携帯電話機などであり、通信機器2と相互に通信することが可能である。また、通信機器1dは、通信ネットワーク900を通じて図示しない外部の通信機器と通信が可能であってもよい。
(通信機器の構成)
次に、図13を参照しながら、通信機器1dの構成について説明する。図13は通信機器1dの構成を示すブロック図である。図13に示すように通信機器1dは、実施の形態1の通信機器1aとほぼ同様の部材を備えているが、主制御部10aに代えて主制御部10dを備えている。また、通信機器1dは、表示制御部50および表示装置51をさらに備えている。
表示装置51は、表示制御部50より送られた情報を表示する。表示装置51は、例えばLCD(Liquid Crystal Display;液晶表示装置)で構成される。表示装置51に表示する情報としては、通信機器1dの操作者に提示する操作メニュー、通信機器1dの操作者が送信しようとする画像データ、後述する通信プロトコル解析部160dから送信される、受信フレームの通信速度を表すデータなどが含まれる。
表示制御部50は、表示装置51を制御し、主制御部10dから指示された情報を表示装置31に送信する。
主制御部10dは、実施の形態1の主制御部10aとほぼ同様の部材を備えているが、通信プロトコル解析部160aに代えて通信プロトコル解析部160dを備えている。
通信プロトコル解析部160dは、下位層処理部102から受信した信号から、受信フレームがIrSimpleプロトコルのフレームであるか、または、IrDAプロトコルのフレームであるかの判定を行い、受信速度を決定し、IrSimpleプロトコル受信フレーム解析部170およびIrDAプロトコル受信フレーム解析部171に受信データを出力する。
次に、図14を参照しながら、通信プロトコル解析部160dについて、詳細に説明する。図14は、通信プロトコル解析部160dの構成を示すブロック図である。図14に示すように通信プロトコル解析部160dは、IrSimpleプロトコルフレーム検出部201、IrDAプロトコルフレーム検出部202、通信速度制御部230、およびデータ選択部240とを備えて構成される。
IrSimpleプロトコルフレーム検出部201は、下位層処理部102から送信される受信信号からフレーム開始信号(BOF)を検出して同期をとり、受信データを抽出する。そのためにIrSimpleプロトコルフレーム検出部201は、スロットカウンタ211、パルス検出部212、フレーム開始検出部213、フレーム終了検出部214、およびデータ抽出部215を備えて構成される。
スロットカウンタ211は、あらかじめ定められた周期でカウントを行うカウンタである。カウンタの値が「0」のとき、パルス検出部212からパルスを受信した旨が通知されると、約8.6マイクロ秒(115.2kbpsの通信速度のスロット間隔)の周期でカウントを行い、カウンタの値をパルス検出部212、フレーム開始検出部213、フレーム終了検出部214、およびデータ抽出部215に通知する。
パルス検出部212は、スロットカウンタ211がカウントする値をスロットとみなし、各スロットにおいて、下位層処理部102から受信した信号のパルスの有無を判定し、判定結果をフレーム開始検出部213およびフレーム終了検出部214に通知する。また、カウンタの値が「0」のときに下位層処理部102から信号を受信すると、スロットカウンタ211に、スタートビットのパルスを受信したことを通知する。パルス検出部212の詳細な構成については後述する。
フレーム開始検出部213は、スロットカウンタ211がカウントする値をスロットとみなし、パルス検出部212から送信されるパルスの有無を基に、BOF(値は「0xC0」)の検出を行う。そして、BOFが検出されると、検出結果を通信速度制御部230に通知する。
フレーム終了検出部214は、スロットカウンタ211がカウントする値をスロットとみなし、パルス検出部212から送信されるパルスの有無を基に、EOF(値は「0xC1」)の検出を行う。そして、EOFが検出されると、検出結果を通信速度制御部230に通知する。
データ抽出部215、スロットカウンタ211がカウントする値をスロットとみなし、パルス検出部212から送信されるパルスの有無を基に、データを抽出する。そして、抽出したデータをデータ選択部240に送信する。
IrDAプロトコルフレーム検出部202は、下位層処理部102から送信される受信信号からフレーム開始信号(BOF)を検出して同期をとり、受信データを抽出する。そのためにIrDAプロトコルフレーム検出部202は、スロットカウンタ221、パルス検出部222、フレーム開始検出部223、フレーム終了検出部224、およびデータ抽出部225を備えて構成される。
スロットカウンタ221は、あらかじめ定められた周期でカウントを行うカウンタである。カウンタの値が「0」のとき、パルス検出部222からパルスを受信した旨が通知されると、約100マイクロ秒(9600bpsの通信速度のスロット間隔)の周期でカウントを行い、カウンタの値をパルス検出部222、フレーム開始検出部223、フレーム終了検出部224、およびデータ抽出部225に通知する。
パルス検出部222は、スロットカウンタ221がカウントする値をスロットとみなし、各スロットにおいて、下位層処理部102から受信した信号のパルスの有無を判定し、判定結果をフレーム開始検出部223およびフレーム終了検出部234に通知する。また、カウンタの値が「0」のときに下位層処理部102から信号を受信すると、スロットカウンタ221に、スタートビットのパルスを受信したことを通知する。パルス検出部222の詳細な構成については後述する。
フレーム開始検出部223は、スロットカウンタ221がカウントする値をスロットとみなし、パルス検出部222から送信されるパルスの有無を基に、BOF(値は「0xC0」)の検出を行う。そして、BOFが検出されると、検出結果を通信速度制御部230に通知する。
フレーム終了検出部224は、スロットカウンタ221がカウントする値をスロットとみなし、パルス検出部222から送信されるパルスの有無を基に、EOF(値は「0xC1」)の検出を行う。そして、EOFが検出されると、検出結果を通信速度制御部230に通知する。
データ抽出部225、スロットカウンタ221がカウントする値をスロットとみなし、パルス検出部222から送信されるパルスの有無を基に、データを抽出する。そして、抽出したデータをデータ選択部240に送信する。
通信速度制御部230は、フレーム開始検出部213からBOFが検出されたこと(または、フレーム終了検出部214からEOFが検出されたこと)が通知された場合は、受信したフレームの通信速度を115.2kbpsと決定し、フレーム開始検出部223からBOFが検出されたこと(または、フレーム終了検出部224からEOFが検出されたこと)が通知された場合は、受信したフレームの通信速度を9600bpsと決定する。そして、その決定結果をデータ選択部240に通知する。
データ選択部240は、通信速度制御部230から通知された通信速度が115.2kbpsである場合は、データ抽出部215から受信したデータを選択し、IrSimpleプロトコル受信フレーム解析部170へ出力する。一方、通信速度制御部230から通知された通信速度が9600bpsである場合は、データ抽出部225から受信したデータを選択し、IrDAプロトコル受信フレーム解析部171へ出力する。また、データを選択した結果をプロトコル制御部110へ通知する。この通知に基づき、プロトコル制御部110が応答レスポンス受信後の接続処理をIrSimpleプロトコルで行うか、または、IrDAプロトコルで行うかを制御する。
次に、図15を参照しながら、パルス検出部212およびパルス検出部222について、詳細に説明する。図15は、パルス検出部212の構成を示すブロック図である。パルス検出部212の構成とパルス検出部222の構成とは同様であるため、パルス検出部222の説明は省略する。図15に示すようにパルス検出部212は、CLR生成部250、EN生成部260、ANDゲート270〜279、およびDフリップフロップ280〜289を備えて構成される。
CLR生成部250は、スロットカウンタ211からのカウンタの値を基にして、Dフリップフロップ280〜289をリセットするためのクリア信号(以下、「CLR」と称す)を生成し、Dフリップフロップ280〜289に出力する。例えば、カウンタの値が「10」に達したときにCLRを生成する。「10」とした理由は、UARTフレームの1フレームが10ビットであるためである。
EN生成部260は、スロットカウンタ211からのカウンタの値をスロットとみなし、スロットごとに立ち上がる信号(EN0〜EN9)を生成し、それぞれDフリップフロップ280〜289へ出力する。例えば、カウンタの値が「0」のときは、ANDゲート270への出力信号(EN0)のみがHighとなる信号を生成し、Dフリップフロップ280へ出力する。これにより、スロット0における受信信号の立ち上がりを、Dフリップフロップ280のクロックのみに反映させる。
ANDゲート270〜279は、下位層処理部102からの受信信号とEN生成部260から出力される信号(EN0〜EN9)との論理積を算出し、それぞれDフリップフロップ280〜289へ出力する。つまり、受信信号の立ち上がりエッジは、EN0〜EN9のそれぞれの出力信号がHighのときにのみ、それぞれDフリップフロップ280〜289へ出力される。
Dフリップフロップ280〜289は、それぞれスロット0〜9に対応づけられており、Dフリップフロップ280〜289の出力の値は、それぞれスロット0〜9に対応する信号とみなされる。Dフリップフロップ280〜289は、クロックに立ち上がりエッジの信号が入力されると、出力信号としてHighを出力する。つまり、Dフリップフロップの出力信号がHighであるときは、対応するスロットにおいてエッジが検出されたこととなる。例えば、Dフリップフロップ280の出力信号がHighであるときは、スロット0においてパルスが検出されたこととなる。
なお、図15においては、下位層処理部102からの受信信号は正論理のパルスであるものとして記述したが、受信信号が負論理のパルスであってもよい。その場合、例えば受信信号を反転してDフリップフロップ280〜289へ入力してもよいし、他の方法により正論理のパルスに変換してもよい。
なお、パルス検出部212およびパルス検出部222は、上述した各構成に限定されるものではなく、同等の機能を有する部材で構成されるものであればよい。また、各部材はソフトウェアによって実現してもよい。
次に、図16を参照しながら、パルス検出部212が受信信号を基にスロット毎のパルスを検出する様子を、例を挙げて詳細に説明する。図16は、パルス検出部212がスロット毎のパルスを検出するタイミングチャートである。
図16に示す例は、受信信号として「10011001010」という信号が入力された例である。
まず、スロットカウンタ211は、パルス検出部212からパルスを受信した旨が通知されると、あらかじめ定められた周期で値「0」からカウントを開始する。EN生成部260は、カウンタの値をスロットとみなし、スロットごとに立ち上がる信号(EN0〜EN9)を生成している。CLR生成部250は、カウンタの値が10に達したときにCLR信号を生成している。
そして、受信信号の立ち上がりエッジとEN0〜EN9の各信号との論理積がとられることにより、スロットに対応するDフリップフロップのクロック信号のみがHighとなる。そして、スロットカウント値が10に達するまで、各スロットのパルス検出信号の値が保持される。その結果、スロットカウント値が10に達したときに、Dフリップフロップ280〜289の出力信号を基に、受信データ「10011001010」を検出することができる。
上記ではパルス検出部212でのパルス検出の様子について例を挙げて説明したが、パルス検出部222でのパルス検出の様子も上記と同様である。
以上のように、実施の形態4のIrSimpleプロトコルフレーム検出部201、IrDAプロトコルフレーム検出部202、通信速度制御部230により、受信フレームの通信速度を正しく判定することができる。
なお、通信速度制御部230が現在受信しているフレームの通信速度を、主制御部10dを介して表示装置51に通知してもよい。例えば、115.2kbpsの通信速度で受信を待つ状態であるのに、9600bpsの通信速度のフレームを受信したこと表示装置51に表示することにより、通信機器1dの操作者が認識することができる。さらに、例えば9600bpsの通信速度でBOFを検出した後、9600bpsの通信速度で受信を行っているときに、9600bpsの通信速度でEOFを検出していないのに、115.2kbpsの通信速度のEOFが検出された場合は、その旨を表示装置51に表示してもよい。これにより、9600bpsの通信速度での受信に失敗したことを、通信機器1dの操作者が認識することができる。
以上のように、回路により、受信した応答レスポンスの通信速度に応じて通信プロトコルの判定を行う構成とした場合でも、本実施形態の構成によれば、通信機器2からの応答レスポンスを確実に受信することができる。
〔実施の形態5〕
実施の形態4の構成では、受信したパルスのパルス幅に関わらず、受信したパルスの立ち上がりエッジを検出する構成とした。しかし、背景技術で説明したように、IrDA−SIRにおけるパルス幅の最小許容値は、いずれの通信速度においても1.41マイクロ秒である(図48参照)。すなわち、1.41マイクロ秒よりも短いパルス幅のパルス(以下、「短パルス」と称す)は、IrDA-SIRのフレームではない可能性が高い。例えば、受信部81が外乱光を受信した場合に生じる電磁波などのノイズなどであることが考えられる。一般的に、通信の品質を高める上では、このような短いパルス幅のノイズは可能な限り除去することが望ましい。すなわち、パルス幅が1.41マイクロ秒未満の短パルスは立ち上がりエッジとして検出しないようにすることが望ましい。そこで、実施の形態4の構成に加え、さらに、短パルスを除去する実施の形態について説明する。
本実施形態について図17から図22に基づいて説明すれば、以下の通りである。なお、説明の便宜上、実施の形態1から4にて示した各部材と同一の機能を有する部材には、同一の符号を付記し、その説明を省略する。
(通信システムの全体構成)
図17を参照しながら、本実施形態に係る通信機器を用いた通信システム3eについて説明する。図17は、本実施形態に係る通信機器である通信機器1eと通信機器2とを備える通信システム3eの構成を示すブロック図である。通信機器1eは、通信機器1aと同様のデジタルカメラや携帯電話機などであり、通信機器2と相互に通信することが可能である。また、通信機器1eは、通信ネットワーク900を通じて図示しない外部の通信機器と通信が可能であってもよい。
(通信機器の構成)
次に、図18を参照しながら、通信機器1eの構成について説明する。図18は通信機器1eの構成を示すブロック図である。図18に示すように通信機器1eは、実施の形態4の通信機器1dとほぼ同様の部材を備えているが、主制御部10aに代えて主制御部10eを備えている。主制御部10eは、実施の形態1の主制御部10aとほぼ同様の部材を備えているが、通信プロトコル解析部160aに代えて通信プロトコル解析部160eを備えている。
通信プロトコル解析部160eは、下位層処理部102から受信した信号から、受信フレームがIrSimpleプロトコルのフレームであるか、または、IrDAプロトコルのフレームであるかの判定を行い、受信速度を決定し、IrSimpleプロトコル受信フレーム解析部170およびIrDAプロトコル受信フレーム解析部171に受信データを出力する。
次に、図19を参照しながら、通信プロトコル解析部160eについて、詳細に説明する。図19は、通信プロトコル解析部160eの構成を示すブロック図である。図19に示すように通信プロトコル解析部160eは、実施の形態4の通信プロトコル解析部160dとほぼ同様の部材を備えているが、IrSimpleプロトコルフレーム検出部201、IrDAプロトコルフレーム検出部202に代えて、IrSimpleプロトコルフレーム検出部701e、IrDAプロトコルフレーム検出部702eそれぞれ備えている。
IrSimpleプロトコルフレーム検出部701eは、IrSimpleプロトコルフレーム検出部201とほぼ同様の部材を備えているが、パルス検出部212に代えて、パルス検出部712eを備えている。
IrDAプロトコルフレーム検出部702eは、IrDAプロトコルフレーム検出部202とほぼ同様の部材を備えているが、パルス検出部222に代えて、パルス検出部722eを備えている。
次に、図20を参照しながら、パルス検出部712eおよびパルス検出部722eについて、詳細に説明する。図20は、パルス検出部712eの構成を示すブロック図である。パルス検出部712eの構成とパルス検出部722eの構成とは同様であるため、パルス検出部722eの構成の説明は省略する。図20に示すようにパルス検出部712eは、実施の形態4のパルス検出部212とほぼ同様の部材を備えているが、短パルス除去部790eをさらに備えている。
短パルス除去部790eは、パルス幅が所定値よりも短い短パルスを除去することにより、短パルスを後段に伝播させない。これにより、後段のANDゲート270〜279では、短パルスが除去された状態の受信信号とEN生成部260から出力される信号(EN0〜EN9)との論理積が算出され、それぞれDフリップフロップ280〜289へ出力されるので、短パルスの立ち上がりエッジはDフリップフロップ280〜289へ出力されない。
次に、図21を参照しながら、短パルス除去部790eについて、詳細に説明する。図21は、短パルス除去部790eの構成を示すブロック図である。図21に示すように短パルス除去部790eは、シフトレジスタ291、ANDゲート298、およびDフリップフロップ299を備えて構成される。
シフトレジスタ291は、6段のDフリップフロップ292〜297を備えて構成されている。下位層処理部102からの受信信号がDフリップフロップ292に入力されると、クロック(例えば、5MHz)によりラッチされた信号が、クロックの立ち上がりのタイミングで後段のDフリップフロップ293に伝播する。次に、Dフリップフロップ293にラッチされた信号が、次のクロックの立ち上がりのタイミングで後段のDフリップフロップ294に伝播する。次に、Dフリップフロップ294にラッチされた信号が、次のクロックの立ち上がりのタイミングで後段のDフリップフロップ295に伝播する。次に、Dフリップフロップ295にラッチされた信号が、次のクロックの立ち上がりのタイミングで後段のDフリップフロップ296に伝播する。次に、Dフリップフロップ296にラッチされた信号が、次のクロックの立ち上がりのタイミングで後段のDフリップフロップ297に伝播する。
ANDゲート298は、Dフリップフロップ292〜297のそれぞれの出力信号の論理積をDフリップフロップ299に出力する。
Dフリップフロップ299は、パルス除去後の出力信号を生成する。Dフリップフロップ292〜297への入力となるクロックのスキューにより、Dフリップフロップ292〜297の出力タイミングに差が生じた場合、ANDゲート298の出力にスパイクノイズが発生する可能性がある。Dフリップフロップ299は、このスパイクノイズを出力しないように除去するためのものである。
なお、短パルス除去部790eは、上述した各構成に限定されるものではなく、同等の機能を有する部材で構成されるものであればよい。また、各部材はソフトウェアによって実現してもよい。
次に、図22を参照しながら、短パルス除去部790eが受信信号から短パルスを除去する様子を、例を挙げて詳細に説明する。図22は、短パルス除去部790eが、パルス幅が1.2マイクロ秒未満の短パルスを除去するタイミングチャートである。図22は、短パルス除去部790eに入力される受信信号として、まず1.0マイクロ秒のパルス幅の受信信号が入力され、次に、1.2マイクロ秒のパルス幅の受信信号が入力された例である。
まず、1.0マイクロ秒のパルス幅の受信信号が入力された場合について説明する。1.0マイクロ秒のパルス幅の受信信号がシフトレジスタ291に入力されると、Dフリップフロップ292〜297により、1.0マイクロ秒のパルス幅のパルスが1クロックずつ遅れて6つ生成される。クロック周期が5MHzであるとすると、クロックの立ち上がりから次の立ち上がりまでの時間は200ナノ秒である。よって、Dフリップフロップ292〜297により生成されるパルスは、それぞれ200ナノ秒ずつ遅れて生成される。そして、Dフリップフロップ292〜297の出力はANDゲート298に入力され、それらの論理積がANDゲート298から出力される。Dフリップフロップ292〜297のそれぞれの入力クロックにスキューがない場合、1.0マイクロ秒のパルス幅の6つのパルスが200ナノ秒ずつ遅れてANDゲート298に入力されるが、これら6つのパルスが同時にHighになることはない。従って、ANDゲート298からはHighが出力されないので、結果として、1.0マイクロ秒のパルス幅の受信信号は除去されたこととなる。
次に、1.2マイクロ秒のパルス幅の受信信号が入力された場合について説明する。1.2マイクロ秒のパルス幅の受信信号が、シフトレジスタ291に入力されると、Dフリップフロップ292〜297により、1.2マイクロ秒のパルス幅のパルスが1クロックずつ遅れて6つ生成される。上記と同様に、Dフリップフロップ292〜297により生成されるパルスは、200ナノ秒ずつ遅れて生成される。
そして、Dフリップフロップ292〜297のそれぞれの出力はANDゲート298に入力され、それらの論理積がANDゲート298から出力される。Dフリップフロップ292〜297のそれぞれのクロックにスキューがない場合、1.2マイクロ秒のパルス幅の6つのパルスが200ナノ秒ずつ遅れてANDゲート298に入力されるが、この場合は、6つのパルスが同時にHighになるタイミングがある。従って、ANDゲート298からはHighが出力される。その結果、1.2マイクロ秒のパルス幅の受信信号は除去されずに、後段に伝播することとなる。
このように、短パルス除去部790eにより、パルス幅が1.2マイクロ秒未満の短パルスは除去され、後段に伝播されない。一方、パルス幅が1.2マイクロ秒以上のパルスは除去されず、後段に伝播される。
なお、上記の短パルス除去部790eは、パルス幅の閾値を1.2マイクロ秒とするために、シフトレジスタ291は6段のDフリップフロップ292〜297を備えて構成され、かつ、クロック周期は5MHzであるとしたが、これに限定されるものではない。シフトレジスタ291が備えるDフリップフロップの数とクロック周期とを適宜変更することにより、パルス幅の閾値を任意の値に設定することができる。
以上のように、パルス幅が1.41マイクロ秒未満の短パルスは立ち上がりエッジとして検出しないようにすることで、ノイズを除去することができ、通信の品質を高めることができる。よって、本実施形態の構成によれば、実施の形態4よりもさらに正確にパルス検出を行うことができるため、より確実に通信プロトコルを判定することができる。したがって、本実施形態の構成によれば、通信機器2からの応答レスポンスを確実に受信し、接続処理を進めることができる。
〔実施の形態6〕
実施の形態4の構成では、パルス検出部212およびパルス検出部222は、スロットごとに受信したパルスの立ち上がりエッジを一回だけ検出する。つまり、同一スロットに2以上のパルスが存在した場合でも、1つ目のパルスの立ち上がりエッジのみが検出され、2つ目のパルスの立ち上がりエッジは検出されない。その結果、誤った信号が検出される場合がある。図23を参照しながら、同一スロットに2以上のパルスが存在する場合に、誤って信号を検出する様子を、例を挙げて説明する。図23は9600bpsの通信速度のIrDAプロトコルフレーム検出部202に、19200bpsの通信速度の信号が入力された場合のタイミングチャートである。
図23に示す例は、19200bpsの通信速度の信号として「0x00」に続き「0xF8」が入力された例である。
それぞれスタートビットおよびストップビットが付加された後、ビット反転されて「1111111110」および「1111000000」となる。19200bpsの通信速度の信号を9600bpsの通信速度に対応したスロットで受信すると、1スロットには2つのパルスが存在することとなる。しかし、パルス検出部222は1つ目のパルスの立ちあがりエッジのみでパルス検出を行う。その結果、パルス検出部222は「1111111000」というビット列を検出する。これをUART信号に変換し、スタートビットおよびストップビットを除去すると、「00000011」すなわち「0xC0」である。「0xC0」はBOFの値であるので、結果としてBOFが誤って検出されたこととなる。
このような誤検出を防止するため、実施の形態4の構成に加え、さらに、受信フレームの周波数を検出する実施の形態について説明する。
本実施形態について図24から図28に基づいて説明すれば、以下の通りである。なお、説明の便宜上、実施の形態1から5にて示した各部材と同一の機能を有する部材には、同一の符号を付記し、その説明を省略する。
(通信システムの全体構成)
図24を参照しながら、本実施形態に係る通信機器を用いた通信システム3fについて説明する。図24は、本実施形態に係る通信機器である通信機器1fと通信機器2とを備える通信システム3fの構成を示すブロック図である。通信機器1fは、通信機器1aと同様のデジタルカメラや携帯電話機などであり、通信機器2と相互に通信することが可能である。また、通信機器1fは、通信ネットワーク900を通じて図示しない外部の通信機器と通信が可能であってもよい。
(通信機器の構成)
次に、図25を参照しながら、通信機器1fの構成について説明する。図25は通信機器1fの構成を示すブロック図である。図25に示すように通信機器1fは、実施の形態4の通信機器1dとほぼ同様の部材を備えているが、主制御部10dに代えて主制御部10fを備えている。主制御部10fは、実施の形態4の主制御部10dとほぼ同様の部材を備えているが、通信プロトコル解析部160dに代えて通信プロトコル解析部160fを備えている。
次に、図26を参照しながら、通信プロトコル解析部160fについて、詳細に説明する。図26は、通信プロトコル解析部160fの構成を示すブロック図である。図26に示すように通信プロトコル解析部160fは、実施の形態4の通信プロトコル解析部160dとほぼ同様の部材を備えているが、IrSimpleプロトコルフレーム検出部201、IrDAプロトコルフレーム検出部202、通信速度制御部230、データ選択部240に代えて、IrSimpleプロトコルフレーム検出部701f、IrDAプロトコルフレーム検出部702f、通信速度制御部730f、データ選択部740fをそれぞれ備えている。
図26に示すようにIrSimpleプロトコルフレーム検出部701fは、実施の形態4のIrSimpleプロトコルフレーム検出部201とほぼ同様の部材を備えているが、周波数検出部716fをさらに備えている。
周波数検出部716fは、スロットカウンタ211がカウントする値をスロットとみなし、下位層処理部102から受信した信号について、同一スロット内に2つ以上のパルスが存在するかどうかを判定し、その判定結果を通信速度制御部730fに通知する。
通信速度制御部730fは、周波数検出部716fから2つ以上のパルスが検出された旨の通知があった場合、その後にフレーム開始検出部213(またはフレーム終了検出部214)から通知があっても反応しない(つまり、受信したフレームの通信速度が115.2kbpsであると決定しない)。また、周波数検出部716fから通知がある前に、フレーム開始検出部213(またはフレーム終了検出部214)から通知があり、受信したフレームの通信速度が115.2kbpsであると決定していた場合は、通信速度制御部730fは、周波数検出部716fからの通知を受けたとき、115.2kbpsの通信速度での受信中止を決定し、その決定結果をデータ選択部740fに通知する。その後、通信速度制御部730fは、フレーム開始検出部213(またはフレーム終了検出部214)からの検出結果の通知を再度待つ。
同様に、周波数検出部726fは、スロットカウンタ221がカウントする値をスロットとみなし、下位層処理部102から受信した信号について、同一スロット内に2つ以上のパルスが存在するかどうかを判定し、その判定結果を通信速度制御部730fに通知する。
通信速度制御部730fは、周波数検出部726fから、2つ以上のパルスが検出されたという通知があった場合、その後にフレーム開始検出部223(またはフレーム終了検出部224)から通知があっても反応しない(つまり、受信したフレームの通信速度が9600bpsであると決定しない)。また、周波数検出部726fからの通知がある前に、フレーム開始検出部223(またはフレーム終了検出部224)からの通知があり、受信したフレームの通信速度が9600bpsであると決定していた場合は、通信速度制御部730fは、周波数検出部726fからの通知を受けて9600bpsの通信速度での受信中止を決定し、その決定結果をデータ選択部740fに通知する。その後、通信速度制御部730fは、フレーム開始検出部223(またはフレーム終了検出部224)からの検出結果の通知を再度待つ。
データ選択部740fは、通信速度制御部730fから通知された通信速度が115.2kbpsである場合は、データ抽出部215から受信したデータを選択し、IrSimpleプロトコル受信フレーム解析部170へ出力する。一方、通信速度制御部730fから通知された通信速度が9600bpsである場合は、データ抽出部225から受信したデータを選択し、IrDAプロトコル受信フレーム解析部171へ出力する。また、データ選択部740fは、通信速度制御部730fから受信中止の通知があったとき、データ出力を中止する。また、データを選択した結果をプロトコル制御部110へ通知する。この通知に基づき、プロトコル制御部110が応答レスポンス受信後の接続処理をIrSimpleプロトコルで行うか、または、IrDAプロトコルで行うかを制御する。
次に、図27を参照しながら、周波数検出部716fおよび周波数検出部726fについて、詳細に説明する。図27は、周波数検出部716fの構成を示すブロック図である。周波数検出部716fの構成と周波数検出部726fの構成とは同様であるため、周波数検出部726fの構成の説明は省略する。図27に示すように周波数検出部716fは、CLR生成部300、Dフリップフロップ301、Dフリップフロップ302、パルスカウンタ303、および周波数判定部304を備えて構成される。
CLR生成部300は、スロットカウンタ211からのカウンタの値を基にして、スロットカウント値が変化するごとに、パルスカウンタ303をリセットするためのCLR信号を生成し、パルスカウンタ303に出力する。
Dフリップフロップ301は、クロックに下位層処理部102からの受信信号が入力されており、受信信号の立ち上がりを検出すると、Highを出力する。また、後段のDフリップフロップ302の出力がCLRに入力されており、CLRにHighが入力されると、Lowを出力する。
Dフリップフロップ302は、1クロック周期幅のパルスを出力し、パルスカウンタ303に出力する。
パルスカウンタ303は、Dフリップフロップ302からの入力がHighになるごとに、カウンタを1ずつ増やし、周波数判定部304に出力する。そして、CLR生成部300からの入力があったとき、カウンタをリセットする。
周波数判定部304は、パルスカウンタ303の出力値が2以上かどうかを判定する。パルスカウンタ303の出力値が2以上である場合、同一スロット内に複数のパルスが存在することになるので、周波数判定部304は、受信予定の通信速度よりも速い通信速度で信号を受信していると判定する。そして、判定結果を通信速度制御部730fへ通知する。
なお、周波数検出部716fおよび周波数検出部726fは、上述した各構成に限定されるものではなく、同等の機能を有する部材で構成されるものであればよい。また、各部材はソフトウェアによって実現してもよい。
次に、図28を参照しながら、周波数検出部716fおよび周波数検出部726fが、受信予定の通信速度の周波数より高い周波数でデータを受信したことを検知する様子を、例を挙げて詳細に説明する。図28は、1スロット内に2つのパルスが存在する場合に、周波数検出部716fおよび周波数検出部726fが、受信予定の通信速度の周波数より高い周波数で受信したことを検知するタイミングチャートである。
図28に示すとおり、スロットカウンタ211がカウントする値が4のときに、2つのパルスを受信するものとする。1つ目のパルスの立ち上がりエッジが検出されると、1段目のDフリップフロップ301がHighを出力する。この結果、2段目のDフリップフロップ302は次のクロックの立ち上がりで、Highを出力する。さらにこの結果、1段目のDフリップフロップ301にCLR信号が入るので、1段目のDフリップフロップ301はLowを出力する。さらにこの結果、2段目のDフリップフロップ302は次のクロックの立ち上がりでLowを出力する。このように、受信パルスが入力されるたびに、2段目のDフリップフロップ302は、1クロック分のパルスをパルスカウンタ303に出力する。2つ目のパルスの立ち上がりエッジが検出された場合も同様である。
そして、パルスカウンタ303は、Dフリップフロップ302の出力がHighになるごとにカウント値を1ずつ増やす。スロットカウンタの値が4である間に、Dフリップフロップ302の出力が2度Highになり、かつ、スロットカウンタ211がカウントする値が4である間は、CLR生成部300からのリセットがパルスカウンタ303に入力されないので、2つ目のパルスを受信した後のパルスカウンタ303のカウント値は「2」となる。そして、周波数判定部304は、パルスカウンタ303のカウント値が2以上となるため、受信予定の通信速度の周波数よりも高い周波数で信号を受信していると判定する。
このように、周波数検出部716fおよび周波数検出部726fにより、受信データの周波数が受信予定の通信速度の周波数より高いことを検出でき、その結果、その通信速度での受信を中止するなどの制御を行うことができる。
以上のように、受信フレームの周波数を検出することで、同一スロットに2以上のパルスが存在することを検知でき、誤った通信速度での受信を回避することができる。よって、本実施形態の構成によれば、実施の形態4よりもさらに正確にパルスを受信することができるため、より確実に通信プロトコルを判定することができる。したがって、本実施形態の構成によれば、通信機器2からの応答レスポンスを確実に受信し、接続処理を進めることができる。
〔実施の形態7〕
実施の形態4の構成では、通信速度制御部230は、フレームの受信速度を決定した後であっても、他の通信速度でBOFを誤って検出することがある。図29を参照しながら、通信速度を決定した後、他の通信速度でBOFを検出する様子を、例を挙げて説明する。図29は115.2kbpsの通信速度で受信した信号を、IrDAプロトコルフレーム検出部202が誤って、9600bpsのBOFであると検出する場合の説明図である。
図29は、115.2kbpsの通信速度で「0xC0」が送信された後、「0xFF」が連続して7つ送信され、その後しばらく間、信号がない例である。IrDA−SIRの物理フォーマットが調歩同期式であり、1バイトごとの送信データの送信間隔に規定がないため、しばらく間、信号がないという場合がある。
まず、115.2kbpsの通信速度のスロットでフレーム開始検出部213が「0xC0」を受信することにより、BOFを検出し、検出結果を通信速度制御部230に通知する。そして、通信速度制御部230は、フレーム開始検出部213からBOFが検出されたことが通知されたので、受信したフレームの通信速度が115.2kbpsであると決定する。
次に、送信される「0xFF」は、スタートビットおよびストップビットが付加され、反転されて、スタートビットのみがパルス出力される。背景技術で説明したように、9600bpsの通信速度における1ビットの送信間隔は、115.2kbpsの通信速度における10ビット分の送信間隔よりも大きい(図52参照)。よって、115.2kbps通信速度で送信される「1000000000」を9600bpsの通信速度で受信すると、「1」を受信したと認識される。
よって、フレーム開始検出部223が9600bpsの通信速度のスロットで115.2kbpsの通信速度の「0xFF」を連続して7つ受信し、その後の信号がない状態を3スロット分受信すると、結果として、「1111111000」を受信したと認識する。「1111111000」はBOFの値であるから、フレーム開始検出部223はBOFを検出したと認識し、検出結果を通信速度制御部230に通知する。そして、通信速度制御部230はフレーム開始検出部223からBOFが検出されたことが通知されたので、受信したフレームの通信速度が9600bpsであると決定する。
このように、115.2kbpsの通信速度でデータを受信しているときに、誤って9600bpsの通信速度であると判定すると、引き続き送信される115.2kbpsの通信速度のデータを正しく受信することができない。
上記のような誤検出を防止するため、実施の形態4の構成に代えて、所定の通信速度で受信中は他の通信速度に切り替えない実施の形態について、以下で説明する。
本実施形態について図30から図32に基づいて説明すれば、以下の通りである。なお、説明の便宜上、実施の形態1から6にて示した各部材と同一の機能を有する部材には、同一の符号を付記し、その説明を省略する。
(通信システムの全体構成)
図30を参照しながら、本実施形態に係る通信機器を用いた通信システム3gについて説明する。図30は、本実施形態に係る通信機器である通信機器1gと通信機器2とを備える通信システム3gの構成を示すブロック図である。通信機器1gは、通信機器1aと同様のデジタルカメラや携帯電話機などであり、通信機器2と相互に通信することが可能である。また、通信機器1gは、通信ネットワーク900を通じて図示しない外部の通信機器と通信が可能であってもよい。
(通信機器の構成)
次に、図31を参照しながら、通信機器1gの構成について説明する。図31は通信機器1gの構成を示すブロック図である。図31に示すように通信機器1gは、実施の形態4の通信機器1dとほぼ同様の部材を備えているが、主制御部10dに代えて主制御部10gを備えている。主制御部10gは、実施の形態4の主制御部10dとほぼ同様の部材を備えているが、通信プロトコル解析部160dに代えて通信プロトコル解析部160gを備えている。
次に、図32を参照しながら、通信プロトコル解析部160gについて、詳細に説明する。図32は、通信プロトコル解析部160gの構成を示すブロック図である。図32に示すように通信プロトコル解析部160gは、実施の形態4の通信プロトコル解析部160dとほぼ同様の部材を備えているが、通信速度制御部230に代えて、通信速度制御部730gを備えている。
通信速度制御部730gは、フレーム開始検出部213からBOFが検出されたことが通知された場合は、受信したフレームの通信速度を115.2kbpsと決定し、フレーム開始検出部223からBOFが検出されたことが通知された場合は、受信したフレームの通信速度を9600bpsと決定する。そして、その決定結果をデータ選択部240に通知する。そして、受信したフレームの通信速度を115.2kbpsと決定した後は、フレーム終了検出部214からEOFが検出されたことが通知されるまでは、フレーム開始検出部223からBOFが検出されたことの通知には反応しない(つまり、受信したフレームの通信速度が9600bpsであると決定しない)。
逆に、受信したフレームの通信速度を9600bpsと決定した後は、フレーム終了検出部224からEOFが検出されたことが通知されるまでは、フレーム開始検出部213からBOFが検出されたことの通知には反応しない(つまり、受信したフレームの通信速度が115.2kbpsであると決定しない)。これにより、115.2kbpsの通信速度で受信中に、フレーム開始検出部223がBOFを誤認識しても、受信速度を変更しないようにできる。
なお、通信速度制御部730gが受信フレームの通信速度を115.2kbpsに決定した後、フレーム終了検出部214がEOFを検出できず、フレーム終了検出部214から通知がされないことが考えられる。このような場合は、所定の時間が経過した後に、通信速度制御部730gを強制的にリセットし、再びフレーム開始検出部213およびフレーム開始検出部223のいずれの通知にも反応するようにしてもよい。所定の時間が経過したことの判定は、EOFの検出したことの通知を受けてからの経過時間をタイマー120により測定して判定してもよい。
以上のように、一度決定した通信速度でデータを受信しているときは、他の通信速度のデータを受信しないようにすることで、例えば115.2kbpsの通信速度でデータを受信しているときに、誤って9600bpsの通信速度であると判定した場合であっても、引き続き送信される115.2kbpsの通信速度のデータを正しく受信することができる。よって、本実施形態の構成によれば、実施の形態4よりもさらに正確に応答レスポンを受信することができるため、より確実に通信プロトコルを判定することができる。したがって、本実施形態の構成によれば、通信機器2からの応答レスポンスを確実に受信し、接続処理を進めることができる。
〔実施の形態8〕
実施の形態1から7においては、二次局からの応答レスポンスの通信速度が異なる複数の通信プロトコルをサポートする通信システムについて説明したが、本実施形態では、二次局からの応答レスポンスの通信速度が同じである複数の通信プロトコルをサポートする通信システムについて説明する。本実施形態について図33から図35に基づいて説明すれば、以下の通りである。なお、説明の便宜上、実施の形態1から7にて示した各部材と同一の機能を有する部材には、同一の符号を付記し、その説明を省略する。
(通信システムの全体構成)
図33を参照しながら、本実施形態に係る通信機器を用いた通信システム3hについて説明する。図33は、本実施形態に係る通信機器である通信機器1hと通信機器2とを備える通信システム3hの構成を示すブロック図である。通信機器1hは、通信機器1aと同様のデジタルカメラや携帯電話機などであり、通信機器2と相互に通信することが可能である。また、通信機器1hは、通信ネットワーク900を通じて図示しない外部の通信機器と通信が可能であってもよい。
(通信機器の構成)
次に、図34を参照しながら、通信機器1hの構成について説明する。図34は通信機器1hの構成を示すブロック図である。図34に示すように、通信機器1hは、実施の形態2の通信機器1aとほぼ同様の部材を備えているが、主制御部10aに代えて主制御部10hを備えている。主制御部10hは、IrLAP層処理部100hと上位層処理部101hと下位層処理部102hと通信プロトコル解析部160hとを備えている。
IrLAP層処理部100hは、プロトコル制御部110h、タイマー120、送信要求コマンド解析部130h、送信用上位層データ格納部140h、第1のプロトコル送信フレーム生成部150h、第2のプロトコル送信フレーム生成部151h、第1のプロトコル受信フレーム解析部170h、第2のプロトコル受信フレーム解析部171h、受信用上位層データ格納部180h、受信コマンド通知生成部190hを備えて構成される。
プロトコル制御部110hは、IrLAP層のプロトコルを制御する。そのために、プロトコル制御部110hは、第1のプロトコル制御部111h、第2のプロトコル制御部112h、プロトコル切り替え部113hを有する。
第1のプロトコル制御部111hは、第1のプロトコルによる通信を行う。そのために、第1のプロトコル制御部111hは、接続制御部1111h、データ転送制御部1112h、切断制御部1113hを備える。接続制御部1111hは、第1のプロトコルによる接続処理を行う。データ転送制御部1112hは、第1のプロトコルによるデータ転送を行う。切断制御部1113hは、第1のプロトコルによる切断処理を行う。そして、第1のプロトコル制御部111hは、接続時には、接続制御部1111hにより接続処理を行い、データ転送時には、データ転送制御部1112hによりデータ転送を行い、切断時には、切断制御部1113hにより切断処理を行う。
第2のプロトコル制御部112hは、第2のプロトコルによる通信を行う。そのために、第2のプロトコル制御部112hは、接続制御部1121h、データ転送制御部1122h、切断制御部1123hを備える。接続制御部1121hは、第2のプロトコルによる接続処理を行う。データ転送制御部1122hは、第2のプロトコルによるデータ転送を行う。切断制御部1123hは、第2のプロトコルによる切断処理を行う。そして、第2のプロトコル制御部112hは、接続時には、接続制御部1121hにより接続処理を行い、データ転送時には、データ転送制御部1122hによりデータ転送を行い、切断時には、切断制御部1123hにより切断処理を行う。
プロトコル切り替え部113hは、第1のプロトコル制御部111hと第2のプロトコル制御部112hとを切り替える。つまり、通信機器2との接続を確立するとき、IrLAP層処理部100hは、プロトコル切り替え部113hの切り替え処理によって、まず第2のプロトコルによる接続を試み、通信機器2からの応答が無ければ、次に第1のプロトコルによる接続を試み、再び通信機器2からの応答が無ければ、次に再び第2のプロトコルによる接続を試みる、という処理を繰り返す。
また、プロトコル制御部110hは、第2のプロトコル制御部112hによる接続処理中に、後述する通信プロトコル解析部160hから第1のプロトコルに対応する応答レスポンスを受信したという判定結果を受けた場合、第1のプロトコルでの接続を行うため、第2のプロトコル制御部112hによる接続処理を終了させ、第1のプロトコルでの接続処理を行う。
同様に、プロトコル制御部110hは、第1のプロトコル制御部111hによる接続処理中に、通信プロトコル解析部160hから第2のプロトコルに対応する応答レスポンスを受信したという判定結果を受けた場合は、第2プロトコルでの接続を行うため、第1のプロトコル制御部111hによる接続処理を終了させ、第2のプロトコルでの接続処理を行う。
なお、図34では、第1のプロトコル制御部111hと第2のプロトコル制御部112hとの2つのプロトコル制御部を備える構成としている。しかし、同一レイヤで複数種類の通信プロトコルを選択的に用いて通信する場合は、それぞれの通信プロトコルに対応するプロトコル制御部を備える構成とすればよい。
送信要求コマンド解析部130hは、上位層からの送信要求コマンドを解析する。ここでいう送信要求コマンドとは、接続要求、データ転送要求、切断要求である。解析結果は、プロトコル制御部130hに通知される。
送信用上位層データ格納部140hは、上位層処理部101hからの送信データを格納する。格納されたデータは、第1のプロトコル送信フレーム生成部150hまたは第2のプロトコル送信フレーム生成部151hに渡され、送信フレーム内に配置される。
第1のプロトコル送信フレーム生成部150hは、第1のプロトコルで規定されたフレームフォーマットに従って、下位層へ渡す送信フレームを生成する。送信用上位層データ格納部140hから取得したデータおよび、プロトコル制御部110hの指示に基づいて、送信データを予め第1のプロトコルで規定されたフレームフォーマットに従って配置し、送信フレームを生成する。またこのとき、二次局がエラー検出を行うためのエラー検出符号を送信フレームに付加する。エラー検出符号は、例えばCRCである。また、エラー訂正符号を送信フレームに付加してもよい。
第2のプロトコル送信フレーム生成部151hは、第2のプロトコルで規定されたフレームフォーマットに従って、下位層へ渡す送信フレームを生成する。送信用上位層データ格納部140hから取得したデータおよび、プロトコル制御部110hの指示に基づいて、送信データを予め第2のプロトコルで規定されたフレームフォーマットによって配置し、送信フレームを生成する。また、併せて、二次局がエラー検出を行うためのエラー検出符号を送信フレームに付加する。エラー検出符号は、例えばCRCである。また、エラー訂正符号を送信フレームに付加してもよい。
なお、図34では、第1のプロトコル送信フレーム生成部150hおよび第2のプロトコル送信フレーム生成部151hとの2つのプロトコル送信フレーム生成部を備える構成としているが、複数種類の通信プロトコルで通信する場合は、それぞれの通信プロトコルに対応するプロトコル送信フレーム生成部を備える構成とすればよい。
第1のプロトコル受信フレーム解析部170hは、通信プロトコル解析部160hより送信された受信フレームを第1のプロトコルのフレームフォーマットに従って解析を行い、解析結果をプロトコル制御部110hに通知する。また、受信フレームから抽出された上位層データを受信用上位層データ格納部180hに格納する。なお、上位層データを受信用上位層データ格納部180hに格納するとき、プロトコル制御部110hを介して格納してもよい。
第2のプロトコル受信フレーム解析部171hは、通信プロトコル解析部160hより送信された受信フレームを第2のプロトコルのフレームフォーマットに従って解析を行い、解析結果をプロトコル制御部110hに通知する。また、受信フレームから抽出された上位層データを受信用上位層データ格納部180hに格納する。なお、上位層データを受信用上位層データ格納部180hに格納するとき、プロトコル制御部110hを介して格納してもよい。
なお、図34では、第1のプロトコル受信フレーム解析部170hおよび第2のプロトコル受信フレーム解析部171hとの2つのプロトコル受信フレーム解析部を備える構成としているが、複数種類の通信プロトコルで通信する場合は、それぞれの通信プロトコルに対応するプロトコル受信フレーム解析部を備える構成とすればよい。
受信用上位層データ格納部180hは、第1のプロトコル受信フレーム解析部170hまたは第2のプロトコル受信フレーム解析部171hにて、抽出された上位層データを格納する。格納されたデータは、上位層へと渡される。
受信コマンド通知生成部190hは、プロトコル制御部110hからの受信コマンド通知生成要求により、受信コマンドを生成し、上位層へと通知する。ここでいう受信コマンドとは、接続要求受信コマンド、データ転送要求受信コマンド、切断要求受信コマンドである。
上位層処理部101hは、受信用上位層データ格納部180hからのデータと受信コマンド通知生成部190hからの受信コマンドとを基にして、IrLAP層より上位層での処理を行う。
下位層処理部102hは、第1のプロトコル送信フレーム生成部150hおよび第2のプロトコル送信フレーム生成部151hからの送信フレームとを基にして、IrLAP層より下位層での処理を行う。
続いて、図35を参照しながら、通信プロトコル解析部160hについて、詳細に説明する。図35は、通信プロトコル解析部160hの構成を示すブロック図である。図35に示すように通信プロトコル解析部160hは、通信プロトコル判定部630h、および受信フレーム構造解析部640hとを備えて構成される。
受信フレーム構造解析部640hは、第2のプロトコル制御部112hが接続要求コマンドを送信後、二次局から返信される応答レスポンスを受信し、解析を行う。受信フレーム構造解析部640hが受信するフレームは、背景技術で説明したとおり図49に示すフレームフォーマットに従う。すなわち、受信フレームはBOFとIrLAP DataとFCSとEOFとのフィールドを備えて構成される。そのために、受信フレーム構造解析部640hは、フレーム開始検出部611h、フレーム終了検出部612h、および誤り検出部613h、受信フレームフィールド解析部641h、および受信フレーム出力セレクタ部642hを備える。
フレーム開始検出部611hは、受信したフレームのBOFフィールドの検出および除去を行う。同様に、フレーム終了検出部612hは、受信したフレームのEOFフィールドの検出および除去を行う。次に、BOFフィールドおよびEOFフィールドが検出された場合には、誤り検出部613hが、受信したフレームのFCSフィールドの値を基にして受信したデータに伝送誤りが発生していないかどうかの判定を行う。そして、誤りを検出しなかった場合、誤り検出部613hはIrLAP Dataフィールドの抽出を行い、受信フレームフィールド解析部641hへ抽出したデータを出力する。
受信フレームフィールド解析部641hは、誤り検出部613hから受信したデータの構造を解析し、所定のフィールドが存在するかどうかを調べる。そして、その結果を通信プロトコル判定部630hに送信する。また、受信フレームフィールド解析部641hは、受信したデータをそのまま受信フレーム出力セレクタ部642hに送信する。
通信プロトコル判定部630hは、受信フレームフィールド解析部641hから、所定のフィールドの検出結果が送信されると、検出結果に基づき、受信したフレームが第1のプロトコルに対応したレスポンスのフレームであるか、または第2のプロトコルに対応したレスポンスのフレームであるかを判定する。そして、判定結果を、受信フレーム出力セレクタ部642hおよびプロトコル制御部110hに通知する。
受信フレーム出力セレクタ部642hは、通信プロトコル判定部630hからの判定結果に基づき、受信フレームフィールド解析部641hから受信したデータの出力先を切り替える。すなわち、判定結果が第1のプロトコルに対応したレスポンスのフレームであることを示す内容であれば、受信したデータを第1のプロトコル受信フレーム解析部170hへ出力する。一方、判定結果が第2のプロトコルに対応したレスポンスのフレームであるという内容であれば、受信したデータを第2のプロトコル受信フレーム解析部171hへ出力する。
以上のように、第1の応答レスポンスの通信速度と第2の応答レスポンスの通信速度とが同じであっても、第1の応答レスポンスのフレーム構造と第2の応答レスポンスのフレーム構造とが異なる場合、本実施形態の構成によれば、二次局から送信される応答レスポンスを確実に受信することができる。
〔変形例〕
また、本明細書の通信機器および二次局となる通信機器は、赤外線通信が可能な通信機器であれば、例えば、携帯電話機、PDA、PC、テレビ、デジタルカメラ、プリンタなどであってもよい。
例えば、本明細書の通信機器は、他の携帯電話機から携帯電話網を介して受信したメールデータや画像データなどを二次局に赤外線で送信する携帯電話機に好適である。また、例えば、本発明に係る通信機器は、撮像した画像データを二次局に赤外線で送信するデジタルカメラなどの撮像装置に好適である。また、本発明に係る通信機器が送受信するデータは、テキストデータ、音声データ、画像データ、映像データ、またはそれらを組み合わせたものであってもよく、また、特定のフォーマットに限定されるものではない。
また、上述の実施の形態では、通信機器1a・1b・1c・1d・1e・1f・1g・1hが一次局として動作する形態について記述したが、通信機器1a・1b・1c・1d・1e・1f・1g・1hは二次局としても動作する機能を有していてもよい。
また、上述の実施の形態では、通信機器1a・1b・1c・1d・1e・1f・1gは、第1のプロトコルとしてIrDAプロトコルをサポートし、第2のプロトコルとしてIrSimpleプロトコルをサポートするとして説明したが、IrDAプロトコルとIrSimpleプロトコルに限定されるものではない。すなわち、本発明に係る通信機器は、通信速度の異なる複数の通信プロトコルをサポートする通信機器、または、応答フレームの構造が異なる複数の通信プロトコルをサポートする通信機器に好適である。
なお、実施の形態は上述の他に、以下のようにも表現できる。
[1]本発明に係る通信方式は、第1の通信プロトコルに対応した接続もしくは局発見もしくはその両方の意味を持つ要求フレームを送信後、対向局からの第2の通信プロトコルに対応した応答フレームを受信した場合に、第1の通信プロトコルで処理を行い、第2の通信プロトコルに対応した接続もしくは局発見もしくはその両方の意味を持つ要求フレームを送信後、対向局からの第2の通信プロトコルに対応した応答フレームを受信した場合に、第2の通信プロトコルで処理を行う複数の通信プロトコルに対応した通信方式であって、前期通信機器は、第2の通信プロトコルに対応した上記要求フレームを送信した後、対向局から返信される第1の通信プロトコルに対応した応答フレームもしくは第2の通信プロトコルに対応した応答フレームの双方の応答フレームを受信可能とし、受信した応答フレームが第1の通信プロトコルに対応した応答フレームであるか、第2の通信プロトコルに対応した応答フレームであるかを解析するものであってもよい。
[2]さらに、本発明に係る通信方式は、前記受信した応答フレームが第1の通信プロトコルに対応した応答フレームであるか、第2の通信プロトコルに対応した応答フレームであるかを解析する手段として、対向局から返信される応答フレームの通信速度が第1の通信プロトコルと第2の通信プロトコルで異なる場合、対向局から返信される応答フレームの通信速度の検出を行い、検出した通信速度によって、受信した応答フレームが第1の通信プロトコルに対応した応答フレームであるか、第2の通信プロトコルに対応した応答フレームであるかの解析を行うものであってもよい。
[3]さらに、本発明に係る通信方式は、前記受信した応答フレームが第1の通信プロトコルに対応した応答フレームであるか、第2の通信プロトコルに対応した応答フレームであるかを解析する手段として、対向局から返信される応答フレームのフレーム構造が第1の通信プロトコルと第2の通信プロトコルで異なる場合、対向局から返信される応答フレームのフレーム構造の相違を検出し、検出した応答フレームのフレーム構造の相違によって、受信した応答フレームが第1の通信プロトコルに対応した応答フレームであるか、第2の通信プロトコルに対応した応答フレームであるかの解析を行うものであってもよい。
[4]さらに、本発明に係る通信方式は、前記受信した応答フレームが第1の通信プロトコルに対応した応答フレームであるか、第2の通信プロトコルに対応した応答フレームであるかを解析した結果、受信した応答フレームが第1の通信プロトコルに対応した応答フレームである場合には、第1の通信プロトコルでの同一レイヤもしくは上位レイヤの接続もしくはデータ交換処理を開始し、受信した応答フレームが第2の通信プロトコルに対応した応答フレームである場合には、第2の通信プロトコルで同一レイヤもしくは上位レイヤの接続もしくはデータ交換処理を開始するものであってもよい。
[5]さらに、本発明に係る通信方式は、前記第1の通信プロトコルはIrDAプロトコルであり、前記第2の通信プロトコルはIrSimpleプロトコルであってもよい。
[6]本発明に係る通信回路は、所定のプロトコルに準拠した通信方式を用いた通信回路であって、複数のあらかじめ定められた転送速度に対応したスロットを用いて、受信パルスを検出するための検出回路を、各々が異なる転送速度に対応した状態で、同時に動作させ、あらかじめ定められたフレーム開始に相当するデータを検出した検出回路に対応した転送速度を通信速度とするものであってもよい。
[7]さらに、本発明に係る通信回路は、前記フレーム開始に相当するデータを検出した転送速度検出回路において、あらかじめ定められたフレーム終了に相当するデータを受信する前に、他の転送速度に対応した転送速度検出回路において、あらかじめ定められたフレーム開始に相当するデータを受信した場合、その旨を外部に通知する手段を有するものであってもよい。
[8]さらに、本発明に係る通信回路は、前記あらかじめ定められた転送速度とは、9,600bpsと115.2kbpsであってもよい。
[9]さらに、本発明に係る通信回路は、あらかじめ定められたフレーム開始に相当するデータを検出した受信転送速度を外部に通知する手段を有するものであってもよい。
[10]さらに、本発明に係る通信回路は、前記受信パルスが所定の長さより長いパルス幅である場合に、パルス受信と認識するものであってもよい。
[11]さらに、本発明に係る通信回路は、前記スロット内に2つ以上のパルスを検出した場合は、その通信回路でフレーム開始が検出されたとしても、無視するものであってもよい。
[12]さらに、本発明に係る通信回路は、前記あらかじめ定められたフレーム開始データが検出された通信回路に対応する転送速度が、所定の転送速度であった場合は、その転送速度に受信速度を設定し外部よりリセットされるまでその受信速度を保つものであってもよい。
最後に、主制御部10610a610b610cd・10e・10f・10g・10hは、上述のようにCPUを用いてソフトウェアによって実現してもよいし、ハードウェアロジックによって構成してもよい。ソフトウェアによって実現する場合は、通信機器1a・1b・1c・1d・1e・1f・1g・1hは、各機能を実現する制御プログラムの命令を実行するCPU、上記プログラムを格納したROM、上記プログラムを展開するRAM、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである通信機器1a・1b・1c・1d・1e・1f・1g・1hの制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、通信機器1a・1b・1c・1d・1e・1f・1g・1hに供給し、通信機器1a・1b・1c・1d・1e・1f・1g・1h内のコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、通信機器1a・1b・1c・1d・1e・1f・1g・1hを通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394ケーブル、USBケーブル、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明は、通信機器に広く適用可能であり、特に光空間通信機能を有する通信機器、例えばノートPC、PDA、携帯電話、デジタルカメラ等の携帯型無線通信機器に好適に利用できる。
本発明の実施の一形態である通信機器の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。 本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器が二次局からの応答に応じて接続処理を変更する処理の流れを示すフローチャートである。 本発明の実施の一形態である通信機器と、ブロードキャストフレームを受信したときにIrDAプロトコルのUAレスポンスを返信するIrDAプロトコルを規定どおりにサポートしていない通信機器とが接続を行うときの信号シーケンスである。 本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。 本発明の実施の一形態である通信機器の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。 本発明の実施の一形態である通信機器の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。 本発明の実施の一形態である通信機器の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器におけるパルス検出部の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器におけるパルス検出部がスロット毎のパルスを検出するタイミングチャートである。 本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。 本発明の実施の一形態である通信機器の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器におけるパルス検出部の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器における短パルス除去部の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器における短パルス除去部が、パルス幅が1.2マイクロ秒未満の短パルスを除去するタイミングチャートである。 本発明の実施の一形態である通信機器におけるIrDAプロトコルフレーム検出部に、19200bpsの通信速度の信号が入力された場合のタイミングチャートである。 本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。 本発明の実施の一形態である通信機器の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器における周波数検出部の要部構成を示すブロック図である。 1スロット内に2つのパルスが存在する場合に、本発明の実施の一形態である通信機器における周波数検出部が、受信予定の通信速度の周波数より高い周波数で受信したことを検知するタイミングチャートである。 115.2kbpsの通信速度で受信した信号を、本発明の実施の一形態である通信機器におけるIrDAプロトコルフレーム検出部が誤って、9600bpsのBOFであると検出する場合の説明図である。 本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。 本発明の実施の一形態である通信機器の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器を用いた通信システムの要部構成を示すブロック図である。 本発明の実施の一形態である通信機器の要部構成を示すブロック図である。 本発明の実施の一形態である通信機器における通信プロトコル解析部の要部構成を示すブロック図である。 IrDA規格において、IrLAP層の接続を行うときの信号シーケンス図である。 IrSimple規格における片方向通信において、IrLAP層の接続を行うときの信号シーケンス図である。 IrSimple規格における双方向通信において、IrLAP層の接続を行うときの信号シーケンス図である。 IrSimpleプロトコルのSNRMコマンドフォーマットを示す説明図である。 IrSimpleプロトコルのUAレスポンスフォーマットを示す説明図である。 IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする通信機器が、IrSimpleプロトコルとIrDAプロトコルとの切り替えを行うときの信号シーケンス図である。 IrDAプロトコルのXIDコマンドフォーマットを示す説明図である。 IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする通信機器が、IrDAプロトコルのみを規定どおりにサポートする通信機器を二次局として接続するときの信号シーケンス図である。 IrDAプロトコルのXIDレスポンスフォーマットを示す説明図である。 IrDAプロトコルのSNRMコマンドフォーマットを示す説明図である。 IrDAプロトコルのUAレスポンスフォーマットを示す説明図である。 IrDAプロトコルにおけるSIR通信時の物理層の伝送フォーマットの例を示す説明図である。 通信速度毎のパルス幅の最小許容値、最大許容値、および一般的な使用値を示す説明図である。 IrDAプロトコルにおけるSIR通信時のフレームを示す説明図である。 SIR受信回路およびUART受信回路において、受信したパルス波をUARTフレームに変換する様子を示す説明図である。 9600bpsの通信速度の応答フレームと115.2kbpsの通信速度の応答フレームとを自動識別して受信する既存の方法を示す図である。 9600bpsの通信速度におけるビットの送信間隔と115.2kbpsの通信速度における10ビット分の送信間隔との比較を示す説明図である。 IrDAプロトコルとIrSimpleプロトコルの両方を規定どおりにサポートする通信機器が一次局として、IrSimpleのSNRMコマンドに対してIrDAのUA応答レスポンスを返信する通信機器を相手に接続を試みるときの信号シーケンス図である。 IrDAプロトコルのみを規定どおりにサポートする通信機器が一次局として、IrSimpleのSNRMコマンドに対してIrDAのUA応答レスポンスを返信する通信機器を相手に接続を試みるときの信号シーケンスである。 二次局から送信される9600bpsの通信速度の応答フレームと115.2kbpsの通信速度の応答フレームとを一次局で自動識別して、いずれの通信速度であっても受信できる非特許文献5の記載の方法により、9600bpsの通信速度で送信されるBOFを正常に検出することができないことを示す説明図である。
符号の説明
1a 通信機器(一次局)
1b 通信機器(一次局)
1c 通信機器(一次局)
1d 通信機器(一次局)
1e 通信機器(一次局)
1f 通信機器(一次局)
1g 通信機器(一次局)
1h 通信機器(一次局)
2 通信機器(二次局)
3a 通信システム
3b 通信システム
3c 通信システム
3d 通信システム
3e 通信システム
3f 通信システム
3g 通信システム
3h 通信システム
110 プロトコル制御部(プロトコル制御手段)
110h プロトコル制御部(プロトコル制御手段)
111 IrDA-IrLAP制御部(第1のプロトコル制御部)(第1のプロトコル制御手段)
111h 第1のプロトコル制御部(第1のプロトコル制御手段)
112 IrSimple-IrLAP制御部(第2のプロトコル制御部)(第2のプロトコル制御手段)
112h 第2のプロトコル制御部(第2のプロトコル制御手段)
160a 通信プロトコル解析部(通信プロトコル解析手段)
160b 通信プロトコル解析部(通信プロトコル解析手段)
160c 通信プロトコル解析部(通信プロトコル解析手段)
160d 通信プロトコル解析部(通信プロトコル解析手段)
160e 通信プロトコル解析部(通信プロトコル解析手段)
160f 通信プロトコル解析部(通信プロトコル解析手段)
160g 通信プロトコル解析部(通信プロトコル解析手段)
160h 通信プロトコル解析部(通信プロトコル解析手段)
201 IrSimpleプロトコルフレーム検出部(第2のプロトコル受信手段)
202 IrDAプロトコルフレーム検出部(第1のプロトコル受信手段)

610a IrSimpleプロトコルフレーム受信部(第2のプロトコル受信手段)
610b IrSimpleプロトコルフレーム受信部(第2のプロトコル受信手段)
610c IrSimpleプロトコルフレーム受信部(第2のプロトコル受信手段)
620a IrDAプロトコルフレーム受信部(第1のプロトコル受信手段)
620b IrDAプロトコルフレーム受信部(第1のプロトコル受信手段)
620c IrDAプロトコルフレーム受信部(第1のプロトコル受信手段)
630a 通信プロトコル判定部(通信プロトコル判定手段)
630b 通信プロトコル判定部(通信プロトコル判定手段)
630c 通信プロトコル判定部(通信プロトコル判定手段)
630h 通信プロトコル判定部(通信プロトコル判定手段)
640b IrSimpleプロトコル受信フレームフィールド解析部(受信フレーム構造解析手段)
640c 受信フレーム構造解析部(受信フレーム構造解析手段)
640h 受信フレーム構造解析部(受信フレーム構造解析手段)
650b IrDAプロトコル受信フレームフィールド解析部(受信フレーム構造解析手段)
701e IrSimpleプロトコルフレーム検出部(第2のプロトコル受信手段)
701f IrSimpleプロトコルフレーム検出部(第2のプロトコル受信手段)
702e IrDAプロトコルフレーム検出部(第1のプロトコル受信手段)
702f IrDAプロトコルフレーム検出部(第1のプロトコル受信手段)

Claims (10)

  1. 二次局と通信する一次局としての通信機器であって、
    第1の接続処理コマンドを送信する第1のプロトコル制御手段と、
    第2の接続処理コマンドを送信する第2のプロトコル制御手段と、
    第1の接続処理コマンドに対する第1の応答レスポンスと、第1の応答レスポンスとは識別が可能な、第2の接続処理コマンドに対する第2の応答レスポンスとのいずれをも受信し、受信した応答レスポンスを解析した結果を基に、該受信した応答レスポンスが第1の応答レスポンスであるか、または、第2の応答レスポンスであるかを判定する通信プロトコル解析手段と、
    上記通信プロトコル解析手段が、受信した応答レスポンスを第1の応答レスポンスであると判定した場合、上記第1のプロトコル制御手段により二次局との接続を行い、上記通信プロトコル解析手段が、受信した応答レスポンスを第2の応答レスポンスであると判定した場合、上記第2のプロトコル制御手段により二次局との接続を行うプロトコル制御手段とを備えることを特徴とする通信機器。
  2. 第1の応答レスポンスの通信速度と第2の応答レスポンスの通信速度とが異なる場合に、
    上記通信プロトコル解析手段は、
    第1の応答レスポンスの通信速度で応答レスポンスを受信し、受信した応答レスポンスから第1の応答レスポンスの通信速度で第1の所定フレームを検出する第1のプロトコル受信手段と、
    第2の応答レスポンスの通信速度で応答レスポンスを受信し、受信した応答レスポンスから第2の応答レスポンスの通信速度で第2の所定フレームを検出する第2のプロトコル受信手段と、
    上記第1のプロトコル受信手段が第1の所定フレームを検出したとき、受信した応答レスポンスを第1の応答レスポンスであると判定し、上記第2のプロトコル受信手段が第2の所定フレームを検出したとき、受信した応答レスポンスを第1の応答レスポンスであると判定する通信プロトコル判定手段とを備えること特徴とする請求項1に記載の通信機器。
  3. 上記通信プロトコル解析手段は、
    受信した第1の応答レスポンスのフレーム構造、および、受信した第2の応答レスポンスのフレーム構造を解析し、第1および第2の所定フィールドを検出する受信フレーム構造解析手段と、
    上記受信フレーム構造解析手段が第1の所定フィールドを検出したとき、受信した応答レスポンスを第1の応答レスポンスであると判定し、上記受信フレーム構造解析手段が第2の所定フィールドを検出したとき、受信した応答レスポンスを第2の応答レスポンスであると判定する通信プロトコル判定手段とを備えること特徴とする請求項1または2に記載の通信機器。
  4. 上記通信プロトコル解析手段が、受信した応答フレームを第1の応答フレームであると判定した場合、第1のプロトコルでの同一レイヤおよび上位レイヤにおける接続処理を行い、受信した応答フレームを第2の応答フレームであると判定した場合、第2のプロトコルでの同一レイヤおよび上位レイヤにおける接続処理を行うことを特徴とする請求項1から3のいずれか1項に記載の通信機器。
  5. 上記第1のプロトコルがIrDA(Infrared Data Association)プロトコルであり、上記第2のプロトコルがIrSimpleプロトコルであることを特徴とする請求項1から4のいずれか1項に記載の通信機器。
  6. 二次局と通信する一次局としての通信機器における通信方法であって、
    第1の接続処理コマンドを送信する第1のプロトコル制御ステップと、
    第2の接続処理コマンドを送信する第2のプロトコル制御ステップと、
    第1の接続処理コマンドに対する第1の応答レスポンスと、第1の応答レスポンスとは識別が可能な、第2の接続処理コマンドに対する第2の応答レスポンスとのいずれをも受信し、受信した応答レスポンスを解析した結果を基に、該受信した応答レスポンスが第1の応答レスポンスであるか、または、第2の応答レスポンスであるかを判定する通信プロトコル解析ステップと、
    上記通信プロトコル解析ステップが、受信した応答レスポンスを第1の応答レスポンスであると判定した場合、上記第1のプロトコル制御ステップにより二次局との接続を行い、上記通信プロトコル解析ステップが、受信した応答レスポンスを第2の応答レスポンスであると判定した場合、上記第2のプロトコル制御ステップにより二次局との接続を行うプロトコル制御ステップとを含むことを特徴とする通信方法。
  7. 請求項1から5のいずれか1項に記載の通信機器を動作させるプログラムであって、コンピュータを上記の各手段として機能させるためのプログラム。
  8. 請求項7に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
  9. 請求項1から5のいずれか1項に記載の通信機器を動作させる通信回路であって、上記の各手段として機能することを特徴とする通信回路。
  10. 請求項1から5のいずれか1項に記載の通信機器を搭載し、該通信機器によって他の通信装置と通信する通信装置と、該他の通信装置とを備えることを特徴とする通信システム。
JP2006322632A 2006-11-29 2006-11-29 通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体 Pending JP2008141252A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006322632A JP2008141252A (ja) 2006-11-29 2006-11-29 通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体
US11/937,876 US20080126554A1 (en) 2006-11-29 2007-11-09 Communications device, communications method, communications circuit, communications system, computer program, and computer-readable storage medium containing the computer program
CNA2007101961148A CN101193121A (zh) 2006-11-29 2007-11-28 通信设备、通信方法、通信电路、通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006322632A JP2008141252A (ja) 2006-11-29 2006-11-29 通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
JP2008141252A true JP2008141252A (ja) 2008-06-19

Family

ID=39465058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006322632A Pending JP2008141252A (ja) 2006-11-29 2006-11-29 通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体

Country Status (3)

Country Link
US (1) US20080126554A1 (ja)
JP (1) JP2008141252A (ja)
CN (1) CN101193121A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011066578A (ja) * 2009-09-16 2011-03-31 Hitachi Consumer Electronics Co Ltd ワイヤレス通信システム

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8036244B2 (en) * 2004-08-06 2011-10-11 Sharp Kabushiki Kaisha Transmitter, receiver, communication system, communication method, non-transitory computer readable medium
KR100902341B1 (ko) * 2005-01-28 2009-06-12 샤프 가부시키가이샤 통신기기, 통신시스템, 통신방법, 통신 프로그램을 기록한 컴퓨터독취가능한 기록매체, 통신회로
US7787391B2 (en) * 2005-01-28 2010-08-31 Sharp Kabushiki Kaisha Communication device, communication system, communication method, communication program, and communication circuit
JP4198741B2 (ja) * 2005-01-28 2008-12-17 シャープ株式会社 通信機器、通信システム、通信方法、通信プログラム、通信回路
US8051182B2 (en) * 2005-01-28 2011-11-01 Sharp Kabushiki Kaisha Communication device, communication system, communication method, communication program, and communication circuit
US20090262661A1 (en) * 2005-11-10 2009-10-22 Sharp Kabushiki Kaisha Data transmission device and method of controlling same, data receiving device and method of controlling same, data transfer system, data transmission device control program, data receiving device control program, and storage medium containing the programs
ES2396309T3 (es) 2005-12-14 2013-02-20 Research In Motion Limited Método y aparato para el control de recursos de radio dirigido a un equipo de usuario
US8265034B2 (en) 2006-05-17 2012-09-11 Research In Motion Limited Method and system for a signaling connection release indication
DE602006017517D1 (de) * 2006-05-17 2010-11-25 Research In Motion Ltd Verfahren und System zur Anzeige einer Ursache für einen Abbau einer Signalisierungsverbindung in einem UMTS Netz
US20080049662A1 (en) * 2006-08-25 2008-02-28 Research In Motion Limited Apparatus, and associated method, for releasing a data-service radio resource allocated to a data-service-capable mobile node
JP4219950B2 (ja) * 2006-10-16 2009-02-04 シャープ株式会社 通信機器、通信方法、通信回路、携帯電話機、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体
ES2385415T3 (es) 2007-11-13 2012-07-24 Research In Motion Limited Método y aparato para la transición de estado/modo
WO2010008248A2 (en) * 2008-07-18 2010-01-21 Lg Electronics Inc. A method and an apparatus for controlling messages between host and controller.
WO2010008249A2 (en) * 2008-07-18 2010-01-21 Lg Electronics Inc. A method and an apparatus for controlling messages between host and controller.
EP2667679B1 (en) * 2008-11-10 2020-01-08 BlackBerry Limited Method and apparatus of transition to a battery efficient state or configuration by indicating end of data transmission in long term evolution
CA3038940C (en) 2009-11-23 2021-04-27 Blackberry Limited Method and apparatus for state/mode transitioning
CA2781558C (en) 2009-11-23 2021-06-29 Research In Motion Limited Method and apparatus for state/mode transitioning
JP5525621B2 (ja) 2009-11-23 2014-06-18 ブラックベリー リミテッド Sriメッセージ伝送に基づいてトリガする状態またはモード遷移
US20110124294A1 (en) * 2009-11-24 2011-05-26 Research In Motion Limited Method and apparatus for state/mode transitioning
EP2341687B1 (en) * 2009-12-30 2016-03-23 BlackBerry Limited Method and system for allowing varied functionality based on multiple transmissions
US8983532B2 (en) * 2009-12-30 2015-03-17 Blackberry Limited Method and system for a wireless communication device to adopt varied functionalities based on different communication systems by specific protocol messages
MX2012005875A (es) * 2010-02-10 2012-11-30 Research In Motion Ltd Metodo y aparato para transicion de estado/modo.
JP5576697B2 (ja) * 2010-04-14 2014-08-20 オリンパス株式会社 サービス利用端末、サービス提供端末、サービス利用端末の制御方法、サービス提供端末の制御方法およびサービス提供システム
EP2777358B1 (en) 2011-11-11 2018-01-10 BlackBerry Limited Method and apparatus for user equipment state transition
CN103281068B (zh) * 2013-05-07 2016-03-02 日银Imp微电子有限公司 一种脉冲开关输入的接口电路
CN111327502B (zh) * 2020-03-03 2021-12-14 南京岸鸣智能科技有限公司 一种基于脉冲扩展协议的通信方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3161910B2 (ja) * 1994-07-26 2001-04-25 シャープ株式会社 通信装置
US5557634A (en) * 1994-10-14 1996-09-17 International Business Machines Corporation Multiprotocol directed infrared communication controller
JP3698833B2 (ja) * 1996-09-20 2005-09-21 株式会社リコー ワイヤレス通信システム
JP3482103B2 (ja) * 1997-07-29 2003-12-22 シャープ株式会社 赤外線通信制御装置および方法
CN1227890C (zh) * 2000-09-18 2005-11-16 皇家菲利浦电子有限公司 用作数码相片显示放映机的独立监视器
JP4108495B2 (ja) * 2003-01-31 2008-06-25 松下電器産業株式会社 局発見処理方法および無線通信装置
JP4335090B2 (ja) * 2004-05-14 2009-09-30 シャープ株式会社 移動端末装置
JP4597583B2 (ja) * 2004-05-31 2010-12-15 シャープ株式会社 データ送信装置、データ受信装置、通信システム、データ送信装置の制御プログラム、データ受信装置の制御プログラム、および、コンピュータ読み取り可能な記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011066578A (ja) * 2009-09-16 2011-03-31 Hitachi Consumer Electronics Co Ltd ワイヤレス通信システム

Also Published As

Publication number Publication date
US20080126554A1 (en) 2008-05-29
CN101193121A (zh) 2008-06-04

Similar Documents

Publication Publication Date Title
JP2008141252A (ja) 通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2008141253A (ja) 通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4219950B2 (ja) 通信機器、通信方法、通信回路、携帯電話機、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体
US7548736B2 (en) Transmitter, receiver, data transfer system, transmission method, reception method, computer program for transmission, computer program for reception, and recording medium
US8036244B2 (en) Transmitter, receiver, communication system, communication method, non-transitory computer readable medium
US8284684B2 (en) Communication device, communication system, communication method, and communication circuit
JP5100854B2 (ja) 通信装置、及び通信方法
US7787391B2 (en) Communication device, communication system, communication method, communication program, and communication circuit
EP2719156B1 (en) Techniques for facilitating interoperation between an accessory and multiple devices
JP4094657B2 (ja) 通信機器、通信システム、通信方法、通信プログラム、通信回路
CN102264151A (zh) 信息处理装置、信息处理方法、以及信息处理程序
US20230209412A1 (en) Information sending method, resource processing method, apparatus, and electronic device
US8244239B2 (en) Communication apparatus, communication method, program, and communication system
WO2013047580A1 (ja) 通信システム、通信装置および通信方法
US20040106378A1 (en) Circuit connection restoration method and program for restoring connection in short time
JP4810544B2 (ja) 通信装置、通信方法、通信プログラム、および記録媒体
US20080279304A1 (en) Data transmitting device, data transmitting method, data transmitting and receiving system, data transmitting computer program and stroage medium therefor, data receiving device, data receiving method, and data receiving computer program and storage medium therefor
US7849209B2 (en) System and method for link rate negotiation
JP2008236734A (ja) データ受信装置、その制御プログラムおよび該制御プログラムを記録したコンピュータ読取り可能な記録媒体、データ送受信システムならびに制御方法
JP4927048B2 (ja) 送信回路、送信機器、受信回路および受信機器
JP2009060652A (ja) 通信機器
CN113572569B (zh) 一种传输速率切换方法以及相关装置
CN115278634A (zh) 显示设备及蓝牙扫描方法
JP2001257739A (ja) 赤外線発光電力制御方法及びその装置
JP2012256958A (ja) 送信装置及び受信装置