説明

データ転送装置、画像投影装置、データ転送方法およびプログラム

【課題】接続機器からのデータのリード効率を向上させること。
【解決手段】プロジェクタ100は、USBデバイスとの間でデータ転送を行うUSBホストコントローラ111と、USBデバイスに対してデータのRead要求を発行し、USBデバイスからRead要求に対応してACK応答を受信しなかった場合に、再送時間の経過後に、Read要求の発行を再開するUSBバスドライバ113と、を備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ転送装置、画像投影装置、データ転送方法およびプログラムに関する。
【背景技術】
【0002】
プロジェクタは、PCを介することなくUSB機器を相互に接続するための規格であるOn−The−Goに準拠することで、USBメモリを直接認識し、そのUSBメモリ内の映像データを投影することが可能となる。プロジェクタは、USBメモリが接続されると、USBメモリを認識する処理(エニュメレーション)を行う。エニュメレーション処理が完了後、プロジェクタはUSBメモリが応答可能な状態にあるかどうかを確認するためのTest Unit Readyコマンドを、USBホストであるプロジェクタからUSBデバイスであるUSBメモリに送出する。USBメモリによっては、そのTest Unit Readyコマンドに対する成功の応答であるACK応答に秒単位の時間を要するものがある。
【0003】
プロジェクタは、USBメモリからの応答を待機するために、Read要求パケット(バルク転送のINトークン)を発行し、USBメモリからACK応答があるまでINトークンを繰り返し発行し続ける。
【0004】
しかしながら、起動時の応答が遅いUSBメモリは、そのINトークンに対し、まだ準備が出来ていないことを示すために、NAK(Negative Acknowledgement)応答を行う。そして、USBメモリは、準備が完了した時点でACK(Acknowledgement)応答をUSBホスト(プロジェクタ)に対して送出する。これらのINトークンの発行、NAK/ACK応答の受信、NAK応答を何回連続して受信したかなどの情報は、プロジェクタ内の組込機器向けのハードウェアであるUSBホストコントローラによって制御および管理される。
【0005】
プロジェクタは、USBホストコントローラに設定したNAK累積最大受信回数の上限に達する数のNAKを連続して受信すると、そのRead要求はエラーとなるため、USBホストコントローラを制御する、より上位のソフトウェア階層で再送処理を行うことになる。このようなTest Unit Readyコマンドの応答に時間を要するUSBメモリをプロジェクタに接続した場合、USBホストコントローラの性能・仕様によっては、例えば、INトークンの発行間隔が1μsレベルで発行可能な性能のコントローラにおいて、NAK累積最大受信回数が10万回であったとすると、1秒程度以内にACK応答を受信しないと、Test Unit Readyコマンド実行が成功せず、プロジェクタはUSBメモリが応答可能な状態ではないと判断し、USBメモリの認識を中止することになりかねない。
【0006】
プロジェクタがUSBメモリの認識を中止するようなケースは、NAK応答が連続し、プロジェクタ側のコマンド応答のタイムアウト時間内にACK応答がなければ、USBメモリの認識を中止することになり得る。
【0007】
このため、特許文献1の技術では、NAK累積応答数の最適化を図っているが、レスポンスを受ける毎に上限値、下限値の判定を行っている。USB2.0規格の転送は1μsオーダであり、USB3.0規格は更にその1/10レベルと高速であり、このような判定制御やレジスタ変更を、その都度ソフトウェアで行うことは効率が悪い。このような判定制御をASIC(Application Specific Integrated Circuit)等でハードウェアとして実装することが好ましいが、プロジェクタのような組込機器では、製品コストの観点からも汎用的なUSBホスト制御コントローラを使用することが多い。このため、レジスタを制御する下位のドライバ層でレジスタ設定変更を行うのではなく、Read要求に対してNAK累積最大受信回数に達した場合は、ドライバ層よりも上位のプロトコル層での再送間隔を制御した方が良い。
【0008】
また、特許文献2の技術では、NAK応答後のINトークンの再送間隔を制御しているが、NAK応答を1回受信しただけで再送間隔を制御してしまうと、次のINトークン発行までの時間が空いてしまい、Read効率が低下する。上述のNAK累積最大受信回数の制御にように、NAK応答を受信しても一定数のINトークンを連続的に発行する方がRead効率的には良い。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、上記に鑑みてなされたものであって、接続機器からのデータのリード効率を向上させることができるデータ転送装置、画像投影装置、データ転送方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するために、本発明にかかるデータ転送装置は、接続先機器との間でシリアル伝送路を介したデータ転送を行うシリアルインタフェース制御部と、前記シリアルインタフェース制御部による前記データ転送を制御するとともに、前記接続先機器に対してデータのリード要求を発行し、所定の条件下で前記接続先機器から前記リード要求に対応して成功の応答を受信しなかった場合に、所定の再送時間の経過後に、前記リード要求の発行を再開する転送制御部と、を備えたことを特徴とする。
【0011】
本発明にかかる画像投影装置は、接続先機器との間でシリアル伝送路を介したデータ転送を行うシリアルインタフェース制御部と、前記シリアルインタフェース制御部による前記データ転送を制御するとともに、前記接続先機器に対してデータのリード要求を発行し、所定の条件下で前記接続先機器から前記リード要求に対応して成功の応答を受信しなかった場合に、所定の再送時間の経過後に、前記リード要求の発行を再開する転送制御部と、前記接続先機器から転送されたデータを投影する投影部と、を備えたことを特徴とする。
【0012】
本発明にかかるデータ転送方法は、データ転送装置で実行されるデータ転送方法であって、前記データ転送装置は、接続先機器との間でシリアル伝送路を介したデータ転送を行うシリアルインタフェース制御部を備え、前記シリアルインタフェース制御部による前記データ転送を制御するステップと、前記接続先機器に対してデータのリード要求を発行するステップと、所定の条件下で前記接続先機器から前記リード要求に対応して成功の応答を受信しなかった場合に、所定の再送時間の経過後に、前記リード要求の発行を再開するステップと、を含むことを特徴とする。
【0013】
本発明にかかるプログラムは、コンピュータに実行させるためのプログラムであって、前記コンピュータは、接続先機器との間でシリアル伝送路を介したデータ転送を行うシリアルインタフェース制御部を備え、前記シリアルインタフェース制御部による前記データ転送を制御するステップと、前記接続先機器に対してデータのリード要求を発行するステップと、所定の条件下で前記接続先機器から前記リード要求に対応して成功の応答を受信しなかった場合に、所定の再送時間の経過後に、前記リード要求の発行を再開するステップと、を前記コンピュータに実行させる。
【発明の効果】
【0014】
本発明によれば、接続機器からのデータのリード効率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【0015】
【図1】図1は、実施の形態1にかかるプロジェクタの構成図である。
【図2】図2は、プロジェクタをPCに接続した例を示す図である。
【図3】図3は、プロジェクタにUSBメモリを接続した例を示す図である。
【図4】図4は、実施の形態1のプロジェクタの機能的構成および階層構造を示す図である。
【図5】図5は、映像データリストの表示例を示す図である。
【図6】図6は、実施の形態1のデータ転送処理のシーケンス図である。
【図7】図7は、実施の形態2のデータ転送処理のシーケンス図である。
【発明を実施するための形態】
【0016】
以下に添付図面を参照して、この発明にかかるデータ転送装置、画像投影装置、データ転送方法およびプログラムの実施の形態を詳細に説明する。
【0017】
(実施の形態1)
図1は、実施の形態1にかかるプロジェクタの構成図である。図1に示すように、本実施の形態の画像投影装置としてのプロジェクタ100は、映像端子101と、USB端子103と、操作部102と、A/Dコンバータ104と、映像処理部105と、投影駆動部106と、投影部107と、CPU108と、ROM(Read Only Memory)109と、RAM(Random Access Memory)110と、USBホストコントローラ111とを主に備えている。
【0018】
CPU108は、バス上に接続されたA/Dコンバータ104、映像処理部105、投影駆動部106、USBホストコントローラ111を制御する。ROM109には、プロジェクタ100を制御する制御プログラムやデータ転送プログラムが格納され、CPU108により当該制御プログラムやデータ転送プログラムが実行される。RAM110は、CPU108が制御プログラムやデータ転送プログラムを実行する際の作業メモリとして使用される。
【0019】
A/Dコンバータ104は、映像端子101から入力されてきたアナログの映像信号をデジタルの映像信号に変換する。映像処理部105は、デジタルの映像信号に対して、コントラスト調整、明るさ調整、シャープネス調整、スケーリング処理、メニュー情報の重畳(OSD、On Screen Display)などの各種画像処理を行う。
【0020】
操作部102は、ユーザからの各種操作を受け付けるものである。投影駆動部106は、投影部107を駆動する。投影部107は、映像信号を投影する。投影駆動部106と投影部107の詳細は以下のとおりである。プロジェクタ100の投影方式としては、液晶方式やデジタルミラーデバイス(DMD)を用いたDLP(Digital Light Processing)方式などがあるが、本実施の形態では、液晶方式を例にあげて説明する。液晶方式の投影部107は、赤(R)・緑(G)・青(B)の三原色を示す液晶パネルであり、投影駆動部106は、映像処理部105により処理された映像信号を、投影部107である液晶パネルで駆動するRGBの映像信号に変換する。液晶パネルはプロジェクタ100内の光源(不図示)から発せられる光を透過するように配置され、入力された映像信号に基づいた画像を形成し、プロジェクタ100の外部にその画像を投影する。USBホストコントローラ111については後述する。
【0021】
本実施の形態のプロジェクタ100は、図2に示すように、PC200と接続して、PC200の映像を投影することができる。この場合、PC200は、プロジェクタ100の映像端子101に映像ケーブルで接続され、PC200からの映像信号を、映像端子101から入力して、A/Dコンバータ104、映像処理部105、投影駆動部106、投影部107により投影が行われる。なお、PC200からデジタル映像信号が出力されている場合は、A/Dコンバータ104によりA−D変換処理は行わない。
【0022】
また、本実施の形態のプロジェクタ100は、図3に示すように、USBメモリ300などのストレージデバイスに投影する静止画や動画等の映像データを保存しておき、そのUSBメモリ300を直接プロジェクタ100に接続し、USBメモリ300内の映像データを投影することもできる。この場合、USBメモリ300は、プロジェクタ100のUSB端子103に接続される。
【0023】
本実施の形態のプロジェクタ100は、USBのOn−The−Go規格に準拠した機能を搭載している。即ち、本実施の形態のプロジェクタ100は、USBホストの役割を果たすため、USBデバイスであるUSBメモリ300内の映像データを読み出すことが可能となっている。
【0024】
図4は、実施の形態1のプロジェクタ100の機能的構成および階層構造を示す図である。本実施の形態のプロジェクタ100は、図4に示すように、ハードウェアである上述のUSBホストコントローラ111と、USBコントローラドライバ112と、USBバスドライバ113と、USBマスストレージドライバ114と、ファイルシステム115と、アプリケーション116とを主に備えている。
【0025】
ここで、USBコントローラドライバ112、USBバスドライバ113、USBマスストレージドライバ114、ファイルシステム115、アプリケーション116は、いずれもソフトウェアであり、この順で下層から上層へ向うレイヤ構造となっている。
【0026】
最下層のUSBホストコントローラ111は、シリアルインタフェース制御部として機能し、USB端子103に接続されたUSBデバイスであるUSBメモリ300の接続を検出する。また、USBホストコントローラ111は、後述のUSBバスドライバ113からの指示により、USBデバイスに対するRead要求であるINトークン、USBデバイスに対するWrite要求であるOUTトークンを発行する。
【0027】
USBデバイスは、USBホストコントローラ111から発行された各トークンに対して、応答可能である場合には成功を示すACK応答を返答し、応答不可能である場合には失敗を示すNAK応答を返答する。
【0028】
また、USBホストコントローラ111は、内部にレジスタを有しており、このレジスタには、NAK累積最大受信回数が設定されている。NAK累積最大受信回数は、Read要求であるINトークンであれば、Read要求をエラーとして上位層に通知するためのUSBデバイスによるNAK応答の連続回数である。
【0029】
USBコントローラドライバ112は、USBホストコントローラ111の制御を行う。本実施の形態のUSBコントローラドライバ112は、プロジェクタ100の起動時の一連の初期設定処理等の中で、USBホストコントローラ111内のレジスタにNAK累積最大受信回数を設定する。Read要求の動作中は、NAK累積最大受信回数の設定値を変更しない。
【0030】
USBバスドライバ113は、転送制御部として機能し、USBの各転送方式であるコントロール転送、インタラプト転送、バルク転送、アイソクロナス転送の制御を行う。
【0031】
USBバスドライバ113は、USBデバイスであるUSBメモリ300に対するデータのRead要求(INトークン)の発行をUSBホストコントローラ111に指示する。これにより、USBホストコントローラ111は、Read要求(INトークン)の発行を繰り返し実行する。
【0032】
そして、USBバスドライバ113は、NAK累積最大受信回数だけRead要求を発行しても、USBデバイス(USBメモリ300)からRead要求に対応したACK応答を受信しなかった場合でも、エラーを上位層に通知することは行わず、所定の再送時間の経過を待って、当該再送時間の後に、Read要求の発行を再開する指示をUSBホストコントローラ111に行う。これにより、NAK応答をNAK累積最大受信回数分受信した場合でも、再送時間の経過後に、USBホストコントローラ111からRead要求の発行が再開される。ここで、再送時間は、予めUSBホストコントローラ111のレジスタ等に保存されている。本実施の形態では、再送時間は変更されない。
【0033】
すなわち、プロジェクタ100からのUSBメモリ300内の映像データのRead効率を維持するために、USBホストコントローラ111は、USBバスドライバ113の制御により、USBメモリ300からのACK応答が、NAK累積最大受信回数に達するまで受信されない場合でも、連続的にRead要求であるINトークンを発行する。特にデータ転送時は、数回NAK応答(数μ〜数十μ秒)した後、ACK応答するケースは通常多々あるため、連続的なINトークン発行は有効である。
【0034】
また、USB規格では、USBバス上に複数のUSBデバイスを接続することができる。複数のUSBデバイスを接続する構成をも想定すると、USBバス上のINトークン数は制限すべきである。このため、本実施の形態では、USBバスドライバ113が、NAK応答がNAK累積最大受信回数に達した場合、次のINトークン送出までの再送時間の経過後に、USBメモリ300に対してINトークンの再送出を行うように制御する。
【0035】
USBマスストレージドライバ114は、USBマスストレージクラスのクラスドライバであり、USBメモリ300をセクタ単位でRead/Writeする。本実施の形態のプロジェクタ100は、USBマスストレージクラスに対応している。USBメモリ300も、USBマスストレージクラスに対応している。このため、USBメモリ300をプロジェクタ100に接続した場合、プロジェクタ100はUSBメモリ300をストレージデバイスとして認識することができ、USBメモリ300内の映像データを、ファイルデータとして扱うことができる。
【0036】
マスストレージクラスには、主として、USBのコントロール転送、バルク転送、インタラプト転送を用いるCBI方式と、バルク転送のみで実現するBulk Only方式がある。一般的に、USBデバイスであるUSBメモリ300は、エンドポイント数を少なく構成でき、低コストで実現可能なBulk Only方式が主流となっている。
【0037】
本実施の形態のUSBマスストレージドライバ114は、CBI方式、Bulk Only方式のいずれも対応可能であるが、上述のとおり、USBメモリ300はBulk Only方式が主流であることから、本実施の形態では、USBメモリ300はBulk Only方式であることを前提とする。ただし、Bulk Only方式に限定されるものではなく、CBI方式を採用することも可能である。
【0038】
ここで、Bulk Only方式を採用することにより、USBホストコントローラ111、USBコントローラドライバ112は、USBメモリ300の機器状態を取得するコマンドや、USBメモリ300内の映像データを取得するコマンド、すなわち連続的にデータのRead要求のコマンドにおいて、バルク転送を使用する。
【0039】
ファイルシステム115は、USBマスストレージドライバ114によりUSBメモリ300をセクタ単位でRead/Write可能なため、USBメモリ300をファイルシステムとして認識する。
【0040】
アプリケーション116は、投影駆動部106を制御して、ファイルシステム115から提供されるファイルデータ、即ちUSBメモリ300内の映像データを投影する。アプリケーション116は、USBメモリ300内の映像データファイルを、図5に示す映像データリストとして投影する。ユーザは操作部102から図5で表示された映像データ一覧の中から、投影を希望する映像データを選択する。アプリケーション116は、操作部102からユーザにより選択された映像データをUSBメモリ300から読みだして、当該映像データの投影処理を行う。
【0041】
次に、以上のように構成された本実施の形態のプロジェクタ100、USBメモリ300間のデータ転送処理について説明する。図6は、実施の形態1のデータ転送処理のシーケンス図である。図6において、各コマンド、応答におけるBulkは、バルク転送であることを意味している。
【0042】
まず、プロジェクタ100は、USBホストコントローラ111によりUSBメモリ300に対して、TEST UNIT READYコマンドを発行する(ステップS11)。次に、プロジェクタ100のUSBホストコントローラ111は、USBバスドライバ113の指示により、Read要求(INトークン)を、USBメモリ300に対して発行する(ステップS12)。これに対して、USBメモリ300がまだ準備できていない場合には、NAK応答をプロジェクタ100に対して返答する(ステップS13)。
【0043】
このようなプロジェクタ100からUSBメモリ300へのRead要求(INトークン)の発行は、USBメモリ300からACK応答が返答されるまで繰り返し行う(ステップS12、S13、S14、S15)。USBバスドライバ113は、NAK応答が返答されるごとにその回数をカウントしている。
【0044】
そして、USBバスドライバ113は、NAK応答の回数が、USBホストコントローラ111のレジスタに設定されたNAK累積最大受信回数に到達した場合には、USBホストコントローラ111のレジスタに設定された再送時間が経過するまでRead要求を発行せず、またエラーの通知を上位層に行わずに待機する(ステップS16)。
【0045】
そして、再送時間が経過したら、USBバスドライバ113は、USBホストコントローラ111に指示して、Read要求(INトークン)の発行を再開する(ステップS17)。そして、USBメモリ300からACK応答を受信した場合(ステップS18)、USBバスドライバ113は、USBメモリ300との接続が成功したと判断し、処理を終了する。
【0046】
このように本実施の形態では、USBメモリ300等のUSBデバイスに対するRead要求を繰り返して発行し、NAK応答がNAK累積最大受信回数に達した場合でも、エラーとして扱わず、再送時間の経過後に、USBデバイスに対するRead要求の発行を再開しているので、USBデバイスからのデータのリード効率を向上させることができる。
【0047】
また、Read要求(INトークン)の発行間隔が1μ秒レベルで発行可能な性能のUSBホストコントローラ111において、NAK累積最大受信回数が10万回であったとすると、1秒程度以内にACK応答を受信しないとエラーとなってしまうが、本実施の形態では、プロトコル層であるUSBバスドライバ113でRead要求を再送しているので、1秒以上ACK応答がない場合でも、コマンド通信を成功させることができる。そして、Read要求の再送間隔を設けることにより、Read要求(INトークン)送出の過多によるUSBバスの負荷低減も図ることができる。
【0048】
(実施の形態2)
実施の形態1では、NAK応答がNAK累積最大受信回数に達した場合に待機する再送時間は固定であったが、この実施の形態2では、再送時間を可変にしている。
【0049】
実施の形態2のプロジェクタ100のハードウェア構成、機能的構成は、図1、図4で説明した実施の形態1と同様である。本実施の形態では、USBバスドライバ113の機能が実施の形態1と異なっている。
【0050】
本実施の形態のUSBバスドライバ113は、USBホストコントローラ111によるRead要求の発行の再開後、ACK応答を受信するまでRead要求の発行を繰り返し、NAK累積最大受信回数だけRead要求を発行してもUSBメモリ300からACK応答を受信しなかった場合に、再送時間を増加する。コマンド通信時のACK応答に秒単位の時間を要するUSBメモリ300の場合、一定の再送時間で再送信するよりも、再送時間を延ばしていくほうが好ましいからである。そして、USBバスドライバ113は、増加された再送時間の経過後に、Read要求の発行を再開するようにUSBホストコントローラ111を制御する。
【0051】
また、USBバスドライバ113は、Read要求の発行を再開した後、ACK応答を受信した場合に、増加した再送時間、すなわちACK応答が返答されたRead要求の再発行時点での再送時間を、新たな再送時間としてUSBホストコントローラ111のレジスタに設定する。
【0052】
ここで、USBバスドライバ113は、再送時間を線形的に、すなわち一次関数(線形関数)に従って増加することができる。また、この他の再送時間の増加の手法として、USBバスドライバ113は、再送時間を加速度的に延ばすため、再送時間を2次関数等の多次関数に従って増加してもよい。
【0053】
次に、以上のように構成された本実施の形態のプロジェクタ100、USBメモリ300間のデータ転送処理について説明する。図7は、実施の形態2のデータ転送処理のシーケンス図である。
【0054】
TEST UNIT READYコマンドの発行から再送時間経過の待機までの処理(ステップS11〜S16)は、実施の形態1と同様である。そして、再送時間が経過したら、USBバスドライバ113は、USBホストコントローラ111に指示して、Read要求(INトークン)の発行を再開する(ステップS17)。そして、プロジェクタ100からUSBメモリ300へのRead要求(INトークン)の発行は、USBメモリ300からACK応答が返答されるまで繰り返し行う(ステップS17、S21、S22、S23)。USBバスドライバ113は、NAK応答が返答されるごとにその回数をカウントしている。
【0055】
そして、USBバスドライバ113は、NAK応答の回数が、USBホストコントローラ111のレジスタに設定されたNAK累積最大受信回数に到達した場合には、USBバスドライバ113は、再送時間を増加する(ステップS24)。そして、USBバスドライバ113は、増加した再送時間が経過するまでRead要求を発行せず、またエラーの通知を上位層に行わずに待機する(ステップS25)。
【0056】
そして、再送時間が経過したら、USBバスドライバ113は、USBホストコントローラ111に指示して、Read要求(INトークン)の発行を再開する(ステップS126)。そして、USBメモリ300からACK応答を受信した場合(ステップS27)、USBバスドライバ113は、ステップS24で増加した再送時間を、USBホストコントローラ111のレジスタに設定された再送時間に設定して更新する(ステップS28)。これ以降は、更新された再送時間が使用されることになる。
【0057】
このように本実施の形態では、再送時間を増加してACK応答があったRead要求発行時点の再送時間で更新しているので、Read効率を最適に維持することが可能となる。
【0058】
なお、実施の形態1,2のプロジェクタ100で実行されるデータ転送プログラムは、ROM109等に予め組み込まれて提供される。
【0059】
実施の形態1,2のプロジェクタ100で実行されるデータ転送プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0060】
さらに、実施の形態1,2のプロジェクタ100で実行されるデータ転送プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、実施の形態1,2のプロジェクタ100で実行されるデータ転送プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0061】
実施の形態1,2のプロジェクタ100で実行されるデータ転送プログラムは、上述した各部(USBコントローラドライバ112、USBバスドライバ113、USBマスストレージドライバ114、ファイルシステム115、アプリケーション116)を含むモジュール構成となっており、実際のハードウェアとしてはCPU108が上記ROM109からデータ転送プログラムを読み出して実行することにより上記各部がRAM110等の主記憶装置上にロードされ、USBコントローラドライバ112、USBバスドライバ113、USBマスストレージドライバ114、ファイルシステム115、アプリケーション116が主記憶装置上に生成されるようになっている。
【0062】
なお、上記実施の形態では、本発明のデータ転送装置をプロジェクタに適用した例を説明しているが、これに限定されるものではなく、USBホストとなり得る装置であればいずれにも適用することができる。
【符号の説明】
【0063】
100 プロジェクタ
101 映像端子
102 操作部
103 USB端子
104 A/Dコンバータ
105 映像処理部
106 投影駆動部
107 投影部
108 CPU
109 ROM
110 RAM
111 USBホストコントローラ
112 USBコントローラドライバ
113 USBバスドライバ
114 USBマスストレージドライバ
115 ファイルシステム
116 アプリケーション
【先行技術文献】
【特許文献】
【0064】
【特許文献1】特開2010−26651号公報
【特許文献2】特開2005−122372号公報

【特許請求の範囲】
【請求項1】
接続先機器との間でシリアル伝送路を介したデータ転送を行うシリアルインタフェース制御部と、
前記シリアルインタフェース制御部による前記データ転送を制御するとともに、前記接続先機器に対してデータのリード要求を発行し、所定の条件下で前記接続先機器から前記リード要求に対応して成功の応答を受信しなかった場合に、所定の再送時間の経過後に、前記リード要求の発行を再開する転送制御部と、
を備えたことを特徴とするデータ転送装置。
【請求項2】
前記転送制御部は、前記成功の応答を受信するまで前記リード要求の発行を繰り返し、前記所定の条件としての所定の累積最大受信回数だけ前記リード要求を発行しても前記接続先機器から前記リード要求に対応して成功の応答を受信しなかった場合に、前記再送時間の経過後に、前記リード要求の発行を再開すること、
を特徴とする請求項1に記載のデータ転送装置。
【請求項3】
前記転送制御部は、前記リード要求の発行を再開した後、前記成功の応答を受信するまで前記リード要求の発行を繰り返し、前記累積最大受信回数だけ前記リード要求を発行しても前記接続先機器から前記リード要求に対応して成功の応答を受信しなかった場合に、前記再送時間を増加し、増加された再送時間の経過後に、前記リード要求の発行を再開すること、
を特徴とする請求項2に記載のデータ転送装置。
【請求項4】
前記転送制御部は、前記リード要求の発行を再開した後、前記成功の応答を受信した場合に、前記増加した再送時間を、前記所定の再送時間として設定すること、
を特徴とする請求項3に記載のデータ転送装置。
【請求項5】
前記転送制御部は、前記再送時間を線形関数に従って増加すること、
を特徴とする請求項3に記載のデータ転送装置。
【請求項6】
前記転送制御部は、前記再送時間を多次関数に従って増加すること、
を特徴とする請求項3に記載のデータ転送装置。
【請求項7】
接続先機器との間でシリアル伝送路を介したデータ転送を行うシリアルインタフェース制御部と、
前記シリアルインタフェース制御部による前記データ転送を制御するとともに、前記接続先機器に対してデータのリード要求を発行し、所定の条件下で前記接続先機器から前記リード要求に対応して成功の応答を受信しなかった場合に、所定の再送時間の経過後に、前記リード要求の発行を再開する転送制御部と、
前記接続先機器から転送されたデータを投影する投影部と、
を備えたことを特徴とする画像投影装置。
【請求項8】
データ転送装置で実行されるデータ転送方法であって、
前記データ転送装置は、接続先機器との間でシリアル伝送路を介したデータ転送を行うシリアルインタフェース制御部を備え、
前記シリアルインタフェース制御部による前記データ転送を制御するステップと、
前記接続先機器に対してデータのリード要求を発行するステップと、
所定の条件下で前記接続先機器から前記リード要求に対応して成功の応答を受信しなかった場合に、所定の再送時間の経過後に、前記リード要求の発行を再開するステップと、
を含むことを特徴とするデータ転送方法。
【請求項9】
コンピュータに実行させるためのプログラムであって、
前記コンピュータは、接続先機器との間でシリアル伝送路を介したデータ転送を行うシリアルインタフェース制御部を備え、
前記シリアルインタフェース制御部による前記データ転送を制御するステップと、
前記接続先機器に対してデータのリード要求を発行するステップと、
所定の条件下で前記接続先機器から前記リード要求に対応して成功の応答を受信しなかった場合に、所定の再送時間の経過後に、前記リード要求の発行を再開するステップと、
を前記コンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−29884(P2013−29884A)
【公開日】平成25年2月7日(2013.2.7)
【国際特許分類】
【出願番号】特願2011−163518(P2011−163518)
【出願日】平成23年7月26日(2011.7.26)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】