(57)【要約】【課題】高速かつ安定した送受信処理を行なうことができる送信回路、送信機器、受信回路および受信機器を実現する。【解決手段】送信先の受信機器を特定するアドレスを含む、送信処理を開始するための接続要求コマンドと、分割した送信データを含むデータ転送要求コマンドと、送信処理を終了するための切断要求コマンドとをアドレスにより特定される受信機器に送信することによって、受信機器と片方向通信を行なう送信機器１０の送信回路１００において、送信ソフトウェア１５０から送信データの送信処理を要求する送信要求を受信すると、接続要求コマンド、データ転送要求コマンドおよび切断要求コマンドを受信機器に順次送信する。【選択図】図１
2010057140.tif 000002
【特許請求の範囲】
【請求項１】
送信先の受信機器を特定するアドレスを含む、送信処理を開始するための接続要求コマンドと、分割した送信データを含むデータ転送要求コマンドと、送信処理を終了するための切断要求コマンドとを上記アドレスにより特定される受信機器に送信することによって、当該受信機器と片方向通信を行なう送信機器の送信回路であって、
上位層から上記送信データの送信処理を要求する送信要求を受信すると、上記接続要求コマンド、上記データ転送要求コマンドおよび上記切断要求コマンドを上記受信機器に順次送信することを特徴とする送信回路。
【請求項２】
上記上位層から上記送信要求を受信すると、接続要求を通知するための接続要求通知、データ転送要求を通知するためのデータ転送要求通知、および切断要求を通知するための切断要求通知を生成する送信要求処理部と、
上記送信要求処理部から上記接続要求通知を受信したときに上記接続要求コマンドを生成し、当該送信要求処理部から上記データ転送要求通知を受信したときに上記データ転送要求コマンドを生成し、当該送信要求処理部から上記切断要求通知を受信したときに上記切断要求通知を生成するコマンド生成処理部と、を備えたことを特徴とする請求項１に記載の送信回路。
【請求項３】
上記コマンド生成処理部は、上記データ転送要求コマンドを生成するときに、当該コマンド生成処理部の下位層において送信処理を行なうことが可能なデータサイズに上記送信データを分割することを特徴とする請求項２に記載の送信回路。
【請求項４】
請求項１から３の何れか１項に記載の送信回路を備えたことを特徴とする送信機器。
【請求項５】
送信機器から、送信先の受信機器を特定するためのアドレスを含む、当該送信機器が送信処理を開始するための接続要求コマンドと、当該送信機器によって分割された送信データを含むデータ転送要求コマンドと、当該送信機器が送信処理を終了するための切断要求コマンドとを受信することが可能であり、上記アドレスにより特定されて当該送信機器と片方向通信を行なうことが可能な受信機器の受信回路であって、
上記送信機器から上記接続要求コマンド、上記データ転送要求コマンドおよび上記切断要求コマンドを順次受信すると、上位層に対して、当該データ転送要求コマンドに含まれる分割された送信データを順次転送するとともに、受信処理が完了したことを示す受信完了通知を転送することを特徴とする受信回路。
【請求項６】
上記接続要求コマンド、上記データ転送要求コマンドおよび上記切断要求コマンドを解析し、接続完了を通知するための接続要求通知、データ転送完了を通知するためのデータ転送完了通知および切断完了を通知するための切断要求通知を生成するコマンド解析処理部と、
上記コマンド解析処理部によって生成された上記接続要求通知、上記データ転送完了通知および上記切断要求通知を順次受信し、当該切断要求通知を受信したときに、上記受信完了通知を上記上位層に転送する受信要求処理部と、を備えたことを特徴とする請求項５に記載の受信回路。
【請求項７】
データ転送におけるエラーの有無を検出するエラー検出部を備え、
上記エラー検出部がエラーを検出した場合には、エラー有りの通知を上記上位層に転送することを特徴とする請求項５または６に記載の受信回路。
【請求項８】
請求項５から７の何れか１項に記載の受信回路を備えたことを特徴とする受信機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、片方向通信方式によってデータの送受信を行なうための送信回路、送信機器、受信回路および受信機器に関する。
【背景技術】
【０００２】
近年、デジタルカメラ、デジタルカメラ機能を有するカメラ付き携帯電話等の情報機器が普及している。これに伴い、情報機器において写真を画像データとして取り扱う機会が増えている。また、これに対応して、デジタルカメラや携帯電話などから取り込んだ画像データを表示するテレビ等の表示装置や、当該画像データを印刷するプリンタ等の画像形成装置などの機器も増えてきており、情報機器間でデータを転送する機会が多くなってきている。
【０００３】
情報機器間でデータを送受信する技術としては、ワイヤレスで手軽にデータ転送を行なえる無線通信が普及している。そして、画像データのようなデータを情報機器同士で送受信するには、１対１の通信で十分であるため、指向性が高い無線通信が特に普及している。
【０００４】
以下では、その無線通信技術の一例として、赤外線通信を取り上げて説明する。なお、本発明の説明には無線通信として赤外線通信を用いるが、これに限定されず、片方向無線通信方式であれば本発明に適用できる。
【０００５】
赤外線通信の規格としては、例えば、業界団体であるＩｒＤＡ（Infrared Data Association）によって標準化されたＩｒＤＡ方式がある。また、赤外線通信において受信可能な機器をサーチする処理を必ずしも必要としない場合にデータ通信の高速化を実現する技術として片方向の赤外線通信を行なう方式が提案されている。例えば、ＩｒＳｉｍｐｌｅと略称される通信方式の片方向通信規格であるＩｒＳｉｍｐｌｅＳｈｏｔ（登録商標）またはＩｒＳＳ（登録商標）と略称される通信方式が提案されている。片方向赤外線通信方式は、携帯電話、携帯情報端末、ノートＰＣ、デジタルカメラ、プリンタ、電子腕時計等の機器間における、数メートルのＰＡＮ（Personal Area Network）の範囲内でのデータ転送において特に広く用いられている。
【０００６】
（ＩｒＳＳ方式におけるプロトコルスタック）
ここで、図８を用いて、ＩｒＳＳ方式におけるプロトコルの処理について説明する。図８は、ＩｒＳＳ方式のプロトコルスタックについて示した説明図である。
【０００７】
図８に示すように、ＩｒＳＳ方式のプロトコルスタックは、下から順に、ＩｒＰＨＹ(IrDA Physical Layer)層、ＩｒＬＡＰ(IrDA Link Access Protocol)層、ＩｒＬＭＰ(IrDA Link Management Protocol)層、ＳＭＰ(Sequence Management Protocol)層、ＯＢＥＸ(OBject EXchange protocol)からなる構成である。
【０００８】
ＩｒＰＨＹ層は、変復調方式・信号強度・指向性等を定義する。
【０００９】
ＩｒＬＡＰ層は、汎用のＨＤＬＣ(High level Data Link Control)に従った誤り制御機能・透過伝送およびフロー制御の他、通信の速度、アドレスや最大データサイズを通信に先立って互いにネゴシエーションする機能および接続すべき特定の外部機器を探索して発見する手続き等を定義している。
【００１０】
ＩｒＬＭＰ層は、ＴＣＰ/ＩＰ(Transmission Control Protocol/Internet Protocol)プロトコルのＴＣＰやＵＤＰ（User Datagram Protocol）で使われるポート番号に相当する多重化・多重分離の機能を提供する。
【００１１】
ＳＭＰ層は、個別の論理リンクにおいてフロー制御を行なう機能を提供する。
【００１２】
ＯＢＥＸ層は、データ通信におけるオブジェクト交換を行なう機能を提供する。ＯＢＥＸ層では、オブジェクト交換を行なうための各種のコマンドが規定されている。例えば、送信側から、受信側に接続要求を行なうための“ＯＢＥＸ接続要求コマンド”、データ転送を行なうための“ＯＢＥＸデータ転送要求コマンド”、通信を切断するための“ＯＢＥＸ切断要求コマンド”などである。
【００１３】
また、図８に示すように、送信機器からデータが送信される場合、送信データに各層固有の処理が加えられ、直下の層に受け渡す、という処理が、最上位層から最下位層まで順に繰り返される。具体的には、以下のとおりである。
【００１４】
ＯＢＥＸ層では、送信データが、所定バイト長（例えば６４ＫＢ）のデータに分割または結合される。データの前にはＯＢＥＸ層ヘッダ（コマンド）が付加される。ＯＢＥＸ層のデータはＳＭＰ層に受け渡される。
【００１５】
ＳＭＰ層では、ＯＢＥＸ層から受け渡されたデータが、所定バイト長（例えば２ＫＢ）のデータに分割または結合される。データの前にはＳＭＰ層ヘッダが付加される。ＳＭＰ層のデータはＩｒＬＭＰ層に受け渡される。
【００１６】
ＩｒＬＭＰ層では、ＳＭＰ層から受け渡されたデータの前にＩｒＬＭＰ層ヘッダが付加される。ＩｒＬＭＰ層のデータはＩｒＬＡＰ層に受け渡される。
【００１７】
ＩｒＬＡＰ層では、ＩｒＬＭＰ層から受け渡されたデータの前に通信相手を特定するためのアドレスを含んだＩｒＬＡＰ層ヘッダが付加される。ＩｒＬＡＰ層のデータはＩｒＰＨＹ層に受け渡される。
【００１８】
ＩｒＰＨＹ層では、ＩｒＬＡＰ層から受け渡されたデータを基にフレームを作成する。作成したフレームの変調信号が光デバイスに出力される。
【００１９】
一方、受信機器において、データが受信される場合、受信データに各層固有の処理が加えられ、直上の層に受け渡す、という処理が、最下位層から最上位層まで順に繰り返される。
【００２０】
（ＩｒＳＳ方式による通信シーケンス）
ここで、図９を用いて、図８で示したプロトコルスタックを処理する通信シーケンスについて説明する。図９は、ＩｒＳＳ方式による通信シーケンスについて示したシーケンス図である。
【００２１】
なお、図９では、説明の便宜上、送信側のＯＢＥＸ層、ＳＭＰ層、ＩｒＬＭＰ層、ＩｒＬＡＰ層を、それぞれＯＢＥＸ（Ｐ）、ＳＭＰ（Ｐ）、ＬＭＰ（Ｐ）、ＬＡＰ（Ｐ）と表記している。また、受信側のＯＢＥＸ層、ＳＭＰ層、ＩｒＬＭＰ層、ＩｒＬＡＰ層を、それぞれＯＢＥＸ（Ｓ）、ＳＭＰ（Ｓ）、ＬＭＰ（Ｓ）、ＬＡＰ（Ｓ）と表記している。
【００２２】
図９に示すように、受信側では、ＯＢＥＸ（Ｓ）が“受信要求”を受け付けると、ＯＢＥＸ（Ｓ）からＬＡＰ（Ｓ）にかけて“接続要求”が転送されることにより、受信側は受信待機状態になる。
【００２３】
そして、送信側において、ＯＢＥＸ（Ｐ）が、上位層から“接続要求”を受け付けると、ＯＢＥＸ（Ｐ）からＬＡＰ（Ｐ）にかけて、各層でヘッダ付加処理が行なわれるとともに、上位層から下位層に“接続要求”が転送される。そして、送信側から受信側にＳＮＲＭパケットが送信されると、ＬＡＰ（Ｐ）からＯＢＥＸ（Ｐ）にかけて“接続確認”が転送される。ＯＢＥＸ（Ｐ）は、ＳＭＰ（Ｐ）から“接続確認”を受け取ると、“接続完了”を上位層に通知する。
【００２４】
また、受信側では、送信側から、ＳＮＲＭパケットを受信すると、ＬＡＰ（Ｓ）からＯＢＥＸ（Ｓ）にかけて、各層でヘッダ解析処理が行なわれるとともに、下位層から上位層に“接続通知”が転送される。
【００２５】
その後、送信側では、ＯＢＥＸ（Ｐ）が、上位層からの“データ転送要求”を受け付け、ＯＢＥＸ（Ｐ）は、上位層から入力される送信データを読み込み、送信データを分割・結合処理して、“データ転送要求”を生成する。そして、ＯＢＥＸ（Ｐ）からＬＡＰ（Ｐ）にかけて、“データ転送要求”が転送され、送信側から受信側にＵＩ（Unnumbered Information）パケットが送信される。
【００２６】
受信側では、送信側からＵＩパケットを受信すると、ＬＡＰ（Ｓ）からＯＢＥＸ（Ｓ）にかけて“データ転送通知”が転送される。
【００２７】
送信側のＯＢＥＸ（Ｐ）は、送信データを転送し終えると、上位層に“データ転送完了”を通知する。
【００２８】
一方、受信側のＯＢＥＸ（Ｓ）は、すべてのデータを受信し終えると、上位層に“受信データ”を出力するとともに、“データ転送完了通知”を行なう。
【００２９】
そして、送信側において、ＯＢＥＸ（Ｐ）が、上位層から“切断要求”を受け付けると、送信側のＯＢＥＸ（Ｐ）からＬＡＰ（Ｐ）にかけて“切断要求”が転送される。送信側から受信側にＤＩＳＣ（Disconnect）パケットを送信した後、送信側では、ＬＡＰ（Ｐ）からＯＢＥＸ（Ｐ）にかけて、“切断確認”が転送される。ＯＢＥＸ（Ｐ）は、ＳＭＰ（Ｐ）から“切断確認”を受け取ると、上位層に“切断完了”を通知する。
【００３０】
一方、受信側のＬＡＰ（Ｓ）は、送信側からＤＩＳＣパケットを受信すると、ＬＡＰ（Ｓ）からＯＢＥＸ（Ｓ）にかけて、“切断通知”が転送される。そして、ＯＢＥＸ（Ｓ）は、ＳＭＰ（Ｓ）から“切断通知”を受け取ると、上位層に対して“切断完了通知”を行なう。
【００３１】
以上が、ＩｒＳＳ方式による通信シーケンスである。
【００３２】
従来、以上で示した片方向赤外線通信方式の通信プロトコルの処理は、ＣＰＵ（Central Processing Unit）によって、すなわち、ソフトウェアで実行されるのが普通であった。
【００３３】
ここで、図１０および１１を用いて通信プロトコルの処理をソフトウェアによって行なう従来の送受信機器について以下に説明する。
【００３４】
（従来の送信側の通信プロトコルの処理を行なうためのソフトウェア）
まず、図１０を用いて送信機器が備える送信手段５００について説明する。同図に示す送信手段５００は、送信側の通信プロトコルの処理を行なうためのソフトウェアである。同図に示すように、送信手段５００は、ＯＢＥＸ層送信ブロック５０２、ＳＭＰ層送信処理ブロック５０３、ＩｒＬＭＰ層送信処理ブロック５０４、ＩｒＬＡＰ層送信処理ブロック５０５、ＩｒＰＨＹ層送信処理ブロック５０６を備える構成である。
【００３５】
ＯＢＥＸ層送信ブロック５０２は、ＯＢＥＸ層における送信処理を行なうための、ＯＢＥＸ送信制御ブロック５０２ａ、ＯＢＥＸ接続要求コマンド生成ブロック５０２ｂ、ＯＢＥＸデータ転送要求コマンド生成ブロック５０２ｃ、ＯＢＥＸ切断要求コマンド生成ブロック５０２ｄ、バッファ５０２ｅを備える。
【００３６】
ＳＭＰ層送信処理ブロック５０３は、ＳＭＰ層における送信処理を行なうための、ＳＭＰ送信制御ブロック５０３ａ、ＳＭＰ接続ヘッダ付加ブロック５０３ｂ、ＳＭＰデータ転送ヘッダ付加ブロック５０３ｃ、ＳＭＰ切断ヘッダ付加ブロック５０３ｄ、バッファ５０３ｅを備える。
【００３７】
ＩｒＬＭＰ層送信処理ブロック５０４は、ＩｒＬＭＰ層における送信処理を行なうための、ＩｒＬＭＰ送信制御ブロック５０４ａ、ＩｒＬＭＰ接続ヘッダ付加ブロック５０４ｂ、ＩｒＬＭＰデータ転送ヘッダ付加ブロック５０４ｃ、ＩｒＬＭＰ切断ヘッダ付加ブロック５０４ｄ、バッファ５０４ｅを備える。
【００３８】
ＩｒＬＡＰ層送信処理ブロック５０５は、ＩｒＬＡＰ層における送信処理を行なうための、ＩｒＬＡＰ送信制御ブロック５０５ａ、ＩｒＬＡＰ接続ヘッダ付加ブロック５０５ｂ、ＩｒＬＡＰデータ転送ヘッダ付加ブロック５０５ｃ、ＩｒＬＡＰ切断ヘッダ付加ブロック５０５ｄ、タイマ５０５ｅ、バッファ５０５ｆを備える。
【００３９】
ＩｒＰＨＹ層送信処理ブロック５０６は、ＩｒＰＨＹ層における送信処理を行なうための、ＩｒＰＨＹフレーム生成ブロック５０６ａ、ＩｒＰＨＹ変調ブロック５０６ｂ、バッファ５０６ｃを備える。
【００４０】
送信手段５００では、以上の構成により図８で示した送信側の通信プロトコルの処理を実現している。
【００４１】
（従来の受信側の通信プロトコルの処理を行なうためのソフトウェア）
次に、図１１を用いて受信機器が備える受信手段７００について説明する。同図に示す受信手段７００は、受信側の通信プロトコルの処理を行なうためのソフトウェアである。同図に示すように、受信手段７００は、ＯＢＥＸ層受信ブロック７０２、ＳＭＰ層受信処理ブロック７０３、ＩｒＬＭＰ層受信処理ブロック７０４、ＩｒＬＡＰ層受信処理ブロック７０５、ＩｒＰＨＹ層受信処理ブロック７０６を備える構成である。
【００４２】
ＯＢＥＸ層受信ブロック７０２は、ＯＢＥＸ層における受信処理を行なうための、ＯＢＥＸ受信制御ブロック７０２ａ、ＯＢＥＸ接続要求コマンド解析ブロック７０２ｂ、ＯＢＥＸデータ転送要求コマンド解析ブロック７０２ｃ、ＯＢＥＸ切断要求コマンド解析ブロック７０２ｄ、バッファ７０２ｅを備える。
【００４３】
ＳＭＰ層受信処理ブロック７０３は、ＳＭＰ層における受信処理を行なうための、ＳＭＰ受信制御ブロック７０３ａ、ＳＭＰ接続ヘッダ解析ブロック７０３ｂ、ＳＭＰデータ転送ヘッダ解析ブロック７０３ｃ、ＳＭＰ切断ヘッダ解析ブロック７０３ｄ、バッファ７０３ｅを備える。
【００４４】
ＩｒＬＭＰ層受信処理ブロック７０４は、ＩｒＬＭＰ層における受信処理を行なうための、ＩｒＬＭＰ受信制御ブロック７０４ａ、ＩｒＬＭＰ接続ヘッダ解析ブロック７０４ｂ、ＩｒＬＭＰデータ転送ヘッダ解析ブロック７０４ｃ、ＩｒＬＭＰ切断ヘッダ解析ブロック７０４ｄ、バッファ７０４ｅを備える。
【００４５】
ＩｒＬＡＰ層受信処理ブロック７０５は、ＩｒＬＡＰ層における受信処理を行なうための、ＩｒＬＡＰ受信制御ブロック７０５ａ、ＩｒＬＡＰ接続ヘッダ解析ブロック７０５ｂ、ＩｒＬＡＰデータ転送ヘッダ解析ブロック７０５ｃ、ＩｒＬＡＰ切断ヘッダ解析ブロック７０５ｄ、バッファ７０５ｅを備える。
【００４６】
ＩｒＰＨＹ層受信処理ブロック７０６は、ＩｒＰＨＹ層における受信処理を行なうための、ＩｒＰＨＹフレーム生成ブロック７０６ａ、ＩｒＰＨＹ変調ブロック７０６ｂ、バッファ７０６ｃを備える。
【００４７】
受信手段７００では、以上の構成により受信側の通信プロトコルの処理を実現している。
【００４８】
ところが、上記のような送信手段５００および受信手段７００によって、片方向赤外線通信方式の通信プロトコルの処理を実行する場合、次のような課題が生じる。
【００４９】
まず、片方向赤外線通信方式は、データの再送を行なわない方式であるため、受信機器では、送信機器からのデータを取りこぼし無く全て受信する必要がある。このため、片方向赤外線通信方式の通信プロトコルの処理は、ＣＰＵにかかる負荷が大きいという課題があった。また、ＣＰＵに負荷がかかることにより、ＣＰＵの割り込み処理を適切に処理することができなくなる可能性があった。
【００５０】
また、送信機器においても、ユーザの送信作業（送信機器を受信機器に向け続けること）時間をできるだけ短くするために、パケットの送信間隔を短くする必要があるので、ＣＰＵにかかる負荷が大きくなる。特に、オペレーティングシステム（ＯＳ）を備える携帯電話などの組み込みシステムの分野では、通信プロトコルの処理に充分なリソースを割けないことが多く、ＣＰＵの割り込み処理を適切に処理することができなくなる可能性があるという課題があった。
【００５１】
さらに、上記送信手段５００および受信手段７００は、各層の処理部間のデータ交換におけるタイミングを調整するため、各層の処理部の間にバッファを設ける必要があった。
【００５２】
これに対して、従来、ソフトウェアで実行するプロトコル処理を専用ＬＳＩ等のハードウェアでおきかえることが提案されてきた。例えば、特許文献１に、物理層における処理のうち時間のかかる透過処理をハードウェアで実現する技術が記載されている。また、特許文献２では、ＩｒＤＡ方式により信号の変調および復調を行なうＩｒＤＡ変復調ＩＣが提案されている。該ＩｒＤＡ変復調ＩＣでは、ＩｒＰＨＹ層のプロトコル処理をハードウェアで行い、ＣＰＵの負荷を軽減させている。
【特許文献１】特開平１０−２７６１３７号公報（１９９８年１０月１３日公開）
【特許文献２】特開２０００−１９６６９６号公報（２０００年７月１４日公開）
【発明の開示】
【発明が解決しようとする課題】
【００５３】
しかしながら、これまで提案されてきた技術では、ハードウェアで行なうプロトコル処理はＩｒＰＨＹ層（物理層）のみであった。すなわち、従来の送受信機器では、ＩｒＰＨＹ層より上位の通信層のプロトコル処理はソフトウェアで行なわれていた。
【００５４】
また、片方向赤外線通信方式による通信においてＩｒＰＨＹ層では、送信処理においては、データフレーム（パケット）の送信間隔を規格どおりのタイミングで送る必要がある。一方、受信処理においては、規格どおりの時間間隔で送られてくるデータフレームを取りこぼし無く受ける必要がある。このため、従来の送受信機器では、ソフトウェアでのプロトコル処理を実行するためにＣＰＵかかる負荷は依然として大きかった。特に、ＩｒＰＨＹ層の処理をハードウェアによって実行しても、ＣＰＵの割り込み処理とはあまり関係がないため、ＣＰＵの割り込みを正しく処理できないという課題については解決できていなかった。
【００５５】
ゆえに、ＩｒＰＨＹ層のみがハードウェアで構成された場合であっても、依然としてＣＰＵにかかる負荷により、ソフトウェアでのプロトコル処理が間に合わなくなり送信処理においてデータフレームを正しく送信できなかったり、受信処理においてデータフレームを取りこぼしてしまったりすることがあった。
【００５６】
ここで、ＩｒＳＳ方式の場合について、具体的に例示すると以下のとおりである。ＩｒＳＳ方式の仕様では、データの転送速度は数Ｍｂｐｓであり、フレームの送受信の間隔は最小１００μｓｅｃである。この仕様は、近年のＣＰＵの処理速度(〜Ｇｂｐｓ)ならば十分に処理可能なものであるが、ＣＰＵが他のソフトウェアの処理をしている場合には、当該仕様であっても、通信処理の割り込みタイミングが合わないためにエラーが発生していた。また、処理速度が十分でないＣＰＵを搭載した機器では、ＣＰＵの処理能力が追いつかず、データフレームを取りこぼしていた。
【００５７】
このように、従来、送信機器での送信処理においてデータフレームを正しく送信できなかったり、受信機器での受信処理においてデータフレームを取りこぼしたりするという事態が生じており、安定した送受信処理を行なうことができなかった。また、ＣＰＵの負荷のため送受信処理に時間がかかっていた。
【００５８】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、片方向通信において、ＣＰＵの割り込み処理によるＣＰＵの負荷を軽減でき、高速かつ安定した送受信処理を行なうことができる送信回路、送信機器、受信回路および受信機器を実現することにある。
【課題を解決するための手段】
【００５９】
本発明に係る送信回路は、上記課題を解決するために、送信先の受信機器を特定するアドレスを含む、送信処理を開始するための接続要求コマンドと、分割した送信データを含むデータ転送コマンドと、送信処理を終了するための切断要求コマンドとを上記アドレスにより特定される受信機器に送信することによって、当該受信機器と片方向通信を行なう送信機器の送信回路であって、上位層から上記送信データの送信処理を要求する送信要求を受信すると、上記接続要求コマンド、上記データ転送要求コマンドおよび上記切断要求コマンドを上記受信機器に順次送信することを特徴としている。
【００６０】
上記構成によれば、送信回路は、上位層から上記送信データの送信処理を要求する送信要求を受信すると、各種コマンドの送信処理を行なう。ここで、上位層とは、ソフトウェアで実行される処理に対応する通信層のことをいう。また、各種コマンドとは、送信処理を開始するための接続要求コマンド、分割した送信データを含むデータ転送要求コマンド、および、送信処理を終了するための切断要求コマンドのことである。また、当該接続要求コマンドは、送信先の受信機器を特定するアドレスを含む。
【００６１】
従来は、送信処理において、上位層から、上記各種コマンドを入力することに加えて、当該コマンドの結果を下位層から受け取ることが必要であった。また、コマンドの処理において、ＣＰＵの割り込みが発生し、ＣＰＵに負荷がかかっていた。このため、データフレームを正しいタイミングで送信できなくなるという事態が生じており、送信処理が安定していなかった。また、ＣＰＵに負荷がかかるため、送信処理に時間がかかっていた。
【００６２】
これに対して、本発明に係る送信回路では、上位層における処理としては、送信要求を送信回路に行なうだけで送信処理を行なうことができ、また、各層の処理は、送信回路において独自に実行するので、ＣＰＵの割り込み回数を減らすことができる。さらには、ＣＰＵとは別に送信処理専用の送信回路というハードウェアを設けているため、ＣＰＵ上で実行される処理の負荷を軽減でき、かつ、ハードウェアによる高速な処理を実現できる。
【００６３】
このため、片方向線通信の送信処理において、ＣＰＵの処理負荷を大幅に低減することができる。さらには、従来各層の処理のタイミングを取るために必要だったバッファのサイズも縮小することができる。
【００６４】
この結果、片方向通信の送信処理において、ＣＰＵの割り込み処理によるＣＰＵの負荷を軽減でき、高速かつ安定した送信処理を行なうことができるという効果を奏する。
【００６５】
本発明に係る送信回路では、上記上位層から上記送信要求を受信すると、接続要求を通知するための接続要求通知、データ転送要求を通知するためのデータ転送要求通知、および切断要求を通知するための切断要求通知を生成する送信要求処理部と、上記送信要求処理部から上記接続要求通知を受信したときに上記接続要求コマンドを生成し、当該送信要求処理部から上記データ転送要求通知を受信したときに上記データ転送要求コマンドを生成し、当該送信要求処理部から上記切断要求通知を受信したときに上記切断要求通知を生成するコマンド生成処理部と、を備えることが好ましい。
【００６６】
上記構成によれば、まず、送信要求処理部が、上記上位層から上記送信要求を受信すると、接続要求を通知するための接続要求通知、データ転送要求を通知するためのデータ転送要求通知、および切断要求を通知するための切断要求通知を生成する。
【００６７】
そして、コマンド生成処理部が、上記送信要求処理部から上記接続要求通知を受信したときに上記接続要求コマンドを生成し、当該送信要求処理部から上記データ転送要求通知を受信したときに上記データ転送要求コマンドを生成し、当該送信要求処理部から上記切断要求通知を受信したときに上記切断要求通知を生成する。
【００６８】
すなわち、送信回路に、上記のような送信要求処理部およびコマンド生成処理部を設けることで、送信要求処理部の通知に応じて、コマンド生成処理部は従来の受信回路で処理可能なコマンドを生成することができる。すなわち、送信回路は、従来の受信回路が処理可能なコマンドを送信することができる。
【００６９】
この結果、送信回路は、受信回路との互換性を向上させることができるというさらなる効果を奏する。
【００７０】
本発明に係る送信回路では、上記コマンド生成処理部は、上記データ転送要求コマンドを生成するときに、当該コマンド生成処理部の下位層において送信処理を行なうことが可能なデータサイズに上記送信データを分割することが好ましい。
【００７１】
上記構成によると、コマンド生成処理部は、データ転送要求コマンドを生成するときに、コマンド生成処理部の下位層において送信処理を行なうことが可能なより小さなデータサイズに送信データを分割する。このため、コマンド生成処理部に設けるバッファのサイズを小さくできる。
【００７２】
また、送信回路においては、すでに、コマンド生成処理部から下位層で処理可能な大きさのデータが転送されるので、下位層では分割処理をする必要がない。このため、下位層のバッファの数を減らすことができる。このため、送信回路に設けるバッファのサイズまたは数を減らすことができる。
【００７３】
この結果、送信回路のサイズを小さくすることが可能となるというさらなる効果を奏する。
【００７４】
本発明に係る受信回路は、上記課題を解決するために、送信機器から、送信先の受信機器を特定するためのアドレスを含む、当該送信機器が送信処理を開始するための接続要求コマンドと、当該送信機器によって分割された送信データを含むデータ転送要求コマンドと、当該送信機器が送信処理を終了するための切断要求コマンドとを受信することが可能であり、上記アドレスにより特定されて当該送信機器と片方向通信を行なうことが可能な受信機器の受信回路であって、上記送信機器から上記接続要求コマンド、上記データ転送要求コマンドおよび上記切断要求コマンドを順次受信すると、上位層に対して、当該データ転送要求コマンドに含まれる分割された送信データを順次転送するとともに、受信処理が完了したことを示す受信完了通知を転送することを特徴としている。
【００７５】
上記構成によれば、当該送信機器と片方向通信を行なう際に、受信回路は、上位層に対して、接続完了を通知するための接続完了通知、データ転送完了を通知するためのデータ転送完了通知、および切断完了を通知するための切断完了通知を転送することがない。ここで、上位層とは、ソフトウェアで実行される処理に対応する通信層のことをいう。
【００７６】
従来は、受信処理において、上位層が各種コマンドを処理し、上記各種通知を、上位層に対して行なう必要あった。ここで、各種コマンドとは、送信機器が送信処理を開始するための接続要求コマンド、送信機器によって分割された送信データを含むデータ転送要求コマンド、および、送信機器が送信処理を終了するための切断要求コマンドのことである。また、当該接続要求コマンドは、送信先の受信機器を特定するアドレスを含む。
【００７７】
よって、各種コマンドおよび各種通知の処理において、ＣＰＵの割り込みが発生し、ＣＰＵに負荷がかかっていた。このため、受信処理においてデータフレームを取りこぼす事態が生じており、受信処理が安定していなかった。また、ＣＰＵに負荷がかかるため、受信処理には時間がかかっていた。
【００７８】
これに対して、本発明に係る受信回路では、各種コマンドおよび各種通知の処理を独自に実行するので、ＣＰＵの割り込み回数を減らすことができる。さらには、ＣＰＵとは別に受信処理専用の受信回路というハードウェアを設けているため、ＣＰＵ上で実行される処理の負荷を軽減でき、かつ、ハードウェアによる高速な処理を実現できる。
【００７９】
このため、片方向通信の受信処理において、ＣＰＵの処理負荷を大幅に低減することができる。さらには、従来各層の処理のタイミングを取るために必要だったバッファのサイズも縮小することができる。
【００８０】
この結果、片方向通信の受信処理において、ＣＰＵの割り込み処理によるＣＰＵの負荷を軽減でき、高速かつ安定した受信処理を行なうことができるという効果を奏する。
【００８１】
本発明に係る受信回路では、上記接続要求コマンド、上記データ転送要求コマンドおよび上記切断要求コマンドを解析し、接続完了を通知するための接続要求通知、データ転送完了を通知するためのデータ転送完了通知および切断完了を通知するための切断要求通知を生成するコマンド解析処理部と、上記コマンド解析処理部によって生成された上記接続要求通知、上記データ転送完了通知および上記切断要求通知を順次受信し、当該切断要求通知を受信したときに、上記受信完了通知を上記上位層に転送する受信要求処理部と、を備えることが好ましい。
【００８２】
上記構成によると、まず、コマンド解析処理部が、接続要求コマンド、データ転送要求コマンドおよび切断要求コマンドを解析し、各コマンドの解析結果に応じて、接続完了を通知するための接続要求通知、データ転送完了を通知するためのデータ転送完了通知および切断完了を通知するための切断要求通知を生成する。
【００８３】
そして、受信要求処理部が、コマンド解析処理部によって生成された接続要求通知、データ転送完了通知および切断要求通知を順次受信し、切断要求通知を受信したときに、上記受信完了通知を上記上位層に転送する。
【００８４】
つまり、受信回路に、上記のようなコマンド解析処理部および受信要求処理部を設けることで、受信回路は、上記送信機器から各種コマンドを順次受信すると、上位層に対して、各種通知を転送することなく、送信機器から送信される、分割された送信データを上位層に順次転送し、データの受信を完了することができる。すなわち、受信回路は、従来の送信回路から送信される各種コマンドを問題なく処理することができる。
【００８５】
この結果、受信回路は、送信回路との互換性を向上させることができるというさらなる効果を奏する。
【００８６】
本発明に係る受信回路では、データ転送におけるエラーの有無を検出するエラー検出部を備え、上記エラー検出部がエラーを検出した場合には、エラー有りの通知を上記上位層に転送することが好ましい。
【００８７】
上記構成によれば、エラー検出部が送信機器からのデータ転送におけるエラーがあるか否かを検出する。そして、エラー検出部がエラーを検出した場合には、受信回路は、エラー有りの通知を上位層に転送する。このため、上位層では、エラーが発生したことを検知することができる。よって、発生したエラーに対しての対策を講じることができるというさらなる効果を奏する。例えば、上位層において再送を行なう操作をユーザに促すような処理を行なうことができる。
【００８８】
なお、本発明に係る送信回路を備えた種々の送信機器でも略同様の効果を得ることができる。また、本発明に係る受信回路を備えた種々の受信機器でも略同様の効果を得ることができる。
【発明の効果】
【００８９】
本発明に係る送信回路は、上位層から送信データの送信処理を要求する送信要求を受信すると、接続要求コマンド、データ転送要求コマンドおよび切断要求コマンドを受信機器に順次送信する構成である。
【００９０】
この結果、片方向通信の送信処理において、ＣＰＵの割り込み処理によるＣＰＵの負荷を軽減でき、高速かつ安定した送信処理を行なうことができるという効果を奏する。
【００９１】
本発明に係る受信回路は、送信機器から接続要求コマンド、データ転送要求コマンドおよび切断要求コマンドを順次受信すると、上位層に対して、当該データ転送要求コマンドに含まれる分割された送信データを順次転送するとともに、受信処理が完了したことを示す受信完了通知を転送する構成である。
【００９２】
この結果、片方向通信の受信処理において、ＣＰＵの割り込み処理によるＣＰＵの負荷を軽減でき、高速かつ安定した受信処理を行なうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００９３】
本発明の一実施の形態について図１ないし図７に基づいて説明すると以下の通りである。以下では、本発明に係る送信回路、送信機器、受信回路および受信機器の一実施の形態について説明する。なお、片方向無線通信システムとして、赤外線通信を用いて説明するが、これに限定されない。片方向無線通信方式であれば本発明に適用が可能である。
【００９４】
〔赤外線通信システム〕
図２は、本実施の形態に係る赤外線通信システム１の構成の概略を示すブロック図である。赤外線通信システム１は、本実施の形態に係る送信回路１００を備える送信機器１０、および、本実施の形態に係る受信回路３００を備える受信機器３０、ならびに、送信ブロック５００を備える送信機器５０、および、受信ブロック７００を備える受信機器７０からなる。
【００９５】
送信機器１０は、受信機器３０に、各種データを送信する機器である。本実施の形態では、送信機器１０と、受信機器３０との間のデータ通信には、ＩｒＳＳ（登録商標）またはＩｒＳｉｍｐｌｅＳｈｏｔ（登録商標）方式を採用している。ＩｒＳＳ方式は、ＩｒＳｉｍｐｌｅ（登録商標）方式の片方向通信モード（IrSimple Uni-directional mode）を用いた通信方式であるが、赤外線通信システム１では、これに限られず、ＩｒＤＡの片方向通信モードを採用することも可能である。
【００９６】
また、送信機器１０および受信機器３０では、従来、ソフトウェアで実行していたＩｒＳＳ方式における各層のヘッダ処理等を、ハードウェアとしての送信回路１００および受信回路３００によって実現している。これにより、送信機器１０および受信機器３０では、処理速度の向上を図っている。
【００９７】
一方、本実施の形態における送信機器５０および受信機器７０では、従来のように、ＩｒＳＳ方式の通信処理は、ソフトウェア、すなわち、例えば送信ブロック５００および受信ブロック７００によって実現されている。なお、送信機器５０および受信機器７０は、ＩｒＳＳ方式による送受信を行なうことが可能であればよく、送信機器５０および受信機器７０において、どのようにしてＩｒＳＳ方式の通信処理が実現されているかについては特に制限はない。
【００９８】
ここで、送信機器１０は、従来の受信機器７０に対しても同様に、上記の通信を行なうことが可能である。すなわち、送信機器１０は、従来の受信機器７０に対して互換性を有する。同様に、受信機器３０も、従来の送信機器５０との間において、上記の通信を行なうことが可能である。すなわち、受信機器３０は、従来の送信機器５０に対して互換性を有する。
【００９９】
なお、本実施の形態に係る赤外線通信システム１おける送信機器１０および送信機器５０は、例えば、携帯電話機、パーソナルコンピュータ、ＰＤＡ、ビデオカメラ等に適用できる。また、受信機器３０および受信機器７０は、例えば、テレビ、ＤＶＤレコーダ、ハードディスク装置、またはパーソナルコンピュータ等に適用できる。
【０１００】
以下では、本実施の形態に係る送信回路を備える送信機器１０、および、本実施の形態に係る受信回路を備える受信機器３０について詳細に説明していく。
【０１０１】
〔送信機器および受信機器の概要〕
まず、送信機器１０および受信機器３０について、図２を用いてさらに説明する。
【０１０２】
図２に示すように、送信機器１０は、送信回路１００および送信ソフトウェア（上位層）１５０を備える。送信回路１００は、データの送信時におけるＩｒＳＳ方式の各層での処理を実現するためのハードウェアである。すなわち、送信回路１００は、送信ソフトウェア１５０から転送される送信データを、ＩｒＳＳ方式によって受信機器３０または受信機器７０に送信するための回路である。
【０１０３】
送信ソフトウェア１５０は、送信回路１００を介して、受信機器３０または受信機器７０に送信データを送信するためのソフトウェアである。すなわち、送信ソフトウェア１５０は、受信機器３０が備える受信ソフトウェア３５０または受信機器７０が備える受信ブロック７００で処理される受信データを送信するためのものである。
【０１０４】
送信ソフトウェア１５０は、ＣＰＵ（central processing unit）が不図示のＲＯＭ（read only memory）等の記憶装置に記憶されているプログラムをＲＡＭ（random access memory）等に読み出して実行することで実現できる。すなわち、図２において、上記送信ソフトウェア１５０は、上記ＣＰＵが上記記憶装置に格納されたプログラムを実行し、入出力回路（図示せず）に対して入出力を行なうことによって実現される機能ブロックである。送信ソフトウェア１５０と、送信回路１００とのデータの受渡しは、送信機器１０が備えるシステムバス（図示せず）を経由して行なわれる。
【０１０５】
すなわち、送信ソフトウェア１５０が、システムバスにデータ信号を出力すると、当該データ信号がシステムバスから送信回路１００に入力される。また、送信回路１００から出力されたデータ信号は、システムバスによって送信ソフトウェア１５０に転送される。
【０１０６】
また、送信ソフトウェア１５０から送信回路１００へ入力されるデータ信号には、送信要求信号および送信データ信号が含まれる。逆に送信回路１００から送信ソフトウェア１５０に出力されるデータ信号には、送信完了信号が含まれる。各信号の詳細については後述する。
【０１０７】
受信機器３０は、受信回路３００および受信ソフトウェア（上位層）３５０を備える。
【０１０８】
受信回路３００は、データの受信時におけるＩｒＳＳ方式の各層での処理を実現するためのハードウェアである。すなわち、受信回路３００は、送信機器１０または送信機器５０からＩｒＳＳ方式によって送信される送信データを受信する回路である。
【０１０９】
受信機器３０が、送信データを受信すると、当該送信データは、受信回路３００に入力される。そして、受信回路３００において、ＩｒＳＳ方式の各層での処理が施され、受信データとして受信ソフトウェア３５０に出力される。また、受信回路３００が出力した受信データは、受信ソフトウェア３５０に転送される。
【０１１０】
受信ソフトウェア３５０は、受信回路３００が出力した受信データを処理するためのソフトウェアである。すなわち、受信ソフトウェア３５０は、送信機器１０が備える送信ソフトウェア１５０が送信する送信データを処理するためのものである。
【０１１１】
受信ソフトウェア３５０は、ＣＰＵ（central processing unit）が不図示のＲＯＭ（read only memory）等の記憶装置に記憶されているプログラムをＲＡＭ（random access memory）等に読み出して実行することで実現できる。すなわち、図２において、受信ソフトウェア３５０は、上記ＣＰＵが上記記憶装置に格納されたプログラムを実行し、入出力回路（図示せず）に対して入出力を行なうことによって実現される機能ブロックである。受信ソフトウェア３５０と、受信回路３００とのデータの受渡しは、受信機器３０が備えるシステムバス（図示せず）を経由して行なわれる。
【０１１２】
すなわち、受信ソフトウェア３５０が、システムバスにデータ信号を出力すると、システムバスから受信回路３００に入力される。また、受信回路３００から出力されたデータ信号は、システムバスによって受信ソフトウェア３５０に転送される。
【０１１３】
また、受信ソフトウェア３５０から受信回路３００へ入力されるデータ信号には、受信要求信号が含まれる。逆に受信回路３００から受信ソフトウェア３５０に出力されるデータ信号には、受信完了信号および受信データ信号が含まれる。各信号の詳細については後述する。
【０１１４】
また、図２に示すように、送信機器１０から受信機器３０へのデータの送信は、具体的には、送信機器１０から、受信機器３０または受信機器７０にＩｒＳＳ方式のＳＮＲＭパケット、ＵＩパケット、ＤＩＳＣパケットを送信することで行なわれる。
【０１１５】
なお、以降においては、説明の便宜上、送信機器１０が、受信機器３０にデータを送信する場合（すなわち、受信機器３０が送信機器１０からデータを受信する場合）について説明していく。よって、送信機器１０が、受信機器７０にデータを送信すること、および、受信機器３０が、送信機器５０からデータを受信することについては、特に必要がない限りその説明を省略する。
【０１１６】
以下に、送信機器１０が備える送信回路１００および受信機器３０が備える受信回路３００の詳細について説明する。
【０１１７】
（送信回路）
〔送信回路の構成〕
送信機器１０が備える送信回路１００の詳細について、図１を用いて説明すると以下のとおりである。
【０１１８】
図１は、送信機器１０が備える送信回路１００の要部構成を示す機能ブロック図である。
【０１１９】
図１に示すように、送信回路１００は、送信要求処理部１０１と、ＯＢＥＸ層送信処理部（コマンド生成処理部）１０２と、ＳＭＰ層送信処理部１０３と、ＩｒＬＭＰ層送信処理部１０４と、ＩｒＬＡＰ層送信処理部１０５と、ＩｒＰＨＹ層送信処理部１０６と、送信バッファ１０８とをハードウェアとして備える構成である。
【０１２０】
[送信要求処理部]
送信要求処理部１０１は、送信ソフトウェア１５０側からの入力信号に応じて、各種通知を生成し、当該通知によりＯＢＥＸ層送信処理部１０２に対する制御を行なうためのものである。また、送信バッファ１０８は、送信ソフトウェア１５０側から入力される送信データを一時的に保持しておくためのものである。
【０１２１】
具体的には、送信要求処理部１０１は、送信ソフトウェア１５０側から送信要求信号が入力されると、接続要求通知を生成する。そして、送信要求処理部１０１は、当該接続要求通知をＯＢＥＸ層送信処理部１０２に転送する。
【０１２２】
また、送信要求処理部１０１は、ＯＢＥＸ層送信処理部１０２から、“接続完了”が通知されてきた場合は、データ転送要求通知を生成し、当該データ転送要求通知を、ＯＢＥＸ層送信処理部１０２に転送する。このとき、送信ソフトウェア１５０側から送信バッファ１０８に送信データが入力される。
【０１２３】
また、送信要求処理部１０１は、ＯＢＥＸ層送信処理部１０２から、“データ転送完了”が通知されてきた場合は、切断要求通知を生成し、当該切断要求通知を、ＯＢＥＸ層送信処理部１０２に転送する。
【０１２４】
また、送信要求処理部１０１は、送信データがすべて受信機器３０に送信された後、ＯＢＥＸ層送信処理部１０２から、“切断完了”が通知された場合は、送信ソフトウェア１５０側に送信完了信号を出力する。
【０１２５】
[ＯＢＥＸ層送信処理部]
ＯＢＥＸ層送信処理部１０２は、送信要求処理部１０１と、ＳＭＰ層送信処理部１０３との間に配置されており、ＩｒＳＳ方式において送信側のＯＢＥＸ層について定義されている機能を実現するものである。
【０１２６】
ＯＢＥＸ層送信処理部１０２では、具体的には、次の構成を備えることによりＯＢＥＸ層の機能を実現している。すなわち、ＯＢＥＸ層送信処理部１０２は、ＯＢＥＸ送信制御部（コマンド生成処理部）１０２ａと、ＯＢＥＸ接続要求コマンド生成部（コマンド生成処理部）１０２ｂと、ＯＢＥＸデータ転送要求コマンド生成部（コマンド生成処理部）１０２ｃと、ＯＢＥＸ切断要求コマンド生成部（コマンド生成処理部）１０２ｄとを備える。
【０１２７】
ＯＢＥＸ送信制御部１０２ａは、ＯＢＥＸ層における送信処理の制御を行なうものである。
【０１２８】
ＯＢＥＸ送信制御部１０２ａは、上位層に相当する送信要求処理部１０１からの通知に応じて、ＯＢＥＸ接続要求コマンド生成部１０２ｂ、ＯＢＥＸデータ転送要求コマンド生成部１０２ｃおよびＯＢＥＸ切断要求コマンド生成部１０２ｄに対して各種の制御を行なう。
【０１２９】
また一方で、ＯＢＥＸ送信制御部１０２ａは、下位層に相当するＳＭＰ層送信処理部１０３からの各種の通知に応じて、送信要求処理部１０１に対し所定の通知を行なう。
【０１３０】
ＯＢＥＸ接続要求コマンド生成部１０２ｂは、ＯＢＥＸ送信制御部１０２ａからの指示に基づいて、“ＯＢＥＸ接続要求コマンド”を生成し、当該“ＯＢＥＸ接続要求コマンド”をＳＭＰ層送信処理部１０３に転送する。
【０１３１】
なお、ＯＢＥＸ接続要求コマンド生成部１０２ｂは、このときＯＢＥＸ送信制御部１０２ａから、“ＯＢＥＸ接続要求コマンド”を生成するために使用する接続データが転送されて来る場合は、当該接続データを含む“ＯＢＥＸ接続要求コマンド”を生成する。
【０１３２】
ＯＢＥＸデータ転送要求コマンド生成部１０２ｃは、ＯＢＥＸ送信制御部１０２ａからの指示に基づいて、転送データの送信を指示するための“ＯＢＥＸデータ転送要求コマンド”を生成するものである。具体的には、ＯＢＥＸ送信制御部１０２ａからの指示があると、ＯＢＥＸ送信制御部１０２ａから転送される送信データを所定のサイズに分割または結合し、転送データを生成する。そして、ＯＢＥＸデータ転送要求コマンド生成部１０２ｃは、転送データを含む“ＯＢＥＸデータ転送要求コマンド”を生成する。そして、ＯＢＥＸデータ転送要求コマンド生成部１０２ｃは、当該“ＯＢＥＸデータ転送要求コマンド”をＳＭＰ層送信処理部１０３に転送する。
【０１３３】
ここで、ＯＢＥＸデータ転送要求コマンド生成部１０２ｃが行なう送信データに対する分割または結合処理は、２ＫＢ（Ｋｉｌｏ  Ｂｙｔｅ）単位に行なわれる。
【０１３４】
しかしながら、これに限られず、分割または結合処理のサイズは、下位層に相当する各処理部において処理可能なデータのサイズであればよい。
【０１３５】
なお、本実施の形態において、ＯＢＥＸデータ転送要求コマンド生成部１０２ｃは、２ＫＢ単位に送信データを分割または結合するが、これに対応する“ＯＢＥＸデータ転送要求コマンド”は、６４ＫＢごとに１つ生成してもよい。
【０１３６】
このようにＯＢＥＸデータ転送要求コマンド生成部１０２ｃを構成することで、送信回路１００におけるデータの分割・結合処理の負荷を低減することができ、かつ、従来の受信機器７０のＯＢＥＸ層でも、従来どおり、６４ＫＢごとに１つの“ＯＢＥＸデータ転送要求コマンド”が対応しているものとして処理することができる。
【０１３７】
また、ＯＢＥＸデータ転送要求コマンド生成部１０２ｃが送信データに対する分割・結合処理を２ＫＢ単位に行なえば、ＳＭＰ層送信処理部１０３は、従来のＳＭＰ層送信処理ブロック５０３において行われていた分割処理（すなわち、送信データを２ＫＢ単位に分割する処理）を省略することができる。このため、ＳＭＰ層送信処理部１０３は、ＳＭＰ層送信処理ブロック５０３での処理に比べ、その負荷を軽減させることができる。
【０１３８】
ＯＢＥＸ切断要求コマンド生成部１０２ｄは、ＯＢＥＸ送信制御部１０２ａからの指示に基づいて、“ＯＢＥＸ切断要求コマンド”を生成し、当該“ＯＢＥＸ切断要求コマンド”をＳＭＰ層送信処理部１０３に転送するものである。
【０１３９】
なお、ＯＢＥＸ切断要求コマンド生成部１０２ｄは、このときＯＢＥＸ送信制御部１０２ａから“ＯＢＥＸ切断要求コマンド”を生成するために使用する切断データが転送されて来る場合は、当該切断データを含む“ＯＢＥＸ切断要求コマンド”を生成する。
【０１４０】
[ＳＭＰ層送信処理部]
ＳＭＰ層送信処理部１０３は、ＯＢＥＸ層送信処理部１０２と、ＩｒＬＭＰ層送信処理部１０４との間に配置されており、ＩｒＳＳ方式において送信側のＳＭＰ層について定義されている機能を実現するものである。
【０１４１】
ＳＭＰ層送信処理部１０３では、具体的には、次の構成を備えることによりＳＭＰ層の機能を実現している。すなわち、ＳＭＰ層送信処理部１０３は、ＳＭＰ送信制御部１０３ａと、ＳＭＰ接続ヘッダ付加部１０３ｂと、ＳＭＰデータ転送ヘッダ付加部１０３ｃと、ＳＭＰ切断ヘッダ付加部１０３ｄとを備える。
【０１４２】
ＳＭＰ送信制御部１０３ａは、ＳＭＰ層における送信処理の制御を行なうものである。具体的には、ＳＭＰ送信制御部１０３ａは、上位層に相当するＯＢＥＸ層送信処理部１０２から転送される各種要求コマンドに応じて、ＳＭＰ接続ヘッダ付加部１０３ｂ、ＳＭＰデータ転送ヘッダ付加部１０３ｃおよびＳＭＰ切断ヘッダ付加部１０３ｄに指示を行なう。
【０１４３】
また一方で、ＳＭＰ送信制御部１０３ａは、下位層に相当するＩｒＬＭＰ層送信処理部１０４からの各種の通知に応じて、ＯＢＥＸ層送信処理部１０２に対し所定の通知を行なう。
【０１４４】
ＳＭＰ接続ヘッダ付加部１０３ｂは、ＳＭＰ送信制御部１０３ａからの指示に基づいて、ＳＭＰ送信制御部１０３ａから転送されるデータに、ＳＭＰ接続ヘッダを付加し、ＳＭＰ接続ヘッダを付加したデータをＩｒＬＭＰ層送信処理部１０４に転送するとともに、ＩｒＬＭＰ層送信処理部１０４に“接続要求”を行なう。
【０１４５】
ＳＭＰデータ転送ヘッダ付加部１０３ｃは、ＳＭＰ送信制御部１０３ａからの指示に基づいて、ＳＭＰ送信制御部１０３ａから転送されるデータを所定のサイズに分割し、ＳＭＰデータ転送ヘッダを付加し、ＳＭＰデータ転送ヘッダを付加したデータをＩｒＬＭＰ層送信処理部１０４に転送するとともに、ＩｒＬＭＰ層送信処理部１０４にデータ転送要求を行なう。
【０１４６】
なお、従来ＳＭＰデータ転送ヘッダ付加部１０３ｃでは、ＳＭＰ送信制御部１０３ａから転送されるデータを、２ＫＢごとに分割する処理を行なっていたが、本実施の形態においては、当該データはＯＢＥＸ層送信処理部１０２においてすでに２ＫＢごとに分割されているのでその必要はない。
【０１４７】
ＳＭＰ切断ヘッダ付加部１０３ｄは、ＳＭＰ送信制御部１０３ａからの指示に基づいて、ＳＭＰ送信制御部１０３ａから転送されるデータに、ＳＭＰ切断ヘッダを付加し、ＳＭＰ切断ヘッダを付加したデータをＩｒＬＭＰ層送信処理部１０４に転送するとともに、ＩｒＬＭＰ層送信処理部１０４に“切断要求”を行なう。
【０１４８】
[ＩｒＬＭＰ層送信処理部]
ＩｒＬＭＰ層送信処理部１０４は、ＳＭＰ層送信処理部１０３と、ＩｒＬＡＰ層送信処理部１０５との間に配置されており、ＩｒＳＳ方式において送信側のＩｒＬＭＰ層について定義されている機能を実現するものである。
【０１４９】
ＩｒＬＭＰ層送信処理部１０４では、具体的には、次の構成を備えることによりＩｒＬＭＰ層の機能を実現している。すなわち、ＩｒＬＭＰ層送信処理部１０４は、ＩｒＬＭＰ送信制御部１０４ａと、ＩｒＬＭＰ接続ヘッダ付加部１０４ｂと、ＩｒＬＭＰデータ転送ヘッダ付加部１０４ｃと、ＩｒＬＭＰ切断ヘッダ付加部１０４ｄとを備える。
【０１５０】
ＩｒＬＭＰ送信制御部１０４ａは、ＩｒＬＭＰ層における送信処理の制御を行なうものである。具体的には、ＩｒＬＭＰ送信制御部１０４ａは、上位層に相当するＳＭＰ層送信処理部１０３から転送される各種要求に応じて、ＩｒＬＭＰ接続ヘッダ付加部１０４ｂと、ＩｒＬＭＰデータ転送ヘッダ付加部１０４ｃと、ＩｒＬＭＰ切断ヘッダ付加部１０４ｄに指示を行なう。
【０１５１】
また一方で、ＩｒＬＭＰ送信制御部１０４ａは、下位層に相当するＩｒ
ＬＡＰ層送信処理部１０５からの各種の通知に応じて、ＳＭＰ層送信処理部１０３に対し所定の通知を行なう。
【０１５２】
ＩｒＬＭＰ接続ヘッダ付加部１０４ｂは、ＩｒＬＭＰ送信制御部１０４ａからの指示に基づいて、ＩｒＬＭＰ送信制御部１０４ａから転送されるデータに、ＩｒＬＭＰ接続ヘッダを付加し、ＩｒＬＭＰ接続ヘッダを付加したデータをＩｒＬＡＰ層送信処理部１０５に転送するとともに、ＩｒＬＡＰ層送信処理部１０５に“接続要求”を行なう。
【０１５３】
ＩｒＬＭＰデータ転送ヘッダ付加部１０４ｃは、ＩｒＬＭＰ送信制御部１０４ａからの指示に基づいて、ＩｒＬＭＰ送信制御部１０４ａから転送されるデータに、ＩｒＬＭＰデータ転送ヘッダを付加し、ＩｒＬＭＰデータ転送ヘッダを付加したデータをＩｒＬＡＰ層送信処理部１０５に転送するとともに、ＩｒＬＡＰ層送信処理部１０５にデータ転送要求を行なう。
【０１５４】
ＩｒＬＭＰ切断ヘッダ付加部１０４ｄは、ＩｒＬＭＰ送信制御部１０４ａからの指示に基づいて、ＩｒＬＭＰ送信制御部１０４ａから転送されるデータに、ＩｒＬＭＰ切断ヘッダを付加し、ＩｒＬＭＰ切断ヘッダを付加したデータをＩｒＬＭＰ層送信処理部１０４に転送するとともに、ＩｒＬＡＰ層送信処理部１０５に“切断要求”を行なう。
【０１５５】
[ＩｒＬＡＰ層送信処理部]
ＩｒＬＡＰ層送信処理部１０５は、ＩｒＬＭＰ層送信処理部１０４と、ＩｒＰＨＹ層送信処理部１０６との間に配置されており、ＩｒＳＳ方式において送信側のＩｒＬＡＰ層について定義されている機能を実現するものである。
【０１５６】
ＩｒＬＡＰ層送信処理部１０５では、具体的には、次の構成を備えることによりＩｒＬＡＰ層の機能を実現している。すなわち、ＩｒＬＡＰ層送信処理部１０５は、ＩｒＬＡＰ送信制御部１０５ａと、ＩｒＬＡＰ接続ヘッダ付加部１０５ｂと、ＩｒＬＡＰデータ転送ヘッダ付加部１０５ｃと、ＩｒＬＡＰ切断ヘッダ付加部１０５ｄと、タイマ１０５ｅを備える。
【０１５７】
ＩｒＬＡＰ送信制御部１０５ａは、ＩｒＬＡＰ層における送信処理の制御を行なうものである。
【０１５８】
タイマ１０５ｅは、時間計測を行なうものであり、ＩｒＳＳ方式のデータ通信における時間制御を行なうために用いられる。ＩｒＳＳ方式のデータ通信では、ＩｒＬＡＰ層で時間制御が行われる。タイマ１０５ｅは、ＩｒＬＡＰ送信制御部１０５ａが、タイマ１０５ｅを用いて、ＩｒＬＡＰ接続ヘッダ付加部１０５ｂ、ＩｒＬＡＰデータ転送ヘッダ付加部１０５ｃおよびＩｒＬＡＰ切断ヘッダ付加部１０５ｄにおけるデータ転送のタイミングを調整するのに用いられる。
【０１５９】
ＩｒＬＡＰ接続ヘッダ付加部１０５ｂは、ＩｒＬＡＰ送信制御部１０５ａからの指示に基づいて、ＩｒＬＡＰ送信制御部１０５ａから転送されるデータに、ＩｒＬＡＰ接続ヘッダを付加したＳＮＲＭパケットを作成する。そして、ＩｒＬＡＰ接続ヘッダ付加部１０５ｂは、ＳＮＲＭパケットをＩｒＬＡＰ層送信処理部１０５に転送するとともに、ＩｒＰＨＹ層送信処理部１０６に“送信要求”を行なう。このとき、ＩｒＬＡＰ接続ヘッダ付加部１０５ｂは、ＩｒＬＡＰ接続ヘッダの「Negotiation Parameters」に転送速度や送信先のアドレスなどのパラメータを設定する。なお、送信先のアドレスは、「Negotiation Parameters」のなかの「Connection Address」に設定される。
【０１６０】
ＩｒＬＡＰデータ転送ヘッダ付加部１０５ｃは、ＩｒＬＡＰ送信制御部１０５ａからの指示に基づいて、ＩｒＬＡＰ送信制御部１０５ａから転送されるデータに、ＩｒＬＡＰデータ転送ヘッダを付加したＵＩパケットを作成する。ＩｒＬＡＰデータ転送ヘッダの「Address Field」には、送信先のアドレスが含まれる。そして、ＩｒＬＡＰデータ転送ヘッダ付加部１０５ｃは、ＵＩパケットをＩｒＬＡＰ層送信処理部１０５に転送するとともに、ＩｒＰＨＹ層送信処理部１０６に“送信要求”を行なう。
【０１６１】
ＩｒＬＡＰ切断ヘッダ付加部１０５ｄは、ＩｒＬＡＰ送信制御部１０５ａからの指示に基づいて、ＩｒＬＡＰ送信制御部１０５ａから転送されるデータに、ＩｒＬＡＰ切断ヘッダを付加したＤＩＳＣパケットを作成する。ＩｒＬＡＰ切断ヘッダの「Address Field」には、送信先のアドレスが含まれる。そして、ＩｒＬＡＰ切断ヘッダ付加部１０５ｄは、ＤＩＳＣパケットをＩｒＬＡＰ層送信処理部１０５に転送するとともに、ＩｒＰＨＹ層送信処理部１０６に“送信要求”を行なう。
【０１６２】
[ＩｒＰＨＹ層送信処理部]
ＩｒＰＨＹ層送信処理部１０６は、ＩｒＬＡＰ層送信処理部１０５と、送信信号の出力端子との間に配置されており、ＩｒＳＳ方式において送信側のＩｒＰＨＹ層について定義されている機能を実現するものである。すなわち、ＩｒＰＨＹ層送信処理部１０６では、上位層に相当するＩｒＬＡＰ層送信処理部１０５から転送されてくるデータを所定のフォーマットに従いフレーム化し、変調し、送信信号として送信回路１００の出力端子から出力するものである。
【０１６３】
ＩｒＰＨＹ層送信処理部１０６は、ＩｒＰＨＹ層の機能を実現するために、ＩｒＰＨＹフレーム生成部１０６ａと、ＩｒＰＨＹ変調部１０６ｂとを備える。
【０１６４】
ＩｒＰＨＹ層フレーム生成部１０６ａは、ＩｒＬＡＰ層信号処理部１０５から転送されるデータを含むデータフレームを作成するものである。
【０１６５】
ＩｒＰＨＹ層変調部１０６ｂは、ＩｒＰＨＹ層フレーム生成部１０６ａが作成したデータフレームを変調し、送信信号として送信回路１００の出力端子（図示せず）から出力するものである。
【０１６６】
なお、ＩｒＰＨＹ層送信処理部１０６から出力された送信信号は、赤外線通信デバイス（図示せず）を介して送信機器１０の外部に送信される。
【０１６７】
以上が、送信機器１０が備える送信回路１００の詳細である。
【０１６８】
なお、送信回路１００は、ＩｒＳＳ方式のＯＢＥＸ層、ＳＭＰ層、ＩｒＬＭＰ層、ＩｒＬＡＰ層、ＩｒＰＨＹ層の処理を行なっているが、ＩｒＰＨＹ層の処理のみを行なうように切り替えることができるように構成されていてもよい。例えば、送信回路１００に、いずれの動作で処理を行なうかを選択する送信モード選択部（図示せず）を設けて、当該送信モード選択部で選択した動作で処理するようにすればよい。この場合、送信機器１０では、送信ソフトウェア１５０ではなく、ＩｒＰＨＹ層送信処理部１０６と、ＩｒＳＳ方式のＯＢＥＸ層、ＳＭＰ層、ＩｒＬＭＰ層、ＩｒＬＡＰ層の処理を行なう他の送信ソフトウェア（図示せず）が動作するようにすればよい。
【０１６９】
また、この選択操作は、ユーザの操作によって行なえるように構成してもよい。
【０１７０】
このように構成することで、送信モードを適宜切り替えることができ、各種送信ソフトウェアに対応可能な互換性の高い送信回路１００を提供することができる。
【０１７１】
以上のように、本実施の形態に係る送信回路１００は、送信処理を開始するためのＯＢＥＸ接続要求コマンドと、送信データを分割した転送データを含むＯＢＥＸデータ転送要求コマンドと、送信処理を終了するためのＯＢＥＸ切断要求コマンドとを受信機器３０、７０に送信することによって、受信機器３０、７０と片方向赤外線通信を行なう送信機器１０が備える回路である。
【０１７２】
そして、本実施の形態に係る送信回路１００は、送信ソフトウェア１５０側から送信データの送信処理を要求する送信要求信号を受信すると、ＯＢＥＸ接続要求コマンドと、ＯＢＥＸデータ転送要求コマンドおよびＯＢＥＸ切断要求コマンドを受信機器３０、７０に順次送信する構成である。
【０１７３】
上記構成により、片方向赤外線通信の送信処理において、ＣＰＵの割り込み処理によるＣＰＵの負荷を軽減でき、高速かつ安定した送信処理を行なうことができるという効果を奏する。
【０１７４】
〔送信要求処理部の処理の流れ〕
次に、図３に示すフローチャートを参照しながら、送信要求処理部１０１の動作について説明する。同図は送信要求処理部１０１の動作の詳細について説明したフローチャートである。
【０１７５】
まず、送信要求処理部１０１は、外部からの送信要求信号の入力を待ち受ける（Ｓ６０１）。本実施の形態において、外部とは、具体的には、送信要求信号を送信要求処理部１０１に入力する送信ソフトウェア１５０である。ここで、送信要求処理部１０１は、送信ソフトウェア１５０から送信要求信号が入力されなければ、そのまま入力を待ち続ける（Ｓ６０１においてＮＯ）。
【０１７６】
次に、送信ソフトウェア１５０が、送信要求信号を送信要求処理部１０１に入力すると（Ｓ６０１においてＹＥＳ）、送信要求処理部１０１は、接続要求通知を生成し、ＯＢＥＸ層送信処理部１０２に対し接続要求通知を転送する（Ｓ６０２）。そして、送信要求処理部１０１は、ＯＢＥＸ層送信処理部１０２から、“接続完了”が通知されたか否かを判定する（Ｓ６０３）。送信要求処理部１０１は、ＯＢＥＸ層送信処理部１０２から、“接続完了”が通知されていなければ、ＯＢＥＸ層送信処理部１０２から、“接続完了”が通知されるのを待ち続ける（Ｓ６０３においてＮＯ）。
【０１７７】
その間に、ＯＢＥＸ層送信処理部１０２が生成した“ＯＢＥＸ接続要求コマンド”が、ＯＢＥＸ層送信処理部１０２から、ＩｒＬＡＰ層送信処理部１０５にかけて順番に転送され、ＩｒＰＨＹ層送信処理部１０６から、ＳＮＲＭパケットを含む送信信号が出力されると、今度は、ＩｒＬＡＰ層送信処理部１０５から、ＯＢＥＸ層送信処理部１０２にかけて“接続確認”が、順番に通知される。ＯＢＥＸ層送信処理部１０２は、ＳＭＰ層送信処理部１０３から“接続確認”が通知されると、送信要求処理部１０１に対し、“接続完了”を通知する。
【０１７８】
そして、送信要求処理部１０１は、ＯＢＥＸ層送信処理部１０２から、“接続完了”が通知されると（Ｓ６０３においてＹＥＳ）、データ転送要求通知を生成し、ＯＢＥＸ層送信処理部１０２に転送する（Ｓ６０４）。そして、送信要求処理部１０１は、ＯＢＥＸ層送信処理部１０２から“データ転送完了”が通知されたか否かを判定する（Ｓ６０５）。送信要求処理部１０１は、ＯＢＥＸ層送信処理部１０２から“データ転送完了”が通知されていなければ、ＯＢＥＸ層送信処理部１０２から“データ転送完了”が通知されるのを待ち続ける（Ｓ６０５においてＮＯ）。
【０１７９】
その間に、ＯＢＥＸ層送信処理部１０２は、データ転送要求通知を送信要求処理部１０１から受け付けると、送信ソフトウェア１５０から入力される送信データを、送信バッファ１０８から読み出し、当該読み出した送信データを、２ＫＢ単位で分割する。そして、ＯＢＥＸ層送信処理部１０２は、２ＫＢに分割した送信データを含む“ＯＢＥＸデータ転送要求コマンド”を生成する。ここで、転送すべき送信データがまだある場合は、ＯＢＥＸ層送信処理部１０２は、“ＯＢＥＸデータ転送要求コマンド”のopcodeに、“ＰＵＴ”を設定する。
【０１８０】
そして、ＯＢＥＸ層送信処理部１０２から、ＩｒＬＡＰ層送信処理部１０５にかけて、順番に“ＯＢＥＸデータ転送要求コマンド”が転送され、ＩｒＰＨＹ層送信処理部１０６から、ＵＩパケットを含む送信信号が送信回路１００の出力端子に出力される。ここで、ＯＢＥＸ層送信処理部１０２は、分割した最後のデータに対しては、“ＯＢＥＸデータ転送要求コマンド”のopcodeに、“ＰＵＴ Ｆｉｎａｌ”を設定する。ＯＢＥＸ層送信処理部１０２は、opcodeに“ＰＵＴ Ｆｉｎａｌ”を設定した“ＯＢＥＸデータ転送要求コマンド”を生成すると、送信データの全てが送信されたものとして、送信要求処理部１０１に“データ転送完了”を通知する。
【０１８１】
そして、送信要求処理部１０１は、ＯＢＥＸ層送信処理部１０２から、“データ転送完了”が通知されると（Ｓ６０５においてＹＥＳ）、切断要求通知を生成し、ＯＢＥＸ層送信処理部１０２に転送する（Ｓ６０６）。そして、送信要求処理部１０１は、ＯＢＥＸ層送信処理部１０２から“切断完了”が通知されたか否かを判定する（Ｓ６０７）。送信要求処理部１０１は、ＯＢＥＸ層送信処理部１０２から“切断完了”が通知されていなければ、ＯＢＥＸ層送信処理部１０２から“切断完了”が通知されるのを待ち続ける（Ｓ６０７においてＮＯ）。
【０１８２】
その間に、ＯＢＥＸ層送信処理部１０２が生成した“ＯＢＥＸ切断要求コマンド”が、ＯＢＥＸ層送信処理部１０２から、ＩｒＬＡＰ層送信処理部１０５にかけて順番に転送され、ＩｒＰＨＹ層送信処理部１０６から、ＤＩＳＣパケットを含む送信信号が送信回路１００の出力端子に出力されると、今度は、ＩｒＬＡＰ層送信処理部１０５から、ＯＢＥＸ層送信処理部１０２にかけて“切断確認”が、順番に通知される。ＯＢＥＸ層送信処理部１０２は、ＳＭＰ層送信処理部１０３から“切断確認”が通知されると、ＯＢＥＸ層送信処理部１０２は、送信要求処理部１０１に対し、“切断完了”を通知する。
【０１８３】
そして、送信要求処理部１０１は、ＯＢＥＸ層送信処理部１０２から“切断完了”が通知されると（Ｓ６０７においてＹＥＳ）、外部、すなわち、送信ソフトウェア１５０に、送信完了を通知する（Ｓ６０８）。その後、処理は終了する。
【０１８４】
なお、送信要求処理部１０１は、上記Ｓ６０１、Ｓ６０３、Ｓ６０５およびＳ６０７においてエラーを検知した場合は、送信ソフトウェア１５０に、“エラー発生”や“エラー発生原因”等を通知してもよい。この場合、送信ソフトウェア１５０よりも上位層において、“エラー発生”や“エラー発生原因”等の通知に応じたエラーハンドリングを行なうことが可能になる。従って、送信機器１０における障害対応が迅速に行なえるようになる。
【０１８５】
〔送信回路における送信シーケンスの処理〕
次に、図４を用いて、送信回路１００が備える各部の接続シーケンス、データ転送シーケンスおよび切断シーケンスの、３つのシーケンスにおける処理について以下に説明する。図４は、送信回路１００がデータを送信する場合の流れを示したシーケンス図である。
【０１８６】
なお、図４に示す、受信側の受信シーケンスの処理は、従来の受信機器７０のものを示している。従って、以下ではその説明を省略する。また、同図では、ＩｒＰＨＹ層送信処理部１０６については記載を省略している。
【０１８７】
図４に示すように、送信機器１０から受信機器３０へデータ送信を行なう場合、まず、送信ソフトウェア１５０側から、送信回路１００の送信要求処理部１０１に対して送信要求信号が入力される。そして、送信要求処理部１０１は、送信要求信号が入力されると、接続要求通知を生成し、当該接続要求通知をＯＢＥＸ層送信処理部１０２に転送する。
【０１８８】
[接続シーケンスの処理]
まず、図４を参照しながら、送信回路１００における接続シーケンスの処理について以下に説明する。同図に示すように、ＯＢＥＸ層送信処理部１０２は、送信要求処理部１０１から、接続要求通知が転送されてくると、“ＯＢＥＸ接続要求コマンド”を生成し、当該“ＯＢＥＸ接続要求コマンド”をＳＭＰ層送信処理部１０３に転送する。
【０１８９】
次に、ＳＭＰ層送信処理部１０３は、ＯＢＥＸ層送信処理部１０２から、“ＯＢＥＸ接続要求コマンド”が転送されてくると、当該“ＯＢＥＸ接続要求コマンド”にＳＭＰ接続ヘッダを付加したデータを作成する。そして、ＳＭＰ層送信処理部１０３は、“接続要求コマンド”にＳＭＰ接続ヘッダを付加したデータを、ＩｒＬＭＰ層送信処理部１０４に転送するとともに、ＩｒＬＭＰ層送信処理部１０４に“接続要求”を行なう。
【０１９０】
次に、ＩｒＬＭＰ層送信処理部１０４は、ＳＭＰ層送信処理部１０３から“接続要求”を受け付けると、ＳＭＰ層送信処理部１０３から転送されてくるデータにＩｒＬＭＰ接続ヘッダを付加したデータを、ＩｒＬＡＰ層送信処理部１０５に転送するとともに、ＩｒＬＡＰ層送信処理部１０５に“接続要求”を行なう。
【０１９１】
次に、ＩｒＬＡＰ層送信処理部１０５は、ＩｒＬＭＰ層送信処理部１０４から“接続要求”を受け付けたときは、ＩｒＬＭＰ層送信処理部１０４から転送されてくるデータにＩｒＬＡＰ接続ヘッダを付加したＳＮＲＭパケットを作成する。
【０１９２】
このとき、ＩｒＬＡＰ層送信処理部１０５は、ＩｒＬＡＰ接続ヘッダの「Negotiation Parameters」に転送速度や送信先のアドレスなどのパラメータを設定する。なお、送信先のアドレスは、「Negotiation Parameters」のなかの「Connection Address」に設定される。ＩｒＬＡＰ層送信処理部１０５は、ＳＮＲＭパケットをＩｒＰＨＹ層送信処理部１０６に転送するとともに、ＩｒＰＨＹ層送信処理部１０６に“送信要求”を行なう。
【０１９３】
なお、上記データ転送および“送信要求”のタイミングは、ＩｒＬＡＰ送信制御部１０５ａが調整する。
【０１９４】
ＩｒＰＨＹ層送信処理部１０５は、ＩｒＬＡＰ層送信処理部１０５から“送信要求”を受け付けると、ＳＮＲＭパケットを送信信号として出力し、赤外線通信デバイスを介して外部、すなわち受信機器３０に向けて送信する。
【０１９５】
その後、ＩｒＬＡＰ層送信処理部１０５から、ＯＢＥＸ層送信処理部１０２にかけて “接続確認”が通知される。
【０１９６】
そして、ＯＢＥＸ層送信処理部１０２は、ＳＭＰ層送信処理部１０３から“接続確認”が通知されると、送信要求処理部１０１に対し、“接続完了”を通知する。
【０１９７】
以上が、送信回路１００における接続シーケンスの処理である。
【０１９８】
なお、ＳＭＰ接続ヘッダ、ＩｒＬＭＰ接続ヘッダおよびＩｒＬＡＰ接続ヘッダは、付加しなくてもよい場合がある。
【０１９９】
[データ転送シーケンスの処理]
次に、図４を参照しながら、送信回路１００におけるデータ転送シーケンスの処理について以下に説明する。図４に示すように、送信要求処理部１０１は、ＯＢＥＸ送信制御部１０２ａから、“接続完了”が通知されると、送信ソフトウェア１５０側から入力される送信データを受け付け、ＯＢＥＸ層送信処理部１０２に対して、データ転送要求通知を転送する。なお、送信要求処理部１０１が受け付けた送信データは、送信バッファ１０８に一時的に格納される。また、送信データが、送信バッファ１０８に一時的に格納されるタイミングは、送信要求処理部１０１が、ＯＢＥＸ層送信処理部１０２に接続要求通知を行なう前でも後でもよい。
【０２００】
ＯＢＥＸ層送信処理部１０２は、送信要求処理部１０１から、データ転送要求通知が転送されてくると、送信バッファ１０８から送信データを読み出し、当該読み出した送信データを２ＫＢのサイズに分割または結合して転送データを作成する。そして、ＯＢＥＸ層送信処理部１０２は、転送データを含む“ＯＢＥＸデータ転送要求コマンド”を生成し、当該“ＯＢＥＸデータ転送要求コマンド”を、逐次、ＳＭＰ層送信処理部１０３に転送する。
【０２０１】
次に、ＳＭＰ層送信処理部１０３は、ＯＢＥＸ層送信処理部１０２から、“ＯＢＥＸデータ転送要求コマンド”が転送されてくると、当該“ＯＢＥＸデータ転送要求コマンド”を所定のサイズに分割し、ＳＭＰデータ転送ヘッダを付加して、ＩｒＬＭＰ層送信処理部１０４に転送するとともに、ＩｒＬＭＰ層送信処理部１０４に対し“データ転送要求”を行なう。
【０２０２】
なお、ここでＯＢＥＸ層送信処理部１０２において、すでに、送信データは、２ＫＢ毎のパケットになっているため、ＳＭＰ層送信処理部１０３では、転送データをさらに分割する必要がない。
【０２０３】
次に、ＩｒＬＭＰ層送信処理部１０４は、ＳＭＰ層送信処理部１０３から“データ転送要求”を受け付けると、ＳＭＰ層送信処理部１０３から転送されるデータにＩｒＬＭＰデータ転送ヘッダを付加して、ＩｒＬＡＰ層送信処理部１０５に転送するとともに、ＩｒＬＡＰ層送信処理部１０５に“データ転送要求”を行なう。
【０２０４】
次に、ＩｒＬＡＰ層送信処理部１０５は、ＩｒＬＭＰ層送信処理部１０４から“データ転送要求”を受け付けると、ＩｒＬＭＰ層送信処理部１０４から転送されるデータにＩｒＬＡＰデータ転送ヘッダを付加して、タイミングを調整しながら、ＩｒＰＨＹ層送信処理部１０５に転送するとともに、ＩｒＰＨＹ層送信処理部１０６に“データ転送要求”を行なう。ＩｒＬＡＰデータ転送ヘッダの「Address Field」には、送信先のアドレスが含まれている。
【０２０５】
ＩｒＰＨＹ層送信処理部１０５は、ＩｒＬＡＰ層送信処理部１０５から“データ転送要求”を受け付けると、ＵＩパケットを送信信号として出力し、赤外線通信デバイスを介して外部、すなわち受信機器３０に向けて送信する。
【０２０６】
このような一連の処理を繰り返して、転送データをすべて転送し終わると、ＯＢＥＸ層送信処理部１０２は、送信要求処理部１０１に、“データ転送完了”を通知する。
【０２０７】
以上が、送信回路１００におけるデータ転送シーケンスの処理である。
【０２０８】
なお、ＳＭＰデータ転送ヘッダ、ＩｒＬＭＰデータ転送ヘッダおよびＩｒＬＡＰデータ転送ヘッダは、付加しなくてもよい場合がある。
【０２０９】
[切断シーケンスの処理]
次に、図４を参照しながら、さらに送信回路１００における切断要求シーケンスの処理について以下に説明する。
【０２１０】
まず、図４に示すように、送信要求処理部１０１は、ＯＢＥＸ層送信処理部１０２から、“データ転送完了”が通知されると、ＯＢＥＸ層送信処理部１０２に対して切断要求通知を転送する。
【０２１１】
次に、ＯＢＥＸ層送信処理部１０２は、送信要求処理部１０１から、切断要求通知が転送されてくると、“ＯＢＥＸ切断要求コマンド”を生成し、当該“ＯＢＥＸ切断要求コマンド”をＳＭＰ層送信処理部１０３に転送する。
【０２１２】
次に、ＳＭＰ層送信処理部１０３は、ＯＢＥＸ層送信処理部１０２から、“ＯＢＥＸ切断要求コマンド”が転送されてくると、当該“切断要求コマンド”にＳＭＰ切断ヘッダを付加して、ＩｒＬＭＰ層送信処理部１０４に転送するとともに、ＩｒＬＭＰ層送信処理部１０４に対して“切断要求”を行なう。
【０２１３】
次に、ＩｒＬＭＰ層送信処理部１０４は、ＳＭＰ層送信処理部１０３から“切断要求”を受け付けると、ＳＭＰ層送信処理部１０３から転送されてくるデータにＩｒＬＭＰ切断ヘッダを付加して、ＩｒＬＭＰ層送信処理部１０４に転送するとともに、ＩｒＬＭＰ層送信処理部１０４に対して“切断要求”を行なう。
【０２１４】
また、ＩｒＬＡＰ層送信処理部１０５は、ＩｒＬＭＰ層送信処理部１０４から“切断要求”を受け付けると、ＩｒＬＭＰ層送信処理部１０４から転送されてくるデータにＩｒＬＡＰ切断ヘッダを付加したＤＩＳＣパケットを作成する。ＩｒＬＡＰ層送信処理部１０５は、ＤＩＳＣパケットをＩｒＰＨＹ層送信処理部１０６に転送するとともに、ＩｒＰＨＹ層送信処理部１０６に“切断要求”を行なう。ＩｒＬＡＰデータ転送ヘッダの「Address Field」には、送信先のアドレスが含まれている。
【０２１５】
なお、上記データ転送および“切断要求”のタイミングは、ＩｒＬＡＰ層送信処理部１０５が調整する。
【０２１６】
ＩｒＰＨＹ層送信処理部１０６は、ＩｒＬＡＰ層送信処理部１０５から“切断要求”を受け付けると、ＤＩＳＣパケットを送信信号として出力し、赤外線通信デバイスを介して外部、すなわち受信機器３０に向けて送信する。
【０２１７】
その後、ＩｒＬＡＰ層送信処理部１０５から、ＯＢＥＸ層送信処理部１０２にかけて“切断確認”が通知される。
【０２１８】
そして、ＯＢＥＸ層送信処理部１０２は、ＳＭＰ層送信処理部１０３から“切断確認”が通知されると、送信要求処理部１０１に対し、“切断完了”を通知する。
【０２１９】
送信要求処理部１０１は、ＯＢＥＸ層送信処理部１０２から“切断完了”を通知されると、外部に、すなわち、送信ソフトウェア１５０側に送信完了信号を出力する。
【０２２０】
以上が、送信回路１００における切断シーケンスの処理である。
【０２２１】
なお、ＳＭＰ切断ヘッダ、ＩｒＬＭＰ切断ヘッダおよびＩｒＬＡＰ切断ヘッダは、付加しなくてもよい場合がある。
【０２２２】
（受信回路）
〔受信回路の構成〕
受信機器３０が備える受信回路３００の詳細について、図５を用いて説明すると以下のとおりである。
【０２２３】
図５は、受信機器３０が備える受信回路３００の要部構成を示す機能ブロック図である。
【０２２４】
図５に示すように、受信回路３００は、受信要求処理部３０１と、ＯＢＥＸ層受信処理部（コマンド解析処理部）３０２と、ＳＭＰ層受信処理部３０３と、ＩｒＬＭＰ層受信処理部３０４と、ＩｒＬＡＰ層受信処理部３０５と、ＩｒＰＨＹ層受信処理部３０６と、受信バッファ３０８とをハードウェアとして備える構成である。
【０２２５】
受信要求処理部３０１は、受信ソフトウェア３５０側からの入力信号に応じて、送信機器１０からのデータ送信を受け付け、送信機器１０から受信したデータを受信ソフトウェア３５０側に出力し、そして、送信機器１０から送信されるデータをすべて受信した場合には、受信ソフトウェア３５０側にその旨を通知するものである。また、受信バッファ３０８は、受信ソフトウェア３５０側に出力するための受信データを一時的に保持しておくためのものである。
【０２２６】
[受信要求処理部]
受信要求処理部３０１は、受信ソフトウェア３５０側から受信要求信号が入力されると、受信要求通知を生成する。そして、受信要求処理部３０１は、当該受信要求通知をＯＢＥＸ層受信処理部３０２に転送するとともに、受信待機状態になる。
【０２２７】
また、受信要求処理部３０１は、ＯＢＥＸ層受信処理部３０２から通知される“接続完了”を受け付ける。
【０２２８】
また、受信要求処理部３０１は、ＯＢＥＸ層受信処理部３０２から、受信データが転送されてきた場合は、当該受信データを受信バッファ３０８経由で、受信ソフトウェア３５０側に出力する。
【０２２９】
通常、送信データは、パケットに分割されて送信機器１０から受信機器３０に送信されてくる。
【０２３０】
受信要求処理部３０１は、送信機器１０から分割されて送られてくる送信データを受信すると、受信ソフトウェア１５０の処理能力にあわせるように受信バッファ３０８に格納する。
【０２３１】
そして、送信機器１０から分割されて送られてくる送信データを全て受信すると、受信要求処理部３０１は、ＯＢＥＸ層受信処理部３０２から“データ転送完了”の通知を受け付ける。
【０２３２】
また、受信要求処理部３０１は、ＯＢＥＸ層受信処理部３０２から“切断完了”の通知を受けると、受信ソフトウェア３５０側に、受信完了信号を出力する。
【０２３３】
なお、受信要求処理部３０１は、送信機器１０から分割されて送られてくる送信データを全て受信するまで、受信データを待ち受けるようにしてもよい。
【０２３４】
[ＯＢＥＸ層受信処理部]
ＯＢＥＸ層受信処理部３０２は、受信要求処理部３０１と、ＳＭＰ層受信処理部３０３との間に配置されており、ＩｒＳＳ方式において受信側のＯＢＥＸ層について定義されている機能を実現するものである。
【０２３５】
ＯＢＥＸ層受信処理部３０２では、具体的には、ハードウェアとして次の構成を備えることによりＯＢＥＸ層の機能を実現している。すなわち、ＯＢＥＸ層受信処理部３０２は、ＯＢＥＸ受信制御部（コマンド解析処理部）３０２ａと、ＯＢＥＸ接続要求コマンド解析部（コマンド解析処理部）３０２ｂと、ＯＢＥＸデータ転送要求コマンド解析部（コマンド解析処理部）３０２ｃと、ＯＢＥＸ切断要求コマンド解析部（コマンド解析処理部）３０２ｄとを備える。
【０２３６】
ＯＢＥＸ受信制御部３０２ａは、ＯＢＥＸ層における受信処理の制御を行なうものである。
【０２３７】
ＯＢＥＸ受信制御部３０２ａは、上位層に相当する受信要求処理部３０１からの受信要求通知に応じて、接続待機状態になるとともに、ＳＭＰ層受信処理部３０３に接続要求を行なう。
【０２３８】
また一方で、ＯＢＥＸ受信制御部３０２ａは、ＳＭＰ層受信処理部３０３からの各種の通知に応じて、ＯＢＥＸ接続要求コマンド解析部３０２ｂ、ＯＢＥＸデータ転送要求コマンド解析部３０２ｃおよびＯＢＥＸ切断要求コマンド解析部３０２ｄに各種の通知を解析させる。また、ＯＢＥＸ受信制御部３０２ａは、当該解析の結果を受け付け上位層に相当する受信要求処理部３０１に対し所定の通知を行なう。当該解析の結果に問題があれば、受信要求処理部３０１にエラーを通知する。そして、当該エラーの通知は、受信要求処理部３０１から、受信ソフトウェア３５０に渡される。
【０２３９】
ＯＢＥＸ接続要求コマンド解析部３０２ｂは、ＯＢＥＸ受信制御部３０２ａからの指示に基づいて、ＳＭＰ層受信処理部３０３から転送される“接続通知”を解析し、当該解析結果をＯＢＥＸ受信制御部３０２ａに通知する。ここで、ＯＢＥＸ受信制御部３０２ａは、当該解析結果を受け付けると受信要求処理部３０１に、“接続完了”を通知する。
【０２４０】
ＯＢＥＸデータ転送要求コマンド解析部３０２ｃは、ＯＢＥＸ受信制御部３０２ａからの指示に基づいて、ＳＭＰ層受信処理部３０３から転送される“データ転送通知”を受け付け、当該“データ転送通知”を解析し、受信データを抽出するものである。
【０２４１】
具体的には、ＯＢＥＸデータ転送要求コマンド解析部３０２ｃは、“データ転送通知”を解析し、転送データを抽出するとともに、データの最後を示すフラグを確認する。このデータの最後を示すフラグとは、ＳＭＰ層受信処理部３０３から通知される“status=OK”である。また、ＯＢＥＸデータ転送要求コマンド解析部３０２ｃは、“status=truncated”の間は、すなわち、データの最後を示すフラグ（“status=OK”）が現れるまで継続的に上記“データ転送通知”を受け付ける。ＯＢＥＸデータ転送要求コマンド解析部３０２ｃは、抽出した転送データを受信データとして受信バッファ３０８に格納する。なお、受信データは、受信バッファ３０８経由で受信回路３００の外部、すなわち、受信ソフトウェア３５０側に出力される。
【０２４２】
なお、受信バッファ３０８は、受信ソフトウェア３５０の処理能力にあわせて受信回路３００に設ければよく、また、受信ソフトウェア３５０の処理能力が十分に高い場合には、受信バッファ３０８を受信回路３００に設けなくてもよい。
【０２４３】
ＯＢＥＸ切断要求コマンド解析部３０２ｄは、ＯＢＥＸ受信制御部３０２ａからの指示に基づいて、ＳＭＰ層受信処理部３０３から通知される“切断通知”を解析し、当該解析結果をＯＢＥＸ受信制御部３０２ａに通知する。ここで、ＯＢＥＸ受信制御部３０２ａは、当該解析結果を受け付けると、受信要求処理部３０１に“受信完了”を通知するものである。
【０２４４】
[ＳＭＰ層受信処理部]
ＳＭＰ層受信処理部３０３は、ＯＢＥＸ層受信処理部３０２と、ＩｒＬＭＰ層受信処理部３０４との間に配置されており、ＩｒＳＳ方式のＳＭＰ層において定義されている機能を実現するものである。
【０２４５】
ＳＭＰ層受信処理部３０３では、具体的には、次の構成を備えることによりＳＭＰ層の機能を実現している。すなわち、ＳＭＰ層受信処理部３０３は、ＳＭＰ受信制御部３０３ａと、ＳＭＰ接続ヘッダ解析部３０３ｂと、ＳＭＰデータ転送ヘッダ解析部３０３ｃと、ＳＭＰ切断ヘッダ解析部３０３ｄとを備える。
【０２４６】
ＳＭＰ受信制御部３０３ａは、ＳＭＰ層における受信処理の制御を行なうものである。具体的には、ＳＭＰ受信制御部３０３ａは、上位層に相当するＯＢＥＸ層受信処理部３０２から転送される接続要求に応じて、接続待機状態になるとともに、下位層に相当するＩｒＬＭＰ層受信処理部３０４に“接続要求”を行なう。
【０２４７】
また一方で、ＳＭＰ受信制御部３０３ａは、ＩｒＬＭＰ層受信処理部３０４からの各種の通知に応じて、ＳＭＰ接続ヘッダ解析部３０３ｂ、ＳＭＰデータ転送ヘッダ解析部３０３ｃおよびＳＭＰ切断ヘッダ解析部３０３ｄに各種の通知を解析させる。また、ＳＭＰ受信制御部３０３ａは、当該解析の結果を受け取り、ＯＢＥＸ層受信処理部３０２に対し所定の通知を行なう。
【０２４８】
ＳＭＰ接続ヘッダ解析部３０３ｂは、ＳＭＰ受信制御部３０３ａからの指示に基づいて、ＩｒＬＭＰ層受信処理部３０４から転送される接続通知を解析し、当該解析結果をＳＭＰ受信制御部３０３ａに通知する。ここで、ＳＭＰ受信制御部３０３ａは、当該解析結果を受け付けると、ＯＢＥＸ層受信処理部３０２に、“接続通知”を行なう。
【０２４９】
ＳＭＰデータ転送ヘッダ解析部３０３ｃは、ＳＭＰ受信制御部３０３ａからの指示に基づいて、ＩｒＬＭＰ層受信処理部３０４から転送される“データ転送通知”を受け付け、当該“データ転送通知”を解析し、当該解析結果を、ＯＢＥＸ層受信処理部３０２に通知する。具体的には、ＳＭＰデータ転送ヘッダ解析部３０３ｃは、当該解析の結果に問題が無ければＯＢＥＸ層受信処理部３０２に“データ転送通知”を行なう。当該“データ転送通知”は、下位層からの“データ転送通知”ごとに行なってもよく、下位層からの“データ転送通知”をいくつかまとめて行なってもよい。
【０２５０】
また、ＳＭＰデータ転送ヘッダ解析部３０３ｃは、当該解析の結果に問題があれば、その旨を上位層に順番に通知する。すなわち、ＳＭＰデータ転送ヘッダ解析部３０３ｃは、ＯＢＥＸ層受信処理部３０２にエラーを通知する。そして、ＯＢＥＸ層受信処理部３０２は、次に受信要求処理部３０１にエラーを通知し、その後、受信要求処理部３０１は、受信ソフトウェア３５０にエラーを通知する。
【０２５１】
ＳＭＰ切断ヘッダ解析部３０３ｄは、ＳＭＰ受信制御部３０３ａからの指示に基づいて、ＩｒＬＭＰ層受信処理部３０４から転送される“切断通知”を解析し、当該解析結果をＳＭＰ受信制御部３０３ａに通知する。ここで、ＳＭＰ受信制御部３０３ａは、当該解析結果を受け付けるとＯＢＥＸ層受信処理部３０２に“切断通知”を行なう。
【０２５２】
[ＩｒＬＭＰ層受信処理部]
ＩｒＬＭＰ層受信処理部３０４は、ＳＭＰ層受信処理部３０３と、ＩｒＬＡＰ層受信処理部３０５との間に配置されており、ＩｒＳＳ方式において受信側のＩｒＬＭＰ層について定義されている機能を実現するものである。
【０２５３】
ＩｒＬＭＰ層受信処理部３０４では、具体的には、次の構成を備えることによりＩｒＬＭＰ層の機能を実現している。すなわち、ＩｒＬＭＰ層受信処理部３０４は、ＩｒＬＭＰ受信制御部３０４ａと、ＩｒＬＭＰ接続ヘッダ解析部３０４ｂと、ＩｒＬＭＰデータ転送ヘッダ解析部３０４ｃと、ＩｒＬＭＰ切断ヘッダ解析部３０４ｄとを備える。
【０２５４】
ＩｒＬＭＰ受信制御部３０４ａは、ＩｒＬＭＰ層における受信処理の制御を行なうものである。具体的には、ＩｒＬＭＰ受信制御部３０４ａは、上位層に相当するＳＭＰ層受信処理部３０３から転送される“接続要求”に応じて、接続待機状態になるとともに、下位層に相当するＩｒＬＡＰ層受信処理部３０５に“接続要求”を行なう。
【０２５５】
また一方で、ＩｒＬＭＰ受信制御部３０４ａは、ＩｒＬＭＰ層受信処理部３０４からの各種の通知に応じて、ＩｒＬＭＰ接続ヘッダ解析部３０４ｂ、ＩｒＬＭＰデータ転送ヘッダ解析部３０４ｃおよびＩｒＬＭＰ切断ヘッダ解析部３０４ｄに各種の通知を解析させる。また、ＩｒＬＭＰ受信制御部３０４ａは、当該解析の結果を受け取り、ＳＭＰ層受信処理部３０３に対し所定の通知を行なう。
【０２５６】
ＩｒＬＭＰ受信制御部３０４ａは、上位層に相当するＳＭＰ層受信処理部３０３から転送される“接続要求”に応じて、接続待機状態になるとともに、ＩｒＬＡＰ層受信処理部３０５に“接続要求”を行なう。
【０２５７】
また一方で、ＩｒＬＭＰ受信制御部３０４ａは、ＩｒＬＡＰ層受信処理部３０５からの各種の通知に応じて、ＩｒＬＭＰ接続ヘッダ解析部３０４ｂ、ＩｒＬＭＰデータ転送ヘッダ解析部３０４ｃおよびＩｒＬＭＰ切断ヘッダ解析部３０４ｄに各種の通知を解析させる。また、ＩｒＬＭＰ受信制御部３０４ａは、当該解析の結果を受け取り、ＳＭＰ層受信処理部３０３に対し所定の通知を行なう。当該解析の結果に問題があれば、ＳＭＰ層受信処理部３０３にエラーを通知する。そして、当該エラーの通知は、ＳＭＰ層受信処理部３０３から、ＯＢＥＸ層受信処理部３０２および受信要求処理部３０１を順に経て、受信ソフトウェア３５０に渡される。
【０２５８】
ＩｒＬＭＰ接続ヘッダ解析部３０４ｂは、ＩｒＬＭＰ受信制御部３０４ａからの指示に基づいて、ＩｒＬＡＰ層受信処理部３０５から転送される“接続通知”を解析し、当該解析結果をＩｒＬＭＰ受信制御部３０４ａに通知する。ここで、ＩｒＬＭＰ受信制御部３０４ａは、当該解析結果を受け付けると、ＳＭＰ層受信処理部３０３に、“接続通知”を行なう。
【０２５９】
ＩｒＬＭＰデータ転送ヘッダ解析部３０４ｃは、ＩｒＬＭＰ受信制御部３０４ａからの指示に基づいて、ＩｒＬＡＰ層受信処理部３０５から転送される“データ転送通知”を解析し、データを抽出するとともに、当該解析結果および抽出したデータをＩｒＬＭＰ受信制御部３０４ａに転送する。ここで、ＩｒＬＭＰ受信制御部３０４ａは、当該解析結果を受け付けると、ＳＭＰ層受信処理部３０３に“データ転送通知”を行なう。
【０２６０】
ＩｒＬＭＰ切断ヘッダ解析部３０４ｄは、ＩｒＬＭＰ受信制御部３０４ａからの指示に基づいて、ＩｒＬＡＰ受信制御部３０５ａから転送される“切断通知”を解析し、当該解析結果を、ＩｒＬＭＰ受信制御部３０４ａに通知する。ここで、ＩｒＬＭＰ受信制御部３０４ａは、当該解析結果を受け付けると、ＳＭＰ層受信処理部３０３に“切断通知”を行なう。
【０２６１】
[ＩｒＬＡＰ層受信処理部]
ＩｒＬＡＰ層受信処理部３０５は、ＩｒＬＭＰ層受信処理部３０４と、ＩｒＰＨＹ層受信処理部３０６との間に配置されており、ＩｒＳＳ方式における受信機のＩｒＬＡＰ層について定義されている機能を実現するものである。
【０２６２】
ＩｒＬＡＰ層受信処理部３０５では、具体的には、次の構成を備えることによりＩｒＬＡＰ層の機能を実現している。すなわち、ＩｒＬＡＰ層受信処理部３０５は、ＩｒＬＡＰ受信制御部３０５ａと、ＩｒＬＡＰ接続ヘッダ解析部３０５ｂと、ＩｒＬＡＰデータ転送ヘッダ解析部３０５ｃと、ＩｒＬＡＰ切断ヘッダ解析部３０５ｄと、ＩｒＬＡＰパケット識別部３０５ｅとを備える。
【０２６３】
ＩｒＬＡＰ受信制御部３０５ａは、ＩｒＬＡＰ層における受信処理の制御を行なうものである。具体的には、ＩｒＬＡＰ受信制御部３０５ａは、上位層に相当するＩｒＬＭＰ層受信処理部３０４から転送される“接続要求”に応じて、接続待機状態になるとともに、下位層に相当するＩｒＰＨＹ層受信処理部３０６に“受信要求”を行なう。
【０２６４】
また一方で、ＩｒＬＡＰ受信制御部３０５ａは、ＩｒＰＨＹ層受信処理部３０６から転送されたパケットの種類をＩｒＬＡＰパケット識別部３０５ｅに識別させ、識別結果に応じて、ＩｒＬＡＰ接続ヘッダ解析部３０５ｂ、ＩｒＬＡＰデータ転送ヘッダ解析部３０５ｃおよびＩｒＬＡＰ切断ヘッダ解析部３０５ｄの各解析部にパケットを解析させ、当該解析結果を受け取る。
【０２６５】
すなわち、ＩｒＬＡＰパケット識別部３０５ｅが、当該パケットを“ＳＮＲＭパケット”と識別した場合、ＩｒＬＡＰ受信制御部３０５ａは、当該パケットを、ＩｒＬＡＰ接続ヘッダ解析部３０５ｂに解析させる。ＩｒＬＡＰパケット識別部３０５ｅが、当該パケットを“ＵＩパケット”と識別した場合、ＩｒＬＡＰ受信制御部３０５ａは、当該パケットを、ＩｒＬＡＰデータ転送ヘッダ解析部３０５ｃに解析させる。また、ＩｒＬＡＰパケット識別部３０５ｅが、当該パケットを“ＤＩＳＣパケット”と識別した場合、ＩｒＬＡＰ受信制御部３０５ａは、ＩｒＬＡＰ切断ヘッダ解析部３０５ｄに解析させる。
【０２６６】
また、ＩｒＬＡＰ受信制御部３０５ａは、各解析部から当該解析の結果を受け取ると、ＩｒＬＭＰ層受信処理部３０４に対し所定の通知を行なう。当該解析の結果に問題があれば、ＩｒＬＭＰ層受信処理部３０４にエラーを通知する。
【０２６７】
ＩｒＬＡＰ接続ヘッダ解析部３０５ｂは、ＩｒＬＡＰ受信制御部３０５ａからの指示に応じて、ＳＮＲＭパケットを解析し、当該解析結果を、ＩｒＬＡＰ受信制御部３０５ａに通知する。ここで、ＩｒＬＡＰ受信制御部３０５ａは、当該解析結果を受け付けると、ＩｒＬＡＰ層受信処理部３０５に、“接続通知”を行なう。
【０２６８】
なお、ＳＮＲＭパケットには、接続処理に用いられるデータが含まれている場合もある。また、ＩｒＬＡＰ接続ヘッダ解析部３０５ｂは、当該解析結果に問題がある場合に、その旨を上位層に通知してもかまわない。例えば、ＩｒＬＡＰ接続ヘッダ解析部３０５ｂの解析結果において、受信したパケットが、ＩｒＳＳ方式のＳＮＲＭパケットでないと判明したとき、ＩｒＬＡＰ受信制御部３０５ａは、その旨を上位層に通知してもかまわない。すなわち、ＩｒＬＡＰ接続ヘッダ解析部３０５ｂは、受信したパケットが、ＩｒＤＡ方式のＳＮＲＭパケットであった場合や、ＩｒＳｉｍｐｌｅ双方向方式のＳＮＲＭパケットを受け取った場合などに、解析結果に問題があると判断する。
【０２６９】
ＩｒＬＡＰデータ転送ヘッダ解析部３０５ｃは、ＩｒＬＡＰ受信制御部３０５ａからの指示に応じて、ＵＩパケットを解析し、当該解析結果を、ＩｒＬＡＰ受信制御部３０５ａに通知する。ここで、ＩｒＬＡＰ受信制御部３０５ａには、当該解析結果を受け付けると、ＩｒＬＭＰ受信処理部３０４に“データ転送通知”を行なう。
【０２７０】
ＩｒＬＡＰ切断ヘッダ解析部３０５ｄは、ＩｒＬＡＰ受信制御部３０５ａからの指示に応じて、ＤＩＳＣパケットを解析し、当該解析結果を、ＩｒＬＡＰ受信制御部３０５ａに通知する。ここで、ＩｒＬＡＰ受信制御部３０５ａは、当該解析結果を受け付けると、ＩｒＬＭＰ受信処理部３０４に“切断通知”を行なう。
【０２７１】
ＩｒＬＡＰパケット識別部３０５ｅは、ＩｒＬＡＰ送信制御部１０５ａからの指示に応じて、ＩｒＰＨＹ層受信処理部３０６から転送されるパケットの種類を識別する。前述のとおり、ＩｒＳＳ方式の場合、パケットの種類には、“ＳＮＲＭパケット”、“ＵＩパケット”、“ＤＩＳＣパケット”がある。
【０２７２】
[ＩｒＰＨＹ層受信処理部]
ＩｒＰＨＹ層受信処理部３０６は、ＩｒＬＡＰ層受信処理部３０５と、受信信号が入力される受信回路３００の入力端子（図示せず）との間に配置されており、ＩｒＳＳ方式において受信側のＩｒＰＨＹ層について定義されている機能を実現するものである。この受信信号は、受信機器３０が、赤外線通信デバイスを介して送信機器１０から受信した送信信号である。
【０２７３】
ＩｒＰＨＹ層受信処理部３０６は、ＩｒＰＨＹ層の機能を実現するために、ＩｒＰＨＹ層フレーム解析部３０６ａと、ＩｒＰＨＹ層復調部３０６ｂとを備える。
【０２７４】
ＩｒＰＨＹ層復調部３０６ｂは、ＩｒＰＨＹ層受信処理部３０６に入力された受信信号からデータフレームを復調し、当該データフレームを、ＩｒＰＨＹ層フレーム解析部３０６ａに転送するものである。
【０２７５】
ＩｒＰＨＹ層フレーム解析部３０６ａは、ＩｒＰＨＹ層復調部３０６ｂから転送されたデータフレームを解析し、当該解析結果をＩｒＬＡＰ層受信処理部３０５に転送するものである。このとき、ＩｒＰＨＹ層フレーム解析部３０６ａは、ＩｒＰＨＹ層復調部３０６ｂから転送されたデータフレームにエラーがあるか否かを解析し、エラーがあった場合には、その旨を上位層に通知する。この場合、ＩｒＰＨＹ層フレーム解析部３０６ａから、順に、隣接する上位層にエラーが通知され、その後、受信要求処理部３０１から受信ソフトウェア３５０にエラーが通知される。また、受信機器３０が液晶ディスプレイなどの表示部（図示せず）を備える場合には、エラーがあった旨を、表示部に表示させてもよい。このようにエラーがあった旨を表示部において表示することで、ユーザが、エラーがあったことを認識し、データ再送の操作等の対応をとることができるという効果を奏する。
【０２７６】
このようにして、ＩｒＰＨＹ層受信処理部３０６は、入力された受信信号を、復調して得たデータフレームを解析し、当該解析結果をＩｒＬＡＰ層受信処理部３０５に通知する。
【０２７７】
以上が、受信機器３０が備える受信回路３００の詳細である。
【０２７８】
なお、受信回路３００は、ＩｒＳＳ方式のＯＢＥＸ層、ＳＭＰ層、ＩｒＬＭＰ層、ＩｒＬＡＰ層、ＩｒＰＨＹ層の処理を行なっているが、ＩｒＰＨＹ層の処理のみを行なうように切り替えることができるように構成されていてもよい。例えば、受信回路３００に、いずれの動作で処理を行なうかを選択する受信モード選択部（図示せず）を設けて、当該受信モード選択部で選択した動作で処理するようにすればよい。この場合、受信機器３０では、受信ソフトウェア３５０ではなく、ＩｒＰＨＹ層受信処理部３０６と、ＩｒＳＳ方式のＯＢＥＸ層、ＳＭＰ層、ＩｒＬＭＰ層、ＩｒＬＡＰ層の処理を行なう他の受信ソフトウェア（図示せず）が動作するようにすればよい。
【０２７９】
また、この選択操作は、ユーザの操作によって行なえるように構成してもよい。
【０２８０】
このように構成することで、受信モードを適宜切り替えることができ、各種受信ソフトウェアに対応可能な互換性の高い受信回路３００を提供することができる。
【０２８１】
また、上記では、受信回路３００が備えるＯＢＥＸ層受信処理部３０２、ＳＭＰ層受信処理部３０３、ＩｒＬＭＰ層受信処理部３０４、ＩｒＬＡＰ層受信処理部３０５およびＩｒＰＨＹ層受信処理部３０６の各受信処理部において、エラーを検出し、エラーを検出した層から、隣接する上位層に順にエラーが通知され、その後、受信要求処理部３０１から受信ソフトウェア３５０にエラーを通知する構成について説明した。すなわち、上記では、受信回路３００の各処理部がエラーの有無を検出するエラー検出部として機能するものとして説明した。しかし、上記構成に限られず、例えば、受信要求処理部３０１が、上記各受信処理部が検出するエラーを監視し、各層のエラーを直接検出してもよい。すなわち、受信要求処理部３０１が、上記各送受信処理部のエラーを監視し、エラーを検知したら、受信要求処理部３０１から受信ソフトウェア３５０にエラーを通知する構成としてもかまわない。このように構成することで、受信要求処理部３０１が各層のエラーを統括的に管理することができる。また、上記各受信処理部が検出するエラーを監視するために専用の部材を設けてもかまわない。
【０２８２】
また、ＯＢＥＸ層受信処理部３０２、ＳＭＰ層受信処理部３０３、ＩｒＬＭＰ層受信処理部３０４、ＩｒＬＡＰ層受信処理部３０５およびＩｒＰＨＹ層受信処理部３０６において行なうエラー通知処理については次のように構成してもよい。すなわち、受信回路３００において、受信ソフトウェア３５０に直接エラーを通知するエラー検出部（図示せず）を設けておき、当該エラー検出部が受信ソフトウェア３５０に対して、エラーを通知するようにしてもよい。
【０２８３】
また、ＯＢＥＸ層受信処理部３０２、ＳＭＰ層受信処理部３０３、ＩｒＬＭＰ層受信処理部３０４、ＩｒＬＡＰ層受信処理部３０５およびＩｒＰＨＹ層受信処理部３０６においてエラーを検知した場合、受信機器３０が液晶ディスプレイなどの表示部（図示せず）を備える場合には、エラーがあった旨を、表示部に表示させてもよい。このようにエラーがあった旨を表示部において表示することで、ユーザが、エラーがあったことを認識し、データ再送の操作等の対応をとることができるという効果を奏する。
【０２８４】
以上のように、本実施の形態に係る受信回路３００は、送信機器１０、５０から、送信機器１０、５０が送信処理を開始するためのＯＢＥＸ接続要求コマンドと、送信機器１０、５０によって分割された転送データを含むＯＢＥＸデータ転送要求コマンドと、送信機器１０、５０が送信処理を終了するためのＯＢＥＸ切断要求コマンドとを受信することによって、送信機器１０、５０と片方向通信を行なう受信機器３０が備える回路である。
【０２８５】
また、本実施の形態に係る受信回路３００は、送信機器１０、５０からＯＢＥＸ接続要求コマンド、ＯＢＥＸデータ転送要求コマンドおよびＯＢＥＸ切断要求コマンドを順次受信すると、受信ソフトウェア３５０に対して、接続完了を通知するための“接続完了通知”、データ転送完了を通知するための“データ転送完了通知”、および切断完了を通知するための“切断完了通知”を転送することなく、ＯＢＥＸデータ転送要求コマンドに含まれる転送データを順次転送するとともに、受信処理が完了したことを示す“受信完了通知”を転送する構成である。
【０２８６】
上記構成により、片方向赤外線通信の受信処理において、ＣＰＵの割り込み処理によるＣＰＵの負荷を軽減でき、高速かつ安定した受信処理を行なうことができるという効果を奏する。
【０２８７】
〔受信要求処理部の処理の流れ〕
次に、図６に示すフローチャートを参照しながら、受信要求処理部３０１の動作について説明する。同図は受信要求処理部３０１の動作の詳細について説明したフローチャートである。
【０２８８】
まず、受信要求処理部３０１は、外部からの受信要求信号の入力を待ち受ける（Ｓ８０１）。本実施の形態において、外部とは、具体的には、受信要求信号を入力する受信ソフトウェア３５０である。ここで、受信要求処理部３０１は、受信ソフトウェア３５０から受信要求信号が入力されなければ、そのまま受信要求信号の入力を待ち続ける（Ｓ８０１においてＮＯ）。受信ソフトウェア３５０が、受信要求信号を受信要求処理部３０１に入力すると（Ｓ８０１においてＹＥＳ）、受信要求処理部３０１は、受信要求通知を生成し、ＯＢＥＸ層受信処理部３０２に対し受信要求通知を転送する（Ｓ８０２）。そして、受信要求処理部３０１は、ＯＢＥＸ層受信処理部３０２から、“接続完了”が通知されたか否かを判定する（Ｓ８０３）。受信要求処理部３０１は、ＯＢＥＸ層受信処理部３０２から、“接続完了”が通知されるのを待ち続ける（Ｓ８０３においてＮＯ）。
【０２８９】
その間に、ＯＢＥＸ層受信処理部３０２が生成した“ＯＢＥＸ接続要求コマンド”が、ＯＢＥＸ層受信処理部３０２から、ＩｒＬＡＰ層受信処理部３０５にかけて順番に転送され各層の処理部は、受信待機状態になる。
【０２９０】
その後、受信機器３０が、送信機器１０から送信されるＳＮＲＭパケットを受信すると、ＩｒＬＡＰ層受信処理部３０５から、ＯＢＥＸ層受信処理部３０２にかけて、順に、“接続通知”が転送される。ＯＢＥＸ層受信処理部３０２は、ＳＭＰ層受信処理部３０３から、“接続通知”を受信すると、ＯＢＥＸ層受信処理部３０２は、受信要求処理部３０１に対し、“接続完了”を通知する。
【０２９１】
そして、受信要求処理部３０１は、ＯＢＥＸ層受信処理部３０２から、“接続完了”が通知されると（Ｓ８０３においてＹＥＳ）、ＯＢＥＸ層受信処理部３０２からのデータ転送を受け付ける（Ｓ８０４）。
【０２９２】
ここで、送信機器１０からは、ＵＩパケットが受信機器３０に継続して送信される。受信機器３０は、送信機器１０から送信されるＵＩパケットを受信すると、ＩｒＬＡＰ層受信処理部３０５から、ＯＢＥＸ層受信処理部３０２にかけて“データ転送通知”が転送される。ＯＢＥＸ層受信処理部３０２は、“データ転送通知”を受け付けると、当該“データ転送通知”から受信データを抽出し、当該受信データを受信バッファ３０８に書き込む。
【０２９３】
受信要求処理部３０１は、受信データに続きがあるか否かを判定するため、ＯＢＥＸ層受信処理部３０２から“データ転送完了”が通知されたか否かを判定する（Ｓ８０５）。受信要求処理部３０１は、ＯＢＥＸ層受信処理部３０２から“データ転送完了”が通知されていなければ、ＯＢＥＸ層受信処理部３０２から“データ転送完了”が通知されるまで、データ転送を継続して受け付ける（Ｓ８０５においてＮＯ）。
【０２９４】
その間に、送信機器１０から、全てのパケットデータが転送され、ＯＢＥＸ層受信処理部３０２において、それ以上送信するパケットデータが無いことを検知すると、ＯＢＥＸ層受信処理部３０２は、受信要求処理部３０１に対し“データ転送完了”を通知する。
【０２９５】
そして、受信要求処理部３０１は、ＯＢＥＸ層受信処理部３０２から、“データ転送完了”が通知されると（Ｓ８０５においてＹＥＳ）、ＯＢＥＸ層受信処理部３０２から、“切断完了”が通知されたか否かを判定する（Ｓ８０６）。そして、受信要求処理部３０１は、ＯＢＥＸ層受信処理部３０２から、“データ切断完了”が通知されていなければ、ＯＢＥＸ層受信処理部３０２から、“データ切断完了”が通知されるのを待ち受ける（Ｓ８０６においてＮＯ）。
【０２９６】
その間に、送信機器１０から送信されるＤＩＳＣパケットを受信機器３０が受信すると、ＩｒＬＡＰ層受信処理部３０５から、ＯＢＥＸ層受信処理部３０２にかけて“切断通知”が転送される。ＯＢＥＸ層受信処理部３０２は、ＳＭＰ層受信処理部３０３から、“切断通知”を受信すると、受信要求処理部３０１に対して、“切断完了”を通知する。
【０２９７】
そして、受信要求処理部３０１は、ＯＢＥＸ層受信処理部３０２から“切断完了”が通知されると（Ｓ８０７においてＹＥＳ）、外部、すなわち、受信ソフトウェア３５０に、“受信完了”を通知する（Ｓ８０８）。その後、処理は終了する。
【０２９８】
〔受信回路における受信シーケンスの処理〕
次に、図７を用いて、受信回路３００が備える各部の接続シーケンス、データ転送シーケンスおよび切断シーケンスの、３つのシーケンスにおける処理について以下に説明する。図７は、受信回路３００がデータを送信する場合の流れを示したシーケンス図である。
【０２９９】
なお、図４に示す、送信側の送信シーケンスの処理は、従来の送信機器５０のものを示している。従って、以下ではその説明を省略する。
なお、図７において、送信機器の動作は、従来と同様であるため以下ではその説明は省略する。また、同図では、ＩｒＰＨＹ層受信処理部３０６については記載を省略している。
【０３００】
図７に示すように、受信機器３０が、送信機器１０からデータを受信する場合、まず、受信ソフトウェア３５０側から、受信回路３００の受信要求処理部３０１に対して受信要求信号が入力される。そして、受信要求処理部３０１は、受信要求信号が入力されると、受信要求通知を生成し、当該受信要求通知を下位層に相当するＯＢＥＸ層受信処理部３０２に転送するとともに受信待機状態になる。
【０３０１】
[接続シーケンスの処理]
まず、ＯＢＥＸ層受信処理部３０２は、受信要求処理部３０１から、受信要求通知が転送されてくると、受信待機状態になるとともに、ＳＭＰ層受信処理部３０３に対して、“接続要求”を行なう。そして、ＳＭＰ層受信処理部３０３から、ＩｒＬＡＰ層受信処理部３０５にかけて、順に“接続要求”が行なわれるとともに、各処理部は、受信待機状態になる。
【０３０２】
その後、送信機器１０から送信されてくるＳＮＲＭパケットを含む送信信号を、受信機器３０が赤外線通信デバイスを介して受信すると、当該ＳＮＲＭパケットを含む送信信号が、受信信号として、受信回路３００に入力される。
【０３０３】
まず、受信回路３００のＩｒＰＨＹ層受信処理部３０６は、受信信号を復調し、ＳＮＲＭパケットを抽出し、ＩｒＬＡＰ層受信処理部３０５に転送する。
【０３０４】
次に、ＩｒＬＡＰ層受信処理部３０５は、ＳＮＲＭパケットを解析し、ＩｒＬＭＰ層受信処理部３０４に“接続通知”を行なう。ＩｒＬＡＰ接続ヘッダの「Negotiation Parameters」には転送速度や受信機器３０を特定するためのアドレスなどのパラメータが含まれている。なお、当該アドレスは、「Negotiation Parameters」のなかの「Connection Address」に設定される。そして、ＩｒＬＭＰ層受信処理部３０４から、ＯＢＥＸ層受信処理部３０２にかけて、順に“接続通知”が行なわれる。なお、ＩｒＬＡＰデータ転送ヘッダの「Address Field」に受信機器３０以外のアドレスが設定されている場合は、ＩｒＬＭＰ層受信処理部３０４に“接続通知”を行なわない。
【０３０５】
次に、ＯＢＥＸ層受信処理部３０２は、ＳＭＰ層受信処理部３０３から、“接続通知”を受け付けると、受信要求処理部３０１に、“接続完了”を通知する。
【０３０６】
以上が、受信回路３００における接続シーケンスの処理である。
【０３０７】
[データ転送シーケンスの処理]
その後、送信機器１０から、逐次、送信されてくるＵＩパケットを含む送信信号を、受信機器３０が赤外線通信デバイスを介して受信すると、当該ＵＩパケットを含む送信信号が、受信信号として、受信回路３００に入力される。
【０３０８】
受信回路３００のＩｒＰＨＹ層受信処理部３０６は、受信信号を復調し、ＵＩパケットを抽出し、ＩｒＬＡＰ層受信処理部３０５に転送する。
【０３０９】
次に、ＩｒＬＡＰ層受信処理部３０５は、ＵＩパケットを解析し、ＩｒＬＭＰ層受信処理部３０４に“データ転送通知”を行なう。なお、ＩｒＬＡＰデータ転送ヘッダの「Address Field」には、受信機器３０を特定するためのアドレスが含まれており、当該アドレス以外のパケットの場合は、ＩｒＬＭＰ層受信処理部３０４に“データ転送通知”を行なわない。
【０３１０】
そして、ＩｒＬＭＰ層受信処理部３０４から、ＯＢＥＸ層受信処理部３０２にかけて、順に“データ転送通知”が行なわれる。
【０３１１】
次に、ＯＢＥＸ層受信処理部３０２は、ＳＭＰ層受信処理部３０３から、“データ転送通知”を受け付けると、当該“データ転送通知”から受信データを抽出する。そして、ＯＢＥＸ層受信処理部３０２は、抽出した受信データを受信バッファ３０８に格納する。すなわち、受信データは、受信バッファ３０８を介して外部、つまり、受信ソフトウェア３５０側に出力される。
【０３１２】
以上のような処理を繰り返し、送信機器１０から、逐次、送信されてくるＵＩパケットを含む送信信号をすべて受信し終えたこと（“status=OK”）がＳＭＰ層受信処理部３０３から、ＯＢＥＸ層受信処理部３０２に通知されると、ＯＢＥＸ層受信処理部３０２は、受信要求処理部３０１に対して“データ転送完了”を通知する。
【０３１３】
以上が、受信回路３００におけるデータ転送シーケンスの処理である。
【０３１４】
[切断シーケンスの処理]
そして、送信機器１０から、送信されてくるＤＩＳＣパケットを含む送信信号を、受信機器３０が赤外線通信デバイスを介して受信すると、当該ＤＩＳＣパケットを含む送信信号が、受信信号として、受信回路３００に入力される。
【０３１５】
受信回路３００のＩｒＰＨＹ層受信処理部３０６は、受信信号を復調し、ＤＩＳＣパケットを抽出し、ＩｒＬＡＰ層受信処理部３０５に転送する。
【０３１６】
次に、ＩｒＬＡＰ層受信処理部３０５は、ＤＩＳＣパケットを解析し、ＩｒＬＭＰ層受信処理部３０４に“切断通知”を行なう。なお、ＩｒＬＡＰ切断ヘッダの「Address Field」には、受信機器３０を特定するためのアドレスが含まれており、設定されたアドレス以外のパケットの場合は、ＩｒＬＭＰ層受信処理部３０４に“切断通知”を行なわない。
【０３１７】
そして、ＩｒＬＭＰ層受信処理部３０４から、ＯＢＥＸ層受信処理部３０２にかけて、順に“切断通知”が行なわれる。
【０３１８】
次に、ＯＢＥＸ層受信処理部３０２は、ＳＭＰ層受信処理部３０３から、“切断通知”を受け付けると、受信要求処理部３０１に、“切断完了”を通知する。
【０３１９】
受信要求処理部３０１は、ＯＢＥＸ層受信処理部３０２から“切断完了”が通知されると、受信ソフトウェア３５０側に、受信完了信号を出力する。
【０３２０】
以上が、受信回路３００における切断シーケンスの処理である。
【０３２１】
〔送信回路および受信回路の変形例〕
続いて、本実施の形態に係る送信回路１００および受信回路３００の好ましい変形例について説明する。
【０３２２】
[送信回路の変形例]
まず、図１２を用いて、送信回路１００にＩｒＰＨＹ層の受信処理を行なう機能を追加し、以上で説明した送信回路１００として動作する送信動作モードと、ＩｒＰＨＹ層における送受信処理を行なう送受信回路として動作する送受信動作モードとを切り替え可能にした場合の例について説明する。
【０３２３】
図１２は、送信機器１０が備える送信回路１００の要部構成の変形例を示す機能ブロック図である。同図に示すように、本変形例では、図１で示した送信回路１００に、ＩｒＰＨＹ層受信処理部１０７を追加した構成となっている。すなわち、本変形例では、送信回路１００にＩｒＰＨＹ層受信処理部１０７を追加することで、送信回路１００がＩｒＰＨＹ層の受信処理を行なえるようにしている。なお、前述の構成と同様の機能を有する構成には同一の符号を付して、その説明を省略する。
【０３２４】
ＩｒＰＨＹ層受信処理部１０７は、ＩｒＰＨＹフレーム解析部１０７ａおよびＩｒＰＨＹ復調部１０７ｂを備える。これら、ＩｒＰＨＹ層受信処理部１０７、ＩｒＰＨＹフレーム解析部１０７ａおよびＩｒＰＨＹ復調部１０７ｂの機能ついては、既に説明したＩｒＰＨＹ層受信処理部３０６、ＩｒＰＨＹ層フレーム解析部３０６ａおよびＩｒＰＨＹ層復調部３０６ｂの機能と同様であるのでその説明を省略する。
【０３２５】
そして、送信回路１００に、次の２つの動作モードの切り替えを行なう送受信モード切替部（図示せず）を設ける。１つ目の動作モードは、送信要求処理部１０１と、ＯＢＥＸ層送信処理部１０２と、ＳＭＰ層送信処理部１０３と、ＩｒＬＭＰ層送信処理部１０４と、ＩｒＬＡＰ層送信処理部１０５と、ＩｒＰＨＹ層送信処理部１０６とを用いて送信回路として動作する送信動作モードであり、２つ目の動作モードは、ＩｒＰＨＹ層送信処理部１０６およびＩｒＰＨＹ層受信処理部１０７を用いて、ＩｒＰＨＹ層を処理する送受信回路として動作する送受信動作モードである。
【０３２６】
このように構成すれば、送受信動作モードで動作するとき、ＩｒＬＡＰ層からＯＢＥＸ層の送受信処理を実行するような従来の送受信ソフトウェア（ＳＷ）２５０を用いて通信することができるようになる。すなわち、従来の双方向通信のソフトウェアにも対応可能となり、より互換性の高い送信回路１００を提供することができる。
【０３２７】
なお、送受信モード切替部（図示せず）における動作モードの選択操作は、ユーザの操作によって行なえるように構成してもよい。
【０３２８】
なお、送信バッファ１０８において、送受信ソフトウェア（ＳＷ）２５０側から入力される送信データと、送受信ソフトウェア（ＳＷ）２５０側に出力する受信データとを一時的に保持しておく構成にしてもよい。また、このためのバッファを送信回路１００に新たに設ける構成にしてもよい。
【０３２９】
[受信回路の変形例]
次に、図１３を用いて、受信回路３００にＩｒＰＨＹ層の送信処理を行なう機能を追加し、以上で説明した受信回路３００として動作する送信動作モードと、ＩｒＰＨＹ層における送受信処理を行なう送受信回路として動作する送受信動作モードとを切り替え可能にした場合の例について説明する。
【０３３０】
図１２は、受信機器３０が備える受信回路３００の要部構成の変形例を示す機能ブロック図である。同図に示すように、本変形例では、図５で示した受信回路３００に、ＩｒＰＨＹ層送信処理部３０７を追加した構成となっている。すなわち、本変形例では、受信回路３００にＩｒＰＨＹ層送信処理部３０７を追加することで、受信回路３００がＩｒＰＨＹ層の送信処理を行なえるようにしている。なお、前述の構成と同様の機能を有する構成には同一の符号を付して、その説明を省略する。
【０３３１】
ＩｒＰＨＹ層送信処理部３０７は、ＩｒＰＨＹ層フレーム生成部３０７ａおよびＩｒＰＨＹ層変調部３０７ｂを備える。これら、ＩｒＰＨＹ層送信処理部３０７、ＩｒＰＨＹ層フレーム生成部３０７ａおよびＩｒＰＨＹ層変調部３０７ｂの機能ついては、既に説明したＩｒＰＨＹ層送信処理部１０６、ＩｒＰＨＹフレーム生成部１０６ａおよびＩｒＰＨＹ変調部１０６ｂの機能と同様であるのでその説明を省略する。
【０３３２】
そして、受信回路３００に、次の２つの動作モードの切り替えを行なう送受信モード切替部（図示せず）を設ける。１つ目の動作モードは、受信要求処理部３０１と、ＯＢＥＸ層受信処理部３０２と、ＳＭＰ層受信処理部３０３と、ＩｒＬＭＰ層受信処理部３０４と、ＩｒＬＡＰ層受信処理部３０５と、ＩｒＰＨＹ層受信処理部３０６とを用いて受信回路として動作する受信動作モードであり、２つ目の動作モードは、ＩｒＰＨＹ層受信処理部３０６およびＩｒＰＨＹ層送信処理部３０７を用いて、ＩｒＰＨＹ層を処理する送受信回路として動作する送受信動作モードである。
【０３３３】
このように構成すれば、送受信動作モードで動作するとき、ＩｒＬＡＰ層からＯＢＥＸ層の送受信処理を実行するような従来の送受信ＳＷ２５０を用いて通信することができるようになる。すなわち、従来の双方向通信のソフトウェアにも対応可能となり、より互換性の高い受信回路３００を提供することができる。
【０３３４】
なお、送受信モード切替部（図示せず）における動作モードの選択操作は、ユーザの操作によって行なえるように構成してもよい。
【０３３５】
なお、受信バッファ３０８において、送受信ソフトウェア（ＳＷ）２５０側に出力する受信データと、送受信ソフトウェア（ＳＷ）２５０側から入力される送信データとを一時的に保持しておく構成にしてもよい。また、このためのバッファを受信回路３００に新たに設ける構成にしてもよい。
【０３３６】
なお、本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０３３７】
本発明によると、情報機器間の片方向通信において、高速かつ安定した送受信処理を実現できる。このため、本発明に係る送信回路は、例えば携帯電話機、ＰＤＡなどの各種の情報機器に、広く好適に適用できる。また、本発明に係る受信回路は、例えばテレビ、ＤＶＤレコーダなどの各種の情報機器に、広く好適に適用できる。
【図面の簡単な説明】
【０３３８】
【図１】本発明の実施の形態を示すものであり、送信機器が備える送信回路の要部構成を示す機能ブロック図である。
【図２】本実施の形態に係る赤外線通信システムの構成の概略を示すブロック図である。
【図３】送信要求処理部の動作の詳細について説明したフローチャートである。
【図４】送信回路がデータを送信する場合の流れを示したシーケンス図である。
【図５】本発明の実施の形態を示すものであり、受信機器が備える受信回路の要部構成を示す機能ブロック図である。
【図６】受信要求処理部の動作の詳細について説明したフローチャートである。
【図７】受信回路がデータを送信する場合の流れを示したシーケンス図である。
【図８】ＩｒＳＳ方式のプロトコルスタックについて示した説明図である。
【図９】ＩｒＳＳ方式による通信シーケンスについて示したシーケンス図である。
【図１０】従来の送信機器が備える送信手段の要部構成を示す機能ブロック図である。
【図１１】従来の受信機器が備える受信手段の要部構成を示す機能ブロック図である。
【図１２】送信機器が備える送信回路の要部構成の変形例を示す機能ブロック図である。
【図１３】受信機器が備える受信回路の要部構成の変形例を示す機能ブロック図である。
【符号の説明】
【０３３９】
１          赤外線通信システム
１０        送信機器
１００      送信回路
１０１      送信要求処理部
１０２      ＯＢＥＸ層送信処理部（コマンド生成処理部）
１０２ａ    ＯＢＥＸ送信制御部（コマンド生成処理部）
１０２ｂ    ＯＢＥＸ接続要求コマンド生成部（コマンド生成処理部）
１０２ｃ    ＯＢＥＸデータ転送要求コマンド生成部（コマンド生成処理部）
１０２ｄ    ＯＢＥＸ切断要求コマンド生成部（コマンド生成処理部）
１５０      送信ソフトウェア（上位層）
３０        受信機器
３００      受信回路
３０１      受信要求処理部
３０２      ＯＢＥＸ層受信処理部（コマンド解析処理部）
３０２ａ    ＯＢＥＸ受信制御部（コマンド解析処理部）
３０２ｂ    ＯＢＥＸ接続要求コマンド解析部（コマンド解析処理部）
３０２ｃ    ＯＢＥＸデータ転送要求コマンド解析部（コマンド解析処理部）
３０２ｄ    ＯＢＥＸ切断要求コマンド解析部（コマンド解析処理部）
３５０      受信ソフトウェア（上位層）
【図１】
2010057140.tif 000003
【図２】
2010057140.tif 000004
【図３】
2010057140.tif 000005
【図４】
2010057140.tif 000006
【図５】
2010057140.tif 000007
【図６】
2010057140.tif 000008
【図７】
2010057140.tif 000009
【図８】
2010057140.tif 000010
【図９】
2010057140.tif 000011
【図１０】
2010057140.tif 000012
【図１１】
2010057140.tif 000013
【図１２】
2010057140.tif 000014
【図１３】
2010057140.tif 000015