JP4927048B2 - 送信回路、送信機器、受信回路および受信機器 - Google Patents

送信回路、送信機器、受信回路および受信機器 Download PDF

Info

Publication number
JP4927048B2
JP4927048B2 JP2008222867A JP2008222867A JP4927048B2 JP 4927048 B2 JP4927048 B2 JP 4927048B2 JP 2008222867 A JP2008222867 A JP 2008222867A JP 2008222867 A JP2008222867 A JP 2008222867A JP 4927048 B2 JP4927048 B2 JP 4927048B2
Authority
JP
Japan
Prior art keywords
transmission
layer
reception
processing unit
obex
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.)
Expired - Fee Related
Application number
JP2008222867A
Other languages
English (en)
Other versions
JP2010057140A (ja
Inventor
敦裕 土井
文博 深江
宏仁 酒井
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 JP2008222867A priority Critical patent/JP4927048B2/ja
Publication of JP2010057140A publication Critical patent/JP2010057140A/ja
Application granted granted Critical
Publication of JP4927048B2 publication Critical patent/JP4927048B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、片方向通信方式によってデータの送受信を行なうための送信回路、送信機器、受信回路および受信機器に関する。
近年、デジタルカメラ、デジタルカメラ機能を有するカメラ付き携帯電話等の情報機器が普及している。これに伴い、情報機器において写真を画像データとして取り扱う機会が増えている。また、これに対応して、デジタルカメラや携帯電話などから取り込んだ画像データを表示するテレビ等の表示装置や、当該画像データを印刷するプリンタ等の画像形成装置などの機器も増えてきており、情報機器間でデータを転送する機会が多くなってきている。
情報機器間でデータを送受信する技術としては、ワイヤレスで手軽にデータ転送を行なえる無線通信が普及している。そして、画像データのようなデータを情報機器同士で送受信するには、1対1の通信で十分であるため、指向性が高い無線通信が特に普及している。
以下では、その無線通信技術の一例として、赤外線通信を取り上げて説明する。なお、本発明の説明には無線通信として赤外線通信を用いるが、これに限定されず、片方向無線通信方式であれば本発明に適用できる。
赤外線通信の規格としては、例えば、業界団体であるIrDA(Infrared Data Association)によって標準化されたIrDA方式がある。また、赤外線通信において受信可能な機器をサーチする処理を必ずしも必要としない場合にデータ通信の高速化を実現する技術として片方向の赤外線通信を行なう方式が提案されている。例えば、IrSimpleと略称される通信方式の片方向通信規格であるIrSimpleShot(登録商標)またはIrSS(登録商標)と略称される通信方式が提案されている。片方向赤外線通信方式は、携帯電話、携帯情報端末、ノートPC、デジタルカメラ、プリンタ、電子腕時計等の機器間における、数メートルのPAN(Personal Area Network)の範囲内でのデータ転送において特に広く用いられている。
(IrSS方式におけるプロトコルスタック)
ここで、図8を用いて、IrSS方式におけるプロトコルの処理について説明する。図8は、IrSS方式のプロトコルスタックについて示した説明図である。
図8に示すように、IrSS方式のプロトコルスタックは、下から順に、IrPHY(IrDA Physical Layer)層、IrLAP(IrDA Link Access Protocol)層、IrLMP(IrDA Link Management Protocol)層、SMP(Sequence Management Protocol)層、OBEX(OBject EXchange protocol)からなる構成である。
IrPHY層は、変復調方式・信号強度・指向性等を定義する。
IrLAP層は、汎用のHDLC(High level Data Link Control)に従った誤り制御機能・透過伝送およびフロー制御の他、通信の速度、アドレスや最大データサイズを通信に先立って互いにネゴシエーションする機能および接続すべき特定の外部機器を探索して発見する手続き等を定義している。
IrLMP層は、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルのTCPやUDP(User Datagram Protocol)で使われるポート番号に相当する多重化・多重分離の機能を提供する。
SMP層は、個別の論理リンクにおいてフロー制御を行なう機能を提供する。
OBEX層は、データ通信におけるオブジェクト交換を行なう機能を提供する。OBEX層では、オブジェクト交換を行なうための各種のコマンドが規定されている。例えば、送信側から、受信側に接続要求を行なうための“OBEX接続要求コマンド”、データ転送を行なうための“OBEXデータ転送要求コマンド”、通信を切断するための“OBEX切断要求コマンド”などである。
また、図8に示すように、送信機器からデータが送信される場合、送信データに各層固有の処理が加えられ、直下の層に受け渡す、という処理が、最上位層から最下位層まで順に繰り返される。具体的には、以下のとおりである。
OBEX層では、送信データが、所定バイト長(例えば64KB)のデータに分割または結合される。データの前にはOBEX層ヘッダ(コマンド)が付加される。OBEX層のデータはSMP層に受け渡される。
SMP層では、OBEX層から受け渡されたデータが、所定バイト長(例えば2KB)のデータに分割または結合される。データの前にはSMP層ヘッダが付加される。SMP層のデータはIrLMP層に受け渡される。
IrLMP層では、SMP層から受け渡されたデータの前にIrLMP層ヘッダが付加される。IrLMP層のデータはIrLAP層に受け渡される。
IrLAP層では、IrLMP層から受け渡されたデータの前に通信相手を特定するためのアドレスを含んだIrLAP層ヘッダが付加される。IrLAP層のデータはIrPHY層に受け渡される。
IrPHY層では、IrLAP層から受け渡されたデータを基にフレームを作成する。作成したフレームの変調信号が光デバイスに出力される。
一方、受信機器において、データが受信される場合、受信データに各層固有の処理が加えられ、直上の層に受け渡す、という処理が、最下位層から最上位層まで順に繰り返される。
(IrSS方式による通信シーケンス)
ここで、図9を用いて、図8で示したプロトコルスタックを処理する通信シーケンスについて説明する。図9は、IrSS方式による通信シーケンスについて示したシーケンス図である。
なお、図9では、説明の便宜上、送信側のOBEX層、SMP層、IrLMP層、IrLAP層を、それぞれOBEX(P)、SMP(P)、LMP(P)、LAP(P)と表記している。また、受信側のOBEX層、SMP層、IrLMP層、IrLAP層を、それぞれOBEX(S)、SMP(S)、LMP(S)、LAP(S)と表記している。
図9に示すように、受信側では、OBEX(S)が“受信要求”を受け付けると、OBEX(S)からLAP(S)にかけて“接続要求”が転送されることにより、受信側は受信待機状態になる。
そして、送信側において、OBEX(P)が、上位層から“接続要求”を受け付けると、OBEX(P)からLAP(P)にかけて、各層でヘッダ付加処理が行なわれるとともに、上位層から下位層に“接続要求”が転送される。そして、送信側から受信側にSNRMパケットが送信されると、LAP(P)からOBEX(P)にかけて“接続確認”が転送される。OBEX(P)は、SMP(P)から“接続確認”を受け取ると、“接続完了”を上位層に通知する。
また、受信側では、送信側から、SNRMパケットを受信すると、LAP(S)からOBEX(S)にかけて、各層でヘッダ解析処理が行なわれるとともに、下位層から上位層に“接続通知”が転送される。
その後、送信側では、OBEX(P)が、上位層からの“データ転送要求”を受け付け、OBEX(P)は、上位層から入力される送信データを読み込み、送信データを分割・結合処理して、“データ転送要求”を生成する。そして、OBEX(P)からLAP(P)にかけて、“データ転送要求”が転送され、送信側から受信側にUI(Unnumbered Information)パケットが送信される。
受信側では、送信側からUIパケットを受信すると、LAP(S)からOBEX(S)にかけて“データ転送通知”が転送される。
送信側のOBEX(P)は、送信データを転送し終えると、上位層に“データ転送完了”を通知する。
一方、受信側のOBEX(S)は、すべてのデータを受信し終えると、上位層に“受信データ”を出力するとともに、“データ転送完了通知”を行なう。
そして、送信側において、OBEX(P)が、上位層から“切断要求”を受け付けると、送信側のOBEX(P)からLAP(P)にかけて“切断要求”が転送される。送信側から受信側にDISC(Disconnect)パケットを送信した後、送信側では、LAP(P)からOBEX(P)にかけて、“切断確認”が転送される。OBEX(P)は、SMP(P)から“切断確認”を受け取ると、上位層に“切断完了”を通知する。
一方、受信側のLAP(S)は、送信側からDISCパケットを受信すると、LAP(S)からOBEX(S)にかけて、“切断通知”が転送される。そして、OBEX(S)は、SMP(S)から“切断通知”を受け取ると、上位層に対して“切断完了通知”を行なう。
以上が、IrSS方式による通信シーケンスである。
従来、以上で示した片方向赤外線通信方式の通信プロトコルの処理は、CPU(Central Processing Unit)によって、すなわち、ソフトウェアで実行されるのが普通であった。
ここで、図10および11を用いて通信プロトコルの処理をソフトウェアによって行なう従来の送受信機器について以下に説明する。
(従来の送信側の通信プロトコルの処理を行なうためのソフトウェア)
まず、図10を用いて送信機器が備える送信手段500について説明する。同図に示す送信手段500は、送信側の通信プロトコルの処理を行なうためのソフトウェアである。同図に示すように、送信手段500は、OBEX層送信ブロック502、SMP層送信処理ブロック503、IrLMP層送信処理ブロック504、IrLAP層送信処理ブロック505、IrPHY層送信処理ブロック506を備える構成である。
OBEX層送信ブロック502は、OBEX層における送信処理を行なうための、OBEX送信制御ブロック502a、OBEX接続要求コマンド生成ブロック502b、OBEXデータ転送要求コマンド生成ブロック502c、OBEX切断要求コマンド生成ブロック502d、バッファ502eを備える。
SMP層送信処理ブロック503は、SMP層における送信処理を行なうための、SMP送信制御ブロック503a、SMP接続ヘッダ付加ブロック503b、SMPデータ転送ヘッダ付加ブロック503c、SMP切断ヘッダ付加ブロック503d、バッファ503eを備える。
IrLMP層送信処理ブロック504は、IrLMP層における送信処理を行なうための、IrLMP送信制御ブロック504a、IrLMP接続ヘッダ付加ブロック504b、IrLMPデータ転送ヘッダ付加ブロック504c、IrLMP切断ヘッダ付加ブロック504d、バッファ504eを備える。
IrLAP層送信処理ブロック505は、IrLAP層における送信処理を行なうための、IrLAP送信制御ブロック505a、IrLAP接続ヘッダ付加ブロック505b、IrLAPデータ転送ヘッダ付加ブロック505c、IrLAP切断ヘッダ付加ブロック505d、タイマ505e、バッファ505fを備える。
IrPHY層送信処理ブロック506は、IrPHY層における送信処理を行なうための、IrPHYフレーム生成ブロック506a、IrPHY変調ブロック506b、バッファ506cを備える。
送信手段500では、以上の構成により図8で示した送信側の通信プロトコルの処理を実現している。
(従来の受信側の通信プロトコルの処理を行なうためのソフトウェア)
次に、図11を用いて受信機器が備える受信手段700について説明する。同図に示す受信手段700は、受信側の通信プロトコルの処理を行なうためのソフトウェアである。同図に示すように、受信手段700は、OBEX層受信ブロック702、SMP層受信処理ブロック703、IrLMP層受信処理ブロック704、IrLAP層受信処理ブロック705、IrPHY層受信処理ブロック706を備える構成である。
OBEX層受信ブロック702は、OBEX層における受信処理を行なうための、OBEX受信制御ブロック702a、OBEX接続要求コマンド解析ブロック702b、OBEXデータ転送要求コマンド解析ブロック702c、OBEX切断要求コマンド解析ブロック702d、バッファ702eを備える。
SMP層受信処理ブロック703は、SMP層における受信処理を行なうための、SMP受信制御ブロック703a、SMP接続ヘッダ解析ブロック703b、SMPデータ転送ヘッダ解析ブロック703c、SMP切断ヘッダ解析ブロック703d、バッファ703eを備える。
IrLMP層受信処理ブロック704は、IrLMP層における受信処理を行なうための、IrLMP受信制御ブロック704a、IrLMP接続ヘッダ解析ブロック704b、IrLMPデータ転送ヘッダ解析ブロック704c、IrLMP切断ヘッダ解析ブロック704d、バッファ704eを備える。
IrLAP層受信処理ブロック705は、IrLAP層における受信処理を行なうための、IrLAP受信制御ブロック705a、IrLAP接続ヘッダ解析ブロック705b、IrLAPデータ転送ヘッダ解析ブロック705c、IrLAP切断ヘッダ解析ブロック705d、バッファ705eを備える。
IrPHY層受信処理ブロック706は、IrPHY層における受信処理を行なうための、IrPHYフレーム生成ブロック706a、IrPHY変調ブロック706b、バッファ706cを備える。
受信手段700では、以上の構成により受信側の通信プロトコルの処理を実現している。
ところが、上記のような送信手段500および受信手段700によって、片方向赤外線通信方式の通信プロトコルの処理を実行する場合、次のような課題が生じる。
まず、片方向赤外線通信方式は、データの再送を行なわない方式であるため、受信機器では、送信機器からのデータを取りこぼし無く全て受信する必要がある。このため、片方向赤外線通信方式の通信プロトコルの処理は、CPUにかかる負荷が大きいという課題があった。また、CPUに負荷がかかることにより、CPUの割り込み処理を適切に処理することができなくなる可能性があった。
また、送信機器においても、ユーザの送信作業(送信機器を受信機器に向け続けること)時間をできるだけ短くするために、パケットの送信間隔を短くする必要があるので、CPUにかかる負荷が大きくなる。特に、オペレーティングシステム(OS)を備える携帯電話などの組み込みシステムの分野では、通信プロトコルの処理に充分なリソースを割けないことが多く、CPUの割り込み処理を適切に処理することができなくなる可能性があるという課題があった。
さらに、上記送信手段500および受信手段700は、各層の処理部間のデータ交換におけるタイミングを調整するため、各層の処理部の間にバッファを設ける必要があった。
これに対して、従来、ソフトウェアで実行するプロトコル処理を専用LSI等のハードウェアでおきかえることが提案されてきた。例えば、特許文献1に、物理層における処理のうち時間のかかる透過処理をハードウェアで実現する技術が記載されている。また、特許文献2では、IrDA方式により信号の変調および復調を行なうIrDA変復調ICが提案されている。該IrDA変復調ICでは、IrPHY層のプロトコル処理をハードウェアで行い、CPUの負荷を軽減させている。
特開平10−276137号公報(1998年10月13日公開) 特開2000−196696号公報(2000年7月14日公開)
しかしながら、これまで提案されてきた技術では、ハードウェアで行なうプロトコル処理はIrPHY層(物理層)のみであった。すなわち、従来の送受信機器では、IrPHY層より上位の通信層のプロトコル処理はソフトウェアで行なわれていた。
また、片方向赤外線通信方式による通信においてIrPHY層では、送信処理においては、データフレーム(パケット)の送信間隔を規格どおりのタイミングで送る必要がある。一方、受信処理においては、規格どおりの時間間隔で送られてくるデータフレームを取りこぼし無く受ける必要がある。このため、従来の送受信機器では、ソフトウェアでのプロトコル処理を実行するためにCPUかかる負荷は依然として大きかった。特に、IrPHY層の処理をハードウェアによって実行しても、CPUの割り込み処理とはあまり関係がないため、CPUの割り込みを正しく処理できないという課題については解決できていなかった。
ゆえに、IrPHY層のみがハードウェアで構成された場合であっても、依然としてCPUにかかる負荷により、ソフトウェアでのプロトコル処理が間に合わなくなり送信処理においてデータフレームを正しく送信できなかったり、受信処理においてデータフレームを取りこぼしてしまったりすることがあった。
ここで、IrSS方式の場合について、具体的に例示すると以下のとおりである。IrSS方式の仕様では、データの転送速度は数Mbpsであり、フレームの送受信の間隔は最小100μsecである。この仕様は、近年のCPUの処理速度(〜Gbps)ならば十分に処理可能なものであるが、CPUが他のソフトウェアの処理をしている場合には、当該仕様であっても、通信処理の割り込みタイミングが合わないためにエラーが発生していた。また、処理速度が十分でないCPUを搭載した機器では、CPUの処理能力が追いつかず、データフレームを取りこぼしていた。
このように、従来、送信機器での送信処理においてデータフレームを正しく送信できなかったり、受信機器での受信処理においてデータフレームを取りこぼしたりするという事態が生じており、安定した送受信処理を行なうことができなかった。また、CPUの負荷のため送受信処理に時間がかかっていた。
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、片方向通信において、CPUの割り込み処理によるCPUの負荷を軽減でき、高速かつ安定した送受信処理を行なうことができる送信回路、送信機器、受信回路および受信機器を実現することにある。
本発明に係る送信回路は、上記課題を解決するために、送信先の受信機器を特定するアドレスを含む、送信処理を開始するための接続要求コマンドと、分割した送信データを含むデータ転送要求コマンドと、送信処理を終了するための切断要求コマンドとを上記アドレスにより特定される受信機器に送信することによって、当該受信機器と片方向通信を行なう送信機器の送信回路であって、回路外部の上位層から上記送信データの送信処理を要求する送信要求を受信すると、上記接続要求コマンドを送信するためにOBEX(OBject EXchange protocol)層に送信要求通知を転送した後、OBEX層から接続完了が通知されるのを待ち続け、OBEX層から接続完了が通知されると、上記データ転送要求コマンドを送信するためにOBEX層にデータ転送要求通知を転送した後、OBEX層からデータ転送完了が通知されるのを待ち続け、OBEX層からデータ転送完了が通知されると、上記切断要求コマンドを送信するためにOBEX層に切断要求通知を転送した後、OBEX層から切断完了が通知されるのを待ち続ける送信要求処理部を備えたことを特徴としている。
上記構成によれば、送信回路は、上位層から上記送信データの送信処理を要求する送信要求を受信すると、各種コマンドの送信処理を行なう。ここで、上位層とは、ソフトウェアで実行される処理に対応する通信層のことをいう。また、各種コマンドとは、送信処理を開始するための接続要求コマンド、分割した送信データを含むデータ転送要求コマンド、および、送信処理を終了するための切断要求コマンドのことである。また、当該接続要求コマンドは、送信先の受信機器を特定するアドレスを含む。
従来は、送信処理において、上位層から、上記各種コマンドを入力することに加えて、当該コマンドの結果を下位層から受け取ることが必要であった。また、コマンドの処理において、CPUの割り込みが発生し、CPUに負荷がかかっていた。このため、データフレームを正しいタイミングで送信できなくなるという事態が生じており、送信処理が安定していなかった。また、CPUに負荷がかかるため、送信処理に時間がかかっていた。
これに対して、本発明に係る送信回路では、上位層における処理としては、送信要求を送信回路に行なうだけで送信処理を行なうことができ、また、各層の処理は、送信回路において独自に実行するので、CPUの割り込み回数を減らすことができる。さらには、CPUとは別に送信処理専用の送信回路というハードウェアを設けているため、CPU上で実行される処理の負荷を軽減でき、かつ、ハードウェアによる高速な処理を実現できる。
このため、片方向線通信の送信処理において、CPUの処理負荷を大幅に低減することができる。さらには、従来各層の処理のタイミングを取るために必要だったバッファのサイズも縮小することができる。
この結果、片方向通信の送信処理において、CPUの割り込み処理によるCPUの負荷を軽減でき、高速かつ安定した送信処理を行なうことができるという効果を奏する。
本発明に係る送信回路では、記送信要求処理部から上記接続要求通知を受信したときに上記接続要求コマンドを生成し、当該送信要求処理部から上記データ転送要求通知を受信したときに上記データ転送要求コマンドを生成し、当該送信要求処理部から上記切断要求通知を受信したときに上記切断要求通知を生成するコマンド生成処理部を備えることが好ましい。
上記構成によれば、まず、送信要求処理部が、上記上位層から上記送信要求を受信すると、接続要求を通知するための接続要求通知、データ転送要求を通知するためのデータ転送要求通知、および切断要求を通知するための切断要求通知を生成する。
そして、コマンド生成処理部が、上記送信要求処理部から上記接続要求通知を受信したときに上記接続要求コマンドを生成し、当該送信要求処理部から上記データ転送要求通知を受信したときに上記データ転送要求コマンドを生成し、当該送信要求処理部から上記切断要求通知を受信したときに上記切断要求通知を生成する。
すなわち、送信回路に、上記のような送信要求処理部およびコマンド生成処理部を設けることで、送信要求処理部の通知に応じて、コマンド生成処理部は従来の受信回路で処理可能なコマンドを生成することができる。すなわち、送信回路は、従来の受信回路が処理可能なコマンドを送信することができる。
この結果、送信回路は、受信回路との互換性を向上させることができるというさらなる効果を奏する。
本発明に係る送信回路では、上記コマンド生成処理部は、上記データ転送要求コマンドを生成するときに、当該コマンド生成処理部の下位層において送信処理を行なうことが可能なデータサイズに上記送信データを分割することが好ましい。
上記構成によると、コマンド生成処理部は、データ転送要求コマンドを生成するときに、コマンド生成処理部の下位層において送信処理を行なうことが可能なより小さなデータサイズに送信データを分割する。このため、コマンド生成処理部に設けるバッファのサイズを小さくできる。
また、送信回路においては、すでに、コマンド生成処理部から下位層で処理可能な大きさのデータが転送されるので、下位層では分割処理をする必要がない。このため、下位層のバッファの数を減らすことができる。このため、送信回路に設けるバッファのサイズまたは数を減らすことができる。
この結果、送信回路のサイズを小さくすることが可能となるというさらなる効果を奏する。
本発明に係る受信回路は、上記課題を解決するために、送信機器から、送信先の受信機器を特定するためのアドレスを含む、当該送信機器が送信処理を開始するための接続要求コマンドと、当該送信機器によって分割された送信データを含むデータ転送要求コマンドと、当該送信機器が送信処理を終了するための切断要求コマンドとを受信することが可能であり、上記アドレスにより特定されて当該送信機器と片方向通信を行なうことが可能な受信機器の受信回路であって、上記接続要求コマンドの受信に応じてOBEX(OBject EXchange protocol)層から接続完了が通知されるのを待ち続け、OBEX層から接続完了が通知されると、上記データ転送要求コマンドの受信に応じたOBEX層からのデータ転送を受け付け、OBEX層からデータ転送完了が通知されると、上記切断要求コマンドの受信に応じてOBEX層からデータ切断完了が通知されるのを待ち受け、OBEX層からデータ切断完了が通知されると、回路外部の上位層に対して、当該データ転送要求コマンドに含まれる分割された送信データを順次転送するとともに、受信処理が完了したことを示す受信完了通知を転送する受信要求処理部を備えたことを特徴としている。
上記構成によれば、当該送信機器と片方向通信を行なう際に、受信回路は、上位層に対して、接続完了を通知するための接続完了通知、データ転送完了を通知するためのデータ転送完了通知、および切断完了を通知するための切断完了通知を転送することがない。ここで、上位層とは、ソフトウェアで実行される処理に対応する通信層のことをいう。
従来は、受信処理において、上位層が各種コマンドを処理し、上記各種通知を、上位層に対して行なう必要あった。ここで、各種コマンドとは、送信機器が送信処理を開始するための接続要求コマンド、送信機器によって分割された送信データを含むデータ転送要求コマンド、および、送信機器が送信処理を終了するための切断要求コマンドのことである。また、当該接続要求コマンドは、送信先の受信機器を特定するアドレスを含む。
よって、各種コマンドおよび各種通知の処理において、CPUの割り込みが発生し、CPUに負荷がかかっていた。このため、受信処理においてデータフレームを取りこぼす事態が生じており、受信処理が安定していなかった。また、CPUに負荷がかかるため、受信処理には時間がかかっていた。
これに対して、本発明に係る受信回路では、各種コマンドおよび各種通知の処理を独自に実行するので、CPUの割り込み回数を減らすことができる。さらには、CPUとは別に受信処理専用の受信回路というハードウェアを設けているため、CPU上で実行される処理の負荷を軽減でき、かつ、ハードウェアによる高速な処理を実現できる。
このため、片方向通信の受信処理において、CPUの処理負荷を大幅に低減することができる。さらには、従来各層の処理のタイミングを取るために必要だったバッファのサイズも縮小することができる。
この結果、片方向通信の受信処理において、CPUの割り込み処理によるCPUの負荷を軽減でき、高速かつ安定した受信処理を行なうことができるという効果を奏する。
本発明に係る受信回路では、上記接続要求コマンド、上記データ転送要求コマンドおよび上記切断要求コマンドを解析し、各コマンドに応じて上記接続完上記データ転送完了および上記切断完了を生成し上記受信要求処理部に通知するコマンド解析処理部を備えることが好ましい。
上記構成によると、まず、コマンド解析処理部が、接続要求コマンド、データ転送要求コマンドおよび切断要求コマンドを解析し、各コマンドの解析結果に応じて、接続完了を通知するための接続要求通知、データ転送完了を通知するためのデータ転送完了通知および切断完了を通知するための切断要求通知を生成する。
そして、受信要求処理部が、コマンド解析処理部によって生成された接続要求通知、データ転送完了通知および切断要求通知を順次受信し、切断要求通知を受信したときに、上記受信完了通知を上記上位層に転送する。
つまり、受信回路に、上記のようなコマンド解析処理部および受信要求処理部を設けることで、受信回路は、上記送信機器から各種コマンドを順次受信すると、上位層に対して、各種通知を転送することなく、送信機器から送信される、分割された送信データを上位層に順次転送し、データの受信を完了することができる。すなわち、受信回路は、従来の送信回路から送信される各種コマンドを問題なく処理することができる。
この結果、受信回路は、送信回路との互換性を向上させることができるというさらなる効果を奏する。
本発明に係る受信回路では、データ転送におけるエラーの有無を検出するエラー検出部を備え、上記エラー検出部がエラーを検出した場合には、エラー有りの通知を上記上位層に転送することが好ましい。
上記構成によれば、エラー検出部が送信機器からのデータ転送におけるエラーがあるか否かを検出する。そして、エラー検出部がエラーを検出した場合には、受信回路は、エラー有りの通知を上位層に転送する。このため、上位層では、エラーが発生したことを検知することができる。よって、発生したエラーに対しての対策を講じることができるというさらなる効果を奏する。例えば、上位層において再送を行なう操作をユーザに促すような処理を行なうことができる。
なお、本発明に係る送信回路を備えた種々の送信機器でも略同様の効果を得ることができる。また、本発明に係る受信回路を備えた種々の受信機器でも略同様の効果を得ることができる。
本発明に係る送信回路は、回路外部の上位層から送信データの送信処理を要求する送信要求を受信すると、接続要求コマンドを送信するためにOBEX(OBject EXchange protocol)層に送信要求通知を転送した後、OBEX層から接続完了が通知されるのを待ち続け、OBEX層から接続完了が通知されると、データ転送要求コマンドを送信するためにOBEX層にデータ転送要求通知を転送した後、OBEX層からデータ転送完了が通知されるのを待ち続け、OBEX層からデータ転送完了が通知されると、切断要求コマンドを送信するためにOBEX層に切断要求通知を転送した後、OBEX層から切断完了が通知されるのを待ち続ける送信要求処理部を備える構成である。
この結果、片方向通信の送信処理において、CPUの割り込み処理によるCPUの負荷を軽減でき、高速かつ安定した送信処理を行なうことができるという効果を奏する。
本発明に係る受信回路は、上記接続要求コマンドの受信に応じてOBEX(OBject EXchange protocol)層から接続完了が通知されるのを待ち続け、OBEX層から接続完了が通知されると、上記データ転送要求コマンドの受信に応じたOBEX層からのデータ転送を受け付け、OBEX層からデータ転送完了が通知されると、上記切断要求コマンドの受信に応じてOBEX層からデータ切断完了が通知されるのを待ち受け、OBEX層からデータ切断完了が通知されると、回路外部の上位層に対して、当該データ転送要求コマンドに含まれる分割された送信データを順次転送するとともに、受信処理が完了したことを示す受信完了通知を転送する受信要求処理部を備える構成である。
この結果、片方向通信の受信処理において、CPUの割り込み処理によるCPUの負荷を軽減でき、高速かつ安定した受信処理を行なうことができるという効果を奏する。
本発明の一実施の形態について図1ないし図7に基づいて説明すると以下の通りである。以下では、本発明に係る送信回路、送信機器、受信回路および受信機器の一実施の形態について説明する。なお、片方向無線通信システムとして、赤外線通信を用いて説明するが、これに限定されない。片方向無線通信方式であれば本発明に適用が可能である。
〔赤外線通信システム〕
図2は、本実施の形態に係る赤外線通信システム1の構成の概略を示すブロック図である。赤外線通信システム1は、本実施の形態に係る送信回路100を備える送信機器10、および、本実施の形態に係る受信回路300を備える受信機器30、ならびに、送信ブロック500を備える送信機器50、および、受信ブロック700を備える受信機器70からなる。
送信機器10は、受信機器30に、各種データを送信する機器である。本実施の形態では、送信機器10と、受信機器30との間のデータ通信には、IrSS(登録商標)またはIrSimpleShot(登録商標)方式を採用している。IrSS方式は、IrSimple(登録商標)方式の片方向通信モード(IrSimple Uni-directional mode)を用いた通信方式であるが、赤外線通信システム1では、これに限られず、IrDAの片方向通信モードを採用することも可能である。
また、送信機器10および受信機器30では、従来、ソフトウェアで実行していたIrSS方式における各層のヘッダ処理等を、ハードウェアとしての送信回路100および受信回路300によって実現している。これにより、送信機器10および受信機器30では、処理速度の向上を図っている。
一方、本実施の形態における送信機器50および受信機器70では、従来のように、IrSS方式の通信処理は、ソフトウェア、すなわち、例えば送信ブロック500および受信ブロック700によって実現されている。なお、送信機器50および受信機器70は、IrSS方式による送受信を行なうことが可能であればよく、送信機器50および受信機器70において、どのようにしてIrSS方式の通信処理が実現されているかについては特に制限はない。
ここで、送信機器10は、従来の受信機器70に対しても同様に、上記の通信を行なうことが可能である。すなわち、送信機器10は、従来の受信機器70に対して互換性を有する。同様に、受信機器30も、従来の送信機器50との間において、上記の通信を行なうことが可能である。すなわち、受信機器30は、従来の送信機器50に対して互換性を有する。
なお、本実施の形態に係る赤外線通信システム1おける送信機器10および送信機器50は、例えば、携帯電話機、パーソナルコンピュータ、PDA、ビデオカメラ等に適用できる。また、受信機器30および受信機器70は、例えば、テレビ、DVDレコーダ、ハードディスク装置、またはパーソナルコンピュータ等に適用できる。
以下では、本実施の形態に係る送信回路を備える送信機器10、および、本実施の形態に係る受信回路を備える受信機器30について詳細に説明していく。
〔送信機器および受信機器の概要〕
まず、送信機器10および受信機器30について、図2を用いてさらに説明する。
図2に示すように、送信機器10は、送信回路100および送信ソフトウェア(上位層)150を備える。送信回路100は、データの送信時におけるIrSS方式の各層での処理を実現するためのハードウェアである。すなわち、送信回路100は、送信ソフトウェア150から転送される送信データを、IrSS方式によって受信機器30または受信機器70に送信するための回路である。
送信ソフトウェア150は、送信回路100を介して、受信機器30または受信機器70に送信データを送信するためのソフトウェアである。すなわち、送信ソフトウェア150は、受信機器30が備える受信ソフトウェア350または受信機器70が備える受信ブロック700で処理される受信データを送信するためのものである。
送信ソフトウェア150は、CPU(central processing unit)が不図示のROM(read only memory)等の記憶装置に記憶されているプログラムをRAM(random access memory)等に読み出して実行することで実現できる。すなわち、図2において、上記送信ソフトウェア150は、上記CPUが上記記憶装置に格納されたプログラムを実行し、入出力回路(図示せず)に対して入出力を行なうことによって実現される機能ブロックである。送信ソフトウェア150と、送信回路100とのデータの受渡しは、送信機器10が備えるシステムバス(図示せず)を経由して行なわれる。
すなわち、送信ソフトウェア150が、システムバスにデータ信号を出力すると、当該データ信号がシステムバスから送信回路100に入力される。また、送信回路100から出力されたデータ信号は、システムバスによって送信ソフトウェア150に転送される。
また、送信ソフトウェア150から送信回路100へ入力されるデータ信号には、送信要求信号および送信データ信号が含まれる。逆に送信回路100から送信ソフトウェア150に出力されるデータ信号には、送信完了信号が含まれる。各信号の詳細については後述する。
受信機器30は、受信回路300および受信ソフトウェア(上位層)350を備える。
受信回路300は、データの受信時におけるIrSS方式の各層での処理を実現するためのハードウェアである。すなわち、受信回路300は、送信機器10または送信機器50からIrSS方式によって送信される送信データを受信する回路である。
受信機器30が、送信データを受信すると、当該送信データは、受信回路300に入力される。そして、受信回路300において、IrSS方式の各層での処理が施され、受信データとして受信ソフトウェア350に出力される。また、受信回路300が出力した受信データは、受信ソフトウェア350に転送される。
受信ソフトウェア350は、受信回路300が出力した受信データを処理するためのソフトウェアである。すなわち、受信ソフトウェア350は、送信機器10が備える送信ソフトウェア150が送信する送信データを処理するためのものである。
受信ソフトウェア350は、CPU(central processing unit)が不図示のROM(read only memory)等の記憶装置に記憶されているプログラムをRAM(random access memory)等に読み出して実行することで実現できる。すなわち、図2において、受信ソフトウェア350は、上記CPUが上記記憶装置に格納されたプログラムを実行し、入出力回路(図示せず)に対して入出力を行なうことによって実現される機能ブロックである。受信ソフトウェア350と、受信回路300とのデータの受渡しは、受信機器30が備えるシステムバス(図示せず)を経由して行なわれる。
すなわち、受信ソフトウェア350が、システムバスにデータ信号を出力すると、システムバスから受信回路300に入力される。また、受信回路300から出力されたデータ信号は、システムバスによって受信ソフトウェア350に転送される。
また、受信ソフトウェア350から受信回路300へ入力されるデータ信号には、受信要求信号が含まれる。逆に受信回路300から受信ソフトウェア350に出力されるデータ信号には、受信完了信号および受信データ信号が含まれる。各信号の詳細については後述する。
また、図2に示すように、送信機器10から受信機器30へのデータの送信は、具体的には、送信機器10から、受信機器30または受信機器70にIrSS方式のSNRMパケット、UIパケット、DISCパケットを送信することで行なわれる。
なお、以降においては、説明の便宜上、送信機器10が、受信機器30にデータを送信する場合(すなわち、受信機器30が送信機器10からデータを受信する場合)について説明していく。よって、送信機器10が、受信機器70にデータを送信すること、および、受信機器30が、送信機器50からデータを受信することについては、特に必要がない限りその説明を省略する。
以下に、送信機器10が備える送信回路100および受信機器30が備える受信回路300の詳細について説明する。
(送信回路)
〔送信回路の構成〕
送信機器10が備える送信回路100の詳細について、図1を用いて説明すると以下のとおりである。
図1は、送信機器10が備える送信回路100の要部構成を示す機能ブロック図である。
図1に示すように、送信回路100は、送信要求処理部101と、OBEX層送信処理部(コマンド生成処理部)102と、SMP層送信処理部103と、IrLMP層送信処理部104と、IrLAP層送信処理部105と、IrPHY層送信処理部106と、送信バッファ108とをハードウェアとして備える構成である。
[送信要求処理部]
送信要求処理部101は、送信ソフトウェア150側からの入力信号に応じて、各種通知を生成し、当該通知によりOBEX層送信処理部102に対する制御を行なうためのものである。また、送信バッファ108は、送信ソフトウェア150側から入力される送信データを一時的に保持しておくためのものである。
具体的には、送信要求処理部101は、送信ソフトウェア150側から送信要求信号が入力されると、接続要求通知を生成する。そして、送信要求処理部101は、当該接続要求通知をOBEX層送信処理部102に転送する。
また、送信要求処理部101は、OBEX層送信処理部102から、“接続完了”が通知されてきた場合は、データ転送要求通知を生成し、当該データ転送要求通知を、OBEX層送信処理部102に転送する。このとき、送信ソフトウェア150側から送信バッファ108に送信データが入力される。
また、送信要求処理部101は、OBEX層送信処理部102から、“データ転送完了”が通知されてきた場合は、切断要求通知を生成し、当該切断要求通知を、OBEX層送信処理部102に転送する。
また、送信要求処理部101は、送信データがすべて受信機器30に送信された後、OBEX層送信処理部102から、“切断完了”が通知された場合は、送信ソフトウェア150側に送信完了信号を出力する。
[OBEX層送信処理部]
OBEX層送信処理部102は、送信要求処理部101と、SMP層送信処理部103との間に配置されており、IrSS方式において送信側のOBEX層について定義されている機能を実現するものである。
OBEX層送信処理部102では、具体的には、次の構成を備えることによりOBEX層の機能を実現している。すなわち、OBEX層送信処理部102は、OBEX送信制御部(コマンド生成処理部)102aと、OBEX接続要求コマンド生成部(コマンド生成処理部)102bと、OBEXデータ転送要求コマンド生成部(コマンド生成処理部)102cと、OBEX切断要求コマンド生成部(コマンド生成処理部)102dとを備える。
OBEX送信制御部102aは、OBEX層における送信処理の制御を行なうものである。
OBEX送信制御部102aは、上位層に相当する送信要求処理部101からの通知に応じて、OBEX接続要求コマンド生成部102b、OBEXデータ転送要求コマンド生成部102cおよびOBEX切断要求コマンド生成部102dに対して各種の制御を行なう。
また一方で、OBEX送信制御部102aは、下位層に相当するSMP層送信処理部103からの各種の通知に応じて、送信要求処理部101に対し所定の通知を行なう。
OBEX接続要求コマンド生成部102bは、OBEX送信制御部102aからの指示に基づいて、“OBEX接続要求コマンド”を生成し、当該“OBEX接続要求コマンド”をSMP層送信処理部103に転送する。
なお、OBEX接続要求コマンド生成部102bは、このときOBEX送信制御部102aから、“OBEX接続要求コマンド”を生成するために使用する接続データが転送されて来る場合は、当該接続データを含む“OBEX接続要求コマンド”を生成する。
OBEXデータ転送要求コマンド生成部102cは、OBEX送信制御部102aからの指示に基づいて、転送データの送信を指示するための“OBEXデータ転送要求コマンド”を生成するものである。具体的には、OBEX送信制御部102aからの指示があると、OBEX送信制御部102aから転送される送信データを所定のサイズに分割または結合し、転送データを生成する。そして、OBEXデータ転送要求コマンド生成部102cは、転送データを含む“OBEXデータ転送要求コマンド”を生成する。そして、OBEXデータ転送要求コマンド生成部102cは、当該“OBEXデータ転送要求コマンド”をSMP層送信処理部103に転送する。
ここで、OBEXデータ転送要求コマンド生成部102cが行なう送信データに対する分割または結合処理は、2KB(Kilo Byte)単位に行なわれる。
しかしながら、これに限られず、分割または結合処理のサイズは、下位層に相当する各処理部において処理可能なデータのサイズであればよい。
なお、本実施の形態において、OBEXデータ転送要求コマンド生成部102cは、2KB単位に送信データを分割または結合するが、これに対応する“OBEXデータ転送要求コマンド”は、64KBごとに1つ生成してもよい。
このようにOBEXデータ転送要求コマンド生成部102cを構成することで、送信回路100におけるデータの分割・結合処理の負荷を低減することができ、かつ、従来の受信機器70のOBEX層でも、従来どおり、64KBごとに1つの“OBEXデータ転送要求コマンド”が対応しているものとして処理することができる。
また、OBEXデータ転送要求コマンド生成部102cが送信データに対する分割・結合処理を2KB単位に行なえば、SMP層送信処理部103は、従来のSMP層送信処理ブロック503において行われていた分割処理(すなわち、送信データを2KB単位に分割する処理)を省略することができる。このため、SMP層送信処理部103は、SMP層送信処理ブロック503での処理に比べ、その負荷を軽減させることができる。
OBEX切断要求コマンド生成部102dは、OBEX送信制御部102aからの指示に基づいて、“OBEX切断要求コマンド”を生成し、当該“OBEX切断要求コマンド”をSMP層送信処理部103に転送するものである。
なお、OBEX切断要求コマンド生成部102dは、このときOBEX送信制御部102aから“OBEX切断要求コマンド”を生成するために使用する切断データが転送されて来る場合は、当該切断データを含む“OBEX切断要求コマンド”を生成する。
[SMP層送信処理部]
SMP層送信処理部103は、OBEX層送信処理部102と、IrLMP層送信処理部104との間に配置されており、IrSS方式において送信側のSMP層について定義されている機能を実現するものである。
SMP層送信処理部103では、具体的には、次の構成を備えることによりSMP層の機能を実現している。すなわち、SMP層送信処理部103は、SMP送信制御部103aと、SMP接続ヘッダ付加部103bと、SMPデータ転送ヘッダ付加部103cと、SMP切断ヘッダ付加部103dとを備える。
SMP送信制御部103aは、SMP層における送信処理の制御を行なうものである。具体的には、SMP送信制御部103aは、上位層に相当するOBEX層送信処理部102から転送される各種要求コマンドに応じて、SMP接続ヘッダ付加部103b、SMPデータ転送ヘッダ付加部103cおよびSMP切断ヘッダ付加部103dに指示を行なう。
また一方で、SMP送信制御部103aは、下位層に相当するIrLMP層送信処理部104からの各種の通知に応じて、OBEX層送信処理部102に対し所定の通知を行なう。
SMP接続ヘッダ付加部103bは、SMP送信制御部103aからの指示に基づいて、SMP送信制御部103aから転送されるデータに、SMP接続ヘッダを付加し、SMP接続ヘッダを付加したデータをIrLMP層送信処理部104に転送するとともに、IrLMP層送信処理部104に“接続要求”を行なう。
SMPデータ転送ヘッダ付加部103cは、SMP送信制御部103aからの指示に基づいて、SMP送信制御部103aから転送されるデータを所定のサイズに分割し、SMPデータ転送ヘッダを付加し、SMPデータ転送ヘッダを付加したデータをIrLMP層送信処理部104に転送するとともに、IrLMP層送信処理部104にデータ転送要求を行なう。
なお、従来SMPデータ転送ヘッダ付加部103cでは、SMP送信制御部103aから転送されるデータを、2KBごとに分割する処理を行なっていたが、本実施の形態においては、当該データはOBEX層送信処理部102においてすでに2KBごとに分割されているのでその必要はない。
SMP切断ヘッダ付加部103dは、SMP送信制御部103aからの指示に基づいて、SMP送信制御部103aから転送されるデータに、SMP切断ヘッダを付加し、SMP切断ヘッダを付加したデータをIrLMP層送信処理部104に転送するとともに、IrLMP層送信処理部104に“切断要求”を行なう。
[IrLMP層送信処理部]
IrLMP層送信処理部104は、SMP層送信処理部103と、IrLAP層送信処理部105との間に配置されており、IrSS方式において送信側のIrLMP層について定義されている機能を実現するものである。
IrLMP層送信処理部104では、具体的には、次の構成を備えることによりIrLMP層の機能を実現している。すなわち、IrLMP層送信処理部104は、IrLMP送信制御部104aと、IrLMP接続ヘッダ付加部104bと、IrLMPデータ転送ヘッダ付加部104cと、IrLMP切断ヘッダ付加部104dとを備える。
IrLMP送信制御部104aは、IrLMP層における送信処理の制御を行なうものである。具体的には、IrLMP送信制御部104aは、上位層に相当するSMP層送信処理部103から転送される各種要求に応じて、IrLMP接続ヘッダ付加部104bと、IrLMPデータ転送ヘッダ付加部104cと、IrLMP切断ヘッダ付加部104dに指示を行なう。
また一方で、IrLMP送信制御部104aは、下位層に相当するIr
LAP層送信処理部105からの各種の通知に応じて、SMP層送信処理部103に対し所定の通知を行なう。
IrLMP接続ヘッダ付加部104bは、IrLMP送信制御部104aからの指示に基づいて、IrLMP送信制御部104aから転送されるデータに、IrLMP接続ヘッダを付加し、IrLMP接続ヘッダを付加したデータをIrLAP層送信処理部105に転送するとともに、IrLAP層送信処理部105に“接続要求”を行なう。
IrLMPデータ転送ヘッダ付加部104cは、IrLMP送信制御部104aからの指示に基づいて、IrLMP送信制御部104aから転送されるデータに、IrLMPデータ転送ヘッダを付加し、IrLMPデータ転送ヘッダを付加したデータをIrLAP層送信処理部105に転送するとともに、IrLAP層送信処理部105にデータ転送要求を行なう。
IrLMP切断ヘッダ付加部104dは、IrLMP送信制御部104aからの指示に基づいて、IrLMP送信制御部104aから転送されるデータに、IrLMP切断ヘッダを付加し、IrLMP切断ヘッダを付加したデータをIrLMP層送信処理部104に転送するとともに、IrLAP層送信処理部105に“切断要求”を行なう。
[IrLAP層送信処理部]
IrLAP層送信処理部105は、IrLMP層送信処理部104と、IrPHY層送信処理部106との間に配置されており、IrSS方式において送信側のIrLAP層について定義されている機能を実現するものである。
IrLAP層送信処理部105では、具体的には、次の構成を備えることによりIrLAP層の機能を実現している。すなわち、IrLAP層送信処理部105は、IrLAP送信制御部105aと、IrLAP接続ヘッダ付加部105bと、IrLAPデータ転送ヘッダ付加部105cと、IrLAP切断ヘッダ付加部105dと、タイマ105eを備える。
IrLAP送信制御部105aは、IrLAP層における送信処理の制御を行なうものである。
タイマ105eは、時間計測を行なうものであり、IrSS方式のデータ通信における時間制御を行なうために用いられる。IrSS方式のデータ通信では、IrLAP層で時間制御が行われる。タイマ105eは、IrLAP送信制御部105aが、タイマ105eを用いて、IrLAP接続ヘッダ付加部105b、IrLAPデータ転送ヘッダ付加部105cおよびIrLAP切断ヘッダ付加部105dにおけるデータ転送のタイミングを調整するのに用いられる。
IrLAP接続ヘッダ付加部105bは、IrLAP送信制御部105aからの指示に基づいて、IrLAP送信制御部105aから転送されるデータに、IrLAP接続ヘッダを付加したSNRMパケットを作成する。そして、IrLAP接続ヘッダ付加部105bは、SNRMパケットをIrLAP層送信処理部105に転送するとともに、IrPHY層送信処理部106に“送信要求”を行なう。このとき、IrLAP接続ヘッダ付加部105bは、IrLAP接続ヘッダの「Negotiation Parameters」に転送速度や送信先のアドレスなどのパラメータを設定する。なお、送信先のアドレスは、「Negotiation Parameters」のなかの「Connection Address」に設定される。
IrLAPデータ転送ヘッダ付加部105cは、IrLAP送信制御部105aからの指示に基づいて、IrLAP送信制御部105aから転送されるデータに、IrLAPデータ転送ヘッダを付加したUIパケットを作成する。IrLAPデータ転送ヘッダの「Address Field」には、送信先のアドレスが含まれる。そして、IrLAPデータ転送ヘッダ付加部105cは、UIパケットをIrLAP層送信処理部105に転送するとともに、IrPHY層送信処理部106に“送信要求”を行なう。
IrLAP切断ヘッダ付加部105dは、IrLAP送信制御部105aからの指示に基づいて、IrLAP送信制御部105aから転送されるデータに、IrLAP切断ヘッダを付加したDISCパケットを作成する。IrLAP切断ヘッダの「Address Field」には、送信先のアドレスが含まれる。そして、IrLAP切断ヘッダ付加部105dは、DISCパケットをIrLAP層送信処理部105に転送するとともに、IrPHY層送信処理部106に“送信要求”を行なう。
[IrPHY層送信処理部]
IrPHY層送信処理部106は、IrLAP層送信処理部105と、送信信号の出力端子との間に配置されており、IrSS方式において送信側のIrPHY層について定義されている機能を実現するものである。すなわち、IrPHY層送信処理部106では、上位層に相当するIrLAP層送信処理部105から転送されてくるデータを所定のフォーマットに従いフレーム化し、変調し、送信信号として送信回路100の出力端子から出力するものである。
IrPHY層送信処理部106は、IrPHY層の機能を実現するために、IrPHYフレーム生成部106aと、IrPHY変調部106bとを備える。
IrPHY層フレーム生成部106aは、IrLAP層信号処理部105から転送されるデータを含むデータフレームを作成するものである。
IrPHY層変調部106bは、IrPHY層フレーム生成部106aが作成したデータフレームを変調し、送信信号として送信回路100の出力端子(図示せず)から出力するものである。
なお、IrPHY層送信処理部106から出力された送信信号は、赤外線通信デバイス(図示せず)を介して送信機器10の外部に送信される。
以上が、送信機器10が備える送信回路100の詳細である。
なお、送信回路100は、IrSS方式のOBEX層、SMP層、IrLMP層、IrLAP層、IrPHY層の処理を行なっているが、IrPHY層の処理のみを行なうように切り替えることができるように構成されていてもよい。例えば、送信回路100に、いずれの動作で処理を行なうかを選択する送信モード選択部(図示せず)を設けて、当該送信モード選択部で選択した動作で処理するようにすればよい。この場合、送信機器10では、送信ソフトウェア150ではなく、IrPHY層送信処理部106と、IrSS方式のOBEX層、SMP層、IrLMP層、IrLAP層の処理を行なう他の送信ソフトウェア(図示せず)が動作するようにすればよい。
また、この選択操作は、ユーザの操作によって行なえるように構成してもよい。
このように構成することで、送信モードを適宜切り替えることができ、各種送信ソフトウェアに対応可能な互換性の高い送信回路100を提供することができる。
以上のように、本実施の形態に係る送信回路100は、送信処理を開始するためのOBEX接続要求コマンドと、送信データを分割した転送データを含むOBEXデータ転送要求コマンドと、送信処理を終了するためのOBEX切断要求コマンドとを受信機器30、70に送信することによって、受信機器30、70と片方向赤外線通信を行なう送信機器10が備える回路である。
そして、本実施の形態に係る送信回路100は、送信ソフトウェア150側から送信データの送信処理を要求する送信要求信号を受信すると、OBEX接続要求コマンドと、OBEXデータ転送要求コマンドおよびOBEX切断要求コマンドを受信機器30、70に順次送信する構成である。
上記構成により、片方向赤外線通信の送信処理において、CPUの割り込み処理によるCPUの負荷を軽減でき、高速かつ安定した送信処理を行なうことができるという効果を奏する。
〔送信要求処理部の処理の流れ〕
次に、図3に示すフローチャートを参照しながら、送信要求処理部101の動作について説明する。同図は送信要求処理部101の動作の詳細について説明したフローチャートである。
まず、送信要求処理部101は、外部からの送信要求信号の入力を待ち受ける(S601)。本実施の形態において、外部とは、具体的には、送信要求信号を送信要求処理部101に入力する送信ソフトウェア150である。ここで、送信要求処理部101は、送信ソフトウェア150から送信要求信号が入力されなければ、そのまま入力を待ち続ける(S601においてNO)。
次に、送信ソフトウェア150が、送信要求信号を送信要求処理部101に入力すると(S601においてYES)、送信要求処理部101は、接続要求通知を生成し、OBEX層送信処理部102に対し接続要求通知を転送する(S602)。そして、送信要求処理部101は、OBEX層送信処理部102から、“接続完了”が通知されたか否かを判定する(S603)。送信要求処理部101は、OBEX層送信処理部102から、“接続完了”が通知されていなければ、OBEX層送信処理部102から、“接続完了”が通知されるのを待ち続ける(S603においてNO)。
その間に、OBEX層送信処理部102が生成した“OBEX接続要求コマンド”が、OBEX層送信処理部102から、IrLAP層送信処理部105にかけて順番に転送され、IrPHY層送信処理部106から、SNRMパケットを含む送信信号が出力されると、今度は、IrLAP層送信処理部105から、OBEX層送信処理部102にかけて“接続確認”が、順番に通知される。OBEX層送信処理部102は、SMP層送信処理部103から“接続確認”が通知されると、送信要求処理部101に対し、“接続完了”を通知する。
そして、送信要求処理部101は、OBEX層送信処理部102から、“接続完了”が通知されると(S603においてYES)、データ転送要求通知を生成し、OBEX層送信処理部102に転送する(S604)。そして、送信要求処理部101は、OBEX層送信処理部102から“データ転送完了”が通知されたか否かを判定する(S605)。送信要求処理部101は、OBEX層送信処理部102から“データ転送完了”が通知されていなければ、OBEX層送信処理部102から“データ転送完了”が通知されるのを待ち続ける(S605においてNO)。
その間に、OBEX層送信処理部102は、データ転送要求通知を送信要求処理部101から受け付けると、送信ソフトウェア150から入力される送信データを、送信バッファ108から読み出し、当該読み出した送信データを、2KB単位で分割する。そして、OBEX層送信処理部102は、2KBに分割した送信データを含む“OBEXデータ転送要求コマンド”を生成する。ここで、転送すべき送信データがまだある場合は、OBEX層送信処理部102は、“OBEXデータ転送要求コマンド”のopcodeに、“PUT”を設定する。
そして、OBEX層送信処理部102から、IrLAP層送信処理部105にかけて、順番に“OBEXデータ転送要求コマンド”が転送され、IrPHY層送信処理部106から、UIパケットを含む送信信号が送信回路100の出力端子に出力される。ここで、OBEX層送信処理部102は、分割した最後のデータに対しては、“OBEXデータ転送要求コマンド”のopcodeに、“PUT Final”を設定する。OBEX層送信処理部102は、opcodeに“PUT Final”を設定した“OBEXデータ転送要求コマンド”を生成すると、送信データの全てが送信されたものとして、送信要求処理部101に“データ転送完了”を通知する。
そして、送信要求処理部101は、OBEX層送信処理部102から、“データ転送完了”が通知されると(S605においてYES)、切断要求通知を生成し、OBEX層送信処理部102に転送する(S606)。そして、送信要求処理部101は、OBEX層送信処理部102から“切断完了”が通知されたか否かを判定する(S607)。送信要求処理部101は、OBEX層送信処理部102から“切断完了”が通知されていなければ、OBEX層送信処理部102から“切断完了”が通知されるのを待ち続ける(S607においてNO)。
その間に、OBEX層送信処理部102が生成した“OBEX切断要求コマンド”が、OBEX層送信処理部102から、IrLAP層送信処理部105にかけて順番に転送され、IrPHY層送信処理部106から、DISCパケットを含む送信信号が送信回路100の出力端子に出力されると、今度は、IrLAP層送信処理部105から、OBEX層送信処理部102にかけて“切断確認”が、順番に通知される。OBEX層送信処理部102は、SMP層送信処理部103から“切断確認”が通知されると、OBEX層送信処理部102は、送信要求処理部101に対し、“切断完了”を通知する。
そして、送信要求処理部101は、OBEX層送信処理部102から“切断完了”が通知されると(S607においてYES)、外部、すなわち、送信ソフトウェア150に、送信完了を通知する(S608)。その後、処理は終了する。
なお、送信要求処理部101は、上記S601、S603、S605およびS607においてエラーを検知した場合は、送信ソフトウェア150に、“エラー発生”や“エラー発生原因”等を通知してもよい。この場合、送信ソフトウェア150よりも上位層において、“エラー発生”や“エラー発生原因”等の通知に応じたエラーハンドリングを行なうことが可能になる。従って、送信機器10における障害対応が迅速に行なえるようになる。
〔送信回路における送信シーケンスの処理〕
次に、図4を用いて、送信回路100が備える各部の接続シーケンス、データ転送シーケンスおよび切断シーケンスの、3つのシーケンスにおける処理について以下に説明する。図4は、送信回路100がデータを送信する場合の流れを示したシーケンス図である。
なお、図4に示す、受信側の受信シーケンスの処理は、従来の受信機器70のものを示している。従って、以下ではその説明を省略する。また、同図では、IrPHY層送信処理部106については記載を省略している。
図4に示すように、送信機器10から受信機器30へデータ送信を行なう場合、まず、送信ソフトウェア150側から、送信回路100の送信要求処理部101に対して送信要求信号が入力される。そして、送信要求処理部101は、送信要求信号が入力されると、接続要求通知を生成し、当該接続要求通知をOBEX層送信処理部102に転送する。
[接続シーケンスの処理]
まず、図4を参照しながら、送信回路100における接続シーケンスの処理について以下に説明する。同図に示すように、OBEX層送信処理部102は、送信要求処理部101から、接続要求通知が転送されてくると、“OBEX接続要求コマンド”を生成し、当該“OBEX接続要求コマンド”をSMP層送信処理部103に転送する。
次に、SMP層送信処理部103は、OBEX層送信処理部102から、“OBEX接続要求コマンド”が転送されてくると、当該“OBEX接続要求コマンド”にSMP接続ヘッダを付加したデータを作成する。そして、SMP層送信処理部103は、“接続要求コマンド”にSMP接続ヘッダを付加したデータを、IrLMP層送信処理部104に転送するとともに、IrLMP層送信処理部104に“接続要求”を行なう。
次に、IrLMP層送信処理部104は、SMP層送信処理部103から“接続要求”を受け付けると、SMP層送信処理部103から転送されてくるデータにIrLMP接続ヘッダを付加したデータを、IrLAP層送信処理部105に転送するとともに、IrLAP層送信処理部105に“接続要求”を行なう。
次に、IrLAP層送信処理部105は、IrLMP層送信処理部104から“接続要求”を受け付けたときは、IrLMP層送信処理部104から転送されてくるデータにIrLAP接続ヘッダを付加したSNRMパケットを作成する。
このとき、IrLAP層送信処理部105は、IrLAP接続ヘッダの「Negotiation Parameters」に転送速度や送信先のアドレスなどのパラメータを設定する。なお、送信先のアドレスは、「Negotiation Parameters」のなかの「Connection Address」に設定される。IrLAP層送信処理部105は、SNRMパケットをIrPHY層送信処理部106に転送するとともに、IrPHY層送信処理部106に“送信要求”を行なう。
なお、上記データ転送および“送信要求”のタイミングは、IrLAP送信制御部105aが調整する。
IrPHY層送信処理部105は、IrLAP層送信処理部105から“送信要求”を受け付けると、SNRMパケットを送信信号として出力し、赤外線通信デバイスを介して外部、すなわち受信機器30に向けて送信する。
その後、IrLAP層送信処理部105から、OBEX層送信処理部102にかけて “接続確認”が通知される。
そして、OBEX層送信処理部102は、SMP層送信処理部103から“接続確認”が通知されると、送信要求処理部101に対し、“接続完了”を通知する。
以上が、送信回路100における接続シーケンスの処理である。
なお、SMP接続ヘッダ、IrLMP接続ヘッダおよびIrLAP接続ヘッダは、付加しなくてもよい場合がある。
[データ転送シーケンスの処理]
次に、図4を参照しながら、送信回路100におけるデータ転送シーケンスの処理について以下に説明する。図4に示すように、送信要求処理部101は、OBEX送信制御部102aから、“接続完了”が通知されると、送信ソフトウェア150側から入力される送信データを受け付け、OBEX層送信処理部102に対して、データ転送要求通知を転送する。なお、送信要求処理部101が受け付けた送信データは、送信バッファ108に一時的に格納される。また、送信データが、送信バッファ108に一時的に格納されるタイミングは、送信要求処理部101が、OBEX層送信処理部102に接続要求通知を行なう前でも後でもよい。
OBEX層送信処理部102は、送信要求処理部101から、データ転送要求通知が転送されてくると、送信バッファ108から送信データを読み出し、当該読み出した送信データを2KBのサイズに分割または結合して転送データを作成する。そして、OBEX層送信処理部102は、転送データを含む“OBEXデータ転送要求コマンド”を生成し、当該“OBEXデータ転送要求コマンド”を、逐次、SMP層送信処理部103に転送する。
次に、SMP層送信処理部103は、OBEX層送信処理部102から、“OBEXデータ転送要求コマンド”が転送されてくると、当該“OBEXデータ転送要求コマンド”を所定のサイズに分割し、SMPデータ転送ヘッダを付加して、IrLMP層送信処理部104に転送するとともに、IrLMP層送信処理部104に対し“データ転送要求”を行なう。
なお、ここでOBEX層送信処理部102において、すでに、送信データは、2KB毎のパケットになっているため、SMP層送信処理部103では、転送データをさらに分割する必要がない。
次に、IrLMP層送信処理部104は、SMP層送信処理部103から“データ転送要求”を受け付けると、SMP層送信処理部103から転送されるデータにIrLMPデータ転送ヘッダを付加して、IrLAP層送信処理部105に転送するとともに、IrLAP層送信処理部105に“データ転送要求”を行なう。
次に、IrLAP層送信処理部105は、IrLMP層送信処理部104から“データ転送要求”を受け付けると、IrLMP層送信処理部104から転送されるデータにIrLAPデータ転送ヘッダを付加して、タイミングを調整しながら、IrPHY層送信処理部105に転送するとともに、IrPHY層送信処理部106に“データ転送要求”を行なう。IrLAPデータ転送ヘッダの「Address Field」には、送信先のアドレスが含まれている。
IrPHY層送信処理部105は、IrLAP層送信処理部105から“データ転送要求”を受け付けると、UIパケットを送信信号として出力し、赤外線通信デバイスを介して外部、すなわち受信機器30に向けて送信する。
このような一連の処理を繰り返して、転送データをすべて転送し終わると、OBEX層送信処理部102は、送信要求処理部101に、“データ転送完了”を通知する。
以上が、送信回路100におけるデータ転送シーケンスの処理である。
なお、SMPデータ転送ヘッダ、IrLMPデータ転送ヘッダおよびIrLAPデータ転送ヘッダは、付加しなくてもよい場合がある。
[切断シーケンスの処理]
次に、図4を参照しながら、さらに送信回路100における切断要求シーケンスの処理について以下に説明する。
まず、図4に示すように、送信要求処理部101は、OBEX層送信処理部102から、“データ転送完了”が通知されると、OBEX層送信処理部102に対して切断要求通知を転送する。
次に、OBEX層送信処理部102は、送信要求処理部101から、切断要求通知が転送されてくると、“OBEX切断要求コマンド”を生成し、当該“OBEX切断要求コマンド”をSMP層送信処理部103に転送する。
次に、SMP層送信処理部103は、OBEX層送信処理部102から、“OBEX切断要求コマンド”が転送されてくると、当該“切断要求コマンド”にSMP切断ヘッダを付加して、IrLMP層送信処理部104に転送するとともに、IrLMP層送信処理部104に対して“切断要求”を行なう。
次に、IrLMP層送信処理部104は、SMP層送信処理部103から“切断要求”を受け付けると、SMP層送信処理部103から転送されてくるデータにIrLMP切断ヘッダを付加して、IrLMP層送信処理部104に転送するとともに、IrLMP層送信処理部104に対して“切断要求”を行なう。
また、IrLAP層送信処理部105は、IrLMP層送信処理部104から“切断要求”を受け付けると、IrLMP層送信処理部104から転送されてくるデータにIrLAP切断ヘッダを付加したDISCパケットを作成する。IrLAP層送信処理部105は、DISCパケットをIrPHY層送信処理部106に転送するとともに、IrPHY層送信処理部106に“切断要求”を行なう。IrLAPデータ転送ヘッダの「Address Field」には、送信先のアドレスが含まれている。
なお、上記データ転送および“切断要求”のタイミングは、IrLAP層送信処理部105が調整する。
IrPHY層送信処理部106は、IrLAP層送信処理部105から“切断要求”を受け付けると、DISCパケットを送信信号として出力し、赤外線通信デバイスを介して外部、すなわち受信機器30に向けて送信する。
その後、IrLAP層送信処理部105から、OBEX層送信処理部102にかけて“切断確認”が通知される。
そして、OBEX層送信処理部102は、SMP層送信処理部103から“切断確認”が通知されると、送信要求処理部101に対し、“切断完了”を通知する。
送信要求処理部101は、OBEX層送信処理部102から“切断完了”を通知されると、外部に、すなわち、送信ソフトウェア150側に送信完了信号を出力する。
以上が、送信回路100における切断シーケンスの処理である。
なお、SMP切断ヘッダ、IrLMP切断ヘッダおよびIrLAP切断ヘッダは、付加しなくてもよい場合がある。
(受信回路)
〔受信回路の構成〕
受信機器30が備える受信回路300の詳細について、図5を用いて説明すると以下のとおりである。
図5は、受信機器30が備える受信回路300の要部構成を示す機能ブロック図である。
図5に示すように、受信回路300は、受信要求処理部301と、OBEX層受信処理部(コマンド解析処理部)302と、SMP層受信処理部303と、IrLMP層受信処理部304と、IrLAP層受信処理部305と、IrPHY層受信処理部306と、受信バッファ308とをハードウェアとして備える構成である。
受信要求処理部301は、受信ソフトウェア350側からの入力信号に応じて、送信機器10からのデータ送信を受け付け、送信機器10から受信したデータを受信ソフトウェア350側に出力し、そして、送信機器10から送信されるデータをすべて受信した場合には、受信ソフトウェア350側にその旨を通知するものである。また、受信バッファ308は、受信ソフトウェア350側に出力するための受信データを一時的に保持しておくためのものである。
[受信要求処理部]
受信要求処理部301は、受信ソフトウェア350側から受信要求信号が入力されると、受信要求通知を生成する。そして、受信要求処理部301は、当該受信要求通知をOBEX層受信処理部302に転送するとともに、受信待機状態になる。
また、受信要求処理部301は、OBEX層受信処理部302から通知される“接続完了”を受け付ける。
また、受信要求処理部301は、OBEX層受信処理部302から、受信データが転送されてきた場合は、当該受信データを受信バッファ308経由で、受信ソフトウェア350側に出力する。
通常、送信データは、パケットに分割されて送信機器10から受信機器30に送信されてくる。
受信要求処理部301は、送信機器10から分割されて送られてくる送信データを受信すると、受信ソフトウェア150の処理能力にあわせるように受信バッファ308に格納する。
そして、送信機器10から分割されて送られてくる送信データを全て受信すると、受信要求処理部301は、OBEX層受信処理部302から“データ転送完了”の通知を受け付ける。
また、受信要求処理部301は、OBEX層受信処理部302から“切断完了”の通知を受けると、受信ソフトウェア350側に、受信完了信号を出力する。
なお、受信要求処理部301は、送信機器10から分割されて送られてくる送信データを全て受信するまで、受信データを待ち受けるようにしてもよい。
[OBEX層受信処理部]
OBEX層受信処理部302は、受信要求処理部301と、SMP層受信処理部303との間に配置されており、IrSS方式において受信側のOBEX層について定義されている機能を実現するものである。
OBEX層受信処理部302では、具体的には、ハードウェアとして次の構成を備えることによりOBEX層の機能を実現している。すなわち、OBEX層受信処理部302は、OBEX受信制御部(コマンド解析処理部)302aと、OBEX接続要求コマンド解析部(コマンド解析処理部)302bと、OBEXデータ転送要求コマンド解析部(コマンド解析処理部)302cと、OBEX切断要求コマンド解析部(コマンド解析処理部)302dとを備える。
OBEX受信制御部302aは、OBEX層における受信処理の制御を行なうものである。
OBEX受信制御部302aは、上位層に相当する受信要求処理部301からの受信要求通知に応じて、接続待機状態になるとともに、SMP層受信処理部303に接続要求を行なう。
また一方で、OBEX受信制御部302aは、SMP層受信処理部303からの各種の通知に応じて、OBEX接続要求コマンド解析部302b、OBEXデータ転送要求コマンド解析部302cおよびOBEX切断要求コマンド解析部302dに各種の通知を解析させる。また、OBEX受信制御部302aは、当該解析の結果を受け付け上位層に相当する受信要求処理部301に対し所定の通知を行なう。当該解析の結果に問題があれば、受信要求処理部301にエラーを通知する。そして、当該エラーの通知は、受信要求処理部301から、受信ソフトウェア350に渡される。
OBEX接続要求コマンド解析部302bは、OBEX受信制御部302aからの指示に基づいて、SMP層受信処理部303から転送される“接続通知”を解析し、当該解析結果をOBEX受信制御部302aに通知する。ここで、OBEX受信制御部302aは、当該解析結果を受け付けると受信要求処理部301に、“接続完了”を通知する。
OBEXデータ転送要求コマンド解析部302cは、OBEX受信制御部302aからの指示に基づいて、SMP層受信処理部303から転送される“データ転送通知”を受け付け、当該“データ転送通知”を解析し、受信データを抽出するものである。
具体的には、OBEXデータ転送要求コマンド解析部302cは、“データ転送通知”を解析し、転送データを抽出するとともに、データの最後を示すフラグを確認する。このデータの最後を示すフラグとは、SMP層受信処理部303から通知される“status=OK”である。また、OBEXデータ転送要求コマンド解析部302cは、“status=truncated”の間は、すなわち、データの最後を示すフラグ(“status=OK”)が現れるまで継続的に上記“データ転送通知”を受け付ける。OBEXデータ転送要求コマンド解析部302cは、抽出した転送データを受信データとして受信バッファ308に格納する。なお、受信データは、受信バッファ308経由で受信回路300の外部、すなわち、受信ソフトウェア350側に出力される。
なお、受信バッファ308は、受信ソフトウェア350の処理能力にあわせて受信回路300に設ければよく、また、受信ソフトウェア350の処理能力が十分に高い場合には、受信バッファ308を受信回路300に設けなくてもよい。
OBEX切断要求コマンド解析部302dは、OBEX受信制御部302aからの指示に基づいて、SMP層受信処理部303から通知される“切断通知”を解析し、当該解析結果をOBEX受信制御部302aに通知する。ここで、OBEX受信制御部302aは、当該解析結果を受け付けると、受信要求処理部301に“受信完了”を通知するものである。
[SMP層受信処理部]
SMP層受信処理部303は、OBEX層受信処理部302と、IrLMP層受信処理部304との間に配置されており、IrSS方式のSMP層において定義されている機能を実現するものである。
SMP層受信処理部303では、具体的には、次の構成を備えることによりSMP層の機能を実現している。すなわち、SMP層受信処理部303は、SMP受信制御部303aと、SMP接続ヘッダ解析部303bと、SMPデータ転送ヘッダ解析部303cと、SMP切断ヘッダ解析部303dとを備える。
SMP受信制御部303aは、SMP層における受信処理の制御を行なうものである。具体的には、SMP受信制御部303aは、上位層に相当するOBEX層受信処理部302から転送される接続要求に応じて、接続待機状態になるとともに、下位層に相当するIrLMP層受信処理部304に“接続要求”を行なう。
また一方で、SMP受信制御部303aは、IrLMP層受信処理部304からの各種の通知に応じて、SMP接続ヘッダ解析部303b、SMPデータ転送ヘッダ解析部303cおよびSMP切断ヘッダ解析部303dに各種の通知を解析させる。また、SMP受信制御部303aは、当該解析の結果を受け取り、OBEX層受信処理部302に対し所定の通知を行なう。
SMP接続ヘッダ解析部303bは、SMP受信制御部303aからの指示に基づいて、IrLMP層受信処理部304から転送される接続通知を解析し、当該解析結果をSMP受信制御部303aに通知する。ここで、SMP受信制御部303aは、当該解析結果を受け付けると、OBEX層受信処理部302に、“接続通知”を行なう。
SMPデータ転送ヘッダ解析部303cは、SMP受信制御部303aからの指示に基づいて、IrLMP層受信処理部304から転送される“データ転送通知”を受け付け、当該“データ転送通知”を解析し、当該解析結果を、OBEX層受信処理部302に通知する。具体的には、SMPデータ転送ヘッダ解析部303cは、当該解析の結果に問題が無ければOBEX層受信処理部302に“データ転送通知”を行なう。当該“データ転送通知”は、下位層からの“データ転送通知”ごとに行なってもよく、下位層からの“データ転送通知”をいくつかまとめて行なってもよい。
また、SMPデータ転送ヘッダ解析部303cは、当該解析の結果に問題があれば、その旨を上位層に順番に通知する。すなわち、SMPデータ転送ヘッダ解析部303cは、OBEX層受信処理部302にエラーを通知する。そして、OBEX層受信処理部302は、次に受信要求処理部301にエラーを通知し、その後、受信要求処理部301は、受信ソフトウェア350にエラーを通知する。
SMP切断ヘッダ解析部303dは、SMP受信制御部303aからの指示に基づいて、IrLMP層受信処理部304から転送される“切断通知”を解析し、当該解析結果をSMP受信制御部303aに通知する。ここで、SMP受信制御部303aは、当該解析結果を受け付けるとOBEX層受信処理部302に“切断通知”を行なう。
[IrLMP層受信処理部]
IrLMP層受信処理部304は、SMP層受信処理部303と、IrLAP層受信処理部305との間に配置されており、IrSS方式において受信側のIrLMP層について定義されている機能を実現するものである。
IrLMP層受信処理部304では、具体的には、次の構成を備えることによりIrLMP層の機能を実現している。すなわち、IrLMP層受信処理部304は、IrLMP受信制御部304aと、IrLMP接続ヘッダ解析部304bと、IrLMPデータ転送ヘッダ解析部304cと、IrLMP切断ヘッダ解析部304dとを備える。
IrLMP受信制御部304aは、IrLMP層における受信処理の制御を行なうものである。具体的には、IrLMP受信制御部304aは、上位層に相当するSMP層受信処理部303から転送される“接続要求”に応じて、接続待機状態になるとともに、下位層に相当するIrLAP層受信処理部305に“接続要求”を行なう。
また一方で、IrLMP受信制御部304aは、IrLMP層受信処理部304からの各種の通知に応じて、IrLMP接続ヘッダ解析部304b、IrLMPデータ転送ヘッダ解析部304cおよびIrLMP切断ヘッダ解析部304dに各種の通知を解析させる。また、IrLMP受信制御部304aは、当該解析の結果を受け取り、SMP層受信処理部303に対し所定の通知を行なう。
IrLMP受信制御部304aは、上位層に相当するSMP層受信処理部303から転送される“接続要求”に応じて、接続待機状態になるとともに、IrLAP層受信処理部305に“接続要求”を行なう。
また一方で、IrLMP受信制御部304aは、IrLAP層受信処理部305からの各種の通知に応じて、IrLMP接続ヘッダ解析部304b、IrLMPデータ転送ヘッダ解析部304cおよびIrLMP切断ヘッダ解析部304dに各種の通知を解析させる。また、IrLMP受信制御部304aは、当該解析の結果を受け取り、SMP層受信処理部303に対し所定の通知を行なう。当該解析の結果に問題があれば、SMP層受信処理部303にエラーを通知する。そして、当該エラーの通知は、SMP層受信処理部303から、OBEX層受信処理部302および受信要求処理部301を順に経て、受信ソフトウェア350に渡される。
IrLMP接続ヘッダ解析部304bは、IrLMP受信制御部304aからの指示に基づいて、IrLAP層受信処理部305から転送される“接続通知”を解析し、当該解析結果をIrLMP受信制御部304aに通知する。ここで、IrLMP受信制御部304aは、当該解析結果を受け付けると、SMP層受信処理部303に、“接続通知”を行なう。
IrLMPデータ転送ヘッダ解析部304cは、IrLMP受信制御部304aからの指示に基づいて、IrLAP層受信処理部305から転送される“データ転送通知”を解析し、データを抽出するとともに、当該解析結果および抽出したデータをIrLMP受信制御部304aに転送する。ここで、IrLMP受信制御部304aは、当該解析結果を受け付けると、SMP層受信処理部303に“データ転送通知”を行なう。
IrLMP切断ヘッダ解析部304dは、IrLMP受信制御部304aからの指示に基づいて、IrLAP受信制御部305aから転送される“切断通知”を解析し、当該解析結果を、IrLMP受信制御部304aに通知する。ここで、IrLMP受信制御部304aは、当該解析結果を受け付けると、SMP層受信処理部303に“切断通知”を行なう。
[IrLAP層受信処理部]
IrLAP層受信処理部305は、IrLMP層受信処理部304と、IrPHY層受信処理部306との間に配置されており、IrSS方式における受信機のIrLAP層について定義されている機能を実現するものである。
IrLAP層受信処理部305では、具体的には、次の構成を備えることによりIrLAP層の機能を実現している。すなわち、IrLAP層受信処理部305は、IrLAP受信制御部305aと、IrLAP接続ヘッダ解析部305bと、IrLAPデータ転送ヘッダ解析部305cと、IrLAP切断ヘッダ解析部305dと、IrLAPパケット識別部305eとを備える。
IrLAP受信制御部305aは、IrLAP層における受信処理の制御を行なうものである。具体的には、IrLAP受信制御部305aは、上位層に相当するIrLMP層受信処理部304から転送される“接続要求”に応じて、接続待機状態になるとともに、下位層に相当するIrPHY層受信処理部306に“受信要求”を行なう。
また一方で、IrLAP受信制御部305aは、IrPHY層受信処理部306から転送されたパケットの種類をIrLAPパケット識別部305eに識別させ、識別結果に応じて、IrLAP接続ヘッダ解析部305b、IrLAPデータ転送ヘッダ解析部305cおよびIrLAP切断ヘッダ解析部305dの各解析部にパケットを解析させ、当該解析結果を受け取る。
すなわち、IrLAPパケット識別部305eが、当該パケットを“SNRMパケット”と識別した場合、IrLAP受信制御部305aは、当該パケットを、IrLAP接続ヘッダ解析部305bに解析させる。IrLAPパケット識別部305eが、当該パケットを“UIパケット”と識別した場合、IrLAP受信制御部305aは、当該パケットを、IrLAPデータ転送ヘッダ解析部305cに解析させる。また、IrLAPパケット識別部305eが、当該パケットを“DISCパケット”と識別した場合、IrLAP受信制御部305aは、IrLAP切断ヘッダ解析部305dに解析させる。
また、IrLAP受信制御部305aは、各解析部から当該解析の結果を受け取ると、IrLMP層受信処理部304に対し所定の通知を行なう。当該解析の結果に問題があれば、IrLMP層受信処理部304にエラーを通知する。
IrLAP接続ヘッダ解析部305bは、IrLAP受信制御部305aからの指示に応じて、SNRMパケットを解析し、当該解析結果を、IrLAP受信制御部305aに通知する。ここで、IrLAP受信制御部305aは、当該解析結果を受け付けると、IrLAP層受信処理部305に、“接続通知”を行なう。
なお、SNRMパケットには、接続処理に用いられるデータが含まれている場合もある。また、IrLAP接続ヘッダ解析部305bは、当該解析結果に問題がある場合に、その旨を上位層に通知してもかまわない。例えば、IrLAP接続ヘッダ解析部305bの解析結果において、受信したパケットが、IrSS方式のSNRMパケットでないと判明したとき、IrLAP受信制御部305aは、その旨を上位層に通知してもかまわない。すなわち、IrLAP接続ヘッダ解析部305bは、受信したパケットが、IrDA方式のSNRMパケットであった場合や、IrSimple双方向方式のSNRMパケットを受け取った場合などに、解析結果に問題があると判断する。
IrLAPデータ転送ヘッダ解析部305cは、IrLAP受信制御部305aからの指示に応じて、UIパケットを解析し、当該解析結果を、IrLAP受信制御部305aに通知する。ここで、IrLAP受信制御部305aには、当該解析結果を受け付けると、IrLMP受信処理部304に“データ転送通知”を行なう。
IrLAP切断ヘッダ解析部305dは、IrLAP受信制御部305aからの指示に応じて、DISCパケットを解析し、当該解析結果を、IrLAP受信制御部305aに通知する。ここで、IrLAP受信制御部305aは、当該解析結果を受け付けると、IrLMP受信処理部304に“切断通知”を行なう。
IrLAPパケット識別部305eは、IrLAP送信制御部105aからの指示に応じて、IrPHY層受信処理部306から転送されるパケットの種類を識別する。前述のとおり、IrSS方式の場合、パケットの種類には、“SNRMパケット”、“UIパケット”、“DISCパケット”がある。
[IrPHY層受信処理部]
IrPHY層受信処理部306は、IrLAP層受信処理部305と、受信信号が入力される受信回路300の入力端子(図示せず)との間に配置されており、IrSS方式において受信側のIrPHY層について定義されている機能を実現するものである。この受信信号は、受信機器30が、赤外線通信デバイスを介して送信機器10から受信した送信信号である。
IrPHY層受信処理部306は、IrPHY層の機能を実現するために、IrPHY層フレーム解析部306aと、IrPHY層復調部306bとを備える。
IrPHY層復調部306bは、IrPHY層受信処理部306に入力された受信信号からデータフレームを復調し、当該データフレームを、IrPHY層フレーム解析部306aに転送するものである。
IrPHY層フレーム解析部306aは、IrPHY層復調部306bから転送されたデータフレームを解析し、当該解析結果をIrLAP層受信処理部305に転送するものである。このとき、IrPHY層フレーム解析部306aは、IrPHY層復調部306bから転送されたデータフレームにエラーがあるか否かを解析し、エラーがあった場合には、その旨を上位層に通知する。この場合、IrPHY層フレーム解析部306aから、順に、隣接する上位層にエラーが通知され、その後、受信要求処理部301から受信ソフトウェア350にエラーが通知される。また、受信機器30が液晶ディスプレイなどの表示部(図示せず)を備える場合には、エラーがあった旨を、表示部に表示させてもよい。このようにエラーがあった旨を表示部において表示することで、ユーザが、エラーがあったことを認識し、データ再送の操作等の対応をとることができるという効果を奏する。
このようにして、IrPHY層受信処理部306は、入力された受信信号を、復調して得たデータフレームを解析し、当該解析結果をIrLAP層受信処理部305に通知する。
以上が、受信機器30が備える受信回路300の詳細である。
なお、受信回路300は、IrSS方式のOBEX層、SMP層、IrLMP層、IrLAP層、IrPHY層の処理を行なっているが、IrPHY層の処理のみを行なうように切り替えることができるように構成されていてもよい。例えば、受信回路300に、いずれの動作で処理を行なうかを選択する受信モード選択部(図示せず)を設けて、当該受信モード選択部で選択した動作で処理するようにすればよい。この場合、受信機器30では、受信ソフトウェア350ではなく、IrPHY層受信処理部306と、IrSS方式のOBEX層、SMP層、IrLMP層、IrLAP層の処理を行なう他の受信ソフトウェア(図示せず)が動作するようにすればよい。
また、この選択操作は、ユーザの操作によって行なえるように構成してもよい。
このように構成することで、受信モードを適宜切り替えることができ、各種受信ソフトウェアに対応可能な互換性の高い受信回路300を提供することができる。
また、上記では、受信回路300が備えるOBEX層受信処理部302、SMP層受信処理部303、IrLMP層受信処理部304、IrLAP層受信処理部305およびIrPHY層受信処理部306の各受信処理部において、エラーを検出し、エラーを検出した層から、隣接する上位層に順にエラーが通知され、その後、受信要求処理部301から受信ソフトウェア350にエラーを通知する構成について説明した。すなわち、上記では、受信回路300の各処理部がエラーの有無を検出するエラー検出部として機能するものとして説明した。しかし、上記構成に限られず、例えば、受信要求処理部301が、上記各受信処理部が検出するエラーを監視し、各層のエラーを直接検出してもよい。すなわち、受信要求処理部301が、上記各送受信処理部のエラーを監視し、エラーを検知したら、受信要求処理部301から受信ソフトウェア350にエラーを通知する構成としてもかまわない。このように構成することで、受信要求処理部301が各層のエラーを統括的に管理することができる。また、上記各受信処理部が検出するエラーを監視するために専用の部材を設けてもかまわない。
また、OBEX層受信処理部302、SMP層受信処理部303、IrLMP層受信処理部304、IrLAP層受信処理部305およびIrPHY層受信処理部306において行なうエラー通知処理については次のように構成してもよい。すなわち、受信回路300において、受信ソフトウェア350に直接エラーを通知するエラー検出部(図示せず)を設けておき、当該エラー検出部が受信ソフトウェア350に対して、エラーを通知するようにしてもよい。
また、OBEX層受信処理部302、SMP層受信処理部303、IrLMP層受信処理部304、IrLAP層受信処理部305およびIrPHY層受信処理部306においてエラーを検知した場合、受信機器30が液晶ディスプレイなどの表示部(図示せず)を備える場合には、エラーがあった旨を、表示部に表示させてもよい。このようにエラーがあった旨を表示部において表示することで、ユーザが、エラーがあったことを認識し、データ再送の操作等の対応をとることができるという効果を奏する。
以上のように、本実施の形態に係る受信回路300は、送信機器10、50から、送信機器10、50が送信処理を開始するためのOBEX接続要求コマンドと、送信機器10、50によって分割された転送データを含むOBEXデータ転送要求コマンドと、送信機器10、50が送信処理を終了するためのOBEX切断要求コマンドとを受信することによって、送信機器10、50と片方向通信を行なう受信機器30が備える回路である。
また、本実施の形態に係る受信回路300は、送信機器10、50からOBEX接続要求コマンド、OBEXデータ転送要求コマンドおよびOBEX切断要求コマンドを順次受信すると、受信ソフトウェア350に対して、接続完了を通知するための“接続完了通知”、データ転送完了を通知するための“データ転送完了通知”、および切断完了を通知するための“切断完了通知”を転送することなく、OBEXデータ転送要求コマンドに含まれる転送データを順次転送するとともに、受信処理が完了したことを示す“受信完了通知”を転送する構成である。
上記構成により、片方向赤外線通信の受信処理において、CPUの割り込み処理によるCPUの負荷を軽減でき、高速かつ安定した受信処理を行なうことができるという効果を奏する。
〔受信要求処理部の処理の流れ〕
次に、図6に示すフローチャートを参照しながら、受信要求処理部301の動作について説明する。同図は受信要求処理部301の動作の詳細について説明したフローチャートである。
まず、受信要求処理部301は、外部からの受信要求信号の入力を待ち受ける(S801)。本実施の形態において、外部とは、具体的には、受信要求信号を入力する受信ソフトウェア350である。ここで、受信要求処理部301は、受信ソフトウェア350から受信要求信号が入力されなければ、そのまま受信要求信号の入力を待ち続ける(S801においてNO)。受信ソフトウェア350が、受信要求信号を受信要求処理部301に入力すると(S801においてYES)、受信要求処理部301は、受信要求通知を生成し、OBEX層受信処理部302に対し受信要求通知を転送する(S802)。そして、受信要求処理部301は、OBEX層受信処理部302から、“接続完了”が通知されたか否かを判定する(S803)。受信要求処理部301は、OBEX層受信処理部302から、“接続完了”が通知されるのを待ち続ける(S803においてNO)。
その間に、OBEX層受信処理部302が生成した“OBEX接続要求コマンド”が、OBEX層受信処理部302から、IrLAP層受信処理部305にかけて順番に転送され各層の処理部は、受信待機状態になる。
その後、受信機器30が、送信機器10から送信されるSNRMパケットを受信すると、IrLAP層受信処理部305から、OBEX層受信処理部302にかけて、順に、“接続通知”が転送される。OBEX層受信処理部302は、SMP層受信処理部303から、“接続通知”を受信すると、OBEX層受信処理部302は、受信要求処理部301に対し、“接続完了”を通知する。
そして、受信要求処理部301は、OBEX層受信処理部302から、“接続完了”が通知されると(S803においてYES)、OBEX層受信処理部302からのデータ転送を受け付ける(S804)。
ここで、送信機器10からは、UIパケットが受信機器30に継続して送信される。受信機器30は、送信機器10から送信されるUIパケットを受信すると、IrLAP層受信処理部305から、OBEX層受信処理部302にかけて“データ転送通知”が転送される。OBEX層受信処理部302は、“データ転送通知”を受け付けると、当該“データ転送通知”から受信データを抽出し、当該受信データを受信バッファ308に書き込む。
受信要求処理部301は、受信データに続きがあるか否かを判定するため、OBEX層受信処理部302から“データ転送完了”が通知されたか否かを判定する(S805)。受信要求処理部301は、OBEX層受信処理部302から“データ転送完了”が通知されていなければ、OBEX層受信処理部302から“データ転送完了”が通知されるまで、データ転送を継続して受け付ける(S805においてNO)。
その間に、送信機器10から、全てのパケットデータが転送され、OBEX層受信処理部302において、それ以上送信するパケットデータが無いことを検知すると、OBEX層受信処理部302は、受信要求処理部301に対し“データ転送完了”を通知する。
そして、受信要求処理部301は、OBEX層受信処理部302から、“データ転送完了”が通知されると(S805においてYES)、OBEX層受信処理部302から、“切断完了”が通知されたか否かを判定する(S806)。そして、受信要求処理部301は、OBEX層受信処理部302から、“データ切断完了”が通知されていなければ、OBEX層受信処理部302から、“データ切断完了”が通知されるのを待ち受ける(S806においてNO)。
その間に、送信機器10から送信されるDISCパケットを受信機器30が受信すると、IrLAP層受信処理部305から、OBEX層受信処理部302にかけて“切断通知”が転送される。OBEX層受信処理部302は、SMP層受信処理部303から、“切断通知”を受信すると、受信要求処理部301に対して、“切断完了”を通知する。
そして、受信要求処理部301は、OBEX層受信処理部302から“切断完了”が通知されると(S807においてYES)、外部、すなわち、受信ソフトウェア350に、“受信完了”を通知する(S808)。その後、処理は終了する。
〔受信回路における受信シーケンスの処理〕
次に、図7を用いて、受信回路300が備える各部の接続シーケンス、データ転送シーケンスおよび切断シーケンスの、3つのシーケンスにおける処理について以下に説明する。図7は、受信回路300がデータを送信する場合の流れを示したシーケンス図である。
なお、図4に示す、送信側の送信シーケンスの処理は、従来の送信機器50のものを示している。従って、以下ではその説明を省略する。
なお、図7において、送信機器の動作は、従来と同様であるため以下ではその説明は省略する。また、同図では、IrPHY層受信処理部306については記載を省略している。
図7に示すように、受信機器30が、送信機器10からデータを受信する場合、まず、受信ソフトウェア350側から、受信回路300の受信要求処理部301に対して受信要求信号が入力される。そして、受信要求処理部301は、受信要求信号が入力されると、受信要求通知を生成し、当該受信要求通知を下位層に相当するOBEX層受信処理部302に転送するとともに受信待機状態になる。
[接続シーケンスの処理]
まず、OBEX層受信処理部302は、受信要求処理部301から、受信要求通知が転送されてくると、受信待機状態になるとともに、SMP層受信処理部303に対して、“接続要求”を行なう。そして、SMP層受信処理部303から、IrLAP層受信処理部305にかけて、順に“接続要求”が行なわれるとともに、各処理部は、受信待機状態になる。
その後、送信機器10から送信されてくるSNRMパケットを含む送信信号を、受信機器30が赤外線通信デバイスを介して受信すると、当該SNRMパケットを含む送信信号が、受信信号として、受信回路300に入力される。
まず、受信回路300のIrPHY層受信処理部306は、受信信号を復調し、SNRMパケットを抽出し、IrLAP層受信処理部305に転送する。
次に、IrLAP層受信処理部305は、SNRMパケットを解析し、IrLMP層受信処理部304に“接続通知”を行なう。IrLAP接続ヘッダの「Negotiation Parameters」には転送速度や受信機器30を特定するためのアドレスなどのパラメータが含まれている。なお、当該アドレスは、「Negotiation Parameters」のなかの「Connection Address」に設定される。そして、IrLMP層受信処理部304から、OBEX層受信処理部302にかけて、順に“接続通知”が行なわれる。なお、IrLAPデータ転送ヘッダの「Address Field」に受信機器30以外のアドレスが設定されている場合は、IrLMP層受信処理部304に“接続通知”を行なわない。
次に、OBEX層受信処理部302は、SMP層受信処理部303から、“接続通知”を受け付けると、受信要求処理部301に、“接続完了”を通知する。
以上が、受信回路300における接続シーケンスの処理である。
[データ転送シーケンスの処理]
その後、送信機器10から、逐次、送信されてくるUIパケットを含む送信信号を、受信機器30が赤外線通信デバイスを介して受信すると、当該UIパケットを含む送信信号が、受信信号として、受信回路300に入力される。
受信回路300のIrPHY層受信処理部306は、受信信号を復調し、UIパケットを抽出し、IrLAP層受信処理部305に転送する。
次に、IrLAP層受信処理部305は、UIパケットを解析し、IrLMP層受信処理部304に“データ転送通知”を行なう。なお、IrLAPデータ転送ヘッダの「Address Field」には、受信機器30を特定するためのアドレスが含まれており、当該アドレス以外のパケットの場合は、IrLMP層受信処理部304に“データ転送通知”を行なわない。
そして、IrLMP層受信処理部304から、OBEX層受信処理部302にかけて、順に“データ転送通知”が行なわれる。
次に、OBEX層受信処理部302は、SMP層受信処理部303から、“データ転送通知”を受け付けると、当該“データ転送通知”から受信データを抽出する。そして、OBEX層受信処理部302は、抽出した受信データを受信バッファ308に格納する。すなわち、受信データは、受信バッファ308を介して外部、つまり、受信ソフトウェア350側に出力される。
以上のような処理を繰り返し、送信機器10から、逐次、送信されてくるUIパケットを含む送信信号をすべて受信し終えたこと(“status=OK”)がSMP層受信処理部303から、OBEX層受信処理部302に通知されると、OBEX層受信処理部302は、受信要求処理部301に対して“データ転送完了”を通知する。
以上が、受信回路300におけるデータ転送シーケンスの処理である。
[切断シーケンスの処理]
そして、送信機器10から、送信されてくるDISCパケットを含む送信信号を、受信機器30が赤外線通信デバイスを介して受信すると、当該DISCパケットを含む送信信号が、受信信号として、受信回路300に入力される。
受信回路300のIrPHY層受信処理部306は、受信信号を復調し、DISCパケットを抽出し、IrLAP層受信処理部305に転送する。
次に、IrLAP層受信処理部305は、DISCパケットを解析し、IrLMP層受信処理部304に“切断通知”を行なう。なお、IrLAP切断ヘッダの「Address Field」には、受信機器30を特定するためのアドレスが含まれており、設定されたアドレス以外のパケットの場合は、IrLMP層受信処理部304に“切断通知”を行なわない。
そして、IrLMP層受信処理部304から、OBEX層受信処理部302にかけて、順に“切断通知”が行なわれる。
次に、OBEX層受信処理部302は、SMP層受信処理部303から、“切断通知”を受け付けると、受信要求処理部301に、“切断完了”を通知する。
受信要求処理部301は、OBEX層受信処理部302から“切断完了”が通知されると、受信ソフトウェア350側に、受信完了信号を出力する。
以上が、受信回路300における切断シーケンスの処理である。
〔送信回路および受信回路の変形例〕
続いて、本実施の形態に係る送信回路100および受信回路300の好ましい変形例について説明する。
[送信回路の変形例]
まず、図12を用いて、送信回路100にIrPHY層の受信処理を行なう機能を追加し、以上で説明した送信回路100として動作する送信動作モードと、IrPHY層における送受信処理を行なう送受信回路として動作する送受信動作モードとを切り替え可能にした場合の例について説明する。
図12は、送信機器10が備える送信回路100の要部構成の変形例を示す機能ブロック図である。同図に示すように、本変形例では、図1で示した送信回路100に、IrPHY層受信処理部107を追加した構成となっている。すなわち、本変形例では、送信回路100にIrPHY層受信処理部107を追加することで、送信回路100がIrPHY層の受信処理を行なえるようにしている。なお、前述の構成と同様の機能を有する構成には同一の符号を付して、その説明を省略する。
IrPHY層受信処理部107は、IrPHYフレーム解析部107aおよびIrPHY復調部107bを備える。これら、IrPHY層受信処理部107、IrPHYフレーム解析部107aおよびIrPHY復調部107bの機能ついては、既に説明したIrPHY層受信処理部306、IrPHY層フレーム解析部306aおよびIrPHY層復調部306bの機能と同様であるのでその説明を省略する。
そして、送信回路100に、次の2つの動作モードの切り替えを行なう送受信モード切替部(図示せず)を設ける。1つ目の動作モードは、送信要求処理部101と、OBEX層送信処理部102と、SMP層送信処理部103と、IrLMP層送信処理部104と、IrLAP層送信処理部105と、IrPHY層送信処理部106とを用いて送信回路として動作する送信動作モードであり、2つ目の動作モードは、IrPHY層送信処理部106およびIrPHY層受信処理部107を用いて、IrPHY層を処理する送受信回路として動作する送受信動作モードである。
このように構成すれば、送受信動作モードで動作するとき、IrLAP層からOBEX層の送受信処理を実行するような従来の送受信ソフトウェア(SW)250を用いて通信することができるようになる。すなわち、従来の双方向通信のソフトウェアにも対応可能となり、より互換性の高い送信回路100を提供することができる。
なお、送受信モード切替部(図示せず)における動作モードの選択操作は、ユーザの操作によって行なえるように構成してもよい。
なお、送信バッファ108において、送受信ソフトウェア(SW)250側から入力される送信データと、送受信ソフトウェア(SW)250側に出力する受信データとを一時的に保持しておく構成にしてもよい。また、このためのバッファを送信回路100に新たに設ける構成にしてもよい。
[受信回路の変形例]
次に、図13を用いて、受信回路300にIrPHY層の送信処理を行なう機能を追加し、以上で説明した受信回路300として動作する送信動作モードと、IrPHY層における送受信処理を行なう送受信回路として動作する送受信動作モードとを切り替え可能にした場合の例について説明する。
図12は、受信機器30が備える受信回路300の要部構成の変形例を示す機能ブロック図である。同図に示すように、本変形例では、図5で示した受信回路300に、IrPHY層送信処理部307を追加した構成となっている。すなわち、本変形例では、受信回路300にIrPHY層送信処理部307を追加することで、受信回路300がIrPHY層の送信処理を行なえるようにしている。なお、前述の構成と同様の機能を有する構成には同一の符号を付して、その説明を省略する。
IrPHY層送信処理部307は、IrPHY層フレーム生成部307aおよびIrPHY層変調部307bを備える。これら、IrPHY層送信処理部307、IrPHY層フレーム生成部307aおよびIrPHY層変調部307bの機能ついては、既に説明したIrPHY層送信処理部106、IrPHYフレーム生成部106aおよびIrPHY変調部106bの機能と同様であるのでその説明を省略する。
そして、受信回路300に、次の2つの動作モードの切り替えを行なう送受信モード切替部(図示せず)を設ける。1つ目の動作モードは、受信要求処理部301と、OBEX層受信処理部302と、SMP層受信処理部303と、IrLMP層受信処理部304と、IrLAP層受信処理部305と、IrPHY層受信処理部306とを用いて受信回路として動作する受信動作モードであり、2つ目の動作モードは、IrPHY層受信処理部306およびIrPHY層送信処理部307を用いて、IrPHY層を処理する送受信回路として動作する送受信動作モードである。
このように構成すれば、送受信動作モードで動作するとき、IrLAP層からOBEX層の送受信処理を実行するような従来の送受信SW250を用いて通信することができるようになる。すなわち、従来の双方向通信のソフトウェアにも対応可能となり、より互換性の高い受信回路300を提供することができる。
なお、送受信モード切替部(図示せず)における動作モードの選択操作は、ユーザの操作によって行なえるように構成してもよい。
なお、受信バッファ308において、送受信ソフトウェア(SW)250側に出力する受信データと、送受信ソフトウェア(SW)250側から入力される送信データとを一時的に保持しておく構成にしてもよい。また、このためのバッファを受信回路300に新たに設ける構成にしてもよい。
なお、本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明によると、情報機器間の片方向通信において、高速かつ安定した送受信処理を実現できる。このため、本発明に係る送信回路は、例えば携帯電話機、PDAなどの各種の情報機器に、広く好適に適用できる。また、本発明に係る受信回路は、例えばテレビ、DVDレコーダなどの各種の情報機器に、広く好適に適用できる。
本発明の実施の形態を示すものであり、送信機器が備える送信回路の要部構成を示す機能ブロック図である。 本実施の形態に係る赤外線通信システムの構成の概略を示すブロック図である。 送信要求処理部の動作の詳細について説明したフローチャートである。 送信回路がデータを送信する場合の流れを示したシーケンス図である。 本発明の実施の形態を示すものであり、受信機器が備える受信回路の要部構成を示す機能ブロック図である。 受信要求処理部の動作の詳細について説明したフローチャートである。 受信回路がデータを送信する場合の流れを示したシーケンス図である。 IrSS方式のプロトコルスタックについて示した説明図である。 IrSS方式による通信シーケンスについて示したシーケンス図である。 従来の送信機器が備える送信手段の要部構成を示す機能ブロック図である。 従来の受信機器が備える受信手段の要部構成を示す機能ブロック図である。 送信機器が備える送信回路の要部構成の変形例を示す機能ブロック図である。 受信機器が備える受信回路の要部構成の変形例を示す機能ブロック図である。
符号の説明
1 赤外線通信システム
10 送信機器
100 送信回路
101 送信要求処理部
102 OBEX層送信処理部(コマンド生成処理部)
102a OBEX送信制御部(コマンド生成処理部)
102b OBEX接続要求コマンド生成部(コマンド生成処理部)
102c OBEXデータ転送要求コマンド生成部(コマンド生成処理部)
102d OBEX切断要求コマンド生成部(コマンド生成処理部)
150 送信ソフトウェア(上位層)
30 受信機器
300 受信回路
301 受信要求処理部
302 OBEX層受信処理部(コマンド解析処理部)
302a OBEX受信制御部(コマンド解析処理部)
302b OBEX接続要求コマンド解析部(コマンド解析処理部)
302c OBEXデータ転送要求コマンド解析部(コマンド解析処理部)
302d OBEX切断要求コマンド解析部(コマンド解析処理部)
350 受信ソフトウェア(上位層)

Claims (8)

  1. 送信先の受信機器を特定するアドレスを含む、送信処理を開始するための接続要求コマンドと、分割した送信データを含むデータ転送要求コマンドと、送信処理を終了するための切断要求コマンドとを上記アドレスにより特定される受信機器に送信することによって、当該受信機器と片方向通信を行なう送信機器の送信回路であって、
    回路外部の上位層から上記送信データの送信処理を要求する送信要求を受信すると、
    上記接続要求コマンドを送信するためにOBEX(OBject EXchange protocol)層に送信要求通知を転送した後、OBEX層から接続完了が通知されるのを待ち続け、
    OBEX層から接続完了が通知されると、上記データ転送要求コマンドを送信するためにOBEX層にデータ転送要求通知を転送した後、OBEX層からデータ転送完了が通知されるのを待ち続け、
    OBEX層からデータ転送完了が通知されると、上記切断要求コマンドを送信するためにOBEX層に切断要求通知を転送した後、OBEX層から切断完了が通知されるのを待ち続ける送信要求処理部を備えたことを特徴とする送信回路。
  2. 記送信要求処理部から上記接続要求通知を受信したときに上記接続要求コマンドを生成し、当該送信要求処理部から上記データ転送要求通知を受信したときに上記データ転送要求コマンドを生成し、当該送信要求処理部から上記切断要求通知を受信したときに上記切断要求通知を生成するコマンド生成処理部を備えたことを特徴とする請求項1に記載の送信回路。
  3. 上記コマンド生成処理部は、上記データ転送要求コマンドを生成するときに、当該コマンド生成処理部の下位層において送信処理を行なうことが可能なデータサイズに上記送信データを分割することを特徴とする請求項2に記載の送信回路。
  4. 請求項1から3の何れか1項に記載の送信回路を備えたことを特徴とする送信機器。
  5. 送信機器から、送信先の受信機器を特定するためのアドレスを含む、当該送信機器が送信処理を開始するための接続要求コマンドと、当該送信機器によって分割された送信データを含むデータ転送要求コマンドと、当該送信機器が送信処理を終了するための切断要求コマンドとを受信することが可能であり、上記アドレスにより特定されて当該送信機器と片方向通信を行なうことが可能な受信機器の受信回路であって、
    上記接続要求コマンドの受信に応じてOBEX(OBject EXchange protocol)層から接続完了が通知されるのを待ち続け、
    OBEX層から接続完了が通知されると、上記データ転送要求コマンドの受信に応じたOBEX層からのデータ転送を受け付け、
    OBEX層からデータ転送完了が通知されると、上記切断要求コマンドの受信に応じてOBEX層からデータ切断完了が通知されるのを待ち受け、
    OBEX層からデータ切断完了が通知されると、回路外部の上位層に対して、当該データ転送要求コマンドに含まれる分割された送信データを順次転送するとともに、受信処理が完了したことを示す受信完了通知を転送する受信要求処理部を備えたことを特徴とする受信回路。
  6. 上記接続要求コマンド、上記データ転送要求コマンドおよび上記切断要求コマンドを解析し、各コマンドに応じて上記接続完上記データ転送完了および上記切断完了を生成し上記受信要求処理部に通知するコマンド解析処理部を備えたことを特徴とする請求項5に記載の受信回路。
  7. データ転送におけるエラーの有無を検出するエラー検出部を備え、
    上記エラー検出部がエラーを検出した場合には、エラー有りの通知を上記上位層に転送することを特徴とする請求項5または6に記載の受信回路。
  8. 請求項5から7の何れか1項に記載の受信回路を備えたことを特徴とする受信機器。
JP2008222867A 2008-08-29 2008-08-29 送信回路、送信機器、受信回路および受信機器 Expired - Fee Related JP4927048B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008222867A JP4927048B2 (ja) 2008-08-29 2008-08-29 送信回路、送信機器、受信回路および受信機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008222867A JP4927048B2 (ja) 2008-08-29 2008-08-29 送信回路、送信機器、受信回路および受信機器

Publications (2)

Publication Number Publication Date
JP2010057140A JP2010057140A (ja) 2010-03-11
JP4927048B2 true JP4927048B2 (ja) 2012-05-09

Family

ID=42072528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008222867A Expired - Fee Related JP4927048B2 (ja) 2008-08-29 2008-08-29 送信回路、送信機器、受信回路および受信機器

Country Status (1)

Country Link
JP (1) JP4927048B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7439717B2 (ja) 2020-09-30 2024-02-28 株式会社デンソー 車両システムにおける通信方法、および、車載ネットワークの通信管理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03143132A (ja) * 1989-10-30 1991-06-18 Nec Corp Isdnアクセス方式
JPH05284188A (ja) * 1991-01-08 1993-10-29 Nec Corp 文書通信方法
JP3815841B2 (ja) * 1997-03-28 2006-08-30 ローム株式会社 IrDA変復調IC
JP3732030B2 (ja) * 1998-12-25 2006-01-05 ローム株式会社 IrDA通信用IC
JP2001136225A (ja) * 1999-11-04 2001-05-18 Mikasa Shoji Co Ltd 送受信装置
KR100902341B1 (ko) * 2005-01-28 2009-06-12 샤프 가부시키가이샤 통신기기, 통신시스템, 통신방법, 통신 프로그램을 기록한 컴퓨터독취가능한 기록매체, 통신회로
JP4846398B2 (ja) * 2005-03-25 2011-12-28 サンデン株式会社 通信システム
JP4322879B2 (ja) * 2006-03-06 2009-09-02 サンデン株式会社 通信機器用の接続装置
JP2008306551A (ja) * 2007-06-08 2008-12-18 Sanden Corp 通信機器用の接続装置

Also Published As

Publication number Publication date
JP2010057140A (ja) 2010-03-11

Similar Documents

Publication Publication Date Title
JP5020494B2 (ja) 無線通信装置及びその制御方法
JP5100854B2 (ja) 通信装置、及び通信方法
JP4219950B2 (ja) 通信機器、通信方法、通信回路、携帯電話機、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体
US8634774B2 (en) Communication device and control method thereof
JP2008141252A (ja) 通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体
US20060142059A1 (en) Communication device, image-pickup device, storage medium and communication method
JP2008141253A (ja) 通信機器、通信方法、通信回路、通信システム、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体
JP5075032B2 (ja) 通信装置及び通信方法
JP3891156B2 (ja) 電子機器および通信制御方法
TWI634805B (zh) Wireless communication device and communication control device
EP1720328A1 (en) Apparatus and method for displaying information in Bluetooth communication mode of wireless terminal
CN113473006A (zh) 信息处理设备、图像拾取设备、信息处理系统、信息处理方法和非暂时性计算机可读介质
JP6287092B2 (ja) 情報処理装置および情報処理方法、撮像システム、並びにプログラム
JP2009194688A (ja) 画像転送装置、画像表示装置、画像表示システム、画像データの転送方法、画像表示方法、およびコンピュータプログラム
JP5690457B1 (ja) 無線通信システム及び通信方法
WO2007023888A1 (ja) 赤外線通信装置及び赤外線通信方法
US9369637B2 (en) Wireless terminals and wireless system using three different attributes
JP4927048B2 (ja) 送信回路、送信機器、受信回路および受信機器
JP2014207650A (ja) 無線通信端末、及びプログラム
US11095939B2 (en) Image display device and system thereof
JP2009004965A (ja) 携帯端末装置
US20150002742A1 (en) Electronic device and communication method
JP2010114606A (ja) 無線送受信装置、そのモード設定方法及びプログラム
CN101582965A (zh) 发送设备及其控制方法和信息通信系统
US9955063B2 (en) Imaging system and imaging terminal

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111021

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120208

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4927048

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees