説明

USBデバイス装置のサスペンド制御方法、USBデバイス装置及びサスペンド制御プログラム

【課題】USBホスト機器に依存せずにUSBデバイス機器側で最適なサスペンド処理を行い、充分な消費電力の低減を実現する。
【解決手段】USBケーブル3を接続してUSBホスト機器1とUSBデバイス機器2の間で通信を行う際、USBデバイス機器2側のトランシーバ部5の監視部9にてパケットの監視を行い、一定期間有効なパケットがなくSOFパケットのみが受信されている状況を検出した場合、それ以降はUSBコントローラ部6に対してデータの送信を停止する。これによりUSBコントローラ部6はバス上のアクティビティが無くなったと判断し、サスペンド状態へ移行する制御を行い、これにより消費電力の低減を図る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はUSBデバイス装置に関し、特にサスペンド状態への移行を制御するUSBデバイス装置のサスペンド制御方法、USBデバイス装置及びサスペンド制御プログラムに関する。
【背景技術】
【0002】
近年、携帯型電子機器においては、USB(Universal
Serial Bus)インターフェースに対応しているものが多く普及している。これら携帯型電子機器を周辺デバイス装置として、PC(パーソナルコンピュータ)などのホスト機器にUSBケーブルを介して接続することにより、両機器間の通信を可能としている。
【0003】
図4は従来のUSBホスト機器とUSBデバイス機器のUSB接続時のサスペンド機能に関連する構成を示す図である。USBI/F部40を備えるUSBホスト機器10と、USBトランシーバ部50、USBコントローラ部60及び制御部70を備えるUSBデバイス機器20とからなり、両者をUSBケーブル30で接続すると両機器間の通信が可能となる。
【0004】
ところで、このUSBデバイス機器20が携帯型電子機器等の場合、同機器20がバッテリーで駆動されるケースがほとんどであるため省電力についても考慮する必要がある。そこでUSBの規格ではサスペンドという状態が定義されており、この状態に移行することによりUSBケーブルで接続された状態でもUSBデバイス機器20の消費電力を低減することが可能となっている。これは、少なくとも3ミリ秒間、信号バス上に何のアクティビティも無いと、USBデバイス機器20は実行中のソフトウェアや動作中のデバイスを一時的に停止する等のサスペンド状態に入らなければならないという仕様である。
【0005】
この種の機能を有する周辺装置であって、ホストコンピュータからUSBケーブルに送出されたフレーム開始(SOF;Start Of Frame)パケットを検出する信号検出部を備え、通常動作モードにおいては、前記信号検出部がSOFパケットを検出しない期間が予め設定された期間を越えるときには、通常動作モードを低消費電力モードに切り換え、低消費電力モードにおいては、前記信号検出部がSOFパケットを検出したときには、低消費電力モードを通常動作モードに切り換える機能を備えた周辺装置が提案されている(特許文献1参照)。
【特許文献1】実用新案登録第3069308号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
前述のように、USBホスト機器10等に接続可能なUSBデバイス機器20がバッテリーで動作する携帯型電子機器等の場合、消費電力の低減が必須課題となっており、USBの規格としても省電力を目的としてサスペンドという停止状態が定義されている。
【0007】
ところが、USBホスト機器10はUSBデバイス機器20とUSBケーブルで接続された状態ではキープアライブのために常にSOFパケットをUSBデバイス機器20側に出し続けており、USBホスト機器10自体が休止モード等にならない限り、USBデバイス機器20はサスペンド状態に移ることができないのが現状である。前記特許文献1記載の周辺装置においても、ホストコンピュータからのSOFパケットが停止しない限りサスペンド状態に移ることができないことにかわりがない。
【0008】
このように、従来のUSBデバイス機器20は実質的に殆どサスペンド状態になることはなく、USBデバイス機器20の消費電力は抑えられていないという問題がある。
【0009】
(目的)
本発明の目的は、前述の課題を解決するものであり、ホスト機器に依存せずにデバイス機器側で最適にサスペンド処理を行え、充分な消費電力の低減を実現できる手段を提供する事にある。
【課題を解決するための手段】
【0010】
本発明は、USBインターフェースを介して接続されたUSBホスト機器とUSBデバイス機器において、当該USBデバイス機器側で通信状況の監視を行い、一定期間有効な通信が行われない場合にはデバイス機器側で任意にサスペンド処理を行うことで、USBデバイス装置の消費電力を抑えることを可能としている。つまり、
本発明のサスペンド制御方法は、USBインターフェースを介して通信を行うUSBデバイス機器のサスペンド制御方法であって、USBデバイス機器側でSOFパケットのみの受信が連続的に規定数を超えた場合にサスペンド状態へ移行する制御を行い、前記サスペンド状態においては、SOFパケット以外の信号を受信した場合にサスペンド状態を解除する制御を行うことを特徴とする。より具体的には、受信したパケットを監視する監視部を含むUSBトランシーバ部とUSB通信の制御を行うUSBコントローラ部とを有するUSBデバイス機器のサスペンド制御方法であって、前記監視部はSOFパケットのみの受信が連続的に規定数を超えた場合に、それ以降は前記USBトランシーバ部からUSBコントローラ部に対してパケットデータの送信を停止し、前記USBコントローラ部はパケットデータの停止によりサスペンド状態に移行し、前記監視部は前記サスペンド状態においてSOFパケット以外のパケットを受信した場合に、USBコントローラ部に対してパケットデータ又はレジューム信号を送信し、前記USBコントローラ部はパケットデータの受信又はレジューム信号の受信によりサスペンド状態を解除することを特徴とする。
【0011】
本発明のUSBデバイス機器は、USBインターフェースを介して通信を行うUSBデバイス機器であって、SOFパケットのみの受信が連続的に規定数を超えた場合にサスペンド状態へ移行し、SOFパケット以外のパケットを受信した場合にサスペンド状態を解除することを特徴とする。より具体的には、受信したパケットを監視する監視部を含むUSBトランシーバ部とUSB通信の制御を行うUSBコントローラ部とを有し、前記監視部はSOFパケットのみの受信が連続的に規定数を超えた場合に、それ以降は前記USBトランシーバ部からUSBコントローラ部に対してパケットデータの送信を停止し、前記USBコントローラ部はパケットデータの停止によりサスペンド状態に移行し、前記監視部は前記サスペンド状態においてSOFパケット以外のパケットを受信した場合に、USBコントローラ部に対してパケットデータの送信し又はレジューム信号を送信し、前記USBコントローラ部はパケットデータの停止又はレジューム信号の受信によりサスペンド状態を解除することを特徴とする。
【0012】
本発明のサスペンド制御用プログラムは、USBインターフェースを介して通信を行うUSBデバイス機器のサスペンド制御を行うサスペンド制御用プログラムであって、コンピュータに、SOFパケットのみの受信が連続的に規定数を超えた場合にサスペンド状態へ移行する機能を実現することを特徴とし、前記サスペンド状態においては、SOFパケット以外の信号を受信した場合にサスペンド状態を解除する機能を実現することを特徴とする。
【0013】
本発明はUSBケーブルを接続してUSBホスト機器とUSBデバイス機器の間で通信を行う際、USBデバイス機器側のトランシーバ部にてパケットの監視を行い、一定期間有効なパケットがなくSOFパケットのみが送信されている状況を検出した場合、それ以降はUSBコントローラ部に対してデータの送信を停止する。これによりUSBコントローラ部はデータ処理が不要となり、また、バス上のアクティビティが無くなったと判断することで、サスペンド状態へ移行することができ、これにより充分な消費電力の低減を図る事が可能となる。
【発明の効果】
【0014】
本発明によれば、USBホスト機器の動作の停止等に依存することなく、USBデバイス機器側の判断で、有効な通信のない期間はサスペンド状態に移行することができるため、USBデバイス機器のUSB接続時の消費電力の低減が可能となる。
【発明を実施するための最良の形態】
【0015】
(構成の説明)
以下、本発明の一実施の形態について図面を参照して詳細に説明する。
図1は本実施の形態の構成を示すシステム構成図である。本システムはUSB通信を行うためのインターフェースのUSBI/F部4を備えるUSBホスト機器1と、USBトランシーバ部5、USBコントローラ部6及び制御部7を備えるUSBデバイス機器2とからなり、USBホスト機器1とUSBデバイス機器2がUSBケーブル3を介して接続され、USBホスト機器1とデバイス機器2との間で種々の情報の送受信が可能である。
【0016】
本実施の形態におけるUSBトランシーバ部5は、USBプロトコルの物理層を担い、USBバスとのインターフェースを可能とするために信号レベルの変換等を行う回路であり、USBトランシーバ部5の機能として、信号変換を行う変換部8に加え、以下詳述するパケットの監視を行う監視部9を有している。
【0017】
USBコントローラ部6は、USBプロトコルの論理層を担い、USB通信の制御を行う回路であり、パケットデータの受信の停止によりサスペンド状態となり、USBトランシーバ部5側からの通信の再開を促すパケットデータの受信やレジューム(Resume)信号の受信(検知)によりサスペンド状態から復帰し、通常の通信を再開できる状態となる。
【0018】
制御部7はソフトウェアによりUSBデバイス機器2に応じた機能を実現する制御を行うとともに、USBコントローラ部6の制御を行い、USBデバイス機器の種類及びその通信内容に応じて、記憶、読み出し、画像処理、表示、印字等の各種処理の制御機能を有する。
【0019】
本実施の形態のUSBホスト機器1及びUSBデバイス機器2のより具体的な構成及び機能は以下のとおりである。
USBホスト機器1は、USBI/F部4を介してUSBケーブル3(USBバス)に対し、1msごとに反復されるSOFパケットを送信して時間を前記SOFパケットで開始するフレーム単位に区切り、前記SOFパケットに続いてトークン(Token)・パケットを送信し、USBデバイス機器2に対する転送方向やアドレス、エンドポイント等を通知し、データ・パケット等を送信する機能を有する。一方、アドレス指定されたUSBデバイス機器2はデータ・パケット、ハンドシェイク・パケット等で応答することを可能とし、周期的にUSBデバイス機器2との通信を行う機能を有する。したがって、USBバス上でSOFパケットとそれ以降の各パケットが送受信されていなければ、USBバスは有効な通信状態とならない。
【0020】
USBデバイス機器2のUSBトランシーバ部5内の監視部9は、USBケーブル3上の各種パケットを受信し、USBホスト機器1からのSOFパケットとそれ以降のパケットとを検出可能であり、USBバスは有効な通信の期間か否かを、SOFパケットのみが検出されるか、又はSOFパケットとそれ以降のパケットとが検出されるかで判断し、有効な通信の期間に受信したパケットを変換部5に送信する。
【0021】
このため監視部9にはSOF受信カウンタ91を備え、SOFパケットのみの検出時に、当該検出毎に前記SOF受信カウンタ91で前記SOFパケットをカウントし、SOFパケット及びそれ以降のパケットの検出時に、前記SOFカウンタ91のカウント値をクリアする機能を有し、前記SOF受信カウンタ91のカウント値が規定値を超えた場合に有効な通信状態でないとして、それ以降は、USBトランシーバ部5からUSBコントローラ部6に対するデータ送信を停止(バスはアイドル状態に)し、USBコントローラ部6側をサスペンド状態に制御する機能、前記サスペンド状態でSOFパケット以外のパケットを受信した場合に、直ちにサスペンド状態を解除させ通信の再開を促すため、パケットデータ又はレジューム信号をUSBコントローラ部6側に送信する機能、及び、当該サスペンド状態か否かの情報を記憶する機能等を有する。
【0022】
USBコントローラ部6は、USBトランシーバ部5からのパケットデータの停止により実行中の処理機能や動作中のデバイスを一時的に停止する等のサスペンド状態とし、サスペンド状態においてはパケットデータ又はレジューム信号の受信によりサスペンド状態を解除し、通常の通信を再開する機能を有する。
【0023】
(動作の説明)
図2は本実施の形態のデバイス機器の処理を示すフローチャート図である。図2に示すフローチャートを使用して本実施の形態の動作を詳細に説明する。
【0024】
USBトランシーバ部5の監視部9では、信号ラインからパケットを受信すると(ステップA1)、受信したパケットをモニタしてSOFパケットのみであるか否かを判別する(ステップA2)。SOFパケットのみであれば、SOF受信カウンタをインクリメントする(ステップA3)。監視部9はSOF受信カウンタ値と規定値とを比較し(ステップA4)、SOF受信カウンタのカウンタ値が規定値以下であればそのままのデータを変換部8に送信する(ステップA6)。SOF受信カウンタが規定値を超えた場合、変換部8へのデータ送信を停止し、バスをアイドル状態とし、サスペンド状態へ移行させるとともに該サスペンド状態の情報を記憶する(ステップA5)。
【0025】
ステップA2で、SOFパケット以外の信号を受信した場合、監視部9はSOF受信カウンタのクリアを行う(ステップA7)。その後、サスペンド状態か否かの情報の確認を行い(ステップA8)、サスペンド状態でなければそのままデータを変換部8に送信する(ステップA6)。ステップA8で、サスペンド状態の情報が確認された場合は、通信の再開を促すためのレジューム信号の送信を行い(バス状態をData k状態等にすることで通知)、通常状態へ移行させる(ステップA9)。なお、ステップA5、A9では、サスペンド状態か否かの情報の記憶処理も行われる。
【0026】
(他の実施の形態)
以上の実施の形態では、受信パケットの監視を監視部のハードウエア構成で実施して好適な例を示したが、本発明はプログラム制御により動作させるように構成できることは明らかである。
【0027】
図3は本発明の他の実施の形態の監視部の構成例を示す図である。本実施の形態ではUSBトランシーバ部5内の監視部10におけるパケットの受信及び監視等の機能について、USBケーブル3からのパケットを検出するパケット検出部13と、コンピュータ制御構成とした監視制御部(CPU)11とメモリ部(RAM及びROM)12とからなり、監視制御部11は前記メモリ(ROM)12内に格納されたUSBデバイス機器のサスペンド制御を行うサスペンド制御用プログラムにより制御可能に構成したものである。監視制御部11は、メモリ部12に格納されたサスペンド制御用プログラムを読み込み、当該プログラムにより制御されパケット検出部13を制御する。
【0028】
本実施の形態のパケット検出部13はUSBホスト機器1からのパケットを受信し、監視制御部(CPU)11による制御により以下の機能を実現する。つまり、パケットの種類を判定し、有効な通信の期間に受信したパケットを変換部5に送信する。また、USBホスト機器1からのSOFパケットとそれ以降のパケットとを識別可能であり、USBバスが有効な通信の期間か否かを、SOFパケットのみが検出されたか、又はSOFパケットとそれ以降のパケットとが検出されたかで判断する。
【0029】
SOFパケットのみの検出時には、当該検出毎に監視制御部11はカウント機能を実現し、SOFパケット及びそれ以降のパケットの検出時に、前記カウント機能によるカウント値のクリア機能を実現し、前記カウント値が規定値以上の場合に有効な通信状態でないとして、それ以降はUSBトランシーバ部5からUSBコントローラ部6に対するデータ送信を停止(バスはアイドル状態に)する機能を実現する。これにより、USBコントローラ部6はバス上のアクティビティが無くなったと判断し、サスペンド状態へ移行する。
【0030】
更に、監視制御部11はパケット検出部13で検出したパケットにSOFパケット以外のパケットが含まれている場合には、パケットデータ又はレジューム信号を変換部8を介してUSBコントローラ部6に送信し、サスペンド状態を解除する。なお、サスペンド状態か否かの情報は前記メモリ(RAM)12等に格納して受信したパケットの種類による前述の制御において参照することができる。
【0031】
また、本発明は図3に示すように監視部内におけるプログラム制御により監視機能及びサスペンド機能を実現する代わりに、図1に示す構成で制御部7のプログラム制御により図3と同様のパケット受信部の制御機能を実現するように構成することが可能であることはいうまでもない。
【図面の簡単な説明】
【0032】
【図1】本発明の一実施の形態の構成を示すシステム構成図である。
【図2】本実施の形態のデバイス機器の処理を示すフローチャート図である。
【図3】本発明の他の実施の形態の構成を示す図である。
【図4】従来のUSBホスト機器とUSBデバイス機器のUSB接続時のサスペンド機能に関連する構成を示す図である。
【符号の説明】
【0033】
1、10 USBホスト機器
2、20 USBデバイス機器
3、30 USBケーブル
4、40 USBI/F部
5、50 USBトランシーバ部
6、60 USBコントローラ部
7、70 制御部
8 変換部
9、10 監視部
11 監視制御部
12 メモリ部
13 パケット検出部

【特許請求の範囲】
【請求項1】
USBインターフェースを介して通信を行うUSBデバイス機器のサスペンド制御方法であって、USBデバイス機器側でSOFパケットのみの受信が連続的に規定数を超えた場合にサスペンド状態へ移行する制御を行うことを特徴とするUSBデバイス機器のサスペンド制御方法。
【請求項2】
前記サスペンド状態において、SOFパケット以外の信号を受信した場合にサスペンド状態を解除する制御を行うことを特徴とする請求項1記載のUSBデバイス機器のサスペンド制御方法。
【請求項3】
受信したパケットを監視する監視部を含むUSBトランシーバ部とUSB通信の制御を行うUSBコントローラ部とを有するUSBデバイス機器のサスペンド制御方法であって、前記監視部はSOFパケットのみの受信が連続的に規定数を超えた場合に、それ以降は前記USBトランシーバ部からUSBコントローラ部に対してパケットデータの送信を停止し、前記USBコントローラ部はパケットデータの停止によりサスペンド状態に移行することを特徴とするUSBデバイス機器のサスペンド制御方法。
【請求項4】
前記監視部は前記サスペンド状態においてSOFパケット以外のパケットを受信した場合に、USBコントローラ部に対してパケットデータ又はレジューム信号を送信し、前記USBコントローラ部はパケットデータの受信又はレジューム信号の受信によりサスペンド状態を解除することを特徴とする請求項3記載のUSBデバイス機器のサスペンド制御方法。
【請求項5】
USBインターフェースを介して通信を行うUSBデバイス機器であって、SOFパケットのみの受信が連続的に規定数を超えた場合にサスペンド状態へ移行することを特徴とするUSBデバイス機器。
【請求項6】
SOFパケット以外のパケットを受信した場合にサスペンド状態を解除することを特徴とする請求項5記載のUSBデバイス機器。
【請求項7】
受信したパケットを監視する監視部を含むUSBトランシーバ部とUSB通信の制御を行うUSBコントローラ部とを有し、前記監視部はSOFパケットのみの受信が連続的に規定数を超えた場合に、それ以降は前記USBトランシーバ部からUSBコントローラ部に対してパケットデータの送信を停止し、前記USBコントローラ部はパケットデータの停止によりサスペンド状態に移行することを特徴とするUSBデバイス機器。
【請求項8】
前記監視部は前記サスペンド状態においてSOFパケット以外のパケットを受信した場合に、USBコントローラ部に対してパケットデータの送信し又はレジューム信号を送信し、前記USBコントローラ部はパケットデータの停止又はレジューム信号の受信によりサスペンド状態を解除することを特徴とする請求項7記載のUSBデバイス機器。
【請求項9】
USBインターフェースを介して通信を行うUSBデバイス機器のサスペンド制御を行うサスペンド制御用プログラムであって、コンピュータに、SOFパケットのみの受信が連続的に規定数を超えた場合にサスペンド状態へ移行する機能を実現することを特徴とするUSBデバイス機器のサスペンド制御用プログラム。
【請求項10】
前記サスペンド状態において、SOFパケット以外の信号を受信した場合にサスペンド状態を解除する機能を実現することを特徴とする請求項7記載のUSBデバイス機器のサスペンド制御用プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate