(58)【調査した分野】(Int.Cl.,DB名)
前記通信部は、前記接続部により前記情報処理装置が接続されたとき、前記情報処理装置との間で初期設定のための通信を実行し、前記初期設定のための通信において前記仕様情報を取得する、請求項1から請求項3のうちのいずれか1項に記載の機能拡張装置。
【発明を実施するための形態】
【0015】
以下に添付図面を参照して、機能拡張装置及び情報処理システムの実施形態を詳細に説明する。
【0016】
図1は、実施形態に係る情報処理システム1の構成の一例を示す図である。
図1に示すように、情報処理システム1は、情報処理装置2及び機能拡張装置3を有する。
【0017】
本実施形態に係る情報処理システム1において、情報処理装置2及び機能拡張装置3は、単一の端子形状で複数の規格情報に対応した汎用コネクタによって接続される。このとき、情報処理装置2は、接続された機能拡張装置3の機能を使用することができる。
【0018】
本実施形態では、
図1に示すように、単一の端子形状で複数の規格情報に対応した汎用コネクタとして、Type−Cコネクタが利用される場合を例示して説明する。具体的には、情報処理装置2は、Type−Cコネクタ26を有する。また、機能拡張装置3は、Type−Cコネクタ37を有する。情報処理装置2及び機能拡張装置3は、2つのType−Cコネクタ26,37が嵌合することにより接続される。一例として、Type−Cコネクタ26は、差し込まれる側のコネクタ(Receptacle)である。また、Type−Cコネクタ37は、差し込み側のコネクタ(Plug)である。ここで、Type−Cコネクタ26,37は、接続部の一例である。
【0019】
なお、情報処理装置2及び機能拡張装置3は、両端が差し込み側のコネクタで構成されたType−Cケーブルを介して接続されても構わない。この場合、2つのType−Cコネクタ26,37は、差し込まれる側のコネクタとして構成され得る。
【0020】
Type−Cコネクタ26,37は、Universal System Bus (USB) Type-C/USB Power Delivery(以下、「Type−C/UPD」という。)規格に準拠する。Type−Cコネクタ26,37は、USB信号及びGPIO(General Purpose Input/Output)信号による通信を中継する。Type−Cコネクタ26,37は、専用信号線であるCC(Configuration Channel)と、USB信号を伝送する信号線と、電源供給経路としての電源線とを有する。Type−C/UPD規格のAltモード(Alternate Mode)においては、Type−Cコネクタ26,37のUSB信号線を使用して、DP(DisplayPort)信号(DP Altモード)やTBT信号(TBT Altモード)を伝送可能である。DP信号は、オーディオ/ビデオデータストリームを転送するための一方向メインリンク(Mainlink)により伝送されるDP Mainlink信号と、プラグ・アンド・プレイ(PnP)動作用の半二重双方向補助チャネル(Auxチャンネル)により伝送されるDP Aux信号とを含む。
【0021】
本実施形態に係る情報処理システム1において、機能拡張装置3に接続される情報処理装置2は、TBT(Thunderbolt)対応の情報処理装置(以下、TBT本体2aと記載する場合もある。)と、TBT非対応のMFDP(Multi-Function DisplayPort)対応の情報処理装置(以下、MFDP本体2bと記載する場合もある。)とのうちのいずれかであるとする。したがって、本実施形態に係る情報処理システム1において、AltモードでUSB信号線を使用して伝送される信号は、TBT信号又はMFDP信号である。
【0022】
機能拡張装置3においては、一例として、4レーン(x4lane)のPCIe(Peripheral Component Interconnect Express)規格の信号、USB3.1規格の信号、USB2.0規格の信号及び2セットの4レーンのDP Mainlink信号を含むTBT信号を処理することができる。また、機能拡張装置3においては、一例として、USB3.1規格の信号、USB2.0規格の信号及び2レーンのDP Mainlink信号を含むMFDP信号を処理することができる。
【0023】
情報処理装置2としては、タブレットPC(Personal Computer)、クラムシェルPC及びコンバーチブルPCなどの種々の情報処理装置が適宜利用可能である。
図1に示すように、情報処理装置2は、CPU(Central Processing Unit)21、メモリ22、GPU(Graphics Processing Unit)23、Mux(Multiplex)24及びPD(Power Delivery)コントローラ25をさらに有する。
【0024】
CPU21、メモリ22及びGPU23は、例えばバスを介して相互に通信可能に接続される。CPU21及びMux24は、相互に通信可能に接続される。Mux24には、PDコントローラ25からの信号が供給される。Type−Cコネクタ26は、Mux24及びPDコントローラ25に対してそれぞれ相互に通信可能に接続される。
【0025】
CPU21は、メモリ22のROM(Read Only Memory)やHDD(Hard Disc Drive)、SSD(Solid State Drive)などに格納された各種のプログラムをメモリ22のRAM(Random Access Memory)にロードすることにより、各機能を実現する。
【0026】
メモリ22は、CPU21が実行する各プログラムが格納されるROMやHDD、SSDなどの不揮発性メモリと、ワーキングメモリとして利用され、CPU21が演算処理を実行する際にデータが格納されるRAMなどの揮発性メモリとを有する。
【0027】
GPU23は、接続先の機能拡張装置3でロードされたFW(Firmware)に応じたレーン数のGFX(グラフィック)信号を生成する。
【0028】
Mux24は、Type−Cコネクタ37の挿入方向を表す接続状態の入力をPDコントローラ25から受ける。Mux24は、Type−Cコネクタ26,37のUSB信号線を介して、機能拡張装置3のTBTコントローラ33からCPU21へ信号を送信する経路と、CPU21からTBTコントローラ33へ信号を送信する経路とを決定する。
【0029】
PDコントローラ25は、接続検出や電源供給及び電源需要に関する制御を行う。PDコントローラ25は、Type−C/UPDに準拠したシステムに搭載される、ASIC(Application Specific Integrated Circuit)である。
【0030】
なお、情報処理装置2のプロセッサとしては、CPU21に限らず、MPU(Micro Processing Unit)やDSP(Digital Signal Processor)、ASIC、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などの各種のプロセッサが適宜利用可能である。
【0031】
なお、情報処理装置2は、外部I/Oインタフェースとして、キーボードやタッチパネル、マウスなどの各種の入力装置やディスプレイなどの各種の表示装置に接続するためのコネクタ等をさらに有していてもよい。
【0032】
機能拡張装置3は、例えば、外部I/Oインタフェースを有するクレードルやドッキングステーションである。なお、機能拡張装置3は、変換アダプタとして実現されても構わない。
図1に示すように、機能拡張装置3は、MST(Multi Stream Transport)ハブ31、ROM32、TBTコントローラ33、PDコントローラ34、MCU(Micro Controller Unit)35、PowerSW(Switch)36、VGA(Video Graphics Array)コネクタ38a、DPコネクタ38b及びHDMI(High-Definition Multimedia Interface)(登録商標)コネクタ38cをさらに有する。ここで、各コネクタ38a,38b,38cは、情報処理装置2を機能拡張装置3に接続することにより、情報処理装置2に増設される外部I/Oインタフェースの一例である。
【0033】
MSTハブ31は、DPマルチストリーム機能を実現するIC(Integrated Circuit)である。MSTハブ31は、HPD(Hot Plug Detect)信号を制御し、PDコントローラ34に供給する。MSTハブ31は、ROM32から接続された情報処理装置2に応じたFWをロードする。MSTハブ31は、TBTコントローラ33に対してDPCD(DisplayPort Configuration Data)/EDID(Extended Display Identification Data)などを供給する。MSTハブ31は、各Altモードにおいて、TBTコントローラ33から供給されたGFX信号を処理し、外部モニタに供給するGFX信号(VGA,DP,TMDS)を生成する。MSTハブ31は、生成されたGFX信号を各コネクタ38a,38b,38cを介して外部モニタに供給する。
【0034】
ROM32は、TBT用FW321及びMFDP用FW322を記憶する。ここで、TBT用FW321は、2レーンのDP Mainlink信号を処理するためのFWである。MFDP用FW322は、4レーンのDP Mainlink信号を処理するためのFWである。ここで、ROM32は、メモリの一例である。
【0035】
TBTコントローラ33は、情報処理装置2から供給されるDP Aux信号を処理し、処理後のDP Aux信号をMSTハブ31に供給する。TBTコントローラ33は、MSTハブ31から供給されるDPCD/EDIDをType−Cコネクタ26,37を介して情報処理装置2に供給する。TBTコントローラ33は、各Altモードにおいて、情報処理装置2から供給されるTBT信号又はMFDP信号を処理し、処理後のGFX信号をMSTハブ31に供給する。
【0036】
PDコントローラ34は、CC通信により、機能拡張装置3に接続された情報処理装置2がTBT本体2aであるかMFDP本体2bであるかを示す情報処理装置2の仕様情報(対応機能情報)を取得したり、MSTハブ31から供給されたHPD信号のステータスを情報処理装置2に供給したりする。PDコントローラ34は、取得された仕様情報を保持する。PDコントローラ34は、I2C(Inter-Integrated Circuit)通信により、取得された仕様情報をMCU35に供給する。また、PDコントローラ34は、I2C通信により、TBTコントローラ33の初期設定を実行する。
【0037】
MCU35は、I2C通信により、PDコントローラ34に対して設定を行う。MCU35は、GPIO1の値を制御し、PDコントローラ34から得た仕様情報をMSTハブ31に通知する。MCU35は、GPIO2の値を制御し、MSTハブ31の電源を制御する。
【0038】
PowerSW36は、MCU35から供給されるGPIO2の値に応じて、MSTハブ31に供給される電源のオン/オフを切り替える。
【0039】
VGAコネクタ38a、DPコネクタ38b及びHDMI(登録商標)コネクタ38cは、それぞれ、VGA信号、DP信号及びTMDS信号に基づいて画面を表示する外部モニタを接続するための外部I/Oインタフェースである。
【0040】
上述したように、本実施形態に係る情報処理システム1において、情報処理装置2は、Type−Cコネクタ26,37を介して接続された機能拡張装置3の機能を使用することができる。例えば、情報処理装置2は、機能拡張装置3の各コネクタ38a,38b,38cなどの外部I/Oインタフェースを利用して、外部モニタに接続することができる。外部モニタが機能拡張装置3に接続されたとき、情報処理装置2は、DP Mainlink信号の伝送に使用するメインリンクのレーン数をDPCDレジスタから読み出す必要がある。メインリンクのレーン数に関する情報は、MSTハブ31に書き込まれたFWにより保持される。このため、従来は、4レーンのDP Mainlink信号を伝送するTBT本体2aのための機能拡張装置3には、4レーンで動作するFWが書き込まれたMSTハブ31が搭載されていた。同様に、USB3.1規格の信号とともに2レーンのDP Mainlink信号を伝送するMFDP本体2bのための機能拡張装置3には、2レーンで動作するFWが書き込まれたMSTハブ31が搭載されていた。
【0041】
しかしながら、本実施形態に係る情報処理システム1において、機能拡張装置3のType−Cコネクタ37は、TBT本体2a又はMFDP本体2bのType−Cコネクタ26に接続される。TBT本体2aに機能拡張装置3が接続される場合には、TBT本体2a及び機能拡張装置3は、TBT Altモードにより通信する。TBT Altモードでは、一例として、USB3.1規格の信号及び4レーンのDP Mainlink信号を含むTBT信号を伝送することができる。一方で、MFDP本体2bに機能拡張装置3が接続される場合には、MFDP本体2b及び機能拡張装置3は、MFDP Altモードにより通信する。MFDP Altモードでは、一例として、USB3.1規格の信号及び2レーンのDP Mainlink信号を含むMFDP信号を伝送することができる。このように、Altモードにおいて情報処理装置2から機能拡張装置3に供給されるDP Mainlink信号のレーン数は、情報処理装置2が対応する機能により異なる場合がある。
【0042】
このような中、TBT本体2a及びMFDP本体2bの両方をサポートするために、機能拡張装置3に搭載するMSTハブ31のFWが動作するレーン数をいずれかのレーン数に固定した場合、情報処理装置2から機能拡張装置3に供給されるDP Mainlink信号のレーン数と、機能拡張装置3が動作するレーン数とが異なる場合がある。これらのレーン数が異なる場合、情報処理装置2の機能を最大限に動作させることができない。例えば、4レーンで動作するFWが書き込まれている場合、TBT本体2aの機能は制限されないが、MFDP本体2bに接続されたときには、画像出力そのものが制限されたり、画像出力ができてもUSB3.1規格の信号の伝送が制限されたりする。例えば、2レーンで動作するFWが書き込まれている場合、MFDP本体2bの機能は制限されないが、TBT本体2aに接続されたときには、2レーンでの画像出力となるため、TBT本体2aから出力された4レーンのDP Mainlink信号により実現可能な解像度の半分の解像度に制限される。
【0043】
これらのことから、情報処理装置2の機能が機能拡張装置3により制限されることを避けるためには、情報処理装置2が対応する機能ごとに、適切なレーン数で動作するFWが書き込まれた機能拡張装置3を用意する必要があった。
【0044】
そこで、本実施形態に係る情報処理システム1は、上述したハードウェア構成において、以下に説明する機能構成を有するとともに、以下に説明する制御シーケンスを実行する。これにより、機能拡張装置3に接続されるTBT本体2a又はMFDP本体2bそれぞれに合わせた最大限の機能で動作することができる。
【0045】
図2は、
図1の情報処理システム1において、機能拡張装置3がTBT対応の情報処理装置2(TBT本体2a)に接続される場合に実現される構成の一例を示す図である。
図3は、
図1の情報処理システム1において、機能拡張装置3がTBT非対応、かつ、MFDP対応の情報処理装置2(MFDP本体2b)に接続される場合に実現される構成の一例を示す図である。
【0046】
図2及び
図3に示すように、TBTコントローラ33は、TBT Switch331、DP Section332及び複数の物理インタフェース(PHY)337a,337b,337g,337hを有する。TBT Switch331は、Dual Null Adapter331a,331b及びDP SRC Adapter331g,331hを有する。なお、
図2及び
図3には、TBT信号及びDP Mainlink信号に関するTBTコントローラ33の要素を例示するが、これに限らない。TBTコントローラ33は、PCIe信号やUSB信号に関する要素をさらに有していても構わない。
【0047】
図2に示すように、TBT本体2aに接続される場合、TBT本体2aからのTBT信号は、TBTコントローラ33に供給される。TBTコントローラ33において、TBT PHY(PA)337a及びTBT PHY(PB)337bは、それぞれDual Null Adapter331a,331bに信号を供給する。また、Dual Null Adapter331a,331bは、それぞれTBT PHY337a,337bに信号を供給する。DP SRC Adapter331g,331hは、DP Section332に信号を供給する。DP Section332は、TBT PHY337a,337b及びDP SRC PHY337gに信号を供給する。
【0048】
図3に示すように、MFDP本体2bに接続される場合、MFDP本体2bからのMFDP信号は、TBTコントローラ33に供給される。TBTコントローラ33において、TBT PHY(PA)337a及びTBT PHY(PB)337bは、DP Section332に信号を供給する。DP Section332は、TBT PHY337a,337b及びDP SRC PHY337gに信号を供給する。DP SNK PHY337hは、DP Section332に信号を供給する。
【0049】
図4は、
図1の情報処理システム1の機能構成の一例を示す図である。
図4に示すように、情報処理装置2は、通信部201及び生成部202としての機能を有する。機能拡張装置3は、通信部301、選択部302及び処理部303としての機能を有する。
【0050】
通信部201は、機能拡張装置3との間の通信を制御する。一例として、通信部201は、USB信号(TBT信号又はMFDP信号)の信号線に含まれるAuxチャンネルを利用して、DPCD/EDIDを取得する。また、通信部201は、初期設定のための通信(CC通信)を利用して、自機器すなわち情報処理装置2が対応する機能を示す仕様情報を出力する。ここで、仕様情報は、情報処理装置2がTBT本体2aであるか、MFDP本体2bであるかを示す情報であるとも表現できる。CPU21は、メモリ22からロードされたプログラムを実行することにより通信部201としての機能を実現する。また、PDコントローラ25は、書き込まれたプログラム又は記憶領域からロードされたプログラムを実行することにより通信部201としての機能を実現する。
【0051】
生成部202は、通信部201により取得されたDPCD/EDIDに基づいて、MSTハブ31にロードされたFWに応じたレーン数のDP Mainlink信号を生成する。生成されたDP Mainlink信号(GFX信号)は、通信部201により機能拡張装置3に供給される。CPU21又はGPU23は、メモリ22からロードされたプログラムを実行することにより生成部202としての機能を実現する。
【0052】
通信部301は、情報処理装置2及び外部モニタとの間の通信をそれぞれ制御する。一例として、通信部301は、外部モニタからDPCD/EDIDを読み出したり、外部モニタへDPCDを出力したりする。また、通信部301は、USB信号(TBT信号又はMFDP信号)の信号線に含まれるAuxチャンネルを利用して、MSTハブ31のDPCDレジスタに保持されているDPCD/EDIDを出力する。ここで、DPCD/EDIDの値には、MSTハブ31にロードされたFWが反映されている。具体的には、MSTハブ31と外部モニタとの間のDPCD/EDIDに関する通信は、いずれかのFWがロードされたMSTハブ31により実行される。つまり、通信部301は、仕様情報に応じて選択されたFWを情報処理装置2に通知する。また、通信部301は、初期設定のための通信(CC通信)を利用して、情報処理装置2が対応する機能を示す仕様情報を取得する。また、通信部301は、各Altモードにおいて、MSTハブ31にロードされたFWに応じたレーン数で生成されたGFX信号を情報処理装置2から取得する。MSTハブ31は、ROM32からロードされた各FWを実行することにより、外部モニタとの間の通信を制御する通信部301としての機能を実現する。TBTコントローラ33及びPDコントローラ34は、各々に書き込まれたプログラム又は各々の記憶領域からロードされたプログラムをそれぞれ実行することにより情報処理装置2との間の通信を制御する通信部301としての機能を実現する。
【0053】
選択部302は、通信部301により取得された仕様情報に基づいて、MSTハブ31にロードするFWを選択する。具体的には、選択部302は、仕様情報に基づいて、GPIO1の値を制御することにより、MSTハブ31にロードされるFWを選択する。その後、選択部302は、GPIO2の値を制御することにより、MSTハブ31の電源を制御する。つまり、MCU35は、GPIO2の制御により電源オンの指示をMSTハブ31に通知するより前に、GPIO1の制御により選択されたファームウェアをMSTハブ31に通知する。MCU35は、書き込まれたプログラム又は記憶領域からロードされたプログラムを実行することにより選択部302としての機能を実現する。
【0054】
処理部303は、GPIO2の値に応じて動作を開始し、動作開始より前に設定されたGPIO1の値に基づいて仕様情報に応じたFWをロードする。処理部303は、モニタからDPCD/EDIDを取得し、DPCDレジスタに保持する。また、通信部301により取得された情報処理装置2からのGFX信号を処理し、処理後のGFX信号を出力する。出力された処理後のGFX信号は、外部モニタに供給される。MSTハブ31は、ROM32からロードされた各FWを実行することにより、各レーン数で動作する処理部303としての機能を実現する。
【0055】
図5は、
図1の情報処理システム1において実行される初期接続処理の一例を示すシーケンス図である。
【0056】
図5に示す初期接続処理は、情報処理装置2及び機能拡張装置3がType−Cコネクタ26,37により接続されたときに開始される(S101)。情報処理装置2のPDコントローラ25は、Type−Cコネクタ26,37を介して実行される初期設定のための通信(CC通信)により、機能拡張装置3のPDコントローラ34へ情報処理装置2の仕様情報を通知する(S102)。情報処理装置2の仕様情報は、情報処理装置2の対応する機能に関する情報であり、一例として、TBT対応であるか、TBT非対応、かつ、MFDP対応であるかを示す情報である。
【0057】
PDコントローラ34は、PDコントローラ25から通知された仕様情報を保持する(S103)。PDコントローラ34は、I2C通信により、MCU35へ情報処理装置2の仕様情報を通知する(S104)。このように、MCU35は、I2C通信でのPDコントローラ34からの割り込みにより、機能拡張装置3が情報処理装置2に接続されたことを認識する。また、MCU35は、I2C通信により、機能拡張装置3の接続先がTBT本体2aであるか、MFDP本体2bであるかを判別することができる。また、PDコントローラ34は、I2C通信により、TBTコントローラ33の初期設定を開始する(S105)。
【0058】
MCU35は、PDコントローラ34から通知された情報処理装置2の仕様情報に基づいて、GPIO1を制御する(S106)。一例として、MCU35は、接続先がTBT本体2aであるとき、GPIO1の値を「0」、すなわち「Low」に確定する。MCU35は、接続先がMFDP本体2bであるとき、GPIO1の値を「1」、すなわち「High」に確定する。このように、MCU35は、GPIO1を制御することにより、接続先がTBT本体2aであるか、MFDP本体2bであるかをMSTハブ31に通知することができる。その後、MCU35は、GPIO2の値を制御する(S107)。具体的には、MCU35は、GPIO2の値を「1」、すなわち「High」に確定する。このように、MCU35は、GPIO2を制御することにより、MSTハブ31の電源のON/OFFを制御することができる。つまり、MCU35は、GPIO2の制御により電源オンの指示をMSTハブ31に通知するより前に、GPIO1の制御により選択されたファームウェアをMSTハブ31に通知する。
【0059】
MSTハブ31は、GPIO2の値が「1」であることを受けて、電源ONの状態になる(S108)。電源ONとされた後、MSTハブ31は、SPIバスを介して、ROM32からFWをロードする(S109)。このとき、MSTハブ31は、GPIO1の値に基づいて、ロードするFWを選択する。一例として、MSTハブ31は、GPIO1の値が「Low」であるとき、TBT用FW321をロードする。MSTハブ31は、GPIO1の値が「High」であるとき、MFDP用FW322をロードする。
【0060】
図6は、
図1の情報処理システム1において、機能拡張装置3がTBT対応の情報処理装置2(TBT本体2a)に接続される場合に実行されるモニタ接続処理の一例を示すシーケンス図である。
【0061】
図6に示す初期接続処理は、VGAコネクタ38a、DPコネクタ38b及びHDMI(登録商標)コネクタ38cのうちのいずれかのコネクタにより、機能拡張装置3及び外部モニタが接続されたときに開始される(S201)。MSTハブ31は、外部モニタの接続を検出したとき、「High」レベルのHPD信号をPDコントローラ34へ出力する(S202)。PDコントローラ34は、MSTハブ31からのHPD通知を受けて、CC通信により、「High」レベルのHPD信号をTBT本体2aのPDコントローラ25へ出力する(S203)。
【0062】
TBT本体2aは、「High」レベルのHPD信号をPDコントローラ25が受け付けたことを契機として、DPCD/EDIDをTBT信号に含まれるDP Aux信号により取得する(S204a)。具体的には、TBT本体2aにおいてCPU21は、外部モニタからMSTハブ31が取得したEDIDと、MSTハブ31にロードされたTBT用FW321がDPCDレジスタに保持しているDPCDとを、TBTコントローラ33からのTBT信号に含まれるDP Aux信号により読み取る。上述したように、DPCD/EDIDの値には、MSTハブ31にいずれのFWがロードされたかが反映されている。つまり、TBTコントローラ33は、DP Aux信号により、MSTハブ31にロードされたFWを、TBT本体2aに通知する。その後、TBT本体2aは、DP Aux信号を出力する。
【0063】
TBTコントローラ33は、TBT本体2aからのDP Aux信号をバッファリングする(S205)。つまり、TBT本体2aからのDP Aux信号は、TBTコントローラ33でバッファされ、MSTハブ31に供給される。
【0064】
MSTハブ31は、TBTコントローラ33でバッファされたDP Aux信号に基づいて、DPCD/EDIDをTBT本体2aへ返す(S206)。
【0065】
TBT本体2aは、読み取ったDPCD/EDIDに応じて設定を完了する(S207)。その後、TBT本体2aは、メインリンクのリンクトレーニングを開始し、TBT信号を出力する(S208)。
【0066】
TBT本体2aからのTBT信号は、TBTコントローラ33のTBT PHY(PA)337a及びTBT PHY(PB)337bを介して、TBT Switch331のDual Null Adapter331a,331bに供給される。TBTコントローラ33は、TBT Switch331にて、TBT本体2aから供給されたTBT信号に含まれるDP Mainlink信号をDemuxする(S209a)。TBTコントローラ33は、TBT Switch331によりTBT信号からDemuxされたDP Mainlink信号を、TBT Switch331のDP SRC PHY331g,331hからDP Section332へ出力する(S210a)。TBTコントローラ33は、DP Section332からのDP Mainlink信号をDP SRC PHY337gから出力する(S211)。
【0067】
MSTハブ31は、DP SRC PHY337gからのDP Mainlink信号に応じて、メインリンクのリンクトレーニングを開始する(S212)。
【0068】
その後、TBT本体2aはリンクトレーニングを完了する(S213)。リンクトレーニングが完了した後のTBT Altモードにおいて、TBT本体2aは、4レーンのDP Mainlink信号を生成する(S214a)。生成された4レーンのDP Mainlink信号を含むTBT信号は、機能拡張装置3のTBTコントローラ33に供給される。TBTコントローラ33に供給されたTBT信号は、4レーンのDP Mainlink信号を含むDP信号としてMSTハブ31に供給される。
【0069】
MSTハブ31は、供給された4レーンのDP Mainlink信号を、S201で接続された外部モニタに適した信号に変換し、外部モニタに供給する(S215)。
【0070】
図7は、
図1の情報処理システム1において、機能拡張装置3がTBT非対応、かつ、MFDP対応の情報処理装置2(MFDP本体2b)に接続される場合に実行されるモニタ接続処理の一例を示すシーケンス図である。ここでは、主に
図6のモニタ接続処理との相違点について説明し、重複する説明は適宜省略する。
【0071】
MFDP本体2bは、「High」レベルのHPD信号をPDコントローラ25が受け付けたことを契機として、DPCD/EDIDをMFDP信号に含まれるDP Aux信号により取得する(S204b)。具体的には、MFDP本体2bにおいてCPU21は、外部モニタからMSTハブ31が取得したEDIDと、MSTハブ31にロードされたMFDP用FW322がDPCDレジスタに保持しているDPCDとを、TBTコントローラ33からのMFDP信号に含まれるDP Aux信号により読み取る。つまり、TBTコントローラ33は、DP Aux信号により、MSTハブ31にロードされたFWを、MFDP本体2bに通知する。その後、MFDP本体2bは、DP Aux信号を出力する。S205〜S208の処理は、TBT本体2a接続時と同様である。メインリンクのリンクトレーニングを開始(S208)したMFDP本体2bからのDP Mainlink信号は、TBTコントローラ33のTBT PHY337a,337bを介して、DP Section332に供給される。
【0072】
TBTコントローラ33は、供給されたDP Mainlink信号を、DP Section332ではパススルーし(S209b)、DP SRC PHY337gから出力する(S211)。S212及びS213の処理は、TBT本体2a接続時と同様である。
【0073】
リンクトレーニングが完了(S213)した後のDP Altモードにおいて、MFDP本体2bは、2レーンのDP Mainlink信号を生成する(S214b)。生成された2レーンのDP Mainlink信号を含むDP信号は、機能拡張装置3のTBTコントローラ33を介して、MSTハブ31に供給される。MSTハブ31は、供給された2レーンのDP Mainlink信号を、S201で接続された外部モニタに適した信号に変換し、外部モニタに供給する(S215)。
【0074】
以上説明したように、本実施形態に係る機能拡張装置3は、情報処理装置2に接続されたとき、接続先の仕様情報に対応したFWをロードする。この構成によれば、機能拡張装置3は、接続先がTBT本体2aであるかMFDP本体2bであるかにかかわらず、接続された各本体2a,2bにより出力可能なGFX信号のレーン数で動作することができる。換言すれば、本実施形態に係る技術によれば、接続された各本体2a,2bの機能それぞれに合わせた最大限の機能で動作することができる機能拡張装置3を提供することができる。
【0075】
また、MCU35は、GPIO1の制御により選択されたFWをMSTハブ31に通知した後に、GPIO2の制御により電源オンの指示をMSTハブ31に通知する。この構成によれば、MSTハブ31は、GPIO2のステータスに応じて動作を開始した段階で、GPIO1のステータスを参照してロードするFWを確認することができる。
【0076】
また、MSTハブ31にロードされたTBT用FW321又はMFDP用FW322は、外部モニタとの間でDPCD/EDIDに関する通信を行い、DPCDレジスタに取得されたDPCD/EDIDを保持する。つまり、DPCD/EDIDの値には、MSTハブ31にロードされたFWが反映されている。MSTハブ31は、USB信号(TBT信号又はMFDP信号)の信号線に含まれるAuxチャンネルにより伝送されるDP Aux信号を利用して、DPCD/EDIDを各本体2a,2bに通知する。換言すれば、MSTハブ31は、ロードされたFWを各本体2a,2bに通知する。この構成によれば、各本体2a,2bは、MSTハブ31にロードされたFWが動作するレーン数のGFX信号(DP Mainlink信号)を生成することができる。
【0077】
また、PDコントローラ34は、Type−Cコネクタ26,37を介して情報処理装置2が接続されたとき、接続された情報処理装置2のPDコントローラ25との間で初期設定のための通信(CC通信)を実行する。このCC通信において、PDコントローラ34は、接続された情報処理装置2の仕様情報を取得する。この構成によれば、PDコントローラ34は、接続先がTBT本体2aであるかMFDP本体2bであるかを把握することができる。
【0078】
また、TBT用FW321は、TBT本体2aから出力される、例えば4レーンのDP Mainlink信号を含むTBT信号を処理するために、4レーンで動作するように構成されたFWである。一方で、MFDP用FW322は、MFDP本体2bから出力される、例えば2レーンのDP Mainlink信号を含むMFDP信号を処理するために、2レーンで動作するように構成されたFWである。この構成によれば、接続先がTBT本体2aであるかMFDP本体2bであるかにかかわらず、各本体2a,2bから機能拡張装置3に供給されるDP Mainlink信号のレーン数と、機能拡張装置3が動作するレーン数とを一致させることができる。
【0079】
また、本実施形態に係る情報処理システム1は、情報処理装置2及び機能拡張装置3が接続されたとき、機能拡張装置3において情報処理装置2の仕様情報に対応したFWをロードし、情報処理装置2において機能拡張装置3のFW情報に応じたレーン数のGFX信号を生成し、生成されたGFX信号を情報処理装置2から機能拡張装置3に供給する。この構成によれば、機能拡張装置3は、接続先がTBT本体2aであるかMFDP本体2bであるかにかかわらず、接続された各本体2a,2bにより出力可能なGFX信号(DP Mainlink信号)のレーン数で動作し、情報処理装置2の外部I/Oインタフェースとしての外部モニタに画面出力することができる。換言すれば、本実施形態に係る技術によれば、各本体2a,2bの機能それぞれに合わせた最大限の機能で動作することができる情報処理システム1を提供することができる。
【0080】
本発明の実施形態及び変形例を説明したが、この実施形態及び変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態及び変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【解決手段】本実施形態に係る機能拡張装置は、接続部と、メモリと、通信部と、選択部と、処理部とを有する。前記接続部は、単一の端子形状で複数の規格情報に対応し、情報処理装置が接続される。前記メモリは、前記複数の規格情報の各々に対応したファームウェアを格納する。前記通信部は、前記情報処理装置が前記複数の規格情報のうちのいずれの規格情報に対応するかを示す仕様情報を前記情報処理装置から前記接続部を介して取得する。前記選択部は、前記取得された仕様情報に基づいて前記情報処理装置が対応する規格情報に対応した前記ファームウェアを選択する。前記処理部は、前記選択されたファームウェアを前記メモリからロードし、前記情報処理装置からのグラフィック信号を処理する。