CN105094880A - 通用串行总线的驱动方法、计算机及复合设备 - Google Patents

通用串行总线的驱动方法、计算机及复合设备 Download PDF

Info

Publication number
CN105094880A
CN105094880A CN201410222394.5A CN201410222394A CN105094880A CN 105094880 A CN105094880 A CN 105094880A CN 201410222394 A CN201410222394 A CN 201410222394A CN 105094880 A CN105094880 A CN 105094880A
Authority
CN
China
Prior art keywords
descriptor
computing machine
equipment complex
equipment
interface
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.)
Withdrawn
Application number
CN201410222394.5A
Other languages
English (en)
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 CN201410222394.5A priority Critical patent/CN105094880A/zh
Priority to PCT/CN2014/082091 priority patent/WO2015176366A1/zh
Publication of CN105094880A publication Critical patent/CN105094880A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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

Landscapes

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

Abstract

本发明公开了一种通用串行总线的驱动方法、计算机及复合设备。本发明在计算机与复合设备建立连接后,计算机发送获取描述符命令至复合设备;计算机接收复合设备发送的预设的单接口描述符;计算机根据获取的单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。本发明计算机在对复合设备进行枚举的过程中不启用复合设备驱动,简化了计算机对复合设备进行枚举的过程,提高了枚举的效率。另一方面,本发明计算机不启用复合设备进行枚举,在对复合设备的设备驱动进行开发和维护时,能降低出错率,从而可解决复合设备研发和生产的成本高、效率低等问题。

Description

通用串行总线的驱动方法、计算机及复合设备
技术领域
本发明涉及计算机技术领域,尤其涉及通用串行总线的驱动方法、计算机及复合设备。
背景技术
对于多接口的通用串行总线(USB,UniversalSerialBus)设备(即复合设备)的枚举方法大致为:复合设备插入计算机(计算机),计算机获取复合设备的描述符,并对该描述符进行解析,计算机复合设备驱动根据复合设备的各个接口分别加载各个接口对应的驱动程序。其中,复合设备驱动在计算机的内核层,且在复合设备的枚举过程中,承担了非常多的工作。开发者在复合设备的研发、检测、生产、售后等多个环节都需要计算机对复合设备进行驱动,而一些计算机的操作系统(如Windows系统)的内核代码不开源,因此,开发者只能对复合设备内的设备驱动进行开发和维护。复合设备驱动由于承担了非常多的工作,因此容易出错,造成设备驱动开发和维护出错,而若要寻求操作系统开发商的支持,则需要支付高额的费用及经历繁琐的程序,这样造成了复合设备研发和生产的成本高、效率低等问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供通用串行总线的驱动方法、计算机及复合设备,旨在使计算机将复合设备识别为单接口设备,因而不会启用计算机内核的复合设备驱动对复合设备进行枚举。
为实现上述目的,本发明提供的通用串行总线的驱动方法,应用于计算机,包括以下步骤:
在计算机与复合设备建立连接后,计算机发送获取描述符命令至复合设备;
计算机接收复合设备发送的预设的单接口描述符;
计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。
优选地,所述计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动步骤之后包括:
计算机从复合设备获取多接口描述符;
计算机解析获取的所述多接口描述符,构建多个功能接口。
优选地,所述计算机解析获取的所述多接口描述符,构建多个功能接口的步骤包括:
计算机通过应用层解析获取的所述多接口描述符,构建多个所述功能接口;
计算机通过应用层根据构建的多个所述功能接口,生成多个子设备或者多个操作句柄。
本发明进一步提供的通用串行总线的驱动方法,应用于复合设备,包括以下步骤:
复合设备接收计算机发送的获取描述符命令至复合设备;
复合设备响应所述获取描述符命令,并将预设的单接口描述符发送至计算机,供计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。
优选地,所述复合设备响应所述获取描述符命令,并将预设的单接口描述符发送至计算机,供计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动的步骤之后还包括:
复合设备接收计算机发送的自定义获取命令;
复合设备响应接收的所述自定义获取命令,发送所述多接口描述符至计算机,供计算机解析所述多接口描述符,并构建多个功能接口。
本发明进一步提供的计算机,包括:
命令模块,用于在与复合设备建立连接后,发送获取描述符命令至所述复合设备;
描述符模块,用于接收复合设备发送的预设的单接口描述符;
驱动模块,用于根据获取的所述单接口描述符,识别所述复合设备为单接口设备,并加载预设的自定义驱动。
优选地,所述计算机还包括:
获取模块,用于从所述复合设备获取多接口描述符;
构建模块,用于解析获取的所述多接口描述符,构建多个功能接口。
优选地,所述构建模块包括:
构建单元,用于通过应用层解析获取的所述多接口描述符,构建多个所述功能接口;
生成单元,用于通过应用层根据构建的多个所述功能接口,生成多个子设备或者多个操作句柄。
本发明进一步提供的复合设备,包括:
第一接收模块,用于接收计算机发送的获取描述符命令至复合设备;
第一发送模块,用于响应所述获取描述符命令,并将预设的单接口描述符发送至计算机,供计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。
优选地,所述复合设备还包括:
第二接收模块,用于接收计算机发送的自定义获取命令;
第二发送模块,用于响应接收的所述自定义获取命令,发送所述多接口描述符至计算机,供计算机解析所述多接口描述符,并构建多个功能接口。
本发明在计算机与复合设备建立连接后,计算机发送获取描述符命令至复合设备;计算机接收复合设备发送的预设的单接口描述符;计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。本发明计算机在获取复合设备发送的单接口描述符后,识别复合设备为单接口设备,因此在对复合设备进行枚举的过程中不启用复合设备驱动,简化了计算机对复合设备进行枚举的过程,提高了枚举的效率。另一方面,本发明计算机不启用复合设备进行枚举,在对复合设备的设备驱动进行开发和维护时,能降低出错率,从而可解决复合设备研发和生产的成本高、效率低等问题。
附图说明
图1为本发明通用串行总线的驱动方法第一实施例的流程示意图;
图2为本发明通用串行总线的驱动方法第二实施例的流程示意图;
图3为本发明通用串行总线的驱动方法一实施例的流程示意图;
图4为本发明计算机第一实施例的功能模块示意图;
图5为本发明计算机第二实施例的功能模块示意图;
图6为图5计算机中构建模块的功能单元示意图;
图7为本发明复合设备第一实施例的功能模块示意图;
图8为本发明复合设备一优选实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本领域技术人员可以理解的,本发明通用串行总线的驱动方法及系统的下述实施例中,复合设备是指一种能完成两个或多个不同设备的功能的USB设备。
本发明提供一种通用串行总线的驱动方法,应用于计算机。
参照图1,图1为本发明通用串行总线的驱动方法第一实施例的流程示意图。
在通用串行总线的驱动方法第一实施例中,该方法包括以下步骤:
步骤S10,在计算机与复合设备建立连接后,计算机发送获取描述符命令至复合设备;
步骤S20,计算机接收复合设备发送的预设的单接口描述符;
步骤S30,计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。
单接口描述符是预先设置并保存在复合设备中的。单接口描述符并不体现复合设备的真实设备信息,单接口描述符的内容体现的是一个单一接口的设备的信息,相当于一个虚拟的描述符。
自定义驱动是根据单接口描述符预先设置的,并安装到计算机的内核层中。
计算机和复合设备建立连接后,计算机开始对复合设备进行枚举,即获取复合设备的一些信息,根据这些信息,为复合设备加载适合的驱动。例如,计算机发送获取描述符命令至复合设备,复合设备接收到计算机发送的获取描述符命令后,并不将复合设备真实的复合描述符发送给计算机,而是将预设的单接口描述符发送至计算机。
计算机对获取的单接口描述符进行解析,由于单接口描述符只包含一个单一接口的设备的信息,因此,计算机确定复合设备为单接口设备,而并不能识别复合设备的真实信息。
由于计算机确定复合设备为单接口设备,因此,枚举的过程不需要使用复合设备驱动,可以直接根据单接口描述符找到自定义驱动,并加载预设的自定义驱动,如用总线驱动加载自定义驱动。
本实施例在计算机与复合设备建立连接后,计算机发送获取描述符命令至复合设备;计算机接收复合设备发送的预设的单接口描述符;计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。本实施例计算机在获取复合设备发送的单接口描述符后,确定复合设备为单接口设备,因此在对复合设备进行枚举的过程中不启用复合设备驱动,简化了计算机对复合设备进行枚举的过程,提高了枚举的效率。另一方面,本发明计算机不启用复合设备进行枚举,在对复合设备的设备驱动进行开发和维护时,能降低出错率,从而可解决复合设备研发和生产的成本高、效率低等问题。
本领域技术人员可以理解的,在计算机发送获取描述符命令至复合设备的步骤之前,还可以包括以下步骤:计算机判断复合设备的速度类型;计算机复位复合设备;建立计算机和复合设备的信息通道;计算机获取默认管道的最大包长度。这些步骤因为较为常规,并不受本发明限制,本领域技术人员可根据需要执行这些步骤中的一个或者多个。
本发明一优选实施例中,所述单接口描述符包括单接口设备描述符、单接口配置描述符,所述单接口配置描述符包括预设的一个接口的接口描述符。
计算机通过获取单接口设备描述符,可得到如制造商标识号、产品序列号、所述设备类号、默认端点的最大包长度和配置描述符的个数等信息。计算机通过获取单接口配置描述符可得到如配置描述符的长度、供电方式、最大耗电量等信息,又由于单接口配置描述符包括一个接口的接口描述符,计算机可得到一个接口的具体信息,因此,计算机根据该单接口描述符确定复合设备为单接口设备。
当然,本发明并不限定单接口描述符包括字符串描述符、端点描述符等。
本发明单接口描述符的形式为USB标准描述符,因此,有利于计算机确定并读取该单接口描述符。
参照图2,图2为本发明通用串行总线的驱动方法第二实施例的流程示意图。
本发明通用串行总线的驱动方法第二实施例中,本实施例与第一实施例的区别在于,本实施例在第一实施例的基础上,所述计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动步骤之后包括:
步骤S40,计算机从复合设备获取多接口描述符;
步骤S50,计算机解析获取的所述多接口描述符,构建多个功能接口。
计算机从复合设备获取多接口描述符,例如,计算机发送获取指令至复合设备,复合设备响应该获取指令,将多接口描述符发送至计算机;或者,计算机可以通过一些应用程序从复合设备获取多接口描述符;或者,其他适合的方式获取多接口描述符。
计算机获取多接口描述符之后,对该描述符进行解析,通过解析,计算机就能获得复合设备真实的设备信息,例如,所述设备类号、默认端点的最大包长度、接口的信息、端口的信息等。
计算机根据解析得到的复合设备的真实的设备信息,生成多个功能接口,如调制解调器(Modem)接口、控制(AT)接口、U盘接口等,生成了多个逻辑通道供应用程序与复合设备进行交互。
在本发明一优选实施例中,所述计算机从复合设备获取多接口描述符的步骤包括:
计算机通过应用层发送自定义获取命令至复合设备的应用层;
计算机通过应用层接收复合设备的应用层响应所述自定义获取命令而发送的多接口描述符。
计算机包括应用层和内核层,复合设备包括应用层和内核层。
用户侧的技术人员可以对自定义获取命令进行设定,且在计算机的应用层和复合设备的应用层中根据自定义获取命令设置相应的协议,计算机通过应用层发送自定义获取命令至复合设备的应用层中时,复合设备通过应用层能立即识别且响应该自定义获取命令。本实施例优选自定义获取命令为USB协议下的USB标准格式的命令。
计算机从复合设备获取多接口描述符的步骤在计算机的应用层中进行,因不需涉及计算机的内核层,用户侧的技术人员可更方便快捷的对自定义获取命令、多接口描述符进行调试或者设置,且成本较低。
在本发明一优选实施例中,所述计算机解析获取的所述多接口描述符,生成多个功能接口的步骤包括:
计算机通过应用层解析获取的所述多接口描述符,构建多个所述功能接口;
计算机通过应用层根据构建的多个所述功能接口,生成多个子设备或者多个操作句柄。
计算机通过应用层解析获取的所述多接口描述符,构建多个所述功能接口,且根据构建的多个所述功能接口,生成多个子设备,供应用程序通过打开子设备与复合设备进行数据交互;或者,生成多个文件操作句柄,供应用程序直接调用文件操作句柄与复合设备进行数据交互。
本实施例生成多个子设备或者多个操作句柄,方便了应用程序通过子设备或者多个操作句柄与复合设备进行数据交互。
本实施例将生成多个功能接口等复杂操作在计算机的应用层执行,而不需要计算机的内核层执行,因此,使得计算机对复合设备的驱动更加可控,且更方便调试,成本更低。
本发明进一步提供一种通用串行总线的驱动方法,应用于复合设备。
参照图3,图3为本发明通用串行总线的驱动方法一实施例的流程示意图。
在本发明通用串行总线的驱动方法一实施例中,该方法包括以下步骤:
步骤S01,复合设备接收计算机发送的获取描述符命令至复合设备;
步骤S02,复合设备响应所述获取描述符命令,并将预设的单接口描述符发送至计算机,供计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。
单接口描述符是预先设置并保存在复合设备中的。单接口描述符并不体现复合设备的真实设备信息,单接口描述符的内容体现的是一个单一接口的设备的信息,相当于一个虚拟的描述符。
自定义驱动是根据单接口描述符预先设置的,并安装到计算机的内核层中。
计算机和复合设备建立连接后,计算机开始对复合设备进行枚举,即获取复合设备的一些信息,根据这些信息,为复合设备加载适合的驱动。计算机发送获取描述符命令至复合设备。复合设备响应所述获取描述符命令,并将预设的单接口描述符发送至计算机,供计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。
例如,计算机发送获取描述符命令至复合设备,复合设备接收到计算机发送的获取描述符命令后,并不将复合设备真实的复合描述符发送给计算机,而是将预设的单接口描述符发送至计算机。
计算机对获取的单接口描述符进行解析,由于单接口描述符只包含一个单一接口的设备的信息,因此,计算机确定复合设备为单接口设备,而并不能识别复合设备的真实信息。
由于计算机确定复合设备为单接口设备,因此,枚举的过程不需要使用复合设备驱动,可以直接根据单接口描述符找到自定义驱动,并加载预设的自定义驱动,如用总线驱动加载自定义驱动。
本实施例复合设备接收计算机发送的获取描述符命令至复合设备;复合设备响应所述获取描述符命令,并将预设的单接口描述符发送至计算机,供计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。本实施例复合设备发送单接口描述符至计算机,计算机根据单接口描述符确定复合设备为单接口设备,因此计算机在对复合设备进行枚举的过程中不启用复合设备驱动,简化了计算机对复合设备进行枚举的过程,提高了枚举的效率。另一方面,本发明计算机不启用复合设备进行枚举,在对复合设备的设备驱动进行开发和维护时,能降低出错率,从而可解决复合设备研发和生产的成本高、效率低等问题。
本发明一优选实施例中,所述复合设备响应所述获取描述符命令,并将预设的单接口描述符发送至计算机,供计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动的步骤之后还包括:
复合设备接收计算机发送的自定义获取命令;
复合设备响应接收的所述自定义获取命令,发送所述多接口描述符至计算机,供计算机解析所述多接口描述符,并构建多个功能接口。
用户侧的技术人员可以对自定义获取命令进行设定,且在计算机和复合设备中根据自定义获取命令设置相应的协议,计算机通过应用层发送自定义获取命令至复合设备的应用层中时,复合设备通过应用层能立即识别且响应该自定义获取命令。本实施例优选自定义获取命令为USB协议下的USB标准格式的命令。
计算机获取多接口描述符之后,对该描述符进行解析,通过解析,计算机就能获得复合设备真实的设备信息,例如,所述设备类号、默认端点的最大包长度、接口的信息、端口的信息等。
计算机根据解析得到的复合设备的真实的设备信息,生成多个功能接口,如调制解调器(Modem)接口、控制(AT)接口、U盘接口等,生成了多个逻辑通道供应用程序与复合设备进行交互。
本发明一优选实施例中,所述单接口描述符包括单接口设备描述符、单接口配置描述符,所述单接口配置描述符包括预设的一个接口的接口描述符。
计算机通过获取单接口设备描述符,可得到如制造商标识号、产品序列号、所述设备类号、默认端点的最大包长度和配置描述符的个数等信息。计算机通过获取单接口配置描述符可得到如配置描述符的长度、供电方式、最大耗电量等信息,又由于单接口配置描述符包括一个接口的接口描述符,计算机可得到一个接口的具体信息,因此,计算机根据该单接口描述符确定复合设备为单接口设备。
当然,本发明并不限定单接口描述符包括字符串描述符、端点描述符等。
本发明单接口描述符的形式为USB标准描述符,因此,有利于计算机确定并读取该单接口描述符。
本发明一优选实施例中,所述在计算机与复合设备建立连接后的步骤还包括:
复合设备根据所述多接口描述符加载自定义设备驱动。
自定义设备驱动是用户侧技术人员根据复合设备的多接口描述符设置的驱动程序。
在计算机与复合设备建立连接后,且复合设备上电之后,复合设备根据多接口描述符加载自定义设备驱动,复合设备对自身进行驱动,以供与计算机进行数据交互。
本发明进一步提供一种计算机。
参照图4,图4为本发明计算机第一实施例的功能模块示意图。
在计算机第一实施例中,该计算机包括:
命令模块10,用于在与建立连接后,发送获取描述符命令至所述;
描述符模块20,用于接收复合设备发送的预设的单接口描述符;
驱动模块30,用于根据获取的所述单接口描述符,确定所述复合设备为单接口设备,并加载预设的自定义驱动。
单接口描述符是复合设备预先设置并保存在复合设备中的。单接口描述符并不体现复合设备的真实设备信息,单接口描述符的内容体现的是一个单一接口的设备的信息,相当于一个虚拟的描述符。
自定义驱动是根据单接口描述符预先设置的,并安装到计算机的内核层中。
计算机和复合设备建立连接后,计算机开始对复合设备进行枚举,即获取复合设备的一些信息,根据这些信息,为复合设备加载适合的驱动。例如,命令模块10发送获取描述符命令至复合设备,复合设备接收到命令模块10发送的获取描述符命令后,并不将复合设备真实的复合描述符发送给描述符模块20,而是将预设的单接口描述符发送至描述符模块20。
驱动模块30对获取的单接口描述符进行解析,由于单接口描述符只包含一个单一接口的设备的信息,因此,驱动模块30确定复合设备为单接口设备,而并不能识别复合设备的真实信息。
由于驱动模块30确定复合设备为单接口设备,因此,枚举的过程不需要使用复合设备驱动,可以直接根据单接口描述符找到自定义驱动,并加载预设的自定义驱动,如用总线驱动加载自定义驱动。
本实施例在计算机与复合设备建立连接后,命令模块10发送获取描述符命令至复合设备;描述符模块20接收复合设备发送的预设的单接口描述符;驱动模块30根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。本实施例计算机在获取复合设备发送的单接口描述符后,确定复合设备为单接口设备,因此在对复合设备进行枚举的过程中不启用复合设备驱动,简化了计算机对复合设备进行枚举的过程,提高了枚举的效率。另一方面,本发明计算机不启用复合设备进行枚举,在对复合设备的设备驱动进行开发和维护时,能降低出错率,从而可解决复合设备研发和生产的成本高、效率低等问题。
本领域技术人员可以理解的,计算机还可以包括以下步骤:判断模块(图中未示出),用于计算机判断复合设备的速度类型;复位模块(图中未示出),用于复位复合设备;通道模块(图中未示出),用于建立计算机和复合设备的信息通道;默认管道模块(图中未示出),用于获取默认管道的最大包长度。这些步骤因为较为常规,并不受本发明限制,本领域技术人员可根据需要执行这些步骤中的一个或者多个。
本发明一优选实施例中,所述单接口描述符包括单接口设备描述符、单接口配置描述符,所述单接口配置描述符包括预设的一个接口的接口描述符。
驱动模块30通过获取单接口设备描述符,可得到复合设备如制造商标识号、产品序列号、所述设备类号、默认端点的最大包长度和配置描述符的个数等信息。驱动模块30通过获取单接口配置描述符可得到复合设备如配置描述符的长度、供电方式、最大耗电量等信息,又由于单接口配置描述符包括一个接口的接口描述符,驱动模块30可得到复合设备一个接口的具体信息,因此,驱动模块30根据该单接口描述符确定复合设备为单接口设备。
当然,本发明并不限定单接口描述符包括字符串描述符、端点描述符等。
本发明单接口描述符的形式为USB标准描述符,因此,有利于驱动模块30确定并读取该单接口描述符。
参照图5,图5为本发明计算机第二实施例的功能模块示意图。
本发明计算机第二实施例中,本实施例相较于第一实施例的区别在于,本实施例在第一实施例的基础上,所述计算机还包括:
获取模块40,用于从所述复合设备获取多接口描述符;
构建模块50,用于解析获取的所述多接口描述符,构建多个功能接口。
获取模块40从复合设备获取多接口描述符,例如,计算机发送获取指令至复合设备,复合设备响应该获取指令,将多接口描述符发送至获取模块40;或者,获取模块40可以通过一些应用程序从复合设备获取多接口描述符;或者,其他适合的方式获取多接口描述符。
获取模块40获取多接口描述符之后,构建模块50对该描述符进行解析,通过解析,构建模块50就能获得复合设备真实的设备信息,例如,所述设备类号、默认端点的最大包长度、接口的信息、端口的信息等。
构建模块50根据解析得到的复合设备的真实的设备信息,生成多个功能接口,如调制解调器(Modem)接口、控制(AT)接口、U盘接口等,生成了多个逻辑通道供应用程序与复合设备进行交互。
在本发明一优选实施例中。所述获取模块40还包括:
获取单元(图中未示出),用于通过应用层发送自定义获取命令至复合设备的应用层;
接收单元(图中未示出),用于通过应用层接收所述复合设备的应用层响应所述自定义获取命令而发送的多接口描述符。
计算机包括应用层和内核层,复合设备包括应用层和内核层。
用户侧的技术人员可以对自定义获取命令进行设定,且在计算机的应用层和复合设备的应用层中根据自定义获取命令设置相应的协议,获取单元通过应用层发送自定义获取命令至复合设备的应用层中时,复合设备通过应用层能立即识别且响应该自定义获取命令。本实施例优选自定义获取命令为USB协议下的USB标准格式的命令。
计算机从复合设备获取多接口描述符的步骤在计算机的应用层中进行,因不需涉及计算机的内核层,用户侧的技术人员可更方便快捷的对自定义获取命令、多接口描述符进行调试或者设置,且成本较低。
参照图6,图6为图5计算机中构建模块50的功能单元示意图。
在本发明一优选实施例中,所述构建模块50包括:
构建单元51,用于通过应用层解析获取的所述多接口描述符,构建多个所述功能接口;
生成单元52,用于通过应用层根据构建的多个所述功能接口,生成多个子设备或者多个操作句柄。
构建单元51通过应用层解析获取的所述多接口描述符,构建多个所述功能接口,且生成单元52根据构建的多个所述功能接口,生成多个子设备,供应用程序通过打开子设备与复合设备进行数据交互;或者,生成多个文件操作句柄,供应用程序直接调用文件操作句柄与复合设备进行数据交互。
本实施例生成多个子设备或者多个操作句柄,方便了应用程序通过子设备或者多个操作句柄与复合设备进行数据交互。
本实施例将生成多个功能接口等复杂操作在计算机的应用层执行,而不需要计算机的内核层执行,因此,使得计算机对复合设备的驱动更加可控,且更方便调试,成本更低。
本发明进一步提供一种复合设备。
参照图7,图7为本发明复合设备第一实施例的功能模块示意图。
在本发明复合设备第一实施例中,该复合设备包括:
第一接收模块01,用于接收计算机发送的获取描述符命令至复合设备;
第一发送模块02,用于响应所述获取描述符命令,并将预设的单接口描述符发送至计算机,供计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。
单接口描述符是预先设置并保存在复合设备中的。单接口描述符并不体现复合设备的真实设备信息,单接口描述符的内容体现的是一个单一接口的设备的信息,相当于一个虚拟的描述符。
自定义驱动是根据单接口描述符预先设置的,并安装到计算机的内核层中。
计算机和复合设备建立连接后,计算机开始对复合设备进行枚举,即获取复合设备的一些信息,根据这些信息,为复合设备加载适合的驱动。计算机发送获取描述符命令至复合设备。第一接收模块01接收计算机发送的获取描述符命令,第一发送模块02响应所述获取描述符命令,并将预设的单接口描述符发送至计算机,供计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。
例如,计算机发送获取描述符命令至复合设备,第一接收模块01接收到计算机发送的获取描述符命令后,第一发送模块02并不将复合设备真实的复合描述符发送给计算机,而是将预设的单接口描述符发送至计算机。
计算机对获取的单接口描述符进行解析,由于单接口描述符只包含一个单一接口的设备的信息,因此,计算机确定复合设备为单接口设备,而并不能识别复合设备的真实信息。
由于计算机确定复合设备为单接口设备,因此,枚举的过程不需要使用复合设备驱动,可以直接根据单接口描述符找到自定义驱动,并加载预设的自定义驱动,如用总线驱动加载自定义驱动。
本实施例第一接收模块01接收计算机发送的获取描述符命令至复合设备;第一发送模块02响应所述获取描述符命令,并将预设的单接口描述符发送至计算机,供计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。本实施例第一发送模块02发送单接口描述符至计算机,计算机根据单接口描述符确定复合设备为单接口设备,因此计算机在对复合设备进行枚举的过程中不启用复合设备驱动,简化了计算机对复合设备进行枚举的过程,提高了枚举的效率。另一方面,本发明计算机不启用复合设备进行枚举,在对复合设备的设备驱动进行开发和维护时,能降低出错率,从而可解决复合设备研发和生产的成本高、效率低等问题。
参照图8,图8为本发明复合设备一优选实施例的功能模块示意图
本发明一优选实施例中,所述复合设备还包括:
第二接收模块03,用于接收计算机发送的自定义获取命令;
第二发送模块04,用于响应接收的所述自定义获取命令,发送所述多接口描述符至计算机,供计算机解析所述多接口描述符,并构建多个功能接口。
用户侧的技术人员可以对自定义获取命令进行设定,且在计算机和复合设备中根据自定义获取命令设置相应的协议,计算机通过应用层发送自定义获取命令至复合设备的应用层中时,复合设备通过应用层能立即识别且响应该自定义获取命令。本实施例优选自定义获取命令为USB协议下的USB标准格式的命令。
计算机获取多接口描述符之后,对该描述符进行解析,通过解析,计算机就能获得复合设备真实的设备信息,例如,所述设备类号、默认端点的最大包长度、接口的信息、端口的信息等。
计算机根据解析得到的复合设备的真实的设备信息,生成多个功能接口,如调制解调器(Modem)接口、控制(AT)接口、U盘接口等,生成了多个逻辑通道供应用程序与复合设备进行交互。
本发明一优选实施例中,所述单接口描述符包括单接口设备描述符、单接口配置描述符,所述单接口配置描述符包括预设的一个接口的接口描述符。
计算机通过获取单接口设备描述符,可得到如制造商标识号、产品序列号、所述设备类号、默认端点的最大包长度和配置描述符的个数等信息。计算机通过获取单接口配置描述符可得到如配置描述符的长度、供电方式、最大耗电量等信息,又由于单接口配置描述符包括一个接口的接口描述符,计算机可得到一个接口的具体信息,因此,计算机根据该单接口描述符确定复合设备为单接口设备。
当然,本发明并不限定单接口描述符包括字符串描述符、端点描述符等。
本发明单接口描述符的形式为USB标准描述符,因此,有利于计算机确定并读取该单接口描述符。
本发明一优选实施例中,所述复合设备还包括:
加载驱动模块(图中未示出),用于根据所述多接口描述符加载自定义设备驱动。
自定义设备驱动是用户侧技术人员根据复合设备的多接口描述符设置的驱动程序。
在计算机与复合设备建立连接后,且复合设备上电之后,加载驱动模块根据多接口描述符加载自定义设备驱动,复合设备对自身进行驱动,以供与计算机进行数据交互。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种通用串行总线的驱动方法,应用于计算机,其特征在于,包括以下步骤:
在计算机与复合设备建立连接后,计算机发送获取描述符命令至复合设备;
计算机接收复合设备发送的预设的单接口描述符;
计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。
2.如权利要求1所述的通用串行总线的驱动方法,其特征在于,所述计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动步骤之后包括:
计算机从复合设备获取多接口描述符;
计算机解析获取的所述多接口描述符,构建多个功能接口。
3.如权利要求2所述的通用串行总线的驱动方法,其特征在于,所述计算机解析获取的所述多接口描述符,构建多个功能接口的步骤包括:
计算机通过应用层解析获取的所述多接口描述符,构建多个所述功能接口;
计算机通过应用层根据构建的多个所述功能接口,生成多个子设备或者多个操作句柄。
4.一种通用串行总线的驱动方法,应用于复合设备,其特征在于,包括以下步骤:
复合设备接收计算机发送的获取描述符命令至复合设备;
复合设备响应所述获取描述符命令,并将预设的单接口描述符发送至计算机,供计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。
5.如权利要求4所述的通用串行总线的驱动方法,其特征在于,所述复合设备响应所述获取描述符命令,并将预设的单接口描述符发送至计算机,供计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动的步骤之后还包括:
复合设备接收计算机发送的自定义获取命令;
复合设备响应接收的所述自定义获取命令,发送所述多接口描述符至计算机,供计算机解析所述多接口描述符,并构建多个功能接口。
6.一种计算机,其特征在于,包括:
命令模块,用于在与复合设备建立连接后,发送获取描述符命令至所述复合设备;
描述符模块,用于接收复合设备发送的预设的单接口描述符;
驱动模块,用于根据获取的所述单接口描述符,确定所述复合设备为单接口设备,并加载预设的自定义驱动。
7.如权利要求6所述的计算机,其特征在于,所述计算机还包括:
获取模块,用于从所述复合设备获取多接口描述符;
构建模块,用于解析获取的所述多接口描述符,构建多个功能接口。
8.如权利要求7所述的计算机,其特征在于,所述构建模块包括:
构建单元,用于通过应用层解析获取的所述多接口描述符,构建多个所述功能接口;
生成单元,用于通过应用层根据构建的多个所述功能接口,生成多个子设备或者多个操作句柄。
9.一种复合设备,其特征在于,包括:
第一接收模块,用于接收计算机发送的获取描述符命令至复合设备;
第一发送模块,用于响应所述获取描述符命令,并将预设的单接口描述符发送至计算机,供计算机根据获取的所述单接口描述符,确定复合设备为单接口设备,并加载预设的自定义驱动。
10.如权利要求9所述的复合设备,其特征在于,所述复合设备还包括:
第二接收模块,用于接收计算机发送的自定义获取命令;
第二发送模块,用于响应接收的所述自定义获取命令,发送所述多接口描述符至计算机,供计算机解析所述多接口描述符,并构建多个功能接口。
CN201410222394.5A 2014-05-23 2014-05-23 通用串行总线的驱动方法、计算机及复合设备 Withdrawn CN105094880A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410222394.5A CN105094880A (zh) 2014-05-23 2014-05-23 通用串行总线的驱动方法、计算机及复合设备
PCT/CN2014/082091 WO2015176366A1 (zh) 2014-05-23 2014-07-11 通用串行总线的驱动方法、计算机及复合设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410222394.5A CN105094880A (zh) 2014-05-23 2014-05-23 通用串行总线的驱动方法、计算机及复合设备

Publications (1)

Publication Number Publication Date
CN105094880A true CN105094880A (zh) 2015-11-25

Family

ID=54553282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410222394.5A Withdrawn CN105094880A (zh) 2014-05-23 2014-05-23 通用串行总线的驱动方法、计算机及复合设备

Country Status (2)

Country Link
CN (1) CN105094880A (zh)
WO (1) WO2015176366A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868132A (zh) * 2016-04-29 2016-08-17 优利德科技(中国)有限公司 一种基于usb通信的数字示波器模块化功能拓展方法及系统
WO2016179944A1 (zh) * 2015-05-12 2016-11-17 中兴通讯股份有限公司 一种通信接口的功能复用方法及装置
CN108337209A (zh) * 2017-01-19 2018-07-27 深圳兆日科技股份有限公司 安全认证方法、装置以及对应的移动终端
CN108366131A (zh) * 2018-03-13 2018-08-03 广州视源电子科技股份有限公司 数据传输方法、装置、终端以及存储介质
CN109144795A (zh) * 2018-07-23 2019-01-04 索尔思光电(成都)有限公司 一种光模块用评估板及其识别方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398792A (zh) * 2007-09-28 2009-04-01 联想(北京)有限公司 一种实现接口功能设备应用的方法及装置
CN101853142A (zh) * 2010-05-05 2010-10-06 四川九洲电器集团有限责任公司 一种带虚拟光驱的usb设备的识别方法
CN101872334A (zh) * 2010-05-26 2010-10-27 北京飞天诚信科技有限公司 一种复合型usb设备及其实现方法
WO2011080111A1 (en) * 2009-12-29 2011-07-07 Gemalto Sa Naming of peripheral devices connected to a computer system bus
CN102339265A (zh) * 2011-10-17 2012-02-01 中兴通讯股份有限公司 一种无线通信终端及其驱动方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100578477C (zh) * 2007-06-21 2010-01-06 北京中星微电子有限公司 一种实现复合设备正常工作的方法及系统
KR20140065074A (ko) * 2012-11-21 2014-05-29 삼성전자주식회사 모바일 디바이스 및 유에스비 허브

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398792A (zh) * 2007-09-28 2009-04-01 联想(北京)有限公司 一种实现接口功能设备应用的方法及装置
WO2011080111A1 (en) * 2009-12-29 2011-07-07 Gemalto Sa Naming of peripheral devices connected to a computer system bus
CN101853142A (zh) * 2010-05-05 2010-10-06 四川九洲电器集团有限责任公司 一种带虚拟光驱的usb设备的识别方法
CN101872334A (zh) * 2010-05-26 2010-10-27 北京飞天诚信科技有限公司 一种复合型usb设备及其实现方法
CN102339265A (zh) * 2011-10-17 2012-02-01 中兴通讯股份有限公司 一种无线通信终端及其驱动方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016179944A1 (zh) * 2015-05-12 2016-11-17 中兴通讯股份有限公司 一种通信接口的功能复用方法及装置
CN105868132A (zh) * 2016-04-29 2016-08-17 优利德科技(中国)有限公司 一种基于usb通信的数字示波器模块化功能拓展方法及系统
CN105868132B (zh) * 2016-04-29 2019-01-11 优利德科技(中国)股份有限公司 一种基于usb通信的数字示波器模块化功能拓展方法及系统
CN108337209A (zh) * 2017-01-19 2018-07-27 深圳兆日科技股份有限公司 安全认证方法、装置以及对应的移动终端
CN108337209B (zh) * 2017-01-19 2021-05-04 深圳兆日科技股份有限公司 安全认证方法、装置以及对应的移动终端
CN108366131A (zh) * 2018-03-13 2018-08-03 广州视源电子科技股份有限公司 数据传输方法、装置、终端以及存储介质
CN108366131B (zh) * 2018-03-13 2020-10-02 广州视源电子科技股份有限公司 数据传输方法、装置、终端以及存储介质
CN109144795A (zh) * 2018-07-23 2019-01-04 索尔思光电(成都)有限公司 一种光模块用评估板及其识别方法

Also Published As

Publication number Publication date
WO2015176366A1 (zh) 2015-11-26

Similar Documents

Publication Publication Date Title
CN105094880A (zh) 通用串行总线的驱动方法、计算机及复合设备
CN103150188B (zh) 非x86指令集计算机的x86兼容显卡快速初始化方法
CN104375855A (zh) 一种基于车载多mcu通过存储设备升级固件的装置及方法
US9811480B2 (en) Universal serial bus emulation of peripheral devices
CN108170494B (zh) 一种用于智能终端的应用程序启动方法及启动系统
US9772956B2 (en) Universal serial bus emulation of a host connection
EP3117327B1 (en) Universal serial bus emulation of peripheral devices
CN104246702A (zh) 工作流编译
CN104965700A (zh) VxWorks操作系统下实现驱动SPI设备的方法和系统
CN103488513B (zh) 设备即插即用通用驱动方法
CN103853147B (zh) 一种嵌入式系统的在线调试系统
CN102426548B (zh) 嵌入式系统的调试方法、调试器和调试系统
US8855799B2 (en) Automated mass production method and system thereof
CN107643903B (zh) 一种服务器自动进入bios配置界面的方法及装置
CN104484685A (zh) 一种批量发行智能卡的方法及系统
CN102981675B (zh) 一种多点触摸数据处理方法及其系统
US9128730B2 (en) Method for executing bios tool program in non-SMI mechanism
CN102385849A (zh) 一种智能edid烧录方法
CN104899122A (zh) 一种移动终端测试系统及方法
CN104699544B (zh) 一种多余度计算机系统bit测试的通讯方法
CN101764716A (zh) 一种业务芯片的测试配置方法、设备及系统
CN109254937B (zh) Usb集线器、usb设备枚举异常检测方法及计算机存储介质
CN105740109B (zh) 接口信号一致性测试方法和系统
CN107066360B (zh) 一种信息传输方法及服务器
CN111007336A (zh) 基于串口通信的模组生产测试上下电自动检测系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20151125

WW01 Invention patent application withdrawn after publication