[发明专利]一种基于软件模拟的USB硬件虚拟化方法有效
申请号: | 202011423363.8 | 申请日: | 2020-12-08 |
公开(公告)号: | CN112506818B | 公开(公告)日: | 2022-05-31 |
发明(设计)人: | 颜亮;文刚;刘栋;赖韬 | 申请(专利权)人: | 中国电子科技集团公司第三十研究所 |
主分类号: | G06F13/10 | 分类号: | G06F13/10 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 贾年龙 |
地址: | 610000 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 软件 模拟 usb 硬件 虚拟 方法 | ||
1.一种基于软件模拟的USB硬件虚拟化方法,其特征在于,包括以下步骤:
S1、在操作系统启动时自动加载USB主机控制器驱动和配套的应用程序;
S2、为配套的应用程序设置必要参数;
S3、将USB硬件接入操作系统,通过主机控制驱动自动根据物理设备的信息虚拟出多个USB虚拟设备;
S4、通过操作系统识别出多个USB虚拟设备并添加到设备列表;
所述USB虚拟设备的具体使用流程为:
A、通过应用程序根据PID和VID信息枚举USB虚拟设备;
B、根据需要通过应用程序选择一个USB虚拟设备;
C、通过应用程序以使用物理设备的方式使用USB虚拟设备;
所述步骤C的具体步骤为:
C1、通过USB虚拟化的主机控制驱动获取应用程序发送的USB请求,将请求路由到物理设备中;
C2、通过物理设备响应该USB请求,并通过主机控制驱动将响应结果写入USB虚拟设备的输出端口;
C3、通过应用程序获取到主机控制驱动提交的响应结果并使用;
对所述USB请求进行细粒度的切片管理与协同,适应简单和复杂的USB硬件,保证多个USB虚拟硬件并发访问时无差错的响应;
所述对USB请求进行细粒度的切片管理与协同具体为:
针对无状态机的单次请求,主机控制驱动内部实现请求队列,当响应完成后再执行下一个请求;
针对需要多个特定请求按序响应的设备,主机控制驱动抽象出设备的操作流程,将一个顺序流封装到抽象的操作流中,在顺序流完成后执行下一个操作流;
针对有状态机的硬件设备,主机控制驱动无需协同。
2.根据权利要求1所述的基于软件模拟的USB硬件虚拟化方法,其特征在于,所述步骤S2中的必要参数包括:需要虚拟化的硬件设备信息,如PID和VID;需要虚拟的硬件个数;虚拟硬件的硬件设备信息,如PID、VID、物理序列号、名称和描述信息。
3.根据权利要求1所述的基于软件模拟的USB硬件虚拟化方法,其特征在于,所述应用程序可将USB虚拟硬件再次提供给USB映射软件,USB映射软件可任意选择一个虚拟设备并映射到其它操作系统,实现同一个USB硬件在多个不同操作系统中使用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第三十研究所,未经中国电子科技集团公司第三十研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011423363.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智慧城市市政河道治理系统及其使用方法
- 下一篇:一种正极板栅的制备方法