JP2005250671A - 通信システム、通信装置、通信方法およびプログラム - Google Patents

通信システム、通信装置、通信方法およびプログラム Download PDF

Info

Publication number
JP2005250671A
JP2005250671A JP2004057771A JP2004057771A JP2005250671A JP 2005250671 A JP2005250671 A JP 2005250671A JP 2004057771 A JP2004057771 A JP 2004057771A JP 2004057771 A JP2004057771 A JP 2004057771A JP 2005250671 A JP2005250671 A JP 2005250671A
Authority
JP
Japan
Prior art keywords
communication
mode
information
power consumption
operation mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004057771A
Other languages
English (en)
Inventor
Kazuhiro Nakagawa
和洋 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004057771A priority Critical patent/JP2005250671A/ja
Priority to US11/069,725 priority patent/US20050204072A1/en
Publication of JP2005250671A publication Critical patent/JP2005250671A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/4013Management of data rate on the bus
    • H04L12/40136Nodes adapting their rate to the physical link properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】通信処理の消費電力や通信速度などの通信性能を向上させることができる通信システム、通信装置、通信方法およびプログラムを提供する。
【解決手段】通信装置101、102は、USB OTGに準拠する通信装置であり、通信装置101はホスト機器、通信装置102はペリフェラル機器として起動する。通信装置101は、エニュメレーションの過程で、通信装置102がホスト機器およびペリフェラル機器として動作する場合における消費電力の情報を、デスクリプタとして通信装置102より取得する。通信装置101は、この取得したデスクリプタと、自らの同様な消費電力の情報を含むデスクリプタとに基づいて、ホストとペリフェラルの交替を行うことにより消費電力が減少するか否かの判定を行う。判定の結果、消費電力が減少すると判定した場合、OTGの通信プロトコルに従って、ホストとペリフェラルの交替を行う。
【選択図】 図4

Description

本発明は、USB等のバスを利用した通信システム、通信装置、通信方法および通信制御用コンピュータのプログラムに関するものである。
主にパーソナルコンピュータとその周辺機器とをつなぐ高速なシリアル通信の規格として、USB(universal serial bus)が一般に知られている。USBの通信システムは、共通のシリアル通信バスを介して複数の機器が接続される構造を有しており、該複数の機器のうちの1つがホスト(host)、その他の機器がペリフェラル(peripheral)と称される機能を果たす。
ホスト機器は、バスにおけるデータの伝送の全般を制御する役目を有しており、通常は、パーソナルコンピュータがホスト機器になる。ホスト機器は、例えば、新しくバスに接続されたペリフェラル機器を検出する処理や、バス上におけるデータの流れを管理する処理等を行う。
一方、ペリフェラル機器は、ホスト機器の制御に従って通信を行う。すなわち、ホスト機器からペリフェラル機器に対して要求が伝えられ、ペリフェラル機器がこの要求に対して応答を返すという方法により通信を行う。ペリフェラル機器が自らの情報をホスト機器に通知する動作や、ホスト機器との間でデータを送受信する動作は、何れもホスト機器からの要求に応答する動作として実行される。
USBで通信を行う機器がホストまたはペリフェラルの何れの機能を有するかは、多くの場合、その機器の設計時に決定される。そのため、通常のUSB対応機器では、使用する場面に応じてこの機能を変更することはできない。
これに対し、USB On−The−Go(以下、OTGと表記する)と称されるUSB2.0の追加規格においては、ホストとペリフェラルの機能を切り替えることが可能になる。これにより、通常はホスト機能を有していないデジタルカメラなどの機器にホスト機能を付加して、これらの機器の間でパーソナルコンピュータを介さず直接データを伝送することが可能になる。
OTGにおいては、ホストとペリフェラルの両方の機能を有する機器として、デュアルロールデバイス(dual-role device)が規定されている。デュアルロールデバイスは、接続されるUSBケーブルのプラグの型に応じて、初期状態の機能を決定する。すなわち、USBケーブルのMini−Aと称されるプラグに接続された場合、初期状態においてホスト機器になり、USBケーブルのMini−Bと称されるプラグに接続された場合は、初期状態においてペリフェラル機器になる。Mini−Aプラグに接続される機器はAデバイス、Mini−Bプラグに接続される機器はBデバイスと呼ばれる。
また、OTGでは、USB2.0の通信プロトコルに加えて、SRP(session request protocol)およびHNP(host negotiation protocol)と称される通信プロトコルが用意されている。
OTGで規定されるAデバイスは、未通信時にバスへの電流供給を停止することが許されている。SRPは、その電流供給停止時に、BデバイスからAデバイスへ電流供給の再開を促すための通信プロトコルである。これにより、Bデバイスから要求されるまでバスの電流供給を停止できるため、未通信時の消費電力を低減することができる。
HNPは、2つのデュアルロールデバイスが、それぞれの接続プラグの型に応じて、一方がホスト機器、他方がペリフェラル機器として動作しているときに、プラグの挿し替えを行うことなく、ホスト機能とペリフェラル機能とを交替するための通信プロトコルである。これにより、プラグの差し替えの手間が省けるため、ユーザの利便性が向上する。
下記の特許文献1は、OTGに準拠してデータ転送を行う装置に関するものである。
特開2003−316728号公報
ところで、このOTGに準拠するUSB通信装置は、主にデジタルカメラやPDA(personal digital assistant)などのモバイル機器への搭載が想定されている。モバイル機器は、一般にバッテリー電源によって駆動されるため、消費電力の削減が重要な課題となっている。そのため、USB通信装置において消費される電力についても、できる限り削減することが求められている。
また、近年では、モバイル機器において動画などの大容量のデータを扱うことが多くなっているため、こうした機器に搭載される通信装置には、より高速な通信速度が求められている。
本発明はかかる事情に鑑みてなされたものであり、その目的は、バスを介して行う通信であって、バス上におけるデータの伝送を制御するホスト機能と、ホスト機能を有する通信相手の制御に従って通信を行うペリフェラル機能とを、所定の通信プロトコルに従って切り替えることが可能な通信を行うときに、通信処理の消費電力や通信速度などの通信性能を向上させることができる通信システム、通信装置、通信方法および通信制御用コンピュータのプログラムを提供することにある。
第1の発明の通信システムは、バスを介して通信を行う2つの通信装置を有しており、一方の通信装置が、該バス上におけるデータの伝送を制御する第1のモードで動作する場合、他方の通信装置が、該一方の通信装置の制御に従って通信を行う第2のモードで動作し、所定の通信プロトコルに従って、該2つの通信装置の動作モードを交替することが可能な通信システムである。
第1の発明において、上記通信装置は、自らの通信装置が上記第1のモードおよび上記第2のモードのそれぞれで動作する場合における、所定の通信性能に関連する情報を記憶する記憶部と、上記第2のモードで起動した場合、上記第1の動作モードで動作する通信相手の制御に従って、上記記憶部に記憶される上記通信性能の情報を上記バスに出力し、上記第1のモードで起動した場合、上記第2の動作モードで動作する通信相手から上記バスを介して上記通信性能の情報を取得し、該取得した通信相手の通信性能の情報と、上記記憶部に記憶される自らの通信装置の通信性能の情報とに基づいて、上記動作モードの交替を行った場合に上記通信性能が改善するか否か判定し、上記通信性能が改善すると判定したならば、上記動作モードの交替を実行する制御部とを有する。
好適には、上記記憶部は、上記所定の通信性能に関連する情報として、通信速度の情報および消費電力の情報の一方または両方を記憶する。
上記第1の発明によると、上記第1のモードで起動した通信装置によって、上記第2のモードで起動した通信装置の記憶部に記憶される通信性能の情報をバスに出力させる制御が行なわれる。これにより、上記第2のモードで起動した通信装置の通信性能の情報が、上記第1のモードで起動した通信装置に取得される。上記第1のモードで起動した通信装置では、この取得した通信相手の通信性能の情報と、上記記憶部に記憶される自らの通信性能の情報とに基づいて、上記動作モードの交替を行った場合に上記通信性能が改善するか否かの判定が行われる。例えば、通信速度が高速化するか否かや、通信処理に要する消費電力が減少するか否か等の判定が行われる。この判定の結果、上記通信性能が改善すると判定された場合、上記第1のモードで起動した通信装置により、上記所定の通信プロトコルに従って、上記動作モードの交替が実行される。
第2の発明の通信装置は、バスを介して通信を行う際の動作モードを、該バス上におけるデータの伝送を制御する第1のモードと、該第1のモードで動作する通信相手の制御に従って通信を行う第2のモードとの間で切り替えることが可能な通信装置である。
第2の発明の通信装置は、自らの通信装置が上記第1のモードおよび上記第2のモードのそれぞれで動作する場合における、所定の通信性能に関連する情報を記憶する記憶部と、上記第1のモードで起動した場合、上記第2の動作モードで動作する通信相手から、上記第1のモードおよび上記第2のモードにおける該通信相手の上記通信性能の情報を取得し、該取得した通信相手の通信性能の情報と、上記記憶部に記憶される自らの通信装置の通信性能の情報とに基づいて、該通信相手と動作モードを交替した場合に上記通信性能が改善するか否か判定し、上記通信性能が改善すると判定したならば、所定の通信プロトコルに従って、上記動作モードの交替を実行する制御部とを有する。
好適には、上記記憶部は、上記所定の通信性能に関連する情報として、通信速度の情報および消費電力の情報の一方または両方を記憶する。
上記第2の発明によると、上記第1のモードで起動した場合、上記制御部の制御によって、上記第2のモードで動作する通信相手から、上記第1のモードおよび上記第2のモードにおける該通信相手の通信性能の情報が取得される。次いで、上記制御部において、この取得された通信相手の通信性能の情報と、上記記憶部に記憶される自らの通信装置の通信性能の情報とに基づいて、上記動作モードの交替を行った場合に上記通信性能が改善するか否かの判定が行われる。例えば、通信速度が高速化するか否かや、通信処理に要する消費電力が減少するか否か等の判定が行われる。この判定の結果、上記通信性能が改善すると判定された場合、上記制御部の制御により、上記所定の通信プロトコルに従って、上記動作モードの交替が実行される。
第3の発明の通信方法は、バスを介して通信を行う2つの通信装置の一方が、該バス上におけるデータの伝送を制御する第1のモードで動作する場合、他方の通信装置が、該一方の通信装置の制御に従って通信を行う第2のモードで動作し、所定の通信プロトコルに従って、該2つの通信装置の動作モードを交替することが可能な通信方法である。
第3の発明の通信方法は、第1の通信装置を上記第1のモードで起動させ、第2の通信装置を上記第2のモードで起動させる第1の工程と、上記第2の通信装置が上記第1のモードおよび上記第2のモードのそれぞれで動作する場合における所定の通信性能に関連する情報を、上記第2の通信装置から上記第1の通信装置へ上記バスを介して伝送させる第2の工程と、上記第1の通信装置において、上記第2の通信装置から取得した通信性能の情報と、上記第1のモードおよび上記第2のモードにおける自らの上記通信性能の情報とに基づいて、上記動作モードを交替した場合に上記通信性能が改善するか否かを判定させる第3の工程と、上記第3の工程において上記通信性能が改善すると判定されたならば、上記第1の通信装置において、上記動作モードの交替を実行させる第4の工程とを有する。
上記第3の発明によると、上記第1の工程において、上記第1の通信装置が上記第1のモードで起動し、上記第2の通信装置が上記第2のモードで起動する。上記第2の工程では、上記第1のモードおよび上記第2のモードにおける上記第2の通信装置の所定の通信性能の情報が、上記第2の通信装置から上記第1の通信装置へ上記バスを介して伝送される。上記第3の工程では、上記第1の通信装置において、上記第2の通信装置から取得した通信性能の情報と、上記第1のモードおよび上記第2のモードにおける自らの上記通信性能の情報とに基づいて、上記動作モードを交替した場合に上記通信性能が改善するか否かの判定が行われる。上記第3の工程において上記通信性能が改善すると判定されたならば、上記第4の工程において、上記動作モードの交替が上記第1の通信装置により実行される。
第4の発明のプログラムは、バスを介して通信を行う際の動作モードを、該バス上におけるデータの伝送を制御する第1のモードと、該第1のモードで動作する通信相手の制御に従って通信を行う第2のモードとの間で切り替えることが可能な通信装置の制御用コンピュータのプログラムである。
第4の発明のプログラムは、上記第1のモードで起動した場合、上記第2の動作モードで動作する通信相手から、上記第1のモードおよび上記第2のモードにおける該通信相手の所定の通信性能の情報を取得する第1のステップと、上記第1のステップにおいて取得した通信相手の通信性能の情報と、上記第1のモードおよび上記第2のモードにおける自らの通信装置の上記通信性能の情報とに基づいて、該通信相手と動作モードを交替した場合に上記通信性能が改善するか否かを判定する第2のステップと、上記第2のステップにおいて上記通信性能が改善すると判定したならば、所定の通信プロトコルに従って、上記動作モードの交替を実行する第3のステップとを有する。
上記第4の発明によると、上記第1のモードで起動した場合、上記第1のステップにおいて、上記第2の動作モードで動作する通信相手から、上記第1のモードおよび上記第2のモードにおける該通信相手の所定の通信性能の情報が取得される。上記第2のステップでは、上記第1のステップにおいて取得した通信相手の通信性能の情報と、上記第1のモードおよび上記第2のモードにおける自らの通信装置の上記通信性能の情報とに基づいて、該通信相手と動作モードを交替した場合に上記通信性能が改善するか否かの判定が行われる。上記第2のステップにおいて上記通信性能が改善すると判定したならば、上記第3のステップにおいて、所定の通信プロトコルに従って、上記動作モードの交替が実行される。
本発明によれば、バスを介して通信を行う際の動作モードを、バス上におけるデータの伝送を制御する第1のモードから、該第1のモードで動作する通信相手の制御に従って通信を行う第2のモードへ、通信性能の情報に基づいて適切に交替することが可能になり、これにより、通信性能の向上を図ることができる。
以下、本発明をOTGに準拠する通信装置に適用した場合における、2つの実施形態を説明する。
<第1の実施形態>
図1は、本発明の実施形態に係る通信システムの構成例を示す図である。
図1に示す通信システムは、通信ケーブル50と、通信装置101および102を有する。
通信装置101は、通信処理部11と、制御部21と、記憶部31と、レセプタクル端子41とを有する。
通信装置102は、通信処理部12と、制御部22と、記憶部32と、レセプタクル端子42とを有する。
なお、通信装置101,102は、本発明の通信装置の一実施形態である。
制御部21,22は、本発明の制御部の一実施形態である。
記憶部31,32は、本発明の記憶部の一実施形態である。
[通信ケーブル50]
通信ケーブル50は、OTGに準拠する通信ケーブルであり、一方の端にMini−Aプラグ端子51を有し、他方の端にMini−Bプラグ端子52を有する。
[通信装置101,102]
通信装置101および102は、OTGにおいて規定されているデュアルロールデバイスであり、Mini−Aプラグ端子51を接続された場合にAデバイス、Mini−Bプラグ端子52を接続された場合にBデバイスとなる。
図1の例において、通信装置101はMini−Aプラグ端子51、通信装置102はMini−Bプラグ端子52に接続されている。したがって、この場合、通信装置101はAデバイス、通信装置102はBデバイスになる。すなわち、通信装置101は起動時においてホスト機器として動作し、通信装置102は起動時においてペリフェラル機器として動作する。
なお、本明細書においては、ホスト機器として動作するときの動作モードを第1のモード、ペリフェラル機器として動作するときの動作モードを第2のモードと言う。
[通信処理部11,12]
通信処理部11は、制御部21の指示に従って、USBおよびOTGに準拠した種々の通信処理を行う。例えば、USBの規定に従ったデータ送受信処理や、OTGの規定に従った動作モードの交替処理等を、制御部21の指示に従って実行する。
通信処理部12は、通信装置102において通信処理部11と同様な機能を有する。すなわち、制御部22の指示に従って、USBおよびOTGに準拠した種々の通信処理を行う。
通信処理部11は、例えば図2に示すように、OTG部111、ホスト部112、およびペリフェラル部113を有する。特に図示しないが、通信処理部12も例えばこれと同様な構成を有する。
OTG部111は、OTGにおいて規定されている種々の通信処理を行う。例えば、SRPを使ってAデバイスに電流供給の再開を促す処理や、HNPを使って動作モード(第1のモード,第2のモード)を交替する処理などを実行する。
また、OTG部111は、レセプタクル端子41に挿入されたプラグ端子の型(Mini−Aプラグ端子またはMini−Bプラグ端子)に応じて、起動時の動作モードを決定する処理や、ホスト部112およびペリフェラル部113へのクロックの供給を制御する処理も行う。
ホスト部112は、第1のモードで動作する時の通信処理を実行する。すなわち、バス(図1の例では通信ケーブル50)につながる機器を検出する処理や、バス上におけるデータの伝送を制御する処理等、USBのホスト機器としての通信処理を実行する。
ペリフェラル部113は、第2のモードで動作する時の通信処理を実行する。すなわち、USBのペリフェラル機器として、第1のモードで動作する通信相手(ホスト機器)の制御に従った通信処理を実行する。
図3は、通信処理部11,12における動作モードの交替の動作を説明するための概念図である。
図1の例では、初期状態において、通信装置101が第1のモードで動作し、通信装置102が第2のモードで動作する。このとき、通信処理部11では、図3(A)に示すようにOTG部111の制御によって、ホスト部112へのクロック供給が行われ、ペリフェラル部113へのクロック供給が停止される。逆に、通信処理部12では、ペリフェラル部へのクロック供給が行われ、ホスト部へのクロック供給が停止される。
この状態で、HNPによる動作モードの交替を行うと、図3(B)に示すように通信処理部11では、OTG部111の制御によって、ホスト部112へのクロック供給が停止され、ペリフェラル部113へのクロック供給が開始される。逆に、通信処理部12では、ペリフェラル部へのクロック供給が停止され、ホスト部へのクロック供給が開始される。これにより、通信装置101が第2のモードで動作し、通信装置102が第1のモードで動作する。すなわち、通信ケーブル50のプラグ51,52を挿し替えることなく、通信装置101および102の間で動作モードの交替が行われる。
以上は通信装置101がAデバイスの場合の例であるが、通信装置102がAデバイスの場合も、上述と同様な動作によって動作モードの交替が行われる。
[制御部21,22]
制御部21は、通信装置101の全体的な動作の制御に関わる種々の処理を行う。
例えば、制御部21は、通信処理部11が第1のモードで動作する場合、第2のモードで動作する通信相手(ペリフェラル機器)と通信を開始するにあたって必要な種々の情報を取得するための処理を行う。すなわち、USBにおいて規定された種々のリクエストを通信処理部11からペリフェラル機器に送信させ、これに応じたペリフェラル機器からの応答を通信処理部11において受信させることにより、ペリフェラル機器の情報を取得する。必要な情報が得られた後は、この情報に基づいて通信処理部11を制御し、ペリフェラル機器との間で通信を行う。
また、制御部21は、通信処理部11が第2のモードで動作する場合、第1のモードで動作する通信相手(ホスト機器)の制御に従って通信を行うように、通信処理部11を制御する。すなわち、第1のモードで動作する通信相手(ホスト機器)からのリクエストを通信処理部11において受信させ、このリクエストに対するUSBで規定された応答を生成して、通信処理部11からホスト機器へ送信させる。
更に、制御部21は、通信処理部11が第1のモードで起動する場合、すなわち通信装置101がAデバイスの場合、第2のモードで動作するペリフェラル機器から、第1のモードおよび第2のモードにおけるペリフェラル機器の消費電力の情報を取得するように、通信処理部11を制御する。この情報の取得には、例えば後述するように、USBのエニュメレーションを利用する。そして、取得したペリフェラル機器の消費電力の情報と、記憶部31に記憶される通信装置101自身の第1のモードおよび第2のモードにおける消費電力の情報とに基づいて、ペリフェラル機器と動作モードを交替した場合に消費電力が減少するか否かを判定する。消費電力が減少すると判定した場合は、HNPによってペリフェラル機器と動作モードを交替するように、通信処理部11を制御する。
一方、制御部21は、通信処理部11が第2のモードで起動する場合、すなわち通信装置101がBデバイスの場合、第1のモードで動作するホスト機器の制御に従って、記憶部31に記憶される通信装置101自身の消費電力の情報を通信処理部11から送信させる。この消費電力の情報は、ホスト機器において、動作モード交替により消費電力が減少するか否かの上述した判定を行う際に用いられる。
制御部22は、通信装置102において制御部21と同様な機能を有する。すなわち、通信装置102の全体的な動作の制御に関わる種々の処理として、例えば上述と同様な処理を行う。
[記憶部31,32]
記憶部31は、通信処理部11において送受信されるデータや、通信処理に必要とされる種々の情報を記憶する。
記憶部31に記憶される情報には、例えば、デスクリプタ(descriptor)が含まれる。デスクリプタは、ホスト機器がペリフェラル機器についての情報を得るためのデータであり、USBにおいて規定されたデータ構造を有する。
通信装置101の第1のモードおよび第2のモードにおける消費電力の情報は、例えばこのデスクリプタとして記憶部31に記憶される。デスクリプタの構造例については、後ほど図5を参照して説明する。
記憶部32は、通信装置102において記憶部31と同様な機能を有する。すなわち、通信処理部12において送受信されるデータや、通信処理に必要とされる種々の情報を記憶する。
[レセプタクル端子41,42]
レセプタクル端子41,42は、OTGにおいて規定されているデュアルロールデバイス側の端子であり、Mini−Aプラグ端子、Mini−Bプラグ端子を何れも装着することができる構造を有する。
ここで、上述した構成を有する図1に示す通信システムの動作を説明する。
図4は、Aデバイスとして動作する通信装置101の動作の一例を示すフローチャートである。
通信装置101の通信処理部11は、起動時において、レセプタクル端子41に装着されているプラグの型を検出し、制御部21に通知する。レセプタクル端子41にはMini−Aプラグ端子51が装着されているため、制御部21は、Aデバイスとしての制御を開始する。
まず、制御部21は、エニュメレーションの過程において、通信相手(通信装置102)からデスクリプタを取得する(ステップST11)。
エニュメレーションは、ホスト機器とペリフェラル機器とが通信を開始する際に行うUSBで規定された通信手順である。エニュメレーションにおいて、ホスト機器は、ペリフェラル機器の種々の情報を収集し、接続を確立する処理を行う。
制御部21は、エニュメレーションによって通信処理部11が通信装置102から取得した各種のデスクリプタを、記憶部31に格納する(ステップST12)。
次に、制御部21は、通信相手から取得したデスクリプタの中に、消費電力の情報を含んだ所定のデスクリプタが存在するか否かを調べる(ステップST13)。
ここでは、通信装置の消費電力の情報を含む所定のデスクリプタを、OTG Powerデスクリプタと呼ぶことにする。
図5は、このOTG Powerデスクリプタのデータ構造の一例を示す図である。
図5において、‘オフセット’欄は、デスクリプタを構成する各データフィールドの先頭ビットと、デスクリプタの先頭ビットとの間の距離(単位はバイト)を示す欄である。‘サイズ’欄は、デスクリプタの各データフィールドのデータ長(単位はバイト)を示す欄である。‘フィールド’欄は、各データフィールドの内容を示す欄である。
図5に示すOTG Powerデスクリプタは、データフィールドとして、先頭から順に‘デスクリプタ長’、‘デスクリプタタイプ’、‘デスクリプタインデックス’、‘ペリフェラル消費電力’、‘ホスト消費電力’を有する。
‘デスクリプタ長’には、本デスクリプタの全体のバイト数が格納される。
‘デスクリプタタイプ’には、本デスクリプタを識別するための識別子が格納される。
‘デスクリプタインデックス’には、本デスクリプタが複数ある場合のインデックスが格納される。
‘ペリフェラル消費電力’には、第2のモードで動作するときの消費電力を示す数値が格納される。
‘ホスト消費電力’には、第1のモードで動作するときの消費電力を示す数値が格納される。
なお、‘ペリフェラル消費電力’、‘ホスト消費電力’の各フィールドに格納される数値は、その値が大きいほど消費電力が大きいことを示す。
このようなOTG Powerデスクリプタが通信相手(通信装置102)から得られた場合、制御部21は、取得した通信相手のOTG Powerデスクリプタと、記憶部31に予め記憶されている通信装置101自身のOTG Powerデスクリプタとに基づいて、動作モードを交替する場合としない場合の消費電力を比較する(ステップST14)。すなわち、制御部21は、通信装置101が第1のモード、通信相手が第2のモードで動作したときの消費電力と、通信装置101が第2のモード、通信相手が第1のモードで動作したときの消費電力とを比較する。
そして、この比較の結果から、通信相手と動作モードを交替した場合に消費電力が小さくなるか否かを判定する(ステップST15)。
例えば制御部21は、Aデバイス(すなわち通信装置101)が第1のモード、Bデバイス(すなわち通信装置102)が第2のモードで動作する場合の両者の消費電力の合計(Aデバイスの‘ホスト消費電力’+Bデバイスの‘ペリフェラル消費電力’)と、Aデバイスが第2のモード、Bデバイスが第1のモードで動作する場合の両者の消費電力の合計(Aデバイスの‘ペリフェラル消費電力’+Bデバイスの‘ホスト消費電力’)とを比較する。そして、後者が前者より小さくなる場合、動作モードの交替によって消費電力が小さくなると判定する。
図6は、AデバイスとBデバイスのOTG Powerデスクリプタの具体例を示す第1の図である。‘フィールド’欄における記号‘0x’は、これに続く数が16進数であることを示す記号である。
この例によると、(Aデバイスの‘ホスト消費電力’+Bデバイスの‘ペリフェラル消費電力’)が、0x08+0x0C=0x14であり、(Aデバイスの‘ペリフェラル消費電力’+Bデバイスの‘ホスト消費電力’)が、0x0A+0x07=0x11である。したがって、この場合、制御部21は、動作モードの交替によって消費電力が小さくなると判定する。
動作モードの交替によって消費電力が小さくなると判定した場合、制御部21は、Bデバイスの通信相手に対して動作モード交替の許可を通知する(ステップST16)。この通知に対して通信相手から肯定応答が来ると、制御部21は、HNPによる動作モードの交替処理を実行する(ステップST17)。
なお、通信相手から取得したデスクリプタにOTG Powerデスクリプタが含まれていない場合や、動作モードの交替によって消費電力が小さくならないと判定した場合、制御部21は、動作モード交替の許可を通知せず、HNPによる動作モードの交替処理を実行せずに、動作モードを維持する。
図7は、図1に示す通信システムにおけるAデバイス(通信装置101)とBデバイス(通信装置102)との間の通信手順の一例を説明するための図である。
Aデバイスは、Bデバイスがバスに接続されたことを検出すると、上述したエニュメレーションを実行する。エニュメレーションにおいて、Aデバイスは、USBで規定されている標準リクエスト‘Get Descriptor(Configuration)’をBデバイスに送信する(ステップST21)。
‘Get Descriptor’は、ペリフェラル機器の情報を含んだデスクリプタを、ペリフェラル機器からホスト機器へ送信させるためのリクエストである。
‘Get Descriptor(Configuration)’は、ペリフェラル機器に要求するデスクリプタとして、特に‘コンフィグレーション・デスクリプタ’と称される、機器の能力や機能に関する情報を含んだデスクリプタを指定するリクエストである。
デュアルロールデバイスは、‘Get Descriptor(Configuration)’によってホスト機器から‘コンフィグレーション・デスクリプタ’を要求された場合に、‘OTGデスクリプタ’と称されるデスクリプタを‘コンフィグレーション・デスクリプタ’に追加してホスト機器に送信することが、OTGで規定されている。‘OTGデスクリプタ’は、デュアルロールデバイスがSRPやHNPに対応しているか否かを示す情報を含んだデスクリプタである。
したがって、通常の場合、デュアルロールデバイスは、‘Get Descriptor(Configuration)’のリクエストをホスト機器から受け取ると、‘コンフィグレーション・デスクリプタ’とこれに関連するデスクリプタに加えて、‘OTGデスクリプタ’をAデバイスに送信する。
本実施形態に係る通信装置(101,102)は、この‘OTGデスクリプタ’に加えて、更に上述のOTG PowerデスクリプタをAデバイスに送信する(ステップST22)。
‘Get Descriptor(Configuration)’のリクエストに応じて、Bデバイスがその機器のクラス(特定の通信仕様を満たす機器のグループ)に特有のデスクリプタを送信することは、USB2.0の規格に準拠した動作である。
このようにして、BデバイスからAデバイスへ、USB2.0およびOTGの規格に準拠した方法で、OTG Powerデスクリプタが送信される。
Aデバイスは、Bデバイスから取得したOTG Powerデスクリプタと、自らが保有するOTG Powerデスクリプタとにおける‘ペリフェラル消費電力’および‘ホスト消費電力’の各フィールドの数値に基づいて、動作モードの交替により消費電力が小さくなるか否かの判定を行う。
消費電力が小さくなると判定した場合、Aデバイスは、OTGで追加された、標準リクエストの‘Set Feature(b_hnp_enable)’をBデバイスに送信する(ステップST23)。このリクエストを受けると、Bデバイスは、動作モードの交替が許可されたことを認識し、Aデバイスへ肯定応答を返す。
Bデバイスから肯定応答を受けると、Aデバイスはバスをサスペンド状態に設定して、通信を停止する(ステップST24)。Bデバイスにおいてバスのサスペンド状態が認識されると、AデバイスとBデバイスの双方でHNPによる動作モードの交替が行われ、Aデバイスは第2のモード、Bデバイスは第1のモードに動作モードを切り替える(ステップST25)。
以上説明したように、本実施形態に係る通信装置(101,102)によれば、第1のモードで起動した場合、制御部(21,22)の制御によって、第2のモードで動作する通信相手から、第1のモードおよび第2のモードにおける該通信相手の通信性能の情報(例えばOTG Powerデスクリプタ)が取得される。そして、制御部(21,22)において、この取得された通信相手のOTG Powerデスクリプタと、記憶部(31,32)に記憶される自らの通信装置のOTG Powerデスクリプタとに基づいて、動作モードの交替を行った場合に消費電力が小さくなるか否かの判定が行われる。この判定の結果、消費電力が小さくなると判定された場合、制御部(21,22)の指示によって、HNPによる動作モードの交替の許可が通信相手に通知され、HNPによる動作モードの交替が実行される。
したがって、消費電力がより小さくなるようにAデバイスとBデバイスの動作モードが適切に設定されるため、消費電力の更なる削減を図ることができる。
また、USB2.0やOTGの規格に準拠した方法により動作モードの交替を行うため、これらの規格に準拠する機器へ容易に本実施形態を適用することが可能である。
更に、上述した動作モードの交替に関わる本実施形態の処理は、主として制御部(21,22)によって実行されており、この制御部(21,22)はコンピュータによって実現可能である。したがって、通信処理の全体動作をコンピュータで制御している従来の通信装置については、そのハードウェアに変更を加えることなく、プログラムの修正によって、本実施形態に係る機能を実装することも可能である。
ところで、上述の制御部(21,22)では、(Aデバイスの‘ホスト消費電力’+Bデバイスの‘ペリフェラル消費電力’)と、(Aデバイスの‘ペリフェラル消費電力’+Bデバイスの‘ホスト消費電力’)とを比較することによって、動作モードの交替を行うか否か判定している。この判定方法(以降、第1の判定方法と呼ぶ)は、特に、Bデバイスが‘バスパワードデバイス(bus powered device)’の場合に有効である。
‘バスパワードデバイス’は、Aデバイスからバスを介して電源の供給を受けるデバイスを指す。Bデバイスが‘バスパワードデバイス’の場合、全ての電源はAデバイスから供給されるため、上記の消費電力の合計値は、Aデバイスの消費電力に相当する。したがって、Aデバイスの消費電力が小さくなる条件を検出できる第1の判定方法は、この場合に適している。
一方、AデバイスおよびBデバイスがそれぞれ独立した電源で動作する場合、両方のデバイスの消費電力を合計して比較する第1の判定方法では、両方のデバイスの合計において消費電力が減少しても、単独では消費電力が増加してしまうこともあり得る。
このような場合、Aデバイスの制御部(21,22)は、次のような第2の判定方法により、動作モードの交替を実行するか否か判定しても良い。
第2の判定方法では、通信相手における第1のモード時の消費電力が第2のモード時の消費電力に比べて小さく、かつ、自らの通信装置における第2のモード時の消費電力が第1のモード時の消費電力に比べて小さいか否かを、両方のデバイスのOTG Powerデスクリプタに基づいて判定し、この条件が成立する場合に、動作モードの交替を実行する。
すなわち、Aデバイスの制御部(21,22)は、(Bデバイスの‘ペリフェラル消費電力’>Bデバイスの‘ホスト消費電力’)かつ(Aデバイスの‘ホスト消費電力’>Aデバイスの‘ペリフェラル消費電力’)の条件が成立するときに、消費電力が小さくなると判定して、動作モードの交替を実行する。
これにより、消費電力が両方のデバイスで小さくなることを条件として、動作モードの交替を実行することができる。
図8は、AデバイスおよびBデバイスのOTG Powerデスクリプタの具体例を示す第2の図である。
この例によると、Bデバイスの‘ペリフェラル消費電力’は0x0F、‘ホスト消費電力’は0x08であるため、(Bデバイスの‘ペリフェラル消費電力’>Bデバイスの‘ホスト消費電力’)が成立する。また、Aデバイスの‘ホスト消費電力’は0x0A、‘ペリフェラル消費電力’は0x05であるため、(Aデバイスの‘ホスト消費電力’>Aデバイスの‘ペリフェラル消費電力’)が成立する。したがって、この場合、第2の判定方法で判定を行うAデバイスの制御部(21,22)は、消費電力が小さくなると判定して、動作モードの交替を実行する。
第1の判定方法は、Bデバイスが‘バスパワードデバイス’の場合に有効な方法であり、第2の判定方法は、AデバイスおよびBデバイスがそれぞれ独立した電源で動作する場合に有効な方法である。
したがって、制御部(21,22)は、Bデバイスが‘バスパワードデバイス’であるか否かをデスクリプタ等に基づいて判定し、その判定結果に応じて、第1の判定方法または第2の判定方法の何れか適した方法を選択しても良い。
言い換えると、制御部(21,22)は、第2のモードで動作する通信相手がバスより電源を得る装置であるか否かを示す情報を通信相手から取得し、この取得した情報に応じて、第1の判定方法または第2の判定方法の何れかを選択しても良い。
これにより、Bデバイスの電源方式も考慮した適切な消費電力の判定を行うことができる。
更に、Aデバイスの制御部(21,22)は、第3の判定方法として、Bデバイスの情報を考慮せずに、自らの通信装置のOTG Powerデスクリプタのみに基づいて、消費電力の判定を行っても良い。
すなわち、Aデバイスの制御部(21,22)は、(Aデバイスの‘ホスト消費電力’>Aデバイスの‘ペリフェラル消費電力’)の条件が成立するときに、消費電力が小さくなると判定して、動作モードの交替を実行しても良い。
図9は、AデバイスおよびBデバイスのOTG Powerデスクリプタの具体例を示す第3の図である。
この例によると、Bデバイスの‘ペリフェラル消費電力’は0x08、‘ホスト消費電力’は0x0Fであるため、(Bデバイスの‘ペリフェラル消費電力’>Bデバイスの‘ホスト消費電力’)が成立しない。しかしながら、Aデバイスの‘ホスト消費電力’は0x0A、‘ペリフェラル消費電力’は0x05であるため、(Aデバイスの‘ホスト消費電力’>Aデバイスの‘ペリフェラル消費電力’)が成立する。したがって、この場合、第3の判定方法で判定を行うAデバイスの制御部(21,22)は、動作モードの交替を実行する。
第3の判定方法は、特に、Aデバイスがバッテリー電源で動作する機器の場合に有効である。
例えば、Aデバイスが、バッテリー電源部と、そのバッテリー残量を検出するバッテリー残量検出部とを更に有しているものとする。このバッテリー残量検出部において検出されるバッテリー残量が所定のしきい値を下回る場合(すなわちバッテリー残量が少ない場合)に、制御部(21,22)は、第3の判定方法により消費電力の判定を行う。これにより、バッテリー電圧の低下による通信エラー等の不具合を回避することができる。
また、バッテリー残量が所定のしきい値を上回る場合は、例えば上述した第1の判定方法や第2の判定方法によって、消費電力の判定を行っても良い。
なお、USB2.0では、速度の遅い方から順に、ロースピード、フルスピード、およびハイスピードと称される3段階の通信速度が規定されており、一般に、通信速度が高速になるほど、瞬時的な消費電力が大きくなる傾向がある。そこで、Aデバイスの制御部(21,22)は、動作モードとともに通信速度も考慮して、消費電力の判定を行っても良い。
図10は、通信速度の情報を含んだOTG Powerデスクリプタのデータ構造の一例を示す図である。
図10に示すOTG Powerデスクリプタは、通信速度がフルスピードの場合とハイスピードの場合のそれぞれについて、‘ペリフェラル消費電力’および‘ホスト消費電力’のフィールドを有している。
すなわち、2つの動作モード(第1のモード、第2のモード)と2つの通信速度(フルスピード、ハイスピード)との組み合わせ数に相当する、4つの消費電力の情報を有している。
このようなOTG Powerデスクリプタを用いると、Aデバイスの制御部(21,22)は、Bデバイスとの間で設定しようとしている通信速度に対応した消費電力の情報を選択し、この選択した情報に基づいて、既に述べた第1乃至第3の判定方法により、消費電力の判定を行うことができる。
このように通信速度も加味した消費電力の判定を行うことによって、より適切に消費電力の削減を図ることができる。
<第2の実施形態>
次に、本発明の第2の実施形態を述べる。
第2の実施形態では、通信速度が高速化されるように動作モードの交替が行われる。
図11は、第2の実施形態に係る通信装置101A、102Aの構成例を示す図である。図1と図11の同一符号は同一の構成要素を示す。
通信装置101Aは、通信処理部11Aと、制御部21Aと、記憶部31Aと、レセプタクル端子41とを有する。
通信装置102Aは、通信処理部12Aと、制御部22Aと、記憶部32Aと、レセプタクル端子42とを有する。
[通信処理部11A,12A]
図11の例において、通信処理部11Aは、OTG部111Aと、ホスト部112Aと、ペリフェラル部113Aとを有する。
通信処理部12Aは、OTG部121Aと、ホスト部122Aと、ペリフェラル部123Aとを有する。
OTG部111A,121A、ホスト部112A,122A、ペリフェラル部113A,123Aは、それぞれ、既に述べたOTG部111、ホスト部112、ペリフェラル部113と同様な機能を有する。
ただし、図11の例では、ホスト部112A,122Aおよびペリフェラル部113A,123Aの通信速度がそれぞれ決められている。すなわち、ホスト部112Aはフルスピード、ペリフェラル部113Aはハイスピード、ホスト部122Aはハイスピード、ペリフェラル部123Aはハイスピードでそれぞれ通信可能である。
[制御部21A,22A]
制御部21Aは、既に述べた制御部21,22と同様に、通信装置101Aの全体的な動作の制御に関わる種々の処理を行う。
また、制御部21Aは、通信処理部11Aが第1のモードで起動する場合、すなわち通信装置101AがAデバイスの場合、第2のモードで動作するペリフェラル機器から、第1のモードにおけるペリフェラル機器の通信速度の情報を取得するように、通信処理部11Aを制御する。そして、取得したペリフェラル機器の通信速度の情報と、記憶部31Aに記憶される通信装置101A自身の第1のモードにおける通信速度の情報とに基づいて、ペリフェラル機器と動作モードを交替した場合に通信速度が高速化するか否かを判定する。通信速度が高速化すると判定した場合は、HNPによってペリフェラル機器と動作モードを交替するように、通信処理部11Aを制御する。
一方、制御部21Aは、通信処理部11Aが第2のモードで起動する場合、すなわち通信装置101AがBデバイスの場合、第1のモードで動作するホスト機器の制御に従って、記憶部31Aに記憶される通信装置101自身の通信速度の情報を通信処理部11Aから送信させる。この通信速度の情報は、ホスト機器において、動作モード交替により通信速度が高速化するか否かの上述した判定を行う際に用いられる。
制御部22Aは、通信装置102Aにおいて、上述した制御部21Aと同様な機能を有する。
[記憶部31A,32A]
記憶部31Aは、既に述べた記憶部31,32と同様に、通信処理部11Aにおいて送受信されるデータや、通信処理に必要とされる種々の情報(デスクリプタ等)を記憶する。
また、記憶部31Aに記憶されるデスクリプタには、通信装置101Aの第1のモードにおける通信速度の情報を含んだデスクリプタが記憶される。このデスクリプタの構造例については、後に図13を参照して説明する。
記憶部32Aは、通信装置102Aにおいて、上述した記憶部31Aと同様な機能を有する。
ここで、上述した構成を有する図11に示す通信装置の動作を説明する。ここでは例として、図1に示すように、通信装置101Aと通信装置102Aとが通信ケーブル50で接続されており、通信装置101AがAデバイス、通信装置102AがBデバイスとして起動するものとする。
図12は、Aデバイスとして動作する通信装置101Aの動作の一例を示すフローチャートである。
まず、制御部21Aは、エニュメレーションの過程において、通信相手(通信装置102A)からデスクリプタを取得し(ステップST31)、これを記憶部31Aに格納する(ステップST32)。
次に、制御部21Aは、通信相手から取得したデスクリプタの中に、通信速度の情報を含んだ所定のデスクリプタが存在するか否かを調べる(ステップST33)。
ここでは、通信装置の通信速度の情報を含む所定のデスクリプタを、OTG Host Classデスクリプタと呼ぶことにする。
図13は、このOTG Host Classデスクリプタのデータ構造の一例を示す図である。
図13に示すOTG Host Classデスクリプタは、通信装置が第1のモードで動作するときに対応している全てのクラスとその通信速度の情報を格納する。
図13に示すように、データフィールドとして、先頭から順に‘デスクリプタ長’、‘デスクリプタタイプ’、‘デスクリプタインデックス’、‘サポートするクラス数(ロースピード)Nc_ls’、‘サポートするクラス数(フルピード)Nc_fs’、‘サポートするクラス数(ハイスピード)Nc_hs’を有しており、以降は、ロースピード、フルスピード、ハイスピードの順で、‘サポートするクラスコード/サブクラスコード’を有する。
‘デスクリプタ長’、‘デスクリプタタイプ’、‘デスクリプタインデックス’の各フィールドの意味は、上述したOTG Powerデスクリプタと同じである。
‘サポートするクラス数’には、それぞれの通信速度で通信可能なクラスの数が格納される。例えば、‘サポートするクラス数(ロースピード)Nc_ls’には、ロースピードで通信可能なクラスの数が格納される。
‘サポートするクラスコード/サブクラスコード’には、通信装置が第1のモードで動作するときに対応しているクラスコードおよびサブクラスコードが格納される。クラスコード、サブクラスコードは、USBにおいて通信仕様が類似する機器ごとに与えられた固有のコードである。
このようなOTG Host Classデスクリプタが通信相手(通信装置102A)から得られた場合、制御部21Aは、取得した通信相手のOTG Host Classデスクリプタの‘サポートするクラスコード/サブクラスコード’を調べて、通信に利用する予定のクラスのコードがこの中に含まれているか否かを調べる(ステップST34)。
利用予定のクラスのコードが含まれている場合、制御部21Aは、通信相手から取得したOTG Host Classデスクリプタおよび第2のモード時の通信速度情報と、記憶部31Aに予め記憶されている通信装置101A自身のOTG Host Classデスクリプタおよび第2のモード時の通信速度情報とに基づいて、動作モードを交替する場合としない場合の通信速度を比較する(ステップST35)。すなわち、制御部21Aは、通信に利用する予定のクラスにおいて、通信装置101Aが第1のモード、通信相手が第2のモードで動作したときの通信速度と、通信装置101Aが第2のモード、通信相手が第1のモードで動作したときの通信速度とを比較する。
そして、この比較の結果から、通信相手と動作モードを交替した場合に通信速度が速くなるか否かを判定する(ステップST36)。
図14は、AデバイスとBデバイスのOTG Host Classデスクリプタの具体例を示す図である。
この図によると、例えばクラスコードが0x08、サブクラスコードが0x06で表されるクラス(USBでは、マスストレージクラスにこのコードが割り当てられている)を利用して通信を行う場合、Aデバイスがホストの場合は最大でフルスピードの通信が可能であるのに対し、Bデバイスがホストの場合は最大でハイスピードの通信が可能であることが分かる。したがって、この場合、制御部21Aは、通信相手と動作モードを交替した場合に通信速度が速くなると判定する。
動作モードの交替によって通信速度が速くなると判定した場合、制御部21Aは、Bデバイスの通信相手に対して動作モード交替の許可を通知する(ステップST37)。この通知に対して通信相手から肯定応答が来ると、制御部21Aは、HNPによる動作モードの交替処理を実行する(ステップST38)。
なお、通信相手から取得したデスクリプタにOTG Host Classデスクリプタが含まれていない場合や、利用予定のクラスのコードがOTG Host Classデスクリプタの中に含まれていない場合(すなわち、通信相手が第1のモードで動作する際に所定の通信仕様に従って通信を行うことが可能であることを示す情報がOTG Host Classデスクリプタの中に含まれていない場合)、または、動作モードの交替によって通信速度が速くならないと判定した場合、制御部21Aは、HNPによる動作モードの交替処理を実行せずに、動作モードを維持する。
図15は、Aデバイス(通信装置101A)とBデバイス(通信装置102B)との間の通信手順の一例を説明するための図である。
Aデバイスは、Bデバイスがバスに接続されたことを検出すると、上述したエニュメレーションを実行する。エニュメレーションにおいて、Aデバイスは、USBの標準リクエスト‘Get Descriptor(Configuration)’をBデバイスに送信する(ステップST41)。
Bデバイスは、このリクエストを受けると、‘コンフィグレーション・デスクリプタ’とこれに関連するデスクリプタ、並びに‘OTGデスクリプタ’をAデバイスに送信する。
本実施形態に係る通信装置(101A,102A)は、この‘OTGデスクリプタ’に加えて、更に上述のOTG Host ClassデスクリプタをAデバイスに送信する(ステップST42)。
OTG Host Classデスクリプタは、USB2.0およびOTGの規格に準拠した方法で、AデバイスからBデバイスへ送信される。
Aデバイスは、この取得したOTG Host Classデスクリプタと自らが保有するOTG Host Classデスクリプタとにおける通信速度の情報に基づいて、動作モードの交替により通信速度が速くなるか否かを判定し、通信速度が速くなると判定した場合、OTGで追加された、標準リクエストの‘Set Feature(b_hnp_enable)’をBデバイスに送信する(ステップST43)。このリクエストを受けると、Bデバイスは、動作モードの交替が許可されたことを認識し、Aデバイスへ肯定応答を返す。
Bデバイスから肯定応答を受けると、Aデバイスはバスをサスペンド状態に設定して、通信を停止する(ステップST44)。Bデバイスにおいてバスのサスペンド状態が認識されると、AデバイスとBデバイスの双方でHNPによる動作モードの交替が行われ、Aデバイスは第2のモード、Bデバイスは第1のモードに動作モードを切り替える(ステップST45)。
以上説明したように、本実施形態に係る通信装置(101A,102A)によれば、第1のモードで起動した場合、制御部(21A,22A)の制御によって、第2のモードで動作する通信相手から、第1のモードにおける該通信相手の通信性能の情報(例えばOTG Host Classデスクリプタ)が取得される。そして、制御部(21A,22A)において、この取得された通信相手のOTG Host Classデスクリプタと、記憶部(31A,32A)に記憶される自らの通信装置のOTG Host Classデスクリプタとに基づいて、動作モードの交替を行った場合に通信速度が速くなるか否かの判定が行われる。この判定の結果、通信速度が速くなると判定された場合、制御部(21A,22A)の指示によって、HNPによる動作モードの交替の許可が通信相手に通知され、HNPによる動作モードの交替が実行される。
したがって、通信速度がより速くなるようにAデバイスとBデバイスの動作モードが適切に設定されるため、通信速度の更なる高速化を図ることができる。
また、USB2.0やOTGの規格に準拠した方法により動作モードの交替を行うことができる点や、制御部(21A,22A)をコンピュータによって実現できる点については、既に述べた通信装置101,102と同じであり、これと同様な効果を奏することができる。
なお、上述の実施形態では、AデバイスおよびBデバイスの速度に関連する情報として、第1のモードにおける速度の情報を含んだOTG Host Classデスクリプタを利用している。利用予定のクラスにおける第2のモード時の通信速度が2つの通信装置において共にハイスピードである場合、第1のモードにおける通信速度のみを比較することで通信速度の判定は可能であるが、第2のモード時の通信速度がハイスピードでない通信装置を含む場合は、第2のモード時における通信速度も考慮する必要がある。
この場合、Aデバイスの制御部(21A,22A)は、通信相手から取得される、通信相手が第1のモードおよび第2のモードの各モードで動作するときの通信速度の情報と、記憶部(31A,32A)に記憶される、自らの通信装置が第1のモードおよび第2のモードの各モードで動作するときの通信速度の情報とに基づいて、通信相手と動作モードを交替した場合に通信速度が速くなるか否かを判定し、この判定の結果に応じて動作モードの交替を実行しても良い。この場合に通信相手から取得する通信速度の情報は、デスクリプタ形式のデータでも良いし、その他、バスの信号線の電圧差によってBデバイスからAデバイスに伝送される信号でも良い。
以上、本発明の好ましい幾つかの実施形態について述べたが、本発明はこれらの実施形態に限定されるものではなく、この他にも種々のバリエーションを含む。
例えば、通信装置の構成や、HNP時の動作、デスクリプタの内容などについては、上述の他にも様々な形態が可能である。
また、上述したフローチャートや通信手順も一例であり、動作モードによる消費電力や通信速度の違いを基にした様々な形態が可能である。
USBでは、種々の機能の利用やデータ伝送の主導権をホスト機器が有しているため、ユーザの意向も考慮しながら動作モードの交替を行うか否かの判定を行うことが必要な場合が生じ得る。そこで、動作モードの交替を行う際に、所定のユーザーインターフェース装置を通じて、ユーザの承認を得ても良い。
すなわち、上述した動作モードの交替の条件が成立した場合、制御部は、ユーザーインターフェース装置を通じてユーザに動作モードの交替を行うか否かの確認を求める通知を行い、この確認の通知に対する許可の応答がユーザーインターフェース装置に入力された場合に、動作モードの交替を実行しても良い。
また、この確認通知の際に、例えば、動作モードを交替する場合としない場合とにおける通信性能の情報(消費電力や通信速度の情報など)をユーザーインターフェース装置に表示させて、ユーザが動作モードの交替の可否を決定する際の判断に役立てても良い。
上述した実施形態では、動作モードの交替によって消費電力や通信速度を向上させる例が示されているが、この他にも、動作モードの交替によって変化する種々の通信性能の情報に基づいて、動作モードを交替した場合に通信性能が改善するか否かの判定を行っても良い。
上述した各実施形態における通信装置の各構成は、その少なくとも一部をコンピュータとプログラムに基づくソフトウェアによって実現しても良いし、ソフトウェアとハードウェアとの組み合わせによって実現しても良いし、あるいは、全てをハードウェアによって実現しても良い。
上述した実施形態では、USBおよびOTGに準拠した通信を行う通信装置を例に挙げているが、本発明はこれに限定されない。例えば、バスを介して通信を行う際の動作モードを、バス上におけるデータの伝送を制御する第1のモードから、該第1のモードで動作する通信相手の制御に従って通信を行う第2のモードへ切り替えることが可能な他の種々の通信プロトコルの準拠する通信装置にも、本発明は適用可能である。
本発明の実施形態に係る通信システムの構成例を示す図である。 図1に示す通信装置における通信処理部の構成例を示す図である。 通信処理部における動作モードの交替の動作を説明するための図である。 Aデバイスとして動作する図2に示す通信装置の動作の一例を示すフローチャートである。 消費電力の情報を含んだ、第1の実施形態に係るデスクリプタのデータ構造の一例を示す図である。 図5に示すデスクリプタの具体例を示す第1の図である。 第1の実施形態に係る通信システムにおけるAデバイスとBデバイスとの間の通信手順の一例を説明するための図である。 図5に示すデスクリプタの具体例を示す第2の図である。 図5に示すデスクリプタの具体例を示す第3の図である。 消費電力および通信速度の情報を含んだ、第1の実施形態に係るデスクリプタのデータ構造の一例を示す図である。 第2の実施形態に係る通信装置の構成例を示す図である。 Aデバイスとして動作する図11に示す通信装置の動作の一例を示すフローチャートである。 第1のモード時に利用可能なクラスとその通信速度の情報を含んだ、第2の実施形態に係るデスクリプタのデータ構造の一例を示す図である。 図13に示すデスクリプタの具体例を示す図である。 第2の実施形態に係る通信システムにおけるAデバイスとBデバイスとの間の通信手順の一例を説明するための図である。
符号の説明
11,12,11A,12A…通信処理部、21,22,21A,22A…制御部、31,32,31A,32A…記憶部、41,42…レセプタクル端子、50…通信ケーブル、51…Mini−Aプラグ端子、52…Mini−Bプラグ端子、101,102,101A,102A…通信装置。

Claims (13)

  1. バスを介して通信を行う2つの通信装置を有し、一方の通信装置が、該バス上におけるデータの伝送を制御する第1のモードで動作する場合、他方の通信装置が、該一方の通信装置の制御に従って通信を行う第2のモードで動作し、所定の通信プロトコルに従って、該2つの通信装置の動作モードを交替することが可能な通信システムであって、
    上記通信装置は、
    自らの通信装置が上記第1のモードおよび上記第2のモードのそれぞれで動作する場合における、所定の通信性能に関連する情報を記憶する記憶部と、
    上記第2のモードで起動した場合、上記第1の動作モードで動作する通信相手の制御に従って、上記記憶部に記憶される上記通信性能の情報を上記バスに出力し、上記第1のモードで起動した場合、上記第2の動作モードで動作する通信相手から上記バスを介して上記通信性能の情報を取得し、該取得した通信相手の通信性能の情報と、上記記憶部に記憶される自らの通信装置の通信性能の情報とに基づいて、上記動作モードの交替を行った場合に上記通信性能が改善するか否か判定し、上記通信性能が改善すると判定したならば、上記動作モードの交替を実行する制御部と、
    を有する通信システム。
  2. バスを介して通信を行う際の動作モードを、該バス上におけるデータの伝送を制御する第1のモードと、該第1のモードで動作する通信相手の制御に従って通信を行う第2のモードとの間で切り替えることが可能な通信装置であって、
    自らの通信装置が上記第1のモードおよび上記第2のモードのそれぞれで動作する場合における、所定の通信性能に関連する情報を記憶する記憶部と、
    上記第1のモードで起動した場合、上記第2の動作モードで動作する通信相手から、上記第1のモードおよび上記第2のモードにおける該通信相手の上記通信性能の情報を取得し、該取得した通信相手の通信性能の情報と、上記記憶部に記憶される自らの通信装置の通信性能の情報とに基づいて、該通信相手と動作モードを交替した場合に上記通信性能が改善するか否か判定し、上記通信性能が改善すると判定したならば、所定の通信プロトコルに従って、上記動作モードの交替を実行する制御部と、
    を有する通信装置。
  3. 上記制御部は、上記第2のモードで起動した場合、上記第1の動作モードで動作する通信相手の制御に従って、上記記憶部に記憶される上記通信性能の情報を上記バスに出力する、
    請求項2に記載の通信装置。
  4. 上記記憶部は、上記所定の通信性能に関連する情報として、通信速度の情報および消費電力の情報の一方または両方を記憶する、
    請求項2に記載の通信装置。
  5. 上記制御部は、通信相手から取得される上記第1のモード時および上記第2のモード時の上記消費電力の情報と、上記記憶部に記憶される上記第1のモード時および上記第2のモード時の上記消費電力の情報とに基づいて、通信相手における上記消費電力と自らの通信装置における上記消費電力との合計が、該通信相手と動作モードを交替した場合に減少するか否か判定し、該判定の結果に応じて上記動作モードの交替を実行する、
    請求項4に記載の通信装置。
  6. 上記制御部は、通信相手から取得される上記第1のモード時および上記第2のモード時の上記消費電力の情報と、上記記憶部に記憶される上記第1のモード時および上記第2のモード時の上記消費電力の情報とに基づいて、該通信相手における上記第1のモード時の上記消費電力が上記第2のモード時の上記消費電力に比べて小さく、かつ、自らの通信装置における上記第2のモード時の上記消費電力が上記第1のモード時の上記消費電力に比べて小さいか否か判定し、該判定の結果に応じて上記動作モードの交替を実行する、
    請求項4に記載の通信装置。
  7. バッテリー電源部と、
    上記バッテリー電源部のバッテリー残量を検出するバッテリー残量検出部と、
    を有し、
    上記制御部は、上記バッテリー残量検出部において検出されるバッテリー残量が所定のしきい値を下回り、かつ、自らの通信装置における上記第2のモード時の上記消費電力が上記第1のモード時の上記消費電力に比べて小さい場合、上記動作モードの交替を実行する、
    請求項4に記載の通信装置。
  8. 上記制御部は、通信相手から取得される、該通信相手が上記第1のモードで動作するときの通信速度の情報と、上記記憶部に記憶される、自らの通信装置が上記第1のモードで動作するときの通信速度の情報とに基づいて、該通信相手と動作モードを交替した場合に通信速度が速くなるか否か判定し、該判定の結果に応じて上記動作モードの交替を実行する、
    請求項4に記載の通信装置。
  9. 上記制御部は、通信相手から取得される、通信相手が上記第1のモードおよび上記第2のモードの各モードで動作するときの通信速度の情報と、上記記憶部に記憶される、自らの通信装置が上記第1のモードおよび上記第2のモードの各モードで動作するときの通信速度の情報とに基づいて、該通信相手と動作モードを交替した場合に通信速度が速くなるか否か判定し、該判定の結果に応じて上記動作モードの交替を実行する、
    請求項8に記載の通信装置。
  10. 上記制御部は、通信相手から取得される情報に、該通信相手が上記第1のモードで動作する際に所定の通信仕様に従って通信を行うことが可能であることを示す情報が含まれていない場合は、上記動作モードの交替を実行しない、
    請求項8に記載の通信装置。
  11. 第1のプラグ端子および第2のプラグ端子を接続可能なレセプタクル端子を有し、
    上記制御部は、上記レセプタクル端子から上記第1のプラグを介して上記バスに接続される場合に上記第1のモードで起動し、上記レセプタクル端子から上記第2のプラグを介して上記バスに接続される場合に上記第2のモードで起動する、
    請求項2に記載の通信装置。
  12. バスを介して通信を行う2つの通信装置の一方が、該バス上におけるデータの伝送を制御する第1のモードで動作する場合、他方の通信装置が、該一方の通信装置の制御に従って通信を行う第2のモードで動作し、所定の通信プロトコルに従って、該2つの通信装置の動作モードを交替することが可能な通信方法であって、
    第1の通信装置を上記第1のモードで起動させ、第2の通信装置を上記第2のモードで起動させる第1の工程と、
    上記第2の通信装置が上記第1のモードおよび上記第2のモードのそれぞれで動作する場合における所定の通信性能に関連する情報を、上記第2の通信装置から上記第1の通信装置へ上記バスを介して伝送させる第2の工程と、
    上記第1の通信装置において、上記第2の通信装置から取得した通信性能の情報と、上記第1のモードおよび上記第2のモードにおける自らの上記通信性能の情報とに基づいて、上記動作モードを交替した場合に上記通信性能が改善するか否かを判定させる第3の工程と、
    上記第3の工程において上記通信性能が改善すると判定されたならば、上記第1の通信装置において、上記動作モードの交替を実行させる第4の工程と、
    を有する通信方法。
  13. バスを介して通信を行う際の動作モードを、該バス上におけるデータの伝送を制御する第1のモードと、該第1のモードで動作する通信相手の制御に従って通信を行う第2のモードとの間で切り替えることが可能な通信装置の制御用コンピュータのプログラムであって、
    上記第1のモードで起動した場合、上記第2の動作モードで動作する通信相手から、上記第1のモードおよび上記第2のモードにおける該通信相手の所定の通信性能の情報を取得する第1のステップと、
    上記第1のステップにおいて取得した通信相手の通信性能の情報と、上記第1のモードおよび上記第2のモードにおける自らの通信装置の上記通信性能の情報とに基づいて、該通信相手と動作モードを交替した場合に上記通信性能が改善するか否か判定する第2のステップと、
    上記第2のステップにおいて上記通信性能が改善すると判定したならば、所定の通信プロトコルに従って、上記動作モードの交替を実行する第3のステップと、
    を有する処理を上記コンピュータに実行させるプログラム。
JP2004057771A 2004-03-02 2004-03-02 通信システム、通信装置、通信方法およびプログラム Pending JP2005250671A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004057771A JP2005250671A (ja) 2004-03-02 2004-03-02 通信システム、通信装置、通信方法およびプログラム
US11/069,725 US20050204072A1 (en) 2004-03-02 2005-03-01 Communication system, communication apparatus, communication method, and computer program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004057771A JP2005250671A (ja) 2004-03-02 2004-03-02 通信システム、通信装置、通信方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2005250671A true JP2005250671A (ja) 2005-09-15

Family

ID=34917921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004057771A Pending JP2005250671A (ja) 2004-03-02 2004-03-02 通信システム、通信装置、通信方法およびプログラム

Country Status (2)

Country Link
US (1) US20050204072A1 (ja)
JP (1) JP2005250671A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183879A (ja) * 2006-01-10 2007-07-19 Seiko Epson Corp 情報処理装置
JP2009009210A (ja) * 2007-06-26 2009-01-15 Sony Corp 通信システム、通信装置及びその制御方法、並びにコンピュータ・プログラム
JP2009009211A (ja) * 2007-06-26 2009-01-15 Sony Corp 通信システム、通信装置及びその制御方法、並びにコンピュータ・プログラム
JP2009116788A (ja) * 2007-11-09 2009-05-28 Hitachi Ltd データ転送システムおよびナビゲーション装置
JP2013093889A (ja) * 2008-09-12 2013-05-16 Intel Corp コンピュータ可読メモリ、装置、および、その方法
US8839015B2 (en) 2007-11-07 2014-09-16 Intel Corporation Systems and methods for reducing power consumption of a communication device
USRE45600E1 (en) 2007-09-17 2015-07-07 Intel Corporation Techniques for collaborative power management for heterogeneous networks

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2469417A1 (en) 2006-04-26 2012-06-27 Nokia Corporation Usb connection
KR100734203B1 (ko) * 2006-06-30 2007-07-02 주식회사 스타칩 모바일폰에 연결되는 통합 인터페이싱 정보를 내장한통신환경 설정 장치 및 그 설정방법
US8250245B2 (en) * 2007-04-05 2012-08-21 Seiko Epson Corporation Information processing system, with information processing terminal capable of operating in multiple operation modes when connected to a host device
CN101911017A (zh) * 2007-12-31 2010-12-08 数据逻辑移动公司 用于配置、更新和引导便携式数据读取器上的可替代操作系统的系统和方法
US20090174366A1 (en) * 2008-01-09 2009-07-09 Freescale Semiconductor, Inc. Multiple Function Switching Regulator for Use in Mobile Electronic Devices
US7970976B2 (en) * 2009-03-01 2011-06-28 Qualcomm Incorporated Remote memory access using reversible host/client interface
US8201005B2 (en) 2009-03-17 2012-06-12 Intel Corporation Negotiating a transmit wake time
US8832345B2 (en) * 2010-08-24 2014-09-09 Belkin International, Inc. System for communicating between two electrical devices and method therefore
CN102981981B (zh) 2012-11-20 2016-03-30 中兴通讯股份有限公司 Usb设备、通信系统及其工作模式切换方法
CN104298631A (zh) * 2013-12-29 2015-01-21 新疆信息产业有限责任公司 终端通过usb与计算机通信的方法
US9811488B2 (en) 2014-04-29 2017-11-07 Mcci Corporation Apparatus and methods for dynamic role switching among USB hosts and devices
US10311001B2 (en) * 2017-10-09 2019-06-04 Getac Technology Corporation Electronic device and communication method thereof
KR20220014708A (ko) * 2020-07-29 2022-02-07 삼성전자주식회사 전력을 공급하는 전자 장치 및 이의 동작 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091712A (en) * 1994-12-23 2000-07-18 Applied Digital Access, Inc. Method and apparatus for storing and retrieving performance data collected by a network interface unit
US5819053A (en) * 1996-06-05 1998-10-06 Compaq Computer Corporation Computer system bus performance monitoring
TW468112B (en) * 1999-12-15 2001-12-11 Via Tech Inc Arbitrating method of bus between control chipsets
EP1128601B1 (en) * 2000-02-21 2006-07-19 Kabushiki Kaisha Toshiba Transmission system, supervisory control device, method of outputting data in the supervisory control device, and nodes for transmitting data in the transmission system
JP3558059B2 (ja) * 2001-08-10 2004-08-25 セイコーエプソン株式会社 電源制御回路及び電子機器
US6973516B1 (en) * 2002-05-20 2005-12-06 Intransa, Inc. Method and apparatus for a controller capable of supporting multiple protocols
US7072637B2 (en) * 2002-07-18 2006-07-04 Nokia Corporation Method and system for arranging frequently accessed data to optimize power consumption
US6732218B2 (en) * 2002-07-26 2004-05-04 Motorola, Inc. Dual-role compatible USB hub device and method
JP3654274B2 (ja) * 2002-08-30 2005-06-02 セイコーエプソン株式会社 データ転送制御装置、電子機器及び電源切替方法
US6971033B2 (en) * 2003-01-10 2005-11-29 Broadcom Corporation Method and apparatus for improving bus master performance
JP2004310672A (ja) * 2003-04-10 2004-11-04 Seiko Epson Corp データ入力装置および画像出力システム
TWI241520B (en) * 2003-07-08 2005-10-11 Ours Technology Inc Universal serial bus device for exchange data each other
JP2005129010A (ja) * 2003-09-29 2005-05-19 Sharp Corp デバイス側コントローラ,ホスト側コントローラ,通信コントローラ,usbシステム,パケット通信方法,パケット通信プログラムおよび記録媒体
US20050080945A1 (en) * 2003-10-14 2005-04-14 International Business Machines Corporation Transferring message packets from data continued in disparate areas of source memory via preloading
JP2005209057A (ja) * 2004-01-26 2005-08-04 Matsushita Electric Ind Co Ltd データ通信方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183879A (ja) * 2006-01-10 2007-07-19 Seiko Epson Corp 情報処理装置
JP2009009210A (ja) * 2007-06-26 2009-01-15 Sony Corp 通信システム、通信装置及びその制御方法、並びにコンピュータ・プログラム
JP2009009211A (ja) * 2007-06-26 2009-01-15 Sony Corp 通信システム、通信装置及びその制御方法、並びにコンピュータ・プログラム
US7664899B2 (en) 2007-06-26 2010-02-16 Sony Corporation Communication system, communication apparatus, control method therefor, and computer program
US7890683B2 (en) * 2007-06-26 2011-02-15 Sony Corporation Communication system that exchanges host and device roles of first and second communication apparatuses
US8037225B2 (en) 2007-06-26 2011-10-11 Sony Corporation Communication system with host and device role switching features
USRE45600E1 (en) 2007-09-17 2015-07-07 Intel Corporation Techniques for collaborative power management for heterogeneous networks
US8839015B2 (en) 2007-11-07 2014-09-16 Intel Corporation Systems and methods for reducing power consumption of a communication device
JP2009116788A (ja) * 2007-11-09 2009-05-28 Hitachi Ltd データ転送システムおよびナビゲーション装置
JP2013093889A (ja) * 2008-09-12 2013-05-16 Intel Corp コンピュータ可読メモリ、装置、および、その方法
US10291542B2 (en) 2008-09-12 2019-05-14 Intel Corporation Generating, at least in part, and/or receiving, at least in part, at least one request
US11570123B2 (en) 2008-09-12 2023-01-31 Intel Corporation Generating, at least in part, and/or receiving, at least in part, at least one request

Also Published As

Publication number Publication date
US20050204072A1 (en) 2005-09-15

Similar Documents

Publication Publication Date Title
JP2005250671A (ja) 通信システム、通信装置、通信方法およびプログラム
US7664899B2 (en) Communication system, communication apparatus, control method therefor, and computer program
JP5635628B2 (ja) ネットワークアクセスモジュールの電源管理方法及び装置
US7206603B2 (en) Cellular radio telephone set
US20070088967A1 (en) Apparatus and method to support USB enumeration of a bus powered handheld device
US20050267999A1 (en) Electronic device, method for controlling the same, information processing apparatus, and computer program
CA2562776C (en) Apparatus and method to support usb enumeration of a bus powered handheld device
CN102749985B (zh) 动态调整总线时钟的方法及其装置
JP2004157604A (ja) Usb機器制御方法および装置
JP2015174377A (ja) 画像形成装置およびその制御方法、並びにプログラム
US20090268743A1 (en) Data transmission bridge device and control chip thereof for transmitting data
JP2004171558A (ja) 通信ハブのための方法および装置
JP2018112986A (ja) 情報処理装置、受給電制御回路及び受給電制御方法
JP3338818B2 (ja) 無線lan端末のためのパワーマネージメント方式
JP2004078881A (ja) Pdaと無線通信システムとの統合インターフェイス用の回路と動作方式
CN114328329A (zh) 一种主从设备兼容的通信模块设计方法及装置
US11797470B2 (en) Electronic device and control method thereof
JP2002280925A (ja) 無線通信装置、記憶媒体およびプログラム
EP1187398A2 (en) Information processing
JP2007034614A (ja) 通信装置及びその制御方法
JP4497587B2 (ja) コンピュータ・システム、コンピュータ、メッセージ処理方法及びコンピュータ可読記憶媒体
JP2007233719A (ja) Usbシステム、usbホスト、usbデバイス
JP2009009210A (ja) 通信システム、通信装置及びその制御方法、並びにコンピュータ・プログラム
JP2004302778A (ja) インタフェイス装置
JP2012129651A (ja) 通信装置、通信システム、制御方法及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071211

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080527