USB主机到主机自动切换的制作方法

文档序号:19062945发布日期:2019-11-06 01:58阅读:324来源:国知局
USB主机到主机自动切换的制作方法

本专利申请要求于2017年5月17日提交的in专利申请号201711017227的优先权,该专利申请据此以引用方式并入本文以用于所有目的。

本公开涉及电子设备中的串行通信,并且更具体地,涉及在usb通信中自动切换至主机到主机模式。



背景技术:

通用串行总线(usb)允许将外围设备耦接到计算机系统。usb是一种串行电缆总线,用于在主机计算机和各种可同时访问的设备之间进行数据交换。总线允许在主机运行时附接、配置、使用和分离外围设备。例如,usb打印机、扫描仪、数码相机、存储设备、读卡器等可以通过usb与主计算机系统通信。基于usb的系统可能要求主机系统中存在usb主机控制器,并且主机系统的操作系统(os)支持usb和usb大容量存储类设备。

usb设备可以通过usb总线以低速(ls)、全速(fs)或高速(hs)进行通信。usb设备和主机之间的连接可经由数字互连诸如interchipusb、ulpi、utmi等来建立,或经由包括电源线、接地线和一对数据线d+和d-的四线接口来建立。当usb设备连接到主机时,usb设备可以首先拉高d+线—如果设备是低速设备,则拉高d-线—在d+线上使用上拉电阻。主机可以通过重置usb设备来响应。如果usb设备是高速usb设备,则usb设备可以通过在复位期间将d-线驱动为高电平来“啁啾”。主机可以通过交替地将d+和d-线驱动为高电平来响应“啁啾”。然后,usb设备可以电子地移除上拉电阻并继续高速通信。当断开连接时,全速设备可以从d+线移除上拉电阻(即,线路的“三态”),而高速usb设备可以使d+和d-线都处于三态。

usb集线器可以耦接到usb主机控制器,以允许多个usb设备通过usb主机控制器耦接到主机系统。此外,其他usb集线器可以耦接到usb集线器,以提供与usb主机控制器的附加usb设备连接。通常,usb规范的结构使得每个设备都由单个主机控制器配置和访问。消费者通常希望获得最大的灵活性,并且可能希望有一种简单的方法来廉价地共享设备。目前有多个交换设备允许设备在多个usb主机控制器之间切换,但是设备通常可在任何给定时间仅由单个主机配置和访问。还存在独立的usb交换机,该独立的usb交换机提供在上游usb主机控制器之间切换设备的能力。但是,这些解决方案无法同时访问集线器或交换机下游的usb设备。usb设备通常一次由单个主机访问,并且当切换对usb设备的访问时,必须重新配置设备,从而丢失内部状态信息。

附图说明

图1是根据本公开的实施方案的用于usb操作的自动切换的系统的图示。

图2是根据本公开的实施方案的用于自动切换usb操作的方法的图示。

具体实施方式

图1是根据本公开的实施方案的用于自动切换usb的操作模式的示例系统100的图示。此类自动切换可以包括选择性地启用或禁用usb主机到主机的转换、解释或任何其他合适的通信。usb的操作模式可以包括usb主机到设备或主机到主机的通信。usb通信可由例如usb集线器102来促进。

根据usb标准的usb通信要求当使用usb连接两个元件进行端到端的通信时,一个此类元件将充当usb主机,而另一个此类元件将充当usb设备。相比之下,系统100可以促进在usb主机模式中使用多个此类元件。因此,在系统100中,usb设备可以由多个usb主机共享,或者多个usb主机可以彼此通信。此类多主机usb操作的示例性具体实施可见于例如美国专利号7,478,191;7,627,708;和7,523,243。

系统100可以包括usb集线器102。可以使用控制逻辑、数字电路、模拟电路以及处理器、微控制器或用于处理指令的其他执行单元来实现集线器102的控制和操作。当加载到存储器中并由处理器执行时,指令可以致使或配置集线器102执行本文描述的功能。处理器、控制逻辑和电路可以包括在集线器核心104中。核心104可确定集线器102如何执行usb通信。

集线器102可包括任何合适数量和种类的端口。例如,集线器102可包括端口108、110、112、116、118。每个端口可以是上游端口、下游端口或可以被指定为上游或下游端口的可配置端口。在图1的示例中,端口108可以是上游端口,而端口110、112、116、118可以是下游端口。每个端口可配置为主机端口或设备端口。在一个实施方案中,端口110、112、116、118可被配置为主机端口或设备端口。

集线器102可包括多主机网桥(mhb)106。mhb106可以包括模拟电路、数字电路、多路复用器或其他合适的元件,以桥接端口108、110、112、116、118中的下游端口和上游端口之间的通信。具体地讲,mhb106可以被配置为桥接连接到端口108、110、112、116、118的usb主机之间的通信。此外,mhb106可以被配置为将对usb设备的访问共享到连接到端口的多个usb主机。mhb106可以由核心104选择性地接合在usb通信中。

在一个实施方案中,mhb106可以基于附接到集线器102的usb元件由核心104选择性地接合在usb通信中。由于多主机usb通信不遵循任何usb标准,因此多主机usb通信表示与根据usb标准的操作的偏差。因此,当要实现与usb标准的偏差时,多主机usb通信通过利用mhb106可以选择性地接合。选择性地接合mhb106的确定可以由集线器102执行。

可以连接到集线器102的示例元件在图1中示出。usb主机(诸如汽车的头部单元120)可以通过诸如端口0108的上游端口连接到集线器102。一个或多个usb设备诸如存储器芯片122可以通过下游端口(诸如端口1110)连接到集线器102。显示器126可以通过下游端口诸如端口2112连接到集线器102。在一个实施方案中,能够作为usb主机连接到集线器102的另一个元件可以与其连接。在另一个实施方案中,此类元件也能够作为usb设备连接到集线器102。例如,智能电话124可以通过下游端口4118连接到集线器102。电话124可以被配置为作为usb设备或usb主机操作。

集线器102可以被配置为利用mhb桥106以允许在多个主机(诸如头部单元120和电话124(当作为主机连接时))之间以usb格式或协议传输数据。此外,集线器102可以被配置为允许多个主机访问连接到集线器102的usb设备,诸如存储器芯片122或显示器126。

电话124可以访问集线器102并请求与usb主机通信诸如头部单元120,或者可以请求控制usb设备元件诸如存储器芯片122或显示器126。对于系统100的用户,头部单元120可能看起来是此类usb设备元件的拥有者或控制此类usb设备元件。因此,电话124可以请求对否则由头部单元120控制的元件进行明显的控制。然后,系统100的用户可以使用电话124来控制否则由头部单元120控制的各种外围设备或部件。可以根据本公开的受让人提供的“carplay”协议来实现此类过程。随后,在电话124上操作的应用程序可以使用集线器102的usb设备和外围设备,以及头部单元120的其他元件。此类使用可以通过选择性地接合mhb106以在多个主机(头部单元120和电话124)之间共享usb设备或通过促进从主机到主机(头部单元120和电话124)的usb通信来实现。在此类情况下,头部单元120可以允许电话124就像它是关于相关联的usb设备或usb主机到主机的通信的唯一usb主机一样动作。在一个实施方案中,头部单元120可以允许电话124在此类条件下操作,而头部单元120本身不是usb设备。相比之下,诸如usbon-the-go(otg)之类的标准将迫使头部单元120在此类条件下成为usb设备。此外,otg和类似协议在此类连接的中间不能与usb集线器诸如集线器102一起工作。

为了使电话124控制头单元120,或者至少如此与头部单元120通信,或者控制诸如连接到集线器102的usb设备之类的外围设备,可以要求电话124是usb主机。至少,在这种情况下,可以要求电话124就像它是连接到集线器102的唯一usb主机一样操作。由于电话124可以遵循usb标准,因此它可以在以下假设下操作:当它处于主机模式时,它是唯一与其他usb元件连接的usb主机,其他usb元件将处于usb设备模式。usb标准中没有针对多个主机的规定。如上所述,在这种情况下,可以由集线器102选择mhb106,用于电话124与头部单元120、存储器芯片122或电话124之间的通信。当接合时,mhb106可以在电话124和头部单元120之间操作,并使两个usb元件看起来像到另一元件的usb设备(与usb主机相对)。头部单元120的外观可以是欺骗性的,使得它看起来为到电话124的usb设备。此外,头部单元124的外观可以是欺骗性的,使得它看起来为到头部单元120的usb设备。

在一个实施方案中,系统100可以自动执行mhb106的接合以执行主机到主机的通信或者将设备共享到多个主机。

当电话124连接到集线器102时,电话124可以将其自身标识为与主机到主机通信兼容或者将设备共享到多个主机,只要集线器102有利于此类通信。然后,电话124可以从设备模式切换至主机模式。在一个实施方案中,然后,集线器102可以使用mhb106将与电话124的通信的处理切换至主机到主机或设备到多主机。因此,处理可以自动切换。此外,集线器102可以将端口118切换至设备模式。这可以与例如等待头部单元120通知集线器104、集线器102将端口4118切换至设备模式,或者将mhb106附接到相应端口相反。随后,头部单元120和电话124两者都可以作为设备看见mhb106。头部单元120和电话124可作为设备与mhb106通信。mhb106继而可以转换头部单元120和电话124之间的操作,或者来自其他usb元件的头部单元120和电话124的请求。

在电话124与集线器102断开连接之后,集线器102可以断开mhb106的使用。这可以自动执行,与集线器102通知头部单元120关于断开事件并且等待头部单元120从相应端口移除mhb106相反。然后,集线器102可以重新进入正常的usb操作。

在其他具体实施中,头部单元120可以识别出电话124已经附接到下游端口,将电话124识别为可以在主机和设备模式之间切换的设备,命令电话124成为主机,命令集线器102将电话124的端口切换到设备模式和命令集线器102使用mhb106进行后续通信。然而,在此类具体实施中,集线器102的给定实例的制造商必须与头部单元120的给定实例的每个制造商协调以建立命令集、时序图和其他实际实现细节。此类具体实施要求头部单元120包括或添加命令、应用程序编程接口(api)调用、函数、库、软件堆栈元素或用于切换集线器102的模式的其他功能。此外,这些具体实施要求在集线器102的相关联端口从主机切换至设备的同时,电话124作为设备从端口分离并且作为主机重新附接。这需要在从头部单元120发出命令与电话124和集线器102的性能之间的操作同步。未能在所需的时间窗口内切换双方可能会导致争用,其中两个或零个usb主机处于活动状态。此外,头部单元120可以存在于传统装置和具有不同定时的各种装置中。定时的变化是有问题的,因为此类具体实施中的所有切换都由头部单元120发起。

相比之下,在一个实施方案中,集线器102可以自动执行切换,以有利于主机到主机或设备到多主机usb通信。在另一个实施方案中,集线器102可以自动地接合使用mhb106用于主机到主机或设备到多主机usb通信。集线器102可以自动地采取此类步骤而无需来自头部单元120的切换模式的指令。

在一个实施方案中,集线器102可以将下游端口(诸如端口1110、端口1110、端口1116和端口1118)初始化为主机端口。在另一个实施方案中,核心104可以包括用于建立usb主机的部件。这些部件可以称为小型主机。小型主机可以将其自身欺骗为附接到usb主机(诸如头部单元120或电话124)的usb设备。

在一个实施方案中,然后,核心104可以识别电话124是否以及何时附接到下游端口中的一者。在usb主机使用的请求从其他usb主机控制usb设备,或请求与其他usb主机通信的一些协议中,usb主机可以首先附接到集线器102,然后断开连接,然后作为主机重新附接。初始连接可能已作为设备。因此,在另一个实施方案中,核心104然后可以识别电话124是否以及何时已经从下游端口分离。在另一个实施方案中,在看到断开连接时,核心104可以将电话124从其断开的端口切换至设备端口。在另一个实施方案中,核心104可以在将端口切换至设备端口时设置定时器。可以将定时器设置为预期电话124重新附接的时段。在又一个实施方案中,如果定时器在没有检测到主机附接(特别是电话124)的情况下到期,则核心104可以假设断开连接是完全分离,诸如用户从系统100移除或拔出电话124。在这种情况下,核心104可将所讨论的端口返回到主机端口。然而,如果在由定时器设置的时段期间检测到主机附接,则核心104可以将所讨论的端口维持为设备端口。在另一个实施方案中,如果主机附接在由定时器设置的时段期间发生,则核心104可以将mhb106附接到所讨论的端口。随后,mhb106可执行主机到主机或共享设备usb通信。

在此类实施方案中,集线器102或电话124的制造商可能不需要与头部单元120的制造商协调以修改头部单元120与集线器102交接的命令以相对于mhb106的接合来改变集线器102的操作。此外,与其他usb元件相比,头部单元120的使用寿命长。具有不同定时要求的新版本的电话124或其他usb主机相对于建立主机到主机或共享设备usb通信不需要改变头部单元120。可以更快地识别重新连接,因为在此类实施方案中,可以通过集线器102和所应用的mhb106来识别重新连接,而不是等待头部单元120解决其他定时问题。在此类实施方案中,可以通过监测头部单元120和电话124之间的数据流量来实现自动切换,其中线路阻抗被监测。

通过在集线器102中执行自动切换,可以避免对头部单元120中的软件或固件的定制,以便允许头部单元120和电话124之间的主机到主机或共享设备usb通信。用户可以将电话124插入系统100,并且随后电话124可以控制或至少看起来控制系统100的usb元件,诸如显示器126或存储器芯片122。然而,头部单元120不需要放弃完全控制,因为头部单元120可能仍然是主机而不是设备。在随后需要系统100的usb元件诸如显示器126或存储器芯片122时,可以通过mhb106将控制返回到头部单元120。此类需要可以包括,例如,当汽车被置于倒档时,将显示器126的控制从显示电话124应用程序的信息切换至来自头部单元120的备用摄像机馈送。

即使集线器102可以执行端口和桥接模式的自动切换,电话124和头部单元120之间的通信仍然可以发生。例如,当电话124连接到集线器102时,集线器102可以将来自电话124的消息中继到电话124想要作为usb主机连接的头部单元120。集线器102可在不改变此类消息的情况下中继此类消息。如上所述,在电话124随后断开连接之后,集线器102可启动定时器。作为usb主机的重新连接应该在几百毫秒内发生。头部单元120可在作为其自身应用操作的协议中操作与电话124的通信。头部单元120可保持其usb主机状态。然而,头部单元120可能不必向集线器102发出命令以切换与电话124相关联的端口。相反,集线器102可以在观察到电话124的操作和通信时自动处理此类切换。在一些实施方案中,头部单元120可以用确认或其他消息来响应电话124。此类消息可以使电话124假设头部单元120将作为设备操作。然而,相反,头部单元120可以继续作为主机操作,但是主机到主机或共享设备usb通信由mhb106处理。因此,头部单元120可以确认电话124作为usb主机操作的请求,但是头部单元120可能不会相应地改变其操作以从usb主机模式切换。

当集线器102用作与附接到其上的任何usb元件相关的主机时,集线器102的端口可以被认为是主机端口。当集线器102用作与连接到端口的任何usb元件相关的设备时,集线器102的端口可以被认为是设备端口。

图2示出了根据本公开的实施方案的用于自动切换usb的操作模式的示例方法200。方法200可以例如由图1的元件执行,诸如集线器102或核心104。方法200可以在模拟电路、数字电路、由处理器执行的指令或其任何合适的组合中实现。方法200可按任何合适的顺序执行,并且可在任何合适的步骤处开始。此外,方法200可以用比图2中所示更多或更少的步骤来启动。方法200中的特定步骤可以可选地重复、省略、彼此并行执行或者递归地执行。

在205处,usb集线器的下游端口可以设置为主机端口。usb主机诸如头部单元可以连接到usb集线器的上游端口。

在210处,可以识别出双模式usb元件已附接到下游端口中的一者。usb元件可能已作为设备附接。usb元件可以用作usb主机或usb设备。usb元件可包括例如智能电话、膝上型计算机或其他电子设备。

在215处,可以执行从双模式usb元件到附接到usb主机的usb主机的消息传递。usb主机可允许此类消息传递而不改变或中断。可以使用usb设备和usb主机之间的usb协议来执行消息传递。可以执行其他符合usb协议的消息传递。

在220处,可确定双模式usb元件是否已分离。在一个实施方案中,可以监测usb元件与下游端口的任何分离,而不管分离的元件是否特别是双模式usb元件。如果usb元件未分离,则220可重复。如果usb元件已经分离,则方法200可以行进到225。

在225处,发生分离的端口可以切换至设备端口。定时器可被启动。可以将定时器设定为双模式usb元件的实例将重新附接以将其自身生效为主机的时间。此外,定时器可以设定为不同的usb元件不太可能附接到所讨论的端口的时间。如果usb元件在定时器之后附接到所讨论的端口,则usb元件可以作为第一次附接的新usb元件处理,而不是双模式usb元件分离和重新附接。该时间段可以是例如大约500毫秒。

在230处,可以确定是否已经在切换至设备端口的端口上检测到主机。如果未检测到主机,则方法200可行进至240。如果在切换至设备端口的端口上检测到主机,则方法200可以行进到235。

在235处,可以确定同一双模式usb元件已重新附接到端口。该端口可以保持为设备端口。usb集线器可以接合或附接多主机网桥以用于与设备端口的通信。多主机网桥可以转换双模式usb元件和先前附接的usb主机之间的usb主机到主机的通信。多主机网桥可以有利于在双模式usb元件和先前附接的usb主机之间共享usb设备,诸如显示器或存储器。此类通信可以根据需要继续,直到例如双模式usb元件或先前附接的usb分离为止。方法200可返回到220。

在240处,可以确定定时器是否已经到期而没有双模式usb元件重新附接,或者没有在切换的端口上检测到主机。如果定时器已到期,则方法200可以行进到245。如果定时器未到期,则方法200可返回到230。

在245处,可以确定分离是完全移除双模式usb元件。因此,附接双模式usb元件的端口可以切换回主机模式。如果多主机网桥被接合,则它可以分离。方法200可返回到210。

在方法200中的任何合适的点处,方法200可任选地终止。此外,在方法200中的任何合适点处,先前附接的usb主机可生效对共享usb元件的控制。这可例如在中断的基础上执行。

虽然本发明的实施方案易于进行各种修改和替换形式,但是其特定实施方案在附图中以示例的方式示出并且将在本文中详细描述。然而,应当理解,附图和其详细描述并不旨在将本发明限制为所公开的具体形式,相反,其目的在于涵盖落入由所附权利要求书限定的本发明的实质和范围内的所有修改形式、等同形式和替代形式。注意,标题仅用于组织目的,并不旨在用于限制或解释说明书或权利要求书。此外,注意,在本申请的整个申请中,术语“可以”以允许的意义使用(例如,在某些实施方案中具有可能或能够),而不是强制性的意义(即必须)。术语“包括”及其衍生是指“包括但不限于”。术语“耦接”是指“直接或间接连接的”。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1