JP7213755B2 - 半導体システム及び半導体装置 - Google Patents

半導体システム及び半導体装置 Download PDF

Info

Publication number
JP7213755B2
JP7213755B2 JP2019099978A JP2019099978A JP7213755B2 JP 7213755 B2 JP7213755 B2 JP 7213755B2 JP 2019099978 A JP2019099978 A JP 2019099978A JP 2019099978 A JP2019099978 A JP 2019099978A JP 7213755 B2 JP7213755 B2 JP 7213755B2
Authority
JP
Japan
Prior art keywords
state
connection
control unit
port
transition
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.)
Active
Application number
JP2019099978A
Other languages
English (en)
Other versions
JP2020194384A (ja
Inventor
暖 青木
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2019099978A priority Critical patent/JP7213755B2/ja
Priority to US16/860,915 priority patent/US11288224B2/en
Priority to CN202010469522.1A priority patent/CN112015682A/zh
Publication of JP2020194384A publication Critical patent/JP2020194384A/ja
Application granted granted Critical
Publication of JP7213755B2 publication Critical patent/JP7213755B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/0016Inter-integrated circuit (I2C)
    • 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/0042Universal serial bus [USB]
    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は半導体システム及び半導体装置に関し、例えばUSB(Universal Serial Bus)ポートを制御する半導体システム及び半導体装置に関する。
近年、USB Type-C(登録商標)仕様(非特許文献1)に準拠したUSBポートが採用されている。ここで、非特許文献1にかかる仕様では、電力供給のコントローラ(Power Delivery Controller)がポートごとに1つ必要である。
ここで、Type-Cにかかるコントローラの仕様として、Type-C Port Controller Interface(TCPCI)仕様(非特許文献2)がある。非特許文献2にかかる仕様では、ポートマネージャ(Type-C Port Manager;TCPM)及びポートコントローラ(Type-C Port Controller;TCPC)が規定されている。そして、非特許文献2にかかる仕様では、1つのポートマネージャと、ポートごとに設けられた1つ以上のポートコントローラとによって、システムを構築できる。
「Universal Serial Bus Type-C Cable and Connector Specification」、Release 1.4、March 29, 2019 「Universal Serial Bus Type-CTM Port Controller Interface Specification」、Revision 2.0, Version 1.0、October 2017
しかし、非特許文献2にかかる技術では、以下に説明するように、USBポートに対する接続処理における処理時間が増大するおそれがある。非特許文献2にかかる上述したシステムでは、ポートマネージャとポートコントローラとは、I2C(Inter-Integrated Circuit)バスで接続されている。ここで、非特許文献2にかかるシステムでは、USBポートに対する接続処理において、ポートマネージャとポートコントローラとが通信を行う。したがって、USBポートに対する接続処理において、I2Cバスを介してポートマネージャとポートコントローラとの間で行われる通信の時間がボトルネックとなるおそれがある。したがって、ポート数が増加すると、通信時間が増大するおそれがある。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、半導体システムは、USBポートを制御するポートコントローラと、前記ポートコントローラとI2Cバスを介して接続され前記ポートコントローラを制御するポートマネージャとを有し、前記ポートコントローラは、前記USBポートにおける接続状態の遷移を実現するステートマシンと、前記ステートマシンにおける遷移を制御し、前記接続状態が電気的に安定して接続された状態である接続済み状態に遷移したときに接続済み状態遷移通知を出力する制御部とを有し、前記ポートマネージャは、前記接続済み状態遷移通知を受信して前記USBポートの接続を検出する接続検出部を有し、前記ポートマネージャは、前記接続検出部によって検出された接続に応じた処理を行う半導体システムである。
また、一実施の形態によれば、半導体装置は、USBポートにおける接続状態の遷移を実現するステートマシンと、前記ステートマシンにおける遷移を制御し、前記接続状態が電気的に安定して接続された状態である接続済み状態に遷移したときに接続済み状態遷移通知を出力する制御部とを有する半導体装置である。
また、一実施の形態によれば、半導体装置は、USBポートを制御するポートコントローラとI2Cバスを介して接続されたインタフェースと、ポートコントローラから送信された通知を受信して、前記USBポートの接続を検出する接続検出部とを有し、前記接続検出部によって検出された接続に応じた処理を行う半導体装置である。
前記一実施の形態によれば、USBポートに対する接続処理における処理時間を削減することが可能な半導体システム及び半導体装置を提供できる。
実施の形態1にかかる半導体システムの構成を示す図である。 実施の形態1にかかる半導体システムで実現される状態遷移図を例示する図である。 実施の形態1にかかる半導体システムで実現される状態遷移図を例示する図である。 実施の形態1にかかる半導体システムによって実行される処理を示すシーケンス図である。 実施の形態1にかかる半導体システムによって実行される処理を示すシーケンス図である。 比較例にかかる半導体システムの構成を示す図である。 比較例にかかる半導体システムによって実行される処理を示すシーケンス図である。 比較例にかかる半導体システムによって実行される処理を示すシーケンス図である。 実施の形態1にかかる半導体システムで実現される状態遷移図の他の例を示す図である。 実施の形態1にかかる半導体システムで実現される状態遷移図の他の例を示す図である。 実施の形態1にかかる半導体システムで実現される状態遷移図の他の例を示す図である。 実施の形態1にかかる半導体システムで実現される状態遷移図の他の例を示す図である。 実施の形態2にかかる半導体システムの構成を示す図である。 実施の形態3にかかる半導体システムの構成を示す図である。 実施の形態3にかかる制御部によって実行される制御方法を示すフローチャートである。
以下、実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明する。しかしながら、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではない。つまり、要素の数は、特定の数以上でも以下でもよい。
さらに、以下の実施の形態において、その構成要素(動作ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等(個数、数値、量、範囲等を含む)についても同様である。
また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他の回路で構成することができる。また、上記の各要素は、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
(実施の形態1)
図1は、実施の形態1にかかる半導体システム1の構成を示す図である。半導体システム1は、パーソナルコンピュータ及びスマートフォン等の、USBポートを有するデバイスに搭載されている。実施の形態1にかかる半導体システム1は、TCPM10(ポートマネージャ)と、TCPC100(ポートコントローラ)とを有する。TCPM10及びTCPC100は、I2Cバス2(Inter-Integrated Circuitバス)を介して通信可能に接続されている。TCPM10は、例えばマイクロコンピュータで実現され得る。TCPC100は、TCPM10とは別のIC(Integrated Circuit)に搭載され得る。つまり、TCPM10及びTCPC100は、半導体装置である。TCPC100は、USBポートを制御する。TCPM10は、TCPC100を制御する。
TCPC100は、図示しないUSBポート(Type-Cコネクタ)に接続されている。ここで、TCPC100は、USBポートごとに設けられている。したがって、例えば、USBポートが2つある場合は、TCPC100は、半導体システム1に2つ設けられ得る。つまり、図1では、半導体システム1は1つのTCPC100を有しているが、TCPC100の数は1つに限られない。一方、TCPM10は、半導体システム1に1つ設けられ得る。なお、デバイスが多数のUSBポート(例えば10ポート)を有する場合、デバイスの場合、TCPM10は、2つ以上設けられてもよい
TCPM10は、インタフェース12と、接続検出部14とを有する。TCPC100は、CCロジック102と、VBUS電圧検出器104と、インタフェース106と、制御部110とを有する。制御部110は、タイマ112を有する。なお、TCPM10は、電源供給(Power Delivery;PD)に関する構成要素(例えばPolicy Engine等)を有してもよい。同様に、TCPC100は、電源供給に関する構成要素(例えばPhysical Layer等)を有してもよい。また、本実施の形態にかかる半導体システム1において、インタフェース12、CCロジック102、VBUS電圧検出器104及びインタフェース106は、必須の構成要素ではない。
インタフェース12は、I2Cマスタとして機能する。インタフェース106は、I2Cスレーブとして機能する。VBUS電圧検出器104は、対応するUSBポートのVBUSライン(バス電圧ライン)の電圧を検出する。VBUS電圧検出器104は、VBUSラインの電圧を検出すると、制御部110に対し、電圧検出信号を出力する。
CCロジック102は、TCPCI仕様(非特許文献2)におけるType-C CC logicに対応する。CCロジック102は、ステートマシンを実現する。ここで、ステートマシンは、USBポートにおける状態(接続状態)の遷移を行う。具体的には、本実施の形態にかかるCCロジック102は、少なくとも、「未接続状態」、「接続確認状態」及び「接続済み状態」の遷移を行うための処理を行う。
ここで、「未接続状態」とは、USBポートに対して対向機器との(Type-Cケーブルを介した)接続がない状態である。「接続確認状態」とは、USBポートに対して対向機器と電気的に安定した接続が確実になされたかの確認がなされている状態である。また、「接続済み状態」とは、USBポートに対して電気的に安定した接続がなされた状態である。また、Type-C仕様に示されているように、USBポートは、対向機器に応じて、シンク(sink;SNK)として機能するか、又は、ソース(source;SRC)として機能する。そして、各接続状態には、USBポートがシンクとして機能するか、又はソースとして機能するかに応じて、別の状態がある。
なお、「未接続状態」は、Type-C仕様(非特許文献1)における「Unattached」ステート(「Unattached.SNK」ステート及び「Unattached.SRC」ステート)に対応し得る。また、「未接続状態」は、TCPCI仕様における「Apply Rd」ステート及び「Apply Rp」ステートに対応し得る。なお、以後、「Apply Rd」ステート及び「Apply Rp」ステートを「Apply」ステートと総称することがある。
また、「接続確認状態」は、Type-C仕様における「AttachWait」ステート(「AttachWait.SNK」)ステート及び「AttachWait.SRC」ステート)に対応し得る。また、「接続確認状態」は、TCPCI仕様における「Potential_Connect_As_Snk」ステート及び「Potential_Connect_As_Src」ステートに対応し得る。なお、以後、「Potential_Connect_As_Snk」ステート及び「Potential_Connect_As_Src」ステートを「Potential_Connect」ステートと総称することがある。
また、「接続済み状態」は、Type-C仕様における「Attached」ステート(「Attached.SNK」ステート及び「Attached.SRC」ステート)に対応し得る。また、「接続済み状態」は、TCPCI仕様における「Attached」ステート(「Attached.Snk」ステート及び「Attached.Src」ステート)に対応し得る。
さらに具体的には、CCロジック102は、Type-C仕様に準拠して、Type-Cコネクタ(USBポート)のCC(Configuration Channel)信号を制御する。そして、CCロジック102は、USBポートの状態(接続状態)を検出する。Type-C仕様によれば、CCロジック102は、2つのCC信号(CC1信号及びCC2信号)を、Rp(Pullup抵抗)接続又はRd(Pulldown抵抗)接続に制御する。
このとき、シンク機能を有する対向機器(コンシューマ)がCC信号をRd接続(つまりシンク側)に制御していたとする。この場合、CCロジック102がCC信号をRd接続に制御すると、抵抗Rdの電圧はグランドレベルに落ち、抵抗Rpと抵抗Rdとで分圧されていない状態となる。このとき、CCロジック102は、対向機器が接続されたことを検出しない。一方、CCロジック102がCC信号をRp接続に制御すると、CC信号における電位は抵抗Rpと抵抗Rdとで分圧された状態となる。このとき、CCロジック102は、対向機器が接続されたことを検出する。つまり、USBポートの接続状態は、「未接続状態」から「接続確認状態」に遷移する。そして、CCロジック102は、対向機器が接続された状態であること、つまり「接続確認状態」を検出した旨を示す状態検出信号を、制御部110に出力する。
また、ソース機能を有する対向機器(プロバイダ)がCC信号をRp接続(つまりソース側)に制御していたとする。この場合、CCロジック102がCC信号をRp接続に制御すると、抵抗Rpの電圧は高い状態となり、抵抗Rpと抵抗Rdとで分圧されていない状態となる。このとき、CCロジック102は、対向機器が接続されたことを検出しない。一方、CCロジック102がCC信号をRd接続に制御すると、CC信号における電位は抵抗Rpと抵抗Rdで分圧された状態となる。このとき、CCロジック102は、対向機器が接続されたことを検出する。つまり、USBポートの接続状態は、「未接続状態」から「接続確認状態」に遷移する。そして、CCロジック102は、対向機器が接続された状態であること、つまり「接続確認状態」を検出した旨を示す状態検出信号を、制御部110に出力する。
制御部110は、USBポートにおける接続状態の遷移を制御する。つまり、制御部110は、ステートマシンにおける遷移を制御する。そして、制御部110は、この接続状態が接続済み状態(Attachedステート)に遷移したときに、接続済み状態遷移通知(Attachedステート遷移通知)を出力する。この接続済み状態遷移通知は、インタフェース106、I2Cバス2及びインタフェース12を介して、接続検出部14に送信される。なお、接続済み状態遷移通知は、USBポートがシンクとして機能するか、ソースとして機能するかを示し得る。
具体的には、制御部110は、「接続確認状態」を検出した旨を示す状態検出信号をCCロジック102から受信すると、タイマ112を使用して、接続確認状態の継続時間を計測する。つまり、タイマ112は、接続状態が未接続状態から接続確認状態へ遷移したときからの時間を計測する。そして、制御部110は、接続確認状態の継続時間が予め定められた時間(第1の時間)を経過した場合に、接続状態を接続済み状態に遷移させる。このとき、制御部110は、接続済み状態遷移通知を出力する。なお、制御部110は、接続確認状態の継続時間が第1の時間を経過し、さらに、電圧検出信号を受信した場合、に、接続状態を接続済み状態に遷移させてもよい。一方、制御部110は、接続確認状態の継続時間が予め定められた時間(第1の時間)を経過する前にUSBポートに対する接続が解除された場合に、接続状態を未接続状態に遷移させる。
接続検出部14は、接続済み状態遷移通知を受信して、USBポートの接続を検出する。つまり、接続検出部14は、USBポートと対向機器とが電気的に安定して接続された状態となったことを検出する。さらに、接続検出部14は、USBポートがシンクとして機能するのか、又はソースとして機能するのかを検出する。このとき、TCPM10は、接続検出部14によって検出された接続に応じた処理(例えば受電及び給電の少なくとも一方に関する処理)を行う。具体的には、TCPM10は、電源回路を制御するか、又は、PD(Power Delivery)処理を行う。これにより、USBポートがシンクとして機能する場合は、USBポートを介して、半導体システム1が搭載されたデバイスに電力が供給される。また、USBポートがソースとして機能する場合は、半導体システム1が搭載されたデバイスは、USBポートに接続された対向機器に電力を供給する。
図2及び図3は、実施の形態1にかかる半導体システム1で実現される状態遷移図を例示する図である。図2及び図3は、TCPCI仕様に準拠したDRP(Dual Role Power)デバイスに関する状態遷移図を例示している。なお、図2及び図3に示した状態遷移図において、本実施の形態と関係のないステート及び遷移については、適宜、説明を省略する。
図2は、接続状態が接続済み状態に遷移するまでの状態遷移図を示している。まず、ステートマシン(接続状態)は、一定時間おきに、「Apply Rd」ステートSt101(未接続状態)と「Apply Rp」ステートSt102(未接続状態)との間で交互に遷移する。つまり、ステートマシンは、一定時間おきに、「Apply Rd」ステートSt101と「Apply Rp」ステートSt102との間で状態をトグルする。なお、「Apply Rd」ステートSt101は、自身のCC信号がRd接続に制御された状態である。また、「Apply Rp」ステートSt102は、自身のCC信号がRp接続に制御された状態である。
ステートマシンが「Apply Rd」ステートSt101であるときに、ソース機能を有する対向機器がUSBポートに接続され、上述したようなCC信号における電位が分圧された状態になるとする。この場合、上述したように、ステートマシンは、「Potential_Connect_As_Snk」ステートSt111に遷移する。この状態でソース機能を有する対向機器がUSBポートから取り外されると、ステートマシンは、「Apply Rp」ステートSt102に遷移する。一方、CC信号における電位が分圧された状態が第1の時間(tCCDebounce)継続し、VBUSラインの電圧が検出されると、ステートマシンは、「Attached.Snk」ステートSt121に遷移する。
一方、ステートマシンが「Apply Rp」ステートSt102であるときに、シンク機能を有する対向機器がUSBポートに接続され、上述したようなCC信号における電位が分圧された状態になるとする。この場合、上述したように、ステートマシンは、「Potential_Connect_As_Src」ステートSt112に遷移する。この状態でシンク機能を有する対向機器がUSBポートから取り外されると、ステートマシンは、「Apply Rd」ステートSt101に遷移する。一方、CC信号における電位が分圧された状態が第1の時間(tCCDebounce)継続し、VBUSラインの電圧がvSafe0Vであると、ステートマシンは、「Attached.Src」ステートSt122に遷移する。
図3は、接続状態が接続済み状態から未接続状態に遷移するまでの状態遷移図を示している。ステートマシンが「Attached.Snk」ステートSt121であるときに、VBUSラインの電圧が検出されなくなりソース機能を有する対向機器との接続の解除が検出されたとする。この場合、ステートマシンは、「Disconnected_As_Snk」ステートSt131に遷移する。そして、無条件に、ステートマシンは、「Apply Rd」ステートSt101に遷移する。
また、ステートマシンが「Attached.Src」ステートSt122であるときに、CC信号のステータスの変化が検出されてシンク機能を有する対向機器との接続の解除が検出されたとする。この場合、ステートマシンは、「Disconnected_As_Src」ステートSt132に遷移する。そして、無条件に、ステートマシンは、「Apply Rd」ステートSt101に遷移する。
図4及び図5は、実施の形態1にかかる半導体システム1によって実行される処理を示すシーケンス図である。まず、TCPM10が初期設定を行ってステートマシンが開始する(ステップS102)。これにより、ステートマシンは、「Apply Rp」ステートと「Apply Rd」ステートとの間でトグル状態となる。
そして、USBポートに対向機器が接続すると、ステートマシンは、「Potential_Connect_As_Snk」ステート又は「Potential_Connect_As_Src」ステートに遷移する。このとき、TCPC100の制御部110は、この接続確認状態が第1の時間継続したか否かを判定する(ステップS104)。接続確認状態が第1の時間継続しなかった場合(S104のNO)、制御部110は、「Apply Rp」ステート又は「Apply Rd」ステートへ遷移するように、ステートマシンを制御する(ステップS105)。
一方、接続確認状態が第1の時間継続した場合(S104のYES)、制御部110は、接続済み状態へ遷移するように、ステートマシンを制御する。これにより、ステートマシンは、「Attached.Snk」ステート又は「Attached.Src」ステートに遷移する。そして、制御部110は、TCPM10に対し、接続状態が接続済み状態に遷移した旨の通知を送信する(ステップS106)。接続検出部14がこの通知を受信すると、TCPM10は、「Attached.Snk」ステート又は「Attached.Src」ステートにおける処理を実行する(ステップS108)。
ステートマシンが「Attached.Snk」ステート又は「Attached.Src」ステートである場合に、USBポートと対向機器との接続が解除されたとする。この場合、ステートマシンは、「Disconnected_As_Snk」ステート又は「Disconnected_As_Src」ステートに遷移する。このとき、TCPC100は、VbusSinkDisconnectedの検出又はCC信号のステータスの変化を、TCPM10に通知する(ステップS112)。そして、TCPC100は、VBUSのスイッチをオフし、VBUSをディスチャージする(ステップS114)。そして、ステートマシンは、「Apply Rd」ステートに遷移し、その後、「Apply Rp」ステートと「Apply Rd」ステートとの間でトグル状態となる。
(比較例)
以下、本実施の形態を比較例と比較することで、本実施の形態の効果を説明する。
図6は、比較例にかかる半導体システム80の構成を示す図である。半導体システム80は、TCPM90(ポートマネージャ)と、TCPC82(ポートコントローラ)とを有する。TCPM90及びTCPC82は、I2Cバス2を介して通信可能に接続されている。なお、比較例は、TCPCI仕様に準拠したシステムに対応している。
TCPM90は、インタフェース12と、TCPCステート制御部92とを有する。TCPC82は、CCロジック102と、VBUS電圧検出器104と、インタフェース106とを有する。比較例にかかるTCPC82は、制御部110を有しない点で、実施の形態1にかかるTCPC100と異なる。また、比較例にかかるTCPM90は、接続検出部14を有さず、TCPCステート制御部92を有する点で、実施の形態1にかかるTCPM10と異なる。その他の構成要素については、実質的に、実施の形態1にかかる構成要素と同様である。
図7及び図8は、比較例にかかる半導体システム80によって実行される処理を示すシーケンス図である。まず、TCPM90が初期設定を行ってステートマシンが開始する(ステップS902)。これにより、ステートマシンは、「Apply Rp」ステートと「Apply Rd」ステートとの間でトグル状態となる。
そして、USBポートに対向機器が接続すると、ステートマシンは、「Potential_Connect_As_Snk」ステート又は「Potential_Connect_As_Src」ステートに遷移する。このとき、TCPC82は、CC信号のステータス(CCステータス)の変化を、TCPM90に通知する(ステップS904)。このとき、TCPM90のTCPCステート制御部92は、I2Cバス2を介して、tCCDebounce期間、CCステータスをリードする(ステップS906)。具体的には、TCPCステート制御部92は、TCPC82のCCステータスレジスタにアクセスして、CCステータスを読み出す。
そして、TCPCステート制御部92は、接続確認状態がtCCDebounce期間継続したか否かを判定する(ステップS908)。接続確認状態がtCCDebounce期間継続しなかった場合(S908のNO)、TCPCステート制御部92は、「Apply Rp」ステート又は「Apply Rd」ステートへ遷移する旨の指示を、TCPC82に送信する(ステップS909)。これにより、ステートマシンは、「MAINTAIN_STATE」(図3)を経由して、「Apply Rp」ステート又は「Apply Rd」ステートに遷移する。一方、接続確認状態がtCCDebounce期間継続した場合(S908のYES)、TCPCステート制御部92は、接続済み状態へ遷移する旨の指示を、TCPC82に送信する(ステップS910)。具体的には、TCPCステート制御部92は、TCPC82のCCステータスレジスタにアクセスして、制御内容を書き込む。これにより、ステートマシンは、「MAINTAIN_STATE」(図3)を経由して、「Attached.Snk」ステート又は「Attached.Src」ステートに遷移する。TCPM90は、「Attached.Snk」ステート又は「Attached.Src」ステートにおける処理を実行する(ステップS912)。
ステートマシンが「Attached.Snk」ステート又は「Attached.Src」ステートである場合に、USBポートと対向機器との接続が解除されたとする。この場合、ステートマシンは、「Disconnected_As_Snk」ステート又は「Disconnected_As_Src」ステートに遷移する。このとき、TCPC82は、VbusSinkDisconnectedの検出又はCC信号のステータスの変化を、TCPM90に通知する(ステップS914)。そして、TCPC82は、VBUSのスイッチをオフし、VBUSをディスチャージする(ステップS916)。通知を受けたTCPM90(TCPCステート制御部92)は、「Apply Rd」ステートに遷移する旨の指示を、TCPC82に送信する(ステップS918)。これにより、ステートマシンは、「MAINTAIN_STATE」(図3)を経由して、「Apply Rd」ステートに遷移する。その後、ステートマシンは、「Apply Rp」ステートと「Apply Rd」ステートとの間でトグル状態となる。
上述した比較例のように、TCPCI仕様では、TCPM90(TCPCステート制御部92)が、I2Cバス2を介してTCPC82のレジスタにアクセスすることで、ステートマシンを接続済み状態に遷移させる。このとき、I2Cバス2を介してTCPC82とTCPM90とが通信を行うことにより、通信時間が増大するおそれがある。したがって、ポート数が増加すると通信時間がさらに増大するため、比較例にかかるシステムでは、ポート数を増加させることは困難である。一方で、Type-AコネクタにかかるACアダプタでは、4ポート超の製品も多数存在する。したがって、Type-C製品においても、ポート数を増加させることが望まれる。
これに対し、本実施の形態では、上記のように構成されていることで、USBポートにおける接続処理において、TCPC100が、ステートマシンを接続済み状態に遷移させることが可能である。言い換えると、本実施の形態では、USBポートにおける接続処理において、TCPM10が関与することなく、ステートマシンを接続済み状態に遷移させることが可能である。これにより、I2Cバス2を介した通信時間を削減させることができる。したがって、本実施の形態では、USBポートに対する接続処理において、USBポートに対する接続処理における処理時間を削減することが可能である。これにより、ポート数を増加させても、処理時間が増大することを抑制できる。
また、実施の形態1にかかる制御部110は、タイマ112を使用して、USBポートに対する接続がなされた接続確認状態の継続時間を計測する。そして、制御部110は、継続時間が予め定められた第1の時間(tCCDebounce期間)を経過した場合に、接続状態を接続済み状態に遷移させる。これにより、TCPC100が、TCPM10の関与なしに、効率的にステートマシンを接続済み状態に遷移させることが可能となる。
また、実施の形態1にかかる制御部110は、接続確認状態の継続時間が第1の時間を経過する前にUSBポートに対する接続が解除された場合に、接続状態を未接続状態に遷移させる。これにより、TCPM10の関与なしに、ステートマシンを未接続状態に遷移させることが可能である。したがって、ステートマシンを未接続状態に遷移させる場合においても、I2Cバス2を介した通信時間を削減させることができる。
(本実施の形態にかかるステートマシンの他の例)
図9~図12は、実施の形態1にかかる半導体システム1で実現される状態遷移図の他の例を示す図である。なお、図9~図12に例示する状態遷移図について、本実施の形態と関係のないステート及び遷移については、適宜、説明を省略する。
図9は、Type-C仕様に準拠したDRPデバイスに関する状態遷移図を例示している。ステートマシン(接続状態)は、一定時間おきに、「Unattached.SNK」ステートSt201と「Unattached.SRC」ステートSt202との間で交互に遷移する。つまり、ステートマシンは、一定時間おきに、「Unattached.SNK」ステートSt201と「Unattached.SRC」ステートSt202との間で状態をトグルする。なお、「Unattached.SNK」ステート及び「Unattached.SRC」ステートは、上述した「未接続状態」に対応する。また、「Unattached.SNK」ステートSt201は、自身のCC信号がRd接続に制御された状態である。また、「Unattached.SRC」ステートSt202は、自身のCC信号がRp接続に制御された状態である。
ステートマシンが「Unattached.SNK」ステートSt201であるときに、ソース機能を有する対向機器がUSBポートに接続され、上述したようなCC信号における電位が分圧された状態になるとする。この場合、上述したように、ステートマシンは、「AttachWait.SNK」ステートSt211に遷移する。なお、「AttachWait.SNK」ステートは、上述した「接続確認状態」に対応する。このとき、上述したように、制御部110は、タイマ112を用いて、「AttachWait.SNK」ステートSt211に遷移してからの時間を計測する。この状態でソース機能を有する対向機器がUSBポートから取り外されると、制御部110による制御によって、ステートマシンは、「Unattached.SRC」ステートSt202に遷移する。一方、CC信号における電位が分圧された状態が第1の時間(tCCDebounce)継続し、VBUSラインの電圧が検出されたとする。この場合、制御部110による制御によって、ステートマシンは、「Attached.SNK」ステートSt221に遷移する。なお、「Attached.SNK」ステートは、上述した「接続済み状態」に対応する。また、この状態で、VBUSラインの電圧が検出されなくなりソース機能を有する対向機器との接続の解除が検出されると、ステートマシンは、「Unattached.SNK」ステートSt201に遷移する。
一方、ステートマシンが「Unattached.SRC」ステートSt202であるときに、シンク機能を有する対向機器がUSBポートに接続され、上述したようなCC信号における電位が分圧された状態になるとする。この場合、上述したように、ステートマシンは、「AttachWait.SRC」ステートSt212に遷移する。なお、「AttachWait.SRC」ステートは、上述した「接続確認状態」に対応する。このとき、上述したように、制御部110は、タイマ112を用いて、「AttachWait.SNK」ステートSt211に遷移してからの時間を計測する。この状態でシンク機能を有する対向機器がUSBポートから取り外されると、制御部110による制御によって、ステートマシンは、「Unattached.SNK」ステートSt201に遷移する。一方、CC信号における電位が分圧された状態が第1の時間(tCCDebounce)継続し、VBUSラインの電圧がvSafe0Vであったとする。この場合、制御部110による制御によって、ステートマシンは、「Attached.SRC」ステートSt222に遷移する。なお、「Attached.SRC」ステートは、上述した「接続済み状態」に対応する。また、この状態で、シンク機能を有する対向機器との接続の解除が検出されると、ステートマシンは、「Unattached.SNK」ステートSt201に遷移する。
図10及び図11は、TCPCI仕様に対応したTry.SRCデバイスに関する状態遷移図を例示している。図10は、接続状態が接続済み状態に遷移するまでの状態遷移図を示している。ここで、Try.SRCデバイスは、他のDRPデバイスと接続するときに、ソースとして機能するDRPデバイスである。なお、図10及び図11には、Try.SRCデバイスについての例を示したが、Try.SNKデバイスについても同様である。ここで、Try.SNKデバイスは、他のDRPデバイスと接続するときに、シンクとして機能するDRPデバイスである。
なお、図10に示した「Apply Rd」ステートSt301及び「Apply Rp」ステートSt302は、それぞれ、図2に示したSt101及びSt102と実質的に同様である。また、図10に示した「Potential_Connect_As_Snk」ステートSt311は、図2に示したSt111と実質的に同様である。また、図10に示した「Potential_Connect_As_Src」ステートSt312は、図2に示したSt112と実質的に同様である。また、図10に示した「Attached.Snk」ステートSt321は、図2に示したSt121と実質的に同様である。また、図10に示した「Attached.Src」ステートSt322は、図2に示したSt122と実質的に同様である。
また、図10に示したSt301とSt302との間の遷移は、図2に示したSt101とSt102との間の遷移と実質的に同様である。また、図10に示したSt301からSt311への遷移は、図2に示したSt101からSt111への遷移と実質的に同様である。また、図10に示したSt302からSt312への遷移は、図2に示したSt102からSt112への遷移と実質的に同様である。
また、図10に示したSt311からSt302への遷移は、図2に示したSt111からSt102への遷移と実質的に同様である。また、図10に示したSt312からSt301への遷移は、図2に示したSt112からSt101への遷移と実質的に同様である。また、図10に示したSt312からSt322への遷移は、図2に示したSt112からSt122への遷移と実質的に同様である。
ステートマシンが「Potential_Connect_As_Snk」ステートSt311であるときに、CC信号における電位が分圧された状態がtCCDebounce期間継続し、VBUSラインの電圧が検出されたとする。このとき、制御部110による制御によって、ステートマシンは、「Try.SRC」ステートSt316に遷移する。このSt316で、TCPC100は、USBポートに接続された対向機器がシンク機能を有しているか否かを確認する。また、このSt316のとき、デバイスは、CC信号に抵抗Rpを接続し、ステートマシンは、対抗機器がRd接続を行うか否かを確認する。つまり、制御部110は、St311である場合に、CC信号における電位が分圧された状態がtCCDebounce期間継続し、VBUSラインの電圧が検出されたか否かを判定する。そして、CC信号における電位が分圧された状態がtCCDebounce期間継続し、VBUSラインの電圧が検出されたときに、制御部110は、接続状態を「対向機器確認状態」(St316)に遷移させる。
ステートマシンが「Try.SRC」ステートSt316であるときに、tTryCCDebounce期間で対向機器側のCC信号がRd接続されて電位が分圧され、シンクが検出されたとする。このとき、制御部110による制御によって、ステートマシンは、「Attached.Src」ステートSt322に遷移する。つまり、制御部110は、St316である場合に、対向機器が受電機能(特定機能;第1の機能)を有していることを検出している状態がtTryCCDebounce期間(第2の時間)継続したときに、接続状態を接続済み状態に遷移させる。
一方、ステートマシンが「Try.SRC」ステートSt316であるときに、tDRPTry時間経過後にシンクが検出されず、VBUSラインの電圧がvSafe0Vであるとする。このとき、制御部110による制御によって、ステートマシンは、「TryWait.SNK」ステートSt318に遷移する。このSt318で、ステートマシンは、USBポートがシンクとして接続されるように待機する。つまり、制御部110は、St316である場合に、tDRPTry時間(第3の時間)経過後に対向機器側が受電機能を有していることが検出されないときに、接続状態を「TryWait.SNK」に遷移させる。言い換えると、制御部110は、St316である場合に、第3の時間経過後に、対向機器側が特定機能を有していることを検出していないときに、接続状態を「特定機能待機状態」に遷移させる。「特定機能待機状態」は、USBポートが特定機能を有するように待機している状態である。
また、このSt318のとき、デバイスは、CC信号を抵抗Rdに接続し、ステートマシンは、対抗機器がRp接続を行うか否かを確認する。このSt318において、tCCDebounce期間で、対向機器側のCC信号がRp接続されて電位が分圧された状態が継続してソースが検出され、VBUSラインの電圧が検出されたとする。このとき、制御部110による制御によって、ステートマシンは、「Attached.Snk」ステートSt321に遷移する。一方、St318において、tPDDebounce期間で、ソースが検出されなかった場合、制御部110による制御によって、ステートマシンは、「Apply Rd」ステートSt301に遷移する。つまり、制御部110は、St318である場合に、対向機器側が給電機能を有していることを検出している状態がtCCDebounce期間継続したときに、接続状態を「接続済み状態」に遷移させる。一方、制御部110は、St318である場合に、対向機器側が給電機能を有していることを検出していない状態がtPDDebounce期間(第4の時間)継続したときに、接続状態を「未接続状態」に遷移させる。
図11は、接続状態が接続済み状態から未接続状態に遷移するまでの状態遷移図を示している。図11に示した「Disconnected_As_Snk」ステートSt331は、図3に示したSt131と実質的に同様である。図11に示した「Disconnected_As_Src」ステートSt332は、図3に示したSt132と実質的に同様である。
また、図11に示したSt321からSt331への遷移は、図2に示したSt121からSt131への遷移と実質的に同様である。また、図11に示したSt322からSt332への遷移は、図2に示したSt122からSt132への遷移と実質的に同様である。また、図11に示したSt331からSt301への遷移は、図2に示したSt131からSt101への遷移と実質的に同様である。なお、ステートマシンは、「Disconnected_As_Src」ステートSt332に遷移すると、無条件に、TryWait.SNK」ステートSt318に遷移する。
図12は、Type-C仕様に対応するTry.SRCデバイスに関する状態遷移図を例示している。なお、図12に示した「Unattached.SNK」ステートSt401及び「Unattached.SRC」ステートSt402は、それぞれ、図9に示したSt201及びSt202と実質的に同様である。また、図12に示した「AttachWait.SNK」ステートSt411は、図9に示したSt211と実質的に同様である。また、図12に示した「AttachWait.SRC」ステートSt412は、図9に示したSt212と実質的に同様である。また、図12に示した「Attached.SNK」ステートSt421は、図9に示したSt221と実質的に同様である。また、図12に示した「Attached.SRC」ステートSt422は、図9に示したSt222と実質的に同様である。
また、図12に示したSt401とSt402との間の遷移は、図9に示したSt2101とSt202との間の遷移と実質的に同様である。また、図12に示したSt401からSt411への遷移は、図9に示したSt201からSt211への遷移と実質的に同様である。また、図12に示したSt402からSt412への遷移は、図9に示したSt202からSt212への遷移と実質的に同様である。
また、図12に示したSt411からSt402への遷移は、図9に示したSt211からSt202への遷移と実質的に同様である。また、図12に示したSt412からSt401への遷移は、図9に示したSt212からSt201への遷移と実質的に同様である。また、図12に示したSt412からSt422への遷移は、図9に示したSt212からSt222への遷移と実質的に同様である。また、図12に示したSt421からSt401への遷移は、図9に示したSt221からSt201への遷移と実質的に同様である。
ステートマシンが「AttachWait.SNK」ステートSt411であるときに、CC信号における電位が分圧された状態がtCCDebounce期間継続し、VBUSラインの電圧が検出されたとする。このとき、制御部110による制御によって、ステートマシンは、「Try.SRC」ステートSt416に遷移する。このSt416で、TCPC100は、USBポートに接続された対向機器がシンク機能を有しているか否かを確認する。
ステートマシンが「Try.SRC」ステートSt416であるときに、tTryCCDebounce期間で対向機器側のCC信号がRd接続されて電位が分圧され、シンクが検出されたとする。このとき、制御部110による制御によって、ステートマシンは、「Attached.SRC」ステートSt422に遷移する。
一方、ステートマシンが「Try.SRC」ステートSt416であるときに、tDRPTry期間でシンクが検出されず、VBUSラインの電圧がvSafe0Vであるとする。このとき、制御部110による制御によって、ステートマシンは、「TryWait.SNK」ステートSt418に遷移する。このSt418で、ステートマシンは、USBポートがシンクとして接続されるように待機する。
このSt418において、tCCDebounce期間で、対向機器側のCC信号がRp接続されて電位が分圧された状態が継続してソースが検出され、VBUSラインの電圧が検出されたとする。このとき、制御部110による制御によって、ステートマシンは、「Attached.SNK」ステートSt421に遷移する。一方、St418において、tPDDebounce期間で、ソースが検出されなかった場合、制御部110による制御によって、ステートマシンは、「Unattached.SNK」ステートSt401に遷移する。
このように、TCPC100に制御部110を設けることによって、任意のステートマシンにおける状態遷移を、TCPM10の関与なしに、TCPC100によって実行することが可能となる。これにより、I2Cバス2を介した通信時間を削減させることができる。したがって、本実施の形態では、任意のステートマシンに関する半導体システム1について、USBポートに対する接続処理において、USBポートに対する接続処理における処理時間を削減することが可能である。これにより、ポート数を増加させても、処理時間が像対することを抑制できる。
なお、Try.SNKデバイスの場合、上述した特定機能(第1の機能)は、給電機能であり得る。そして、制御部110は、上述した「Try.SRC」ステートについての処理の代わりに、「Try.SNK」ステートについての処理を行う。同様に、制御部110は、上述した「TryWait.SNK」ステートについての処理の代わりに、「TryWait.SRC」ステートについての処理を行う。
(実施の形態2)
次に、実施の形態2について説明する。実施の形態2にかかる半導体システムは、TCPC100が電源回路を制御する点で、実施の形態1にかかる半導体システムと異なる。その他の構成については、実施の形態1にかかる構成と実質的に同様である。
図13は、実施の形態2にかかる半導体システム1の構成を示す図である。実施の形態2にかかる半導体システム1は、TCPM10と、ポートIC20とを有する。TCPM10及びポートIC20は、I2Cバス2を介して通信可能に接続されている。実施の形態2にかかるTCPM10の構成は、実施の形態1にかかるTCPM10の構成と実質的に同様である。ポートIC20は、USBポートごとに設けられている。ポートIC20は、対応するUSBポートに関する処理を行う。
ポートIC20は、TCPC100と、電源回路22とを有する。実施の形態2にかかるTCPC100の構成は、実施の形態1にかかるTCPC100の構成と実質的に同様である。電源回路22は、受電及び給電の少なくとも一方を行う。TCPC100の制御部110は、接続状態が接続済み状態に遷移したときに、電源回路22を制御する。つまり、本実施の形態では、制御部110が接続状態を接続済み状態に遷移させるので、TCPM10ではなく、制御部110が、直接、電源回路22を制御することができる。
具体的には、接続状態が「Attached.SNK」ステートに遷移した場合、制御部110は、電源回路22に受電処理をさせるように、電源回路22を制御する。この場合、制御部110の制御によって、電源回路22は、VBUS受電回路のスイッチをオンして、VBUS受電回路を有効にする。これにより、半導体システム1が搭載されたデバイスに、対向機器から電力が供給される。
また、接続状態が「Attached.SRC」ステートに遷移した場合、制御部110は、電源回路22に給電処理をさせるように、電源回路22を制御する。この場合、制御部110の制御によって、電源回路22は、対向機器に対してVBUSを出力する。さらに、VCONNがサポートされているときは、電源回路22は、ケーブルに対してVCONNを出力する。
なお、図13には、ポートIC20に電源回路22が内蔵されている例が示されているが、本実施の形態は、このような構成に限らない。電源回路22は、ポートIC20に内蔵されていなくてもよく、ポートIC20の外部にあってもよい。この場合、電源回路22は、ポートIC20(TCPC100)と、ゲート制御信号線等を介して接続され得る。制御部110は、接続状態が接続済み状態に遷移したときに、バスを介して、電源回路22に制御信号を送信する。電源回路22は、制御信号を受信して、その制御信号に応じた受電処理又は給電処理を行う。
実施の形態2にかかる半導体システム1は、実施の形態1にかかる半導体システム1と同様に、USBポートにおける接続処理において、TCPM10が関与することなく、ステートマシンを接続済み状態に遷移させることが可能である。これにより、I2Cバス2を介した通信時間を削減させることができる。したがって、実施の形態2にかかる半導体システム1は、実施の形態1にかかる効果と実質的に同様の効果を奏しうる。
また、実施の形態2にかかる半導体システム1は、上述したように、TCPC100に設けられた制御部110が、電源回路22を制御する。つまり、実施の形態2にかかる半導体システム1は、TCPM10の関与なしに、TCPC100が、直接、電源回路22を制御することができる。したがって、TCPM10が電源回路22を制御する場合と比較して、効率的に、電源回路22を制御することができる。言い換えると、TCPM10が電源回路22を制御する場合と比較して、効率的に、受電処理又は給電処理を行うことが可能となる。
(実施の形態3)
次に、実施の形態3について説明する。実施の形態3は、Type-C仕様又はTCPCI仕様(以下、「Type-C仕様等」)が更新されることが考慮されている点で、他の実施の形態と異なる。すなわち、本実施の形態にかかる半導体システム1がデバイスに実装された後で、Type-C仕様等が更新されることがあり得る。この場合、ステートマシンにおけるステート追加及び遷移条件の変更等がなされ得る。実施の形態3にかかる半導体システム1は、このようなケースに対応可能に構成されている。
図14は、実施の形態3にかかる半導体システム1の構成を示す図である。実施の形態1にかかる半導体システム1と同様に、実施の形態3にかかる半導体システム1は、TCPM10と、TCPC100とを有する。TCPM10は、インタフェース12と、接続検出部14と、ステート制御部16とを有する。実施の形態3にかかるTCPM10は、ステート制御部16を有する点で、他の実施の形態にかかるTCPM10と異なる。実施の形態3にかかるTCPM10のその他の構成については、他の実施の形態にかかるTCPM10の構成と実質的に同様である。ステート制御部16は、TCPC100からの通知を受信した場合に、TCPCステート制御部92と実質的に同様の処理を行う。詳しくは後述する。
TCPC100は、CCロジック102と、VBUS電圧検出器104と、インタフェース106と、制御部110とを有する。制御部110は、タイマ112と、レジスタ114とを有する。実施の形態3にかかるTCPC100は、制御部110がレジスタ114を有する点で、他の実施の形態にかかるTCPC100と異なる。実施の形態3にかかるTCPC100のその他の構成については、他の実施の形態にかかるTCPC100の構成と実質的に同様である。レジスタ114は、ステートマシンにおける予め定められた状態(第1の状態)を設定する。このレジスタ114に設定された第1の状態(設定ステート)は、Type-C仕様等が更新された場合に、ステートマシンにおいて変更されたステート又は遷移条件に関するステートに対応する。詳しくは後述する。
図15は、実施の形態3にかかる制御部110によって実行される制御方法を示すフローチャートである。制御部110は、レジスタ114に、予め定められたステートを設定する(ステップS300)。ここで、ステートマシンにおいて、あるステートが追加された場合、設定ステートは、その追加されたステートの遷移元となるステートであり得る。また、ステートマシンにおいて、あるステートから別のステートへの遷移条件が変更された場合、設定状態は、その変更された遷移条件の遷移元となるステートであり得る。
制御部110は、接続状態(ステートマシン)が設定ステートに遷移したか否かを判定する(ステップS302)。設定ステートに遷移した場合(S302のYES)、制御部110は、ステートマシンを停止させる(ステップS304)。つまり、制御部110は、接続状態が設定ステート(第1の状態)に遷移したとき、ステートマシンを停止させる機能を有する。
そして、制御部110は、ステートマシンを停止させたことの通知を外部に送信する(ステップS306)。つまり、制御部110は、ステートマシンを停止させたことを外部に通知する機能を有する。TCPM10がI2Cバス2を介してこの通知を受信すると、TCPM10における処理が開始する。具体的には、ステート制御部16は、更新されたType-C仕様等において変更されたステート又は遷移条件に関する制御を行う。
制御部110は、上述したTCPM10における処理が終了したか否かを判定する(ステップS308)。TCPM10における処理が終了した場合(S308のYES)、制御部110は、ステート制御部16によって制御されたステート又は遷移条件の遷移先のステートからステートマシンを再開する(ステップS310)。これにより、制御部110は、変更がなされていないステート又は遷移条件に関する制御を、上述した実施の形態と同様に行うことができる。
具体例を挙げて説明する。例えば、図10に示した状態遷移図(ステートマシン)で、「Try.SRC」ステートSt316と「TryWait.SNK」ステートSt318との間にステートが新たに追加されたとする。この場合、制御部110は、設定ステートとして、「Try.SRC」ステートSt316をレジスタ114に設定する(S300)。そして、接続状態が「Try.SRC」ステートSt316に遷移した場合(S302のYES)、制御部110は、ステートマシンを停止させる(S304)。この場合、S306において制御部110から送信された通知をTCPM10が受信すると、ステート制御部16は、新たに追加されたステートに関する制御を行う。そして、TCPM10における処理が終了した場合(S308のYES)、制御部110は、追加されたステートの遷移先のステートからステートマシンを再開する(S310)。つまり、制御部110は、「TryWait.SNK」ステートSt318からステートマシンを再開する。
また、例えば、図10に示した状態遷移図(ステートマシン)で、「TryWait.SNK」ステートSt318から「Apply Rd」ステートSt301に遷移する遷移条件が変更されたとする。この場合、制御部110は、設定ステートとして、「TryWait.SNK」ステートSt318をレジスタ114に設定する(S300)。そして、接続状態が「TryWait.SNK」ステートSt318に遷移した場合(S302のYES)、制御部110は、ステートマシンを停止させる(S304)。この場合、S306において制御部110から送信された通知をTCPM10が受信すると、ステート制御部16は、変更された遷移条件の判定処理を行う。そして、TCPM10における処理が終了した場合(S308のYES)、制御部110は、変更された遷移条件の遷移先のステートからステートマシンを再開する(S310)。つまり、制御部110は、「Apply Rd」ステートSt301からステートマシンを再開する。
実施の形態3にかかる半導体システム1は、実施の形態1にかかる半導体システム1と同様に、USBポートにおける接続処理において、TCPM10が関与することなく、ステートマシンを接続済み状態に遷移させることが可能である。これにより、I2Cバス2を介した通信時間を削減させることができる。したがって、実施の形態3にかかる半導体システム1は、実施の形態1にかかる効果と実質的に同様の効果を奏しうる。
また、上述したように、実施の形態3では、接続状態が設定ステート(第1の状態)に遷移したとき、制御部110が、ステートマシンを停止させ、ステートマシンを停止させたことの通知を外部に送信する。これにより、Type-C仕様等が更新された場合に、変更されたステート又は遷移条件に関する制御をTCPM10が行うことができる。これにより、Type-C仕様等が更新された場合であっても、TCPC100に実装されたハードウェアの制御部110を実装し直すことが不要となる。
また、上述したように、実施の形態3では、TCPM10における処理が終了した場合、制御部110は、ステート制御部16によって制御されたステート(接続状態)又は遷移条件の遷移先のステートからステートマシンを再開する。これにより、変更されていないステート又は遷移条件については、TCPC100側で処理を継続することができる。したがって、実施の形態3にかかる半導体システム1は、Type-C仕様等が更新された場合であっても、実施の形態1にかかる効果を奏することができる。
また、上述したように、実施の形態3にかかる制御部110は、設定ステート(第1の状態)を設定するレジスタ114を有する。これにより、Type-C仕様等が更新された場合に、変更された箇所の遷移元のステートを任意に設定できる。したがって、Type-C仕様等の任意の更新に対して、本実施の形態にかかる半導体システム1を柔軟に適用できる。
(変形例)
なお、本実施の形態は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、本実施の形態にかかるTCPC100で実現されるステートマシンの例を、図2,図3,図9~図12に記載した。しかしながら、本実施の形態にかかるTCPC100で実現されるステートマシンは、図2,図3,図9~図12に例示したステートマシンに限られない。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
1 半導体システム
2 I2Cバス
10 TCPM
12 インタフェース
14 接続検出部
16 ステート制御部
20 ポートIC
22 電源回路
80 半導体システム
82 TCPC
90 TCPM
92 TCPCステート制御部
100 TCPC
102 CCロジック
104 VBUS電圧検出器
106 インタフェース
110 制御部
112 タイマ
114 レジスタ

Claims (17)

  1. USB(Universal Serial Bus)ポートを制御するポートコントローラと、
    前記ポートコントローラとI2C(Inter-Integrated Circuit)バスを介して接続され前記ポートコントローラを制御するポートマネージャと
    を有し、
    前記ポートコントローラは、
    前記ポートマネージャが関与することなく前記USBポートにおける接続状態の遷移を実現することが可能なステートマシンと、
    前記ステートマシンにおける遷移を制御し、前記接続状態が電気的に安定して接続された状態である接続済み状態に遷移したときに接続済み状態遷移通知を出力する制御部と
    を有し、
    前記ポートマネージャは、前記接続済み状態遷移通知を受信して前記USBポートの接続を検出する接続検出部を有し、
    前記ポートマネージャは、前記接続検出部によって検出された接続に応じた処理を行う
    半導体システム。
  2. 前記制御部は、タイマを有し、
    前記制御部は、前記タイマを使用して、前記USBポートに対する接続がなされた状態である接続確認状態の継続時間を計測し、前記継続時間が予め定められた第1の時間を経過した場合に、前記接続状態を接続済み状態に遷移させる
    請求項1に記載の半導体システム。
  3. 前記制御部は、前記接続確認状態の継続時間が前記第1の時間を経過する前に前記USBポートに対する接続が解除された場合に、前記接続状態を、前記USBポートに対する接続がなされていない状態である未接続状態に遷移させる
    請求項2に記載の半導体システム。
  4. 前記制御部は、
    前記接続確認状態の継続時間を計測し、前記継続時間が前記第1の時間を経過した場合に、前記接続状態を、前記USBポートに対して接続がなされた対向機器が予め定められた第1の機能を有するか否かを確認する対向機器確認状態に遷移させ、
    前記対向機器確認状態が予め定められた第2の時間継続したときに、前記接続状態を前記接続済み状態に遷移させる
    請求項2に記載の半導体システム。
  5. 前記制御部は、前記接続状態が接続済み状態に遷移したときに、受電及び給電の少なくとも一方を行う電源回路を制御する
    請求項1に記載の半導体システム。
  6. 前記制御部は、
    前記接続状態が予め設定された第1の状態に遷移したときに、前記ステートマシンを停止させ、
    前記ステートマシンを停止させたことの通知を外部に送信する
    請求項1に記載の半導体システム。
  7. 前記制御部は、前記通知を外部に送信した後、前記ポートマネージャによって制御された接続状態の遷移先の接続状態、又は前記ポートマネージャによって制御された遷移条件の遷移先の接続状態から、前記ステートマシンを再開させる
    請求項6に記載の半導体システム。
  8. 前記制御部は、前記第1の状態を設定するレジスタをさらに有する
    請求項6に記載の半導体システム。
  9. USB(Universal Serial Bus)ポートにおける接続状態の遷移を実現するステートマシンと、
    前記ステートマシンにおける遷移を制御し、前記接続状態が電気的に安定して接続された状態である接続済み状態に遷移したときに接続済み状態遷移通知を出力する制御部と
    を有し、
    前記ステートマシンは、I2C(Inter-Integrated Circuit)バスを介して接続されるポートマネージャが関与することなく、前記USBポートにおける接続状態の遷移を実現することが可能であり、
    前記制御部は、前記I2Cバスを介して接続されUSBポートの接続を検出する接続検出部に対して、前記接続済み状態遷移通知を送信可能に構成されている
    半導体装置。
  10. 前記制御部は、タイマを有し、
    前記制御部は、前記タイマを使用して、前記USBポートに対する接続がなされた状態である接続確認状態の継続時間を計測し、前記継続時間が予め定められた第1の時間を経過した場合に、前記接続状態を接続済み状態に遷移させる
    請求項9に記載の半導体装置。
  11. 前記制御部は、前記接続確認状態の継続時間が前記第1の時間を経過する前に前記USBポートに対する接続が解除された場合に、前記接続状態を、前記USBポートに対する接続がなされていない状態である未接続状態に遷移させる
    請求項10に記載の半導体装置。
  12. 前記制御部は、
    前記接続確認状態の継続時間を計測し、前記継続時間が前記第1の時間を経過した場合に、前記接続状態を、前記USBポートに対して接続がなされた対向機器が予め定められた第1の機能を有するか否かを確認する対向機器確認状態に遷移させ、
    前記対向機器確認状態が予め定められた第2の時間継続したときに、前記接続状態を前記接続済み状態に遷移させる
    請求項10に記載の半導体装置。
  13. 前記制御部は、前記接続状態が接続済み状態に遷移したときに、受電及び給電の少なくとも一方を行う電源回路を制御する
    請求項9に記載の半導体装置。
  14. 前記制御部は、
    前記接続状態が予め設定された第1の状態に遷移したときに、前記ステートマシンを停止させ、
    前記ステートマシンを停止させたことの通知を外部に送信する
    請求項9に記載の半導体装置。
  15. 前記制御部は、前記通知を外部に送信した後、当該半導体装置とI2C(Inter-Integrated Circuit)バスを介して接続されたポートマネージャによって制御された接続状態の遷移先の接続状態、又は前記ポートマネージャによって制御された遷移条件の遷移先の状態から、前記ステートマシンを再開させる
    請求項14に記載の半導体装置。
  16. 前記制御部は、前記第1の状態を設定するレジスタをさらに有する
    請求項14に記載の半導体装置。
  17. USB(Universal Serial Bus)ポートを制御するポートコントローラとI2C(Inter-Integrated Circuit)バスを介して接続されたインタフェースと、
    前記ポートコントローラから送信された通知を受信して、前記USBポートの接続を検出する接続検出部と
    を有し、
    前記接続検出部は、自身が関与することなく前記USBポートにおける接続状態の遷移を実現することが可能なステートマシンと、前記ステートマシンにおける遷移を制御し、前記接続状態が電気的に安定して接続された状態である接続済み状態に遷移したときに接続済み状態遷移通知を出力する制御部とを備えた前記ポートコントローラからの前記接続済み状態遷移通知を受信し、
    前記接続検出部によって検出された接続に応じた処理を行う
    半導体装置。
JP2019099978A 2019-05-29 2019-05-29 半導体システム及び半導体装置 Active JP7213755B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019099978A JP7213755B2 (ja) 2019-05-29 2019-05-29 半導体システム及び半導体装置
US16/860,915 US11288224B2 (en) 2019-05-29 2020-04-28 Semiconductor system and semiconductor device
CN202010469522.1A CN112015682A (zh) 2019-05-29 2020-05-28 半导体系统和半导体器件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019099978A JP7213755B2 (ja) 2019-05-29 2019-05-29 半導体システム及び半導体装置

Publications (2)

Publication Number Publication Date
JP2020194384A JP2020194384A (ja) 2020-12-03
JP7213755B2 true JP7213755B2 (ja) 2023-01-27

Family

ID=73507086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019099978A Active JP7213755B2 (ja) 2019-05-29 2019-05-29 半導体システム及び半導体装置

Country Status (3)

Country Link
US (1) US11288224B2 (ja)
JP (1) JP7213755B2 (ja)
CN (1) CN112015682A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220276687A1 (en) * 2019-10-15 2022-09-01 Hewlett-Packard Development Company, L.P. Port role assignments

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018535493A (ja) 2015-11-13 2018-11-29 日本テキサス・インスツルメンツ株式会社 Usbインターフェース回路および低電力動作のための方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4835737A (en) * 1986-07-21 1989-05-30 American Telephone And Telegraph Company, At&T Bell Laboratories Method and apparatus for controlled removal and insertion of circuit modules
JPH0821015B2 (ja) * 1992-01-20 1996-03-04 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータならびにそのシステム再構成化装置および方法
US5721836A (en) * 1994-01-27 1998-02-24 Compaq Computer Corporation Method and apparatus for sensing and changing the state of a computer before connecting the computer to or disconnecting the computer from an expansion unit
US5664118A (en) * 1994-03-28 1997-09-02 Kabushiki Kaisha Toshiba Computer system having detachable expansion unit
US5787261A (en) * 1994-11-28 1998-07-28 Hitachi, Ltd Data transfer system, computer system and active-line inserted/withdrawn functional circuit board
US5644731A (en) * 1995-07-07 1997-07-01 Sun Microsystems, Inc. Method and apparatus for hot plugging/unplugging a sub-system to an electrically powered system
US5790958A (en) * 1995-10-16 1998-08-04 Mmgt Enterprises, Inc. Radio reception system for general purpose computer
US6073196A (en) * 1996-06-05 2000-06-06 Compaq Computer Corporation Using communication cycles for connecting and disconnecting devices in a computer system
US6662119B1 (en) * 2002-08-02 2003-12-09 3Com Corporation Method and apparatus for monitoring connector degradation
US7414335B2 (en) * 2004-04-15 2008-08-19 Seagate Technology Inrush current controller
JP4588395B2 (ja) * 2004-09-24 2010-12-01 富士通株式会社 情報処理端末
US7447874B1 (en) * 2005-10-18 2008-11-04 Qlogic, Corporation Method and system for designing a flexible hardware state machine
US8190698B2 (en) * 2006-06-30 2012-05-29 Microsoft Corporation Efficiently polling to determine completion of a DMA copy operation
KR20110059202A (ko) * 2009-11-27 2011-06-02 삼성전자주식회사 단말 장치 및 그의 usb 기기 제어 방법
US8832503B2 (en) * 2011-03-25 2014-09-09 Adc Telecommunications, Inc. Dynamically detecting a defective connector at a port
US20140208134A1 (en) * 2013-01-21 2014-07-24 Texas Instruments Incorporated Host controller interface for universal serial bus (usb) power delivery
US9811488B2 (en) * 2014-04-29 2017-11-07 Mcci Corporation Apparatus and methods for dynamic role switching among USB hosts and devices
US11181966B2 (en) * 2015-11-13 2021-11-23 Texas Instruments Incorporated USB interface circuit and method for low power operation
JP2017187933A (ja) * 2016-04-06 2017-10-12 ルネサスエレクトロニクス株式会社 半導体装置、半導体装置の制御方法および給電システム
KR102561024B1 (ko) * 2016-11-30 2023-07-28 주식회사 에이치엘클레무브 제어장치를 구비한 운전보조시스템 및 그의 제어방법
US10241954B2 (en) * 2016-12-31 2019-03-26 Intel Corporation Universal serial bus type-C power delivery
TWI666555B (zh) * 2018-01-11 2019-07-21 新唐科技股份有限公司 C型通用序列匯流排介面電路及其接腳旁路方法
TWI683198B (zh) * 2018-09-14 2020-01-21 威鋒電子股份有限公司 多埠電力供應裝置及其電力供應方法
US11545824B2 (en) * 2018-10-11 2023-01-03 Texas Instruments Incorporated USB short circuit protection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018535493A (ja) 2015-11-13 2018-11-29 日本テキサス・インスツルメンツ株式会社 Usbインターフェース回路および低電力動作のための方法

Also Published As

Publication number Publication date
CN112015682A (zh) 2020-12-01
JP2020194384A (ja) 2020-12-03
US11288224B2 (en) 2022-03-29
US20200379937A1 (en) 2020-12-03

Similar Documents

Publication Publication Date Title
CN107111588B (zh) 经由USB端口使用PCIe协议的数据传输
US9747237B2 (en) Methods and apparatus for reliable detection and enumeration of devices
JP6845132B2 (ja) 動的エニュマレーションバスのための事前定義された静的エニュマレーション
TWI782919B (zh) 通用串列匯流排多主機端點反射器集線器
US8135944B2 (en) Selectively powered data interfaces
US10235312B2 (en) Memory system and host device that maintain compatibility with memory devices under previous standards and/or versions of standards
CN110046117B (zh) 外来物质检测电路和包括外来物质检测电路的电子设备
US10754412B2 (en) Electronic device and controlling method for the same
JP7213755B2 (ja) 半導体システム及び半導体装置
US10862246B2 (en) Foreign substance detecting circuit and electronic device including the same
KR101736196B1 (ko) 전기 계측에 기초한 디바이스들의 물리적 연결 상태의 결정
US10802560B2 (en) Multi-power input port power control
JP2015103256A (ja) ユニバーサルシリアルバス装置の検知システム及び検知方法
US10282345B2 (en) Combo chip for USB connector
JP6752675B2 (ja) 半導体装置、半導体装置の制御方法および半導体システム
CN112041827A (zh) 自动usb主机检测和端口配置
US20080162954A1 (en) Selectively powered data interfaces
US20080162957A1 (en) Selectively powering data interfaces
US9886075B2 (en) Three-way handshaking method and computer readable media
JP7256105B2 (ja) 電子装置およびその受電制御方法
KR20170017382A (ko) 클럭 관리 유닛과 이를 적용하는 집적 회로 및 시스템 온 칩 및 그 동작 방법
US20080177991A1 (en) Method and device for improving debug time of a display apparatus
US10795421B2 (en) Power transfer synchronization for information handling system and external device
US20180113829A1 (en) Electronic apparatus and coupling method
US9378074B2 (en) Server system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220902

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230117

R150 Certificate of patent or registration of utility model

Ref document number: 7213755

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150