【技术实现步骤摘要】
通过虚拟USB中心在USB设备中动态提供虚拟化功能的方法
技术介绍
暴露内部资源或者外部总线或接口的USB设备需要确定如何在设备级别向主机设备的软件栈呈现这些资源或连接的设备。在许多情况下,期望虚拟化这些连接的设备或资源,以由多个软件应用或系统域使用。在现有的USB设备实现方式中,固定配置设备或要求设备配置的完全的先验知识(通常要求包含配置抵押品的预写入数据文件)的其他可配置设备尚未充分解决资源虚拟化。虚拟化的这种缺乏要求非标准方法来暴露设备的资源,这降低了与现有的标准USB驱动程序以及用于预期由这些驱动程序暴露的标准设备类别而编写的软件的兼容性。附图说明当结合附图时,因为通过参考以下具体实施方式,本专利技术的前述方面和伴随的优点中的许多变得更好理解,所以本专利技术的前述方面和伴随的优点中的许多将变得更容易被认识到,其中,除非另有说明,否则在各个视图中相同的附图标记指代相同的部分:图1是示出根据一个实施例的对虚拟USB中心的实例化的逻辑(高级)实现方式的框图;图2是虚拟USB中心的框图,该虚拟USB中心提供了主机驱动的控制模型的实施例,该主机驱动的控制模型的控制功能包含由主机软件使用以配置设备及其虚拟化能力的接口;图3是根据一个实施例的具有扩展的虚拟化能力的增强版本的虚拟USB中心的框图;图4是示出调试系统的示意图,该调试系统包括耦合在包括调试测试系统(DTS)的主机计算机与被调试的目标系统之间的I3C探针,该示意图示出了将三个I3C从设备(slave)虚拟化为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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。