本発明の実施形態について説明すれば、以下の通りである。なお、以下の実施の形態では、赤外線によりデータを転送する転送方式(伝送方式)を例示して説明するが、本発明は、必ずしもこれに限らず、例えば、赤外線以外の光を用いる光伝送でもよく、また、他の無線通信方式にも適用できる。
〔実施の形態1〕
本発明の実施形態1について、図1から図28に基づいて説明する。
本実施の形態のデータ転送システムは、図2に示すように、携帯電話などの第1機器としての携帯機器と表示装置(例えばTV)などの第2機器としての電子装置とから構成され、携帯機器の記録媒体に記録されている任意の例えば映像ファイル、画像データ、番組情報および文書データ(以下、単に「データ」という)などのファイルを選択し、電子装置の赤外線インターフェースに向けて送信する一方、該電子装置はその受信したデータを受け取るものである。
なお、この電子装置は、表示装置に限らず、例えば、図3に示す印刷装置、図4に示す例えばDVD(Digital Video Disk)レコーダ、CD(Compact Disk)レコーダ、HDD(Hard Disk Drive: ハードディスク)レコーダ、ビデオデッキなど記録装置、図5に示すパーソナルコンピュータ、および図6に示す他の記録媒体を有する携帯電話などの携帯機器にも適用が可能である。また、電子装置としては、表示装置、印刷装置、記録装置に接続される通信インタフェース装置(ドングル)も含まれる。
また、第1機器は、本実施の形態では、携帯電話などの携帯機器としているが、かならずしもこれに限らず、第1機器も表示装置、印刷装置、記録装置、パーソナルコンピュータなどの記録媒体を有する電子装置とすることが可能である。
次に、本実施形態における携帯機器と電子装置とにおけるデータ転送処理について、図7に示すシーケンス図を参照しながら説明する。
本実施形態では、図7に示すように、局発見コマンドであるXIDコマンド/レスポンスのパケット交換の代わりに、受信する機器をユーザが認識し送信操作を行なうことにより、例えば、携帯機器と通信する相手機器である電子装置を決めることができる。すなわち、通信開始時に相手機器のサーチと、相手機器との接続に必要なコマンド(コネクションコマンド)のやりとりとを同一のコネクトパケット(接続パケット)(図中、SNRMコマンド)で行なうことによって、局発見コマンドのパケット交換を省略し、ファイルの通信にかかる時間を短縮する。具体的には、IrDAプロトコルによる局発見にかかる時間は、通常3〜4秒程度であるため、ファイルの通信にかかる全体の時間をその分短縮している。
このように、ファイルを送ることのみ行うような場合には、ファイルを送るために必要なパラメータを予め決めておくことができる。
具体的には、1フレーム当たりのデータサイズや最大/最小ターンアラウンドタイムなどを予め決めておく。これにより、携帯機器は予め決められた値から変更したいパラメータのみを記述した宣言したコネクトパケット(接続パケット)を出力し、電子装置では記述されていない場合には予め決められた値であると認識し、自機のパラメータと照合してネゴシエートしたパラメータを記述したレスポンスで返す。電子装置でも予め決められた値と同一であればレスポンスにそのパラメータを記述しなくてもよい。携帯機器はその受け取ったレスポンスで、記述されていない場合には、予め決められた値であると認識して、そのパラメータで通信を行うことが可能となる。
また、例えば、携帯機器は、電子装置のレスポンスを必要としないというパラメータを入れたコネクトパケットを出力してもよい。コネクションコマンドを受信した電子装置はコマンドレスポンスを返さずに、その宣言されたパラメータをもってデータを受け入れる準備を行う。
その後、携帯機器は、転送指示された映像データなどを含むデータパケット(Iフレーム)を電子装置に送信する。そして、電子装置は、コネクトパケットにより設定されたパラメータを用いて、データパケットを受信し、当該データパケットに対する所定の処理(例えば、表示処理など)を行う。
(送信機器の構成)
次に、上記携帯機器が備える、上記コネクトパケットおよびデータパケットの送信を行うための送信機器の構成について説明する。この送信機器1は、図8に示すように、CPU11と、メモリ12と、コントローラ13と、送信部14とを備える。また、コントローラ13は、制御部131と、コネクトパケット生成部132と、データパケット生成部133と、誤り検出訂正符号付加部134とを備える。
CPU11は、図示しない操作部に入力された利用者の指示に応じて、所定の演算処理を行うものである。所定の演算処理としては、転送データの転送処理がある。CPU11は、操作部から転送データの転送指示を受けると、転送すべき転送データをメモリ12に格納するとともに、制御部131に対して転送要求を行う。また、CPU11は、制御部131から転送データの送信終了を表す送信終了通知を受けると、転送処理を完了する。
メモリ12は、転送すべき転送データを1次記憶するものであり、CPU11により転送データが書き込まれるものである。
制御部131は、CPU11から転送要求を受けると、コネクトパケット生成部132に対してコネクトパケットを生成させる。さらに、制御部131は、メモリ12から転送データを読み出し、読み出した転送データをデータパケット生成部133に送るとともに、データパケット生成部133に対してデータパケットを生成させる。このとき、制御部131は、データパケット生成部133が生成するパケット長やパケット間隔を制御する。なお、制御部131は、後述する誤り検出訂正符号付加部により検出できるデータ容量から求められる最大パケット長以下でパケット長を制御する。また、制御部131は、コネクトパケットおよびデータパケットの通信速度を制御する。
また、制御部131は、メモリ12から読み出した転送データに対応する全てのデータパケットが送信部14から送信されたことを検知して、転送データの送信が終了したことを表す送信終了通知をCPU11に送る。
コネクトパケット生成部132は、データを送信する相手先である電子装置とのコネクション確立に必要なパラメータを含むコネクトパケットを生成するものである。ここで、コネクション確立に必要なパラメータとは、データ転送速度、パケットデータサイズ、ウィンドウサイズ(連続して送信可能なパケット数)、ターンアラウンドタイム(データを受信してから返信するまでの時間)の最大値および最小値、Additional BOFの数、リンクの切断までの時間である。なお、これらは、IrDAの通信プロトコルで規定されている階層のうち、LAP層で規定されているパラメータである。本実施形態のコネクトパケット生成部は、LAP層以外にも、上位層(LMP層、TTP層、OBEX層)の接続確立のために必要なパラメータをも含むコネクトパケットを生成するものとする。コネクトパケット生成部132は、生成したコネクトパケットを誤り検出訂正符号付加部134に出力する。
なお、コネクトパケット生成部132が生成したコネクトパケットの転送速度は、制御部131により制御される。本実施形態では、制御部131は、コネクトパケットの転送速度を、9600bpsに制御する。
ここで、各コネクトパケットは、図9に示されるように、BOF(ビギンオブフレーム)41、データ(DATA)部42、CRC43、EOF(エンドオブフレーム)44を含んでいる。コネクション確立に必要なパラメータはデータ部42に含まれている。
BOF41は、パケットの開始を示す情報を含むものである。
データ(DATA)部42は、接続を確立するためのパラメータを含むものであり、図10に示されるように、アドレスフィールド421、制御フィールド422およびデータフィールド423を含む。CRC43は、後述するように、誤り検出訂正付加部134によって付加された誤り検出符号(または訂正符号)(以下、冗長コードという場合がある)および訂正符号を含むものである。EOF44は、パケットの終了を示す情報を含むものである。
また、コネクトパケットは、図11に示されるように、IrDAのSNRMコマンドとともに、上位層の接続確立のために必要な上位層データも含んでいる。
データパケット生成部133は、制御部131から受けた転送データを分割して、複数のデータパケットを生成する。このとき、データパケット生成部133は、制御部131から受けたパケット長になるように、転送データを分割し、分割データ(1)…(N)を生成する。そして、データパケット生成部133は、各分割データを情報として含むデータパケットを生成する。すなわち、データパケット生成部133は、分割データ(1)を含むデータパケット(1)、…、分割データ(N)を含むデータパケット(N)を生成する。
なお、データパケット生成部133が生成したデータパケットの転送速度は、制御部131により制御される。本実施形態では、制御部131は、コネクトパケットの転送速度を、4Mbpsに制御する。
データパケット生成部133は、生成した複数のデータパケットを誤り検出訂正符号付加部134に送る。このとき、データパケット生成部133は、各データパケット間の時間間隔を、制御部131から受けたパケット間隔になるようにする。
ここで、各データパケットは、図12で示したように、プリアンブルフィールド(PA)51と、スタートフラグ(STA)52と、制御フィールド531およびデータフィールド532を含むデータ(DATA)部53と、CRC54と、ストップフラグ(STO)55とを含んでいる。
また、データフィールド532aには、上位層(IrDAの場合には、LMP層、TTP層、OBEX層、IrSimpleの場合には、LMP層、SMP層、OBEX層)のための上位層データ532aが含まれている。なお、上位層データ532aは、各通信層に対して階層構造となっている。
当該上位層データ532aは、ある上位層において(例えば、IrSimpleの場合にはSMP層)、図13(a)または図13(b)のいずれかに示されるように、分割データの順番であるシーケンスナンバーが記載されたシーケンスナンバーフィールド532bと、さらに上の上位層用のデータフィールドとを有している。なお、1番目の分割データ(1)に対して、始まりを示すシーケンスナンバー「0」がつけられる。また、2〜N−1番目の分割データに対して、1〜N−2の連番のシーケンスナンバーがつけられる。
ここで、上位層データ532aが図13(a)で示されるようなフィールド構成を有している場合には、最後の分割データ(終わりの分割データ)に対して、終わりのデータパケットを示すシーケンスナンバー「N」が付けられる。
一方、上位層データ532aが図13(b)で示されるようなフィールド構成を有している場合には、最後の分割データ(終わりの分割データ)に対して、終わりか否かを示すLastフィールド532cのフラグを「1」とし、それ以外の分割データに対しては、Lastフィールド532cのフラグを「0」とする。
これにより、受信機器は、終わりの分割データの受信の有無を確認することができる。
誤り検出訂正符号付加部134は、コネクトパケット生成部132およびデータパケット生成部133で生成されたパケットに対して、エラーを検出するための誤り検出符号(または訂正符号)を付加して、後段の送信部14に送る。誤り検出訂正符号付加部134は、誤り検出符号(または訂正符号)を、各パケット内の上記CRC43・54に付加する。
なお、誤り検出符号は、例えば、CRC(Cyclic Redundancy Check)符号などの巡回符号であり、訂正符号は、例えば、パリティ検査符号、ハミング符号、リードソロモン符号などのBCH符号などである。なお、CRC符号は或る定められた長さを持っており、その長さによりエラーを検出できるデータ量が限られる。具体的には、CRC符号は16ビット、32ビットなどの長さを持っており、その長さによって例えば16ビットであれば2048バイトまでのデータの中にある1ビットのエラーを100%検出することができる。
送信部14は、赤外線通信路を介して、コントローラ13から受信した複数のパケットを所定の時間間隔で外部に送信する。
なお、送信部14は、上述したように、コネクトパケットを通信速度96000bpsで送信し、データパケットをコネクトパケットよりも速い通信速度4Mbpsで送信する。
また、送信部14は、コネクトパケットを送信する前に、Additional BOFを送信し、データパケットを送信する前に、同期をとるためのパルス列を送信する。なお、送信部14は、当該Additional BOFについても、通信速度9600bpsで送信する。
受信機器は、省電力モード移行時において、突然送信されたBOFを受信できない場合がある。しかしながら、上記Additional BOFがBOFの前に送信されるため、受信機器は、安定してBOFを受信することができる。すなわち、Additional BOFは、受信機器を安定させるためのパルス列である。
(受信機器の構成)
コネクトパケットおよびデータパケットを受信する電子装置は、図1に示されるように、受信機器2とユーザインターフェース3とを備える。
ユーザインターフェース3は、例えば、液晶ディスプレイなどの表示部である。
受信機器2は、コネクトパケットおよびデータパケットの受信処理を行うものである。受信機器2は、図1に示されるように、受信部21と、エラー状況判別部(第1判別手段、第2判別手段)22と、パケット処理部23と、制御部24と、エラー原因判別部(通知情報読出手段)25と、エラー原因テーブル記憶部(通知情報テーブル)26と、エラー原因出力部(通知情報出力手段)27とを備える。
受信部21は、携帯機器から送信されたコネクトパケットおよびデータパケットを受信するものである。
エラー状況判別部22は、コネクトパケットおよびデータパケットの各々について、受信状況が所定の受信失敗パターンを満足するか否かに応じて、受信に成功したか失敗したかを判別し、その旨を示す第1エラー信号および第2エラー信号を生成するものである。エラー状況判別部22は、誤り検出符合(冗長コード)で誤りが検出されない(もしくは、エラーレートが所定閾値以下の)コネクトパケットおよびデータパケットを、パケット処理部23に出力する。なお、エラー状況判別部22の詳細な構成については後述する。
なお、エラー状況判別部22は、受信状況が以下の第1受信失敗パターンを満足する場合に第1エラー信号を生成する。
(1)第1受信失敗パターンCo1:コネクトパケットの通信速度のパルスを3個以上受信したものの、当該パルスを受信した後、所定時間内に、コネクトパケットが示すパラメータを上位層が認識していない場合。この場合に対応する第1エラー信号を<Co2>とする。
なお、ここでパルスを3個以上としているのは、自然界において、偶然に同じ現象が起きる確立は3回以上になると急激に低下することに基づく。
(2)第1受信失敗パターンCo2:コネクトパケットの前に送信されるAdditional BOFのパルス列を3個以上受信したものの、規定された数のAdditional BOFを受信していない、または、コネクトパケットを構成するBOF41、データ部42、CRC43、EOF44のうち少なくとも1つを受信していない場合。この場合に対応する第1エラー信号を<Co2>とする。
(3)第1受信失敗パターンCo3:コネクトパケットを受信したものの、冗長コードによりエラーが検出された受信状況である場合。この場合に対応する第1エラー信号を<Co3>とする。
なお、エラー状況判別部22は、コネクトパケットを正常に受信している場合には、第1エラー信号<Co0>を生成するものとする。
また、エラー状況判別部22は、受信状況が以下の第2受信失敗パターンを満足する場合に第2エラー信号を生成する。
(1)第2受信失敗パターンDa1:データパケットの通信速度のパルスを3個以上受信したものの、データパケットの同期をとるための特定パルス列、データパケットを構成する上記STA52、データ部53、CRC54、STO55の少なくとも1つを受信していない場合。この場合に対応する第2エラー信号を<Da1>とする。
(2)第2受信失敗パターンDa2:データパケットを受信したものの、冗長コードによりエラーレートが所定閾値以上であることが検出された場合。この場合に対応する第2エラー信号を<Da2>とする。
(3)第2受信失敗パターンDa3:始まりを示すシーケンスナンバー「0」に対応する分割データが欠落している場合。この場合に対応する第2エラー信号を<Da3>とする。
(4)第2受信失敗パターンDa4:不連続のシーケンスナンバーに対応する途中の分割データ(途中の分割データとは、始まりおよび終わりの分割データ以外の分割データをいう)が欠落している場合。この場合に対応する第2エラー信号を<Da4>とする。
(5)第2受信失敗パターンDa5:1つの途中の分割データ、または、連続したシーケンスナンバーに対応する途中の分割データが欠落している場合。この場合に対応する第2エラー信号を<Da5>とする。
(6)第2受信失敗パターンDa6:終わりを示すシーケンスナンバー「N」に対応する分割データが欠落している場合、もしくは、終わりか否かを示すフィールドが終わりであることを示している分割データが欠落している場合。この場合に対応する第2エラー信号を<Da6>とする。
(7)第2受信失敗パターンDa7:上記Da3〜6のうちの少なくとも2つの状態が発生している場合。この場合に対応する第2エラー信号を<Da7>とする。
なお、エラー状況判別部22は、一連のデータパケットの全てを正常に受信している場合には、第2エラー信号<Da0>を生成するものとする。
パケット処理部23は、エラー状況判別部22から受けたコネクトパケットおよびデータパケットに対する所定の処理を行うものである。すなわち、パケット処理部23は、コネクトパケットのデータ部42からコネクションコマンドを読み出し、読み出したコネクションコマンドを制御部24に出力する。
また、パケット処理部23は、データパケットからデータ部53(図12参照)を読み出し、制御部24に出力するものである。
ここで、パケット処理部23は、IrDAのPHY層およびLAP層のデータ処理のみを行い、上位層のデータを制御部24に送る。
制御部24は、パケット処理部23から受けたコネクションコマンドおよびデータに応じた所定の処理を行うものである。
すなわち、制御部24は、パケット処理部23から受けたコネクションコマンドに含まれる各通信層のパラメータを、対応する層に認識させる。このとき、制御部24は、全ての通信層においてパラメータを認識できた場合、その旨を示す上位層正常認識通知をエラー状況判別部22に出力する。
そして、制御部24は、コネクションコマンドが示すパラメータに従って、データパケットに含まれるデータを受け入れる準備を行う。
また、制御部24は、パケット処理部23から受けたデータを、図示しないメモリに書き込み、図示しないCPUに対して受信完了通知を行う。
制御部24は、上位層(IrDAの場合には、LMP層、TTP層、OBEX層、IrSimpleの場合には、LMP層、SMP層、OBEX層)のデータ処理を行う。
このとき、制御部24は、データパケットの上位層データ532a(図12参照)から、各データに対応するシーケンスナンバーを読み出し、当該シーケンスナンバーを管理する。なお、上位層データ532aが図13(b)に示すフィールド構成を有している場合には、制御部24は、Lastフィールド532cに記述された、終わりか否かを示すフラグをチェックする。
そして、制御部24は、(a)始まりを示すシーケンスナンバー「0」に対応するデータが欠落している場合には、その旨を示すシーケンスナンバー異常信号<Se1>を、(b)途中のシーケンスナンバーに対応するデータのうち、不連続のシーケンスナンバーのデータが欠落している場合には、その旨を示すシーケンスナンバー異常信号<Se2>を、(c)途中のシーケンスナンバーに対応するデータのうち、1または連続するシーケンスナンバーのデータが欠落している場合には、その旨を示すシーケンスナンバー異常信号<Se3>を、(d)終わりを示すシーケンスナンバー「N」に対応するデータが欠落している場合、もしくは、終わりを示すフラグ(すなわち、図13(b)に示したLastフィールド532cのフラグ「1」)に対応するデータが欠落している場合には、その旨を示すシーケンスナンバー異常信号<Se4>を、エラー状況判別部22に出力する。
エラー原因テーブル記憶部26は、<Co0>を除く上記第1エラー信号と、当該第1エラー信号が示すエラー状況に対応する原因を示す原因情報とを対応付けた第1エラー原因テーブルと、第1エラー信号が<Co0>における、各第2エラー信号と、当該第2エラー信号が示すエラー状況に対応する原因を示す原因情報とを対応付けた第2エラー原因テーブルとを記憶するものである。
図14は、エラー原因テーブル記憶部26が記憶する第1エラー原因テーブルの一例を示す図である。図14に示されるように、第1エラー原因テーブルは、<Co1>〜<Co3>の各々と、原因情報とを対応付けている。ここでは、<Co1>が最も受信状態がよくないものであるため、<Co1>に対応して、原因情報「距離が遠い(レベル3)」が設定されている。
同様に、エラー原因テーブル記憶部26は、図15に示されるような第2エラー原因テーブルを記憶している。
エラー原因判別部25は、エラー状況判別部22から受けた第1エラー信号および第2エラー信号に対応する原因情報をエラー原因テーブル記憶部26から読み出し、読み出した原因情報をエラー原因出力部27に出力するものである。
具体的には、エラー原因判別部25は、<Co0>以外の第1エラー信号を受けた場合、エラー原因テーブル記憶部26が記憶する第1エラー原因テーブルから、当該第1エラー信号に対応する原因情報を読み出す。また、エラー原因判別部25は、第1エラー信号<Co0>を受け、かつ、<Da0>以外の第2エラー信号を受けた場合、エラー原因テーブル記憶部26が記憶する第2エラー原因テーブルから、当該第2エラー信号に対応する原因情報を読み出す。そして、エラー原因判別部25は、読み出した原因情報をエラー原因出力部27に出力する。
エラー原因出力部27は、エラー原因判別部25から受けた原因情報をユーザインターフェース3に出力し、ユーザに対して、エラー原因を通知するものである。例えば、エラー原因出力部27は、ユーザインターフェイス3である表示部に原因情報を表示させる。
(エラー状況判別部の構成)
図16は、エラー状況判別部22の内部構成を示すブロック図である。エラー状況判別部22は、コネクトパケットの受信エラー状況を判別するコネクトパケット判別部(第1判別手段)31と、データパケットの受信エラー状況を判別するデータパケット判別部(第2判別手段)32とを備えている。
(コネクトパケット判別部について)
コネクトパケット判別部31は、パルス検出部(第1パルス検出手段)311と、特定パルス列・パケット異常検出部(特定パルス列検出手段)312と、誤り検出部313と、パケット出力部314と、第1エラー信号生成部315と、タイマ316・317とを備えている。
パルス検出部311は、コネクトパケットの通信速度である9600bpsに対応するパルスを3個以上検出した場合に、その旨を示すパルス検出信号を第1エラー信号生成部315に出力するものである。
特定パルス列・パケット異常検出部312は、コネクトパケットの前に送信されるAdditional BOFに対応する特定パルス列を3個検出した場合に、当該検出後の所定時間内に、規定された数のAdditional BOF、および、コネクトパケットを構成するBOF41、データ部42、CRC43、EOF44(図9参照)の各々を受信したか否かを判断するものである。なお、特定パルス列・パケット異常検出部312は、タイマ317を用いて、上記所定時間を計測する。
特定パルス列・パケット異常検出部312は、所定時間内に、規定された数の特定パルス列、または、コネクトパケットを構成するBOF41、データ部42、CRC43、EOF44のいずれかを受信できない場合、その旨を示す特定パルス列・パケット異常検出信号を第1エラー信号生成部315に出力する。
特定パルス列・パケット異常検出部312は、所定時間内に、規定された数のAdditional BOF、および、コネクトパケットを構成する全てのフィールドを受信した場合、受信したコネクトパケットを誤り検出部313に出力する。
誤り検出部313は、コネクトパケットのCRC43から誤り検出符号(冗長コード)を読み出し、読み出した冗長コードを用いて、コネクトパケットのデータ部42における誤りを検出するものである。誤り検出部313は、冗長コードにより誤りを検出した場合、その旨を示す誤り検出信号を第1エラー信号生成部315に出力する。また、誤り検出部313は、特定パルス列・パケット異常検出部312から受けたコネクトパケットをパケット出力部314に出力する。
パケット出力部314は、誤り検出部313から受けたコネクトパケットについて、誤り検出部313にて誤りが検出されない場合、当該コネクトパケットをパケット処理部23に出力する。一方、パケット出力部314は、誤り検出部313にて誤りが検出された場合、当該コネクトパケットを破棄する。
第1エラー信号生成部315は、コネクトパケットの受信エラー状況を示す第1エラー信号を生成するものである。上述したように、本実施形態において、第1エラー信号には、<Co0>〜<Co3>がある。
なお、第1エラー信号生成部315は、上述したように、パルス検出部311からパルス検出信号を、特定パルス列・パケット異常検出部312から特定パルス列・パケット異常検出信号を、誤り検出部313から誤り検出信号を、制御部24から上位層正常認識通知を受けることができる。
第1エラー信号生成部315は、パルス検出部311からパルス検出信号を受けると、タイマ316をリセットし、所定時間内に、制御部24から上位層正常認識通知を取得したか否かを判断する。上位層正常認識通知を受けた場合、第1エラー信号生成部315は、コネクトパケットを正常に受信し、上位層にてコネクトパケットが認識されたことを示す第1エラー信号<Co0>を生成する。
一方、上位層正常認識通知を所定時間内に受けない場合、第1エラー信号生成部315は、受信状況が上記第1受信失敗パターンCo1を満足すると判断して、第1エラー信号<Co1>を生成する。
また、第1エラー信号生成部315は、特定パルス列・パケット異常検出部312から特定パルス列・パケット異常検出信号を受けた場合、受信状況が上記第1受信失敗パターンCo2を満足すると判断して、第1エラー信号<Co2>を生成する。
さらに、第1エラー信号生成部315は、誤り検出部313から、誤り検出信号を受けた場合、受信状況が上記第1受信失敗パターンCo3を満足すると判断して、第1エラー信号<Co3>を生成する。
そして、第1エラー信号生成部315は、生成した第1エラー信号をエラー原因判別部25に出力する。ただし、第1エラー信号生成部315は、複数の第1エラー信号を生成した場合、<Co3>,<Co2>,<Co1>の順に優先度を付け、優先度の高い第1エラー信号を出力する。例えば、第1エラー信号生成部315は、第1エラー信号<Co2>,<Co1>を生成した場合、優先度の高い<Co2>を出力する。
(データパケット判別部について)
次に、データパケット判別部32について説明する。データパケット判別部32は、パルス検出部(第2パルス検出手段)321、特定パルス列・パケット異常検出部322、誤り検出部323、パケット出力部324、第2エラー信号生成部325、およびタイマ326を備えている。
パルス検出部321は、通信速度4Mbpsに対応する周波数のパルスを検出するものであり、当該パルスを3個以上受信した場合、パルス検出信号を第2エラー信号生成部325および特定パルス列・パケット異常検出部322に出力する。
特定パルス列・パケット異常検出部322は、データパケットに対応する同期を取るためのパルス列、およびデータパケットを構成するSTA52、データ部53、STO55(図12参照)の受信の有無を検出するものである。
具体的には、特定パルス列・パケット異常検出部322は、パルス検出信号を受けると、タイマ236をリセットし、所定時間内に、同期を取るためのパルス列、およびデータパケットを構成するSTA52、データ部53、STO55(図12参照)を受信しているか否かを判断する。受信していない場合、特定パルス列・パケット異常検出部322は、その旨を示す特定パルス列・パケット異常検出信号を第2エラー信号生成部325に出力する。一方、受信している場合、特定パルス列・パケット異常検出部325は、受信したデータパケットを誤り検出部323に出力する。
誤り検出部323は、データパケットのCRC54に含まれる誤り検出符号と、受信したパケット数の関係から、送信されたデータのエラーレートを算出する(推測する)。
例えば、誤り検出部323は、誤り検出符号を用いて、誤りが検出されたデータパケット数と、受信したデータのビット総数とからエラーレート(=(誤りが検出されたデータパケット数)/(ビット総数))を算出する。
そして、誤り検出部323は、算出したエラーレートが所定閾値より大きい場合に、その旨を示す誤り検出信号を第2エラー信号生成部325に出力する。また、誤り検出部323は、特定パルス列・パケット異常検出部322から受けたデータパケットをパケット出力部324に出力する。
ここで、誤り検出部323は、エラーレートが10の−8乗以上である場合に、誤り検出信号を出力することが好ましい。10の−8乗は、IrDAにおいて100cmまで最大4Mbpsの通信が可能であると規定されているエラーレートである。これにより、データ転送の異常の発生の有無を正確に判断することができる。
パケット出力部324は、誤り検出部323から受けたデータパケットについて、誤り検出部323にて算出されたエラーレートが上記所定閾値未満である場合、当該データパケットをパケット処理部23に出力し、誤り検出部323にて算出されたエラーレートが上記所定閾値以上である場合、当該データパケットを破棄するものである。
第2エラー信号生成部325は、一連のデータパケットの受信エラー状況を示す第2エラー信号を生成し、生成した第2エラー信号をエラー原因判別部25に出力するものである。
なお、第2エラー信号生成部325は、パルス検出部321からパルス検出信号を、特定パルス列・パケット異常検出部322から特定パルス・パケット異常検出信号を、誤り検出部323から誤り検出信号を受けることができるとともに、制御部24からシーケンスナンバー異常信号を受けることができる。
第2エラー信号生成部325は、パルス検出部321からパルス検出信号を取得すると、第2エラー信号の生成処理を開始する。
すなわち、第2エラー信号生成部325は、パルス検出信号を受けた後、特定パルス列・パケット異常検出部322から特定パルス・パケット異常検出信号を受けた場合、受信状況が上記第2受信失敗パターンDa1を満足すると判断して、第2エラー信号<Da1>を生成する。
また、第2エラー信号生成部325は、パルス検出信号を受けた後、誤り検出部323から誤り検出信号を受けた場合、受信状況が上記第2受信失敗パターンDa2を満足すると判断して、第2エラー信号<Da2>を生成する。
また、第2エラー信号生成部325は、パルス検出信号を受けた後、制御部24からシーケンスナンバー異常信号を受けた場合、当該シーケンスナンバー異常信号に応じた第2エラー信号を生成する。
(受信機器におけるコネクトパケットおよびデータパケットの受信処理)
次に、受信機器2におけるコネクトパケットおよびデータパケットの受信処理全体の流れについて図17のフローチャートを参照しながら説明する。
まず、受信部21は、送信機器1から送信される信号の受信の有無を判断する(S1)。受信信号がない場合(S1でNo)、再度S1の処理に戻る。
受信信号がある場合(S1でYes)、コネクトパケット判別部31のパルス検出部311は、受信信号に、コネクトパケットの通信速度に対応する周波数のパルスが3個以上含まれるか否かを判断する(S2)。
コネクトパケットの通信速度に対応する周波数のパルスが3個以上受信信号に含まれない場合(S2でNo)、S1の処理に戻る。
一方、コネクトパケットの通信速度に対応する周波数のパルスが3個以上受信信号に含まれる場合(S2でYes)、コネクトパケット判別部31の特定パルス列・パケット異常検出部312および誤り検出部313は、コネクトパケットに関する受信エラーの検出処理を行う(S3)。なお、S3のコネクトパケットの受信エラーの検出処理の流れについては後述する。
その後、第1エラー信号生成部315は、第1エラー信号の生成処理を行う(S4)。当該第1エラー信号の生成処理の詳細についても後述する。
ここで、第1エラー信号がコネクトパケットに関して何らかの受信エラーが生じていることを示す場合(S5でYes)、S13の処理に移行する。一方、第1エラー信号がコネクトパケットに関して受信エラーが生じていないことを示す場合(S5でNo)、制御部24は、受信したコネクトパケットが示すパラメータに従って、データパケットの受信準備を行う(S6)。
続いて、受信部21は、送信機器1から送信される信号の受信の有無を判断する(S7)。受信信号がない場合(S7でNo)、再度S7の処理に戻る。
受信信号がある場合(S7でYes)、データパケット判別部32のパルス検出部321は、受信信号に、データパケットの通信速度に対応する周波数のパルスが3個以上含まれるか否かを判断する(S8)。
データパケットの通信速度に対応する周波数のパルスが3個以上受信信号に含まれない場合(S8でNo)、S2の処理に戻る。
一方、データパケットの通信速度に対応する周波数のパルスが3個以上受信信号に含まれる場合(S8でYes)、データパケット判別部32の特定パルス列・パケット異常検出部322および誤り検出部323、ならびに、制御部24は、データパケットに関する受信エラーの検出処理を行う(S9)。なお、S9のデータパケットの受信エラーの検出処理の流れについては後述する。
その後、第2エラー信号生成部325は、第2エラー信号の生成処理を行う(S10)。当該第2エラー信号の生成処理の詳細についても後述する。
ここで、第2エラー信号がデータパケットに関して何らかの受信エラーが生じていることを示す場合(S11でYes)、S13の処理に移行する。一方、第2エラー信号がデータパケットに関して受信エラーが生じていないことを示す場合(S11でNo)、制御部24は、受信したデータパケットに含まれるデータを図示しないメモリに格納し、図示しないCPUに受信完了通知を出力する。その後、CPUは、データパケットに含まれるデータに対して所定の処理を行う(S12)。
一方、S13において、エラー原因判別部25およびエラー原因出力部27は、エラーの原因をユーザに通知する処理を行う。なお、S13の詳細については後述する。
(コネクトパケットの受信エラーの検出処理)
次に、上記S3で示したコネクトパケットにおける受信エラーの検出処理の流れについて、図18に示すフローチャートを参照しながら説明する。
まず、特定パルス列・パケット異常検出部312は、Additional BOFに対応するパルス列を3個以上受信したか否かを判断する(S21)。Additional BOFに対応するパルス列を3個以上受信していない場合(S21でNo)、再度S21の処理を繰り返す。
一方、Additional BOFに対応するパルス列を3個以上受信したことを検出した場合(S21でYes)、特定パルス列・パケット異常検出部312は、規定された数のAdditional BOFの受信の有無を判断する(S22)。続けて、特定パルス列・パケット異常検出部312は、コネクトパケットを構成するBOF41、データ部42、EOF43の受信の有無を判断する(S23,S24)。
規定された数のAdditional BOFの受信が検出されない場合(S22でNo)、または、コネクトパケットを構成するBOF41、データ部42、EOF43のうち少なくとも1つの受信が検出されない場合(S23,S24のうちいずれかでNo)、特定パルス列・パケット異常検出部312は、Additional BOF、BOF41、データ部42、EOF43のうち少なくとも1つの受信失敗が生じたことを示す特定パルス列・パケット異常信号を生成し、第1エラー信号生成部315に出力する(S25)。そして、処理を終了する。
一方、規定された数のAdditional BOF、BOF41、データ部42およびEOF43の全てを受信した場合(S24でYes)、特定パルス列・パケット異常検出部312は、受信したコネクトパケットを誤り検出部313に出力する。そして、誤り検出部313は、コネクトパケットに含まれるCRC43から冗長コードを読み取り、当該冗長コードを用いて、コネクトパケットのデータ部42に誤りが発生しているか否かを判断する(S26)。
冗長コードにより誤りが検出された場合(S26でYes)、誤り検出部313は、その旨を示す誤り検出信号を第1エラー信号生成部315に出力する(S27)。その後、パケット出力部314は、誤り検出部313から受けたコネクトパケットを破棄する(S28)。そして、処理を終了する。
一方、冗長コードにより誤りが検出されない場合(S26でNo)、パケット出力部314は、誤り検出部313から受けたコネクトパケットを、パケット処理部23に出力する(S29)。そして、処理を終了する。
(第1エラー信号の生成処理)
次に、上記S4で示した第1エラー信号の生成処理の流れについて、図19に示すフローチャートを参照しながら説明する。
まず、第1エラー信号生成部315は、パルス検出部311からパルス検出信号を受けると、タイマ316をリセットする(S31)。
その後、第1エラー信号生成部315は、特定パルス列・パケット異常検出部312から特定パルス列・パケット異常検出信号を受けたか否かを判断する(S32)。
特定パルス列・パケット異常検出信号を受けた場合(S32でYes)、第1エラー信号生成部315は、受信状況が上記第1受信失敗パターンCo2を満たすと判断して、第1エラー信号<Co2>を生成する(S33)。その後、S34の処理に移行する。一方、特定パルス列・パケット異常検出信号を受けない場合にも(S32でNo)、S34の処理に移行する。
次に、S34において、第1エラー信号生成部315は、誤り検出部313から誤り検出信号を受けたか否かを判断する。
誤り検出信号を受けた場合(S34でYes)、第1エラー信号生成部315は、受信状況が上記第1受信失敗パターンCo3を満たすと判断して、第1エラー信号<Co3>を生成する(S35)。その後、S36の処理に移行する。一方、誤り検出信号を受けない場合にも(S35でNo)、S36の処理に移行する。
次に、S36において、第1エラー信号生成部315は、パルス検出信号を受けてから所定時間内に、制御部24から上位層正常認識通知を受けたか否かを判断する。
上位層正常認識通知を受けない場合(S36でNo)、第1エラー信号生成部315は、受信状況が上記第1受信失敗パターンCo1を満たすと判断して、第1エラー信号<Co1>を生成する(S37a)。一方、上位層正常認識通知を受けた場合(S36でYes)、第1エラー信号生成部315は、第1エラー信号<Co0>を生成する(S37b)。
その後、第1エラー信号生成部315は、生成した第1エラー信号の中から、後段に出力する第1エラー信号を決定する(S38)。すなわち、第1エラー信号生成部315は、1つの第1エラー信号のみを生成した場合、当該第1エラー信号を後段に出力するものと決定する。また、第1エラー信号生成部315は、複数の第1エラー信号を生成した場合(本実施形態の場合、<Co1>および<Co2>、または、<Co1>および<Co3>を生成する場合がある)、生成した第1エラー信号について、<Co3>,<Co2>,<Co1>の順に優先度をつけ、最も優先度の高い第1エラー信号を後段に出力するものと決定する。
その後、第1エラー信号生成部315は、上記S38で決定した第1エラー信号をエラー原因判別部25に出力する(S39)。
(データパケットの受信エラーの検出処理)
次に、上記S9で示したデータパケットの受信エラー検出処理の流れについて、図20のフローチャートを参照しながら説明する。
まず、特定パルス列・パケット異常検出部322は、パルス検出部321からパルス検出信号を受けると、タイマ326をリセットし、パルス検出信号を受けてから所定時間内に、データパケットの同期をとるためのパルス列およびデータパケットを構成するSTA52、データ部53、STO55を受信したか否かを判断する(S41,S42)。
同期をとるためのパルス列およびデータパケットを構成するSTA52、データ部53、STO55のうち少なくとも1つの受信が検出されない場合(S41,S42のいずれかでNo)、特定パルス列・パケット異常検出部322は、同期をとるためのパルス列またはデータパケットの受信に失敗が生じたことを示す特定パルス列・パケット異常検出信号を、第2エラー信号生成部325に出力する(S43)。
一方、同期をとるためのパルス列およびデータパケットを構成するSTA52、データ部53、STO55の全ての受信が検出された場合(S42でYes)、特定パルス列・パケット異常検出部322は、受信したデータパケットを誤り検出部323に出力する。そして、誤り検出部323は、データパケットのCRC54に含まれる誤り検出符号と、受信したデータパケット数の関係から、送信されたデータのエラーレートを算出する。そして、誤り検出部323は、算出したエラーレートが所定閾値(ここでは、1×10−8)以上であるか否かを判断する(S44)。
エラーレートが所定閾値以上である場合(S44でYes)、誤り検出部323は、その旨を示す誤り検出信号を第2エラー信号生成部325に出力する(S45)。その後、誤り検出部323は、特定パルス列・パケット異常検出部322から受けたデータパケットをパケット出力部324に出力する。そして、パケット出力部324は、当該データパケットを破棄する(S46)。そして、処理を終了する。
一方、エラーレートが所定閾値未満である場合(S44でNo)、誤り検出部323は、特定パルス列・パケット異常検出部322から受けたデータパケットをパケット出力部324に出力する。そして、パケット出力部324は、誤り検出部323から受けたデータパケットをパケット処理部23に出力する(S47)。
その後、パケット処理部23は、データパケットからデータを抽出し、抽出したデータを制御部24に送る。また、制御部24は、データパケット処理部23から受けたデータからシーケンスナンバーを読み出し、読み出したシーケンスナンバーを管理する。そして、制御部24は、シーケンスナンバーに関して異常が生じているか否かを判断する(S48)。
シーケンスナンバーに関して異常が生じている場合(S48でYes)、制御部24は、当該異常の内容に応じたシーケンスナンバー異常信号を生成し、生成したシーケンスナンバー異常信号を第2エラー信号生成部325に出力する(S49)。そして、処理を終了する。一方、シーケンスナンバーに関して異常が生じていない場合も(S48でNo)、処理を終了する。
なお、上述したように、シーケンスナンバー異常信号には、(a)始まりを示すシーケンスナンバー「0」に対応するデータが欠落していることを示す<Se1>、(b)途中のシーケンスナンバーに対応するデータのうち、不連続のシーケンスナンバーのデータが欠落していることを示す<Se2>、(c)途中のシーケンスナンバーに対応するデータのうち、1または連続するシーケンスナンバーのデータが欠落していることを示す<Se3>、(d)終わりを示すシーケンスナンバー「N」に対応するデータが欠落している、もしくは、終わりを示すフラグ(Lastフィールド532cのフラグ「1」)に対応するデータが欠落していることを示す<Se4>、がある。
(第2エラー信号の生成処理)
次に、上記S10に示した第2エラー信号の生成処理の流れについて、図21のフローチャートを参照しながら説明する。
まず、パルス検出部321からパルス検出信号を受けた第2エラー信号生成部325は、特定パルス列・パケット異常検出部322からの特定パルス列・パケット異常信号の有無を判断する(S51)。
特定パルス列・パケット異常信号を受けた場合(S51でYes)、第2エラー信号生成部325は、受信状況が上記第2受信失敗パターンDa1を満たすと判断して、第2エラー信号<Da1>を生成する(S52)。その後、S58の処理に移行する。
一方、特定パルス列・パケット異常信号を受けない場合(S52でNo)、第2エラー信号生成部325は、誤り検出部323から誤り検出信号を受けたか否かを判断する(S53)。
誤り検出信号を受けた場合(S53でYes)、第2エラー信号生成部325は、受信状況が上記第2受信失敗パターンDa2を満たすと判断して、第2エラー信号<Da2>を生成する(S54)。その後、S58の処理に移行する。
一方、誤り検出信号を受けない場合(S53でNo)、第2エラー信号生成部325は、制御部24からシーケンスナンバー異常信号を受けたか否かを判断する(S55)。
シーケンスナンバー異常信号を受けた場合(S55でYes)、第2エラー信号生成部325は、シーケンスナンバー異常信号に応じた第2エラー信号を生成する(S56)。
すなわち、第2エラー信号生成部325は、シーケンスナンバー異常信号として<Se1>のみを受けた場合、受信状況が上記第2受信失敗パターンDa3を満たすと判断して、第2エラー信号<Da3>を生成する。
また、第2エラー信号生成部325は、シーケンスナンバー異常信号として<Se2>のみを受けた場合、受信状況が上記第2受信失敗パターンDa4を満たすと判断して、第2エラー信号<Da4>を生成する。
また、第2エラー信号生成部325は、シーケンスナンバー異常信号として<Se3>のみを受けた場合、受信状況が上記第2受信失敗パターンDa5を満たすと判断して、第2エラー信号<Da5>を生成する。
また、第2エラー信号生成部325は、シーケンスナンバー異常信号として<Se4>のみを受けた場合、受信状況が上記第2受信失敗パターンDa6を満たすと判断して、第2エラー信号<Da6>を生成する。
さらに、第2エラー信号生成部325は、シーケンスナンバー異常信号として<Se1>〜<Se4>のうちの複数を受けた場合、受信状況が上記第2受信失敗パターンDa7を満たすと判断して、第2エラー信号<Da7>を生成する。
一方、シーケンスナンバー異常信号を受けない場合(S55でNo)、第2エラー信号生成部325は、一連のデータパケットを全て正常に受信したことを示す第2エラー信号<Da0>を生成する(S57)。
そして、S68において、第2エラー信号生成部325は、生成した第2エラー信号をエラー原因判別部25に出力し(S58)、処理を終了する。
(エラー原因通知処理)
次に、上記S13で示したエラー原因通知処理の流れについて、図22のフローチャートを参照しながら説明する。
まず、エラー原因判別部25は、エラー状況判別部22から第1エラー信号および第2エラー信号を受け取る(S61)。
次に、エラー原因判別部25は、第1エラー信号および第2エラー信号に対応する原因情報をエラー原因テーブル記憶部26から読み出す(S62)。
具体的には、エラー原因判別部25は、第1エラー信号が<Co0>以外である場合、当該第1エラー信号に対応する原因情報を、エラー原因テーブル記憶部26が記憶する第1エラー原因テーブルから読み出す。また、エラー原因判別部25は、第1エラー信号が<Co0>であり、かつ、第2エラー信号が<Da0>以外の場合、当該第2エラー信号に対応する原因情報を、エラー原因テーブル記憶部26が記憶する第2エラー原因テーブルから読み出す。
そして、エラー原因判別部25は、読み出した原因情報をエラー原因出力部27に出力する。その後、エラー原因出力部27は、エラー原因判別部25から受けた原因情報をユーザインターフェイス3に出力し、エラー原因をユーザに通知する(S63)。
例えば、エラー原因判別部25は、第1エラー信号<Co1>を受けた場合、図14に示す第1エラー原因テーブルから原因情報「距離が遠い(レベル3)」を読み出す。そしてエラー原因出力部27は、当該原因情報をユーザインターフェイス3に表示させる。これにより、コネクトパケットの通信速度に対応するパルス列を3個以上受信したものの、コネクトパケットを上位層が正常に認識していない受信状況である場合、ユーザは、さらに受信機器2と送信機器1との距離を近くする必要があることを認識することができる。
また、エラー原因判別部25は、第1エラー信号<Co2>を受けた場合、図14に示す第1エラー原因テーブルから原因情報「距離が遠い(レベル2)」を読み出す。そしてエラー原因出力部27は、当該原因情報をユーザインターフェイス3に表示させる。これにより、Additional BOFに対応するパルス列を3個以上受信したものの、コネクトパケットを受信していない状況である場合、ユーザは、さらに受信機器2と送信機器1との距離を近くする必要があることを認識することができる。
また、エラー原因判別部25は、第1エラー信号<Co3>を受けた場合、図14に示す第1エラー原因テーブルから原因情報「距離が遠い(レベル1)」を読み出す。そしてエラー原因出力部27は、当該原因情報をユーザインターフェイス3に表示させる。これにより、冗長コードによりコネクトパケットの誤りが検出された受信状況である場合、ユーザは、受信機器2と送信機器1との距離を近くする必要があることを認識することができる。
また、エラー原因判別部25は、第1エラー信号<Co0>および第2エラー信号<Da1>(または<Da2>、<Da4>、<Da7>)を受けた場合、図15に示す第2エラー原因テーブルから原因情報「通信速度4Mbpsのエリア外」を読み出す。そしてエラー原因出力部27は、当該原因情報をユーザインターフェイス3に表示させる。これにより、ユーザは、受信機器2と送信機器1との距離を近くする必要があることを認識することができる。その結果、正常にデータ転送を行うことができる。
また、エラー原因判別部25は、第1エラー信号<Co0>および第2エラー信号<Da3>を受けた場合、図15に示す第2エラー原因テーブルから原因情報「開始時にエリア外」を読み出す。そしてエラー原因出力部27は、当該原因情報をユーザインターフェイス3に表示させる。これにより、ユーザは、送信機器1からデータを送信する際に、送信開始時にのみエラーが生じていたことを認識でき、現在の位置から再送すれば、正常にデータ転送することができることを認識できる。
また、エラー原因判別部25は、第1エラー信号<Co0>および第2エラー信号<Da5>を受けた場合、図15に示す第2エラー原因テーブルから原因情報「通信妨害の発生」を読み出す。そしてエラー原因出力部27は、当該原因情報をユーザインターフェイス3に表示させる。これにより、ユーザは、送信機器1からデータを送信する際に、何らかの通信妨害が発生したことを認識でき、通信妨害するものの存在を確認したうえで、再送することができる。その結果、正常にデータ転送を行うことができる。
なお、ここで、通信妨害するものとは、例えば、送信機器1と受信機器2の通信に関係のない強力な電力の無線信号、障害物などである。
また、エラー原因判別部25は、第1エラー信号<Co0>および第2エラー信号<Da6>を受けた場合、図15に示す第2エラー原因テーブルから原因情報「終了前にエリア外」を読み出す。そしてエラー原因出力部27は、当該原因情報をユーザインターフェイス3に表示させる。これにより、ユーザは、送信機器1からデータを転送する際に、転送終了時にエリア外になったことを認識でき、受信完了するまで、送信機器1の位置を変更させずに再送することができる。その結果、正常にデータ転送を行うことができる。
(変形例)
(コネクトパケットの受信エラーの検出処理および第1エラー信号の生成処理の変形例1)
上記説明では、特定パルス列・パケット異常検出部312は、コネクトパケットのデータ部42の受信の有無のみを検出するものとした。しかしながら、特定パルス列・パケット異常検出部312は、通信速度の遅いコネクトパケットについて、受信したデータ部42を即座に解析し、当該データ部42にコネクション確立に必要なパラメータが含まれるか否かを判断してもよい。
本変形例におけるコネクトパケットの受信エラーの検出処理の流れは、図23に示されるようなフローチャートに従う。
まず、特定パルス列・パケット異常検出部312は、Additional BOFに対応するパルス列を3個以上受信したか否かを判断する(S21)。Additional BOFに対応するパルス列を3個以上受信していない場合(S21でNo)、再度S21の処理を繰り返す。
一方、Additional BOFに対応するパルス列を3個以上受信したことを検出した場合(S21でYes)、特定パルス列・パケット異常検出部312は、規定された数のAdditional BOF、コネクトパケットを構成するBOF41、データ部42の受信の有無を判断する(S22,S23)。さらに、特定パルス列・パケット異常検出部312は、受信したコネクトパケットのデータ部42を解析して、コネクション確立に必要なパラメータが含まれているか否かを判断する(S23a)。
規定された数のAdditional BOF、BOF41およびデータ部42のうち少なくとも1つの受信が検出されない場合(S22,S23のうちいずれかでNo)、または、データ部42にコネクション確立に必要なパラメータが含まれていない場合(S23aでNo)、特定パルス列・パケット異常検出部312は、コネクトパケットの受信に失敗が生じたことを示す特定パルス列・パケット異常信号を生成し、第1エラー信号生成部315に出力する(S26a)。そして、処理を終了する。
一方、規定された数のAdditional BOF、BOF41およびデータ部42を受信し、かつ、データ部42にコネクション確立に必要なパラメータが含まれている場合(S23aでYes)、特定パルス列・パケット異常検出部312は、続けて、EOF44の受信の有無を判断する(S24)。
EOF44の受信に失敗した場合(S24でNo)、特定パルス列・パケット異常検出部312は、コネクション確立に必要なパラメータを受信したものの、コネクトパケットを正常に受信できなかったことを示すEOF受信異常信号を第1エラー信号生成部315に出力する(S26b)。そして、処理を終了する。
その後、図18に示すS26〜S29の処理を行う。
一方、第1エラー信号生成部315は、特定パルス列・パケット異常信号を受けた場合、Additional BOF、BOF41およびデータ部42のうちいずれかで受信が失敗したことを示す第1受信失敗パターンCo2aを受信状況が満たすと判断し、第1エラー信号<Co2a>を生成する。また、第1エラー信号生成部315は、EOF受信異常信号を受けた場合、コネクション確立に必要なパラメータを受信したものの、コネクトパケットを正常に受信できなかった第1受信失敗パターンCo2bを受信状況が満足すると判断し、第1エラー信号<Co2b>を生成する。
本変形例における第1エラー信号の生成処理の流れは、図24に示されるようなフローチャートに従う。
まず、第1エラー信号生成部315は、パルス検出部311からパルス検出信号を受けると、タイマ316をリセットする(S31)。
その後、第1エラー信号生成部315は、特定パルス列・パケット異常検出部312から特定パルス列・パケット異常検出信号を受けたか否かを判断する(S32a)。
特定パルス列・パケット異常検出信号を受けた場合(S32aでYes)、第1エラー信号生成部315は、第1エラー信号<Co2a>を生成する(S33a)。その後、S32bの処理に移行する。一方、特定パルス列・パケット異常検出信号を受けない場合にも(S32aでNo)、S32bの処理に移行する。
次に、第1エラー信号生成部315は、特定パルス列・パケット異常検出部312からEOF異常信号を受けたか否かを判断する(S32b)。
EOF異常信号を受けた場合(S32bでYes)、第1エラー信号生成部315は、第1エラー信号<Co2b>を生成する(S33b)。その後、S34の処理に移行する。一方、EOF異常信号を受けない場合にも(S32bでNo)、S34の処理に移行する。
その後、図19に示したS34〜S39の処理を行う。なお、S38では、第1エラー信号生成部315は、複数の第1エラー信号を生成した場合、<Co3>、<Co2b>、<Co2a>、<Co1>の順に優先度を付け、優先度に最も高い第1エラー信号を出力するものと決定すればよい。
なお、本変形例の場合、エラー原因テーブル記憶部26は、図25に示されるような第1エラー原因テーブルを記憶している。
これにより、エラー原因判別部25は、第1エラー信号<Co2b>を受けた場合、図25に示す第1エラー原因テーブルから原因情報「距離が遠い(レベル2)」を読み出す。そしてエラー原因出力部27は、当該原因情報をユーザインターフェイス3に表示させる。これにより、ユーザは、受信機器2に近づいた状態で再送する必要があることを認識できる。その結果、正常にデータ転送を行うことができる。
(コネクトパケットの受信エラーの検出処理および第1エラー信号の生成処理の変形例2)
上記説明では、第1エラー信号生成部315は、複数種類の第1エラー信号を生成可能とした。しかしながら、第1エラー信号生成部315は、コネクトパケットの受信エラーがないことを示す<Co0>以外の第1エラー信号について、一つの第1エラー信号のみを生成可能としてもよい。すなわち、第1エラー信号生成部315は、上記<Co1>、<Co2>、<Co2a>、<Co2b>、<Co3>のうちの一つのみを生成可能とする。
例えば、<Co1>のみ生成可能な場合、第1エラー信号生成部315は、パルス検出部311からのパルス検出信号、および、制御部24からの上位層正常認識通知のみ受けることができればよい。そして、第1エラー信号生成部315は、パルス検出信号を受けた後、所定時間内に上位層正常認識通知を受けない場合に第1エラー信号を生成し、エラー原因出力部25に出力する。
また、<Co2>のみ生成可能な場合、第1エラー信号生成部315は、パルス検出部311からのパルス検出信号、および、特定パルス列・パケット異常検出部322からの特定パルス列・パケット異常検出信号のみ受けることができればよい。そして、第1エラー信号生成部315は、パルス検出信号を受けた後、特定パルス列・パケット異常検出信号を受けた場合に第1エラー信号を生成し、エラー原因出力部25に出力する。
また、<Co3>のみ生成可能な場合、第1エラー信号生成部315は、パルス検出部311からのパルス検出信号、および、誤り検出部323からの誤り検出信号のみ受けることができればよい。そして、第1エラー信号生成部315は、パルス検出信号を受けた後、誤り検出信号を受けた場合に第1エラー信号を生成し、エラー原因出力部25に出力する。
また、この場合、エラー原因テーブル記憶部26は、第1エラー原因テーブルの代わりに、所定の第1原因情報(例えば、「距離が遠い」)を記憶していればよい。そして、エラー原因判別部25は、第1エラー信号を受けた場合、エラー原因テーブル記憶部26から上記第1原因情報を読み出し、エラー原因出力部27に出力すればよい。すなわち、エラー原因判別部25およびエラー原因出力部27は、第1エラー信号(ただし、<Co0>以外のもの)を受けた場合、予め定められた第1原因情報(例えば、「距離が遠い」)をユーザインターフェース3に出力する。
(データパケットの受信エラーの検出処理および第2エラー信号の生成処理の変形例1)
コネクトパケットを正常に受信した後、パルス検出部(通信速度検知手段)321は、データパケットの通信速度を検出してもよい。そして、パルス検出部321は、当該コネクトパケットで示されたデータパケットの通信速度よりも速い通信速度のパルスを検出した場合に、第2エラー信号生成部325に、通信速度エラー検出信号を出力する。この場合、パルス検出部321は、コネクトパケットに示された通信速度を制御部24から伝達される。
本変形例におけるデータパケットの受信エラーの検出処理は、図26に示すフローチャートに従う。すなわち、図20に示すフローチャートに加えて、S40aおよびS40bの処理が加わる。
まず、パルス検出部321は、コネクトパケットで示されたデータパケットの通信速度よりも速い通信速度のパルスであるか否かを判断する(S40a)。
コネクトパケットで示されたデータパケットの通信速度よりも速い通信速度のパルスである場合(S40aでYes)、パルス検出部321は、その旨を示す通信速度エラー検出信号を第2エラー信号生成部325に出力する(S40b)。そして、処理を終了する。
一方、コネクトパケットで示されたデータパケットの通信速度と同じまたはそれ以下の通信速度のパルスである場合(S40aでNo)、図20で示した上記S41〜S49の処理を行い、処理を終了する。
また、第2エラー信号生成部325は、通信速度エラー検出信号を受けた場合、コネクトパケットに示された通信速度よりも速いデータパケットを受信した第2受信失敗パターンDa8を受信状況が満足すると判断し、第2エラー信号<Da8>を生成する。
すなわち、本変形例の第2エラー信号生成部325は、図27に示されるフローチャートに従って、第2エラー信号を生成すればよい。
まず、第2エラー信号生成部325は、パルス検出部321から通信速度エラー検出信号を受けたか否かを判断する(S50a)。
通信速度エラー検出信号を受けた場合(S50aでYes)、第2エラー信号生成部325は、通信速度が速いデータパケットを受信した状況を示す第2エラー信号<Da8>を生成する(S50b)。その後、S58で、第2エラー信号生成部325は、生成した第2エラー信号をエラー原因判別部25に出力する。
一方、通信速度エラー検出信号を受けない場合(S50aでNo)、第2エラー信号生成部325は、図21に示したS51〜S58の処理を行い、処理を終了する。
なお、本変形例の場合、エラー原因テーブル記憶部26は、図28に示されるような第2エラー原因テーブルを記憶していればよい。
本変形例によれば、コネクトパケットで指定された通信速度よりも速い通信速度でデータパケットを送信した場合、第2エラー信号生成部325は、通信速度が速いデータパケットを受信した状況を示す第2エラー信号<Da8>を出力する。そして、エラー原因判別部25は、第2エラー信号<Da8>に対応する原因情報「通信速度が速い」をエラー原因テーブル記憶部26から読み出し、エラー原因出力部27は、当該原因情報をユーザインターフェイス3に出力する。
その結果、ユーザは、通信速度を下げた状態で再送することで、正常にデータ転送を行うことができる。
(データパケットの受信エラーの検出処理および第2エラー信号の生成処理の変形例2)
上記説明では、第2エラー信号生成部325は、複数種類の第2エラー信号を生成可能とした。しかしながら、第2エラー信号生成部325は、一種類の第2エラー信号のみを生成可能としてもよい。すなわち、第2エラー信号生成部315は、上記<Da1>〜<Da8>のうちの一つのみを生成可能とする。
例えば、<Da1>のみ生成可能な場合、第2エラー信号生成部325は、パルス検出部321からのパルス検出信号、および、特定パルス列・パケット異常検出部322からの特定パルス列・パケット異常検出信号のみ受けることができればよい。そして、第2エラー信号生成部325は、パルス検出信号を受けた後、特定パルス列・パケット異常検出信号を受けた場合に第2エラー信号を生成し、エラー原因出力部25に出力する。
この場合、エラー原因テーブル記憶部26は、上記第2エラー原因テーブルの代わりに、第2原因情報「通信速度4Mbpsのエリア外」を記憶していればよい。そして、エラー原因判別部25は、第1エラー信号<Co0>および第2エラー信号を受けた場合、エラー原因テーブル記憶部26から上記第2原因情報を読み出し、エラー原因出力部27に出力すればよい。
また、<Da2>のみ生成可能な場合、第2エラー信号生成部325は、パルス検出部321からのパルス検出信号、および、誤り検出部323からの誤り検出信号のみ受けることができればよい。そして、第2エラー信号生成部325は、パルス検出信号を受けた後、誤り検出信号を受けた場合に第2エラー信号を生成し、エラー原因出力部25に出力する。
この場合、エラー原因テーブル記憶部26は、上記第2エラー原因テーブルの代わりに、第2原因情報「通信速度4Mbpsのエリア外」を記憶していればよい。そして、エラー原因判別部25は、第1エラー信号<Co0>および第2エラー信号を受けた場合、エラー原因テーブル記憶部26から上記第2原因情報を読み出し、エラー原因出力部27に出力すればよい。
また、<Da3>のみ生成可能な場合、第2エラー信号生成部325は、パルス検出部321からのパルス検出信号、および、制御部24からのシーケンスナンバー異常信号<Se1>のみ受けることができればよい。そして、第2エラー信号生成部325は、パルス検出信号を受けた後、シーケンスナンバー異常信号を受けた場合に第2エラー信号を生成し、エラー原因出力部25に出力する。
この場合、エラー原因テーブル記憶部26は、上記第2エラー原因テーブルの代わりに、第2原因情報「開始時にエリア外」を記憶していればよい。そして、エラー原因判別部25は、第1エラー信号<Co0>および第2エラー信号を受けた場合、エラー原因テーブル記憶部26から上記第2原因情報を読み出し、エラー原因出力部27に出力すればよい。
その他、<Da4>〜<Da7>のみ生成可能な場合も同様である。
また、<Da8>のみ生成可能な場合、第2エラー信号生成部325は、パルス検出部321からの通信速度エラー検出信号のみ受けることができればよい。そして、第2エラー信号生成部325は、通信速度エラー検出信号を受けた場合に第2エラー信号を生成し、エラー原因出力部25に出力する。
この場合、エラー原因テーブル記憶部26は、上記第2エラー原因テーブルの代わりに、第2原因情報「通信速度が速い」を記憶していればよい。そして、エラー原因判別部25は、第1エラー信号<Co0>および第2エラー信号を受けた場合、エラー原因テーブル記憶部26から上記第2原因情報を読み出し、エラー原因出力部27に出力すればよい。
(ユーザインターフェースの変形例)
上記説明では、ユーザインターフェース3が液晶ディスプレイなどの表示部(例えば、メッセージ表示装置)であるとした。これに限らず、ユーザインターフェース3は、ユーザに原因情報を通知するものであればよい。
例えば、原因情報を音声データとし、当該原因情報をスピーカであるユーザインターフェース3に出力してもよい。
また、ユーザインターフェース3は、LEDの発光素子であってもよい。原因情報ごとにLEDを異なる形式で発光することによって、当該原因情報を通知することができる。
また、電子装置は、ユーザーに指向角の広くない赤外線を正しく受信部21に向けて送信してもらうために、赤外線受光部である受信部21の位置を知らせるための受信部位置通知手段を持っていてもよい。受信部位置通知手段としては、受信部21の通信に妨げにならないように、受信部21付近にLED発光素子を付加するものがある。
また、特に電子装置が画像表示装置である場合には、表示画面に受信部21を示す表示を行っても良い。例えば、受信部21を示す矢印を表示しても良い。
(原因情報の変形例)
上記説明では、エラー原因テーブル記憶部26は、第1エラー信号<Co1>〜<Co3>と、原因情報「距離が遠い」とを対応付けて記憶するものとした。しかしながら、コネクトパケットの受信エラーが生じる原因として、受信機器2の通信可能角度範囲から送信機器1が外れていることが考えられる。そのため、エラー原因テーブル記憶部26は、第1エラー信号<Co1>〜<Co3>に対応付けて、原因情報「通信可能な角度範囲外である」、または、「距離が遠い、または、通信可能な角度範囲外である」を記憶してもよい。
同様に、エラー原因テーブル記憶部26は、第2エラー信号<Da1>、<Da2>、<Da4>、<Da7>に対応付けて、原因情報「通信可能な角度範囲外」、または、原因情報「通信速度4Mbpsのエリア外、または、通信可能な角度範囲外」を記憶してもよい。
また、エラー原因テーブル記憶部26は、第2エラー信号<Da3>に対応付けて、原因情報「開始時に通信可能な角度範囲外」または「開始時に通信速度4Mbpsのエリア外、または、通信可能な角度範囲外」を記憶してもよい。
さらに、エラー原因テーブル記憶部26は、第2エラー信号<Da6>に対応付けて、原因情報「終了時に通信可能な角度範囲外」または「終了時に通信速度4Mbpsのエリア外、または、通信可能な角度範囲外」を記憶してもよい。
以上のように、本実施形態の受信機器2は、送信機器1から、通信接続の確立を行うためのコネクトパケット(9600bps)と、転送データを含み、上記コネクトパケットよりも通信速度が速い(例えば、4Mbps)データパケットとを無線通信を用いて受信する。
そして、受信機器2は、受信状況が所定の第1受信失敗パターンを満たす場合に、コネクトパケットの受信が失敗したと判別するコネクトパケット判別部(第1判別手段)31と、上記コネクトパケット判別部31が受信失敗と判別した場合に、当該受信失敗の原因を示し、当該受信失敗の回避をユーザに促すことが可能な原因情報を、ユーザインターフェース3に出力するエラー原因出力部(通知情報出力手段)27とを備える。
これにより、ユーザは、コネクトパケットの受信失敗が生じた場合に、原因情報(例えば、受信機器と送信機器との距離が短いことを示す情報)を即座に認識することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。すなわち、データ転送のエラーが頻発することを避けることができる。
なお、第1受信失敗パターンには、上述したように、Co1〜3がある。
また、受信機器2は、第1受信失敗パターンが複数種類あり、上記第1受信失敗パターンごとに予め定められた上記原因情報を記憶する第1エラー原因テーブル(通知情報テーブル)を記憶するエラー原因テーブル記憶部26を備える。
さらに、受信機器2は、コネクトパケット判別部31においてコネクトパケットの受信が失敗したと判別された場合に、当該第1受信失敗パターンを特定し、第1エラー原因テーブルから、特定した第1受信失敗パターンに対応する原因情報を読み出すエラー原因判別部(通知情報読出手段)25を備える。そして、エラー原因出力部27は、エラー原因判別部25が読み出した原因情報をユーザインターフェイス3に出力する。
上記の構成によれば、ユーザは、第1受信失敗パターンに応じた通知情報を容易に認識することができる。その結果、ユーザは、受信状況に応じた適切な回避方法で、再度データ転送を行うことができる。
また、受信機器2は、受信状況が所定の第2受信失敗パターンを満たすか否かに応じて、データパケットの受信が成功したか失敗したかを判別するデータパケット判別部(第2判別手段)32を備える。
そして、エラー原因出力部27は、と、コネクトパケット判別部31がコネクトパケットの受信が成功したと判別し、かつ、データパケット判別部32がデータパケットの受信が失敗したと判別した場合に、当該データパケットの受信失敗の原因を示すとともに、当該受信失敗の回避をユーザに促すための原因情報を、ユーザインターフェイス3に出力する。
これにより、ユーザは、コネクトパケットを受信成功したものの、データパケットに受信失敗が生じた場合に、当該受信失敗の原因情報(例えば、データパケットに対応する通信速度の通信可能エリア外であることを示す情報)を即座に認識することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。すなわち、データ転送のエラーが頻発することを避けることができる。
なお、第2受信失敗パターンには、上述したように、Da1〜8がある。
また、受信機器2は、上記第2受信失敗パターンが複数種類あり、第2受信失敗パターンごとに予め定められた原因情報を記憶する第2エラー原因テーブルを記憶している。
そして、エラー原因判別部25は、データパケット判別部32においてデータパケットの受信が失敗したと判別された場合に、受信状況が満たす第2受信失敗パターンを特定し、第2エラー原因テーブルから、特定した第2受信失敗パターンに対応する原因情報を読み出す。その後、エラー原因出力部27は、エラー原因判別部25が読み出した原因情報をユーザインターフェイス3に出力する。
上記の構成によれば、ユーザは、受信状況が満たす第2受信失敗パターンに応じた通知情報を容易に認識することができる。その結果、ユーザは、受信状況に応じた適切な回避方法で、再度データ転送を行うことができる。
〔実施形態2〕
本発明の他の実施形態について、図29ないし図31に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した図面と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
本実施形態は、受信エラーの原因情報の代わりに、受信エラーに対する対処法を示す対処法情報をユーザインターフェイスに出力する形態である。これによれば、ユーザは、どのようにすれば、データ転送を正常に行うことができるかを容易に認識することができる。
図29は、本実施形態に係る電子装置の構成を示す図である。図29に示されるように、本実施形態の電子装置は、受信機器102とユーザインターフェイス3とを備える。そして、受信機器102は、上記受信機器2と比較して、エラー原因出力部27の代わりに対処法出力部28を備え、さらに、対処法―原因記憶部29を備える点で異なる。
対処法―原因記憶部29は、図30に示されるように、エラー原因テーブル記憶部26が記憶する各原因情報と、当該原因情報が示す原因に対する対処法を示す対処法情報とを対応付けた対処法―原因テーブルを記憶するものである。
対処法出力部28は、エラー原因判別部25から受けた原因情報に対応する対処法情報を、対処法―原因記憶部29から読み出し、読み出した対処法情報をユーザインターフェイス3に出力するものである。
本実施形態の受信機器102におけるコネクトパケットおよびデータパケットの受信処理は、図17に示したフローチャートとほぼ同様である。ただし、本実施形態の受信機器102は、上記S13の処理(つまり、図22に示すエラー原因通知処理)の代わりに、図31に示す対処法通知処理を行う。
まず、エラー原因判別部25は、エラー状況判別部22から第1エラー信号および第2エラー信号を受け取る(S61)。次に、エラー原因判別部25は、第1エラー信号および第2エラー信号に対応する原因情報をエラー原因テーブル記憶部26から読み出す(S62)。当該S61およびS62については、上述したとおりである。
その後、エラー原因判別部25は、読み出した原因情報を対処法出力部28に出力する。そして、対処法出力部28は、エラー原因判別部25から受けた原因情報に対応する対処法情報を、対処法―原因記憶部29から読み出す(S64)。
次に、対処法出力部28は、読み出した対処法情報をユーザインターフェイス3に出力し、対処法をユーザに通知する(S65)。
なお、上記説明では、対処法―原因記憶部29は、原因情報「距離が遠い」と、対処法情報「近づいて再送」とを対応付けて記憶するものとした。しかしながら、上記実施形態1の変形例で述べたように、原因情報として、「通信可能な角度範囲外」が考えられる。
この場合、対処法―原因記憶部29は、原因情報「通信可能な角度範囲外」と、対処法情報「送信機器と受信機器との角度を確認して再送」とを対応付けて記憶しておけばよい。
〔実施形態3〕
本発明の他の実施形態について、図32ないし図35に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した図面と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
本実施形態も上記実施形態2と同様に、受信エラーに対する対処法を示す対処法情報をユーザインターフェイスに出力する形態である。これによれば、ユーザは、どのようにすれば、データ転送を正常に行うことができるかを容易に認識することができる。
図32は、本実施形態に係る電子装置の構成を示す図である。図32に示されるように、本実施形態の電子装置は、受信機器202とユーザインターフェイス3とを備える。そして、受信機器202は、上記受信機器2と比較して、エラー原因出力部27の代わりに対処法判別部35を、エラー原因テーブル記憶部26の代わりに対処法テーブル記憶部36を、エラー原因出力部27の代わりに対処法出力部37を備える点で異なる。
対処法テーブル記憶部36は、<Co0>を除く上記第1エラー信号と、当該第1エラー信号が示すエラー状況を解決するための対処法を示す対処法情報とを対応付けた第1対処法テーブルと、第1エラー信号が<Co0>における、各第2エラー信号と、当該第2エラー信号が示すエラー状況を解決するための対処法を示す対処法情報とを対応付けた第2対処法テーブルとを記憶するものである。
図33は、対処法テーブル記憶部36が記憶する第1対処法テーブルの一例を示す図である。また、図34は、対処法テーブル記憶部36が記憶する第2対処法テーブルの一例を示す図である。
対処法判別部35は、エラー状況判別部22から受けた第1エラー信号および第2エラー信号に対応する対処法情報を対処法テーブル記憶部36から読み出し、読み出した対処法情報を対処法出力部37に出力するものである。
具体的には、対処法判別部35は、<Co0>以外の第1エラー信号を受けた場合、対処法テーブル記憶部36が記憶する第1対処法テーブルから、当該第1エラー信号に対応する対処法情報を読み出す。また、対処法判別部35は、第1エラー信号<Co0>を受け、かつ、<Da0>以外の第2エラー信号を受けた場合、対処法テーブル記憶部36が記憶する第2対処法テーブルから、当該第2エラー信号に対応する対処法情報を読み出す。そして、対処法判別部35は、読み出した対処法情報を対処法出力部37に出力する。
対処法出力部37は、対処法判別部35から受けた対処法情報をユーザインターフェース3に出力し、ユーザに対して、対処法を通知するものである。
本実施形態の受信機器202におけるコネクトパケットおよびデータパケットの受信処理は、図17に示したフローチャートとほぼ同様である。ただし、本実施形態の受信機器102は、上記S13の処理(つまり、図22に示すエラー原因通知処理)の代わりに、図35に示す対処法通知処理を行う。
まず、対処法判別部35は、エラー状況判別部22から第1エラー信号および第2エラー信号を受け取る(S71)。次に、対処法判別部35は、第1エラー信号および第2エラー信号に対応する対処法情報を対処法テーブル記憶部36から読み出す(S72)。
その後、対処法判別部35は、読み出した対処法情報を対処法出力部37に出力する。そして、対処法出力部37は、対処法判別部35から受けた対処法情報をユーザインターフェイス3に出力し、対処法をユーザに通知する(S73)。
例えば、対処法判別部35は、第1エラー信号<Co1>を受けた場合、図33に示す第1対処法テーブルから対処法情報「近づいて再送(レベル3)」を読み出す。そして、対処法出力部37は、当該対処法情報をユーザインターフェイス3に表示させる。これにより、コネクトパケットの通信速度に対応するパルス列を3個以上受信したものの、コネクトパケットを上位層が正常に認識していない受信状況である場合、ユーザは、さらに受信機器2と送信機器1との距離を近くする必要があることを認識することができる。
また、対処法判別部35は、第1エラー信号<Co2>を受けた場合、図33に示す第1対処法テーブルから対処法情報「近づいて再送(レベル2)」を読み出す。そして、対処法出力部37は、当該対処法情報をユーザインターフェイス3に表示させる。これにより、Additional BOFに対応するパルス列を3個以上受信したものの、コネクトパケットを受信していない状況である場合、ユーザは、さらに受信機器2と送信機器1との距離を近くする必要があることを認識することができる。
また、対処法判別部35は、第1エラー信号<Co3>を受けた場合、図33に示す第1対処法テーブルから対処法情報「近づいて再送(レベル1)」を読み出す。そして、対処法出力部37は、当該対処法情報をユーザインターフェイス3に表示させる。これにより、冗長コードによりコネクトパケットの誤りが検出された受信状況である場合、ユーザは、受信機器2と送信機器1との距離を近くする必要があることを認識することができる。
また、対処法判別部35は、第1エラー信号<Co0>および第2エラー信号<Da1>(または<Da2>、<Da4>、<Da7>)を受けた場合、図34に示す第2対処法テーブルから対処法情報「近づいて再送」を読み出す。そして、対処法出力部37は、当該対処法情報をユーザインターフェイス3に表示させる。これにより、ユーザは、受信機器2と送信機器1との距離を近くする必要があることを認識することができる。その結果、正常にデータ転送を行うことができる。
また、対処法判別部35は、第1エラー信号<Co0>および第2エラー信号<Da3>を受けた場合、図34に示す第2対処法テーブルから対処法情報「現在の位置から再送」を読み出す。そして、対処法出力部37は、当該対処法情報をユーザインターフェイス3に表示させる。これにより、ユーザは、現在の位置から再送すれば、正常にデータ転送することができることを認識できる。
また、対処法判別部35は、第1エラー信号<Co0>および第2エラー信号<Da5>を受けた場合、図34に示す第2対処法テーブルから対処法情報「周りに注意して再送」を読み出す。そして、対処法出力部37は、当該対処法情報をユーザインターフェイス3に表示させる。これにより、ユーザは、通信妨害するものの存在を確認したうえで、再送することにより、正常にデータ転送を行うことができる。
また、対処法判別部35は、第1エラー信号<Co0>および第2エラー信号<Da6>を受けた場合、図34に示す第2対処法テーブルから対処法情報「再送し、通信終了の確認まで状態維持」を読み出す。そして、対処法出力部37は、当該対処法情報をユーザインターフェイス3に表示させる。これにより、ユーザは、受信完了するまで、送信機器1の位置を変更させずに再送することにより、正常にデータ転送を行うことができる。
また、対処法判別部35は、第1エラー信号<Co0>および第2エラー信号<Da8>を受けた場合、図34に示す第2対処法テーブルから対処法情報「通信速度を下げて再送」を読み出す。そして、対処法出力部37は、当該対処法情報をユーザインターフェイス3に表示させる。これにより、ユーザは、通信速度を下げて再送することで、正常にデータ転送を行うことができる。
なお、図33および34は、上記第1対処法テーブルおよび第2対処法テーブルの一例にすぎない。対処法テーブル記憶部36は、図33、34に示す対処法情報とは異なる対処法情報を記憶していもよい。
例えば、対処法テーブル記憶部36は、第1エラー信号<Co1>〜<Co3>に対応付けて、対処法情報「送信機器と受信機器との角度を確認して再送」を記憶していてもよい。
同様に、対処法テーブル記憶部36は、第2エラー信号<Da1>、<Da2>、<Da4>、<Da7>に対応付けて、対処法情報「送信機器と受信機器との角度を確認して再送」を記憶していてもよい。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
最後に、受信機器2の各ブロック、エラー状況判別部22、制御部24、エラー原因判別部25、エラー原因出力部27、対処法出力部28・37、対処法判別部35は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、受信機器2は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである受信機器2の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記受信機器2に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、受信機器2を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
以上のように、本発明の実施形態に係る通信システムは、送信機器と受信機器との間において、複数の異なる通信速度を用いて無線通信を行う通信システムであって、低速な通信速度をコネクションの確立に用い、コネクション確立よりも速い速度をデータ転送に用いる。
また、送信するデータに通信のための信号やエラー検出用の冗長コードを付加して作成されたデータのまとまりであるパケットである、コネクション確立のためのコネクトパケット、データ転送のためのデータパケットがある。
そして、受信機器は、コネクトパケットおよびデータパケットのそれぞれが正常に受信できなかった場合に、正常に受信できなかったこと及びどのような状況で正常に受信できなかったかをそれぞれ検出する機能を持つエラー状況判別部22を有する。
さらに、受信機器は、エラー状況判別部22の判別に基づき、通信失敗の原因を判別するエラー原因判別部25を保持する。
また、受信機器は、エラー原因判別部25により判別された通信失敗原因をユーザーに通知するエラー原因出力部27を保持する。
もしくは、受信機器は、エラー原因判別部25により判別された通信失敗原因を解決し、通信を成功させるための対処法をユーザーに通知する対処法出力部28を保持する。
ここで、エラー状況判別部22がコネクトパケットを正常に受信できなかったと判断するのは、パケットの開始を示すパターンおよび終了を示すパターンを受信したものの、エラー検出用の冗長コードによりエラーが検出された場合とする。
もしくは、エラー状況判別部22がコネクトパケットを正常に受信できなかったと判断するのは、所望の周波数帯域でのパルスを少なくとも3個以上受信したものの、コネクトパケットを受信できない場合とする。
もしくは、エラー状況判別部22がコネクトパケットを正常に受信できなかったと判断するのは、受信アンプを安定させるためにパケットを送信する前に送信される特定のパルス列を少なくとも3個以上受信したものの、コネクトパケットを受信できない場合とする。
もしくは、エラー状況判別部22がコネクトパケットを正常に受信できなかったと判断するのは、コネクションの確立に必要なデータを受信するものの、コネクトパケットを受信できない場合とする。
また、エラー原因判別部25は、コネクトパケットを正常に受信出来ない場合に、送信機器が通信可能範囲から外れていると判別する。そして、エラー原因判別部25の判別により、対処法出力部28は、ユーザーに近づいて再度送信する旨のメッセージを通知する。
もしくは、エラー原因判別部25は、コネクトパケットを正常に受信出来ない場合に、送信機器が通信可能角度から外れていると判別する。そして、エラー原因判別部25の判別により、対処法出力部28は、ユーザーに送信部と受信部の向きを正しくして再度送信する旨のメッセージを通知する。
また、エラー状況判別部22がデータパケットを正常に受信できなかったと判断するのは、所望する周波数帯域でのパルスを検知するものの、データパケットとして認識できるパケットが受信できない場合とする。
もしくは、エラー状況判別部22がコネクトパケットを正常に受信できなかったと判断するのは、エラー冗長コードにより、あらかじめ定められたエラーレート(例えば10のマイナス8乗)よりもエラーが多い場合とする。
もしくは、エラー状況判別部22がコネクトパケットを正常に受信できなかったと判断するのは、始まりおよび終了と定められたシーケンスナンバーのパケットは受信したものの、途中のシーケンスナンバーのパケットを受信出来ない場合とする。
もしくは、エラー状況判別部22がコネクトパケットを正常に受信できなかったと判断するのは、パケットを連続送信する際に、パケットが順番に並んでいることを表すフィールドに保持されたシーケンスナンバーによりパケットの順番を管理する通信方式で、始まりと定められたシーケンスナンバーから順に受信できず、途中の番号から受信する場合とする。
この場合、エラー原因判別部25は、送信機器が通信開始時に通信可能範囲から外れており、通信途中から通信可能範囲にやってきたと判別する。そして、エラー原因判別部25の判別により、対処法出力部28は、ユーザーに現在の位置から再度送信する旨のメッセージを通知する。
または、エラー原因判別部25は、通信開始時に送信部が通信可能角度から外れており、途中から通信角度内に向いたと判断する。そして、エラー原因判別部25の判別により、対処法出力部28は、ユーザーに送信部と受信部の向きを正しくして再度送信する旨のメッセージを通知する。
もしくは、エラー状況判別部22がコネクトパケットを正常に受信できなかったと判断するのは、始まりおよび終了と定められたシーケンスナンバーのパケットは受信したものの、連続するシーケンスナンバーのパケット一組のみを受信できない場合とする。
この場合、エラー原因判別部25は、通信中に通信を妨げる現象が一時的に発生したと判別する。そして、エラー原因判別部25の判別により、対処法出力部28は、ユーザーに周辺環境に気をつけて再度送信する旨のメッセージを通知する。
もしくは、エラー状況判別部22がコネクトパケットを正常に受信できなかったと判断するのは、終了と定められたシーケンスナンバーのパケットを受信出来ない場合とする。
この場合、エラー原因判別部25は、通信終了前に、送信回路が通信可能範囲から外れた、もしくは通信可能角度から外れたと判別する。そして、エラー原因判別部25の判別により、対処法出力部28は、ユーザーに近づいて再度送信し、通信の終了を確認するまでその状態を維持する旨のメッセージもしくは送信部と受信部の向きを正しくして再度送信し、通信の終了を確認するまでその状態を維持する旨のメッセージを通知する。
また、エラー原因判別部25は、コネクション確立のためのパケットは受信したものの、データパケットが正常に受信出来ない場合、送信機器がコネクションの確立よりも速度の速いデータ転送を行うために必要な通信可能範囲から外れていると判別する。そして、エラー原因判別部25の判別により、対処法出力部28は、ユーザーに近づいて再度送信する旨のメッセージを通知する。
また、エラー原因判別部25は、上記の複数のエラー状況の組合せにより、データパケットを正常に受信出来ない場合、送信機器がコネクションの確立よりも速度の速いデータ転送を行うために必要な通信可能範囲から外れていると判別する。そして、エラー原因判別部25の判別により、対処法出力部28は、ユーザーに近づいて再度送信する旨のメッセージを通知する。
また、エラー原因判別部25は、データパケットが正常に受信出来ない場合に、送信回路が通信開始時に通信可能角度から外れており、通信途中から通信可能角度内に向いたと判別してもよい。そして、エラー原因判別部25の判別により、対処法出力部28は、ユーザーに送信部と受信部の向きを正しくして再度送信する旨のメッセージを通知する。
また、対処法出力部28は、送信機器のデータ転送速度が変更可能であることが既知である場合に、エラー原因判別部25の判別により、ユーザーにデータ送信速度を低下させ再度送信する旨のメッセージを通知してもよい。
また、本発明の電子装置は、上記受信機器を保持する画像表示装置、または、記録装置、または、印刷装置である。
そして、これらの装置は、エラー原因判別部25による判別をユーザーに通知するための通知手段を持つ。もしくは、これらの装置は、対処法出力部28・37からのメッセージをユーザーに通知するための通知手段を持つ。
電子装置が画像表示装置の場合、エラー原因判別部25による判別を表示し、ユーザーに通知する。もしくは、対処法出力部28・37からのメッセージを表示し、ユーザーに通知する。
なお、上記通信システムとして赤外線を通信媒体として用いており、例えば、IrDA(Infrared Data Assosication)や、各通信層のコネクション確立のためのデータを全て纏めて送信する通信システム(IrSimple(Infrared Simple))を用いる。
また、コネクション確立のための通信速度として9600bpsを用いる。さらに、データ転送のための通信速度として4Mbpsを用いる。
また、上記電子装置は、赤外線受光部をユーザーに示す通知手段を持つ。当該電子装置が画像表示装置の場合、表示画面に赤外線受光部の位置をユーザに知らせるための表示を行う。
以上のように、本発明の受信機器は、送信機器から、通信接続の確立を行うためのコネクトパケットと、転送データを含み、上記コネクトパケットよりも通信速度が速いデータパケットとを無線通信を用いて受信する受信機器であって、受信状況が所定の第1受信失敗パターンを満たす場合に、上記コネクトパケットの受信が失敗したと判別する第1判別手段と、上記第1判別手段が受信失敗と判別した場合に、当該受信失敗の回避をユーザに促すための通知情報を、ユーザインターフェースに出力する通知情報出力手段とを備えることを特徴とする。
また、本発明の通信方法は、送信機器から、通信接続の確立を行うためのコネクトパケットと、転送データを含み、上記コネクトパケットよりも通信速度が速いデータパケットとを無線通信を用いて受信する受信機器における通信方法であって、上記受信機器の第1判別手段が、受信状況が所定の第1受信失敗パターンを満たす場合に、上記コネクトパケットの受信が失敗したと判別する判別ステップと、上記受信機器の通知情報出力手段が、上記第1判別手段が受信失敗と判別した場合に、当該受信失敗の回避をユーザに促すための通知情報を、ユーザインターフェースに出力する出力ステップとを含むことを特徴とする。
上記の構成によれば、第1判別手段が、受信状況が所定の第1受信失敗パターンを満たす場合に、上記コネクトパケットの受信が失敗したと判別する。そして、通知情報出力手段が、上記第1判別手段が受信失敗と判別した場合に、当該受信失敗の回避をユーザに促すための通知情報を、ユーザインターフェースに出力する。
これにより、ユーザは、受信失敗が生じた場合に、受信失敗の回避をユーザに促すための通知情報(例えば、受信機器と送信機器との距離が短いことを示す情報)を即座に認識することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。すなわち、データ転送のエラーが頻発することを避けることができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記コネクトパケットの通信速度に対応する第1パルスを検出する第1パルス検出手段を備え、上記第1判別手段は、上記第1パルス検出手段が所定数の上記第1パルスを検出した後、所定時間内にコネクトパケットの受信がない場合に、コネクトパケットの受信が失敗したと判別する。
上記の構成によれば、受信機器は、コネクトパケットの通信速度に対応する第1パルスを検出したものの、当該第1パルスで送信されるコネクトパケットを受信できない場合に、受信失敗を判別することができる。そして、このような受信失敗が判別された場合に、ユーザは、当該受信失敗に適切な通知情報を確認することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記コネクトパケットには、誤り検出符号が付加されており、上記第1判別手段は、上記誤り検出符号を用いて、受信したコネクトパケットに誤りが検出された場合に、コネクトパケットの受信が失敗したと判別する。
上記の構成によれば、受信機器は、コネクトパケットを受信したものの、当該コネクトパケットに誤りが検出された場合に、受信失敗を判別することができる。そして、このような受信失敗が判別された場合に、ユーザは、当該受信失敗に適切な通知情報を確認することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記コネクトパケットの前に送信される特定パルス列を検出する特定パルス列検出手段を備え、上記第1判別手段は、上記特定パルス列検出手段が所定数の特定パルス列を検出した後、所定時間内にコネクトパケットの受信が確認されない場合に、コネクトパケットの受信が失敗したと判別する。
なお、上記特定パルス列とは、例えばAdditional BOFなどであり、受信アンプを安定させるために送信される。
上記の構成によれば、受信機器は、コネクトパケットの前に送信される特定パルス列の一部を受信したものの、コネクトパケットを受信できない場合に、受信失敗を判別することができる。そして、このような受信失敗が判別された場合に、ユーザは、当該受信失敗に適切な通知情報を確認することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記コネクトパケットは、通信接続の確立に必要なデータを含むデータ部と、それ以外の付加部とから構成されており、上記第1判別手段は、上記データ部の受信を検出したものの、上記付加部の受信が失敗した場合に、コネクトパケットの受信が失敗したと判別する。
上記の構成によれば、受信機器は、コネクトパケットに含まれるコネクション確立に必要なパラメータを受信したものの、コネクトパケット全体を完全に受信できない場合に、受信失敗を判別することができる。そして、このような受信失敗が判別された場合に、ユーザは、当該受信失敗に適切な通知情報を確認することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記第1受信失敗パターンが複数種類あり、上記第1受信失敗パターンごとに予め定められた上記通知情報を記憶する通知情報テーブルと、上記第1判別手段においてコネクトパケットの受信が失敗したと判別された場合に、受信状況が満たす上記第1受信失敗パターンを特定し、上記通知情報テーブルから、特定した第1受信失敗パターンに対応する通知情報を読み出す通知情報読出手段とを備え、上記通知情報出力手段は、上記通知情報読出手段が読み出した通知情報をユーザインターフェイスに出力する。
上記の構成によれば、ユーザは、受信状況が満たす第1受信失敗パターンに応じた通知情報を容易に認識することができる。その結果、ユーザは、受信状況に応じた適切な回避方法で、再度データ転送を行うことができる。
また、本発明の受信機器は、送信機器から、通信接続の確立を行うためのコネクトパケットと、転送データを含み、上記コネクトパケットよりも通信速度が速いデータパケットとを無線通信を用いて受信する受信機器であって、受信状況が所定の第1受信失敗パターンを満たすか否かに応じて、上記コネクトパケットの受信が成功したか失敗したかを判別する第1判別手段と、受信状況が所定の第2受信失敗パターンを満たすか否かに応じて、上記データパケットの受信が成功したか失敗したかを判別する第2判別手段と、上記第1判別手段がコネクトパケットの受信が成功したと判別し、かつ、上記第2判別手段がデータパケットの受信が失敗したと判別した場合に、当該データパケットの受信失敗の回避をユーザに促すための通知情報を、ユーザインターフェイスに出力する通知情報出力手段とを備えることを特徴とする。
また、本発明の通信方法は、送信機器から、通信接続の確立を行うためのコネクトパケットと、転送データを含み、上記コネクトパケットよりも通信速度が速いデータパケットとを無線通信を用いて受信する受信機器における通信方法であって、上記受信機器の第1判別手段が、受信状況が所定の第1受信失敗パターンを満たすか否かに応じて、上記コネクトパケットの受信が成功したか失敗したかを判別する第1判別ステップと、上記受信機器の第2判別手段が、受信状況が所定の第2受信失敗パターンを満たすか否かに応じて、上記データパケットの受信が成功したか失敗したかを判別する第2判別ステップと、上記受信機器の通知情報出力手段が、上記第1判別手段がコネクトパケットの受信が成功したと判別し、かつ、上記第2判別手段がデータパケットの受信が失敗したと判別した場合に、当該データパケットの受信失敗の回避をユーザに促すための通知情報を、ユーザインターフェイスに出力する通知情報出力ステップとを含む。
上記の構成によれば、通知情報出力手段が、第1判別手段がコネクトパケットの受信が成功したと判別し、かつ、第2判別手段がデータパケットの受信が失敗したと判別した場合に、当該データパケットの受信失敗の回避をユーザに促すための通知情報を、ユーザインターフェイスに出力する。
これにより、ユーザは、コネクトパケットを受信成功したものの、データパケットに受信失敗が生じた場合に、受信失敗の回避をユーザに促すための通知情報(例えば、データパケットに対応する通信速度の通信可能エリア外であることを示す情報)を即座に認識することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。すなわち、データ転送のエラーが頻発することを避けることができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記データパケットの通信速度に対応する第2パルスを検出する第2パルス検出手段を備え、上記第2判別手段は、上記第2パルス検出手段が所定数の上記第2パルスを検出した後にデータパケットの受信が確認されない場合に、データパケットの受信が失敗したと判別する。
上記の構成によれば、受信機器は、データパケットの通信速度に対応する第2パルスを検出したものの、当該第2パルスで送信されるデータパケットを受信できない場合に、受信失敗を判別することができる。そして、このような受信失敗が判別された場合に、ユーザは、当該受信失敗に適切な通知情報を確認することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記データパケットの通信速度を検知する通信速度検知手段を備え、上記第2判別手段は、受信成功したコネクトパケットが示す通信速度よりも速い通信速度のデータパケットを上記通信速度検知手段が検知した場合に、データパケットの受信が失敗したと判別する。
上記の構成によれば、受信機器は、コネクトパケットが示す通信速度よりも速いデータパケットを受信した場合に、受信失敗を判別することができる。そして、このような受信失敗が判別された場合に、ユーザは、当該受信失敗に適切な通知情報(例えば、通信速度が速いことを示す情報)を確認することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記データパケットには、誤り検出符号が付加されており、上記第2判別手段は、上記誤り検出符号を用いて、受信したデータの誤り率が所定閾値以上である場合に、データパケットの受信が失敗したと判別する。
上記の構成によれば、受信機器は、データパケットを受信したものの、データの誤り率(エラーレート)が所定閾値以上である場合に、受信失敗を判別することができる。そして、このような受信失敗が判別された場合に、ユーザは、当該受信失敗に適切な通知情報を確認することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記無線通信が赤外線通信であり、上記閾値が1×10
−8
である。
上記の構成によれば、赤外線通信のIrDAにおいて、通信条件が悪く、データパケットの受信失敗が生じたことを判別することができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記データパケットが複数であり、各データパケットには順番を示すシーケンスナンバーが付与されており、上記第2判別手段は、始まりを示すシーケンスナンバーに対応するデータパケットを受信していない場合に、データパケットの受信が失敗したと判別する。
上記の構成によれば、受信機器は、始まりを示すシーケンスナンバーに対応するデータパケットを受信しておらず、途中のシーケンスナンバーに対応するデータパケットから受信している場合に、受信失敗を判別することができる。そして、このような受信失敗が判別された場合に、ユーザは、当該受信失敗に適切な通知情報(例えば、開始時に通信可能エリア外であることを示す情報)を確認することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記データパケットが複数であり、各データパケットには順番を示すシーケンスナンバーが付与されており、上記第2判別手段は、終わりを示すシーケンスナンバーに対応するデータパケットを受信していない場合、もしくは、終わりか否かを示すフィールドが終わりであることを示しているデータパケットを受信していない場合に、データパケットの受信が失敗したと判別する。
上記の構成によれば、受信機器は、終わりを示すシーケンスナンバーに対応するデータパケットを受信していない場合、もしくは、終わりか否かを示すフィールドが終わりであることを示しているデータパケットを受信していない場合に、受信失敗を判別することができる。そして、このような受信失敗が判別された場合に、ユーザは、当該受信失敗に適切な通知情報(例えば、終了時に通信可能エリア外であることを示す情報)を確認することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記データパケットが複数であり、各データパケットには順番を示すシーケンスナンバーが付与されており、上記第2判別手段は、始まりおよび終わりを示すシーケンスナンバーに対応するデータパケットを受信しているものの、途中のシーケンスナンバーに対応するデータパケットを受信していない場合に、データパケットの受信が失敗したと判別する。
上記の構成によれば、受信機器は、始まりおよび終わりを示すシーケンスナンバーに対応するデータパケットを受信しているものの、途中のシーケンスナンバーに対応するデータパケットを受信していない場合に、受信失敗を判別することができる。そして、このような受信失敗が判別された場合に、ユーザは、当該受信失敗に適切な通知情報(例えば、受信機器と送信機器との距離が遠いことを示す情報)を確認することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記データパケットが複数であり、各データパケットには順番を示すシーケンスナンバーが付与されており、上記第2判別手段は、始まりおよび終わりを示すシーケンスナンバーに対応するデータパケットを受信しているものの、途中の連続したシーケンスナンバーに対応するデータパケットのみを受信していない場合に、データパケットの受信が失敗したと判別する。
上記の構成によれば、受信機器は、始始まりおよび終わりを示すシーケンスナンバーに対応するデータパケットを受信しているものの、途中の連続したシーケンスナンバーに対応するデータパケットのみを受信していない場合に、受信失敗を判別することができる。そして、このような受信失敗が判別された場合に、ユーザは、当該受信失敗に適切な通知情報(例えば、データ転送の途中で通信妨害となる現象が生じたことを示す情報)を確認することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記データパケットが複数であり、各データパケットには順番を示すシーケンスナンバーが付与されており、上記第2判別手段は、少なくとも1つのシーケンスナンバーに対応するデータパケットを受信していない場合に、データパケットの受信が失敗したと判別する。
上記の構成によれば、受信機器は、全てのシーケンスナンバーに対応するデータパケットを受信していない場合に、受信失敗を判別することができる。そして、このような受信失敗が判別された場合に、ユーザは、当該受信失敗に適切な通知情報(例えば、受信機器と送信機器との距離が遠いことを示す情報)を確認することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記第2受信失敗パターンが複数種類あり、上記第2受信失敗パターンごとに予め定められた上記通知情報を記憶する通知情報テーブルと、上記第2判別手段においてデータパケットの受信が失敗したと判別された場合に、受信状況が満たす上記第2受信失敗パターンを特定し、上記通知情報テーブルから、特定した第2受信失敗パターンに対応する通知情報を読み出す通知情報読出手段とを備え、上記通知情報出力手段は、上記通知情報読出手段が読み出した通知情報をユーザインターフェイスに出力する。
上記の構成によれば、ユーザは、受信状況が満たす第2受信失敗パターンに応じた通知情報を容易に認識することができる。その結果、ユーザは、受信状況に応じた適切な回避方法で、再度データ転送を行うことができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記通知情報は、受信失敗の原因を示す原因情報である。
上記の構成によれば、ユーザは、受信失敗が生じた原因を認識することができる。その結果、ユーザは、当該原因を解消したうえで、データ転送を再度行うことができ、受信失敗を回避することができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記通知情報は、受信失敗を解決するための対処法を示す対処法情報である。
上記の構成によれば、ユーザは、受信失敗に対する対処法を認識することができる。その結果、ユーザは、当該対処法に従ってデータ転送を再度行うことにより、受信失敗を回避することができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記無線通信が赤外線通信である。
上記の構成によれば、赤外線を用いたデータ転送として、前述したように、IrDA規格がある。したがって、例えばIrDA規格に準拠した転送方式を採用している受信機器に対して、機器の間の角度がある一定以上の角度になったり、距離がある一定以上の距離になったりすることにより、通信が失敗してしまう確率を減らすことができる。
さらに、本発明の受信機器は、上記の構成に加えて、上記コネクトパケットの通信速度が9600bpsであり、上記データパケットの通信速度が4Mbpsである。
上記の構成によれば、IrDA規格で定められている無線通信のうち、広く用いられている通信速度を適用している。そのため、IrDA規格の多くの通信システムにおいて、ユーザが受信失敗を回避したうえでデータ転送を再度行うことができ、通信が失敗してしまう確率を減らすことができる。
また、本発明の電子装置は、上記の受信機器と、当該受信機器が備える通知情報出力手段によって通知情報が出力されるユーザインターフェースとを備える。
上記の構成によれば、ユーザは、上記ユーザインターフェースを介して、上記通知情報を確認することができる。その結果、ユーザは、受信失敗を回避する方法で、再度データ転送を行うことができる。すなわち、データ転送のエラーが頻発することを避けることができる。
さらに、本発明の電子装置は、上記の構成に加えて、送信機器から受信したデータを表示する画像表示装置である。
これによれば、ユーザは、画像表示装置に転送したデータを表示画面で確認することができる。そして、ユーザは、受信失敗が生じた際に、上記通知情報を確認することで、上記画像表示装置に対してデータ転送を繰り返し行うことがない。
さらに、本発明の電子装置は、上記の構成に加えて、上記インターフェースが表示部である。
これにより、ユーザは、視覚を通じて、通知情報を容易に確認することができる。
さらに、本発明の電子装置は、上記の構成に加えて、送信機器から受信したデータを記録する記録装置である。
これによれば、ユーザは、記録装置に転送したデータを記録媒体に記録させることができる。そして、ユーザは、受信失敗が生じた際に、上記通知情報を確認することで、上記記録装置に対してデータ転送を繰り返し行うことがない。
さらに、本発明の電子装置は、上記の構成に加えて、送信機器から受信したデータを印刷する印刷装置である。
これによれば、ユーザは、印刷装置に転送したデータを印刷させることができる。そして、ユーザは、受信失敗が生じた際に、上記通知情報を確認することで、上記印刷装置に対してデータ転送を繰り返し行うことがない。
さらに、本発明の電子装置は、上記の構成に加えて、上記無線通信が赤外線通信であり、赤外線を受光する赤外線受光部と、上記赤外線受光部の位置を通知する受光位置通知手段を備える。
上記の構成によれば、ユーザは、赤外線受光部の位置を容易に認識することができる。
さらに、本発明の電子装置は、上記の構成に加えて、送信機器から受信したデータを表示する画像表示装置であり、上記受光位置通知手段は、上記赤外線受光部の位置を表示画面に表示させる。
上記の構成によれば、ユーザは、視覚を用いて、容易に赤外線受光部の位置を認識することができる。
なお、上記受信機器は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより受信機器をコンピュータにて実現させる通信プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。