(57)【要約】【課題】ＵＳＢ給電による動作が可能で、しかもファームウェア更新のためにＵＳＢケーブルが接続された場合には自動的にファームウェア更新モードで動作するようにする。【解決手段】ＵＳＢ端子を備えかつファームウェアをプロセッサに実行させることにより動作する電子機器にあって、ＵＳＢ端子にＵＳＢケーブルが接続された状態で、当該ＵＳＢケーブルを介して外部機器から供給される電源により所定の機能を実現するＵＳＢ給電動作モードと、当該ＵＳＢケーブルを介して外部から供給されるバイナリコードに従いファームウェアを更新するファームウェア更新モードとを有する。そして、ＵＳＢ端子にケーブルが接続された状態で、ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出されない場合には上記ＵＳＢ給電動作モードにより動作し、ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出された場合には上記ファームウェア更新モードにより動作する。【選択図】図１０
2014067101.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ端子を備え、かつファームウェアをプロセッサに実行させることにより動作する電子機器であって、
前記ＵＳＢ端子にＵＳＢケーブルが接続された状態で、当該ＵＳＢケーブルを介して外部から供給される電源により所定の機能を実現するＵＳＢ給電動作モードと、当該ＵＳＢケーブルを介して外部から供給されるバイナリコードに従いファームウェアを更新するファームウェア更新モードとを有し、
前記ＵＳＢ端子にケーブルが接続された状態で、前記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出されない場合には前記ＵＳＢ給電動作モードにより動作し、前記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出された場合には前記ファームウェア更新モードにより動作することを特徴とするファームウェア更新可能な電子機器。
【請求項２】
ＵＳＢ端子を備え、かつファームウェアをプロセッサに実行させることにより動作する電子機器であって、
前記ＵＳＢ端子にＵＳＢケーブルが接続された状態で、当該ＵＳＢケーブルを介して外部から供給される電源により所定の機能を実現するＵＳＢ給電動作モードと、当該ＵＳＢケーブルを介して外部から供給されるバイナリコードに従いファームウェアを更新するファームウェア更新モードとを有し、
起動時に前記ＵＳＢ端子に接続されたＵＳＢケーブルを検出し、ＵＳＢケーブルが検出された状態で、前記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出されない場合には前記ＵＳＢ給電動作モードで動作し、前記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出された場合には前記ファームウェア更新モードで動作することを特徴とするファームウェア更新可能な電子機器。
【請求項３】
ＵＳＢ端子を備え、かつファームウェアをプロセッサに実行させることにより動作するワイヤレスコントローラであって、
前記ＵＳＢ端子にＵＳＢケーブルが接続されていない状態でワイヤレスコントローラの機能を実現するワイヤレスモードと、外部機器からＵＳＢケーブルを介して前記ＵＳＢ端子に給電がなされている状態でワイヤレスコントローラの機能を実現するＵＳＢ給電動作モードと、外部機器からＵＳＢケーブルを介して伝送されるバイナリコードに従いファームウェアを更新するファームウェア更新モードとを有し、
前記ＵＳＢ端子にケーブルが接続された状態で、前記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出されない場合には前記ＵＳＢ給電動作モードにより動作し、前記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出された場合には前記ファームウェア更新モードにより動作することを特徴とするワイヤレスコントローラ。
【請求項４】
ＵＳＢ端子を備え、かつファームウェアをプロセッサに実行させることにより動作するワイヤレスコントローラであって、
前記ＵＳＢ端子にＵＳＢケーブルが接続されていない状態でワイヤレスコントローラの機能を実現するワイヤレスモードと、外部機器からＵＳＢケーブルを介して前記ＵＳＢ端子に給電がなされている状態でワイヤレスコントローラの機能を実現するＵＳＢ給電動作モードと、外部機器からＵＳＢケーブルを介して伝送されるバイナリコードに従いファームウェアを更新するファームウェア更新モードとを有し、
起動時に前記ＵＳＢ端子に接続されたＵＳＢケーブルを検出し、ＵＳＢケーブルが検出された状態で、前記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出されない場合には前記ＵＳＢ給電動作モードで動作し、前記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出された場合には前記ファームウェア更新モードで動作することを特徴とするワイヤレスコントローラ。
【請求項５】
前記ファームウェア更新モードでは、前記外部機器から前記ＵＳＢケーブルの電力バスＶBUSを介して供給される電圧を電源としてファームウェアの更新処理を実行することを特徴とする請求項３または４に記載のワイヤレスコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ファームウェアを更新可能な電子機器及びワイヤレスコントローラに関する。
【背景技術】
【０００２】
パーソナル・コンピュータやスマートホン、タブレット型端末、テレビジョン受信機、セットトップボックス、コンシューマーゲーム機等の電子機器には、入力装置としてワイヤレスコントローラを備えたものがある。ワイヤレスコントローラには、電子機器との間でBluetooth（登録商標）等の無線ネットワークを介して通信を行うことで、電子機器内のＣＰＵ上で実行されているアプリケーションを制御するものがあり、この種のワイヤレスコントローラはポインティングデバイス、ゲームパッド、ジョイスティック等として広く知られている。この種のワイヤレスコントローラは、筐体表面に配置されたスイッチ又はボタン等の操作部と、電子機器との間で通信を行う通信部と、上記操作部から操作信号を受け取って上記通信部から電子機器に送信する制御部とを有しているのが一般的である（例えば特許文献１を参照）。
【０００３】
ところで、ワイヤレスコントローラの制御部をマイクロコンピュータにより構成した場合、ファームウェアを更新することにより、コントローラの機能を修正したり新しい機能を追加することが可能となる。このような利点のあるファームウェアの更新を実現する手法の一つとして、ワイヤレスコントローラにＵＳＢインタフェースを設け、このＵＳＢインタフェースを介してワイヤレスコントローラをパーソナル・コンピュータ等に接続することにより、ファームウェアをシリアル転送して書き換えるものがある。このような手法によれば、ユーザがメーカーのＷｅｂサイトから新しいファームウェアをダウンロードし、自分でパーソナル・コンピュータとワイヤレスコントローラをＵＳＢ接続することでファームウェアを更新することが可能となる。
【０００４】
ファームウェアをＵＳＢインタフェースを介してワイヤレスコントローラにシリアル転送し書き換える機能は、ワイヤレスコントローラとしての通常の機能ではない。このため、書き換えに先立ちワイヤレスコントローラを、専用の「ファームウェア更新モード」に移行させる必要がある。これを実現する手法として、例えば操作部のキーやボタン等が特殊な組み合わせで操作された場合にワイヤレスコンコントローラを「ファームウェア更新モード」に移行させ、その上でファームウェアをシリアル転送する設計が考えられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２１１６６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、このように手作業で「ファームウェア更新モード」に移行させることは操作が煩雑であり、またキーやボタンの組み合わせをユーザが忘れてしまう場合がある。また、ワイヤレスコントローラの場合、ＵＳＢ接続によりバッテリを充電したり、ＵＳＢ給電によりコントローラを駆動したいという要望もある。
【０００７】
この発明は上記事情に着目してなされたもので、その目的とするところは、ＵＳＢ給電による動作が可能で、しかもファームウェア更新のためにＵＳＢケーブルが接続された場合には自動的にファームウェア更新モードで動作するようにした電子機器及びワイヤレスコントローラを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するためにこの発明の第１の観点は、ＵＳＢ端子を備えかつファームウェアをプロセッサに実行させることにより動作する電子機器にあって、上記ＵＳＢ端子にＵＳＢケーブルが接続された状態で、当該ＵＳＢケーブルを介して外部から供給される電源により所定の機能を実現するＵＳＢ給電動作モードと、当該ＵＳＢケーブルを介して外部から供給されるバイナリコードに従いファームウェアを更新するファームウェア更新モードとを有している。そして、上記ＵＳＢ端子にケーブルが接続された状態で、当該ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出されない場合には上記ＵＳＢ給電動作モードにより動作し、上記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出された場合には上記ファームウェア更新モードにより動作するようにしたものである。
【０００９】
また、本発明の第２の観点は、ＵＳＢ端子を備えかつファームウェアをプロセッサに実行させることにより動作する電子機器にあって、上記ＵＳＢ端子にＵＳＢケーブルが接続された状態で、当該ＵＳＢケーブルを介して外部から供給される電源により所定の機能を実現するＵＳＢ給電動作モードと、当該ＵＳＢケーブルを介して外部から供給されるバイナリコードに従いファームウェアを更新するファームウェア更新モードとを有している。そして、起動時に上記ＵＳＢ端子に接続されたＵＳＢケーブルを検出し、ＵＳＢケーブルが検出された状態で、上記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出されない場合には上記ＵＳＢ給電動作モードで動作し、上記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出された場合には上記ファームウェア更新モードで動作するようにしたものである。
【００１０】
さらに、本発明の第３の観点は、ＵＳＢ端子を備えかつファームウェアをプロセッサに実行させることにより動作するワイヤレスコントローラにあって、上記ＵＳＢ端子にＵＳＢケーブルが接続されていない状態でワイヤレスコントローラの機能を実現するワイヤレスモードと、外部機器からＵＳＢケーブルを介して上記ＵＳＢ端子に給電がなされている状態でワイヤレスコントローラの機能を実現するＵＳＢ給電動作モードと、外部機器からＵＳＢケーブルを介して伝送されるバイナリコードに従いファームウェアを更新するファームウェア更新モードとを有している。そして、上記ＵＳＢ端子にケーブルが接続された状態で、上記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出されない場合には上記ＵＳＢ給電動作モードにより動作し、上記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出された場合には上記ファームウェア更新モードにより動作するようにしたものである。
【００１１】
さらに、本発明の第４の観点は、ＵＳＢ端子を備えかつファームウェアをプロセッサに実行させることにより動作するワイヤレスコントローラにあって、上記ＵＳＢ端子にＵＳＢケーブルが接続されていない状態でワイヤレスコントローラの機能を実現するワイヤレスモードと、外部機器からＵＳＢケーブルを介して上記ＵＳＢ端子に給電がなされている状態でワイヤレスコントローラの機能を実現するＵＳＢ給電動作モードと、外部機器からＵＳＢケーブルを介して伝送されるバイナリコードに従いファームウェアを更新するファームウェア更新モードとを有している。そして、起動時に上記ＵＳＢ端子に接続されたＵＳＢケーブルを検出し、ＵＳＢケーブルが検出された状態で、上記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出されない場合には上記ＵＳＢ給電動作モードで動作し、上記ＵＳＢ端子のＤ＋／Ｄ−信号線において信号が検出された場合には上記ファームウェア更新モードで動作するようにしたものである。
【００１２】
上記ファームウェア更新モードでは、上記外部機器から上記ＵＳＢケーブルの電力バスＶBUSを介して供給される電圧を電源としてファームウェアの更新処理を実行させるようにするとよい。
【発明の効果】
【００１３】
この発明の第１乃至第４の観点によれば、電子機器又はワイヤレスコントローラは、いずれも外部機器からＵＳＢケーブルを介して供給される給電により当該電子機器又はワイヤレスコントローラとしての機能を実現するＵＳＢ給電動作モードと、ＵＳＢケーブルから供給されるバイナリコードでファームウェアを更新するファームウェア更新モードとを有している。そして、ＵＳＢ端子に接続されたＵＳＢケーブルのＤ＋／Ｄ−信号線に信号を検出しない場合にはＵＳＢ給電動作モードで動作し、Ｄ＋／Ｄ−信号線に信号を検出した場合にはファームウェア更新モードで動作する。このため、給電目的でデータ通信機能を持たないケーブルが装着された場合にはＵＳＢ給電動作モードで動作し、データ通信機能を持ったケーブルを介してパーソナル・プロセッサ等のホスト装置に接続された場合には、煩雑な操作を行うことなく自動的にファームウェア更新モードへ移行してファームウェアの更新処理を行うことができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態にかかるワイヤレスコントローラの正面図。
【図２】ワイヤレスコントローラの一側面図。
【図３】ワイヤレスコントローラに設けられたＵＳＢミニＢレセプタクルの外観図。
【図４】ＵＳＢミニＢレセプタクルと勘合するＵＳＢミニＢプラグの外観図。
【図５】ワイヤレスコントローラのブロック図。
【図６】ワイヤレスコントローラに接続されるＵＳＢケーブルの図面。
【図７】ワイヤレスコントローラと接続されるパーソナル・コンピュータの一例を示す図面。
【図８】ワイヤレスコントローラとパーソナル・コンピュータとをＵＳＢケーブルで接続した状態を示す図面。
【図９】ワイヤレスコントローラとＡＣアダプタとをＵＳＢケーブルで接続した状態を示す図面。
【図１０】ワイヤレスコントローラにＵＳＢケーブルを接続して起動した場合の動作を示すフローチャート。
【発明を実施するための形態】
【００１５】
以下、図面を参照してこの発明に係わる実施形態を説明する。  
［一実施形態］
図１はこの発明の一実施形態にかかるワイヤレスコントローラ１００の正面図であり、図２はワイヤレスコントローラの一側面図である。ここで、図２の側面図は図１の図面上方からワイヤレスコントローラ１００を視た状態を示している。図１および図２に示すように、ワイヤレスコントローラ１００には方向を入力するためのキーパッド１０１と主操作ボタン１０２とアナログコントローラ１０３および１０４とが上面に配置されており、側面ボタン１０５〜１０８が側面に設けられている。また、ワイヤレスコントローラ１００の側面には、ＵＳＢミニＢレセプタクル１０９が設けられている。
【００１６】
図３はＵＳＢミニＢレセプタクル１０９の拡大図である。ＵＳＢミニＢレセプタクル１０９は小型機器に搭載するために小型化されたＵＳＢレセプタクルであり、標準化団体であるUSB Implementers Forum, Inc.の公開しているUSB 2.0 Specification Engineering Change Notice (ECN) #1: Mini-B connectorに記載された仕様に沿って設計されたものである。図３に示すように、ＵＳＢミニＢレセプタクル１０９は、金属シールド内に配置された絶縁部材上に端子１０９ａ〜１０９ｅが設けられた構成となっている。
【００１７】
図４はＵＳＢミニＢレセプタクル１０９に装着されるＵＳＢミニＢプラグ１１０の正面図である。図４に示すように、ＵＳＢミニＢプラグ１１０は、ＵＳＢミニＢレセプタクル１０９の金属シールドに挿入されるように設けられた金属シールドの内部に、前記端子１０９ａ〜１０９ｅと対応するように端子１１０ａ〜１１０ｅを配置した構成となっている。
【００１８】
ここで、ＵＳＢミニＢレセプタクル１０９に設けられた端子１０９ａ〜１０９ｅについてより詳細に説明する。すなわち、端子１０９ａは電源を供給するための電力バスＶBUS、端子１０９ｂおよび１０９ｃは差動信号線Ｄ＋／Ｄ−、端子１０９ｄはＵＳＢ  ＯＴＧ（Ｏｎ−Ｔｈｅ−Ｇｏ）で使用されるＩＤ信号線、端子１０９ｅは接地線ＧＮＤである。
【００１９】
図５は、ワイヤレスコントローラ１００の機能ブロック図である。図５に示すように、ワイヤレスコントローラ１００は、主として操作部１１１と、ＵＳＢインタフェース１１２と、ＣＰＵ１１３と、無線通信部１１４と、ＲＯＭ１１５と、ＦｌａｓｈＲＯＭ１１６と、ＲＡＭ１１７と、バッテリを備えた電源回路（図示せず）とから構成されている。以下、各部の詳細について説明する。
【００２０】
操作部１１１は、図１および図２に示したキーパッド１０１、主操作ボタン１０２、アナログコントローラ１０３，１０４および側面ボタン１０５〜１０８により構成され、ユーザの操作に応じた信号を生成してＣＰＵ１１３に入力する。なお、アナログコントローラ１０３，１０４はユーザのスティック操作に応じた信号を生成するので、その出力がアナログ信号である場合にはＡ／Ｄコンバータによりデジタル信号に変換してＣＰＵ１１３に入力する。
【００２１】
ＵＳＢインタフェース１１２は、図１および図２に示したＵＳＢミニＢレセプタクル１０９と、その動作を制御する半導体チップであるＵＳＢコントローラとから構成される。ＵＳＢコントローラは、ＵＳＢミニＢレセプタクル１０９の端子１０９ａ〜１０９ｅに付与された信号に応じてＣＰＵ１１３に信号を通知し、ＣＰＵ１１３からの信号に応じて端子１０９ａ〜１０９ｅに信号を印加してＵＳＢ通信を行う。また、ＵＳＢインタフェース１１２は、端子１０９ａに供給されるＶBUSをワイヤレスコントローラ１００の各部に電源として供給するためのインタフェースとしても機能する。このときＵＳＢインタフェース１１２は、ワイヤレスコントローラ１００に搭載された不図示のバッテリに電力バスＶBUSを介して供給される電圧を供給して充電しつつ、バッテリからの給電により各部を動作させる構成としてもよい。
【００２２】
ＣＰＵ１１３は、後述するＲＯＭ１１５およびＦｌａｓｈＲＯＭ１１７に格納されたファームウェアのコードを実行することにより、操作部１１１からの信号を後述する無線通信部１１４から送信する動作を実現し、さらにＵＳＢインタフェース１１２からの信号を受け付けて後述する図１０のフローチャートに示した動作を実現する。
【００２３】
無線通信部１１６は、電波または赤外線を利用して通信を行う部であり、通信方式はBluetooth（登録商標）、ZigBee（登録商標）、ＩｒＤＡ等の標準化された方式であってもよいし、独自仕様の通信方式であっても構わない。ただし、標準化された通信方式には、同じ通信方式に対応したパーソナル・コンピュータ、スマートホン、タブレット端末等のホスト機器と容易に通信することができるという利点がある。独自仕様の通信方式とした場合には、通信相手となる機器を同じ通信方式に対応させなければならない。
【００２４】
ＲＯＭ１１５は不揮発性で読み出しのみに対応したメモリであり、ＦｌａｓｈＲＯＭ１１６は不揮発性で読み出し／書き込みの双方に対応したメモリである。これら不揮発性メモリには上述したプログラムコードが記憶されているが、このうちＦｌａｓｈＲＯＭ１１６に格納されたコードを書き換えることにより、ファームウェアの更新を行うことが可能である。ＲＡＭ１１６はＣＰＵ１１３がコードを実行する際に一時的にコードがロードされ、またヒープエリアとして使用される。
【００２５】
以上のように構成されたワイヤレスコントローラ１００は、起動後にＣＰＵ１１３がファームウェアを実行することにより、無線通信部１１４によりパーソナル・コンピュータ、スマートホン、タブレット端末等のホスト機器との間で通信リンクを確立し、ユーザが操作部１１１に対して行った操作に応じた信号を通信相手のホスト機器に送信する。これにより、例えば通信相手のホスト機器で実行されているゲームの操作をワイヤレスコントローラ１００で行うことが可能となる。
【００２６】
また、ワイヤレスコントローラ１００は、不図示のバッテリによる動作を基本とするが、後述するようにＵＳＢミニＢレセプタクル１０９のＶBUSから供給される電圧を電源として動作することも可能である。さらに、ワイヤレスコントローラ１００は、後述するようにＵＳＢミニＢレセプタクル１０９を介して新しいファームウェアを供給することによりファームウェアを更新することが可能である。
【００２７】
ここで、ワイヤレスコントローラ１００のファームウェアについて説明する。ワイヤレスコントローラ１００のファームウェアは、不揮発メモリであるＲＯＭ１１５またはＦｌａｓｈＲＯＭ１１６に格納されている。ファームウェアは、ワイヤレスコントローラ１００の起動時に実行されるブートローダと、このブートローダによって呼び出されて実行される基本動作プログラムと、同様にブートローダによって呼び出されて実行される更新動作プログラムとから構成される。
【００２８】
ブートローダは、起動時にＵＳＢインタフェース１１２の状態を検出し、ワイヤレスコントローラ１００をコントローラとして動作させる場合には基本プログラムを呼び出す。これに対し、ファームウェア更新モードで動作させる場合には更新動作プログラムを呼び出す動作を行うものである。基本プログラムは、ワイヤレスコントローラ１００の各部を制御して、ＵＳＢインタフェース１１２のＶBUS端子への給電またはバッテリによりコントローラとしての動作を実現するものである。更新動作プログラムは、ＵＳＢインタフェース１１２に接続されたパーソナル・コンピュータ等から送信される新しい基本プログラムを受け取り、既存の基本プログラムを新しい基本プログラムで上書きすることによりファームウェアの更新を行うものである。
【００２９】
図６（ａ）は、上述したワイヤレスコントローラ１００のＵＳＢミニＢレセプタクル１１２に接続されるＵＳＢケーブル１２０の一例を示す図面である。このＵＳＢケーブル１２０は、パーソナル・コンピュータ等のホスト機器に設けられたＵＳＢ−Ａレセプタクルと接続するためのＵＳＢ−Ａプラグ１２１と、ワイヤレスコントローラ１００に設けられたＵＳＢミニＢレセプタクル１１２と接続するためのＵＳＢミニＢプラグ１２３と、双方のプラグの端子を接続した導線を内蔵するケーブル１２２とから構成されている。
【００３０】
図６（ｂ）はＵＳＢ−Ａプラグ１２１における端子の配置を示す図面であり、金属シールド内に配置された絶縁部材上に４つの端子が配置されている。図６（ｃ）はＵＳＢミニＢプラグ１２３における端子の配置を示す図面であり、上記において図４を示して説明した通りの構成となっている。
【００３１】
なお、ここでＵＳＢミニＢレセプタクルおよびＵＳＢミニＢプラグ１２３はＶBUS、Ｄ＋／Ｄ−、ＩＤ、ＧＲＮＤの５端子を有しているが、ＵＳＢ−ＡレセプタクルおよびＵＳＢ−Ａプラグ１２１はＶBUS、Ｄ＋／Ｄ−、ＧＲＮＤの４端子のみを有しており、ＵＳＢミニＢレセプタクルおよびプラグのＩＤ端子はＵＳＢ−Ａプラグのいずれの端子にも接続されていない。
【００３２】
図７は、ＵＳＢケーブル１２０によりワイヤレスコントローラ１００が接続されるパーソナル・コンピュータ２２０の外観図である。図７に示すように、このパーソナル・コンピュータ２２０にはＵＳＢ−Ａレセプタクル２２１が設けられており、このＵＳＢ−Ａレセプタクル２２１にＵＳＢケーブル１２０のＵＳＢ−Ａプラグ１２１を装着し、ＵＳＢケーブル１２０のＵＳＢミニＢプラグ１２３をワイヤレスコントローラ１００のＵＳＢミニＢレセプタクル１０９に装着することにより、パーソナル・コンピュータ２２０とワイヤレスコントローラ１００とは有線接続される（図８）。
【００３３】
図８に示した状態でパーソナル・コンピュータ２２０が起動していると、ＵＳＢ−Ａレセプタクル２２１のＶBUS端子には＋５Ｖの電圧が付与されており、また、Ｄ＋／Ｄ−端子のいずれかがプルアップされている。これらの電気的な特性はＵＳＢケーブル１２０を介してワイヤレスコントローラ１００のＵＳＢミニＢレセプタクル１０９の各端子に伝えられ、ＵＳＢインタフェース１１２により検出されるように構成されている。また、ＵＳＢ−Ａレセプタクル２２１のＶBUS端子およびＧＲＮＤ端子は、Ｄ＋／Ｄ−端子よりも長くなっており、プラグがレセプタクルへ挿入される際にはデータ端子よりも先に電源端子が導通するように構成されている。
【００３４】
本実施形態においては、図８に示したようにワイヤレスコントローラ１００をパーソナル・コンピュータ２２０とＵＳＢ接続して後述の動作を行うことにより、ワイヤレスコントローラ１００のファームウェアをパーソナル・コンピュータから送信されたファームウェアで更新する機能を実現する。この場合には、ＵＳＢケーブルのＶBUS端子に印加された電圧によりワイヤレスコントローラ１００を駆動してもよいし、内蔵されたバッテリに給電しつつ駆動するようにしても構わない。
【００３５】
また、本実施形態のワイヤレスコントローラ１００にＵＳＢケーブル１２０を挿着した状態で、ＵＳＢケーブル１２０のＵＳＢ−Ａプラグ１２１に図９（ａ）に示したＡＣアダプタを装着することにより（図９（ｂ）参照）、後述した動作によってワイヤレスコントローラ１００を駆動または内蔵されたバッテリに給電しつつ駆動することができる。このようなＡＣアダプタ２３０は、筐体２３１に内蔵されたリニア電源回路またはスイッチング電源回路によりＡＣからＤＣ５Ｖを生成してＵＳＢケーブルのＶBUS端子に供給する。
【００３６】
次に、本実施形態に係るワイヤレスコントローラ１００の動作を、図１０に示すフローチャートを参照しながら説明する。  
先ずワイヤレスコントローラ１００のＵＳＢミニＢレセプタクル１０９にＵＳＢケーブル１２０のＵＳＢミニＢプラグ１２３を挿入し、ファームウェア更新を行いたい場合には図８に示したようにパーソナル・コンピュータ２２０と接続し、給電しつつコントローラとして動作させたい場合には図９に示したようにＡＣアダプタ２３０を介してＡＣ電源と接続する（ステップＳＴ１０１）。
【００３７】
この状態で、ユーザがワイヤレスコントローラ１００を起動すると（ステップＳＴ１０２）、ワイヤレスコントローラ１００のファームウェアのうちブートローダが実行され、ワイヤレスコントローラ１００のＵＳＢインタフェース１１２がＵＳＢミニＢレセプタクル１０９のＶBUS端子に電圧が印加されているか否かを判断する（ステップＳＴ１０３）。
【００３８】
ステップＳＴ１０３によりＶBUS端子に電圧が印加されていないと判断された場合、ワイヤレスコントローラ１００はＵＳＢケーブルを介してパーソナル・コンピュータ２２０に接続されておらず、ＡＣアダプタ２３０を介してＡＣ電源にも接続されていないものと認識し、ワイヤレスコントローラ１００をバッテリで駆動して以下の動作を実行する（ステップＳＴ１０４）。
【００３９】
すなわち、ワイヤレスコントローラ１００のブートローダは、基本プログラムを呼び出して実行させる。これにより、ワイヤレスコントローラ１００はコントローラとして通常の動作を行い、無線通信部１１４でパーソナル・コンピュータ、スマートホン、タブレット等のホスト機器との間で通信リンクを確立する。そして、ユーザが操作部１１１に対して行った操作を検出し（ステップＳＴ１０５）、当該操作に応じた信号を接続先のホスト機器に無線送信する（ステップＳＴ１０６）。その後、ワイヤレスコントローラ１００を終了する操作が行われたか否かが判断され（ステップＳＴ１０７）、終了操作が行われたと判断された場合にはワイヤレスコントローラ１００を終了し、行われていないと判断された場合にはステップＳＴ１０５以降を繰り返す。
【００４０】
一方、ステップＳＴ１０３でＶBUS端子に電圧が印加されていると判断された場合、ワイヤレスコントローラ１００のブートローダは、続いてＵＳＢミニＢレセプタクル１０９のＤ＋／Ｄ−端子に電圧が印加されているか否かを判断する（ステップＳＴ１０８）。ステップＳＴ１０８で電圧が印加されていないと判断された場合、ワイヤレスコントローラ１００のブートローダはＵＳＢケーブルおよびＡＣアダプタ２３０を介してＡＣ電源に接続されているものと認識して、以下ＵＳＢ給電動作モードで通常の動作を行う。
【００４１】
すなわち、ワイヤレスコントローラ１００のブートローダは、前述した場合と同様に基本プログラムを実行する。これにより、ワイヤレスコントローラ１００はＵＳＢケーブルによる給電により動作しつつ（ステップＳＴ１０９）、無線通信部１１４でパーソナル・コンピュータ、スマートホン、タブレット等のホスト機器との間で通信リンクを確立し、上記ステップＳＴ１０５以降の動作を行う。
【００４２】
また、ステップＳＴ１０８でＶBUS端子に電圧が印加されていると判断されたとする。この場合、ワイヤレスコントローラ１００のブートローダは、ＵＳＢケーブル１２０を介してパーソナル・コンピュータ２２０等に接続されているものと認識し、ファームウェア更新モードの動作を以下のように実行する。
【００４３】
すなわち、ワイヤレスコントローラ１００のブートローダは更新動作プログラムを呼び出して実行させる。これにより、ワイヤレスコントローラ１００のＵＳＢインタフェース１１２はＤ＋／Ｄ−端子に印加されている電圧レベルから伝送速度を把握し、接続先の機器からの要求に応じてディスクリプタを返して（ステップＳＴ１１０）、ＵＳＢ通信を確立する。その後、パーソナル・コンピュータ等のホスト機器からファームウェアを受信して（ステップＳＴ１１１）、ＦｌａｓｈＲＯＭ１１７に書き込まれているファームウェアを受信したファームウェアに書き換えて更新し（ステップＳＴ１１２）、一連の動作を終了する。
【００４４】
以上詳細に説明した通り、本実施形態のワイヤレスコントローラ１００は、ＵＳＢケーブル１２０を介してパーソナル・コンピュータ２２０等とも、またＡＣ電源とも接続されていない場合には、バッテリ駆動でホスト機器と無線通信するコントローラとしてのモードで動作し、ＵＳＢケーブルを介してＡＣ電源と接続されている場合にはＵＳＢ給電を受けつつホスト機器と無線通信するコントローラとしてのモードで動作する。一方、ＵＳＢケーブル１２０を介してパーソナル・コンピュータ２２０等と接続されている場合には、コントローラとしては動作せず、パーソナル・コンピュータ２２０等からファームウェアを受け取って自らのファームウェアを更新するファームウェア更新モードで動作する。  
すなわち、本実施形態は、ＵＳＢ給電による動作が可能でありながら、ファームウェア更新のためにＵＳＢケーブルが接続された場合には自動的にファームウェア更新モードで動作する。
【００４５】
［その他の実施形態］
本発明は上記実施形態に限られるものではなく種々変形が可能である。例えば、上記実施形態ではファームウェアをブートローダ、基本プログラムおよび更新動作プログラムから構成した場合を示したが、ファームウェアの構成はこれに限られるものではなくモノリシックな構成であっても良いし、さらに細かいモジュールに分割された構成であっても構わない。
【００４６】
また、上記実施形態では本発明にかかるワイヤレスコントローラ１００を示したが、本発明はＵＳＢ接続された場合には自動的にファームウェア更新モードで起動してファームウェアを更新する電子機器に広く適用することが可能である。ただし、ＵＳＢ接続された状態で通常動作を実行させる必要があるデバイスに適用することはできない。
【００４７】
要するにこの発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００４８】
１００…ワイヤレスコントローラ、１０１…キーパッド、１０２…主操作ボタン、１０３，１０４…アナログコントローラ、１０５〜１０８…側面ボタン、１０９…ＵＳＢミニＢレセプタクル、１１０，１２３…ＵＳＢミニＢプラグ、１１１…操作部、１１２…ＵＳＢインタフェース、１１３…ＣＰＵ、１１４…無線通信部、１１５…ＲＯＭ、１１６…ＦｌａｓｈＲＯＭ、１１７…ＲＡＭ、１２０…ＵＳＢケーブル、１２１…ＵＳＢ−Ａプラグ、１２２…ケーブル、２２０…パーソナル・コンピュータ、２２１…ＵＳＢ−Ａレセプタクル、２３０…ＡＣアダプタ、２３１…筐体。
【図１】
2014067101.tif 000003
【図２】
2014067101.tif 000004
【図３】
2014067101.tif 000005
【図４】
2014067101.tif 000006
【図５】
2014067101.tif 000007
【図６】
2014067101.tif 000008
【図７】
2014067101.tif 000009
【図８】
2014067101.tif 000010
【図９】
2014067101.tif 000011
【図１０】
2014067101.tif 000012