CN104281542B - 多功能usb终端设备的适配方法、装置及系统 - Google Patents

多功能usb终端设备的适配方法、装置及系统 Download PDF

Info

Publication number
CN104281542B
CN104281542B CN201410505785.8A CN201410505785A CN104281542B CN 104281542 B CN104281542 B CN 104281542B CN 201410505785 A CN201410505785 A CN 201410505785A CN 104281542 B CN104281542 B CN 104281542B
Authority
CN
China
Prior art keywords
terminal equipment
usb terminal
module
configuration information
endpoint
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410505785.8A
Other languages
English (en)
Other versions
CN104281542A (zh
Inventor
邹泽
马伟伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201410505785.8A priority Critical patent/CN104281542B/zh
Priority to PCT/CN2014/090642 priority patent/WO2015131532A1/zh
Publication of CN104281542A publication Critical patent/CN104281542A/zh
Application granted granted Critical
Publication of CN104281542B publication Critical patent/CN104281542B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种多功能USB终端设备的适配方法、装置及系统,其中上述方法,包括:主机模块获取当前连接到主机的USB终端设备上报的USB终端设备支持的所有endpoint的配置信息;主机模块根据所有endpoint的配置信息,与USB终端设备进行协商,确定USB终端设备使用的endpoint,根据USB终端设备使用的endpoint的配置信息,与USB终端设备建立通道pipe链接;主机模块根据建立的pipe链接,分别创建与USB终端设备使用的各个endpoint对应的功能模块,并在主机中加载各个功能模块。采用上述技术方案,不需要多次安装驱动,提升模式变化速度和稳定性。

Description

多功能USB终端设备的适配方法、装置及系统
技术领域
本发明涉及计算机及通信领域,具体而言,涉及一种多功能通用串行总线(USB)终端设备的适配方法、装置及系统。
背景技术
在现有技术中,数据终端使用时首先要在主机上安装用户界面(User Interface,简称为UI)和驱动(PC Driver)等软件,这些软件统可视为一个用户定制的主机模块。其中,驱动采用预先安装(Preinstall)的方式先安装到主机系统,待USB迷你程序(Gadget)终端设备同主机链接时,由主机系统按照一定的条件进行判断,再从预先安装在主机系统中的驱动中选择恰当的驱动,为处于某一特定模式的USB Gadget进行驱动安装(Install)或者更新(Update)。
任何一种模式的USB Gadget终端设备链接上主机后,都要经过被主机系统识别,之后进行驱动程序的安装的阶段。采用上述驱动安装方法,当USB Gadget终端设备进行模式变化时,需要重新启动USB物理层(PHY),暂时同主机系统断开连接后再次恢复链接才能让别主机系统重新识别该设备。这种重启USB PHY的动作,需要一定的间隔时间,并且容易在主机系统重新识别终端时发生问题。另一方面,由于USB PHY的重启,主机模块会检测到设备突然移除,并出现同USB Gadget终端联系暂时中断的情况。
而USB Gadget终端设备进行模式变化,从一个模式变化为另一个模式时,终端设备向主机系统提供了新的描述符、配置信息等。在相关技术中,如果按照上述方法安装驱动,对于主机系统而言,虽然通过USB Hub连接的USB终端设备物理上还是同一个,但实际上已经是不同两套端口、两台配置,逻辑上已经是两个不同的USB终端设备。这样主机系统必然会为变为新模式的USB Gadget终端设备重新安装适配的驱动。增加了驱动安装的流程,引入不稳定因素。另外在主机模块预安装(Preinstall)驱动时,要准备并预安装多套驱动,耗时耗空间。
并且,按照相关技术中采用的技术方案,主机应用层需要随时监测USB Gadget多功能变换情况。
针对相关技术的驱动安装方法存在的多功能切换时USB PHY需要重启、主机系统适配多功能USB Gadget时需要多次安装驱动、多功能切换时间长以及存储空间消耗大的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术的驱动安装方法存在的多功能切换时USB PHY需要重启、主机系统适配多功能USB Gadget时需要多次安装驱动、多功能切换时间长以及存储空间消耗大的问题,本发明提供了一种多功能USB终端设备的适配方法、装置及系统,以至少解决上述问题。
根据本发明的一个方面,提供了一种多功能通用串行总线USB终端设备适配方法,包括:主机模块获取当前连接到主机的USB终端设备上报的所述USB终端设备支持的所有端点endpoint的配置信息;所述主机模块根据所述所有endpoint的配置信息,与所述USB终端设备进行协商,确定所述USB终端设备使用的endpoint,根据所述USB终端设备使用的endpoint的配置信息,与所述USB终端设备建立通道pipe链接;所述主机模块根据建立的所述pipe链接,分别创建与所述USB终端设备使用的各个所述endpoint对应的功能模块,并在主机中加载各个所述功能模块。
优选地,所述主机模块根据所述USB终端设备使用的endpoint的配置信息,与所述USB终端设备建立通道pipe链接,包括:所述主机模块根据所述USB终端设备使用的所述endpoint的配置信息,建立与所述USB终端设备的所有pipe链接。
优选地,所述主机模块根据建立的所述pipe链接,分别创建与所述USB终端设备使用的各个所述endpoint对应的功能模块,包括:所述主机模块获取各个所述pipe链接的功能配置信息;所述主机模块根据各个所述pipe链接的功能配置信息,分别创建对应的功能模块。
优选地,在主机模块获取当前连接到主机的USB终端设备上报的所述USB终端设备支持的所有端点endpoint的配置信息之前,所述方法还包括:所述USB终端设备与主机系统进行endpoint的配置信息的确认,得到所述USB终端设备支持的所有endpoint的配置信息。
优选地,在主机中加载各个所述功能模块之后,所述方法还包括:
所述主机模块通过pipe链接向所述USB终端设备发送控制命令,配置所述USB终端设备的功能配置信息;
所述USB终端设备根据所述主机模块配置的所述功能配置信息,对所述USB终端设备的内核层及功能层进行调整;
所述主机模块按照所述USB终端设备的功能配置信息,调整与所述USB终端设备的链接配置;
所述主机模块根据所述USB终端设备的功能配置信息,加载和/或卸载对应的功能模块。
优选地,在主机中加载各个所述功能模块之后,所述方法还包括:
所述主机模块通过各个所述功能模块与所述USB终端设备建立虚拟连接。
优选地,所述主机模块通过各个所述功能模块与所述USB终端设备建立虚拟连接之后,所述方法还包括:
所述主机模块按照各个所述功能模块的功能,提供对应的各种操作接口。
根据本发明的另一个方面,提供了一种通用串行总线USB终端设备的连接装置,位于主机,包括:获取模块,用于获取当前连接到主机的USB终端设备上报的所述USB终端设备支持的所有端点endpoint的配置信息;协商模块,用于根据所述所有endpoint的配置信息,与所述USB终端设备进行协商,确定所述USB终端设备使用的endpoint;第一建立模块,用于根据所述USB终端设备使用的各个所述endpoint的配置信息,与所述USB终端设备建立通道pipe链接;创建模块,用于根据建立的所述pipe链接,分别创建与所述USB终端设备使用的各个所述endpoint对应的功能模块,并在主机中加载各个所述功能模块。
优选地,所述第一建立模块用于建立与所述USB终端设备的所有pipe链接;
所述创建模块包括:获取单元,用于获取各个所述pipe链接的功能配置信息;创建单元,用于根据各个所述pipe链接的功能配置信息,分别创建对应的功能模块。
优选地,所述装置还包括:第二建立模块,用于通过各个所述功能模块与所述USB终端设备建立虚拟连接。
优选地,所述装置还包括:应用模块,用于按照各个所述功能模块的功能,提供对应的各种操作接口。
根据本发明的再一个方面,提供了一种多功能通用串行总线USB终端设备的适配系统,包括:USB终端设备侧的USB小工具Gadget模块,用于向主机上报所述USB终端设备支持的所有端点endpoint的配置信息;主机侧的主机模块,包括以上所述的装置.
通过本发明,USB终端设备上报其支持的所有endpoint(端点)的配置信息,主机模块根据这些信息,创建对应的多个功能模块,通过不同的功能模块,可以与不同功能的USB终端设备进行适配,不需要多次安装驱动,在USB终端进行模式切换时,通过不同的功能模块提供对应的适配功能,USB终端设备中不需要USB PHY的重启,提升模式变化速度和稳定性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的多功能USB终端设备的适配系统的结构示意图;
图2是根据本发明可选实施例的多功能USB终端设备的适配系统的结构示意图;
图3是根据本发明可选实施例的主机模块的内核层子模块的结构示意图;
图4是根据本发明实施例的多功能USB终端设备的适配方法的流程图;
图5是根据本发明实施例的多功能USB终端设备的适配装置的结构示意图;
图6是实施例一中的模块安装及初始化流程示意图;
图7是实施例二的系统工作流程图;
图8是实施例三的系统工作流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
针对相关技术中多功能USB Gadget和主机适配的主要几点不足:1.多功能切换时USBPHY需要重启;2.主机系统适配多功能USB Gadget时,多次安装驱动;3.多功能变换时间长;4.主机应用层需要随时监测USB Gadget多功能变换情况。本发明实施例提出了提供一种USB终端设备的连接方案,该方案提供了一种通用USB多功能设备的自动适配系统,该系统不仅能很好的解决现有技术存在的不足,还能引入更加灵活自由的适配能力和方案。
图1为根据本发明实施例的多功能USB终端设备的适配系统的结构示意图,如图1所示,该系统主要包括:主机侧的主机模块101和USB终端设备侧的USB小工具(Gadget)模块102。其中,USB终端设备侧的USB小工具(Gadget)模块102,用于向主机上报所述USB终端设备支持的所有endpoint的配置信息;主机侧的主机模块101,用于与USB终端设备进行适配、提供初始控制通路,管理不同功能模式的数据和控制通路,创建与USB终端设备使用的各个所述endpoint对应的功能模块,并将创建的各个功能模块加载到主机。
通过上述系统,101主机模块和102 USB Gadget模块两大模块构成一个独立、完整的通用USB多功能设备的自动适配装置。通过在目标主机安装101主机模块,使用具备所述102USB Gadget模块的USB终端设备,即可构成一个不受主机系统影响,能够独立、自主进行多功能自动适配的系统。
其中主机模块101只需要在目标主机中安装一次,大大减少了安装次数、安装时间,减少了出错的机会。在系统后续的使用和运行中,全部主要工作只需要主机侧的主机模块101同USB终端设备侧的USB Gadget模块102内部自动调整适配即可。
图2为本发明可选实施例的多功能USB终端设备的适配系统的结构示意图,如图2所示,主机模块101可以包括:主机侧的内核层子模块101-1和应用层子模块101-2。其中,应用层子模块101-2作为可选模块,可以包含在主机模块101中,也可以不包含。不包含时,并不影响本发明实施例的所述系统的主要功能。这样的特性,可以使本发明实施例的所述系统也能被在本申请之前就存在的一些应用层软件所使用。为用户提供良好的新旧产品继承、兼容能力。
本发明实施例中的内核层子模块101-1主要用于与USB Gadget模块102的内核层子模块102-1进行适配、提供初始控制通路,管理不同功能模式的数据和控制通路。为实现这些目的,如图3所示,内核层子模块101-1又可以包括:链接管理模块101-1-1和功能模块101-1-2。
链接管理模块101-1-1和功能模块101-1-2具备内部协调机制,链接管理模块101-1-1依据需要实现的功能配置情况,创建出功能模块101-1-2,并负责同功能模块101-1-2沟通和完成功能模块101-1-2同其外部模块(例如,USB Gadget内核层子模块102-1)的数据传递功能。
如图3所示,功能模块101-1-2数目不等,可以是从1~N。N的值取决于需要适配、支持的功能端口配置情况。主机侧的功能模块101-1-2可以直接为应用层子模块101-2(主机)提供功能接口。
在本发明可选实施例中,当USB Gadget模块102连接上主机后,其内核层子模块102-1(USB Gadget)首先同主机系统进行Endpoint的配置信息确认。内核层子模块102-1(USBGadget)将一次上报全其支持的Endpoint数。之后,链接管理模块101-1-1(主机)负责进一步的Pipe建立和管理(如图3的103部分所示)。随后,通过链接管理模块101-1-1(主机)与内核层子模块102-1(USB Gadget)之间的协商,按照协商结果,合适功能模块101-1-2(主机)被创建、加载。
通过本发明可选实施例提供的所述系统通过这一系列的系统内部沟通,使得内核层子模块102-1(USB Gadget)的功能配置与内核层子模块101-1(主机)的功能配置相互匹配,协调工作。产生如图2的104部分所示,功能层子模块102-2(USB Gadget)同应用层子模块101-2(主机)之间的虚拟连接,从而实现整个装置的正常工作。
采用本发明上述系统,具有以下有益效果:1.无需USB终端设备进行USB PHY的重启,提升模式变化速度和稳定性;2.在主机系统只需进行一次安装即可适配多种类型的USB无线数据卡产品;3.一次安装包括主机驱动的预安装、一次主机驱动的安装,一次应用软件的安装。大大缩减了安装的次数和复杂度;4.USB终端设备多功能实现无需多次开发,多次配置。简化USB终端设备开发;5.提升了主机模块的兼容性和稳定性;6.端口可固定;7.让更加灵活、自由的模式变化方案的实施变为可行。
根据本发明实施例,提供了一种多功能USB终端设备的适配方法,该方法可以通过上述系统实现。
图4为根据本发明实施的多功能USB终端设备的适配方法的流程图,如图4所示,主要包括以下步骤:
步骤S402,主机模块获取当前连接到主机的USB终端设备上报的USB终端设备支持的所有endpoint的配置信息。
步骤S404,主机模块根据所有endpoint的配置信息,与USB终端设备进行协商,确定USB终端设备使用的endpoint,根据USB终端设备使用的endpoint的配置信息,与USB终端设备建立通道pipe链接。
步骤S406,主机模块根据建立的所述pipe链接,分别创建与USB终端设备使用的各个endpoint对应的功能模块,并在主机中加载各个所述功能模块。
在本发明实施例的一个可选实施方式中,在执行步骤S404时,所述主机模块可以根据所述USB终端设备使用的各个所述endpoint的配置信息,建立与所述USB终端设备的所有pipe链接。
在本发明实施例的一个可选实施方式中,在步骤S406中,所述主机模块根据建立的所述pipe链接,分别创建与各个所述endpoint对应的功能模块时,可以先获取各个所述pipe链接的功能配置信息,然后根据各个所述pipe链接的功能配置信息,分别创建对应的功能模块。
在本发明实施例的一个可选实施方式中,在执行步骤S402之前,所述USB终端设备与主机系统进行endpoint的配置信息的确认,得到所述USB终端设备支持的所有endpoint的配置信息。
在本发明实施例的一个可选实施方式中,在步骤S406之后,所述主机模块可以通过pipe链接向所述USB终端设备发送控制命令,配置所述USB终端设备的功能配置信息;所述USB终端设备根据所述主机模块配置的所述功能配置信息,对所述USB终端设备的内核层及功能层进行调整;所述主机模块按照所述USB终端设备的功能配置信息,调整与所述USB终端设备的链接配置;所述主机模块根据所述USB终端设备的功能配置信息,加载和/或卸载对应的功能模块。
在本发明实施例中,Endpiont配置以及USB终端设备支持的功能配置,有两种触发方式:a.配置信息存储在主机模块,由主机模块进行主导配置;B.配置信息存储在USB终端设备,由终端设备主导配置。
在本发明实施例的一个可选实施方式中,在主机中加载各个所述功能模块之后,所述主机模块可以通过各个所述功能模块与所述USB终端设备建立虚拟连接。
在本发明实施例的一个可选实施方式中,在所述主机模块通过各个所述功能模块与所述USB终端设备建立虚拟连接之后,所述主机模块可以按照各个所述功能模块的功能,提供对应的各种操作接口,例如通过上述应用层子模块101-2为用户提供各种操作接口。
与上述USB终端设备的连接方法对应,根据本发明实施例,还提供一种多功能USB终端设备的适配装置,该装置位于主机,具体可以包括在主机模块101中。
图5为根据本发明实施例的多功能USB终端设备的适配装置的结构示意图,如图5所示,该装置主要包括:获取模块52,用于获取当前连接到主机的USB终端设备上报的所述USB终端设备支持的所有端点endpoint的配置信息;协商模块58,用于根据所述所有endpoint的配置信息,与所述USB终端设备进行协商,确定所述USB终端设备使用的endpoint;第一建立模块54,用于根据所述USB终端设备使用的各个所述endpoint的配置信息,与所述USB终端设备建立通道pipe链接;创建模块56,用于根据建立的所述pipe链接,分别创建与USB终端设备使用的各个所述endpoint对应的功能模块,并在主机中加载各个所述功能模块。
其中,上述获取模块52、第一建立模块54和创建模块56相当于上述的主机侧的内核层子模块101-1。
在本发明可选实施例中,所述第一建立模块54用于建立与所述USB终端设备的所有pipe链接;所述创建模块56可以包括:获取单元,用于获取各个所述pipe链接的功能配置信息;创建单元,用于根据各个所述pipe链接的功能配置信息,分别创建对应的功能模块。
在本发明可选实施例中,所述装置还可以包括:第二建立模块,用于通过各个所述功能模块与所述USB终端设备建立虚拟连接。
在本发明可选实施例中,所述装置还可以包括:应用模块(相当于上述的应用层子模块101-2),用于按照各个所述功能模块的功能,提供对应的各种操作接口。
下面结合图2和图3,通过具体实施例对本发明实施例提供的技术方案进行说明。
在下述实施例中,1.使用的USB终端设备具备并支持本发明实施例提供的所述系统中的102 USB Gadget模块的特性;2.在USB终端设备连接到目标主机前,在目标主机上安装好本发明实施例的所述系统中的101主机模块部分;3.USB终端设备同目标主机正常连接。
实施例一
本实施例对主机模块101的安装及主机模块101和USB Gadget模块102首次建立链接的初始化过程进行描述。
图6为本实施例中主机模块101部分安装以及主机模块101和USB Gadget模块102首次建立链接的初始化过程的示意图。其中,图6中的双虚线的左边区域表示目标主机上的流程,双虚线右边的区域表示USB Gadget终端上的流程。
如图6所示,先进行目标主机上的主机模块的安装(201)。其中,201可以包括两个流程,内核层子模块202(主机)的安装和应用层子模块的安装203(主机)。主机的内核层子模块的安装主要是安装一套完整的驱动。在内核层子模块的驱动安装完后(204)主机上出现相关功能的接口,如com口,网卡口。之后,执行步骤206,主机的内核层子模块等待USBGadget模块插入主机的事件发生(208)。
主机侧的应用层子模块独立的进行安装(203),并初始化相关参数。之后,应用层子模块可以检测主机的内核层子模块的端口状态,或者接收来自主机的内核层子模块的特殊通知事件,以此来感应USB Gadget模块同主机进行了链接。在USB Gadget模块同主机链接前,主机的应用层子模块一直处于等待链接的状态(206),并且,主机的应用层子模块还可以准备管理内核子模块枚举出的功能设备(210)。
如图6所示,USB Gadget模块同主机链接后,USB模块同主机系统通报配置情况,激活步骤205等待中的(主机)内核层子模块,进入步骤207,主机的内核层子模块同USBGadget模块建立Pipe链接,同时步骤中209,USB Gadget模块也同主机内核层子模块建立了Pipe链接。
至此,本实施例中的模块安装和初始化阶段就算成功完成了。接下来可以按照下面实施例二和实施例三进行工作运行流程。
实施例二
图7为本实施例中系统的工作运行流程图,在本实施例中,主机模块按照USBGadget的配置来适配功能。
在流程开始前,主机内核模块同USB Gadget模块建立的是全部Pipe的链接。如图7所示,本实施例中系统的工作运行流程主要包括以下步骤:
步骤301,主机内核层子模块向USB Gadget内核层子模块发送控制命令,获取USBGadgetPipe配置及功能配置信息。
步骤302,USB Gadget内核层子模块反馈USB Gadget Pipe配置及功能配置信息。
步骤303,主机内核层子模块依据反馈,创建出各个对应的功能模块,并在主机中加载。
步骤304,主机内核层子模块的各个功能模块,同USB Gadget功能层子模块发生对应的虚拟链接。USB Gadget功能层的各种功能在主机上的实现由主机内核层子模块负责。
步骤305,主机应用层子模块按照内核成子模块创建的功能,向用户提供各种相匹配的操作接口。
实施例二
本实施例中,主机模块主动来控制USB Gadget以获取主机模块需要的功能配置。图8为本实施例中系统的工作流程图,在执行图8所示的流程之前,主机内核层子模块与USBGadget模块仅需建立Pipe0链接。如图8所示,本实施例中系统的工作运行流程主要包括以下步骤:
步骤401,主机模块向USB Gadget内核层子模块发送控制命令,设置USB Gadget功能配置。主机要求的配置信息,存储在主机模块的应用层子模块401-1或者主机模块的内核子模块。
步骤402,USB Gadget接收命令,解析出命令的中的配置信息。之后USB Gadget就分别对USB Gadget的内核层子模块和功能层子模块进行调整。分为如下两个步骤403和步骤404。
步骤403,由USB Gadget模块的内核层子模块进行调整,保证USB Gadget同主机模块的无缝链接。
步骤404,由USB Gadget模块的功能层子模块进行调整,完成USB Gadget的功能配置和变换。
紧接着步骤403,随着步骤403的执行完毕,会引发步骤405的执行。
步骤405,主机内核层子模块的链接管理模块按照预先设定的配置,调整链接配置,保证主机同USB Gadget的全Pipe无缝链接。
当步骤404的执行完毕和步骤405都完成后,会引发步骤406的执行。
步骤406,主机内核层子模块的各个功能模块按照预先设定的配置,适当的进行加载/卸载功能模块,满足不同的功能需求。
最终,在主机模块的各个模块都达到设定状态后,步骤407的实施条件就得以满足。于是,执行步骤407。
步骤407,主机应用层子模块按照预先设定的功能,向用户提供各种相匹配的操作接口。
综上,借助于本发明实施例的技术方案,为实现USB多功能设备模式灵活、自由变换,主机应用层真正无缝对接的能力实现提供了完美的方案平台。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种多功能通用串行总线USB终端设备适配方法,其特征在于,包括:
主机模块获取当前连接到主机的USB终端设备上报的所述USB终端设备支持的所有端点endpoint的配置信息;
所述主机模块根据所述所有endpoint的配置信息,与所述USB终端设备进行协商,确定所述USB终端设备使用的endpoint,根据所述USB终端设备使用的endpoint的配置信息,与所述USB终端设备建立通道pipe链接;
所述主机模块根据建立的所述pipe链接,分别创建与所述USB终端设备使用的各个所述endpoint对应的功能模块,并在主机中加载各个所述功能模块。
2.根据权利要求1所述的方法,其特征在于,所述主机模块根据所述USB终端设备使用的endpoint的配置信息,与所述USB终端设备建立通道pipe链接,包括:所述主机模块根据所述USB终端设备使用的所述endpoint的配置信息,建立与所述USB终端设备的所有pipe链接。
3.根据权利要求2所述的方法,其特征在于,所述主机模块根据建立的所述pipe链接,分别创建与所述USB终端设备使用的各个所述endpoint对应的功能模块,包括:
所述主机模块获取各个所述pipe链接的功能配置信息;
所述主机模块根据各个所述pipe链接的功能配置信息,分别创建对应的功能模块。
4.根据权利要求1所述的方法,其特征在于,在主机模块获取当前连接到主机的USB终端设备上报的所述USB终端设备支持的所有端点endpoint的配置信息之前,所述方法还包括:
所述USB终端设备与主机系统进行endpoint的配置信息的确认,得到所述USB终端设备支持的所有endpoint的配置信息。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在主机中加载各个所述功能模块之后,所述方法还包括:
所述主机模块通过pipe链接向所述USB终端设备发送控制命令,配置所述USB终端设备的功能配置信息;
所述USB终端设备根据所述主机模块配置的所述功能配置信息,对所述USB终端设备的内核层及功能层进行调整;
所述主机模块按照所述USB终端设备的功能配置信息,调整与所述USB终端设备的链接配置;
所述主机模块根据所述USB终端设备的功能配置信息,加载和/或卸载对应的功能模块。
6.根据权利要求1至4中任一项所述的方法,其特征在于,在主机中加载各个所述功能模块之后,所述方法还包括:
所述主机模块通过各个所述功能模块与所述USB终端设备建立虚拟连接。
7.根据权利要求6所述的方法,其特征在于,所述主机模块通过各个所述功能模块与所述USB终端设备建立虚拟连接之后,所述方法还包括:
所述主机模块按照各个所述功能模块的功能,提供对应的各种操作接口。
8.一种通用串行总线USB终端设备的连接装置,位于主机,其特征在于,包括:
获取模块,用于获取当前连接到主机的USB终端设备上报的所述USB终端设备支持的所有端点endpoint的配置信息;
协商模块,用于根据所述所有endpoint的配置信息,与所述USB终端设备进行协商,确定所述USB终端设备使用的endpoint;
第一建立模块,用于根据所述USB终端设备使用的各个所述endpoint的配置信息,与所述USB终端设备建立通道pipe链接;
创建模块,用于根据建立的所述pipe链接,分别创建与所述USB终端设备使用的各个所述endpoint对应的功能模块,并在主机中加载各个所述功能模块。
9.根据权利要求8所述的装置,其特征在于,
所述第一建立模块用于建立与所述USB终端设备的所有pipe链接;
所述创建模块包括:
获取单元,用于获取各个所述pipe链接的功能配置信息;
创建单元,用于根据各个所述pipe链接的功能配置信息,分别创建对应的功能模块。
10.根据权利要求8或9所述的装置,其特征在于,所述装置还包括:
第二建立模块,用于通过各个所述功能模块与所述USB终端设备建立虚拟连接。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
应用模块,用于按照各个所述功能模块的功能,提供对应的各种操作接口。
12.一种多功能通用串行总线USB终端设备的适配系统,其特征在于,包括:
USB终端设备侧的USB小工具Gadget模块,用于向主机上报所述USB终端设备支持的所有端点endpoint的配置信息;
主机侧的主机模块,包括权利要求8至11中任一项所述的装置。
CN201410505785.8A 2014-09-26 2014-09-26 多功能usb终端设备的适配方法、装置及系统 Active CN104281542B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410505785.8A CN104281542B (zh) 2014-09-26 2014-09-26 多功能usb终端设备的适配方法、装置及系统
PCT/CN2014/090642 WO2015131532A1 (zh) 2014-09-26 2014-11-07 多功能usb终端设备的适配方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410505785.8A CN104281542B (zh) 2014-09-26 2014-09-26 多功能usb终端设备的适配方法、装置及系统

Publications (2)

Publication Number Publication Date
CN104281542A CN104281542A (zh) 2015-01-14
CN104281542B true CN104281542B (zh) 2017-12-05

Family

ID=52256434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410505785.8A Active CN104281542B (zh) 2014-09-26 2014-09-26 多功能usb终端设备的适配方法、装置及系统

Country Status (2)

Country Link
CN (1) CN104281542B (zh)
WO (1) WO2015131532A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281542B (zh) * 2014-09-26 2017-12-05 中兴通讯股份有限公司 多功能usb终端设备的适配方法、装置及系统
CN105573934B (zh) * 2015-12-11 2019-11-12 北京元心科技有限公司 运行多系统的从设备通过usb连接接入主设备的方法及装置
CN106412598A (zh) * 2016-09-13 2017-02-15 中山大学 基于cuda显卡编码的无线视频传输系统及其传输方法
CN109388598A (zh) * 2017-08-11 2019-02-26 航天信息股份有限公司 一种信息处理方法及通用串行总线usb集群服务器
CN109408418B (zh) * 2017-08-17 2022-03-25 深圳市中兴微电子技术有限公司 一种usb模式切换装置及方法、usb设备
CN109426644A (zh) * 2017-08-31 2019-03-05 西安中兴新软件有限责任公司 一种usb数据传输的速率调整方法及装置、设备
CN108089999B (zh) * 2017-11-29 2021-05-25 郑州云海信息技术有限公司 一种多功能usb设备注册方法及系统
CN111708722A (zh) * 2020-07-09 2020-09-25 飞鱼网络技术(武汉)有限公司 一种usb终端设备
CN114721977B (zh) * 2022-03-28 2024-06-25 一汽解放汽车有限公司 一种驱动控制方法、装置、系统、电子设备和存储介质
CN115442083B (zh) * 2022-08-08 2023-08-25 黄建邦 设备接入方法、数据交换方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526590B2 (en) * 2006-03-31 2009-04-28 Intel Corporation Systems and methods for remote pipe resource management in wireless adapters
CN101777032A (zh) * 2009-01-14 2010-07-14 华为终端有限公司 一种实现usb端点复用的方法和设备
CN101794231A (zh) * 2009-12-23 2010-08-04 宇龙计算机通信科技(深圳)有限公司 一种设备驱动加载装置及方法
CN101882116A (zh) * 2010-06-13 2010-11-10 中兴通讯股份有限公司 音频传输的实现方法及移动终端

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3649226B2 (ja) * 2003-05-20 2005-05-18 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
CN102737003B (zh) * 2011-04-01 2015-09-16 中兴通讯股份有限公司 一种模拟usb设备的方法及装置
CN102843168B (zh) * 2011-06-23 2014-08-13 深圳雷柏科技股份有限公司 一对多2.4g无线电脑外设通讯装置的传输方式
CN104281542B (zh) * 2014-09-26 2017-12-05 中兴通讯股份有限公司 多功能usb终端设备的适配方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526590B2 (en) * 2006-03-31 2009-04-28 Intel Corporation Systems and methods for remote pipe resource management in wireless adapters
CN101777032A (zh) * 2009-01-14 2010-07-14 华为终端有限公司 一种实现usb端点复用的方法和设备
CN101794231A (zh) * 2009-12-23 2010-08-04 宇龙计算机通信科技(深圳)有限公司 一种设备驱动加载装置及方法
CN101882116A (zh) * 2010-06-13 2010-11-10 中兴通讯股份有限公司 音频传输的实现方法及移动终端

Also Published As

Publication number Publication date
WO2015131532A1 (zh) 2015-09-11
CN104281542A (zh) 2015-01-14

Similar Documents

Publication Publication Date Title
CN104281542B (zh) 多功能usb终端设备的适配方法、装置及系统
US8904074B2 (en) Method and apparatus for distributing configuration files in a distributed control system
EP2904739B1 (en) Discovering, validating, and configuring hardware-inventory components
EP2456257B1 (en) Method and system for upgrading wireless data card
CN103107929B (zh) 基于以太网控制自动化技术的网络系统及其操作方法
US6581157B1 (en) System and method for detecting and updating non-volatile memory on an electronic adapter board installed in a computing system
CN104503796B (zh) 一种基于iap的可配置全网络远程节点固件升级方法
CN104657174A (zh) 一种用于动态实现应用功能的方法和装置
JP2004192602A (ja) ホームネットワークシステムおよびその運用方法
CN106293824A (zh) 一种从处理芯片升级的方法及装置
CN105550004B (zh) 一种多系统的升级装置及方法
CN103164244A (zh) 一种基于通用可扩展固件接口的固件系统远程更新方法
CN106897088A (zh) 软件升级系统及软件升级方法
CN107065578A (zh) 一种App控制智能家居的方法及系统
CN111796844B (zh) 基于蓝牙网络拓扑的固件升级方法、装置、蓝牙网络拓扑
CN104115138B (zh) 电可配置选配板接口
CN102567050B (zh) B/s系统远程部署项目的方法和装置
CN113193981B (zh) 一种配置下发方法及装置、网络系统
CN204644604U (zh) 一种缝纫设备升级装置
CN106293822A (zh) 一种从处理芯片升级的方法及装置
CN101398798B (zh) 一种对无线终端设备进行升级与修复的方法和系统
CN104219268B (zh) 无线控制方法、装置与终端
CN104790128A (zh) 一种缝纫设备升级装置
US9207928B2 (en) Computer-readable medium, apparatus, and methods of automatic capability installation
CN106648578A (zh) 一种分享桌面布局的方法、发送终端及接收终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant