(57)【要約】【課題】赤外線データ通信において、送信側と受信側とで通信速度が異なる場合でも再送要求を少なくすることができる。【解決手段】送信バッファ１２のデータ量ＶＢ  が下限しきい値Ａ１以下で処理Ａ２への割込み間隔ＴｉｎをΔＴｄｓ  だけ減らし、バッファ１２へのデータ入力量を増加し、ＶＢ  ＞Ａ１でＴｉｎをΔＴｉｓだけ増加し、バッファ１２へのデータ入力量を減少し、ＶＢ  が上限しきい値Ａ２を超えると、バッファ１２へのデータ入力量を、前回の送信フレームのデータ量以下に制限する。【選択図】      図３
2004304588.tif 000002
【特許請求の範囲】
【請求項１】
入力デバイスインタフェースから入力した送信データを保存する送信データバッファと、
送信データを送信フレームとして送信し、相手側からのフレームレスポンスを受信する送信デバイスインタフェースと、
上記フレームレスポンスの受信から次の送信フレームの送信までの間隔を決める割込みタイマと、
上記送信データバッファ内に保存されているデータ量ＶＢ  を計数するデータ量カウンタと、
下限しきい値Ａ１とこれより大きい上限しきい値Ａ２が設定されるレジスタと、
前回の送信データの量を保存するレジスタと、
上記データ量ＶＢ  が下限しきい値Ａ１以下であれば、上記割込みタイマに設定する時間を大とし、送信データバッファに入力するデータ量を増加し、データ量ＶＢ  が下限しきい値Ａ１を超えれば上記割込みタイマに設定する時間を小とし、送信データバッファに入力するデータ量を減少し、データ量ＶＢ  が上限しきい値Ａ２を超えれば、上記送信データバッファへの入力データの量を前回の送信データ量以下にする制御部と
を具備するデータ送信装置。
【請求項２】
送信フレームを受信し、送信側にフレームレスポンスを送信する受信デバイスインタフェースと、
受信デバイスインタフェースからの受信データを保存する受信データバッファと、
上記受信データバッファの受信データを出力する出力デバイスインタフェースと、
上記送信フレームの受信から上記フレームレスポンスの送信まで応答間隔を決める応答タイマと、
上記受信データバッファのデータ量ＶＲ  を計数するデータ量カウンタと、
下限しきい値Ｂ１、これよりも大きい上限しきい値Ｂ２が設置されるレジスタと、
上記データ量ＶＲ  が下限しきい値Ｂ１以下であれば、上記応答タイマに設定する時間を小とし、上記受信データバッファから出力するデータ量を小とし、データ量ＶＲ  がしきい値Ｂ１を超えれば、上記応答タイマに設定する時間を大とし、上記受信データバッファから出力するデータ量を大とし、データ量ＶＲ  が上限しきい値Ｂ２を超えれば、上記応答タイマに設定する時間を更に大とする制御部と
を具備するデータ受信装置。
【請求項３】
入力デバイスインタフェースから入力データを送信データバッファに保存し、送信データバッファからデータを読出し、送信フレームとして送信デバイスインタフェースより送信し、送信デバイスインタフェースで相手側からフレームレスポンスを受信し、そのフレームレスポンスに対応して次の送信フレームを生成送信までの間隔を割込み間隔で決めるデータ送信方法において、
上記送信データバッファからデータの読出しごとにその読出したデータ量を保存し、
上記送信データバッファのデータ量ＶＢ  を下限しきい値Ａ１と比較し、
データ量ＶＢ  がしきい値Ａ１以下であれば上記割込み間隔を大とし、上記送信データバッファに入力する入力データ量を増加し、
データ量ＶＢ  がしきい値Ａ１を超えれば上記割込み間隔を小とし、上記送信データバッファに入力する入力データ量を減少し、
上記データ量ＶＢ  が上限しきい値Ａ２を超えれば、上記送信データバッファへ入力する入力データの量を前回読出したデータ量以下に制限する
ことを特徴とするデータ送信方法。
【請求項４】
送信フレームを受信デバイスインタフェースで受信し、受信データとして受信データバッファに保存し、その受信データバッファのデータを出力デバイスインタフェースへ出力し、上記送信フレームの受信から設定した応答間隔で上記受信デバイスインタフェースよりフレームレスポンスを送信側へ送信するデータ受信方法であって、
上記受信データバッファのデータ量ＶＲ  と下限しきい値Ｂ１とを比較し、
データ量ＶＲ  がしきい値Ｂ１以下であれば、上記応答間隔を小とし、上記出力デバイスインタフェースへ出力するデータ量を減少し、
上記データ量ＶＲ  がしきい値Ｂ１を超えると、上記応答間隔を大とし、上記出力デバイスインタフェースへ出力するデータ量を増加し、
上記データ量ＶＲ  が上記しきい値Ｂ１より大きい上限しきい値Ｂ２を超えると、上記応答間隔を更に大きくすることを特徴とするデータ受信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は例えば携帯情報端末や携帯電話機とパーソナルコンピュータとの間の赤外線データ通信に適用されるデータ送信装置及び受信装置に関する。
【０００２】
【従来の技術】
従来の赤外線データ通信システムでは、受信側が送信側から送られてくるフレーム（データパケット）を一定間隔で、受信処理、応答処理及びデータバッファからの出力処理を行っている。つまり、受信側のデータバッファの容量がかなり空いていて、更に受信できる状態でも、送信側に一定間隔で応答を返している。このため、送信装置側赤外線デバイスインタフェース（Ｉ／Ｆ）及び受信装置側赤外線デバイスインタフェース（Ｉ／Ｆ）間の赤外線信号の通信速度を上げても、データ転送効率を期待するように向上させることができない問題があった。
受信側の受信データバッファが一杯になり易く、一杯になって受信できなくなると受信側が受信できなかったフレームについて送信側に対し、再送命令（応答）を返し、送信側から再度、同一のフレームが送信されてくるので、送信側から受信側へのデータ転送効率が低下する問題があった。
【０００３】
この問題を解決する技術を特許文献１で提案した。この技術のシステム構成は図１に示すように、赤外線データ送信装置１００では送信データを外部より入力する入力デバイスインタフェース（Ｉ／Ｆ）１１と、入力デバイスインタフェース１１より転送された送信データを書き込む送信データバッファ１２と、送信データバッファ１２より転送された１フレーム（１パケット）分の送信データを書き込む送信メモリ１３と、送信メモリ１３より転送された送信データを赤外線データに変換して相手側の赤外線データ受信装置２００へ送信し、赤外線データ受信装置２００より送信された１フレーム分のフレームレスポンス（赤外線データ）を受信して電気信号に変換する赤外線デバイスインタフェース（Ｉ／Ｆ）１４と、赤外線デバイスインタフェース１４で光電変換された受信フレームレスポンスを書き込む受信メモリ１５と装置１００内の各部の動作を制御する制御部１６とを備える。
【０００４】
赤外線データ受信装置２００では相手側の赤外線データ送信装置１００より１フレームづつ送信された赤外線データを受信して電気信号に変換し、その１フレーム毎の受信データに対応して相手側に送信するフレームレスポンスを赤外線データに変換して送信する赤外線デバイスインタフェース２１と、赤外線デバイスインタフェース２１より転送された１受信フレームを書き込む受信メモリ２２と、１受信フレームに対応して相手側に返すフレームレスポンスを書き込む１フレーム送信メモリ領域と、受信メモリ２２より転送された受信フレームを書き込む受信データバッファ２３と、受信データバッファ２３のデータを読出して外部に出力する出力デバイスインタフェース（Ｉ／Ｆ）２４と、装置２００内の各部を制御する制御部２６とを備える。
【０００５】
赤外線データ送信装置１００の動作を、図２及び図３を参照して説明する。
ステップＳ１：プログラム初期化処理Ａ１をする。つまり汎用の直列入出力インタフェースや並列入出力インタフェース等より成る入力デバイスＩ／Ｆ１１のステータスラインの初期化を行い、汎用の赤外線制御器より成る送信側赤外線デバイスＩ／Ｆ１４の各種のレジスタの設定を行い、制御部１６に格納されたソフトウェアで構成される送信側赤外線通信プロトコル処理の初期化を行う。この際、送信側赤外線通信プロトコル（手順）処理Ａ２への割込み時間間隔をＴｉｎを格納する割込み間隔レジスタ１６ａに、送信装置１００と受信装置２００の各最大通信速度中の小さい方と対応した割込み間隔Ｔｉｎ０（ｍｓ）を格納する。
【０００６】
ステップＳ２：送信側赤外線通信プロトコル処理Ａ２を実行する。この処理Ａ２の手順を図４を参照して述べる。
ステップＳ２−１：割込みタイマ１６ｂを０に初期化する。
ステップＳ２−２：相手側赤外線データ受信装置２００からの受信フレームレスポンスＲＦａの判定を行う。即ち、受信メモリ１５に格納された受信側から送られたフレームレスポンスから受信側が正しく受信できたか否かを調べ、フレームレスポンスから受信側にデータが正しく届いたか否かの判定を行い、次に送信するフレームの生成命令を出す（処理Ａ２−１）。つまり、フレームレスポンスを調べて正しければ、次のフレームの生成を指示し、正しくなければ、あるいは対応する受信フレームレスポンスが受信されていなければ、次のフレームを送れないと言う内容のフレームの生成を指示する。
【０００７】
ステップＳ２−３：送信データバッファ１２の現在のデータ量ＶＢ  が１フレーム分、つまり１パケットのデータ量ＶＦより大きいか否かを調べる。
ステップＳ２−４：送信データバッファ１２のデータ量ＶＢ  が１フレーム分ＶＦ  より大きければ、送信データバッファ１２から１フレーム分ＶＦ  のデータを切り出し（処理Ａ２−２）、切り出したデータ量ＶＦ  だけバッファデータＶＢ  を減少させる。
ステップＳ２−５：赤外線で送信するデータパケット（１フレーム分）を生成し（処理Ａ２−３）、その送信パケットを送信メモリ１３に格納する（処理Ａ２−４）。
【０００８】
ステップＳ２−６：受信フレームレスポンスＲＦａを受信してから設定した割込みタイマ１６ｂがタイムアウトしたか、つまり０になっているか確認する。最初はステップＳ２−１で割込みタイマ１６ｂは０に初期化されている。割込みタイマ１６ｂは割込み間隔Ｔｉｎが設定されると、時間の経過と共にタイマ１６ｂの値が減少する。
ステップＳ２−７：割込みタイマ１６ｂの値が０であれば送信側赤外線デバイスＩ／Ｆ１４へフレーム出力命令を出し、赤外線デバイスＩ／Ｆ１４は送信メモリ１３内の送信パケットＳＦａを赤外線データに変換して赤外線データ受信装置２００へ送信する。
【０００９】
ステップＳ２−８：送信側赤外線デバイスＩ／Ｆ１４から送信した送信パケットＳＦａに対する受信側からの受信フレームレスポンスＲＦａが送信側赤外線デバイスＩ／Ｆ１４により電気信号に変換されて受信メモリ１５に格納されている受信フレームレスポンスの入力処理（Ａ２−５）を行い、かつ割込みタイマ１６ｂに割込み間隔レジスタ１６ａ内の値Ｔｉｎ（ｍｓ）を設定してステップＳ２−２に戻る。
次に図２に示すように、
ステップＳ３：入力デバイスＩ／Ｆ１１から受信割込み要求が発生すると、
ステップＳ４：送信データバッファ１２内のデータ量ＶＢ  がしきい値Ａｔｈ以下か否かを調べる。
【００１０】
ステップＳ５：バッファデータ量ＶＢ  がしきい値Ａｔｈ以下であれば、割込み間隔Ｔｉｎ（ｍｓ）をその初期値Ｔｉｎ０（ｍｓ）に対し増加値ΔＴｉｓ（ｍｓ）だけ増加させた値にし、つまりこの大とされた割込み間隔に割込み間隔レジスタ１６ａの内容を更新し、また１回の受信割込み要求に対するデータ入力処理Ａ３の処理回数を増加させる。よってタイマ割込みによる赤外線通信プロトコル処理Ａ２の発生間隔を大とし、送信データバッファ１２内のデータ量ＶＢ  が増加するようになる。
ステップＳ６：バッファデータ量ＶＢ  がしきい値Ａｔｈ以下でなければ、割込み間隔Ｔｉｎ（ｍｓ）をその初期値Ｔｉｎ０（ｍｓ）から減少値ΔＴｄｓ（ｍｓ）だけ差し引いた値とし、この値に割込み間隔レジスタ１６ａの内容を更新し、タイマ割込みによる赤外線通信プロトコル処理Ａ２の発生間隔が小さくなり、また１回の受信割込み要求に対するデータ入力処理Ａ３の処理回数を減らす。よって送信データバッファ１２内のデータ量ＶＢ  は減少するようになる。
【００１１】
ステップＳ７：データ入力処理Ａ３を行う。つまり入力デバイスＩ／Ｆ１１の制御線などの状態を調べ、入力デバイスＩ／Ｆ１１がそれからデータを取込んでもよい状態になっていれば、入力デバイスＩ／Ｆからデータを取込み、送信データバッファ１２に格納し、その格納したデータ量ＶＷ  をバッファデータ量ＶＢ  に加算して、バッファデータ量ＶＢ  を更新してステップＳ２に戻る。バッファデータ量ＶＢ  は例えばデータ量カウンタ１６ｃを送信データバッファ１２にデータがない状態で０としておき、送信データバッファ１２にデータを格納する際にそのデータ量にデータ量カウンタ１６ｃでカウントアップし、送信データバッファ１２からデータを取出す際にそのデータ量をデータ量カウンタ１６ｃでカウントダウンすればよい。
【００１２】
次に赤外線データ受信装置２００の動作を図５及び図６を参照して説明する。
ステップＳ１：プログラム初期化処理Ｂ１を実行する。つまり汎用の直列入出力インタフェース、並列入出力インタフェース等より成る出力デバイスＩ／Ｆ２４のステータスラインの初期化、汎用の赤外線コントローラより成る受信側赤外線デバイスＩ／Ｆ２１の各種のレジスタの設定、制御部２６に制御されたソフトウェアで構成される受信側赤外線通信プロトコル処理の初期化をそれぞれ行う。この際、制御部２６内の応答間隔レジスタ２６ａにはその赤外線データ送信装置１００と受信装置２００の各最大通信速度中の小さい方によって決まる応答間隔Ｔｒｅ０（ｍｓ）を格納する。
【００１３】
ステップＳ２：受信側赤外線通信プロトコル（手順）処理Ｂ２を実行する。送信側から赤外線デバイスＩ／Ｆ２１に受信された赤外線パケットは電気信号に変換され、受信メモリ２２に格納されている。
受信側赤外線通信プロトコル処理Ａ２の詳細を図６及び図７を参照して説明する。
ステップＳ２−１：フレーム入力処理Ｂ２−１を行う、つまり受信メモリ２２から１フレームデータ（コマンド）を取り出し、また、応答タイマ２６ｂに、応答間隔レジスタに格納されている応答間隔時間Ｔｒｅ（ｍｓ）（＝Ｔｒｅ０（ｍｓ））を設定する。
【００１４】
ステップＳ２−２：取り出したデータが壊れていないかどうかのフレーム判定処理Ｂ２−２を行う。
ステップＳ２−３：このフレーム判定が正常ならばフレーム（パケット）からデータ部分を切出す。
ステップＳ２−４：そのデータ量Ｖｒ  が０より多いかを調べ、
ステップＳ２−５：受信データバッファ２３のデータ空き量ＶＥ  が、切出したデータ量Ｖｒ  より大きいか否かを調べる（処理Ｂ２−３）。
ステップＳ２−６：ステップＳ２−５で空き量ＶＥ  の方が大きければ切出した受信データを受信データバッファ２３に書込み、切出したデータ量ＶＦ  だけ受信バッファデータ量ＶＲ  を増加する。受信バッファデータ量ＶＲ  の管理のため、例えば送信側と同様にデータ量カウンタ２６ｃを設ける。
【００１５】
ステップＳ２−７：ステップＳ２−２での判定結果が受信フレームが正常であれば、そのことを示す正常フレームレスポンスを生成する（処理Ｂ２−４）。
ステップＳ２−８：ステップＳ２−５においてバッファ空き量ＶＥ  が受信データ量Ｖｒ  より小さい場合は、受信データの受信データバッファ２３への転送を行わず、所定の再送フレームレスポンスを生成する（処理Ｂ２−４）。
ステップＳ２−９：応答タイマ２６ｂがタイムアウト、つまり０となるのを待ち、
受信フレームデータが壊れていたら、つまりステップＳ２−４で切出すデータがなければ同様に再送フレームレスポンスを生成する（処理Ｂ２−４）。
【００１６】
ステップＳ２−１０：応答タイマ２６ｂが０となれば赤外線デバイスＩ／Ｆ２１へフレーム生成処理Ｂ２−４で生成したフレームレスポンスを出力する。つまりフレーム出力処理Ｂ２−５を行う。赤外線デバイスＩ／Ｆ２１はフレームレスポンスが入力されるとこれを赤外線パケットに変換して赤外線データ送信装置１００へ送信する。
ステップＳ３：図５に示すように受信データバッファ２３のデータ量ＶＲ  がしきい値Ｂｔｈ以下であるかを調べる。
ステップＳ４：しきい値Ｂｔｈ以下であれば、応答間隔Ｔｒｅ（ｍｓ）をその初期値Ｔｒｅ０  に対し、減少値ΔＴｄｒ（ｍｓ）だけ減少させた値にして応答間隔レジスタ２６ａの内容を更新し、フレームレスポンス、つまり受信応答の間隔Ｔｒｅ（ｍｓ）を小さくし、赤外線通信プロトコル処理Ｂ２の回数を増加する。またステップＳ６で受信データバッファ２３から出力デバイスＩ／Ｆ２４へデータを出力する状態になるごとに読出す受信データの出力処理Ｂ３の回数を減らす。
【００１７】
ステップＳ５：データ量ＶＲ  がしきい値Ｂｔｈ以下でなければ、応答間隔Ｔｒｅを、その初期値Ｔｒｅ０（ｍｓ）に対し、増加値ΔＴｉｒ（ｍｓ）だけ増加させた値にして、応答間隔レジスタ２６ａの内容を更新し、つまり受信応答の間隔Ｔｒｅ（ｍｓ）を大きくして、赤外線通信プロトコル処理Ｂ２の回数を減少させる。またステップＳ７での受信デーの出力処理Ｂ３の回数を増加させる。
ステップＳ６：受信データバッファ２３のデータ量ＶＲ  が０より大であるかを調べる。
ステップＳ７：データ量ＶＲ  が０より大であれば、受信データ出力処理Ｂ３を行う。つまり出力デバイスＩ／Ｆ２４の制御線を調べ、出力デバイスＩ／Ｆ２４がデータを出力してよい状態になっていれば、受信データバッファ２３から出力デバイスＩ／Ｆ２４へデータを出力し、その出力したデータ量だけバッファデータ量ＶＲ  を減少してステップＳ２に戻る。
【００１８】
【特許文献１】
特開平２０００−１０１６５６号公報
【００１９】
【発明が解決しようとする課題】
上記特許文献１に示す技術によれば、赤外線データ送信装置１００と赤外線データ受信装置２００とでパケット通信速度が互いに異なっていても送信データバッファ１２、受信データバッファ２３が満杯になることなく、かつ効率よくデータ転送をすることができると考えられる。
このように、受信側が送信側から送られてくるフレーム（パケット）を任意の間隔で、赤外線送信処理、赤外線受信処理及びデータバッファへの入力処理及び出力処理を行っている場合でも、赤外線受信装置側の出力デバイスＩ／Ｆ２４のデータ最大流量が、赤外線受信装置側の赤外線デバイスＩ／Ｆ１４で受信されるデータ最大流量を下回った場合、赤外線受信装置２００、赤外線送信装置１００共にデータバッファ２３，１２が一杯になり、赤外線送信装置１００は頻繁にフレーム（パケット）を送信し、それに対し赤外線受信装置２００が頻繁に再送フレームレスポンスを返すため、赤外線送信装置１００から同じデータを送信することが多くなる。これら無駄なデータ（パケット）の送信によって、赤外線デバイスＩ／Ｆ１４，２１の赤外線発光素子等のハードウェア消費電力が多くなるため、電池駆動の赤外線送受信装置の場合、実働時間が短くなる恐れがあった。
【００２０】
この発明の目的は、これら従来の問題を解決して、システムデータ転送効率と装置動作効率を向上させた赤外線データ送信及びデータ受信装置を提供することにある。
【００２１】
【課題を解決するための手段】
この発明によるデータ送信装置によれば、送信データバッファのデータ量について２つのしきい値Ａ１ｔｈとＡ２ｔｈを設け、小さい方のしきい値Ａ１ｔｈを基準として従来と同様に、送信側通信プロトコル処理Ａ２への割込み間隔を制御すると共に、送信データバッファへの書込みごとにその書込みデータ量Ｖｓｗを記憶部に記憶しておき、送信データバッファ量ＶＢ  が大きい方のしきい値Ａ２ｔｈを超えると、入力デバイスＩ／Ｆから取込むデータ量を、送信データバッファに前回取込んだデータ量Ｖｓｗより小とする。
【００２２】
この発明によるデータ受信装置によれば、受信データバッファのデータ量について、２つのしきい値Ｂ１ｔｈとＢ２ｔｈを設け、小さい方のしきい値Ｂ１ｔｈを基準として従来と同様にフレームレスポンス（応答）間隔を、初期値に対し、増加値の加算又は減少値の減少により制御すると共に、受信データ量が大きい方のしきい値Ｂ２ｔｈを超えると、現在の応答間隔より更に応答間隔を長くする。
【００２３】
【発明の実施の形態】
この発明を図１に示した赤外線データ送受信システムに適用した場合の実施形態を説明する。ハードウェア構成は図１に示したものと同様であり、機能構成も図３、図６に示したものとほぼ同様であるが、赤外線データ送信装置１００では図３中の制御部１６内に、下限しきい値Ａ１ｔｈと上限しきい値Ａ２ｔｈがそれぞれ設定されるしきい値レジスタ１６ｄ，１６ｆ（従来技術においても説明しなかったがしきい値Ａｔｈが設定されるレジスタが設けられている）と、読出しデータ量Ｖｓｗを格納するための読出し量記憶部１６ｇが設けられている。
【００２４】
このデータ送信装置１００の動作を図８を参照して図２に示した従来のものと異なる所を主に説明する。ステップＳ１〜Ｓ３は図２に示したステップＳ１〜Ｓ３と同様である。
ステップＳ４：送信データバッファ１２のデータ量ＶＢ  が小さい方のしきい値Ａ１ｔｈ以下であるかを調べる。
ステップＳ５：ＶＢ  がＡ１ｔｈ以下であれば、図２中のステップＳ５と同様に割込み間隔Ｔｉｎを、初期値Ｔｉｎ０  に増加値ΔＴｉｓを加算した値として、処理Ａ２への割込み回数を減少し、また受信割込み要求ごとのデータ入力処理Ａ３の回数を増加させ、つまり入力データ量を増加させる。このようにして送信データバッファ１２のデータ量ＶＢ  が増加するようにする。この実施形態では処理Ａ２により送信データバッファ１２から読み出されたデータ量Ｖｓｗを読出し量記憶部１６ｇに格納する。この読出しデータ量Ｖｓｗは１パケット内のデータ量ＶＦ  と等しいことが多いが、ひとかたまりのデータの送信における最後のパケットにはＶＦ  以下の場合もある。
【００２５】
ステップＳ６：ステップＳ４でデータ量ＶＢ  がしきい値Ａ１ｔｈ以下でなければ、データ量ＶＢ  が大きい方のしきい値Ａ２ｔｈ以下か否かを調べる。
ステップＳ７：ＶＢ  がＡ２ｔｈ以下であれば図２中のステップＳ６と同様に割込み時間Ｔｉｎを初期値Ｔｉｎ０  に対し減少値ΔＴｄｓだけ減少して、赤外線通信プロトコル処理Ａ２の割込み間隔を小とし、また受信割込み要求ごとの入力デバイスＩ／Ｆ１１からの送信データバッファ１２への入力処理Ａ３の回数を減少し、つまり入力データ量を減らし、送信データバッファ１２内のデータ量ＶＢ  が減少するようにする。この実施形態では更に赤外線通信プロトコル処理Ａ２において送信データバッファ１２から読出したデータ量Ｖｓｗを読出し量記憶部１６ｇに更新保持する。
【００２６】
ステップＳ８：図２中のステップＳ７と全く同様の処理を行ってステップＳ２に戻る。
ステップＳ９：バッファデータ量ＶＢ  がしきい値Ａ２ｔｈ以下でなければ、図２中のステップＳ２−７と同様に入力デバイスＩ／Ｆ１１からデータ入力処理Ａ３を行うが、その取込みデータ量ＶＷ  は直前の処理Ａ２において送信データバッファ１２から読出したデータ量Ｖｓｗ、つまり読出し量記憶部１６ｇに格納されている読出しデータ量Ｖｓｗより減少値ΔＶｓ  だけ少ない量とする。従って、この入力データＩ／Ｆ１１からの送信データバッファ１２へのデータの取り込みにより送信データバッファ１２のデータ量ＶＢ  はＶｓｗ−ΔＶｓ  となり、前回の処理Ａ２を実行する前のデータ量ＶＢ  より減少する。この送信データバッファ１２への書き込みによりデータ量ＶＢ  の更新は当然行う。その処理の後、ステップＳ２に戻る。
【００２７】
なお上述においてステップＳ３の受信割込み要求よりも、割込みタイマ１６ｂに基づく処理を優先させる。つまり割込みタイマ１６ｂがタイムアウトすると直ちに図２中のステップＳ２−７の処理に移る。
次にこの実施形態の赤外線データ受信装置２００について従来の装置との違いを主に説明する。この受信装置の機能構成において、図６に示すように下限しきい値Ｂ１ｔｈ、上限しきい値Ｂ２ｔｈが設定されたレジスタ２６ｄ，２６ｅが設けられる（従来の装置においても図に示さなかったがしきい値Ｂｔｈを格納するレジスタが設けられていた）。この装置２００の動作を図９を参照して説明する。ステップＳ１及びＳ２は図５に示したステップＳ１及びＳ２と同様である。ステップＳ３において、この実施形態では受信データバッファ２３のデータ量ＶＲ  が小さい方のしきい値Ｂ１ｔｈ以下であるかを調べる。ＶＲ  がしきい値Ｂ１ｔｈ以下であれば、ステップＳ４で、図２中のステップＳ４と同様の処理、つまり応答間隔Ｔｒｅを小とし、またステップＳ４に移った時に行うデータ出力処理Ｂ３の回数を減らし、つまり出力データ量を減らす。
【００２８】
ステップＳ５：データ量ＶＲ  がしきい値Ｂ１ｔｈ以下でなければ大きい方のしきい値Ｂ２ｔｈ以下であるかを調べる。ＶＲ  がＢ２ｔｈ以下であれば、ステップＳ６で図２中のステップＳ５と同様の処理、つまり応答間隔Ｔｒｅを大とし、ステップＳ６に移った時行うデータ出力処理Ｂ３の回数を増加させ、つまり出力データ量を増加させる。
【００２９】
ステップＳ７：ＶＲ  がしきい値Ｂ２ｔｈ以下でなければ、応答間隔Ｔｒｅ（ｍｓ）を、現在の応答間隔Ｔｒｅ（ｍｓ）に増加値ΔＴｉｒ２（ｍｓ）を加算した値に更新してレジスタ２６ｅに格納し、フレームレスポンスを送信側に送る間隔を更に長くして、受信データバッファ２３へのデータ書き込みを制限する。
ステップＳ８及びＳ９は図２中のステップＳ６及びＳ７と同様の処理を行う。
この実施形態によれば以上のように動作するため、送信装置１００及び受信装置２００は、入力デバイスＩ／Ｆ１１のデータ最大流量（通信速度）ＰｉＩＦ  と出力デバイスＩ／Ｆ２４のデータ最大流量（通信速度）ＰｏＩＦと、データバッファのデータ量ＶＢ  ，ＶＲ  との関係で次のように動作することになる。
【００３０】
ＰｉＩＦ  ＜ＰｏＩＦ  の場合を図１０に、ＰｉＩＦ  ＞ＰｏＩＦ  の場合を図１１及び図１２にそれぞれ示す。図１０Ａに示す状態では送信側で図８中のステップＳ７の処理を、受信側で図９中のステップＳ４の処理をそれぞれ行い、その結果図１０Ｂに示すようになり、送信側で図８中のステップＳ５の処理を、受信側で図９中のステップＳ６の処理をそれぞれ行うことになる。ＰｉＩＦ  ＞ＰｏＩＦ  の場合には図１１Ａに示す状態では送信側で図８中のステップＳ７の処理を、受信側で図９中のステップＳ４の処理をそれぞれ行い、図１１Ｂに示す状態になると、送信側で図８中のステップＳ９の処理を、受信側で図９中のステップＳ６の処理をそれぞれ行うようになる。その結果、図１２Ａに示す状態になると送信側で図８中のステップＳ５の処理を、受信側で図９中のステップＳ７の処理をそれぞれ行う。その結果、図１２Ｂに示すように図１１Ａに示した状態と同様の状態になり、その処理も同様に変更することになる。
【００３１】
送信装置１００中の送信メモリ１３及び受信メモリ１４は１つのメモリの領域を分割して用いてもよい。同様に、受信装置２００中の受信メモリ２２及び送信メモリ２５も１つのメモリの領域を分割して用いてもよい。図８及び図９に示した処理手順を、それぞれコンピュータに実行させてもよい。またこの発明は赤外線データ通信のみならず、他のデータ通信、特に携帯用データ通信の装置に適用して好ましい。
【００３２】
【発明の効果】
以上述べたようにこの発明によれば、受信側の出力デバイスＩ／Ｆのデータ最大流量が受信デバイスインタフェースに受信されるデータ最大流量を下回った場合でも、再送要求のフレームレスポンスの発生回数を少なくすることができる。
【図面の簡単な説明】
【図１】この発明が適用される赤外線データ送信システムの構成例を示す図。
【図２】従来の赤外線データ送信方法の処理手順を示す流れ図。
【図３】この発明のデータ送信装置の実施形態の機能構成例を示す図。
【図４】従来の送信側赤外線通信プロトコル処理を示す流れ図。
【図５】従来の赤外線データ受信方法の処理手順を示す流れ図。
【図６】この発明のデータ受信装置の実施形態の機能構成例を示す図。
【図７】従来の受信側赤外線通信プロトコルの処理を示す流れ図。
【図８】この発明のデータ送信方法の実施形態の処理手順を示す流れ図。
【図９】この発明のデータ受信方法の実施形態の処理手順を示す流れ図。
【図１０】この発明を適用した場合のバッファデータ量と処理の関係例を示す図。
【図１１】バッファデータ量と処理の他の関係例を示す図。
【図１２】バッファデータ量と処理の更に他の関係例を示す図。
【図１】
2004304588.tif 000003
【図２】
2004304588.tif 000004
【図３】
2004304588.tif 000005
【図４】
2004304588.tif 000006
【図５】
2004304588.tif 000007
【図６】
2004304588.tif 000008
【図７】
2004304588.tif 000009
【図８】
2004304588.tif 000010
【図９】
2004304588.tif 000011
【図１０】
2004304588.tif 000012
【図１１】
2004304588.tif 000013
【図１２】
2004304588.tif 000014