通用串行总线物理层中的自动下游到上游模式切换的制作方法

文档序号:6485269阅读:220来源:国知局
通用串行总线物理层中的自动下游到上游模式切换的制作方法
【专利摘要】本发明公开了用于在通用串行总线(USB)物理(PHY)层的自动下游到上游模式切换的示例,包括基于也在下游模式中操作的另一USB端口的尝试的附接,激活切换结构以将在下游模式中操作的USB端口切换到上游模式。示例也可以包括:促进现在在上游模式中操作的切换的USB端口到在下游模式中操作的另一USB端口的附接。
【专利说明】通用串行总线物理层中的自动下游到上游模式切换
[0001]背景
[0002]计算设备通常包括耦合到其他计算设备的一个或多个通用串行总线(USB)端口。这些USB端口可以根据USB技术标准或规范来操作或控制。例如,计算设备可以包括根据2002年3月发布的用于USB的增强的主机控制器接口(eHCI)规范,修订版1.0,或2010年5月发布的用于USB的可扩展的主机控制器接口(xHCI)来控制USB端口的USB控制器。eHCI规范通常与被配置成根据2000年4月发布的USB规范VerSion2.0 (USB2)操作的USB控制器相关联。xHCI规范通常与被配置成根据2008年11月发布的USB规范VerSion3.0(USB3)操作的USB控制器相关联。
[0003]USB基于层次型通信协议,该协议包括通过被配置成以下游模式操作的USB端口耦合到外围设备的主机计算设备。同时,外围设备通过被配置成以上游模式操作的USB端口耦合到主机计算设备。诸如笔记本、超移动个人计算机、平板电脑或智能电话之类的各种便携式或移动计算设备的使用的近期急剧上升导致可以充当主机计算设备(例如,耦合到外部存储器或打印机)或外设(例如,与台式机或膝上型计算机同步)的计算设备。可能需要带有增进的能力的额外的USB端口和控制器,以允许便携式或移动计算设备充当主机或外围设备。
[0004]附图简述
[0005]图1示出了示例USB支持系统。
[0006]图2示出了模式切换管理器的示例体系结构的框图。
[0007]图3示出了示例USB3支持系统。
[0008]图4示出了示例USB2支持系统。
[0009]图5示出了耦合计算设备以便调试的示例系统。
[0010]图6示出了在USB物理(PHY)层用于自动下游到上游切换的示例操作的流程图。
[0011]图7示出了计算设备的示例系统。
【具体实施方式】
[0012]如在本发明中设想的,可能需要带有增进的能力的额外的USB端口和控制器,以允许便携式或移动计算设备充当主机或外围设备。解决此问题的一种方式是被称为USBOn-The-Go或USB OTG的解决方案。然而,USB OTG可能要求USB控制器具有增强的能力。此外,由于实现可能的资源密集的USB OTG协议,便携式计算设备要支持USB OTG可能负担太重。进一步地,这些计算设备上的有限的空间可能对具有不支持处理器密集的USB OTG协议的额外的USB端口是有问题的。
[0013]在某些示例中,实现了用于在USB物理(PHY)层的自动下游到上游模式切换的技术。对于这些示例,处理器电路可以监测第一计算设备的第一 USB端口。第一 USB端口可以在下游模式中操作。可以作出第二计算设备的第二 USB端口已尝试附接到在下游模式中操作的第一 USB端口的判断。第二 USB端口也可以在下游模式中操作。根据这些示例,可以激活第一 USB端口的PHY层中的切换结构,以将第一 USB端口从在下游模式中操作切换到在上游模式中操作。然后,可以促进在上游模式中操作的第一 USB端口与在下游模式中操作的第二 USB端口的附接。
[0014]图1示出了示例USB支持系统100。如图1所示,USB支持系统100包括USB控制器110、上游(US)协议引擎120、下游(DS)协议引擎130、下游(DS)路由逻辑140、下游(DS)端口逻辑150-1到150-η( “η”等于大于2的正整数)、上游(US)端口逻辑160 (虽然本发明不仅限于单一 US端口逻辑)、切换结构170、模式切换管理器180和物理(PHY)接口190-1到190-η。此外,也如图1所示,USB支持系统100包括分别将模式切换管理器180耦合到USB控制器110、切换结构170和PHY接口 190-1到190η的通信信道102、通信信道104和通信信道106。USB支持系统100,如图1所示,具有事务层105、链路层115和物理(PHY)层 125。
[0015]根据某些示例,如图1所示,USB控制器110包括上游(US)调度器112、下游(DS)调度器114和寄存器116。USB控制器110的这些元件可以与USB系统100的元件合作地操作,以控制或管理来自USB端口 Pl到Pn的上游和下游通信(包括数据和控制信息)。在某些示例中,寄存器116可以被配置成至少临时维护可以表示特定USB端口(例如,Pl)是否处于活动或不活动状态的USB端口状态或状态信息。
[0016]在某些示例中,US协议引擎120和DS协议引擎130可以促进上游和下游通信。例如,US协议引擎120和DS协议引擎130可以促进数据包的组合(assembly)被转发到链路层115中的元件。此外,US协议引擎120和DS协议引擎130还可以分解从链路层115中的元件接收到的数据包。
[0017]根据某些示例,如图1所示,USB支持系统100在链路层115中包括DS路由逻辑140,USB端口 Pl到Pn的DS端口逻辑150-1到150_n。对于这些示例,多个USB端口 Pl到Pn可以被配置成在下游模式中操作(例如,作为主机),并可以通过PHY接口 190-1到190-η路由下游通信(例如,到外设)。如此,DS路由逻辑140可以被配置成与DS端口逻辑150-1到150-η中的一个进行协作,以通过给定USB端口路由这些下游通信。然而,对于这些示例,单一 US端口逻辑160可以被配置成在上游模式中操作(例如,作为外设),以指示出具有USB支持系统100的计算设备可能需要只使用单一 USB端口来处理从PHY接口 190-1到190-η中的一个接收到的上游通信(例如,来自主机)。下游和上游通信,例如,分别地包括传输(Tx)和接收(Rx)通信链路。
[0018]在某些示例中,如下面更详细地描述的,位于物理层125中的切换结构170可以被配置成使模式切换管理器180能将在下游模式中操作的给定USB端口(例如,USB端口 Pl)切换到上游模式。对于这些示例,切换结构170可以包括诸如多路复用器之类的切换元件以及相关联的控制信号路径,以对于PHY层125中的给定USB端口实现自动下游到上游的模式切换。PHY层125中的自动下游到上游模式切换,例如,可以允许USB支持系统100使计算设备使用基于硬件的和/或基于固件的元件,有选择地变为主机或外设。
[0019]根据某些示例,模式切换管理器180可以包括被配置成监测诸如USB端口 I之类的USB端口的逻辑和/或特征。对于这些示例,USB端口 Pl可以在第一计算设备(未示出)的下游模式下。如下面所描述的,切换管理器180可以基于寄存器(例如,通过通信信道102获取的寄存器116)中所维护的端口状态信息,或基于从USB端口 Pl的PHY接口观察到的信号(例如,通过通信信道106接收到的PHY接口 190-1),判断第二计算设备的USB端口(也未示出)已尝试附接到USB端口 P1。端口状态信息可以指出,第二计算设备曾尝试作为主机计算设备进行附接。例如,第二计算设备的USB端口可以在与USB端口 Pl的下游操作模式的类似的或相同下游模式中操作。
[0020]在某些示例中,模式切换管理器180可以包括被配置成激活切换结构170的元件以将USB端口 Pl从在下游模式中操作切换到在上游模式中操作的逻辑和/或特征。对于这些示例,模式切换管理器180可以使用一个或多个通信信道(例如,通信信道104)来启动或导致模式切换。切换管理器180也可以包括使用额外的通信信道(例如,通信信道106)以通过被转发到在图1中被示为PHY接口 190-1的USB端口 Pl的PHY接口的控制信号启动或导致模式切换的逻辑和/或特征。
[0021]根据某些示例,模式切换管理器180可以包括被配置成促进将现在在上游模式中操作的USB端口 Pl附接到在下游模式中操作的第二计算设备的USB端口的逻辑和/或特征。对于这些示例,模式切换管理器180可以将控制信号转发到PHY接口 190-1,这些控制信号可以导致USB端口 Pl在第二计算设备的USB端口看起来为新附接。对于此新附接,USB端口 Pl可能表现为在上游模式中操作的USB端口。
[0022]在某些示例中,USB支持系统100的元件可以根据USB规范的后代和变体(例如,USB3.0或USB2.0)来操作。此外,诸如事务层105中的USB控制器110或PHY层125中的PHY接口 190-1到190-η之类的元件可以根据与USB规范相关联的各种规范来操作。例如,USB控制器110的元件可以根据用于USB的eHCI (eHCI for USB)规范、和/或用于USB的xHCI (xHCI for USB)规范来操作。此外,PHY接口 190-1到190_n还可以根据2009年3月发布的PCI Express和USB3.0架构(PIPE3)规范,修订版3.0,2001年3月发布的USB收发器宏单兀接口 (USB Transceiver Macrocell Interface, UTMI)规范,版本 1.05,或 2004年10月发布的USB低针脚数接口 (USB Low Pin Interface, ULPI)规范,修订版1.1的所有后代和变体来操作。
[0023]在某些示例中,USB支持系统100可以被包括在计算设备中。计算设备的示例可以包括台式计算机、个人计算机(PC)、膝上型计算机、超移动计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上电脑、个人数字助理(PDA)、蜂窝电话、蜂窝电话/PDA的组合、电视机、智能设备(例如,智能电话、智能平板电脑或智能电视机)、移动因特网设备(MID)、消息传送设备、数据通信设备等等。
[0024]图2示出了模式切换管理器180的示例体系结构的框图。如上文对于图1所描述的,诸如USB支持系统100之类的计算设备的USB支持系统可以包括模式切换管理器180。在某些示例中,模式切换管理器180包括被配置为用于在USB PHY层的自动下游到上游模式切换的特征和/或逻辑,包括基于也在下游模式中操作的另一 USB端口的尝试的附接,激活切换结构以将在下游模式中操作的USB端口切换到上游模式。
[0025]图2的示例模式切换管理器180包括切换逻辑210、控制逻辑220、存储器230和输入/输出(I/o)接口 240。如图2所示,切换逻辑210可以耦合到控制逻辑220、存储器230和I/O接口 240。切换逻辑210可以包括监测特征212、多路复用特征214、信号特征216,或物理(PHY)接口特征218中的一项或多项,或其任何合理的组合。
[0026]在某些示例中,图2中所描绘的元件被配置成支持或启用如本发明所描述的模式切换管理器180。给定模式切换管理器180可以包括图2中所描绘的那些元件中的某些,全部或更多元件。例如,切换逻辑210和控制逻辑220可以分别地或共同地表示实现模式切换管理器180的特征的多种逻辑设备或可执行内容。示例逻辑设备可以包括微处理器、微控制器、处理电路、现场可编程门阵列(FPGA),专用集成电路(ASIC)、多核/多线程微处理器的分离的线程或核或其组合。
[0027]在某些示例中,如图2所示,切换逻辑210包括监测特征212、多路复用特征214、信号特征216,或PHY接口特征218。切换逻辑210可以被配置成使用这些特征中的一项或多项来执行操作。例如,监测特征212可以监测第一计算设备的一个或多个USB端口来判断第二计算设备的第二 USB端口是否正在尝试附接到一个或多个USB端口中的一个。监测特征212也可以检测分离以及第一计算设备是否断电。多路复用特征214,例如,可以生成多路复用选择信号以激活切换结构的元件,导致第一 USB端口在在下游模式中操作或在上游模式中操作之间切换。信号特征216可以生成促进第一 USB端口附接到第二计算设备的第二 USB端口的信号。PHY接口特征218也可以生成也促进第一 USB端口附接到第二 USB端口的信号。
[0028]在某些示例中,控制逻辑220可以被配置成控制模式切换管理器180的总体操作。如上文所提及的,控制逻辑220可以表示各种逻辑设备或可执行内容中的任何一个。对于某些示例,控制逻辑220可以被配置成与可执行内容或指令一起操作,以实现对模式切换管理器180的控制。在某些替换的示例中,控制逻辑220的特征和功能可以在切换逻辑210内实现。
[0029]根据某些示例,存储器230可以被配置为存储供控制逻辑220和/或切换逻辑210使用的可执行内容或指令。可执行内容或指令可以被用来实现或激活模式切换管理器180的特征或元件。如下面所描述的,存储器230也可以被配置为至少临时维护与USB端口操作模式或USB端口状态相关联的信息。
[0030]存储器230可以包括各种存储器介质,包括,但不仅限于,易失性存储器、非易失性存储器、闪存、可编程的变量或状态、随机存取存储器(RAM)、只读存储器(ROM),或其他静态或动态存储器介质中的一项或多项。
[0031]在某些示例中,I/O接口 240可以通过本地通信介质或图1中所描绘的模式切换管理器180和USB支持系统100的元件之间的链路来提供接口。I/O接口 240可以包括根据各种通信协议或标准来操作以通过本地通信介质或链路进行通信的接口。可以在一个或多个行业标准(包括后代和变体),诸如与集成电路之间(I2C)规范或系统管理总线(SMBus)规范相关联的那些,描述这些通信协议或标准。此外,I/O接口 240还可以根据自定义或专有的通信协议来操作。
[0032]图3示出了示例USB3超高速支持系统300。在某些示例中,USB3超高速支持系统300可以根据USB规范版本3.0来操作。类似于图1中的USB支持系统100,USB3超高速支持系统300包括USB控制器310、US超高速(SS)协议引擎(PE) 320,DS超高速(SS)协议引擎(PE) 330,DS路由逻辑340,DS端口逻辑(PL) 350-1到350-n和US端口逻辑(PL) 360、切换结构370、模式切换管理器180和物理(PHY)接口 390-1到390_n。此外,如图3所示,USB3超高速支持系统300包括分别将模式切换管理器180耦合到USB控制器310、切换结构370和PHY接口 390-1到390η的通信信道302、通信信道304和通信信道306。USB3超高速支持系统300,如图3所示,具有事务层305、链路层315和物理(PHY)层325。[0033]根据某些示例,USB控制器310的元件可以根据USB xHCI规范、或能够管理USB3超高速的任何其他USB控制器规范来操作。USB控制器310的这些元件,例如,可以包括US调度器312、DS调度器314和寄存器316。对于这些示例,寄存器316可以是至少临时维护USB端口 Pl到Pn的端口状态或状态信息的端口状态和控制(PORTSC)寄存器。端口状态或状态信息,例如,可以指出特定USB端口(例如,Pl)是否处于活动或不活动状态。模式切换管理器180可以包括被配置成通过通信信道302来访问寄存器316以获取USB端口 Pl到Pn的端口状态信息的逻辑和/或特征。在图3中以模式切换管理器180和USB3控制器310之间的实线描绘了通信信道302。
[0034]在某些示例中,USSS PE320、DS SS PE330、DS路由逻辑 340、DS PL350-1 到 350_n和US PL360可以类似于上文对于图1所描述的协议引擎、路由逻辑和端口逻辑地操作。如上文对于图1所提及的,USB端口 Pl到Pn可以被配置成在下游或上游模式中操作,在某些示例中,US SS PE320、DS SS PE330、DS 路由逻辑 340、DS PL350-1 到 350_n 和 US PL360 可以有助于链路层315或事务层305中的上游或下游通信的路由。
[0035]根据某些示例,PHY接口 390-1到390_n可以根据PIPE3规范来操作。PHY接口390-1到390-n,例如,可以有助于PHY层325中的上游或下游通信的路由。
[0036]根据某些示例,如图3所示,切换结构370包括耦合到DS PL350-1到350_n、USPL360和PHY接口 390-1到390_n之间的Tx和Rx通信链路的多个多路复用器。在图3中以具有方向箭头的实线描绘了这些Tx和Rx通信链路。模式切换管理器180可以包括被配置成通过通信信道304将信号中继到交换结构370的多路复用器的逻辑和/或特征。在图4中以在模式切换管理器180和交换结构370中的元件之间的虚线描绘了通信信道304。
[0037]在某些示例中,模式切换管理器180可以包括被配置成通过通信信道306将信号中继到PHY接口 390-1到390-n的逻辑和/或特征,以促进其他计算设备与具有USB3超高速支持系统300的计算设备的附接。在图3中以模式切换管理器180和PHY接口 390-1到390-n之间的混合的点划线描绘了通信信道306。
[0038]根据某些示例,对于USB3超高速支持系统300,USB端口 Pl到Pn的初始操作模式可以是下游操作模式(主机角色)。对于这些示例,可能会发生具有USB3支持系统300的计算设备或芯片的系统功率复位。如果具有在上游模式(外设角色)中操作的USB端口的另一计算设备尝试附接到USB端口 Pl到Pn中的一个,那么,可能会发生附接协商,如在USB3规范中定义的。因此,在初始下游到上游情况下,对于USB端口 Pl到Pn,没有模式切换发生。
[0039]在某些示例中,具有在下游模式(主机角色)中操作的USB端口的另一计算设备尝试附接到USB端口 Pl到Pn中的一个。对于其他计算设备尝试通过其附接的USB端口,可能会发生操作模式切换或角色反转。对于这些示例,USB端口 Pl可以是USB3支持系统300的下游操作USB端口,其他计算设备尝试通过该端口附接。根据USB3规范,USB控制器310可以包括检测USB端口 Pl处的附接的逻辑和/或特征,USB控制器310可以启动与其他计算设备的USB端口的链接培训序列。在成功的链接培训时,与USB端口 Pl和其他计算设备的USB端口相关联的链接培训和状态机器(LTSSM)可以进入在USB3规范中标识为UO状态的状态。USB端口 Pl的此状态,例如,可以在寄存器316中指示出。一旦处于UO状态,USB控制器310就可以发送指示USB端口 Pl的下游操作模式的端口能力链接管理数据包(LMP),并从其他计算设备接收类似的LMP。由于两个端口都在下游模式中操作,根据USB3规范,成功的链接配置是不可能的。LTSSM现在可以将USB端口 Pl的状态从UO改变为不活动状态。可以在寄存器316中指出不活动状态的指示。
[0040]根据某些示例,与切换结构370协作的模式切换管理器180可以实现图3作为3.1到3.5示出的各种示例操作,以实现USB端口 Pl的自动模式切换。对于这些示例,USB端口 Pl可以从下游操作模式切换到上游操作模式,以与其他计算设备的USB端口实现成功的链接配置。
[0041]从示例操作3.1开始,模式切换管理器180可以监测寄存器316的USB端口 Pl到Pn之中的USB端口进入不活动状态的指示。此监测可以通过通信信道302来进行。如上文所提及的,在其他计算设备的USB端口附接到USB端口 Pl的不成功的尝试之后,USB端口Pl进入不活动状态。
[0042]移到示例操作3.2,模式切换管理器180可以检测状态的到不活动状态的变化,并响应于不活动状态,可以生成到耦合至US PL360的多路复用器和到耦合至DS PL150-1的多路复用器的多路复用选择信号。多路复用选择信号,例如,导致USB控制器310、US SSPE320、US PL360和PHY接口 390-1的元件现在都将USB端口 Pl当作在上游模式中操作。如此,USB端口 Pl从在下游模式中操作切换到现在在上游模式中操作。
[0043]此外,在操作3.2期间,模式切换管理器180实现示例操作3.3,并监测将USB端口PO耦合到PHY接口 390-1的Tx链路处的PowerDown[1:O]和TxDetectRx信号。在某些示例中,当PowerDown被设置为Ilb或10b,并断言了 TxDetectRx时,模式切换管理器180实现示例操作3.4,并将PhyStatus驱动到Ib,并将RxStatus驱动到000b。对于这些示例,根据PIPE3规范,将PhyStatus驱动到Ib,并将RxStatus驱动到000b,向其他计算设备指示,没有检测到接收器。
[0044]在某些示例中,模式切换管理器180可以通过将信号发送到PHY接口 390_1来实现示例操作3.5,以将RxTermination驱动到Ob达一段时间(例如,12毫秒(ms))。时间长度可以基于其他计算设备用来判断USB端口 Pl断电或分离的时间量。在时间长度已经过期之后,模式切换管理器180停止将RxTermination驱动到0b,这会导致DS SS PE330来将RxTermination驱动到lb。其他计算设备,例如,将Ib的RxTermination解释为通过USB端口 Pl的新附接,并再次启动链接培训序列。在成功的链接培训之后,其他计算设备的USB端口和USB端口 Pl两者都可以再次进入UO状态。
[0045]基于其他计算设备的USB端口和USB端口 Pl进入UO状态,每一个端口都将再次交换端口能力链接管理数据包(LMP)。然而,USB端口 Pl周围的此时间表示上游操作模式。对于这些示例,在下游模式中操作的其他计算设备的USB端口和切换到现在在上游模式中操作的USB端口 Pl导致成功的配置。
[0046]根据某些示例,响应于检测到其他计算设备的USB端口的分离,USB端口 Pl可以被复位回到下游操作模式。例如,模式切换管理器180可以生成到耦合至US PL360的多路复用器和到耦合至DS PL150-1的多路复用器的多路复用选择信号,以将USB端口 Pl切换回在下游模式中操作。
[0047]图4示出了示例USB2支持系统400。在某些示例中,USB2支持系统400可以根据USB规范版本2.0来操作。类似于图1中的USB支持系统100和图3中的USB3超高速支持系统300,USB2支持系统400包括USB控制器410、US USB2协议引擎(PE) 420、DSUSB2协议引擎(PE) 430、DS路由逻辑440、DS端口逻辑(PL) 450-1到450-n和US端口逻辑(PL) 460、切换结构470、模式切换管理器180和物理(PHY)接口 490-1到490_n。也如图4所示,USB2支持系统400包括分别将模式切换管理器180耦合到切换结构470和PHY接口490-1到490η的通信信道402和通信信道404。USB2支持系统400,如图4所示,具有事务层405、链路层415和物理(PHY)层425。
[0048]根据某些示例,USB控制器410的元件可以根据用于USB的xHCI规范、用于USB的eHCI规范或能够管理USB2的任何其他USB控制器规范来操作。USB2控制器410的这些元件,例如,可以包括US调度器412和DS调度器414。
[0049]在某些示例中,USUSB2PE420, DS USB2PE430、DS 路由逻辑 440、DS PL450-1 到450-n和US PL460可以类似于上文对于图1和3所描述的协议引擎、路由逻辑和端口逻辑地操作。如上文对于图1和3所提及的,USB端口 Pl到Pn可以被配置成在下游或上游模式中操作,在某些示例中,US USB2PE420、DS USB2PE430、DS路由逻辑440、DS PL450-1到450-n和US PL460可以有助于链路层415或事务层405中的上游或下游通信的路由。
[0050]根据某些示例,PHY接口 490-1到490_n可以根据UTMI规范或ULPI规范来操作。PHY接口 490-1到490-n,例如,可以有助于PHY层425中的上游或下游通信的路由。
[0051]根据某些示例,如图4所示,切换结构470包括耦合到DS PL450-1到450_n、USPL460和PHY接口 490-1到490_n之间的Tx和Rx通信链路的多个多路复用器。在图4中以具有方向箭头的实线描绘了这些Tx和Rx通信链路。模式切换管理器180可以包括被配置成通过通信信道404将信号中继到切换结构470的多路复用器的逻辑和/或特征。在图4中以在模式切换管理器180和切换结构470中的元件之间的虚线描绘了通信信道404。
[0052]在某些示例中,模式切换管理器180可以包括被配置成通过通信信道406来往于PHY接口 490-1到490-n中继信号的逻辑和/或特征,以检测或促进其他计算设备与具有USB2支持系统400的计算设备的附接。在图4中以模式切换管理器180和PHY接口 490-1到490-n之间的混合的点划线描绘了通信信道406。
[0053]根据某些示例,与切换结构470协作的模式切换管理器180可以实现图4中作为
4.1到4.7所示出的各种示例操作,以实现USB端口 Pl到Pn之中的USB端口的自动模式切换。从示例操作4.1开始,模式切换管理器180可以驱动在UTMI规范或ULPI规范中标识为VBus (未示出)的电力信号线一段时间,而同时下拉在PHY接口 490-2处维护的D+/D-上拉/下拉电阻器(未示出)。当模式切换管理器180正在实现示例操作4.1时,模式切换管理器180也可以实现示例过程4.2以监测USB端口 Pl到Pn之中的所有未连接的端口的D+/D-通道状态。在某些示例中,模式切换管理器180可以监测D+/D-通道状态,以判断另一个计算设备的USB端口是否正在尝试作为外设附接到USB端口 Pl到Pn中的一个(例如,在上游模式中操作)。
[0054]在某些示例中,如果模式切换管理器180检测到另一个计算设备的上游操作USB端口的附接(例如,附接到USB端口 P2),则可以实现示例操作4.3。对于示例操作4.3,模式切换管理器180可以生成到耦合至US PL460的多路复用器和到耦合至DS PL450-1的多路复用器的多路复用选择信号,以让USB端口 P2在下游模式中操作(主机角色)。对于这些示例,USB端口 P2可以持续在下游模式中操作,直到其他计算设备分离。[0055]在替换的示例中,当未检测到外围设备时(USB端口在上游模式中操作),模式切换管理器180可以实现示例过程4.4。模式切换管理器180可以停止驱动VBus,而同时在PHY接口 490-1到490-n处仍启用D+/D-上拉/下拉电阻器。当实现示例过程4.4时,模式切换管理器180还实现示例过程4.5,并监测PHY接口 490-1到490η处的VBus状态。对于这些示例,模式切换管理器180可以检测到VBus存在或为与USB端口 Pl到Pn中的一个相关联的PHY接口,例如,USB端口 Ρ2的PHY接口 490-2,而驱动。在此情况下,模式切换管理器180实现示例操作4.6,并生成到耦合至US PL460的多路复用器和到耦合至DS PL450-2的多路复用器的多路复用选择信号,以让USB端口 Ρ2在上游模式中操作(外设角色)。然后,模式切换管理器180可以实现示例操作4.7以将信号中继到耦合至DS PL450-2的多路复用器和PHY接口 490-2,以使得USB端口 Ρ2看起来是未连接的下游端口。然而,如上文所提及的,USB端口 Ρ2实际在上游操作模式中操作。
[0056]根据某些示例,组合了 USB3超高速支持系统300和USB2支持系统400的元件的USB支持系统可以被包括在计算设备中。对于这些示例,此类型的系统的给定USB端口可以具有支持到另一个计算设备的USB端口的USB3或USB2附接的逻辑和/或特征。此外,这种类型的系统的逻辑和/或特征还可以被配置成允许模式切换管理器180激活类似于切换结构370或470的切换结构,以启用对于给定USB端口的自动下游到上游操作模式切换。
[0057]图5示出了I禹合计算设备以便调试的示例系统500。如图5所示,系统500包括计算设备510(调试主机)和计算设备520(调试目标)。在某些示例中,计算设备510包括USB端口 512,且计算设备520包括端口 522。如图5所示,计算设备510通过USB端口 512的USB端口 Pl和Pn耦合到外围计算设备515和525。此外,计算设备520也通过USB端口522的USB端口 Ρ2和Pn耦合到外围计算设备535和545。图5还描绘了通过USB连接器530耦合到计算设备520的计算设备510。对于这些示例,USB端口 512和USB端口 522可以最初都在下游模式中操作。
[0058]在某些示例中,计算设备510和520可以分别地包括类似于对于图3所描述的USB3控制器310的USB3控制器。对于这些示例,USB3控制器可以根据xHCI规范来操作。xHCI规范定义超高速(SS)USB调试能力(DbC)特征,该特征允许通过两个计算设备之间的USB耦合来实现低级别的系统调试。计算设备510,例如,可以被标识为调试主机(例如,没有调试能力或调试能力被禁用),计算设备520可以是调试目标(调试能力被启用)。
[0059]根据某些示例,DbC特征可以在系统500上通过首先在第一计算设备上自动地启用DbC功能来实现,该功能检测来自在下游模式中操作的另一计算设备的USB端口的附接。对于这些示例,计算设备520可以检测计算设备510的USB端口 P2的尝试的附接。由于如上文所提及的,计算设备510的USB端口 512在下游模式中操作,因此,计算设备520启用其DbC功能。一旦启用了 DbC功能,计算设备520就可以变为调试目标,计算设备510可以变为调试主机。
[0060]在某些示例中,计算设备520的USB3支持系统可以自动地将USB端口 P2的操作模式从下游模式切换到上游模式。USB端口 P2从下游模式自动切换到上游模式可以启用通过计算设备510和计算设备520之间的USB耦合的低级别的系统调试。
[0061]图6示出了在USB PHY层用于自动下游到上游切换的示例操作的流程图。在某些示例中,如图1、3和4所示的USB支持系统100、USB3超高速支持系统300或USB2支持系统200的元件可以被用来示出涉及图6中所描绘的流程图的示例操作。也可以使用如图1-4所示的模式切换管理器180来示出示例操作。但是,所描述的操作不仅限于上文所提及的USB支持系统上的实现或模式切换管理器180。
[0062]从开始移到框610(监测USB端口),模式切换管理器180可以包括被配置成监测(例如,通过监测特征212)第一计算设备的一个或多个USB端口的逻辑和/或特征。在某些示例中,模式切换管理器180可以监测由USB控制器维护的寄存器。在其他示例中时,模式切换管理器180可以监测与一个或多个USB端口相关联的PHY接口(例如,PHY接口490-1 到 490-n)处的 VBus 状态。
[0063]从框610移到判断框620(检测到附接吗?),模式切换管理器180可以包括被配置成判断第二计算设备的下游操作USB端口是否已尝试附接到第一计算设备的一个或多个USB端口之中的第一 USB端口的逻辑和/或特征。在某些示例中,附接的指示可以被包括在由USB控制器维护的寄存器中。在其他示例中,附接的指示可以基于:第二计算设备的USB端口被检测为正在驱动与第一 USB端口相关联的PHY接口的VBus。如果检测到附接,则过程移到框630。否则,过程返回到框610。
[0064]从判断框620移到框630 (激活切换结构以切换模式),模式切换管理器180可以包括被配置成激活(例如,通过多路复用特征214)第一 USB端口的PHY层中的切换结构的逻辑和/或特征。在某些示例中,切换结构可以包括如对于切换结构370和470所描述的多路复用器。对于这些示例,模式切换管理器180可以生成多路复用选择信号以导致第一USB端口从在下游模式中操作切换到在上游模式中操作。
[0065]从框630前进到框640 (促进附接),模式切换管理器180可以包括被配置成促进附接的逻辑和/或特征。在某些示例中,可以利用第二计算设备的USB端口附接到现在在下游模式中操作的第一 USB端口。对于这些示例中的某些,模式切换管理器180可以通过耦合到将第一 USB端口耦合到其对应的PHY接口的Tx链路的通信信道(例如,通信信道306)来驱动信号(例如,通过信号特征216),以指出没有检测到接收器,。模式切换管理器180也可以向对应的PHY接口发送可以导致第二计算设备判断第一 USB端口看上去已从其下游操作USB端口分离的信号(例如,通过PHY接口特征218)。然后,模式切换管理器180可以删除信号,现在使得第一 USB端口看起来正在尝试新附接。但是,此时,第一 USB端口正在上游模式中操作,这可能会导致成功地与第二计算设备的下游操作USB端口耦合。
[0066]从框640前进到框650 (上游模式下的端口操作),第一 USB端口随后可在上游模式中操作(例如,作为外设)。
[0067]从框650前进到判断框660(检测到分离),模式切换管理器180可以包括被配置成判断第二计算机是否已分离其USB端口(例如,通过监测特征212)的逻辑和/或特征。如果检测到分离,则过程移到框670。否则,过程返回到框650。
[0068]从判断框660移到框670 (将USB端口返回到下游模式),模式切换管理器180可以包括用于将第一 USB端口返回到下游操作模式(例如,通过多路复用特征214)的逻辑和/或特征。在某些示例中,模式切换管理器180可以生成多路复用选择信号以导致第一 USB端口切换回在下游模式中操作。然后,过程可以返回到框610以监测第一 USB端口,看是否有另一个计算设备的另一 USB端口附接到第一 USB端口的尝试。
[0069]从流程的任何框前进到判断框670(系统断电了吗?),模式切换管理器180可以包括被配置成检测第一计算设备或第一计算设备的USB支持系统是否断电(例如,通过监测特征212)的逻辑和/或特征。在某些示例中,如果检测到断电,则过程结束。否则,过程停留在流程的当前框。
[0070]图7是移动设备的示例系统700的框图。具体而言,图7是示出了可以包括各种元件的系统700的图示。例如,图7示出了系统700可以包括处理器702、芯片组704、输入/输出(I/O)设备706、随机存取存储器(RAM)(诸如动态RAM (DRAM)) 708,以及只读存储器(ROM) 710,以及各种平台组件717 (例如,风扇、横向气流鼓风机、散热器、DTM系统、冷却系统、外壳、通风孔等等)。这些元件可以以硬件、软件、固件或其任何组合来实现。然而,实施例不仅限于这些元件。
[0071]如图7所示,I/O设备706、RAM708,以及R0M710通过芯片组704耦合到处理器702。芯片组704可以通过总线712耦合到处理器702。相应地,总线712可以包括多条线。在各示例中,芯片组704可以与处理器702集成或封装在一起。描述并要求保护其他示例。
[0072]处理器702可以是包括一个或多个处理器核的中央处理单元,并可以具有任意数量的具有任意数量处理器核的处理器。处理器702可以包括任何类型的处理单元,诸如,例如,CPU、多处理单元、精简指令集计算机(RISC)、具有流水线的处理器、复杂指令集计算机(CISC)、数字信号处理器(DSP)等等。
[0073]虽然未示出,系统700可以包括各种接口电路,诸如以太网接口和/或通用串行总线(USB)接口,和/或其他类似项。在某些示例性实施例中,I/O设备706可以包括连接到接口电路的用于向系统700中输入数据和命令的一个或多个输入设备。例如,输入设备可以包括键盘、鼠标、触摸屏、跟踪板、跟踪球、isopoint、语音识别系统,和/或等等。类似地,I/O设备706可以包括连接到接口电路的用于向操作员输出信息的一个或多个输出设备。例如,输出设备可以包括一个或多个显不器、打印机、扬声器,和/或其他输出设备,如果需要的话。例如,输出设备中的一个可以是显示器。显示器可以是阴极射线管(CRT)、液晶显示器(LCD),或任何其他类型的显示器。
[0074]系统700也可以具有有线或无线网络接口,以通过到网络的连接,与其他设备交换数据。网络连接可以是任何类型的网络连接,诸如以太网连接、数字用户线(DSL)、电话线路、同轴电缆等等。网络可以是任何类型的网络,诸如因特网、电话网络、有线电视网、无线网络、分组交换网络、电路交换网,和/或等等。
[0075]各示例可以使用硬件元件、软件元件或两者的组合来实现。硬件元件的示例可包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接□、应用程序接□ (API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或其任何组合。判断一个示例是否使用硬件元件或软件元件来实现可以根据任意数量的因素而不同,如所希望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度,及其他设计或性能约束。
[0076]至少一个示例的一个或多个方面可以通过存储在机器可读介质上的代表性的指令来实现,指令表示处理器内的各种逻辑,指令在由机器读取时使机器制造执行此处所描述的技术的逻辑。被称为“IP核”的这样的表示可以存储在有形的机器可读介质中,并提供给各种客户或生产设施,以加载到实际制造逻辑或处理器的制造机器中。
[0077]各示例可以使用硬件元件、软件元件或两者的组合来实现。在某些示例中,硬件元件可包括器件、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。在某些示例中,软件元件可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或其任何组合。然而,判断一个示例是否使用硬件元件或软件元件来实现可以根据任意数量的因素而不同,如所希望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度,及给定实现所需要的其他设计或性能约束。
[0078]某些示例可以包括制品。制品可以包括存储逻辑的非瞬时的存储介质。在某些示例中,非瞬时的存储介质可包括一种或多种类型的能够存储电子数据的计算机可读存储介质,包括易失性存储器或非易失性存储器,可移动或不可移动存储器,可擦除或不可擦存储器,可写入或可重写的存储器等等。在某些示例中,逻辑可包括各种软件元件,诸如软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或其任何组合。
[0079]根据某些示例,制品可以包括存储或维护指令的非瞬时的存储介质,所述指令,当由计算机或系统执行时,导致计算机或系统执行根据所描述的示例的方法和/或操作。指令可包括任何合适类型的代码,如源代码、已编译的代码、已解译的代码、可执行代码、静态代码、动态代码等等。指令可以根据预定义的计算机语言、方式或语法来实现,以便指示计算机来执行某一功能。指令可以使用任何合适的高级别的、低级别的、面向对象的、可视的、已编译的和/或解译的编程语言来实现。
[0080]在某些示例中,在本发明中所描述的操作也可以至少部分地实现为包含在包括非瞬时的计算机可读介质的制品中的指令。对于这些示例,非瞬时的计算机可读介质可以由一个或多个处理器读取和执行以允许操作的执行。
[0081]可以使用表达“在一个示例中”或“示例”以及它们的派生词来描述某些示例。这些术语意味着,参考示例所描述的特定功能、结构或特征包括在至少一个示例中。在本说明书中的不同位置出现短语“在一个示例中”不一定都是指同一个示例。
[0082]可以使用表达“耦合”和“连接”以及它们的派生词来描述某些示例。这些术语不一定作为彼此的同义词。例如,使用术语“连接”和/或“耦合”的描述可以表示,两个或更多元件彼此处于直接的物理或电接触的状态。然而,术语“耦合”也可以意味着,两个或更多彼此不直接接触,但是仍彼此合作或进行交互。
[0083]值得强调的是,提供了“发明摘要”以符合37C.F.R.第1.72(b)段,要求将可使读者快速地弄清本技术公开的特征的摘要。但应理解,它不能被用来解释或限制权利要求的范围或含义。此外,在前面的"【具体实施方式】"中,可以看出,各种特征可以组合在一个示例中,以便简化说明。本发明的此方法不应被解释为反映如下意图:所请求保护的各示例需要比每一个权利要求中所明确地描述的特征更多的特征。相反,如所附的权利要求所反映的,本发明的主题体现于少于所公开的单一示例的所有特征。如此,下面的权利要求被包括至IJ“详细描述”中,每一个权利要求本身也作为单独的示例。在所附权利要求书中,术语“包括”和“其特征在于”被用作相应的术语“包含”和“其中”的普通英语等效词。此外,术语“第一”、“第二”、“第三”等等只用作标记,并不旨在对它们的对象施加数值要求。
[0084]尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
【权利要求】
1.一种方法,包括: 由处理器电路监测第一计算设备的第一通用串行总线(USB)端口,所述第一 USB端口在下游模式中操作; 判断第二计算设备的第二 USB端口已尝试附接到在所述下游模式中操作的所述第一USB端口,所述第二 USB端口也在所述下游模式中操作; 激活所述第一 USB端口的物理(PHY)层中的切换结构以将所述第一 USB端口从在所述下游模式中操作切换到在上游模式中操作;以及 促进在所述上游模式中操作的所述第一 USB端口与在所述下游模式中操作的所述第二 USB端口的附接。
2.如权利要求1所述的方法,包括所述第一USB端口由根据用于USB的可扩展的主机控制器接口(xHCI)规范操作的USB控制器控制,所述PHY层包括根据用于PCI Express的PHY接口及USB3.0架构(PIPE3)规范操作的PHY接口。
3.如权利要求2所述的方法,包括监测USB控制器的PORTSC寄存器。
4.如权利要求3所述的方法,包括基于所述PORTSC寄存器指示出在所述下游模式中操作的所述第一 USB端口处于不活动状态,判断所述第二 USB端口已尝试附接到在所述下游模式中操作的所述第一 USB端口。
5.如权利要求2所述的方法,促进在所述上游模式中操作的所述第一USB端口与在所述下游模式中操作的所述第二 USB端口的附接包括:致使在所述上游模式中操作的所述第一 USB端口在在所述下游模式中操作的所述第二 USB端口看起来为新附接,并且响应于所述新附接,所述第二端口尝试附接到在所述上游模式中操作的所述第一 USB端口。
6.如权利要求1所述的方法,包括所述第一USB端口由根据用于USB的增强的主机控制器接口(eHCI)规范操作的USB控制器控制,所述PHY层包括根据USB收发器宏单元接口(UTMI)规范或USB低引脚数接口(ULPI)规范中的一个操作的PHY接口。
7.如权利要求6所述的方法,包括监测依照所述UTMI规范或所述ULPI规范中的一个操作的所述PHY接口处的VBus状态。
8.如权利要求7所述的方法,包括基于所述VBus状态指示出下游端口已经将所述VBus状态驱动到高状态以图附接到在所述下游模式中操作的所述第一 USB端口,判断所述第二 USB端口已尝试附接到在所述下游模式中操作的所述第一 USB端口。
9.一种设备,包括: 处理器电路; 第一计算设备的一个或多个通用串行总线(USB)端口的物理(PHY)层中的切换结构,所述切换结构被配置成将第一 USB端口从在下游模式中操作切换到在上游模式中操作,所述第一 USB端口来自所述第一计算设备的所述一个或多个USB端口;以及 可通信地耦合到所述处理器电路的存储器单元,所述存储器单元被配置为存储模式切换管理器,所述模式切换管理器在所述处理器电路上可操作以激活所述切换结构,用以基于检测到第二计算设备的第二 USB端口已尝试附接到所述第一 USB端口而切换所述第一USB端口以在所述上游模式中操作,所述第二 USB端口在下游模式中操作,所述模式切换管理器也可操作以促进在将在所述上游模式中操作的所述第一 USB端口与在所述下游模式中操作的所述第二 USB端口的附接。
10.如权利要求9所述的设备,包括USB连接器,用于通过所述第一计算设备的所述第一USB端口并通过所述第二计算设备的所述第二 USB端口,可通信地将所述第一计算设备耦合到所述第二计算设备。
11.如权利要求9所述的设备,包括,所述第一计算设备的所述一个或多个USB端口由被配置成根据用于USB的可扩展的主机控制器接口(xHCI)规范操作的USB控制器控制,并且所述PHY层包括被配置成根据用于PCI Express的PHY接口及USB3.0架构(PIPE3)规范操作的PHY接口。
12.如权利要求11所述的设备,包括,所述模式切换管理器被配置成监测所述USB控制器的PORTSC寄存器,以判断所述第二计算设备的所述第二 USB端口是否已尝试当所述第一USB端口在所述下游模式中操作时附接到所述第一 USB端口。
13.如权利要求12所述的设备,包括,所述模式切换管理器被配置成响应于所述PORTSC寄存器的在所述下游模式中操作的所述第一 USB端口处于不活动状态,判断所述第二USB端口尝试附接到在所述下游模式中操作的所述第一 USB端口。
14.如权利要求11所述的设备,包括,所述模式切换管理器被配置成致使要在所述上游模式中操作的所述第一 USB端口在在所述下游模式中操作的所述第二端口看起来为新附接,以便促进所述第一 USB端口与所述第二 USB端口的附接,并且响应于所述新附接的出现,所述第二 USB端口尝试附接到在所述上游模式中操作的所述第一 USB端口。
15.如权利要求9所述的设备,包括,所述第一计算设备的所述一个或多个USB端口由被配置成根据用于USB的增 强的主机控制器接口(eHCI)规范操作的USB控制器控制,所述PHY层包括被配置成根据USB发器宏单元接口(UTMI)规范或USB低引脚数接口(ULPI)规范中的一个操作的PHY接口。
16.如权利要求15所述的设备,包括所述模式切换管理器,所述模式切换管理器被配置成检测所述PHY接口处的VBus状态,所述PHY接口被配置成根据所述UTMI规范或ULPI规范中的一个操作,基于所述监测的VBus状态,所述模式切换管理器判断所述第二计算设备的所述第二 USB端口是否已尝试当所述第一 USB端口在所述下游模式中操作时附接到所述第一 USB端口。
17.如权利要求16所述的设备,包括,所述模式切换管理器被配置成基于所述VBus状态的指示出下游端口已经将所述VBus状态驱动到高状态以图附接到在所述下游模式中操作的所述第一 USB端口的指示,判断所述第二 USB端口已尝试附接到在所述下游模式中操作的所述第一 USB端口。
18.包括存储介质的制品,所述存储介质包含指令,当执行所述指令时,所述指令导致系统: 监测第一计算设备的第一通用串行总线(USB)端口,所述第一 USB端口在下游模式中操作; 判断第二计算设备的第二 USB端口已尝试附接到在所述下游模式中操作的所述第一USB端口,所述第二 USB端口也在所述下游模式中操作;以及 激活所述第一 USB端口的物理(PHY)层处的切换结构以切换所述第一 USB以在上游模式中操作。
19.如权利要求18所述的制品,包括,所述指令导致所述系统促进在所述上游模式中操作的所述第一 USB端口附接到在所述下游模式中操作的所述第二 USB端口。
20.如权利要求19所述的制品,包括由被配置成根据用于USB的可扩展的主机控制器接口(xHCI)规范操作的USB控制器控制的所述第一 USB端口,且所述PHY层包括被配置成根据用于PCI Express的PHY接口及USB3.0架构(PIPE3)规范操作的PHY接口。
21.如权利要求20所述的制品,包括,所述指令致使所述系统导致要在所述上游模式中操作的所述第一 USB端口在在所述下游模式中操作的所述第二端口看起来为新附接,以便促进所述第一 USB端口与所述第二 USB端口的附接,并且响应于所述新附接的出现,所述第二 USB端口尝试附接到在所述上游模式中操作的所述第一 USB端口。
22.如权利要求19所述的制品,包括所述第一USB端口由被配置成根据用于USB的增强的主机控制器接口(eHCI)规范 操作的USB控制器控制,并且所述PHY层包括被配置成根据USB收发器宏单元接口(UTMI)规范或USB低引脚数接口(ULPI)规范中的一个操作的PHY 接口。
【文档编号】G06F13/14GK103999066SQ201180075499
【公开日】2014年8月20日 申请日期:2011年12月16日 优先权日:2011年12月16日
【发明者】J·C·王, A·L·贝拉科切亚, N-C·常, S·B·麦高恩 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1