【実施例1】
【0018】
図1は、実施例に係る電子システムの構成を説明するための図である。
図1に示すように本実施例に係る情報処理システム3は、端末装置1及びドッキングステーション2を有する。この端末装置1が、「情報処理装置」の一例にあたる。また、ドッキングステーション2が、「機能拡張装置」の一例にあたる。
【0019】
端末装置1とドッキングステーション2とは接続可能である。そして、端末装置1とドッキングステーション2とを接続すると情報処理システム3となる。情報処理システム3の場合、端末装置1は、ドッキングステーション2の機能を使用することができる。
【0020】
次に、
図2を参照して、本実施例に係る情報処理システム3の詳細について説明する。
図2は、実施例1に係る端末装置及びドッキングステーションのブロック図である。
【0021】
本実施例に係る端末装置1とドッキングステーション2とは、Type−Cコネクタ30によって接続される。
図2では、Type−Cコネクタ30を1つの機能部として記載したが、実際には、Type−Cコネクタ30は、端末装置1側のコネクタ及びドッキングステーション2側のコネクタを有する。そして、端末装置1側のコネクタとドッキングステーション2側のコネクタとが嵌合することで端末装置1がドッキングステーション2に接続される。
【0022】
Type−Cコネクタ30は、Type−C/UPDの規格に準拠する。Type−Cコネクタ30は、USB信号及びGPIO信号による通信を中継する。Type−Cコネクタ30は、専用信号線であるCC(Configuration Channel)及びUSB信号を伝送する信号線を有する。このType−Cコネクタ30のドッキングステーション2側が、「接続部」の一例にあたる。
【0023】
図2に示すように、端末装置1は、Mux(Multiplex)11、CPU12、EC13、PDコントローラ14、電源スイッチ回路15、電源回路16、バッテリ17及びACアダプタコネクタ18を有する。この端末装置1が、「情報処理装置」の一例にあたる。
【0024】
バッテリ17は、補助電源である。バッテリ17は、自己が蓄えた電力を電源回路16へ出力する。
【0025】
ACアダプタコネクタ18は、ACアダプタが接続される。ACアダプタが接続された状態で、ACアダプタコネクタ18は、商用電源からの電力の供給をACアダプタから受ける。そして、ACアダプタコネクタ18は、供給された電力を電源回路16へ出力する。
【0026】
電源回路16は、ACアダプタコネクタ18にACアダプタが接続されており電源をACアダプタとする場合、ACアダプタから電力供給を受ける。また、電源をバッテリ17とする場合、電源回路16は、バッテリ17から電力の供給を受ける。また、ドッキングステーション2から電力供給を受ける場合、電源回路16は、Type−Cコネクタ30を介して電源回路28から電力の供給を受ける。
【0027】
電源回路16は、PDコントローラ14からの指示を受けて、電源から供給された電力を用いて作成した電源種を、例えば、CPU12、Mux11、EC13及びPDコントローラ14へ供給する。ここで、
図2では、電力供給経路として電源スイッチ回路15を介してCPU12へ繋がる経路を一例として記載したが、実際には、電源回路16から各部に電力供給経路が延びている。また、
図2に示す電源回路16からの電力の供給先は一例であり、電源回路16は、端末装置1における電気使用する各部に電力の供給を行う。また、ドッキングステーション2へ電力供給を行う場合、電源回路16は、Type−Cコネクタ30を介して電源回路28へ作成した電源種を供給する。電源回路16は、EC13及びPDコントローラ14には、端末装置1の電源状態にかかわらず常に電力を供給する。
【0028】
ここで、端末装置1の電源状態について説明する。端末装置1の電源状態には、シャットダウン状態、休止状態、スリープ状態及び起動状態がある。
【0029】
シャットダウン状態には以下の2つの状態がある。1つの状態は、端末装置1は、システム復帰要因となる一部デバイス及びEC13及びPDコントローラ14などの常時電源を用いるデバイスを除いてほぼすべてのデバイスの電源が切れている状態である。もう1つの状態は、EC13及びPDコントローラ14などの常時電源を用いるデバイスを除いてほぼ全てのデバイスの電源が切れている状態である。また、休止状態とは、端末装置1の状態がハードディスクなどの補助記憶装置(不図示)に記憶されており、補助記憶装置などに電源が供給されている状態である。シャットダウン状態及び休止状態の場合、電源スイッチ回路15が有する電源ボタン150チはオフの状態であり、CPU12には電力の供給が行われない。
【0030】
スリープ状態は、端末装置1の状態がRAM(Random Access Memory)などの主記憶装置(不図示)に記憶されており、主記憶装置及びCPU12に電源が供給されている状態である。起動状態は、端末装置1の動作に使用する全ての電源が入っている状態である。スリープ状態及び起動状態の場合、CPU12への電力供給が行われる。
【0031】
電源スイッチ回路15は、CPU12への電力供給経路の接続及び切断を行う電源ボタン150を有する。端末装置1がスリープ状態及び起動状態の場合、電源ボタン150は、オンであり、CPU12に対して電力供給経路を接続する。また、端末装置1がシャットダウン状態及び休止状態の場合、電源ボタン150はオフであり、CPU12への電力供給経路を切断する。さらに、端末装置1がシャットダウン状態及び休止状態で遠隔起動が行われる場合、電源スイッチ回路15は、電源ボタンオン信号の入力をEC13から受けて電源ボタン150をオンに切り替える。また、ここでは特にCPU12への電力供給について説明したが、遠隔起動が行われる場合、起動に用いられる各部に対しても電力の供給が行われる。
【0032】
図3は、実施例1で用いられる各種信号の一例を表す図である。電源ボタンオン信号は、
図3に示すように、EC13から電源スイッチ回路15へ送信される電源ボタン150を制御する信号である。そして、例えば、電源ボタンオン信号は、Highレベルの場合、電源ボタン150の押下を電源スイッチ回路15に指示する。また、電源ボタンオン信号は、Lowレベルの場合、電源ボタン150の未押下を電源スイッチ回路15に指示する。すなわち、シャットダウン状態及び休止状態の場合、電源スイッチ回路15は、Lowレベルの電源ボタンオン信号の入力をEC13から受ける。そして、遠隔起動が行われると、電源スイッチ回路15は、Highレベルの電源ボタンオン信号の入力をEC13から受け、電源ボタン150をオン状態にする。
【0033】
Mux11は、Type−Cコネクタ30の挿入方向を表す接続状態の入力をPDコントローラ14から受ける。そして、Mux11は、Type−Cコネクタ30を介してUSBハブ21からCPU12へUSB信号を送信する経路と、CPU12からType−Cコネクタ30を介してUSBハブ21へUSB信号を送信する経路とを決定する。
【0034】
USBハブ21により出力されたUSB信号は、Mux11によりType−Cコネクタ30を介してUSBハブ21からCPU12へUSB信号を送信する経路として決定された経路を用いてCPU12へ送信される。
【0035】
例えば、ドッキングステーション2からの端末装置1に対する起動用のUSB信号は、Mux11によりType−Cコネクタ30を介してUSBハブ21からCPU12へUSB信号を送信する経路として選択された経路を用いてCPU12へ送信される。ここで、ドッキングステーション2がUSB信号を用いて端末装置1に対して起動命令を送信する場合とは、言い換えれば、ドッキングステーション2がUSB信号を用いて端末装置1に対して遠隔起動を行う場合である。
【0036】
また、CPU12により出力されたUSB信号は、Mux11によりCPU12からType−Cコネクタ30を介してUSBハブ21へUSB信号を送信する経路として選択された経路を用いてType−Cコネクタ30を介してUSBハブ21へ出力される。
【0037】
CPU12は、端末装置1の演算処理部である。CPU12は、電源スイッチ回路15が有する電源ボタン150がオンの場合、電源回路16を介してバッテリ17又はACアダプタコネクタ18から電力供給を受ける。CPU12は、電源スイッチ回路15が有する電源ボタン150がオフの場合、電力の供給を受けない。CPU12は、バッテリ17又はACアダプタコネクタ18から供給された電力により動作する。
【0038】
CPU12は、端末装置1がスリープ状態であれば、Mux11により選択されたType−Cコネクタ30を介してUSBハブ21からCPU12へUSB信号を送信する経路を経由したUSBハブ21から出力された起動用のUSB信号の入力を受ける。この場合、USBハブ21から出力されたUSB信号は、Type−Cコネクタ30のUSB信号用の信号線を経由してCPU12へ送信される。起動用のUSB信号の入力を受けると、CPU12は、起動を開始し、端末装置1を起動させる。
【0039】
これに対して、端末装置1がシャットダウン状態又は休止状態の場合、CPU12に電力供給が行われていないため、CPU12は、USB信号による起動が困難である。そこで、端末装置1がシャットダウン状態又は休止状態の場合、CPU12は、後述するようにEC13により電源ボタン150がオンにされた後に、起動起因信号の入力をEC13から受ける。起動起因信号の入力を受けると、CPU12は、起動を開始し、端末装置1を起動させる。
【0040】
また、CPU12は、端末装置1の電源状態が変化すると、端末装置1の電源状態をEC13に通知する。CPU12は、例えば、GPIO信号を用いてEC13と通信を行う。さらに、CPU12は、操作者からジャンパスイッチなどにより遠隔起動の有効無効を示す情報の入力を受ける。そして、CPU12は、遠隔起動の有効無効を通知する遠隔起動設定信号をEC13へ出力する。
【0041】
遠隔起動設定信号は、
図3に示すように、CPU12からEC13へ送信される、端末装置1の遠隔起動設定を有効にするか無効にするかを通知する信号である。例えば、遠隔起動設定信号は、Highレベルの場合、端末装置1の遠隔起動設定が有効であることを表す。また、遠隔起動設定信号は、Lowレベルの場合、端末装置1の遠隔起動設定が無効であることを表す。すなわち、遠隔起動設定が有効であれば、CPU12は、Highレベルの遠隔起動設定信号をEC13へ入力する。遠隔起動設定が無効であれば、CPU12は、Lowレベルの遠隔起動設定信号をEC13へ入力する。
【0042】
EC13は、端末装置1とドッキングステーション2との接続時に接続検出を要因とする割り込みの入力をPDコントローラ14から受ける。そして、EC13は、シリアル通信などにより割り込み要因の特定と付随するデータをPDコントローラ14から取得する。シリアル通信は、例えば、I2C(Inter-Integrated Circuit)である。そして、EC13は、割り込みの解除通知をPDコントローラ14へ出力する。
【0043】
また、EC13は、端末装置1の電源状態が変化した場合、端末装置1の電源状態の通知をCPU12から受ける。そして、EC13は、取得した端末装置1の電源状態を記憶する。
【0044】
さらに、EC13は、VDM信号における電源状態ビットに端末装置1の電源状態を表す値を設定して、PDコントローラ14にVDM信号の送信を指示する。ここで、VDM信号について
図4を参照して説明する。
図4は、VDM信号のフォーマットの一部を表す図である。VDM信号は、Type−Cコネクタ30を介して専用信号線であるCCを用いたCC通信で使用する信号である。VDM信号は、UPDの仕様により定義されており、StructuredVDM及びUnstructuredVDMという2つの領域を有する。StructuredVDMには、電力供給方向、信号の送信方向、SuccessやNACK(Negative Acknowledgement)などの信号種別及びデータ量などが格納される。また、UnstructuredVDMは、未定義の領域であり、7バイトのサイズを有する。
図4に示す各ビットは、UnstructuredVDM内のビットを表す。
【0045】
本実施例では、UnstructuredVDMの0及び1番のビットは、端末装置1の電源状態を表す電源状態ビットである。電源状態ビットの値が11の場合、シャットダウン状態を表す。電源状態ビットの値が10の場合、休止状態を表す。電源状態ビットの値が01の場合、スリープ状態を表す。電源状態ビットの値が00の場合、起動状態を表す。
【0046】
すなわち、EC13は、電源状態ビットに現在の端末装置1の電源状態を表す値を設定し、PDコントローラ14にVDM信号の送信を指示することで、ドッキングステーション2に端末装置1の電源状態を通知する。
【0047】
また、EC13は、遠隔起動設定信号の入力をCPU12から受ける。そして、EC13は、VDM信号における遠隔起動設定ビットに、遠隔起動設定信号で指定された遠隔起動の有効無効の情報を表す値を設定して、PDコントローラ14にVDM信号の送信を指示する。
【0048】
本実施例では、
図4に示すように、UnstructuredVDMの2番のビットが、遠隔起動の有効無効を表す遠隔起動設定ビットである。遠隔起動設定ビットの値が1の場合、遠隔起動が有効であることを表す。遠隔起動設定ビットの値が0の場合、遠隔起動が無効であることを表す。
【0049】
すなわち、EC13は、遠隔起動設定ビットに遠隔起動設定信号で指定された遠隔起動の有効無効の情報を表す値を設定し、PDコントローラ14にVDM信号の送信を指示することで、ドッキングステーション2に遠隔起動の有効無効を通知する。
【0050】
また、EC13は、シャットダウン状態又は休止状態の場合、起動要求ビットが設定されたVDM信号に起因する割り込みをPDコントローラ14から受ける。そして、EC13は、PDコントローラ14が取得したVDM信号における起動要求ビットの値から起動要求の有無を判定する。
【0051】
本実施例では、
図4に示すように、UnstructuredVDMの3番のビットが、起動要求の有無を表す起動要求ビットである。起動要求ビットの値が1の場合、起動要求があることを表す。起動要求ビットの値が0の場合、起動要求がないことを表す。すなわち、EC13は、PDコントローラ14が取得したVDM信号における起動要求ビットの値が1であれば、端末装置1に対して起動要求があったと判定する。
【0052】
EC13は、起動要求があった場合、電源ボタン150のオンを指示する電源ボタンオン信号を電源スイッチ回路15へ出力する。例えば、
図3に示す信号を用いる場合、EC13は、電源スイッチ回路15へ出力する電源ボタンオン信号をLowレベルからHighレベルに変更する。
【0053】
その後、EC13は、システム起動方法を通知するための起動起因信号をCPU12へ出力し、CPU12に起動を開始させる。起動起因信号は、
図3に示すように、EC13からCPU12へ送信される、CPU12に対してシステム起動方法を通知する信号であり、GPIO信号である。例えば、起動起因信号は、Highレベルの場合、USB信号による起動を指定する。また、起動起因信号は、Lowレベルの場合、電源ボタン150の押下による起動を指定する。すなわち、EC13は、通常はLowレベルの起動起因信号をCPU12へ出力し、VDM信号により起動要求があったことを把握した場合、CPU12へ出力する起動起因信号をHighレベルへ変更する。これにより、EC13は、CPU12に起動の開始を指示する。
【0054】
端末装置1がドッキングステーション2に接続された場合、PDコントローラ14は、CC通信によりType−Cコネクタ30を介してドッキングステーション2のPDコントローラ27と通信を行う。
【0055】
PDコントローラ14は、端末装置1とドッキングステーション2との接続を検出すると、接続検出を要因とする割り込みをEC13へ出力する。EC13がシリアル通信などでPDコントローラ14から割り込み要因の特定と付随するデータを取得した後、PDコントローラ14は、EC13から割り込み解除の通知を受けて割り込みを解除する。そして、PDコントローラ14は、PDコントローラ27の初期化完了後に、PDコントローラ27との間でUSB Type−C接続処理を実行する。例えば、PDコントローラ14は、電力供給方向及び電力供給を行う電源、供給電圧及び通信に使用するポートなどの電力需給及び通信の設定をPDコントローラ27との間で決定する。そして、USB Type−C接続処理が完了すると、PDコントローラ14は、電力需給及び通信の設定をEC13及び電源回路16に通知する。また、PDコントローラ14は、Type−Cコネクタ30の挿入方向の接続状態を取得する。そして、PDコントローラ14は、Type−Cコネクタ30の挿入方向の接続状態をMux11へ通知する。
【0056】
また、PDコントローラ14は、遠隔起動設定ビットが設定されたVDM信号の送信の指示をEC13から受ける。そして、PDコントローラ14は、遠隔起動設定ビットが設定されたVDM信号をType−Cコネクタ30を介してPDコントローラ27へCC通信で送信する。
【0057】
また、PDコントローラ14は、電源状態ビットが設定されたVDM信号の送信の指示をEC13から受ける。そして、PDコントローラ14は、電源状態ビットが設定されたVDM信号をType−Cコネクタ30を介してPDコントローラ27へCC通信で送信する。
【0058】
また、PDコントローラ14は、起動要求ビットが設定されたVDM信号をType−Cコネクタ30を介してPDコントローラ27からCC通信で受信する。そして、PDコントローラ14は、起動要求ビットが設定されたVDM信号の受信を要因とする割り込みをEC13へ出力する。
【0059】
ドッキングステーション2は、USBハブ21、USBコネクタ22、LANコントローラ23、LANコネクタ24、LANコントローラ電源回路25、EC26、PDコントローラ27、電源回路28及びACアダプタコネクタ29を有する。
【0060】
USBコネクタ22は、外部記憶装置、キーボード又はマウスなどの各種USBデバイスが接続される。USBコネクタ22は、接続されたUSBデバイスから入力された信号をUSBハブ21へ出力する。また、USBコネクタ22は、USBハブ21から入力された信号を接続されたUSBデバイスへ出力する。
【0061】
USBハブ21は、USBコネクタ22及びLANコントローラ23と接続される。そして、USBハブ21は、USBコネクタ22又はLANコントローラ23から入力されたUSB信号をType−Cコネクタ30を介してCPU12へ出力する。また、USBハブ21は、CPU12から出力されたUSB信号を受信する。そして、USBハブ21は、受信した信号の宛先にしたがい、受信した信号をUSBコネクタ22又はLANコントローラ23へ出力する。USBハブ21は、端末装置1がシャットダウン状態又は休止状態の場合、電源回路28からの電力供給は行われない。そのため、端末装置1がシャットダウン状態又は休止状態の場合、USBハブ21は動作を停止しており、その状態で、LANコントローラ23から起動用のUSB信号の入力を受けてもCPU12への起動用のUSB信号の送信は行わない。
【0062】
例えば、USBハブ21は、端末装置1に起動を指示する起動用のUSB信号の入力をLANコントローラ23から受ける。そして、USBハブ21は、取得した起動用のUSB信号をType−Cコネクタ30を介してCPU12へ出力する。この場合、USBハブ21から出力されたUSB信号は、Type−Cコネクタ30のUSB信号用の信号線を経由してCPU12へ送信される。
【0063】
LANコネクタ24は、外部ネットワーク4と信号の送受信を行うためのネットワークインタフェースである。LANコネクタ24には、外部ネットワーク4に接続するネットワークケーブルが接続される。LANコネクタ24は、外部ネットワーク4から入力されたLAN信号をLANコントローラ23へ出力する。また、LANコネクタ24は、LANコントローラ23から入力されたLAN信号を外部ネットワーク4へ送信する。
【0064】
LANコントローラ23は、LAN信号の制御を行う。LANコントローラ23は、LANコントローラ電源回路25から電力供給を受けて動作する。LANコントローラ23は、LANの信号をUSBの信号に変換するUSB−LAN変換チップを搭載する。
【0065】
LANコントローラ23は、LAN信号の入力をLANコネクタ24から受ける。そして、LANコントローラ23は、IEEE(The Institute of Electrical and Electronics Engineers)802.3のプロトコルのLAN信号をUSBプロトコルのUSB信号に変換する。LANコントローラ23は、LAN信号を変換して生成したUSB信号をUSBハブ21へ出力する。
【0066】
また、LANコントローラ23は、LANコネクタ24を介して外部ネットワーク4から端末装置1に対してLAN信号である起動コマンド(Magicpacketなど)の入力を受ける。そして、LANコントローラ23は、受信した起動コマンドをUSB信号に変換して、起動用のUSB信号を生成する。そして、LANコントローラ23は、起動用のUSB信号をUSBハブ21へ出力する。さらに、LANコントローラ23は、起動用のGPIO信号をEC26へ出力する。この起動用のUSB信号が、「第1起動要求」の一例にあたる。また、この起動用のGPIO信号が、「第2起動要求」の一例にあたる。
【0067】
起動用GPIO信号は、
図3に示すように、LANコントローラ23からEC26へ送信される、起動要求用の信号である。起動用GPIO信号は、例えば、Highレベルの場合に起動要求を行う。LANコントローラ23は、通常はLowレベルの起動用GPIO信号をEC26へ出力し、起動コマンドを受信した場合に一定期間Highレベルの起動用GPIO信号をEC26へ送信する。
【0068】
LANコントローラ電源回路25は、電源回路28から電力の供給を受ける。また、LANコントローラ電源回路25は、LANコントローラ23への電源のオンオフを指定するLAN電源制御信号の入力をEC26から受ける。LAN電源制御信号がLANコントローラ23への電源のオンを指定する場合、LANコントローラ電源回路25は、電源回路28から供給された電力をLANコントローラ23へ供給する。これに対して、LAN電源制御信号がLANコントローラ23への電源のオフを指定する場合、LANコントローラ電源回路25は、電源回路28から供給された電力のLANコントローラ23への供給を停止する。
【0069】
EC26は、端末装置1とドッキングステーション2とが接続されると、接続検出を要因とする割り込みの入力をPDコントローラ27から受ける。次に、EC26は、割込み要因及び要因に付随するデータをシリアル通信で確認し、端末装置1とドッキングステーション2との接続を把握する。次に、EC26は、割込みの解除をPDコントローラ27に指示する。さらに、EC26は、電力需給及び通信の設定の通知をPDコントローラ27から受ける。
【0070】
また、EC26は、遠隔起動設定ビットが設定されたVMD信号に起因する割り込みをPDコントローラ27から受ける。そして、EC26は、PDコントローラ27が取得したVDM信号の遠隔起動設定ビットを確認し、遠隔起動設定の有効又は無効を判定する。遠隔起動設定が有効の場合、EC26は、端末装置1がシャットダウン状態又は休止状態であっても、LANコントローラ23への電源のオンを指定するLAN電源制御信号をLANコントローラ電源回路25へ出力する。これに対して、遠隔起動設定が無効の場合、EC26は、端末装置1がシャットダウン状態又は休止状態になると、LANコントローラ23への電源のオフを指定するLAN電源制御信号をLANコントローラ電源回路25へ出力する。これにより、端末装置1がシャットダウン状態及び休止状態の場合、LANコントローラ23は動作を停止するため、端末装置1の遠隔起動が行われなくなる。
【0071】
LAN電源制御信号は、
図3に示すように、EC26からLANコントローラ電源回路25に送信される、LANコントローラ23の電源のオンオフを制御する信号である。例えば、LAN電源制御信号は、Highレベルの場合にLANコントローラ23の電源をオンにする。また、LAN電源制御信号は、Lowレベルの場合にLANコントローラ23の電源をオフにする。EC26は、遠隔起動設定が有効の場合、端末装置1がシャットダウン状態又は休止状態であれば、HighレベルのLAN電源制御信号をLANコントローラ電源回路25へ出力し、LANコントローラ23の電源をオンの状態に維持する。これに対して、遠隔起動設定が無効の場合、EC26は、端末装置1がシャットダウン状態又は休止状態であっても、LowレベルのLAN電源制御信号をLANコントローラ電源回路25へ出力し、LANコントローラ23の電源をオフにする。
【0072】
また、EC26は、電源状態ビットが設定されたVMD信号に起因する割り込みをPDコントローラ27から受ける。そして、EC26は、PDコントローラ27が取得したVDM信号の電源状態ビットの値から端末装置1の電源状態を取得する。そして、EC26は、端末装置1の電源状態を記憶する。
【0073】
また、EC26は、起動コマンドが外部ネットワーク4から入力された場合、遠隔起動設定が有効であれば、起動用のGPIO信号の入力をLANコントローラ23から受ける。そして、EC26は、記憶した端末装置1の電源状態を確認する。端末装置1の電源状態がスリープ状態又は起動状態であれば、EC26は、起動要求を行うVDM信号の送信は行わない。
【0074】
これに対して、端末装置1の電源状態がシャットダウン状態又は休止状態であれば、EC26は、VDM信号の起動要求ビットに起動要求があったことを表す値を設定し、VDM信号の送信をPDコントローラ27に指示する。このEC26が、「制御部」の一例にあたる。そして、VDM信号を用いて起動要求を端末装置1へ送信し、電源ボタン150をオンさせた上でCPU12に起動を行わせることが、「電源制御による起動を行わせる」にあたる。
【0075】
EC26は、以上の電源状態の取得やCC信号を端末装置1に送信して電源ボタン150をオンさせ起動させる機能を実現するプログラムを記憶部に予め記憶し、そのプログラムを読み出して実行することでそれらの各機能を実現する。
【0076】
PDコントローラ27は、端末装置1とドッキングステーション2との接続を検出すると、接続検出を要因とする割り込みをEC26へ出力する。EC26がシリアル通信などでPDコントローラ27から割込み要因の特定と付随するデータを取得した後、EC26から割り込み解除の通知を受けて、割り込みを解除する。そして、PDコントローラ27は、初期化完了後に、PDコントローラ14との間でUSB Type−C接続処理を実行する。例えば、PDコントローラ27は、電力供給方向及び電力供給を行う電源、供給電圧及び通信に使用するポートなどの電力需給及び通信の設定をPDコントローラ14との間で決定する。そして、USB Type−C接続処理が完了すると、PDコントローラ27は、電力需給及び通信の設定をEC26及び電源回路28に通知する。
【0077】
また、PDコントローラ27は、遠隔起動設定ビットが設定されたVDM信号をType−Cコネクタ30を介してPDコントローラ14からCC通信で受信する。そして、PDコントローラ27は、遠隔起動設定ビットが設定されたVDM信号を要因とする割り込みをEC26へ出力する。
【0078】
また、PDコントローラ27は、電源状態ビットが設定されたVDM信号をType−Cコネクタ30を介してPDコントローラ14からCC通信で受信する。そして、PDコントローラ27は、電源状態ビットが設定されたVDM信号を要因とする割り込みをEC26へ出力する。
【0079】
また、PDコントローラ27は、遠隔起動設定ビットに遠隔起動の有効無効を表す値が設定されたVDM信号の送信の指示をEC26から受ける。そして、PDコントローラ27は、遠隔起動設定ビットに遠隔起動の有効無効を表す値が設定されたVDM信号を、Type−Cコネクタ30を介してPDコントローラ14へCC通信で送信する。
【0080】
ACアダプタコネクタ29は、ACアダプタが接続される。ACアダプタが接続された状態で、ACアダプタコネクタ29は、商用電源からの電力の供給をACアダプタから受ける。そして、ACアダプタコネクタ29は、供給された電力を電源回路28へ出力する。
【0081】
電源回路28は、ACアダプタコネクタ29にACアダプタが接続されており電源をACアダプタとする場合、ACアダプタから電力供給を受ける。また、ドッキングステーション2から電力供給を受ける場合、電源回路28は、Type−Cコネクタ30を介して電源回路16から電力の供給を受ける。
【0082】
電源回路28は、PDコントローラ14からの指示を受けて、電源から供給された電力を用いて作成した電源種を、例えば、USBハブ21、LANコントローラ電源回路25、EC26及びPDコントローラ27へ供給する。ここで、
図2では、電源回路28からの電力供給経路としてLANコントローラ電源回路25へ繋がる経路を一例として記載したが、実際には、電源回路28から各部に電力供給経路が延びている。また、
図2に示す電源回路28からの電力の供給先は一例であり、電源回路28は、ドッキングステーション2における電気使用する各部に電力の供給を行う。また、端末装置1へ電力供給を行う場合、電源回路28は、Type−Cコネクタ30を介して電源回路16へ作成した電源種を供給する。電源回路28は、EC26、PDコントローラ27及びLANコントローラ電源回路25には、端末装置1の電源状態にかかわらず常に電力を供給する。
【0083】
次に、
図5を参照して、本実施例に係る情報処理システム3における遠隔起動時の処理の流れについて説明する。
図5は、実施例1に係る情報処理システムにおける遠隔起動時の処理のフローチャートである。
【0084】
LANコントローラ23は、LANコネクタ24を介して外部ネットワーク4から起動コマンドを受信する(ステップS101)。
【0085】
次に、LANコントローラ23は、起動コマンドをLAN信号からUSB信号に変換して起動用のUSB信号を生成する。そして、LANコントローラ23は、起動用のUSB信号をUSBハブ21及びType−Cコネクタ30を介してCPU12へ出力する(ステップS102)。
【0086】
さらに、LANコントローラ23は、起動用のGPIO信号をEC26へ出力する(ステップS103)。
【0087】
EC26は、起動用のGPIO信号の入力を受ける。そして、EC26は、記憶した端末装置1の電源状態がシャットダウン状態又は休止状態の何れかであるか判定する(ステップS104)。端末装置1の電源状態がスリープ状態の場合、すなわちシャットダウン状態又は休止状態でない場合(ステップS104:否定)、EC26は、起動要求信号の送信処理を終了する。
【0088】
これに対して、端末装置1の電源状態がシャットダウン状態又は休止状態の場合(ステップS104:肯定)、EC26は、遠隔起動設定が有効か否かを判定する(ステップS105)。ここで、本実施例では、遠隔起動設定が無効であればLANコントローラ23への電力供給が停止しており、EC26はGPIO信号の入力を受けず、通常であればこの判定は常に遠隔起動設定が有効と判定される。ただし、LANコントローラ23への電力供給の停止が失敗した場合などを考慮し、遠隔起動設定の有効無効をEC26に判定させている。遠隔起動設定が無効の場合(ステップS105:否定)、EC26は、起動要求信号の送信処理を終了する。
【0089】
これに対して、遠隔起動設定が有効の場合(ステップS105:肯定)、EC26は、起動要求ビットの値を起動要求ありに設定したVDM信号の送信をPDコントローラ27に指示する。これにより、EC26は、CC通信を用いて端末装置1に対して起動要求の送信を行う(ステップS106)。
【0090】
以上に説明したように、本実施例に係る情報処理システムは、端末装置の電源状態がスリープ状態の場合にはCC通信を用いた電源ボタンをオンにして起動させる信号の送信は行わず、USB信号により端末装置の起動を行う。また、シャットダウン状態又は休止状態の場合、本実施例に係る情報処理システムは、CC通信を用いて電源ボタンをオンにして端末装置の起動を行う。これにより、本実施例に係る情報処理システムは、起動用のUSB信号と電源ボタンをオンにして起動を行わせる信号の競合を回避することができ、USB信号を用いた起動と電源ボタンをオンさせる信号を用いた起動とを併存させることができる。
【実施例2】
【0091】
図6は、実施例2に係る端末装置及びドッキングステーションのブロック図である。本実施例に係るドッキングステーション2は、CC通信により起動要求を送信する場合に、USB信号の端末装置1への送信を遮断することが実施例1と異なる。本実施例に係るドッキングステーション2は、実施例1の各機能部に、スイッチ201がさらに加えられる。以下の説明では、USB信号の送信の遮断について主に説明する。また、以下の説明では、実施例1と同様の各部の機能については説明を省略する。
【0092】
スイッチ201は、LANコントローラ23とUSBハブ21とを繋ぐUSBバス上に配置される。スイッチ201は、LANコントローラ23とUSBハブ21とを繋ぐUSBバスの接続又は切断を切り替えるスイッチであり、USBバスの切断を指示するUSBバス切断信号の入力をEC26から受けてLANコントローラ23とUSBハブ21とを繋ぐ経路を切断する。
【0093】
EC26は、LANコントローラ23から起動用のGPIO信号の入力を受けると、記憶した端末装置1の電源状態を確認する。端末装置1の電源状態がシャットダウン状態又は休止状態であれば、EC26は、USBバスの切断を指示するUSBバス切断信号をスイッチ201へ出力する。
【0094】
ここで、
図7は、実施例2で用いられる各種信号の一例を表す図である。本実施例においても、電源ボタンオン信号、遠隔起動設定信号、起動起因信号、LAN電源制御信号及び起動用GPIO信号は実施例1と同様である。本実施例では、さらに、USBバス切断信号が用いられる。
【0095】
図7に示すように、USBバス切断信号は、EC26からスイッチ201へ送信される、USBバスを切断させる信号である。USBバス切断信号は、Highレベルの場合、USBバスの切断を指示する。また、USBバス切断信号は、Lowレベルの場合、USBバスの接続を指示する。EC26は、通常はLowレベルのUSBバス切断信号をスイッチ201へ出力し、端末装置1の電源状態がシャットダウン状態又は休止状態のときにLANコントローラ23から起動用のGPIO信号の入力受けると、USBバス切断信号をHighレベルに変更する。これにより、EC26は、LANコントローラ23とUSBハブ21とを繋ぐUSBバスを切断することができ、LANコントローラ23からCPU12への起動用のUSB信号の送信を遮断する。
【0096】
さらに、EC26は、VDM信号の遠隔起動設定ビットに遠隔起動の有効を表す値を設定し、VDM信号の送信をPDコントローラ27に指示する。
【0097】
LANコントローラ23は、EC26によるスイッチ201の制御終了後、起動用のUSB信号をUSBハブ21へ送信する。
【0098】
次に、
図8を参照して、本実施例に係る情報処理システム3における遠隔起動時の処理の流れについて説明する。
図8は、実施例2に係る情報処理システムにおける遠隔起動時の処理のフローチャートである。
【0099】
LANコントローラ23は、LANコネクタ24を介して外部ネットワーク4から起動コマンドを受信する(ステップS201)。
【0100】
次に、LANコントローラ23は、起動用のGPIO信号をEC26へ出力する(ステップS202)。
【0101】
EC26は、起動用のGPIO信号の入力を受ける。そして、EC26は、記憶した端末装置1の電源状態がシャットダウン状態又は休止状態の何れかであるか判定する(ステップS203)。端末装置1の電源状態がスリープ状態の場合、すなわちシャットダウン状態又は休止状態でない場合(ステップS203:否定)、処理は、ステップS207へ進む。
【0102】
これに対して、端末装置1の電源状態がシャットダウン状態又は休止状態の場合(ステップS203:肯定)、EC26は、USBバスの切断を指示するUSBバス切断信号をスイッチ201へ送信しUBSバスを切断する(ステップS204)。
【0103】
次に、EC26は、遠隔起動設定が有効か否かを判定する(ステップS205)。遠隔起動設定が無効の場合(ステップS205:否定)、処理は、ステップS207へ進む。
【0104】
これに対して、遠隔起動設定が有効の場合(ステップS205:肯定)、EC26は、起動要求ビットの値を起動要求ありに設定したVDM信号の送信をPDコントローラ27に指示する。これにより、EC26は、CC通信を用いて端末装置1に対して起動要求の送信を行う(ステップS206)。
【0105】
LANコントローラ23は、起動コマンドをLAN信号からUSB信号に変換して起動用のUSB信号を生成する。そして、LANコントローラ23は、起動用のUSB信号をUSBハブ21及びType−Cコネクタ30を介してCPU12へ出力する(ステップS207)。
【0106】
ここで、
図8のフローでは、説明の都合上、EC26による起動要求送信の後に、LANコントローラ23が起動用のUSB信号を送信するように説明したが、USBバス切断の後であれば、LANコントローラ23は起動用のUSB信号をいつ送信してもよい。
【0107】
以上に説明したように、本実施例に係る情報処理システムは、端末装置の電源状態がスリープ状態の場合にはUSB信号により端末装置の起動を行う。そして、端末装置の電源状態がシャットダウン状態又は休止状態の場合には、本実施例に係る情報処理システムは、起動用のUSB信号の端末装置への送信を遮断した上で、CC通信を用いて電源ボタンをオンにして端末装置の起動を行う。これにより、電源オフ状態のUSBハブに対して電圧がかからないように保護することが可能となる。