(57)【要約】【課題】  複数の通信モードを有する周辺機器をホスト機器に接続した際に、周辺機器の通信モードをホスト機器に対応した通信モードへ自動的に切り替える。【解決手段】  ＰＣ（ホスト機器）は、デジタルカメラ（周辺機器）が接続されたことを検出すると、ＰＣは、デジタルカメラにデバイスリクエストを送信し、デジタルカメラに設定されている通信モードを示すデータを含むデバイスディスクリプタを取得する。ＰＣは、これに基づいてデジタルカメラの通信モードがMassStorageモードであるか否かを判定し、MassStorageモードでない場合には、デジタルカメラへモード切替コマンドを送信してデジタルカメラの通信モードをMassStorageモードに切り替える。そして、ＰＣは、デジタルカメラに対してバスリセットコマンドを発行してデジタルカメラを初期化し、この後、デジタルカメラに動作コマンドを送信してデジタルカメラをMassStorageモードで動作させる。【選択図】        図７
2006227821.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信モードを有する周辺機器をホスト機器に接続した際に、前記ホスト機器が行う周辺機器制御方法において、
前記周辺機器が接続されたことを検出するステップと、
前記周辺機器に設定された通信モードを示すデータを前記周辺機器から取得するステップと、
前記周辺機器に設定された通信モードが前記ホスト機器に対応した通信モードであるか否かを判定するステップと、
前記周辺機器に設定された通信モードが前記ホスト機器に対応した通信モードでない場合に、前記周辺機器にモード切替コマンドを送信し、前記周辺機器の通信モードを前記ホスト機器に対応した通信モードに切り替えるステップと、
前記周辺機器に対してバスリセットコマンドを発行し、前記周辺機器を初期化するステップと、
前記周辺機器に動作コマンドを送信して、前記周辺機器を前記ホスト機器に対応した通信モードで動作させるステップと、
を含むことを特徴とする周辺機器制御方法。
【請求項２】
前記ホスト機器と前記周辺機器とはＵＳＢ方式で接続され、前記モード切替コマンドは、前記ホスト機器内のＵＳＢホストコントローラまたはＵＳＢドライバから送信されるベンダ拡張リクエストコマンドであることを特徴とする請求項１記載の周辺機器制御方法。
【請求項３】
前記ホスト機器と前記周辺機器とはＵＳＢ方式で接続され、前記モード切替コマンドは、前記ホスト機器内のＵＳＢホストコントローラまたはＵＳＢドライバから送信されるベンダ拡張テストコマンドであることを特徴とする請求項１記載の周辺機器制御方法。
【請求項４】
前記ホスト機器と前記周辺機器とはＵＳＢ方式またはＩＥＥＥ１３９４方式で接続され、前記モード切替コマンドは、前記ホスト機器内のアプリケーションから送信されるベンダ拡張クラスコマンドであることを特徴とする請求項１記載の周辺機器制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信モードを有する周辺機器をホスト機器に接続した際にホスト機器が行う周辺機器制御方法に関する。
【背景技術】
【０００２】
近年のデジタルカメラは、MassStorageモード、プリンタ直結モード（PictBridge（登録商標）モード）などの通信モードを備えており、パーソナルコンピュータ（ＰＣ）やプリンタなどのホスト機器とＵＳＢ（Universal Serial Bus）方式により接続される。このとき、デジタルカメラは、ホスト機器の周辺機器（デバイス）として動作する。MassStorageモードは、ＰＣ接続用の通信モードであり、デジタルカメラをメモリカードリーダとして動作させる。プリンタ直結モードは、プリンタ接続用の通信モードであり、デジタルカメラを、ＰＣを介さずに画像データをプリンタへ直接出力させる。
【０００３】
上記のような複数種類の通信モードを有するデジタルカメラ（周辺機器）がＰＣ（ホスト機器）にＵＳＢ接続された際には、ＰＣは、デジタルカメラに設定されている通信モード（デバイスクラス）を示すデータを含むデバイスディスクリプタ（Device Descriptor）の送信を要求するデバイスリクエスト(Device Request）をデジタルカメラへ送信する。デジタルカメラは、このデバイスリクエストを受信すると、デバイスディスクリプタをＰＣへ送信する。ＰＣは、受信したデバイスディスクリプタに応じた動作コマンドをデジタルカメラに送信し、デジタルカメラは、受信した動作コマンドに応じた処理を実行する（例えば、特許文献１参照）。
【特許文献１】特開平２００２−２３２７５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のデジタルカメラにおいては、MassStorageモードとプリンタ直結モードとは、ユーザによってデジタルカメラ側で設定が行われるため、プリンタ直結モードでＰＣに接続した場合、またはMassStorageモードでプリンタに接続した場合には、通信モードがホスト機器に対応せず、通信を行うことができない。この場合には、ユーザは、デジタルカメラを操作して、通信モードをホスト機器に対応したものに切り替えなければならない。つまり、ユーザは、従来のデジタルカメラなどの周辺機器をホスト機器に接続する際には、周辺機器に設定されている通信モードがホスト機器に対応するものであるか否かを意識することを強いられている。
【０００５】
本発明は、上記課題を鑑みてなされたものであり、複数の通信モードを有する周辺機器をホスト機器に接続した際に、周辺機器の通信モードをホスト機器に対応した通信モードへ、ユーザを介さず自動的に切り替えることを可能とする周辺機器制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の周辺機器制御方法は、複数の通信モードを有する周辺機器をホスト機器に接続した際に、前記ホスト機器が行う周辺機器制御方法において、前記周辺機器が接続されたことを検出するステップと、前記周辺機器に設定された通信モードを示すデータを前記周辺機器から取得するステップと、前記周辺機器に設定された通信モードが前記ホスト機器に対応した通信モードであるか否かを判定するステップと、前記周辺機器に設定された通信モードが前記ホスト機器に対応した通信モードでない場合に、前記周辺機器にモード切替コマンドを送信し、前記周辺機器の通信モードを前記ホスト機器に対応した通信モードに切り替えるステップと、前記周辺機器に対してバスリセットコマンドを発行し、前記周辺機器を初期化するステップと、前記周辺機器に動作コマンドを送信して、前記周辺機器を前記ホスト機器に対応した通信モードで動作させるステップと、を含むことを特徴とする。
【０００７】
なお、前記ホスト機器と前記周辺機器とはＵＳＢ方式で接続され、前記モード切替コマンドは、前記ホスト機器内のＵＳＢホストコントローラまたはＵＳＢドライバから送信されるベンダ拡張リクエストコマンドであることが好ましい。
【０００８】
また、前記ホスト機器と前記周辺機器とはＵＳＢ方式で接続され、前記モード切替コマンドは、前記ホスト機器内のＵＳＢホストコントローラまたはＵＳＢドライバから送信されるベンダ拡張テストコマンドであることも好ましい。
【０００９】
さらに、前記ホスト機器と前記周辺機器とはＵＳＢ方式またはＩＥＥＥ１３９４方式で接続され、前記モード切替コマンドは、前記ホスト機器内のアプリケーションから送信されるベンダ拡張クラスコマンドであることも好ましい。
【発明の効果】
【００１０】
本発明の周辺機器制御方法によれば、周辺機器に設定された通信モードがホスト機器に対応した通信モードでない場合に、周辺機器にモード切替コマンドを送信し、周辺機器の通信モードをホスト機器に対応した通信モードに切り替え、周辺機器に対してバスリセットコマンドを発行し、周辺機器を初期化するようにしたので、周辺機器をホスト機器に接続した際に、周辺機器の通信モードをホスト機器に対応した通信モードへ、ユーザを介さず自動的に切り替えることができる。これにより、ユーザは、周辺機器をホスト機器に接続する際に、周辺機器に設定された通信モードがホスト機器に対応しているか否かを意識することが不要となる。
【発明を実施するための最良の形態】
【００１１】
図１において、本発明に係わる周辺機器制御システム２は、周辺機器としてのデジタルカメラ３と、ホスト機器としてのＰＣ４またはプリンタ５とから構成され、ＰＣ４とデジタルカメラ３、または、プリンタ５とデジタルカメラ３とは、ＵＳＢケーブル６を介して互いに着脱自在に接続される。なお、ＰＣ４とプリンタ５とをＵＳＢケーブル６で接続することもできるが、この場合にはプリンタ５はＰＣ４の周辺機器として動作する。
【００１２】
図２において、デジタルカメラ３の動作は、ＲＯＭ（Read Only Memory）１０に記憶されたプログラムに基づいて、システムコントローラ１１によって総括的に制御される。操作部１２は、シャッタボタン、ズームボタン、選択キーなどを含み、システムコントローラ１１は、操作部１２からの入力信号に応じて、データバス１３に接続されたデジタルカメラ３の各部を動作制御する。
【００１３】
撮像部１４は、撮像レンズ、撮像素子を含み、被写体の光学像を光電変換して画像信号を生成する。この画像信号は図示しない信号処理回路において所定の信号処理が施された後、Ａ／Ｄ変換部１５においてデジタルの画像データに変換される。この画像データは一旦ＲＡＭ（Random Access Memory）１６に記録され、画像処理回路１７においてホワイトバランスや歪み補正等の画像補正が施された後、カードドライバ１８を介して着脱式のメモリカード１９に記録される。また、メモリカード１９に記録された画像データをＬＣＤ（Liquid Crystal Display）ドライバ２０に出力することで、撮影された画像をＬＣＤパネル２１に再生表示することができる。
【００１４】
ＵＳＢケーブル６には、コネクタ（図示せず）を介してＵＳＢファンクションコントローラ２２が接続される。ＵＳＢファンクションコントローラ２２は、ＵＳＢ２．０規格に従い、ＰＣ３に設けられたＵＳＢホストコントローラ３８（図３参照）、または、プリンタに設けられたＵＳＢホストコントローラ４６（図４参照）との間でデータの送受信を行う。デジタルカメラ３は、ＰＣ接続用のMassStorageモードと、プリンタ接続用のプリンタ直結モードとを有しており、いずれかの通信モードに設定される。
【００１５】
図３において、ＰＣ４の動作は、ＨＤＤ（Hard Disk Drive）３０に記憶されたＯＳ（Operating System）に基づいて、ＣＰＵ（Central Processing Unit）３１により総括的に制御される。操作部３２は、キーボード、マウスなどを含み、ＣＰＵ３１は、操作部３２からの入力信号に応じて、データバス３３に接続されたＰＣ４の各部を動作制御する。ＲＯＭ３４には、起動プログラムが記憶されており、ＲＡＭ３５には、各種のプログラムが一時的にロードされる。ＬＣＤドライバ３６は、ＬＣＤパネル３７に適宜の画像表示を行なう。なお、ＯＳとして、例えばマイクロソフト社製のWindows（登録商標）が用いられる。
【００１６】
ＵＳＢホストコントローラ３８は、ＵＳＢケーブル６により、コネクタ（図示せず）を介してデジタルカメラ３のＵＳＢファンクションコントローラ２２に接続される。ＵＳＢホストコントローラ３８は、デジタルカメラ３がＵＳＢ接続されたとき、デジタルカメラ３をMassStorageモードに設定し、MassStorageクラスにより、ＰＣ４をホストとしてデータ通信を行う。
【００１７】
図４において、プリンタ５の動作は、ＲＯＭ４０に記憶されたプログラムに基づいて、システムコントローラ４１によって総括的に制御される。操作部４２は、各種のボタンからなり、システムコントローラ４１は、操作部４２からの入力信号に応じて、データバス４３に接続されたプリンタ５の各部を動作制御する。
【００１８】
画像記録部４４には、記録紙を装填する記録紙装填部、記録紙を搬送する搬送部、および記録紙に画像を記録する記録ヘッドが備えられており、記録紙装填部より記録紙を搬送しながら、ＲＡＭ４５に記憶された画像データに基づき記録ヘッドを駆動して、記録紙に画像を発色記録する。
【００１９】
ＵＳＢホストコントローラ４６は、ＵＳＢケーブル６により、コネクタ（図示せず）を介してデジタルカメラ３のＵＳＢファンクションコントローラ２２に接続される。ＵＳＢホストコントローラ４６は、デジタルカメラ３がＵＳＢ接続されたとき、デジタルカメラ３をプリンタ直結モードに設定し、ＳＩＣＤクラスにより、プリンタ５をホストとしてデータ通信を行う。
【００２０】
図５において、ＰＣ４には、ＵＳＢデータ通信に際してＵＳＢホストコントローラ３８を制御するためのＵＳＢドライバ５０、およびＵＳＢドライバ５０を介してデジタルカメラ３を利用するためのアプリケーション５１が、前述のＨＤＤ３０またはＲＯＭ３４に記憶されている。
【００２１】
図６において、プリンタ５には、ＵＳＢデータ通信に際してＵＳＢホストコントローラ４６を制御するためのＵＳＢドライバ５２、およびＵＳＢドライバ５２を介してデジタルカメラ３を利用するためのアプリケーション５３が、前述のＲＯＭ４０に記憶されている。
【００２２】
図５および図６において、デジタルカメラ３には、ＵＳＢデータ通信に際してＵＳＢファンクションコントローラ２２を制御するためのＵＳＢドライバ５４、および、ＰＣ４のアプリケーション５１またはプリンタ５のアプリケーション５３からの動作指示をシステムコントローラ１１に提供するためのファームウェア５５が、前述のＲＯＭ１０に記憶されている。
【００２３】
次に、図５のようにデジタルカメラ３がＰＣ４にＵＳＢ接続された場合の処理手順を、図７のフローチャートを用いて説明する。まず、ユーザによってＵＳＢケーブル６を介してデジタルカメラ３がＰＣ４に接続されると、ＰＣ４は、ＵＳＢケーブル６の接続を検出し、コントロール転送を使用して、デジタルカメラ３に対してデバイスリクエストを送信する。これ以降の動作はコントロール転送によって行われる。
【００２４】
デジタルカメラ３は、デバイスリクエストを受信すると、デジタルカメラ３に設定されている通信モード（デバイスクラス）を示すデータを含むデバイスディスクリプタをＰＣ４へ送信する。ＰＣ４は、受信したデバイスディスクリプタに基づき、デジタルカメラ３に設定されている通信モードがMassStorageモードであるか否かを判定し、その通信モードがMassStorageモードである場合には、デジタルカメラ３に動作コマンドを送信して、デジタルカメラ３をメモリカード１９のカードリーダとして動作させる。
【００２５】
一方、その通信モードがMassStorageモードでない場合（プリンタ直結モードの場合）には、ＰＣ４は、デジタルカメラ３へモード切替コマンドを送信する。このモード切替コマンドは、ＵＳＢ２．０規格よって規定されたフォーマットを使用するベンダ拡張リクエストコマンドである。デジタルカメラ３は、モード切替コマンドを受信すると、デバイスクラスをＳＩＣＤクラスからMassStorageクラスに切り替え、通信モードをMassStorageモードに切り替える。
【００２６】
この後、ＰＣ４はデジタルカメラ３に対してバスリセットコマンドを発行し、デジタルカメラ３を初期化（周辺機器側の再構成）する。これにより、ＰＣ４とデジタルカメラ３とは、再接続した状態（ＵＳＢケーブル６を抜き差ししたのと同等の状態）となる。なお、ＰＣ４のＯＳがWindows（登録商標）の場合には、“IOCTL#INTERNAL#USB#RESET#PORT”で規定されるバスリセットコマンドが使用される。バスリセットが行われた後は、ＰＣ４は、デジタルカメラ３へ動作コマンドを送信して、デジタルカメラ３をメモリカード１９のカードリーダとして動作させる。
【００２７】
図８のフローチャートは、図６のようにデジタルカメラ３がプリンタ５にＵＳＢ接続された場合の処理手順を示す。この場合には、プリンタ５からのデバイスリクエストに対してデジタルカメラ３から送信されるデバイスディスクリプタに基づき、デジタルカメラ３に設定されている通信モードがプリンタ直結モードであるか否か判断される。プリンタ直結モードである場合には、プリンタ５は、デジタルカメラ３に動作コマンドを送信して、デジタルカメラ３に画像データの出力を行わせる。プリンタ直結モードでない場合（MassStorageモードの場合）には、図７のフローチャートと同様な手順により、デジタルカメラ３の通信モードをプリンタ直結モードに切り替え（MassStorageクラスからＳＩＣＤクラスに切り替え）、プリンタ５側からバスリセットを行った後、デジタルカメラ３に動作コマンドを送信して、デジタルカメラ３からプリンタ５へ画像データの出力を行わせる。
【００２８】
以上の構成により、周辺機器であるデジタルカメラ３が、ホスト機器であるＰＣ４またはプリンタ５に対応しない不適切な通信モードでＵＳＢ接続された場合には、自動的にホスト機器に対応した適切な通信モードに切り替えられる。また、バスリセットをホスト機器側から行うようにしているので、周辺機器側の機能的な負担が少なく、周辺機器のコストを削減することができる。
【００２９】
なお、上記実施形態では、周辺機器のモード切り替えを行うためのモード切替コマンドとしてベンダ拡張リクエストコマンドを用いているが、本発明はこれに限定されず、モード切替コマンドとして、ベンダ拡張テストコマンドまたはベンダ拡張クラスコマンドを用いても良い。ベンダ拡張リクエストコマンドおよびベンダ拡張テストコマンドは、ＵＳＢホストコントローラまたはＵＳＢドライバから送信されるものである。ベンダ拡張クラスコマンドは、アプリケーションから送信されるものであって、PictBridge（登録商標）規格の下位プロトコルであるＰＴＰ（ＰＩＭＡ  １５７４０）で定義されたコマンドである。
【００３０】
また、上記実施形態では、ＵＳＢケーブルを用いてホスト機器と周辺機器とを接続する例に挙げて説明しているが、本発明はこれに限定されず、ＩＥＥＥ１３９４ケーブルを用いてＩＥＥＥ１３９４方式でホスト機器と周辺機器と接続する場合にも本発明を適用することができる。この場合には、モード切替コマンドとしてベンダ拡張クラスコマンドを用いる。
【００３１】
また、上記実施形態では、周辺機器であるデジタルカメラが備える通信モードとして、MassStorageモードとプリンタ直結モードとを例に挙げて説明しているが、本発明はこれに限定されず、ＰＣカメラモードなどの他の通信モードを備えるようにしてもよい。
【００３２】
また、上記実施形態では、ホスト機器としてＰＣおよびプリンタ、周辺機器としてデジタルカメラを例に挙げて説明しているが、本発明はこれに限定されず、ホスト−デバイスとして接続可能な電子機器であれば、いかなる電子機器を用いることも可能である。
【図面の簡単な説明】
【００３３】
【図１】本発明を実施した周辺機器制御システムを示す斜視図である。
【図２】デジタルカメラの電気的構成を示すブロック図である。
【図３】パーソナルコンピュータの電気的構成を示すブロック図である。
【図４】プリンタの電気的構成を示すブロック図である。
【図５】パーソナルコンピュータおよびデジタルカメラのＵＳＢソフトウェア／ハードウェア構成を示すブロック図である。
【図６】プリンタおよびデジタルカメラのＵＳＢソフトウェア／ハードウェア構成を示すブロック図である。
【図７】デジタルカメラがパーソナルコンピュータにＵＳＢ接続された場合の処理手順を示すフローチャートである。
【図８】デジタルカメラがプリンタにＵＳＢ接続された場合の処理手順を示すフローチャートである。
【符号の説明】
【００３４】
２  周辺機器制御システム
３  デジタルカメラ
４  パーソナルコンピュータ
５  プリンタ
６  ＵＳＢケーブル
１９  メモリカード
２０  ドライバ
２１  パネル
２２  ファンクションコントローラ
３８，４６  ホストコントローラ
５０，５２，５４  ＵＳＢドライバ
５１，５３  アプリケーション
５５  ファームウェア
【図１】
2006227821.tif 000003
【図２】
2006227821.tif 000004
【図３】
2006227821.tif 000005
【図４】
2006227821.tif 000006
【図５】
2006227821.tif 000007
【図６】
2006227821.tif 000008
【図７】
2006227821.tif 000009
【図８】
2006227821.tif 000010