以下に、本願の開示する機能拡張装置、電子回路、電子システム及び電力制御プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する機能拡張装置、電子回路、電子システム及び電力制御プログラムが限定されるものではない。
図1は、実施例に係る電子システムの構成を説明するための図である。図1に示すように本実施例に係る電子システムは、端末装置1及びドッキングステーション2を有する。この端末装置1が、「第1電子機器」の一例にあたる。また、ドッキングステーション2が、「第2電子機器」及び「機能拡張装置」の一例にあたる。
端末装置1とドッキングステーション2とはType−Cケーブル5を介して接続可能である。そして、端末装置1とドッキングステーション2とを接続すると状態3となる。状態3の場合、端末装置1は、ドッキングステーション2の機能を使用することができる。
図2は、端末装置及びドッキングステーションのハードウェア構成図である。図2では、電力供給経路と制御信号の伝送路とが混在した状態で記載している。図3は、端末装置及びドッキングステーションの制御信号の伝送路を示す図である。また、図4は、端末装置及びドッキングステーションの電力供給経路を示す図である。すなわち、図3は、図2から制御信号の伝送路のみを取り出した図である。また、図4は、図2から電力供給経路のみを取り出した図である。端末装置1及びドッキングステーション2は、ACアダプタ4が接続され電力供給を受ける。
端末装置1は、Type−C/PDコントローラ101、EC(Embedded Controller)102、電源回路103及びType−Cコネクタ104を有する。また、端末装置1は、ACコネクタ121、バッテリ122及びチャージャIC(Integrated Circuit)123を有する。さらに、端末装置1は、CPU(Central Processing Unit)111、RAM(Random Access Memory)112、記憶媒体113、液晶ディスプレイ114及びタッチパネル115を有する。また、図4における端末装置システム110は、CPU111、RAM112、記憶媒体113、液晶ディスプレイ114及びタッチパネル115を含む端末装置1の演算処理などの各種機能を実現するためのシステムである。端末装置システム110は、内蔵ディスプレイなどの出力インタフェースを含んでもよい。また、端末装置システム110は、タッチパッド及びキーボードなどの入力インタフェースを含んでもよい。さらに、端末装置システム110は、他の各種デバイスを含んでもよい。
Type−C/PDコントローラ101は、図4に示すように、電源回路103と給電経路によって接続される。また、Type−C/PDコントローラ101は、図3に示すように、EC102及びType−Cコネクタ104とバスで接続される。Type−C/PDコントローラ101は、Type−Cコネクタ104がType−Cケーブル5を介してType−Cコネクタ204に接続された場合、Type−Cコネクタ104のConfiguration Channelピンから接続通知の信号ピンの入力を受ける。このConfiguration Channelピンから接続通知の信号ピンの入力を受けることで、Type−C/PDコントローラ101はドッキングステーション2との接続を検出する。言い換えれば、Type−C/PDコントローラ101は、Type−C Port Connectイベントを検出する。以下では、Type−Cコネクタ104とType−Cコネクタ204とがType−Cケーブル5を介して接続することを、端末装置1がドッキングステーション2に接続するという。
端末装置1がドッキングステーション2に接続された場合、Type−C/PDコントローラ101は、CC(Configuration Channel)通信によりType−Cコネクタ104、Type−Cケーブル5及びType−Cコネクタ204を介してType−C/PDコントローラ201と通信を行う。
Type−C/PDコントローラ101は、端末装置1とドッキングステーション2との接続を検出すると、EC102に接続検出を要因とする割り込みを出力する。EC012がシリアル通信などでType−C/PDコントローラ101から割り込み要因の特定と付随するデータ取得した後、EC102から割り込み解除の通知を受けて、割り込みを解除する。シリアル通信は、例えば、I2C(Inter-Integrated Circuit)である。そして、Type−C/PDコントローラ101は、Type−C/PDコントローラ201の初期化完了後に、Type−C/PDコントローラ201との間でUSB Type―C接続処理を実行する。例えば、Type−C/PDコントローラ101は、電力供給方向及び電力供給を行う電源、供給電圧及び通信に使用するポートなどの電力需給及び通信の設定をType−C/PDコントローラ201との間で決定する。そして、USB Type−C接続処理が完了すると、Type−C/PDコントローラ101は、電力需給及び通信の設定をEC102に通知する。
また、Type−C/PDコントローラ101は、端末装置1からドッキングステーション2が抜去された場合、Type−Cコネクタ104のConfiguration Channelから未接続通知の信号の入力を受け、未接続を検出する。そして、Type−C/PDコントローラ101は、EC102に未接続検出を要因とする割り込みを出力する。EC102がシリアル通信などでType−C/PDコントローラ101から割り込み要因の特定と付随するデータ取得した後、EC102から割り込み解除の通知を受けて、割り込みを解除する。このType−C/PDコントローラ101が、「第1接続制御部」の一例にあたる。
EC102は、図4に示すように、電源回路103と給電経路によって接続される。また、EC102は、図3に示すように、Type−C/PDコントローラ101、電源回路103、CPU111及びチャージャIC123とバスで接続される。EC102は、GPIO(General Purpose Input Output)信号を用いてCPU111と通信を行う。また、EC102は、シリアル信号を用いてチャージャIC123と通信を行う。また、EC102は、GPIO信号を用いて電源回路103と通信を行う。EC102は、接続状態で、Type−C/PDコントローラ101、Type−Cコネクタ104、Type−Cケーブル5、Type−C/PDコントローラ201及びType−Cコネクタ204を介してEC202と通信を行う。
EC102は、端末装置1とドッキングステーション2とが接続されると、接続検出を要因とする割り込みの入力をType−C/PDコントローラ101から受ける。次に、EC102は、割込み要因及び要因に付随するデータをシリアル通信で確認し、端末装置1とドッキングステーション2との接続を把握する。次に、EC102は、割込みの解除をType−C/PDコントローラ101に指示する。その後、EC102は、電力需給及び通信の設定の通知をType−C/PDコントローラ101から受ける。そして、EC102は、取得した電力需給の設定にしたがい電源回路103及びチャージャIC123に対する電力供給の制御を行う。これにより、CPU111などを含む端末装置システム110への電力供給が開始される。
また、EC102は、端末装置1がドッキングステーション2から抜去されると、抜去検出を要因とする割り込みの入力をType−C/PDコントローラ101から受ける。次に、EC102は、割込み要因及び要因に付随するデータをシリアル通信で確認し、端末装置1からドッキングステーション2の抜去を把握する。次に、EC102は、割込みの解除をType−C/PDコントローラ101に指示する。さらに、EC102は、バッテリ122及びACコネクタ121に接続されるACアダプタ4の状態を基に電源を決定し、決定した電源から各部へ電力供給が行われるように電源回路103を制御する。
電源回路103は、図4に示すように、Type−C/PDコントローラ101、EC102、Type−Cコネクタ104、バッテリ122、チャージャIC123及び端末装置システム110と給電経路で接続されている。電源回路103は、ACコネクタ121にACアダプタ4が接続されており電源をACアダプタ4とする場合、ACアダプタ4から電力供給を受ける。また、電源をバッテリ122とする場合、電源回路103は、バッテリ122から電力の供給を受ける。また、ドッキングステーション2から電力供給を受ける場合、電源回路103は、Type−Cコネクタ104、Type−Cケーブル5及びドッキングステーション2のType−Cコネクタ204を介して電源回路203から電力の供給を受ける。
また、電源回路103は、EC102とバスで接続される。電源回路103は、電力需給の設定にしたがってEC102から制御を受ける。そして、電源回路103は、決定された電源から供給された電力を用いて端末装置1に搭載される各デバイスが用いる電源種を作成する。また、電力供給方向が端末装置1からドッキングステーション2へ向けた方向の場合、電源回路103は、電源から供給された電力を用いてドッキングステーション2へ供給する電源種を作成する。
電源回路103は、電源から供給された電力を用いて作成した電源種を、例えば、EC102、チャージャIC123及び端末装置システム110へ供給する。また、ドッキングステーション2へ電力供給を行う場合、電源回路103は、Type−Cコネクタ104、Type−Cケーブル5及びType−Cコネクタ204を介して電源回路203へ作成した電源種を供給する。
バッテリ122には、電源回路103から送られた電力による充電がチャージャIC123により行われる。また、バッテリ122は、電源となる場合には電源回路103に電力を供給する。
チャージャIC123は、充電を実行する設定の通知をEC102から受ける。そして、チャージャIC123は、通知された設定にしたがってバッテリ122を充電する。
CPU111を含む端末装置システム110は、電源回路103から電力供給を受ける。CPU111は、電源オンの通知をEC102から受ける。そして、CPU111は、電源回路103にから供給される電源を用いて、例えばRAM112、記憶媒体113、液晶ディスプレイ114、タッチパネル115の駆動を開始し、端末装置システム110を電源オン状態とする。このCPU111が、「演算処理部」の一例にあたる。
ドッキングステーション2は、図2に示すように、Type−C/PDコントローラ201、EC202、電源回路203、Type−Cコネクタ204、USBハブ205及びBBコントローラ206を有する。また、ドッキングステーション2は、ACコネクタ221を有する。さらに、ドッキングステーション2は、外部ディスプレイI/F211、LAN(Local Area Network) I/F212及びUSB I/F213を有する。また、図4におけるドッキングステーションシステム210は、外部ディスプレイI/F211、USB I/F212、LAN I/F213を含むドッキングステーション2の各種機能を実現するためのシステムである。ドッキングステーションシステム210は、外部ディスプレイI/F211以外の出力インタフェースを含んでもよい。また、ドッキングステーションシステム210は、タッチパッド及びキーボードなどの入力インタフェースを含んでもよい。さらに、ドッキングステーションシステム210は、他の各種デバイスを含んでもよい。
Type−C/PDコントローラ201は、図4に示すように、常時電源の給電経路231によって電源回路203と接続される。また、Type−C/PDコントローラ201は、図3に示すように、EC202及びType−Cコネクタ204とバスで接続される。また、Type−C/PDコントローラ201は、スイッチ214を介して外部ディスプレイI/F211及びUSB IF213と接続される。さらに、Type−C/PDコントローラ201は、シリアル通信をBBコントローラ206及びEC202と行う。Type−C/PDコントローラ201は、スイッチ214を制御してType−Cコネクタ204を介して、端末装置1と外部ディスプレイ211及びUSB I/F213との間の通信を行わせる。
Type−C/PDコントローラ201は、端末装置1がType−Cケーブル5を介してドッキングステーション2に接続された場合、Type−Cコネクタ204のConfiguration Channelピンから接続通知の信号の入力を受け、接続を検出する。すなわち、Type−C/PDコントローラ201は、Type−C Port Connectイベントを検出する。
Type−C/PDコントローラ201は、端末装置1とドッキングステーション2との接続を検出すると、EC202に接続検出を要因とする割り込みを出力する。EC202がシリアル通信などでType−C/PDコントローラ201から割込み要因の特定と付随するデータ取得した後、EC202から割り込み解除の通知を受けて、割り込みを解除する。その後、Type−C/PDコントローラ201は、リセットの実行を指示するリセット信号の入力をEC202から受けてリセット状態になり、動作を停止する。その後、Type−C/PDコントローラ201は、リセットの解除を指示するリセット信号の入力をEC202から受けて、リセットを解除し動作を開始する。さらに、Type−C/PDコントローラ201は、初期化の制御をEC202から受け初期化が実行され再起動する。
再起動して初期化が完了すると、Type−C/PDコントローラ201は、Type−C/PDコントローラ101との間でUSB Type−C接続処理を実行し、電力需給及び通信の設定をType−C/PDコントローラ101との間で決定する。これにより、Type−C/PDコントローラ201は、接続されたデバイスの種類及び電力供給の向きなどの情報を含むPDステータスを取得する。Type−C/PDコントローラ201がBBコントローラ206の電源がオンにされた後に再起動を行うことで、Type−C/PDコントローラ201とBBコントローラ206との間でPDステータスの同期が取られる。これにより、Type−C/PDコントローラ201のPDステータスとBBコントローラ206のPDステータスとを一致させることができる。USB Type−C接続処理が完了すると、Type−C/PDコントローラ201は、電力需給及び通信の設定をEC202に通知する。そして、端末装置1とドッキングステーション2とが接続状態の場合、Type−C/PDコントローラ201は、CC通信を用いてType−Cコネクタ204、Type−Cケーブル5及びType−Cコネクタ104を介してType−C/PDコントローラ101と通信を行う。
また、Type−C/PDコントローラ201は、スイッチ214を制御して、外部ディスプレイI/F211及びUSB I/F213とType−Cコネクタ204との間のデータの送受信を制御する。そして、Type−C/PDコントローラ201は、Type−C/PDコントローラ101との間でデータの送受信を行い、端末装置1の各部とドッキングステーション2の各部との間のデータの送受信を中継する。
また、Type−C/PDコントローラ201は、端末装置1がドッキングステーション2から抜去された場合、Type−Cコネクタ204のConfigration Channelピンから未接続通知の信号の入力を受け、未接続を検出する。そしてType−C/PDコントローラ201は、EC202に未接続検出を要因とする割り込みを出力する。次に、EC202は、割込み要因および要因及び要因に付随するデータをシリアル通信で確認し、端末装置1からドッキングステーション2の抜去を把握する。その後、EC202から割り込み解除の通知を受けて、割り込みを解除する。このType−C/PDコントローラ201が、「接続制御部」及び「第2接続制御部」の一例にあたる。
EC202は、図4に示すように、給電経路により電源回路203と接続される。また、EC202は、図3に示すように、電源回路203、Type−C/PDコントローラ201及びBBコントローラ206とバスで接続されている。また、EC202は、GPIO信号を用いて電源回路203を制御する。さらに、EC202は、接続状態で、Type−C/PDコントローラ201、Type−Cコネクタ204、Type−Cケーブル5、Type−Cコネクタ104及びType−C/PDコントローラ101を介してEC102と通信を行う。
EC202は、端末装置1とドッキングステーション2とが接続されると、接続検出を要因とする割り込みの入力をType−C/PDコントローラ201から受ける。次に、EC202は、割込み要因及び要因に付随するデータをシリアル通信で確認し、端末装置1とドッキングステーション2との接続を把握する。次に、EC202は、割込みの解除をType−C/PDコントローラ201に指示する。さらに、EC202は、電力需給及び通信の設定の通知をType−C/PDコントローラ201から受ける。
次に、EC202は、リセットの実行を指示するリセット信号をType−C/PDコントローラ201へ出力する。その後、EC202は、10ms待機した後、USBハブ205及びBBコントローラ206を含む副系電源の電源オンを電源回路203に指示する。次に、EC202は、10ms待機した後、リセットの解除を指示するリセット信号をType−C/PDコントローラ201へ出力する。Type−C/PDコントローラ201のリセットを解除し再起動させて、EC202は、Type−C/PDコントローラ201の初期化を行う。その後、EC202は、10ms待機した後、主系電源の電源オンを電源回路203に指示する。ここで、EC202は、取得した電力需給の設定にしたがい電源回路203に対する電力供給の制御を行う。
また、EC202は、端末装置1がドッキングステーション2から抜去されると、抜去検出を要因とする割り込みの入力をType−C/PDコントローラ201から受ける。次に、EC202は、割込み要因及び要因に付随するデータをシリアル通信で確認し、端末装置1のドッキングステーション2からの抜去を把握する。次に、EC202は、割込みの解除をType−C/PDコントローラ201に指示する。さらに、EC202は、主系電源の電源オフ、並びに、USBハブ205及びBBコントローラ206を含む副系電源の電源オフを電源回路203に指示する。このEC202が、「電源制御部」の一例にあたる。
電源回路203は、ACコネクタ221にACアダプタ4が接続されており電源をACアダプタ4とする場合、ACアダプタ4から電力供給を受ける。また、端末装置1から電力供給を受ける場合、電源回路203は、Type−Cコネクタ204、Type−Cケーブル5及びType−Cコネクタ104を介して電源回路103から電力の供給を受ける。
電源回路203は、図4に示すように、EC202、ACコネクタ221と給電経路で接続される。また、電源回路203は、常時電源の給電経路231によりType−C/PDコントローラ201と接続される。電源回路203は、常時電源の給電経路231に対して常時電力供給を行い、Type−C/PDコントローラ201を常時電源オンの状態にする。また、電源回路203は、副系電源の給電経路232によりUSBハブ205に接続される。さらに、電源回路203は、BBコントローラ206に電力供給を行う。電源回路203は、副系電源の電源オンの指示をEC202から受けて、副系電源の給電経路232に対して電力供給を行う。また、電源回路203は、副系電源の電源オフの指示をEC202から受けて、副系電源の給電経路232に対する電力供給を停止する。また、電源回路203は、主系電源の給電経路233によりドッキングステーションシステム210と接続される。電源回路203は、主系電源の電源オンの指示をEC202から受けて、主系電源の給電経路233に対して電力供給を行う。また、電源回路203は、主系電源の電源オフの指示をEC202から受けて、主系電源の給電経路233に対する電力供給を停止する。
電源回路203は、電源から供給された電力を用いて作成した電源種を、例えば、Type−C/PDコントローラ201、EC202、USBハブ205、BBコントローラ206及びドッキングステーションシステム210へ供給する。また、端末装置1へ電力供給を行う場合、電源回路203は、Type−Cコネクタ204、Type−Cケーブル5及びType−Cコネクタ104を介して電源回路103へ作成した電源種を供給する。
USBハブ205は、図4に示すように、電源回路203と副系電源の給電経路232により接続される。USBハブ205及びBBコントローラ206は、電源回路203から電力供給を受け駆動する。
USBハブ205は、端末装置1とドッキングステーション2とが未接続の状態では、電力供給を受けない。また、USBハブ205は、端末装置1とドッキングステーション2とが接続された後、Type−C/PDコントローラ201がリセット状態で、電力の供給が開始される。また、端末装置1からドッキングステーション2が抜去された場合、USBハブ205は、電力の供給が停止される。
また、USBハブ205は、図3に示すように、BBコントローラ206及びUSB I/F213とバスで接続される。そして、USBハブ205は、BBコントローラ206から入力されたデータをUSB I/F213へ出力する。このUSBハブ205が、「中継部」の一例にあたる。
BBコントローラ206は、電源回路203から副系電源の給電経路232に供給された電力の供給を受ける。BBコントローラ206は、電源回路203から供給された電力により駆動する。
BBコントローラ206は、端末装置1とドッキングステーション2とが未接続の状態では、電力供給を受けない。また、BBコントローラ206は、端末装置1とドッキングステーション2とが接続された後、Type−C/PDコントローラ201がリセット状態で、電力の供給が開始される。また、端末装置1がドッキングステーション2から抜去された場合、BBコントローラ206は、電力の供給が停止される。
BBコントローラ206は、Type−C/PDコントローラ201の動作を監視する。そして、Type−C/PDコントローラ201からPower Delivery関連の通信エラーの通知を受けた場合、USBハブ205及びUSB I/F213を介して、最終的にCPU111へ出力する。このBBコントローラ206が、「管理部」の一例にあたる。
ドッキングステーションシステム210は、電源回路203から電力供給を受ける。そして、外部ディスプレイI/F211、LAN I/F212、USB I/F213を含むドッキングステーションシステム210の各部は、電源回路203にから供給される電力を用いて駆動する。
ここで、図5を参照して、端末装置1とドッキングステーション2とがType−Cケーブル5を介して接続されたときの制御をまとめて説明する。図5は、端末装置接続時の制御の流れを説明するための図である。本実施例では、図5に示すように、Type−C/PDコントローラ201とEC202とを接続するリセット信号経路上にFET(Field Effect Transistor)207が配置される。FET207は、EC202が出力した信号の値を反転させる回路である。この図5に示す各部の内、少なくともType−C/PDコントローラ201、EC202、USBハブ205、BBコントローラ206及び電源回路203が搭載された回路が、「電子回路」の一例にあたる。
電源回路203は、常時電源の給電経路231に対して常時電力供給を行う(ステップS1)。これにより、常時電源から電力供給が行われるType−C/PDコントローラ201及びEC202に対して、常時電力供給が行われる。この状態では、副系電源の給電経路232には電力が供給されておらず、USBハブ205及びBBコントローラ206には、電力が供給されていない。この電源回路203が、「電源管理部」の一例にあたる。
そして、端末装置1とドッキングステーション2とがType−Cケーブル5を介して接続されると、Type−C/PDコントローラ201は、Type−Cコネクタ204のConfiguration Channelから接続通知の信号の入力を受ける(ステップS2)。Type−C/PDコントローラ201は、接続通知の信号を受信すると、EC202に割り込みを行い、接続を通知する。
EC202は、接続を確認した後、Highの値を有するリセット信号をFET207へ出力する。EC202から出力されたHighの値を有するリセット信号は、FET207により反転されLowの値を有するリセット信号に変換され、Type−C/PDコントローラ201へ入力される(ステップS3)。Type−C/PDコントローラ201は、Lowの値を有するリセット信号の入力を受けて、リセット状態に遷移する。
次に、EC202は、電源回路203へ出力する副系電源の制御信号をHighの値に変更することで、副系電源の電源オンを電源回路203に指示する(ステップS4)。
電源回路203は、Highの値を有する副系電源の制御信号の入力を受けると、副系電源の給電経路232に電力供給を開始する(ステップS5)。これにより、USBハブ205及びBBコントローラ206に電力供給が開始され、USBハブ205及びBBコントローラ206が動作を開始する。
USBハブ205及びBBコントローラ206への電力供給が開始された後、EC202は、Lowの値を有するリセット信号をFET207へ出力する。EC202から出力されたLowの値を有するリセット信号は、FET207により反転されHighの値を有するリセット信号に変換され、Type−C/PDコントローラ201へ入力される(ステップS6)。Type−C/PDコントローラ201は、Highの値を有するリセット信号の入力を受けて、リセット状態を解除し起動を開始する。
そして、EC202は、起動を開始したType−C/PDコントローラ201の初期設定を実行する(ステップS7)。
EC202は、Type−C/PDコントローラ201の初期化完了後、電源回路203へ出力する主系電源の制御信号をHighの値に変更することで、主系電源の電源オンを電源回路203に指示する(ステップS8)。電源回路203は、Highの値を有する主系電源の制御信号の入力を受けると、主系電源の給電経路233に電力供給を開始する。
このように、図5の一点鎖線で囲われた常時電源により電力が供給されるType−C/PDコントローラ201及びEC202には、端末装置1の接続状態に関わらず、常に電力供給が行われる。これに対して、破線で囲われた副系電源により電力が供給されるUSBハブ205及びBBコントローラ206には、端末装置1が接続された場合に電力供給が行われる。さらに、BBコントローラ206の動作開始後、Type−C/PDコントローラ201を再起動することで、Type−C/PDコントローラ201のPDステータスとBBコントローラ206のPDステータスとを一致させることができる。
ここで、図6を参照して、端末装置1をドッキングステーション2に接続する場合の各制御信号の入力タイミングについてまとめて説明する。図6は、端末装置接続時の各制御信号のタイミングチャートである。グラフ301は、EC202が出力するリセット信号を表す。具体的には、リセット信号は、値がHighの場合はリセットを指示する信号であり、Lowの場合はリセット解除を指示する信号である。グラフ302は、副系電源の制御信号を表す。グラフ303は、主系電源の制御信号を表す。
ここでは、時刻T1で、端末装置1がドッキングステーション2に接続される。Type−C/PDコントローラ201は、端末装置1の接続を検出すると、割り込みをEC202へ出力する。EC202は、割り込みの入力を受け、グラフ301に示すように、時刻T2で、Type−C/PDコントローラ201へ向けてHighの値のリセット信号を出力する。上述したように、Highの値のリセット信号は反転されLowの値を有するリセット信号としてType−C/PDコントローラ201へ入力され、Type−C/PDコントローラ201は時刻T2でリセット状態に遷移する。
その後、グラフ302に示すように、EC202は、時刻T2から10msが経過した時刻T3で、副系電源の制御信号をHighの値に変更する。これにより、電源回路203から副系電源の給電経路232に電力供給が行われ、時刻T3で、BBコントローラ206が動作を開始する。
その後、グラフ301に示すように、EC202は、時刻T3から10msが経過した時刻T4で、リセット信号の値をLowに変更する。上述したように、Lowの値のリセット信号は反転されHighの値を有するリセット信号としてType−C/PDコントローラ201へ入力され、Type−C/PDコントローラ201は時刻T4でリセットが解除される。そして、Type−C/PDコントローラ201の再起動が開始し、初期化が実施される。
ここで、本実施例では、EC202は、Type−C/PDコントローラ201をリセットしてから10ms後にUSBハブ205及びBBコントローラ206の電源をオンにしたが、待機時間はこれに限らない。EC202は、Type−C/PDコントローラ201がリセット状態に遷移した後であれば、いつでもUSBハブ205及びBBコントローラ206の電源をオンにしてよい。また、本実施例では、EC202は、USBハブ205及びBBコントローラ206の電源をオンにしてから10ms後にType−C/PDコントローラ201のリセットを解除したが、待機時間はこれに限らない。EC202は、USBハブ205及びBBコントローラ206が動作開始した後に一定の時間が経過していれば、いつでもType−C/PDコントローラ201のリセットを解除してよい。
その後、グラフ303に示すように、EC202は、時刻T4から10msが経過した時刻T5で、主系電源の制御信号をHighの値に変更する。これにより、電源回路203から主系電源の給電経路233に電力供給が行われ、時刻T5で、ドッキングステーションシステム210が動作を開始する。
次に、図7を参照して、端末装置1のドッキングステーション2への接続時のType−C/PDコントローラ201及びEC202による処理の流れを説明する。図7は、端末装置接続時のType−C/PDコントローラ及びECの動作のシーケンス図である。
Type−C/PDコントローラ201は、端末装置1とドッキングステーション2とがType−Cケーブル5を介して接続されたことを検出する(ステップS101)。
次に、Type−C/PDコントローラ201は、接続検出を要因とする割り込みをEC202へ出力する(ステップS102)。EC202は、接続検出を要因とする割り込みの入力をType−C/PDコントローラ201から受ける(ステップS103)。
次に、EC202は、割込み要因を確認し、端末装置1とドッキングステーション2とが接続されたことを把握する(ステップS104)。
次に、EC202は、割り込み解除をType−C/PDコントローラ201に指示する(ステップS105)。Type−C/PDコントローラ201は、割り込み解除の指示をEC202から受けて、割り込みを解除する(ステップS106)。
次に、EC202は、リセットの実行を指示するリセット信号をType−C/PDコントローラ201へ送信し、リセットを開始させる(ステップS107)。
Type−C/PDコントローラ201は、リセットの実行を指示するリセット信号の入力を受けてリセット状態に遷移する(ステップS108)。
EC202は、リセット信号を送信してから10ms待機する(ステップS109)。その後、EC202は、副系電源をオンするように電源回路203を制御し、USBハブ205及びBBコントローラ206の電源をオンにする(ステップS110)。
EC202は、USBハブ205及びBBコントローラ206の電源をオンにしてから10ms待機する(ステップS111)。その後、EC202は、リセットの解除を指示するリセット信号をType−C/PDコントローラ201へ送信し、リセットを解除させる(ステップS112)。
Type−C/PDコントローラ201は、リセットの解除を指示するリセット信号の入力を受けてリセットを解除し動作を開始する(ステップS113)。
EC202は、Type−C/PDコントローラ201を初期化する(ステップS114)。Type−C/PDコントローラ201は、EC202からの制御を受け、初期化を完了する(ステップS115)。
その後、Type−C/PDコントローラ201は、USB Tyep−C接続処理を実行する(ステップS116)。
一方、EC202は、Type−C/PDコントローラ201を初期化してから10ms待機する(ステップS117)。その後、EC202は、電源回路203を制御し主系電源をオンにする(ステップS118)。
次に、図8を参照して、Type−Cケーブル5を外して端末装置1とドッキングステーション2との接続を解除した時のType−C/PDコントローラ201及びEC202による処理の流れを説明する。図8は、端末装置抜去時のType−C/PDコントローラ及びECの動作のシーケンス図である。
Type−C/PDコントローラ201は、端末装置1とドッキングステーション2との接続が解除されたことを検出する(ステップS201)。
次に、Type−C/PDコントローラ201は、抜去検出を要因とする割り込みをEC202へ出力する(ステップS202)。EC202は、抜去検出を要因とする割り込みの入力をType−C/PDコントローラ201から受ける(ステップS203)。
次に、EC202は、割込み要因を確認し、端末装置1がドッキングステーション2から抜去されたことを把握する(ステップS204)。
次に、EC202は、割り込み解除をType−C/PDコントローラ201に指示する(ステップS205)。Type−C/PDコントローラ201は、割り込み解除の指示をEC202から受けて、割り込みを解除する(ステップS206)。
その後、EC202は、副系電源を電源オフするように電源回路203を制御し、USBハブ205及びBBコントローラ206の電源をオフにする(ステップS207)。
ここで、本実施例では、端末装置1の接続時にBBコントローラ206に通電する際に、Type−C/PDコントローラ201をリセットして再起動を行った。ただし、BBコントローラ206の動作後にType−C/PDコントローラ201を再起動できれば他の方法でもよい。例えば、Type−C/PDコントローラ201の給電経路上にスイッチを設け、端末装置1の接続後にスイッチをオフにして、Type−C/PDコントローラ201を停止させる。その後、BBコントローラ206に給電を開始した後に、スイッチをオンにしてType−C/PDコントローラ201を再起動させてもよい。
以上に説明したように、本実施例に係るドッキングステーションは、端末装置が接続されていない場合、USBハブ及びBBコントローラの電源をオフにし、端末装置が接続されると、USBハブ及びBBコントローラの電源をオンにする。そして、本実施例に係るドッキングステーションは、端末装置の接続後、BBコントローラの電源がオンになった後に、Type−C/PDコントローラを再起動させる。これにより、USBハブ及びBBコントローラへの無駄な電力供給を省くことができ消費電力を抑えることができるとともに、Type−C/PDコントローラのPDステータスとBBコントローラのPDステータスを一致させることができる。すなわち、本実施例に係るドッキングステーションは、PD規格に準拠しつつ、消費電力を低減させることができる。
次に、実施例2について説明する。本実施例に係るドッキングステーション2は、端末装置1の消費電力の状態に応じてUSBハブ205及びBBコントローラ206の電源をオンにするか否かを判定することが実施例1と異なる。以下では、端末装置1の消費電力の状態に応じたUSBハブ205及びBBコントローラ206の電源の制御について主に説明する。以下の説明では、実施例1と同じ各部の動作については説明を省略する。
本実施例に香係る、EC102は、外部回路によりACPI(Advanced Configuration and Power Interface)ステートを判断する。ACPIステートとは、システムの動作状態を表す情報である。また、EC102は、端末装置1のACPIステートをEC202へ送信する。
ここで、本実施例における端末装置1及びドッキングステーション2は、ACPIステートとして図9に示す各ステートを有する。図9は、ACPIステートを説明するための図である。図9では、端末装置1の状態を例にACPIステートが記載されている。
S0は、端末装置1の動作時の状態であり、端末装置1の動作に使用する全ての電源が入っている状態である。S0以外のステートにある端末装置1は、CPU111などを駆動させる場合S0に遷移する。
S3は、スリープ状態であり、端末装置1の状態は主記憶装置(RAM112)に記憶されており、主記憶装置に電源が供給されている状態である。
S4は、休止状態であり、端末装置1の状態は補助記憶装置(記憶媒体113)に記憶されており、補助記憶装置などに電源が供給されている状態である。
S5は、シャットダウン状態であり、且つ、システム復帰要因となる一部デバイス(LANなど)と常時電源を用いるデバイス(Type−C/PDコントローラ101やEC102など)を除いてほぼすべてのデバイスの電源が切れている状態である。
G3は、シャットダウン状態であり、且つ、常時電源を用いるデバイス(Type−C/PDコントローラ101やEC102など)を除いてほぼ全てのデバイスの電源が切れている状態である。
すなわち、ACPIステートがS4、S5又はG3の場合、端末装置1は、小消費電力状態である。ACPIステートがS3の場合、端末装置1は小消費電力であるものの、一部のUSBデバイスでは電力を要求する可能性がある状態である。また、ACPIステートがS0の場合、端末装置1は、通常の電力消費状態である。
EC102は、端末装置1がドッキングステーション2に接続され割り込みの入力を受けると、割込み要因及び要因に付随するデータをシリアル通信で確認した後、割り込み解除をType−C/PDコントローラ101に指示し、端末装置1のACPIステートをドッキングステーション2のEC202へ通知する。
さらに、EC102は、端末装置1のACPIステートに変更があった場合、端末装置1のACPIステートをドッキングステーション2のEC202へ通知する。
ここで、端末装置1とドッキングステーション2との間のACPIステートの通知は具体的には以下のように行われる。EC102は、端末装置1のACPIステートを監視し、ACPIステートに変化があった場合、自己が有するメモリに格納された端末装置1のステート情報を新しいステートに書き換える。さらに、EC102は、Type−C/PDコントローラ101、Type−Cケーブル5及びType−C/PDコントローラ201を介してドッキングステーション2のEC202が保持する端末装置1のACPIステート情報を新しいステートへ書き換える。このEC102によるACPIステートの取得及び通知は、端末装置1のドッキングステーション2への接続時も同様である。また、EC102は、ドッキングステーション2のステート情報の読出要求を定期的にEC202へ送信する。その後、EC102は、EC202から送信されたドッキングステーション2のステート情報を取得し、自己が有するメモリに格納されたドッキングステーション2のステート情報を取得したステートに書き換える。
ドッキングステーション2のEC202は、端末装置1がドッキングステーション2に接続されたときに、端末装置1のACPIステートをEC102から取得する。そして、EC202は、Type−C/PDコントローラ201のリセットを開始させた後、端末装置1のACPIステートを判定する。
端末装置1のACPIステートがS0又はS3の場合、すなわち端末装置1が通常の消費電力状態の場合、EC202は、10ms待機した後、USBハブ205及びBBコントローラ206の電源をオンにする。さらに、10ms待機した後、EC202は、Type−C/PDコントローラ201のリセットを解除し再起動させて初期化する。その後、10ms待機した後、EC202は、電源回路203を制御して主系電源をオンにする。
これに対して、端末装置1のACPIステートがS4、S5又はG3の場合、すなわち端末装置1が小消費電力状態の場合、EC202は、状態を維持する。すなわち、EC202は、USBハブ205及びBBコントローラ206の電源をオンにせず、且つType−C/PDコントローラ201のリセットの解除も行わない。そして、EC202は、端末装置1のACPIステートがS0に変化するか、端末装置1との接続が解除されるまでその状態で待機する。
端末装置1のACPIステートがS0に変化した場合、EC202は、USBハブ205及びBBコントローラ206の電源をオンにする。さらに、10ms待機した後、EC202は、Type−C/PDコントローラ201のリセットを解除し再起動させて初期化する。その後、10ms待機した後、EC202は、電源回路203を制御して主系電源をオンにする。この端末装置1のACPIステートがS0又はS3に変化した場合の処理を、以下では「ACPI変化時処理」という場合がある。
一方、端末装置1との接続が解除された場合、EC202は、抜去検出を要因とする割り込みの入力をType−C/PDコントローラ201から受ける。次に、EC202は、割込み要因を確認し、端末装置1のドッキングステーション2からの抜去を把握する。次に、EC202は、割込みの解除をType−C/PDコントローラ201に指示する。さらに、EC202は、主系電源の電源オフ、並びに、USBハブ205及びBBコントローラ206を含む副系電源の電源オフを電源回路203に指示する。この端末装置1が抜去された場合の処理を、以下では「ACPI抜去時処理」という場合がある。
次に、図10を参照して、端末装置1をドッキングステーション2に接続した場合の端末装置1及びドッキングステーション2の処理の流れを説明する。図10は、端末装置接続時の端末装置及びドッキングステーションの処理のシーケンス図である。
Type−C/PDコントローラ201は、端末装置1がType−Cケーブル5を介してドッキングステーション2に接続されたことを検出する(ステップS301)。同様に、Type−C/PDコントローラ101は、端末装置1がType−Cケーブル5を介してドッキングステーション2に接続されたことを検出する(ステップS302)。
次に、Type−C/PDコントローラ201は、接続検出を要因とする割り込みをEC202へ出力する(ステップS303)。同様に、Type−C/PDコントローラ101は、接続検出を要因とする割り込みをEC102へ出力する(ステップS304)。
EC202は、接続検出を要因とする割り込みの入力をType−C/PDコントローラ201から受ける(ステップS305)。同様に、EC202は、接続検出を要因とする割り込みの入力をType−C/PDコントローラ101から受ける(ステップS306)。
次に、EC202は、割込み要因を確認し、端末装置1がドッキングステーション2に接続されたことを把握する(ステップS307)。同様に、EC102は、割込み要因を確認し、端末装置1がドッキングステーション2に接続されたことを把握する(ステップS308)。
次に、EC202は、割り込み解除をType−C/PDコントローラ201に指示する(ステップS309)。同様に、EC102は、割り込み解除をType−C/PDコントローラ101に指示する(ステップS310)。
Type−C/PDコントローラ201は、割り込み解除の指示をEC202から受けて、割り込みを解除する(ステップS311)。同様に、Type−C/PDコントローラ101は、割り込み解除の指示をEC102から受けて、割り込みを解除する(ステップS312)。
そして、EC102は、端末装置1のACPIステート情報をEC202へ送信する(ステップS313)。EC202は、端末装置1のACPIステート情報をEC102から取得する(ステップS314)。
次に、EC202は、リセットの実行を指示するリセット信号をType−C/PDコントローラ201へ送信し、リセットを開始させる(ステップS315)。
Type−C/PDコントローラ201は、リセットの実行を指示するリセット信号の入力を受けてリセット状態に遷移する(ステップS316)。Type−C/PDコントローラ101は、Type−C/PDコントローラ201がリセット状態に遷移したことにより、Type−C/PDコントローラ201の喪失を検出する(ステップS317)。この場合、Type−C/PDコントローラ101は、未接続状態と判定する。
そして、EC202は、端末装置1のACPIステートがS0又はS3か否かを判定する(ステップS318)。ACPIステートがS4、S5又はG3の場合(ステップS318:否定)、EC202は、その状態を維持したまま、端末装置1のACPIステートがS0又はS3に変化するか、端末装置1が抜去されるかを待つ。その後、端末装置1の動作に応じて、EC202は、抜去時処理又はACPI変化時処理を行う(ステップS319)。Type−C/PDコントローラ201は、EC202の動作に応じて処理を行う。
これに対して、ACPIステートがS0又はS3の場合(ステップS318:肯定)、EC202は、10ms待機する(ステップS320)。その後、EC202は、副系電源がオンになるように電源回路203を制御し、USBハブ205及びBBコントローラ206の電源をオンにする(ステップS321)。
EC202は、USBハブ205及びBBコントローラ206の電源をオンにしてから10ms待機する(ステップS322)。その後、EC202は、リセットの解除を指示するリセット信号をType−C/PDコントローラ201へ送信し、リセットを解除させる(ステップS323)。
Type−C/PDコントローラ201は、リセットの解除を指示するリセット信号の入力を受けてリセットを解除し動作を開始する(ステップS324)。
EC202は、Type−C/PDコントローラ201を初期化する(ステップS325)。Type−C/PDコントローラ201は、EC202からの制御を受け、初期化を完了する(ステップS326)。Type−C/PDコントローラ201が再起動することで、Type−C/PDコントローラ101は、Type−C/PDコントローラ201を再認識する(ステップS327)。
一方、EC202は、Type−C/PDコントローラ201を初期化してから10ms待機する(ステップS328)。その後、EC202は、電源回路203を制御し主系電源をオンにする(ステップS329)。
Type−C/PDコントローラ201及び101は、USB Tyep−C接続処理を実行する(ステップS330及びS331)。
次に、図11を参照して、接続時に端末装置1のACPIステートがS4、S5又はG3からS0に遷移した場合の処理の流れについて説明する。図11は、接続時に端末装置のACPIステートがS4、S5又はG3からS0に遷移した場合の処理のシーケンス図である。このシーケンス図におけるEC202の処理が、図10におけるステップS319でのEC202のACPI変化時処理にあたる。
この場合、Type−C/PDコントローラ201は、リセット状態である(ステップS401)。また、Type−C/PDコントローラ101は、Type−C/PDコントローラ201の喪失を検出した状態である(ステップS402)。
EC102は、端末装置1のACPIステートがS0へ変化したことを検出する(ステップS403)。
EC102は、端末装置1のACPIステート情報としてS0をEC202へ送信する(ステップS404)。EC202は、端末装置1のACPIステート情報としてS0をEC102から受信する(ステップS405)。
EC202は、副系電源が電源オンになるように電源回路203を制御し、USBハブ205及びBBコントローラ206の電源をオンにする(ステップS406)。
EC202は、USBハブ205及びBBコントローラ206の電源をオンにしてから10ms待機する(ステップS407)。その後、EC202は、リセットの解除を指示するリセット信号をType−C/PDコントローラ201へ送信し、リセットを解除させる(ステップS408)。
Type−C/PDコントローラ201は、リセットの解除を指示するリセット信号の入力を受けてリセットを解除し動作を開始する(ステップS409)。
EC202は、Type−C/PDコントローラ201を初期化する(ステップS410)。Type−C/PDコントローラ201は、EC202からの制御を受け、初期化を完了する(ステップS411)。Type−C/PDコントローラ201が再起動することで、Type−C/PDコントローラ101は、Type−C/PDコントローラ201を再認識する(ステップS412)。
一方、EC202は、Type−C/PDコントローラ201を初期化してから10ms待機する(ステップS413)。その後、EC202は、電源回路203を制御し主系電源をオンにする(ステップS414)。
Type−C/PDコントローラ201及び101は、USB Tyep−C接続処理を実行する(ステップS415及びS416)。
以上に説明したように、本実施例に係るドッキングステーションは、端末装置が接続されても、端末装置のACPIステートがS4、S5又はG3であれば、USBハブ及びBBコントローラの電源をオンにしない。これは、端末装置のACPIステートがS4、S5又はG3であれば、端末装置はUSBの機能を用いないため、USBハブ及びBBコントローラの電源を投入しなくてもよいからである。そして、端末装置のACPIステートがS0に変化した場合に、USBハブ及びBBコントローラの電源をオンにしてから、Type−C/PDコントローラのリセットを解除し再起動する。これにより、BBコントローラのPDステータスとType−C/PDコントローラのPDステータスとを一致させることができる。したがって、本実施例に係るドッキングステーションは、より消費電力の低減を図ることができる。
さらに、図12を参照して、各実施例に係るType−C/PDコントローラ201、USBハブ205及びBBコントローラ206の配置について説明する。図12は、Type−C/PDコントローラ、USBハブ及びBBコントローラの配置の一例を表す図である。
図12に示すように、上述した各実施例に係るUSBハブ205及びBBコントローラ206は、1つのチップ401に搭載される。そして、Type−C/PDコントローラ201は、チップ401とは異なるチップに搭載される。そして、チップ401は副系電源により電力供給が行われる。また、Type−C/PDコントローラ201には常時電源により電力供給が行われる。この場合、各実施例で説明したように、USBハブ205及びBBコントローラ206への電源を常時電源とは別にオンオフすることができ、USBハブ205及びBBコントローラ206による消費電力を軽減することができる。ただし、図12の構成以外でも、省電力を実現することは可能である。そこで、以下に変形例としてType−C/PDコントローラ201、USBハブ205及びBBコントローラ206の他の配置について説明する。
(変形例)
図13は、Type−C/PDコントローラ、USBハブ及びBBコントローラを1つのチップ上に搭載させた場合の構成を示す図である。この場合、図13に示すように、1つのチップ402に、Type−C/PDコントローラ201、USBハブ205及びBBコントローラ206全てが搭載される。ただし、この場合には1つのチップ402に対して、異なる系統の電源が割り当てられる。すなわち、チップ402上のUSBハブ205及びBBコントローラ206に対しては、副系電源により電力が供給される。また、チップ402上のType−C/PDコントローラ201には、常時電源により電力が供給される。このように構成することで、USBハブ205及びBBコントローラ206への電源を常時電源とは別にオンオフすることができ、USBハブ205及びBBコントローラ206による消費電力を軽減することができる。このチップ402が、「集積回路」の一例にあたる。
図14は、Type−C/PDコントローラ及びUSBハブを1つのチップ上に搭載させた場合の構成を示す図である。この場合、図14に示すように、1つのチップ403に、Type−C/PDコントローラ201及びUSBハブ205が搭載される。この場合も、1つのチップ403に対して異なる系統の電源を割り当てれば、USBハブ205及びBBコントローラ206による消費電力を軽減することができる。
ただし、チップ3403に対して1つの電源から電力供給が行われる構成としても、省電力の効果は得られる。この場合、チップ403にはType−C/PDコントローラ201が搭載されているので、常時電源からの電力供給を受ける。そのため、USBハブ205は、常時電源からの電力供給を受ける。一方、BBコントローラ206は、副系電源から電力供給を受けることができる。この場合、BBコントローラ206に対する電源を常時電源とは別にオンオフすることができ、BBコントローラ206による消費電力を軽減することができる。
図15は、Type−C/PDコントローラ及びBBコントローラを1つのチップ上に搭載させた場合の構成を示す図である。この場合、図15に示すように、1つのチップ404に、Type−C/PDコントローラ201及びBBコントローラ206が搭載される。この場合も、1つのチップ404に対して異なる系統の電源を割り当てれば、USBハブ205及びBBコントローラ206による消費電力を軽減することができる。
ただし、チップ404に対して1つの電源から電力供給が行われる構成としても、省電力の効果は得られる。この場合、チップ404にはType−C/PDコントローラ201が搭載されているので、常時電源からの電力供給を受ける。そのため、BBコントローラ206は、常時電源からの電力供給を受ける。一方、USBハブ205は、副系電源から電力供給を受けることができる。この場合、USBハブ205に対する電源を常時電源とは別にオンオフすることができ、USBハブ205による消費電力を軽減することができる。
以上に説明した、Type−C/PDコントローラ101及び201、並びに、EC102及び202は、プロセッサなどの演算処理部及びメモリなどの記憶部を有する。そして、Type−C/PDコントローラ101が有するメモリに上述したType−C/PDコントローラ101の機能を実現するプログラムを含む各種プログラムが格納される。そして、Type−C/PDコントローラ101が有するプロセッサが、Type−C/PDコントローラ101が有するメモリから各種プログラムを読み出し実行することで、Type−C/PDコントローラ101の機能を実現する。また、EC102が有するメモリに上述したEC102の機能を実現するプログラムを含む各種プログラムが格納される。そして、EC102が有するプロセッサが、EC102が有するメモリから各種プログラムを読み出し実行することで、EC102の機能を実現する。
また、Type−C/PDコントローラ201が有するメモリに上述したType−C/PDコントローラ201の機能を実現するプログラムを含む各種プログラムが格納される。そして、Type−C/PDコントローラ201が有するプロセッサが、Type−C/PDコントローラ201が有するメモリから各種プログラムを読み出し実行することで、Type−C/PDコントローラ201の機能を実現する。また、EC202が有するメモリに上述したEC202の機能を実現するプログラムを含む各種プログラムが格納される。そして、EC202が有するプロセッサが、EC202が有するメモリから各種プログラムを読み出し実行することで、EC202の機能を実現する。
なお、Type−C/PDコントローラ101及び201、並びに、EC102及び202の機能を実現するためのプログラムについては、必ずしも、上述のように最初から各部が有するメモリに記憶させておかなくてもよい。例えば、端末装置1の記憶媒体113やドッキングステーション2のUSB I/F213に接続されるデータ読取装置に挿入されるフレキシブルディスクに各プログラムを記憶させる。具体的には、いわゆるCD(Compact Disc)、DVD(Digital Versatile Disc)ディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムが記憶される。そして、Type−C/PDコントローラ101及び201、並びに、EC102及び202がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。