当前位置: 首页 > 专利查询>英特尔公司专利>正文

通过虚拟USB中心在USB设备中动态提供虚拟化功能的方法技术

技术编号:25396214 阅读:56 留言:0更新日期:2020-08-25 23:01
通过虚拟USB中心在通用串行总线(USB)设备中动态提供虚拟化功能的方法和装置。虚拟USB中心包括被配置为连接到主机系统的USB上游端口以及至少一个外部总线或外部接口,包括非USB设备的设备或其中嵌入有非USB设备的计算设备可以连接到该外部总线或外部接口。虚拟USB中心被配置为检测非USB设备和/或由非USB设备执行的功能,并且生成对应的虚拟USB配置信息,在该信息下,虚拟USB设备和/或功能被连接到虚拟USB中心中的下游虚拟端口。向主机计算机呈现虚拟USB配置以使得主机计算机能够与非USB设备和/或其功能通信。还公开了一种I3C探针,其具有嵌入式虚拟USB中心,并且被配置为与I3C设备和/或嵌入到被调试的目标系统内的功能通信。USB设备还可以以类似的方式虚拟化。

【技术实现步骤摘要】
通过虚拟USB中心在USB设备中动态提供虚拟化功能的方法
技术介绍
暴露内部资源或者外部总线或接口的USB设备需要确定如何在设备级别向主机设备的软件栈呈现这些资源或连接的设备。在许多情况下,期望虚拟化这些连接的设备或资源,以由多个软件应用或系统域使用。在现有的USB设备实现方式中,固定配置设备或要求设备配置的完全的先验知识(通常要求包含配置抵押品的预写入数据文件)的其他可配置设备尚未充分解决资源虚拟化。虚拟化的这种缺乏要求非标准方法来暴露设备的资源,这降低了与现有的标准USB驱动程序以及用于预期由这些驱动程序暴露的标准设备类别而编写的软件的兼容性。附图说明当结合附图时,因为通过参考以下具体实施方式,本专利技术的前述方面和伴随的优点中的许多变得更好理解,所以本专利技术的前述方面和伴随的优点中的许多将变得更容易被认识到,其中,除非另有说明,否则在各个视图中相同的附图标记指代相同的部分:图1是示出根据一个实施例的对虚拟USB中心的实例化的逻辑(高级)实现方式的框图;图2是虚拟USB中心的框图,该虚拟USB中心提供了主机驱动的控制模型的实施例,该主机驱动的控制模型的控制功能包含由主机软件使用以配置设备及其虚拟化能力的接口;图3是根据一个实施例的具有扩展的虚拟化能力的增强版本的虚拟USB中心的框图;图4是示出调试系统的示意图,该调试系统包括耦合在包括调试测试系统(DTS)的主机计算机与被调试的目标系统之间的I3C探针,该示意图示出了将三个I3C从设备(slave)虚拟化为USB设备的第一状态;图4a是示出图4的调试系统的变型的第一状态的示意图,在该状态下三个I3C从功能(slavefunction)被虚拟化为三个USB设备;图4b是示出图4的调试系统的第二状态的示意图,在该状态下已经添加了第四I3C从设备;图4c是示出图4的调试系统的第三状态的示意图,在该状态下已经移除了I3C从设备中的一个;图4d是示出图4a的调试系统的第二状态的示意图,在该状态下已经移除了I3C从功能中的一个并且已经添加了两个I3C从功能;图5是示出根据一个实施例的当初始连接调试系统时由DTS402、I3C探针和目标系统执行的操作的流程图;图6是示出与图4中示出的调试系统的状态相对应的虚拟USB中心的视图的框图;图6a是示出与图4a中示出的调试系统的状态相对应的虚拟USB中心的视图的框图;图7是示出根据一个实施例的用于向图4和图4a-4d的调试系统添加I3C端点和从其移除I3C端点的操作和逻辑的流程图;图8是示出分层架构的框图,在该分层架构下,中间功能虚拟化层用作抽象层,该抽象层从在设备呈现层中向设备呈现的那些功能的角度在功能实现层中抽象功能;以及图9是示出根据一个实施例的针对图4和图4a-4d的调试系统实现的数据路径的示意图。具体实施方式本文描述了通过虚拟USB中心在USB设备中动态提供虚拟化功能的方法和装置的实施例。在以下描述中,阐述了许多具体细节以提供对本专利技术的实施例的透彻理解。然而,相关领域的技术人员将认识到,可以在没有具体细节中的一个或多个的情况下,或者利用其他方法、组件、材料等来实践本专利技术。在其他实例中,未示出或未详细描述公知的结构、材料或操作以避免模糊本专利技术的方面。在整个说明书中对“一个实施例”或“实施例”的引用表示结合该实施例描述的特定特征、结构或特性包括在本专利技术的至少一个实施例中。因此,在整个说明书中各种位置出现的短语“在一个实施例中”或“在实施例中”不一定全都指代同一实施例。此外,在一个或多个实施例中,可以以任何合适的方式组合特定特征、结构或特性。为了清楚起见,本文附图中的单独的组件也可以由附图中该组件的标签来引用,而不是由特定的附图标记来引用。另外地,可以利用带有表示“典型”的“(typ)”的附图标记示出对特定类型的组件(与特定组件相反)引用的附图标记。将理解的是,这些组件的配置将作为可能存在但为了简单和清楚起见未在附图中示出的类似组件或者未标记有单独附图标记的以其他方式类似的组件的典型。相反,“(typ)”不应被解释为表示组件、元件等典型地用于其公开的功能、实现方式、目的等。根据本文所描述的实施例的方面,公开了一种实现灵活且可配置的虚拟USB中心和相关联的虚拟USB设备的USB设备。在一个方面,虚拟USB中心可以被配置为对基本上任何USB设备(包括标准设备类别)进行实例化。虚拟USB中心包含用于管理虚拟USB设备的虚拟化控制逻辑,该虚拟USB设备可以基于设备的状态或通过来自主机计算机的软件栈的命令手动或自动地提供。在提供每个虚拟USB设备时,(从主机计算机的角度而言)该虚拟USB设备表现得如同连接到虚拟USB中心上的空闲端口(类似于将物理USB设备连接到物理USB中心上的空闲端口)一样,这利用现有的软件驱动程序来处理虚拟设备连接和发现,而不会中断与虚拟USB中心或其其他虚拟USB设备的通信。以下实施例描述并示出了用于USB设备的架构,该架构对USB中心进行模拟并且可以实例化多个虚拟USB设备。使用USB中心范例允许对动态系统进行建模,该动态系统的构件可以随时出现或消失——类似于物理USB中心可以具有附接到其下游端口以及从其下游端口移除的USB设备的方式。实施例还利用现有的USB驱动程序,该USB驱动程序支持跨USB中心常见的动态插入/拔出事件,并且实现许多不同设备类别或特定于供应商的实现方式的USB设备的连接。一些实施例还允许对虚拟USB中心及其虚拟化设备接口的控制的若干路径,该虚拟USB中心及其虚拟化设备接口可以是主机驱动的或设备驱动的。动态虚拟USB中心的架构概念本身适用于针对各种用例的许多USB设备实现方式。实现虚拟USB中心的设备不一定类似于典型的USB中心,并且实际上可以类似于具有针对其具体用例定制的扩展的虚拟化能力的更典型的USB设备。对于遵循主机驱动的控制模型的虚拟USB中心,这体现为接受来自主机计算机的命令以实例化新的虚拟化USB功能或者取消提供并逻辑上断开与活动的虚拟化USB功能的连接的“控制功能”。当主机计算机希望功能用于断开连接或以不同的配置重新实例化时,主机计算机将发起这些操作。这些虚拟化USB功能的行为和配置可以通过软件进行配置,这使得这些虚拟化USB功能如同它们是连接到具有常规热插拔事件处理的传统USB中心的物理设备一样工作。对于遵循设备驱动的控制模型的虚拟USB中心,这由内部配置管理器处理,该内部配置管理器使用设备的内部资源或外部总线和接口,以通过恢复先前存储的配置(例如,从非易失性RAM恢复)或通过发现附接到总线或接口的其他设备来动态提供虚拟化USB功能。虚拟USB中心还可以任凭设备实现者的处理来利用两种控制模型(主机驱动的控制模型和设备驱动的控制模型)。在这种情况下,设备可以具有可以驱动配置的以下实体的任一组合:控制功能、用于先前存储的配置的内部资源和/或外部总线或接口。内部架构本文公开的虚拟USB中心的实施例体现了多个逻辑组件本文档来自技高网...

【技术保护点】
1.一种包括通用串行总线(USB)虚拟中心的装置,所述装置包括:/nUSB上游端口;/n至少一个外部总线或外部接口;/n其中,所述装置被配置为,/n检测一个或多个设备,所述一个或多个设备被连接到所述至少一个外部总线或外部接口或者被嵌入或附接到连接到至少一个外部设备或外部接口的计算设备或计算系统,所述一个或多个设备中的至少一个设备包括非USB设备,其中,每个非USB设备被配置为执行一个或多个功能;/n生成虚拟USB配置信息,所述虚拟USB配置信息与一个或多个非USB设备中的至少一个非USB设备以及被配置为由所述一个或多个非USB设备中的一个非USB设备执行的所述一个或多个功能相对应;以及/n当主机经由USB链路被连接到所述USB上游端口时,向所述主机呈现所述虚拟USB配置信息,/n其中,所述虚拟USB配置信息使得在所述主机上运行的软件能够访问以下各项中的至少一个:/n所述一个或多个非USB设备;以及/n被配置为由所述一个或多个非USB设备执行的所述一个或多个功能,/n使用采用USB协议的通信,所述通信通过所述USB链路在所述主机与所述装置之间被发送。/n

【技术特征摘要】
20190215 US 16/277,8501.一种包括通用串行总线(USB)虚拟中心的装置,所述装置包括:
USB上游端口;
至少一个外部总线或外部接口;
其中,所述装置被配置为,
检测一个或多个设备,所述一个或多个设备被连接到所述至少一个外部总线或外部接口或者被嵌入或附接到连接到至少一个外部设备或外部接口的计算设备或计算系统,所述一个或多个设备中的至少一个设备包括非USB设备,其中,每个非USB设备被配置为执行一个或多个功能;
生成虚拟USB配置信息,所述虚拟USB配置信息与一个或多个非USB设备中的至少一个非USB设备以及被配置为由所述一个或多个非USB设备中的一个非USB设备执行的所述一个或多个功能相对应;以及
当主机经由USB链路被连接到所述USB上游端口时,向所述主机呈现所述虚拟USB配置信息,
其中,所述虚拟USB配置信息使得在所述主机上运行的软件能够访问以下各项中的至少一个:
所述一个或多个非USB设备;以及
被配置为由所述一个或多个非USB设备执行的所述一个或多个功能,
使用采用USB协议的通信,所述通信通过所述USB链路在所述主机与所述装置之间被发送。


2.根据权利要求1所述的装置,还包括被连接到下游虚拟端口的控制功能,其中,所述控制功能包括用于控制所述虚拟USB中心中的虚拟端口的接口,并且其中,所述虚拟USB配置信息还包括与所述控制功能相对应的配置信息。


3.根据权利要求1或2所述的装置,其中,所述装置被配置为:
针对每个非USB设备生成虚拟USB配置信息,所述虚拟USB配置信息包括:
a)被连接到所述虚拟USB中心中的下游虚拟端口的虚拟USB设备;
b)被连接到所述虚拟USB中心中的下游虚拟端口的虚拟USB设备,以及与非USB设备被配置为执行的所述一个或多个功能相对应的一个或多个虚拟功能;或者
c)针对非USB设备被配置为执行的所述一个或多个功能中的每一个功能,被连接到所述虚拟USB中心中的下游虚拟端口的虚拟USB设备或虚拟USB功能;以及
向所述主机呈现包括所述虚拟USB配置信息的USB配置信息。


4.根据权利要求1或2所述的装置,其中,所述一个或多个非USB设备中的至少一个非USB设备是I3C从设备或包括I3C从设备。


5.根据权利要求4所述的装置,还包括:
I3C主设备;以及
I3C客户端,其被配置为用作USB与I3C协议之间的桥。


6.根据权利要求4所述的装置,其中,所述I3C从设备被连接到包括I3C总线的所述装置上的外部接口。


7.根据权利要求6所述的装置,其中,所述至少一个外部总线或外部接口包括外部USBType-C接口,其中,所述I3C从设备被包括在包括所述I3C从设备的计算设备中,并且其中,在所述USBType-C接口中的SBU1引脚和SBU2引脚被用于实现I3C总线,通过所述I3C总线发送信号以促进所述装置与所述I3C从设备之间的通信。


8.根据权利要求7所述的装置,其中,所述计算设备包括嵌入式USB设备或USB功能,并且所述USBType-C接口被用于使得所述装置能够与所述嵌入式USB设备或USB功能进行通信。


9.根据权利要求1或2所述的装置,其中,所述至少一个外部总线或外部接口包括外部USB接口,并且其中,所述装置还被配置为:
检测被连接到所述外部USB接口的USB设备或者被嵌入到连接到所述外部USB接口的第二装置中的USB功能;
生成与所述USB设备或嵌入式USB功能相对应的USB配置信息;以及
通过所述USB链路向所述主机呈现所述USB配置信息,
其中,所述USB配置信息使得在所述主机上运行的软件能够使用USB协议访问所述USB设备或所述嵌入式USB功能。


10.根据权利要求1或2所述的装置,还被配置为:
实现与物理USB设备或USB功能相对应的虚拟功能;
向所述主机呈现与所述虚拟功能相对应的虚拟USB配置;以及
使用USB协议促进所述虚拟功能与在所述主机上运行的软件之间的通信。


11.一种方法,包括:
实现具有上游USB端口和至少一个外部总线或外部接口的虚拟USB中心;以及
使得在经由USB链路被连接到所述上游USB端口的主机上运行的软件能够与以下各项中的至少一个进行通信:
被连接到所述虚拟USB中心上的外部总线或外部接口的第一非USB设备;
被嵌入到连接到所述虚拟USB中心上的外部总线或外部接口的计算设备中的第一非USB设备;以及
由被连接到所述外部总线或外部接口的所述第一非USB设备实现的或者由被嵌入到所述计算设备中的所述第一非USB设备实现的一个或多个功能。


12.根据权利要求11所述的方法,还包括:
检测所述第一非USB设备被连接到外部总线或外部接口,或者检测其中嵌入有所述第一非USB设备的所述计算设备被连接到外部总线或外部接口;
生成虚拟USB配置信息,所述虚拟USB配置信息与所述第一非USB设备以及被配置为由所述第一非USB设备执行的所述一个或多个功能中的至少一个相对应;以及
向所述主机呈现所述虚拟USB配置信息,
其中,所述虚拟USB配置信息被配置为使得在所述主机上运行的软件能够使用通过所述USB链路使用USB协议发送的数据传输与所述第一非USB设备以及被配置为由所述第一非USB设备执行的所述一个或多个功能中的至少一个进行通信。


13.根据权利要求12所述的方法,还包括:
生成与所述第一非USB设备相对应的虚拟USB配置信息,所述虚拟USB配置信息包括:
a)被连接到所述虚拟USB中心中的下游虚拟端口的虚拟USB设备;
b)被连接到所述虚拟USB中心中的下游虚拟端口的虚拟USB设备,以及与该非USB设备被配置为执行的所述一个或多个功能相对应的一个或多个虚拟功能;或者
c)针对所述非USB设备被配置为执行的所述一个或多个功能中的每一个功能,被连接到所述虚拟USB中心中的下游虚拟端口的虚拟USB设备或虚拟USB功能。


...

【专利技术属性】
技术研发人员:M·A·施努尔B·H·史密斯
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1