(57)【要約】【課題】ホスト装置とＵＳＢ通信を行う電子機器であって、当該通信をユーザーニーズに相応して高速に行うことのできる電子機器、等を提供する。【解決手段】ＵＳＢ通信を行う電子機器が、前記ＵＳＢ通信の各エンドポイントに設定されたバースト転送数を記憶する記憶部と、前記各エンドポイントに割り当てられた機能に関連する情報に基づいて、前記記憶部に記憶される前記バースト転送数を変更するＵＳＢ通信制御部と、を有する。【選択図】  図１
2019064213.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ通信を行う電子機器であって、
前記ＵＳＢ通信の各エンドポイントに設定されたバースト転送数を記憶する記憶部と、
前記各エンドポイントに割り当てられた機能に関連する情報に基づいて、前記記憶部に記憶される前記バースト転送数を変更するＵＳＢ通信制御部と、を有する
ことを特徴とする電子機器。
【請求項２】
請求項１において、
前記ＵＳＢ通信制御部は、設定されている動作モードに基づいて、前記バースト転送数を変更する
ことを特徴とする電子機器。
【請求項３】
請求項１あるいは２において、
前記ＵＳＢ通信制御部は、ユーザーの入力情報に基づいて、前記バースト転送数を変更する
ことを特徴とする電子機器。
【請求項４】
請求項１において、
前記ＵＳＢ通信制御部は、前記機能の使用実績に基づいて、前記バースト転送数を変更する
ことを特徴とする電子機器。
【請求項５】
請求項４において、
前記ＵＳＢ通信制御部は、使用頻度が高い前記機能に相応する前記エンドポイントの前記バースト転送数を増加させる
ことを特徴とする電子機器。
【請求項６】
請求項１において、
前記ＵＳＢ通信制御部は、前記電子機器が受信した要求に基づいて、前記バースト転送数を変更する
ことを特徴とする電子機器。
【請求項７】
請求項６において、
前記ＵＳＢ通信制御部は、前記受信した要求に相応する前記エンドポイントの前記バースト転送数を増加させる
ことを特徴とする電子機器。
【請求項８】
請求項６あるいは７において、
印刷の機能を備え、
前記受信した要求は、前記印刷の要求である
ことを特徴とする電子機器。
【請求項９】
請求項１乃至８のいずれか１項において、
前記ＵＳＢ通信制御部は、前記バースト転送数の変更後、ホスト装置との間のＵＳＢ接続を切断させ、その後、再接続させる
ことを特徴とする電子機器。
【請求項１０】
ＵＳＢ通信を行う電子機器の制御方法であって、
前記ＵＳＢ通信の各エンドポイントに設定されたバースト転送数が記憶され、
前記各エンドポイントに割り当てられた機能に関連する情報に基づいて、前記記憶された前記バースト転送数を変更する
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置とＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）を用いた通信（以下、ＵＳＢ通信という）を行う電子機器等に関し、特に、当該通信をユーザーニーズに相応して高速に行うことのできる電子機器等に関する。
【背景技術】
【０００２】
従来、ホスト装置と電子機器間において、ＵＳＢ通信を用いてデータを授受し、所定の処理を実行すること、が行われている。例えば、ホストコンピューターからＵＳＢ通信で印刷データをプリンターに送信して印刷処理を実行する、または、スキャナーからＵＳＢ通信でスキャンデータをホストコンピューターに送信してデータを保存する、といった処理が行われている。
【０００３】
また、ＵＳＢ３．０規格には、通信相手の応答を待たずに連続してデータ送信を行うことのできるバースト転送機能があり、当該機能を利用する電子機器では、各エンドポイントにバースト転送数が設定され、各エンドポイントを用いたＵＳＢ通信では、その設定されたバースト転送数に相応した回数の連続送信が可能となる。
【０００４】
なお、バースト転送に関して、下記特許文献１には、メモリーコントローラーとメモリーとの間のバースト転送を行う印刷装置であって、各種条件に応じて、バースト長を変更する印刷装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１９３５７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した各エンドポイントのバースト転送数は、電子機器の出荷時などに設定された固定値であり、その値はユーザーニーズや使用環境により、必ずしも適切でない場合もある。
【０００７】
また、上記特許文献１に記載される装置内部の転送だけでなく、外部装置との間の通信においても高速化が望まれている。
【０００８】
そこで、本発明の目的は、ホスト装置とＵＳＢ通信を行う電子機器であって、当該通信をユーザーニーズに相応して高速に行うことのできる電子機器、等を提供することである。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明の一つの側面は、ＵＳＢ通信を行う電子機器が、前記ＵＳＢ通信の各エンドポイントに設定されたバースト転送数を記憶する記憶部と、前記各エンドポイントに割り当てられた機能に関連する情報に基づいて、前記記憶部に記憶される前記バースト転送数を変更するＵＳＢ通信制御部と、を有する、ことである。
【００１０】
当該側面により、固定値であったバースト転送数を動的に変更することができ、ユーザーニーズに即し、効率的なＵＳＢ通信を実現できる。
【００１１】
更に、上記発明において、その好ましい一つの態様は、前記ＵＳＢ通信制御部は、設定されている動作モードに基づいて、前記バースト転送数を変更する、ことを特徴とする。
【００１２】
当該態様により、動作モードに適したＵＳＢ通信を可能にでき、電子機器における処理を効率的に行えるようになる。
【００１３】
更に、上記発明において、その好ましい一つの態様は、前記ＵＳＢ通信制御部は、ユーザーの入力情報に基づいて、前記バースト転送数を変更する、ことを特徴とする。
【００１４】
当該態様により、ユーザーニーズに合ったＵＳＢ通信を行うことができる。
【００１５】
更に、上記発明において、その好ましい一つの態様は、前記前記ＵＳＢ通信制御部は、前記機能の使用実績に基づいて、前記バースト転送数を変更する、ことを特徴とする。
【００１６】
当該態様により、効率的なＵＳＢ通信を行うことができる。
【００１７】
更に、上記発明において、その好ましい一つの態様は、前記ＵＳＢ通信制御部は、使用頻度が高い前記機能に相応する前記エンドポイントの前記バースト転送数を増加させる、ことを特徴とする。
【００１８】
当該態様により、電子機器における処理速度を高めることができる。
【００１９】
更に、上記発明において、その好ましい一つの態様は、前記ＵＳＢ通信制御部は、前記電子機器が受信した要求に基づいて、前記バースト転送数を変更する、ことを特徴とする。
【００２０】
当該態様により、効率的なＵＳＢ通信を行うことができる。
【００２１】
更に、上記発明において、その好ましい一つの態様は、前記ＵＳＢ通信制御部は、前記受信した要求に相応する前記エンドポイントの前記バースト転送数を増加させる、ことを特徴とする。
【００２２】
当該態様により、電子機器における処理速度を向上させることができる。
【００２３】
更に、上記発明において、その好ましい一つの態様は、印刷の機能を備え、前記受信した要求は、前記印刷の要求である、ことを特徴とする。
【００２４】
当該態様により、印刷処理を効率的に行うことができる。
【００２５】
更に、上記発明において、その好ましい一つの態様は、前記ＵＳＢ通信制御部は、前記バースト転送数の変更後、ホスト装置との間のＵＳＢ接続を切断させ、その後、再接続させる、ことを特徴とする。
【００２６】
当該態様により、バースト転送数の変更内容を直ぐに反映させることができる。
【００２７】
上記の目的を達成するために、本発明の別の側面は、ＵＳＢ通信を行う電子機器の制御方法において、前記ＵＳＢ通信の各エンドポイントに設定されたバースト転送数が記憶され、前記各エンドポイントに割り当てられた機能に関連する情報に基づいて、前記記憶された前記バースト転送数を変更する、ことである。
【００２８】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【図面の簡単な説明】
【００２９】
【図１】本発明を適用した電子機器の実施の形態例に係る構成図である。
【図２】ＵＳＢ通信制御部２２１の処理手順を例示したフローチャートである。
【図３】具体例１における処理手順を例示したタイムチャートである。
【図４】具体例２における処理手順を例示したタイムチャートである。
【図５】具体例３における処理手順を例示したタイムチャートである。
【発明を実施するための形態】
【００３０】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
【００３１】
図１は、本発明を適用した電子機器の実施の形態例に係る構成図である。図１に示すプリンター２が本発明を適用した電子機器であり、本プリンター２は、ＵＳＢ通信の各エンドポイントに設定されたバースト転送数を、所定の条件に基づいて変更し、ユーザーニーズに合った高速なＵＳＢ通信を実現する。
【００３２】
図１に示されるように、本プリンター２は、ホストコンピューター１などのホスト装置からの要求に応じて所定の処理を実行する電子機器である。具体的には、ＵＳＢ通信によりホストコンピューター１との間で授受されるデータに基づいて処理を実行する多機能プリンター（いわゆる、プリンター複合機）である。プリンター２は、少なくとも、印刷機能とスキャニング機能を備える。
【００３３】
ホストコンピューター１は、プリンター２のホスト装置であり、パーソナルコンピューターなどで構成される。ホストコンピューター１は、図１に示されるように、ＵＳＢケーブル３でプリンター２と接続され、ＵＳＢケーブル３を介してプリンター２とＵＳＢ通信を行う。そして、ホストコンピューター１は、ＵＳＢ通信によってプリンター２へデータを送信して、プリンター２に印刷処理またはスキャニング処理を要求する。
【００３４】
また、ホストコンピューター１は、図１に示されるように、アプリケーション部１１、ドライバー部１２、及び、ＵＳＢインターフェース１３を備える。アプリケーション部１１は、印刷対象の画像データを取り扱うアプリケーション、または、スキャニングデータを取り扱うアプリケーションであり、アプリケーションプログラム、ＣＰＵ、メモリー等で構成される。アプリケーション部１１は、印刷処理またはスキャニング処理の要求元である。
【００３５】
ドライバー部１２は、プリンター２用のドライバーであり、アプリケーション部１１からの要求に基づいて、プリンター２に送信するデータを生成し、当該データをＵＳＢ通信を用いてプリンター２へ送信する。ドライバー部１２は、また、プリンター２からＵＳＢ通信で送信されるデータを受信する。ドライバー部１２は、ドライバープログラム、ＣＰＵ、メモリー等で構成される。
【００３６】
ＵＳＢインターフェース１３は、ＵＳＢケーブル３のホスト装置側端部と結合する、ＵＳＢ通信用の通信インターフェースである。
【００３７】
なお、図示されていないが、ホストコンピューター１は、ＵＳＢ通信をコントロールするデバイスコントローラー、ドライバー部１２で生成されたデータを一時格納するスプーラー、プリンター２のデバイス情報を記憶する記憶部等を備える。なお、プリンター２のデバイス情報については後述する。
【００３８】
プリンター２は、上述の通り、印刷機能とスキャニング機能を備える多機能プリンターであり、図１に示されるように、機能構成として、ＵＳＢインターフェース２１、ＵＳＢデバイスコントローラー２２、主制御部２３、スキャナー機構部２４、印刷機構部２５、及び、操作部２６を備える。
【００３９】
ＵＳＢインターフェース２１は、ＵＳＢケーブル３のデバイス側端部と結合する、ＵＳＢ通信用の通信インターフェースである。
【００４０】
ＵＳＢデバイスコントローラー２２は、ＵＳＢインターフェース２１を介したＵＳＢ通信を制御するコントローラーであり、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＡＳＩＣ等で構成される。ＵＳＢデバイスコントローラー２２は、図１の（Ａ）に示されるような機能構成を有し、ＵＳＢ通信制御部２２１、記憶部２２２、及び、メモリー部２２３を備える。
【００４１】
ＵＳＢ通信制御部２２１は、ＵＳＢデバイスコントローラー２２の主要部であり、ＵＳＢ通信の送受信制御を行う。ＵＳＢ通信制御部２２１は、ホストコンピューター１とＵＳＢで接続された際には、プリンター２のデバイス情報をホストコンピューター１へ送信する。なお、デバイス情報は、ＵＳＢ通信の仮想的通信路であるエンドポイントに対して設定されるバースト転送数、などのＵＳＢ通信に必要なプリンター２の各緒元情報である。
【００４２】
バースト転送数は、通信相手の応答を待たずに連続して行うことのできるデータ送信の回数であり、複数あるエンドポイントの各エンドポイントに対して設定される値である。なお、各エンドポイントには、プリンター２が備える各機能の送信又は受信が割り当てられている。具体的には、例えば、一つ目のエンドポイントには、印刷機能用のデータ受信が割り当てられ（印刷用ＢｕｌｋＯｕｔエンドポイント）、二つ目のエンドポイントには、印刷機能用のデータ送信が割り当てられ（印刷用ＢｕｌｋＩｎエンドポイント）、三つ目のエンドポイントには、スキャニング機能用のデータ受信が割り当てられ（スキャン用ＢｕｌｋＯｕｔエンドポイント）、四つ目のエンドポイントには、スキャニング機能用のデータ送信が割り当てられる（スキャン用ＢｕｌｋＩｎエンドポイント）。
【００４３】
また、ＵＳＢ通信制御部２２１は、上述した各エンドポイントに設定されたバースト転送数の値を、所定の条件が成立した際に変更する。かかる処理の具体的な内容については、後述する。
【００４４】
なお、ＵＳＢ通信制御部２２１は、上述した各処理を指示するプログラム、当該プログラムに従って動作するＣＰＵ、ＲＡＭ、ＲＯＭ等によって構成される。
【００４５】
記憶部２２２は、上述したバースト転送数を含むデバイス情報、及び、履歴情報を記憶する。履歴情報は、プリンター２がＵＳＢ通信を用いて実行した処理の実績情報であり、ここでは、実行した印刷処理の累積回数と実行したスキャニング処理の累積回数を含む。なお、履歴情報は、プリンター２の使用が開始された後、リセットされなくても良いし、所定のタイミングでリセットされるようにしても良い。所定のタイミングとは、例えば、プリンター２の電源がＯＮされた際、ＵＳＢケーブル３が接続された際、などとすることができる。リセットされた際には、上記累計回数は０となる。
【００４６】
また、デバイス情報は、ＵＳＢ通信制御部２２１により、更新される。なお、記憶部２２２は、ＮＶＲＯＭなどで構成される。
【００４７】
メモリー部２２３は、ＵＳＢ通信で授受する（送受信する）データを一時的に記憶（保持）するメモリーであり、図１の（Ａ）に示されるように、複数のＦＩＦＯメモリー２２４を備える。各ＦＩＦＯメモリー２２４は、上述したエンドポイントのいずれかに割り振られており、１つのエンドポイントに割り振られるＦＩＦＯメモリー２２４の数は、そのエンドポイントに設定されているバースト転送数に等しい。
【００４８】
例えば、本プリンター２では１６個のＦＩＦＯメモリー２２４が備えられ、上述した各エンドポイントに、初期的に以下のように割り振られる。
印刷用ＢｕｌｋＯｕｔエンドポイント：４個
印刷用ＢｕｌｋＩｎエンドポイント：４個
スキャン用ＢｕｌｋＯｕｔエンドポイント：４個
スキャン用ＢｕｌｋＩｎエンドポイント：４個
また、メモリー部２２３は、上述したデバイス情報を、ホストコンピューター１に送信する際に保持するメモリーなども備える。なお、メモリー部２２３は、ＲＡＭ等によって構成される。
【００４９】
主制御部２３は、プリンター２の各部を制御するいわゆるコントローラーであり、スキャナー機構部２４及び印刷機構部２５を制御して、印刷処理、スキャニング処理を実行させる。主制御部２３は、印刷処理の際には、ホストコンピューター１から送信された印刷データを、ＵＳＢデバイスコントローラー２２を介して受信し、当該印刷データに従って印刷処理を制御する。また、主制御部２３は、スキャニング処理の際には、生成したスキャニングデータ（画像データ）を、ＵＳＢデバイスコントローラー２２を介して、ホストコンピューター１へ送信する。
【００５０】
なお、主制御部２３は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＡＳＣＩ等で構成される。
【００５１】
スキャナー機構部２４は、原稿のオートフィーダー、ＣＣＤカメラ等を備える。スキャナー機構部２４は、主制御部２３の制御により、ユーザーによって又はオートフィーダーによって所定箇所にセットされた原稿をＣＣＤカメラで読み取り、その原稿の画像データを生成して主制御部２３へ送る。
【００５２】
印刷機構部２５は、印刷ヘッド、用紙の搬送装置等を備える。印刷機構部２５は、主制御部２３の制御により、上記受信した印刷データに従った画像を用紙に印刷する。
【００５３】
操作部２６は、プリンター２のユーザーインターフェースであり、表示パネル、操作ボタン等を備える。主制御部２３の制御により、表示パネルへの表示が行われ、操作ボタンへのユーザー操作によって入力された情報は、主制御部２３に送られる。
【００５４】
なお、操作部２６には、ユーザーが、プリンター２が備える動作モード（運転モード）の選択（切替）を行える機能、及び／又は、ユーザーが、上述した各エンドポイントのバースト転送数の設定（変更）を行える機能が備えられる。
【００５５】
なお、プリンター２は、動作モードとして、印刷高速モード、スキャン高速モード、標準モードなどを備える。
【００５６】
以上説明したような構成を備えるプリンター２では、ホストコンピューター１とのＵＳＢ接続が確立すると、ＵＳＢ通信を開始し、各機能に基づく処理を実行するが、本プリンター２は、上述したバースト転送数の変更に係る処理に特徴を有し、以下、その内容について具体的に説明する。
【００５７】
なお、ＵＳＢ接続の確立とは、ＵＳＢに則った通信が可能になることを意味し、その状態になるためには、ＵＳＢケーブル３の物理的な接続と、その後のエニュレーションが必要である。より具体的には、エニュレーションによりホスト装置（ホストコンピューター１）とデバイス（プリンター２）間でデータのやり取りが行われ、ホスト装置が当該デバイスを認識する。
【００５８】
図２は、ＵＳＢ通信制御部２２１の処理手順を例示したフローチャートである。まず、プリンター２の電源が投入されると（図２のステップＳ１）、ＵＳＢ通信制御部２２１は、ＵＳＢインターフェース２１にＵＳＢケーブル３などが接続されるのを待ち（図２のステップＳ２のＮｏ）、ＵＳＢケーブル３が接続されると（図２のステップＳ２のＹｅｓ）、上述したエニュレーションを行う。
【００５９】
具体的には、ＵＳＢ通信制御部２２１は、ホストコンピューター１から情報取得要求が受信されるのを待ち（図２のステップＳ３のＮｏ）、当該情報取得要求が受信されると（図２のステップＳ３のＹｅｓ）、デバイス情報の送信を行う（図２のステップＳ４）。具体的には、ＵＳＢ通信制御部２２１は、情報取得要求をメモリー部２２３に保持して解釈し、記憶部２２２に記憶される、バースト転送数を含むデバイス情報を読み出してメモリー部２２３に格納する。その後、ＵＳＢ通信制御部２２１は、メモリー部２２３のデバイス情報を、ＵＳＢインターフェース２１を介してホストコンピューター１へＵＳＢ通信により送信する。
【００６０】
ホストコンピューター１では、送信されたプリンター２のデバイス情報をＵＳＢインターフェース１３を介して受信し、デバイスコントローラーが当該デバイス情報を記憶して、プリンター２がホストコンピューター１に認識される。これにより上述したエニュレーションが終了する。その後、ホストコンピューター１は、当該記憶したデバイス情報のバースト転送数に従ってＵＳＢ通信（バースト転送）を行う。
【００６１】
プリンター２のＵＳＢ通信制御部２２１は、その後、ＵＳＢ通信の要求を待ち（図２のステップＳ５）、当該要求がなければ（図２のステップＳ５のＮｏ）、処理がステップＳ７に移行する。
【００６２】
一方、ＵＳＢ通信の要求があれば（図２のステップＳ５のＹｅｓ）、ＵＳＢ通信制御部２２１は、記憶部２２２に記憶されているデバイス情報のバースト転送数で、要求されたＵＳＢ通信を行う（図２のステップＳ６）。その後、処理はステップＳ７に移行する。
【００６３】
ステップＳ７では、ＵＳＢ通信制御部２２１は、バースト転送数を変更する条件が成立したか否かを判断する（図２のステップＳ７）。このバースト転送数変更条件として、いくつかの条件を設定することができ、それらバースト転送数変更条件については後述する。
【００６４】
当該判断の結果、バースト転送数変更条件が成立すれば（図２のステップＳ７のＹｅｓ）、ＵＳＢ通信制御部２２１は、記憶部２２２に記憶されたバースト転送数の更新処理を実行する（図２のステップＳ８）。具体的な更新の内容については後述するが、ユーザーニーズに合わせて、また、効率的なＵＳＢ通信が行われるように、ＵＳＢ通信制御部２２１は、各エンドポイントのバースト転送数を増減させる。
【００６５】
その後、ＵＳＢ通信制御部２２１は、確立しているＵＳＢ接続を切断し、すぐに、再接続する（図２のステップＳ９）。ここで、ＵＳＢ接続の切断は、ＵＳＢケーブル３を物理的に抜き取るのではなく、ソフトウェア的に実行される。また、再接続は、ＵＳＢケーブル３を差し込んだ時の状態にすることである。
【００６６】
その後、処理はステップＳ３に戻り、上述したエニュレーションが実行される。以降、ＵＳＢ接続が確立した後の処理が、上述のとおり実行される。ただし、更新されたバースト転送数に従ってＵＳＢ通信が行われる。
【００６７】
なお、ステップＳ９のＵＳＢ切断／再接続の処理を、ユーザーにＵＳＢケーブル３を抜き差しすべきことを報知する処理に代えて、ユーザーによるＵＳＢケーブル３の抜き差しが実行された後にエニュレーションを行うようにしても良い。
【００６８】
ステップＳ７において、バースト転送数変更条件が成立しない場合には（図２のステップＳ７のＮｏ）、ＵＳＢ通信制御部２２１は、プリンター２の電源が切断（オフに）されていなければ（図２のステップＳ１０のＮｏ）、ＵＳＢ通信の要求を待ち（ステップＳ５へ移行し）、一方、プリンター２の電源が切断（オフに）されれば（図２のステップＳ１０のＹｅｓ）、当該処理を終了する。
【００６９】
このようにして、プリンター２におけるＵＳＢ接続の確立、ＵＳＢ通信、及び、バースト転送数の変更（更新）がなされるが、バースト転送数変更条件の具体例について、以下に説明する。
【００７０】
［具体例１］
具体例１は、動作モード、及び／又は、ユーザーの指示（操作）に基づいてバースト転送数を変更する例である。
【００７１】
図３は、具体例１における処理手順を例示したタイムチャートである。図３において、まず、ＵＳＢケーブル３がホストコンピューター１とプリンター２に接続され（Ｔ１）、それに続いて、上述したエニュレーションが実行される（Ｔ２、Ｔ３）。なお、エンドポイントＥＰ１に着目すると、この時点では、エンドポイントＥＰ１のバースト転送数は２となっている。
【００７２】
その後、当該バースト転送数によるＵＳＢ通信が実行される（Ｔ４）。
【００７３】
次に、ユーザーが、操作部２６から動作モードの変更操作を実行する（Ｔ５）。具体的には、表示モニターに表示される複数の動作モードの中から、所望の動作モードを操作ボタンを用いて選択する。
【００７４】
その情報は、主制御部２３からＵＳＢ通信制御部２２１に伝えられ、これまでに選択されていた動作モードと今回選択された動作モードにおいて、バースト転送数が異なる場合には、バースト転送数変更条件が成立したとして、ＵＳＢ通信制御部２２１は、上述したバースト転送数の更新処理（図２のＳ８）を実行する。
【００７５】
例えば、エンドポイントＥＰ１のバースト転送数を２から４に変更する。具体的には、これまでの動作モードが標準モードで、今回選択された動作モードが印刷高速モードである場合に、エンドポイントＥＰ１が印刷の受信用のエンドポイント（印刷用ＢｕｌｋＯｕｔエンドポイント）であれば、高速で印刷処理が完了するように、このように当該エンドポイントのバースト転送数が増やされる。
【００７６】
なお、各動作モードに対応する各エンドポイントのバースト転送数は、予め定められている。
【００７７】
なお、上述の例では、ユーザーが動作モードを選択したが、直接、各エンドポイントのバースト転送数を選択（設定）できるようにしても良い。この場合には、ユーザーによって選択されたバースト転送数に変更が行われる。
【００７８】
また、上述したユーザーによる選択ではなく、プリンター２が他の条件により、自ら、動作モードを変更した場合にも、それに応じて、同様のバースト転送数の変更処理を行っても良い。
【００７９】
このようにして、バースト転送数の変更が行われると、図２に基づいて説明した通り、ホストコンピューター１とプリンター２間のＵＳＢ切断及び再接続の処理（Ｔ６、Ｔ７）、それに続くエニュレーションの処理（Ｔ８、Ｔ９）が実行される。エニュレーションにおけるデバイス情報の送信では、エンドポイントＥＰ１の新たなバースト転送数（“４”）がホストコンピューター１に送信される（Ｔ９）。
【００８０】
その後、新たなバースト転送数によるＵＳＢ通信が行われる（Ｔ１０）。
【００８１】
［具体例２］
具体例２は、プリンター２の履歴情報に基づいてバースト転送数を変更する例である。
【００８２】
図４は、具体例２における処理手順を例示したタイムチャートである。図４において、まず、ＵＳＢケーブル３がホストコンピューター１とプリンター２に接続され（Ｔ１１）、それに続いて、上述したエニュレーションが実行される（Ｔ１２、Ｔ１３）。
【００８３】
なお、上述した印刷用ＢｕｌｋＯｕｔエンドポイントとスキャン用ＢｕｌｋＩｎエンドポイントに着目すると、この時点では、両エンドポイントのバースト転送数は４となっている。また、この時点で、記憶部２２２に記憶されている上述した履歴情報の、ＵＳＢ通信を用いた印刷（ＵＳＢ印刷）処理回数と、ＵＳＢ通信を用いたスキャニング（ＵＳＢスキャン）処理回数は、共に５回となっている。
【００８４】
その後、当該バースト転送数によるＵＳＢ通信が開始され、ＵＳＢ印刷が１回実行される（Ｔ１４）。
【００８５】
当該ＵＳＢ印刷により、履歴情報が更新され、具体的には、ＵＳＢ印刷処理回数が６回となる。
【００８６】
この履歴情報の更新により、ＵＳＢ印刷とＵＳＢスキャンの実績回数に差がつくので、ＵＳＢ通信制御部２２１は、バースト転送数の変更を行う。すなわち、具体例２のバースト転送数変更条件は、プリンター２が備える各機能の使用実績に差が出ることである。
【００８７】
そして、ＵＳＢ通信制御部２２１は、ＵＳＢ印刷の方がＵＳＢスキャンよりも多く使用されると判断し、ＵＳＢ印刷に対応するエンドポイントのバースト転送数を増やし、ＵＳＢスキャンに対応するエンドポイントのバースト転送数を減らす。具体的には、例えば、ＵＳＢ通信制御部２２１は、印刷用ＢｕｌｋＯｕｔエンドポイントのバースト転送数を４から６に増やし、スキャン用ＢｕｌｋＩｎエンドポイントのバースト転送数を４から２に減らす。当該変更内容は、記憶部２２２のデバイス情報に反映され、各バースト転送数が更新される。
【００８８】
なお、実績回数にどれほどの差ができたときにバースト転送数変更条件が成立したと判断するか、また、バースト転送数変更条件が成立した際にどのようにバースト転送数を増減させるかは、適切な値を予め定めておくことができる。
【００８９】
このようにして、バースト転送数の変更が行われると、図２に基づいて説明した通り、ホストコンピューター１とプリンター２間のＵＳＢ切断及び再接続の処理（Ｔ１５、Ｔ１６）、それに続くエニュレーションの処理（Ｔ１７、Ｔ１８）が実行される。エニュレーションにおけるデバイス情報の送信では、上述した新たなバースト転送数がホストコンピューター１に送信される（Ｔ１８）。
【００９０】
その後、新たなバースト転送数によるＵＳＢ通信が行われる（Ｔ１９）。そして、ＵＳＢ印刷では、バースト転送数“６”で、ホストコンピューター１から印刷データが送信される。
【００９１】
［具体例３］
具体例３は、プリンター２に対する処理の要求に基づいてバースト転送数を変更する例である。換言すれば、具体例３では、その時に要求を受けた処理に用いるエンドポイントのバースト転送数を増やすように変更が行われる。また、本実施の形態例では、上記要求とは、印刷（ＵＳＢ印刷）である。
【００９２】
図５は、具体例３における処理手順を例示したタイムチャートである。図５において、まず、ＵＳＢケーブル３がホストコンピューター１とプリンター２に接続され（Ｔ２１）、それに続いて、上述したエニュレーションが実行される（Ｔ２２、Ｔ２３）。
【００９３】
なお、上述した印刷用ＢｕｌｋＯｕｔエンドポイントとスキャン用ＢｕｌｋＩｎエンドポイントに着目すると、この時点では、両エンドポイントのバースト転送数は４となっている。
【００９４】
その後、ホストコンピューター１からプリンター２へ印刷要求が送信される（Ｔ２４）。すなわち、ホストコンピューター１のドライバー部１２から印刷データが送信される。プリンター２では、その印刷要求を、印刷用ＢｕｌｋＯｕｔエンドポイントで受信し、ＵＳＢ通信制御部２２１は、それを検出する。
【００９５】
その後、ＵＳＢ通信制御部２２１は、当該印刷要求に対して、ＮＡＣＫ信号（否定的な応答）を返信する。これにより、上記印刷データは受信されないので、プリンター２で印刷処理は開始されない。
【００９６】
次に、ＵＳＢ通信制御部２２１は、印刷要求を受けたので、バースト転送数変更条件が成立したと判断し、要求を受けたＵＳＢ印刷のバースト転送数を変更する。具体的には、印刷用ＢｕｌｋＯｕｔエンドポイントのバースト転送数を４から６に増やし、スキャン用ＢｕｌｋＩｎエンドポイントのバースト転送数を４から２に減らす。そして、当該変更内容は、記憶部２２２のデバイス情報に反映され、各バースト転送数が更新される。
【００９７】
その後、図２に基づいて説明した通り、ホストコンピューター１とプリンター２間のＵＳＢ切断及び再接続の処理（Ｔ２５、Ｔ２６）、それに続くエニュレーションの処理（Ｔ２７、Ｔ２８）が実行される。エニュレーションにおけるデバイス情報の送信では、上述した新たなバースト転送数がホストコンピューター１に送信される（Ｔ２８）。
【００９８】
その後、ＮＡＣＫ信号を受けたホストコンピューター１側では、上記印刷データの送信をリトライする（印刷データを再送する）。その際には、新たな印刷用ＢｕｌｋＯｕｔエンドポイントのバースト転送数“６”でＵＳＢ通信がなされる（Ｔ２９）。
【００９９】
以上説明したように、本実施の形態例に係るプリンター２では、ＵＳＢ通信の各エンドポイントのバースト転送数が、所定の条件に基づいて適宜変更される。換言すれば、バースト転送数が、プリンター２が備える機能（印刷、スキャニングなど）に関する情報に基づいて変更される。従って、従来の固定的な（固定値の）バースト転送数によるＵＳＢ通信よりも、ホスト装置との間で、よりユーザーニーズに適した通信、また、より効率的な通信を実現することができる。
【０１００】
具体的には、プリンター２の動作モードに基づいてバースト転送数が変更され、動作モードに適したＵＳＢ通信を行うことができる。より具体的には、印刷高速モードでは、印刷用のエンドポイントのバースト転送数が増加され、スキャン高速モードでは、スキャニング用のエンドポイントのバースト転送数が増加される。
【０１０１】
また、具体的には、プリンター２に対するユーザー指示（操作）に基づいてバースト転送数が変更され、ユーザーニーズに合ったＵＳＢ転送を行うことができる。
【０１０２】
また、具体的には、各機能の使用実績に基づいてバースト転送数が変更され、使用頻度の高い機能に係るエンドポイントのバースト転送数を増加させることができる。これにより、プリンター２での処理をより効率的に行えるようになる。
【０１０３】
また、具体的には、要求を受けた機能に係るエンドポイントのバースト転送数を増加させることができる。これにより、プリンター２での処理をより効率的に行えるようになる。特に、印刷要求を受けた際に、印刷に係るエンドポイントのバースト転送数を増加させることにより、印刷処理を高速に行うことができる。
【０１０４】
また、バースト転送数の変更後には、すぐに、ＵＳＢ切断及び再接続が行われて、エニュレーションが実行されるので、変更結果がすぐに反映される。
【０１０５】
なお、本実施の形態例では、電子機器がプリンターであったが、他の電子機器であっても構わない。
【０１０６】
本実施の形態例では、ＣＰＵ（プロセッサー）が各処理を実行する例を説明した。
【０１０７】
ここで、本明細書において、ＣＰＵは、１又は複数のＣＰＵにより構成されていてもよいし、１又は複数の集積回路（例えば、ＡＳＩＣ）により構成されていてもよい。また、ＣＰＵは、１又は複数のＣＰＵと、１又は複数の集積回路と、の組み合わせにより構成されていてもよい。
【０１０８】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【符号の説明】
【０１０９】
１…ホストコンピューター、２…プリンター、３…ＵＳＢケーブル、１１…アプリケーション部、１２…ドライバー部、１３…ＵＳＢインターフェース、２１…ＵＳＢインターフェース、２２…ＵＳＢデバイスコントローラー、２３…主制御部、２４…スキャナー機構部、２５…印刷機構部、２６…操作部、２２１…ＵＳＢ通信制御部、２２２…記憶部、２２３…メモリー部、２２４…ＦＩＦＯメモリー。
【図１】
2019064213.tif 000003
【図２】
2019064213.tif 000004
【図３】
2019064213.tif 000005
【図４】
2019064213.tif 000006
【図５】
2019064213.tif 000007