CN104216840A - 一种usb设置和对外部设备进行操作的方法及装置 - Google Patents
一种usb设置和对外部设备进行操作的方法及装置 Download PDFInfo
- Publication number
- CN104216840A CN104216840A CN201410461865.8A CN201410461865A CN104216840A CN 104216840 A CN104216840 A CN 104216840A CN 201410461865 A CN201410461865 A CN 201410461865A CN 104216840 A CN104216840 A CN 104216840A
- Authority
- CN
- China
- Prior art keywords
- external unit
- function
- descriptor
- usb interface
- opertaing device
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000006870 function Effects 0.000 claims abstract description 178
- 238000012360 testing method Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 241000931705 Cicada Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3812—USB port controller
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
- Telephone Function (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及计算机技术领域,特别涉及一种USB设置和对外部设备进行操作的方法及装置,用以解决目前PC通过USB接口只能对手机的一种功能进行操作的问题。本发明实施例对外部设备进行操作的方法包括:控制设备检测到USB接口连接外部设备后,接收外部设备的功能对应的描述符,并将每个功能对应的描述符与其对应的驱动文件进行匹配,匹配成功后确定每个功能对应的虚拟功能设备;在接收到执行功能的操作命令时,通过功能对应的驱动接口,将操作命令发送给对应的虚拟功能设备,从而实现对外部设备进行操作,其中外部设备的USB接口中有多个虚拟端口。该技术方案由于增加了虚拟端口,使得控制设备能够对外部设备的至少一种功能进行操作。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种USB设置和对外部设备进行操作的方法及装置。
背景技术
Android智能手机的用户群体越来越多,如何使用户更方便地通过PC(个人计算机,Personal Computer)对Android智能手机进行操作成为人们比较关注的问题。
目前,由于Android系统的开放性导致PC的手机助手越来越多,可以在PC安装手机助手,通过USB(Universal Serial Bus,通用串行总线)接口实现对手机的操作,但是现有技术中,PC与手机通过USB接口相连后,由于USB设备的功能端口只有一个,若要实现PC通过手机助手对手机进行操作,就只能选择ADB(调试桥,Android Debug Bridge)功能,因而PC就不能对手机的其他功能如MTP(媒体传输协议,Media Transfer Protocol)、PTP(Picture TransferProtocol,图片传输协议)、大容量存储等进行操作了。
综上所述,目前的PC只能通过USB接口对手机的一种功能进行操作。
发明内容
本发明提供一种USB设置和对外部设备进行操作的方法及装置,用以解决现有技术中存在PC通过USB接口只能对手机的一种功能进行操作的问题。
本发明实施例提供了一种对外部设备进行操作的方法,包括:
控制设备检测到通用串行总线USB接口连接外部设备,其中所述外部设备的USB接口中有多个虚拟端口;
所述控制设备通过所述USB接口接收所述外部设备的功能对应的描述符;
所述控制设备将每个所述功能对应的描述符与每个所述功能对应的驱动文件进行匹配,在匹配成功后确定执行每个所述功能对应的虚拟功能设备;
所述控制设备在接收到执行功能的操作命令时,通过需要执行的功能对应的驱动接口,将所述操作命令发送给需要执行的功能对应的虚拟功能设备,以使所述需要执行的功能对应的虚拟功能设备对所述外部设备进行操作。
由于控制设备在向外部设备发送获取描述符的命令后,能够获得至少一个功能的描述符,将获得的描述符与控制设备中的驱动文件相匹配,从而确定执行功能的虚拟功能设备,因此控制设备能够通过功能对应的虚拟功能设备,针对至少一个功能对其外部设备进行操作,从而解决了现有技术中PC只能通过USB接口对手机的一种功能进行操作的问题。
本发明实施例提供了一种通用串行总线USB设置的方法,包括:
外部设备检测到通过USB接口与控制设备连接;
所述外部设备接收所述控制设备发送的获取描述符的命令;
所述外部设备在接收控制设备发送的获取描述符的命令后,显示多个虚拟端口中每个虚拟端口对应的功能;
所述外部设备根据用户选择的每个功能对应的USB驱动,生成对应的描述符;
所述外部设备将生成的所述描述符通过USB接口发送到所述控制设备。
由于在外部设备的USB接口增加了功能对应的虚拟端口,使得外部设备的功能能够分别对应不同的虚拟端口,从而使得用户能够在外部设备的消息栏选择至少一个功能,因此外部设备能够向控制设备发送至少一个功能对应的描述符,进而实现控制设备对外部设备的至少一个功能进行操作。
本发明实施例提供了一种对外部设备进行操作的装置,包括:
第一检测模块,用于检测通用串行总线USB接口连接外部设备,其中所述外部设备的USB接口中有多个虚拟端口;
第一接收模块,用于通过所述USB接口接收所述外部设备的功能对应的描述符;
匹配模块,用于将每个所述功能对应的描述符与每个所述功能对应的驱动文件进行匹配,在匹配成功后确定执行每个所述功能对应的虚拟功能设备;
执行模块,用于在接收到执行功能的操作命令时,通过需要执行的功能对应的驱动接口,将所述操作命令发送给需要执行的功能对应的虚拟功能设备,以使所述需要执行的功能对应的虚拟功能设备对所述外部设备进行操作。
本发明实施例提供了一种通用串行总线USB设置的装置,包括:
第二检测模块,用于检测到通过USB接口与控制设备连接;
第二接收模块,用于接收所述控制设备发送的获取描述符的命令;
显示模块,用于在接收控制设备发送的获取描述符的命令后,显示多个虚拟端口中每个虚拟端口对应的功能;
生成模块,用于根据用户选择的每个功能对应的USB驱动,生成对应的描述符;
发送模块,用于将生成的所述描述符通过USB接口发送到所述控制设备。
附图说明
图1为本发明实施例一对外部设备进行操作的方法的流程图;
图2为本发明实施例二通用串行总线USB设置的方法的流程图;
图3为本发明实施例三对外部设备进行操作的方法的流程图;
图4为本发明实施例四对外部设备进行操作的装置的示意图;
图5为本发明实施例五通用串行总线USB设置的装置的示意图。
具体实施方式
本发明实施例的控制设备检测到通用串行总线USB接口连接外部设备,其中所述外部设备的USB接口中有多个虚拟端口;所述控制设备通过所述USB接口接收所述外部设备的功能对应的描述符;所述控制设备将每个所述功能对应的描述符与每个所述功能对应的驱动文件进行匹配,在匹配成功后确定执行每个所述功能对应的虚拟功能设备;所述控制设备在接收到执行功能的操作命令时,通过需要执行的功能对应的驱动接口,将所述操作命令发送给需要执行的功能对应的虚拟功能设备,以使所述需要执行的功能对应的虚拟功能设备对所述外部设备进行操作。
本发明实施例的外部设备在通过USB接口与控制设备连接后,接收控制设备发送的获取描述符的命令;所述外部设备在接收控制设备发送的获取描述符的命令后,显示多个虚拟端口中每个虚拟端口对应的功能;所述外部设备根据用户选择的每个功能对应的USB驱动,生成对应的描述符;所述外部设备将生成的所述描述符通过USB接口发送到所述控制设备。
这种技术方案由于增加了外部设备USB接口的虚拟端口,使得控制设备能够获得至少一个功能对应的描述符,实现了控制设备能够对外设设备的至少一种功能进行操作。
下面结合说明书附图对本发明实施例作进一步详细描述。
如图1所示,本发明实施例一对外部设备进行操作的方法,包括:
步骤100,控制设备检测到通用串行总线USB接口连接外部设备,其中所述外部设备的USB接口中有多个虚拟端口;
步骤101,所述控制设备通过所述USB接口接收所述外部设备的功能对应的描述符;
步骤102,所述控制设备将每个所述功能对应的描述符与每个所述功能对应的驱动文件进行匹配,在匹配成功后确定执行每个所述功能对应的虚拟功能设备;
步骤103,所述控制设备在接收到执行功能的操作命令时,通过需要执行的功能对应的驱动接口,将所述操作命令发送给需要执行的功能对应的虚拟功能设备,以使所述需要执行的功能对应的虚拟功能设备对所述外部设备进行操作。
其中,控制设备可以为PC等具有控制功能的设备,外部设备可以为智能手机等具有操作系统如Android系统的智能设备。
在实施中,控制设备在检测到通用串行总线USB接口连接外部设备,通过所述USB接口接收所述外部设备至少一个功能对应的描述符之间,还会通过USB接口向外部设备发送获取描述符命令,以使外部设备返回描述符。上述发送命令并接收描述符的过程也可以称为枚举流程。
在本发明实施例中,控制设备与外部设备通过USB接口相连后,在控制设备显示未知的虚拟功能设备,在外部设备端弹出消息框,使得用户根据需要在消息框中对其功能进行选择,其中所选择的功能不能占用同一手机资源,如不能同时选择MTP和PTP,这是由于MTP与PTP占用了外部设备端的同一存储资源,因此不能同时对其操作。
在功能选择后,控制设备进行枚举流程,也就是控制设备发送获取描述符命令,从而获取用户选择的功能对应的描述符的过程。
较佳地,针对一个功能,对应的描述符包括以下部分或全部的信息:设备描述符、配置描述符、端口描述符以及端点描述符。
在获取用户选择的功能对应的描述符后,并将功能的描述符信息与对应的控制设备的功能驱动文件相匹配,如若选择的为MTP和ADB,则MTP功能的描述符信息与控制设备MTP的驱动文件进行匹配,则ADB功能的描述符信息与控制设备ADB的驱动文件进行匹配,其具体匹配过程以ADB功能为例,获取ADB功能的描述符信息后,控制设备在ADB驱动文件中选择与该功能对应的配置信息,并将选择的配置信息与所获取的描述符信息进行匹配,若匹配成功,从控制设备上显示的多个未知虚拟功能设备中选择一个,并通过set_configuration请求根据选择的配置信息对选择的未知虚拟功能设备进行配置,并将配置后的虚拟功能设备作为执行该功能对应的虚拟功能设备。
当接收到相应的操作指令,通过对应的驱动接口下发到对应的虚拟驱动设备,从而实现对手机的操作,例如,通过MTP功能对外部设备视频进行删除操作,当控制设备接收到删除相关视频操作的命令时,下发到MTP驱动接口,通过MTP驱动接口下发到MTP设备,进而来实现外部设备删除视频的操作。在本发明中,在通过MTP功能对外部设备进行操作的同时,还能够使用ADB功能或其他与MTP功能不占用同一外部设备资源的功能对外部设备进行操作。
较佳地,所述控制设备在检测到USB接口连接外部设备之后,通过USB接口向所述外部设备发送获取所述描述符的命令;
在向所述外部设备发送获取所述描述符的命令后,通过USB接口接收所述外部设备至少一个功能对应的描述符。
在实施中,本发明实施例的获取所述描述符的命令可以是现有的获取所述描述符的命令;由于本发明实施例的描述符有可能有多个,所以该命令也可以是一个新的命令。
例如,控制设备可以通过0地址向外部设备发送get_device_descriptor标准请求,获取设备描述符;控制设备向外部设备发送get_configuration请求,则获取配置描述符。
由于控制设备与外部设备通过USB接口连接后,会在外部设备弹出一个消息框,需用户对其功能模式进行选择,若选择充电模式,则表示用户只需要进行充电,而不需要进行操作,所以控制设备不再进行枚举流程,否则控制设备需要进行枚举流程。
因此,所述控制设备在检测到USB接口连接外部设备后,确定所述外部设备是否为非充电模式;
若确定所述外部设备为非充电模式,则通过USB接口接收所述外部设备至少一个功能对应的描述符。
也就是说,外部设备如手机端通过弹出的消息框选择的功能为mtp、adb或ptp等而非充电模式时,控制设备还需进行枚举流程,因此在枚举流程之前需对外部设备的选择模式进行确定。
较佳地,该方法还包括:
所述控制设备在检测到USB接口连接外部设备后,若根据收到的来自外部设备模式信息,确定所述外部设备为充电模式,则跳过通过所述USB接口接收所述外部设备的功能对应的描述符的步骤,直接对外部设备进行充电操作。
若选择的为充电模式,则PC跳过所述控制设备通过所述USB接口接收所述外部设备的功能对应的描述符的流程以及后续功能对应的描述符与该功能对应的驱动文件进行匹配,确定虚拟功能设备,并对外部设备的一种或多种功能进行操作的流程,直接对手机进行充电,从而使得用户通过PC对手机进行充电操作时无需安装驱动即可达到充电的目的。
如图2所示,本发明实施例二通用串行总线USB设置的方法,包括:
步骤200,外部设备检测到通过USB接口与控制设备连接;
步骤201,所述外部设备接收所述控制设备发送的获取描述符的命令;
步骤202,所述外部设备在接收控制设备发送的获取描述符的命令后,显示多个虚拟端口中每个虚拟端口对应的功能;
步骤203,所述外部设备根据用户选择的每个功能对应的USB驱动,生成对应的描述符;
步骤204,所述外部设备将生成的所述描述符通过USB接口发送到所述控制设备。
由于在USB设备中,是以虚拟端口interface为单位的,在本发明实施例中将不同的功能对应到不同的interface上,其中,这些不同的功能不能占用同一手机资源,就能够实现在手机端的消息栏中选择至少一个功能的操作,如将MTP对应到interface0,ADB对应到interface1上,用户就能同时选择MTP和ADB功能或其中之一。
较佳地,所述外部设备检测到通过USB接口与控制设备连接之后,还包括:
所述外部设备根据用户选择的模式确定对应的模式信息,并将确定的所述模式信息发送给所述控制设备;
其中所述模式信息用于表示所述外部设备是否是非充电模式。
如图3所示,本发明实施例三对外部设备进行操作的方法,包括:
步骤300,在USB设备中,将外部设备中不占用同一资源的不同功能分别对应到不同的interface上。
步骤301,外部设备与控制设备通过USB接口相连,在外部设备上弹出消息栏,根据用户需要进行选择。
步骤302,确定在外部设备的消息栏中选择是否为充电模式,若为充电模式,则执行步骤303;否则执行步骤304。
步骤303,控制设备跳过枚举流程,直接对外部设备进行充电,流程结束。
步骤304,若在外部设备的消息栏中选择的为MTP、ADB功能,则控制设备执行枚举流程,获得MTP与ADB对应的描述符。
步骤305,将MTP的描述符与ADB的描述符分别与控制设备上对应的MTP驱动文件、ADB驱动文件相匹配。
步骤306,若匹配成功,则控制设备与外部设备通过USB接口连接后,在控制设备显示的未知设备则确定为MTP设备和ADB设备。
步骤307,在控制设备接收到相应的操作指令后,通过对应的驱动接口下发到对应的驱动设备,从而实现对手机的操作。
基于同一发明构思,本发明实施例中还提供了一种对外部设备进行操作的装置,由于本发明实施例对外部设备进行操作的装置对应的方法为对外部设备进行操作的方法,因此本发明实施例装置的实施可以参见方法的实施,重复之处不再赘述。
如图4所示,本发明实施例四对外部设备进行操作的装置,包括:
第一检测模块400,用于检测通用串行总线USB接口连接外部设备,其中所述外部设备的USB接口中有多个虚拟端口;
第一接收模块401,用于通过所述USB接口接收所述外部设备的功能对应的描述符;
匹配模块402,用于将每个所述功能对应的描述符与每个所述功能对应的驱动文件进行匹配,在匹配成功后确定执行每个所述功能对应的虚拟功能设备;
执行模块403,用于在接收到执行功能的操作命令时,通过需要执行的功能对应的驱动接口,将所述操作命令发送给需要执行的功能对应的虚拟功能设备,以使所述需要执行的功能对应的虚拟功能设备对所述外部设备进行操作。
较佳地,所述第一检测模块400还用于:
在检测到USB接口连接外部设备后,通过USB接口向所述外部设备发送获取所述描述符的命令。
较佳地,针对一个功能,对应的描述符包括以下部分或全部的信息:
设备描述符、配置描述符、端口描述符以及端点描述符。
较佳地,所述第一接收模块401还用于:
在检测到USB接口连接外部设备后,若确定所述外部设备为非充电模式,则通过USB接口接收所述外部设的功能对应的描述符。
较佳地,所述第一接收模块401还用于:
在检测到USB接口连接外部设备后,若根据收到的来自外部设备模式信息,确定所述外部设备为充电模式,则跳过通过所述USB接口接收所述外部设备的功能对应的描述符的步骤,直接对外部设备进行充电操作。
如图5所示,本发明实施例五通用串行总线USB设置的装置,包括:
第二检测模块500,用于检测到通过USB接口与控制设备连接;
第二接收模块501,用于接收所述控制设备发送的获取描述符的命令;
显示模块502,用于在接收控制设备发送的获取描述符的命令后,显示多个虚拟端口中每个虚拟端口对应的功能;
生成模块503,用于根据用户选择的每个功能对应的USB驱动,生成对应的描述符;
发送模块504,用于将生成的所述描述符通过USB接口发送到所述控制设备。
较佳地,第二接收模块501还用于:
在所述外部设备检测到通过USB接口与控制设备连接之后,所述外部设备根据用户选择的模式确定对应的模式信息,并将确定的所述模式信息发送给所述控制设备;
其中所述模式信息用于表示所述外部设备是否是非充电模式。
从上述内容可以看出,本发明实施例的控制设备检测到通用串行总线USB接口连接外部设备,其中所述外部设备的USB接口中有多个虚拟端口;所述控制设备通过所述USB接口接收所述外部设备的功能对应的描述符;所述控制设备将每个所述功能对应的描述符与每个所述功能对应的驱动文件进行匹配,在匹配成功后确定执行每个所述功能对应的虚拟功能设备;所述控制设备在接收到执行功能的操作命令时,通过需要执行的功能对应的驱动接口,将所述操作命令发送给需要执行的功能对应的虚拟功能设备,以使所述需要执行的功能对应的虚拟功能设备对所述外部设备进行操作。
本发明实施例的外部设备在通过USB接口与控制设备连接后,接收控制设备发送的获取描述符的命令;所述外部设备在接收控制设备发送的获取描述符的命令后,显示多个虚拟端口中每个虚拟端口对应的功能;所述外部设备根据用户选择的每个功能对应的USB驱动,生成对应的描述符;所述外部设备将生成的所述描述符通过USB接口发送到所述控制设备。
这种技术方案由于增加了外部设备USB接口的虚拟端口,使得控制设备能够获得至少一个功能对应的描述符,实现了控制设备能够对外设设备的至少一种功能进行操作,从而解决了PC通过USB接口只能对手机的一种功能进行操作的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种对外部设备进行操作的方法,其特征在于,该方法包括:
控制设备检测到通用串行总线USB接口连接外部设备,其中所述外部设备的USB接口中有多个虚拟端口;
所述控制设备通过所述USB接口接收所述外部设备的功能对应的描述符;
所述控制设备将每个所述功能对应的描述符与每个所述功能对应的驱动文件进行匹配,在匹配成功后确定执行每个所述功能对应的虚拟功能设备;
所述控制设备在接收到执行功能的操作命令时,通过需要执行的功能对应的驱动接口,将所述操作命令发送给需要执行的功能对应的虚拟功能设备,以使所述需要执行的功能对应的虚拟功能设备对所述外部设备进行操作。
2.如权利要求1所述的方法,其特征在于,控制设备检测到通用串行总线USB接口连接外部设备之后,还包括:
所述控制设备通过USB接口向所述外部设备发送获取所述描述符的命令。
3.如权利要求1所述的方法,其特征在于,针对一个功能,对应的描述符包括以下部分或全部的信息:
设备描述符、配置描述符、端口描述符以及端点描述符。
4.如权利要求1所述的方法,其特征在于,控制设备检测到通用串行总线USB接口连接外部设备之后,还包括:
所述控制设备根据收到的来自外部设备模式信息,确定所述外部设备为非充电模式。
5.如权利要求4所述的方法,其特征在于,该方法还包括:
所述控制设备在检测到USB接口连接外部设备后,若根据收到的来自外部设备模式信息,确定所述外部设备为充电模式,则跳过通过所述USB接口接收所述外部设备的功能对应的描述符的步骤,直接对外部设备进行充电操作。
6.一种通用串行总线USB设置的方法,其特征在于,该方法包括:
外部设备检测到通过USB接口与控制设备连接;
所述外部设备接收所述控制设备发送的获取描述符的命令;
所述外部设备在接收控制设备发送的获取描述符的命令后,显示多个虚拟端口中每个虚拟端口对应的功能;
所述外部设备根据用户选择的每个功能对应的USB驱动,生成对应的描述符;
所述外部设备将生成的所述描述符通过USB接口发送到所述控制设备。
7.如权利要求6所述的方法,其特征在于,所述外部设备检测到通过USB接口与控制设备连接之后,还包括:
所述外部设备根据用户选择的模式确定对应的模式信息,并将确定的所述模式信息发送给所述控制设备;
其中所述模式信息用于表示所述外部设备是否是非充电模式。
8.一种对外部设备进行操作的装置,其特征在于,该装置包括:
第一检测模块,用于检测通用串行总线USB接口连接外部设备,其中所述外部设备的USB接口中有多个虚拟端口;
第一接收模块,用于通过所述USB接口接收所述外部设备的功能对应的描述符;
匹配模块,用于将每个所述功能对应的描述符与每个所述功能对应的驱动文件进行匹配,在匹配成功后确定执行每个所述功能对应的虚拟功能设备;
执行模块,用于在接收到执行功能的操作命令时,通过需要执行的功能对应的驱动接口,将所述操作命令发送给需要执行的功能对应的虚拟功能设备,以使所述需要执行的功能对应的虚拟功能设备对所述外部设备进行操作。
9.如权利要求8所述的装置,其特征在于,所述第一检测模块还用于:
在检测到USB接口连接外部设备之后,通过USB接口向所述外部设备发送获取所述描述符的命令。
10.如权利要求8所述的装置,其特征在于,针对一个功能,对应的描述符包括以下部分或全部的信息:
设备描述符、配置描述符、端口描述符以及端点描述符。
11.如权利要求8所述的装置,其特征在于,所述第一接收模块还用于:
在检测到USB接口连接外部设备后,若确定所述外部设备为非充电模式,则通过USB接口接收所述外部设备的功能对应的描述符。
12.如权利要求11所述的装置,其特征在于,所述第一接收模块还用于:
在检测到USB接口连接外部设备后,若根据收到的来自外部设备模式信息,确定所述外部设备为充电模式,则跳过通过所述USB接口接收所述外部设备的功能对应的描述符的步骤,直接对外部设备进行充电操作。
13.一种通用串行总线USB设置的装置,其特征在于,该装置包括:
第二检测模块,用于检测到通过USB接口与控制设备连接;
第二接收模块,用于接收所述控制设备发送的获取描述符的命令;
显示模块,用于在接收控制设备发送的获取描述符的命令后,显示多个虚拟端口中每个虚拟端口对应的功能;
生成模块,用于根据用户选择的每个功能对应的USB驱动,生成对应的描述符;
发送模块,用于将生成的所述描述符通过USB接口发送到所述控制设备。
14.如权利要求13所述的装置,其特征在于,第二接收模块还用于:
在所述外部设备检测到通过USB接口与控制设备连接之后,所述外部设备根据用户选择的模式确定对应的模式信息,并将确定的所述模式信息发送给所述控制设备;
其中所述模式信息用于表示所述外部设备是否是非充电模式。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410461865.8A CN104216840B (zh) | 2014-09-11 | 2014-09-11 | 一种usb设置和对外部设备进行操作的方法及装置 |
US14/603,867 US9852085B2 (en) | 2014-09-11 | 2015-01-23 | Method for setting universal serial bus (USB) interface of electronic device, and electronic device |
US15/819,022 US10007621B2 (en) | 2014-09-11 | 2017-11-21 | Method for setting universal serial bus (USB) interface of electronic device, and electronic device |
US15/990,122 US10296472B2 (en) | 2014-09-11 | 2018-05-25 | Method for setting universal serial bus (USB) interface of electronic device, and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410461865.8A CN104216840B (zh) | 2014-09-11 | 2014-09-11 | 一种usb设置和对外部设备进行操作的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104216840A true CN104216840A (zh) | 2014-12-17 |
CN104216840B CN104216840B (zh) | 2018-03-23 |
Family
ID=52098352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410461865.8A Active CN104216840B (zh) | 2014-09-11 | 2014-09-11 | 一种usb设置和对外部设备进行操作的方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (3) | US9852085B2 (zh) |
CN (1) | CN104216840B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354603A (zh) * | 2016-08-31 | 2017-01-25 | 福建联迪商用设备有限公司 | 解决adb端口被占用的方法及其系统 |
CN107463524A (zh) * | 2016-06-06 | 2017-12-12 | 华为终端(东莞)有限公司 | 一种访问数据的方法及相关设备 |
CN109144592A (zh) * | 2018-09-10 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种基于port模式的驱动业务执行系统及方法 |
CN109388598A (zh) * | 2017-08-11 | 2019-02-26 | 航天信息股份有限公司 | 一种信息处理方法及通用串行总线usb集群服务器 |
CN111918132A (zh) * | 2020-07-27 | 2020-11-10 | 海信视像科技股份有限公司 | 一种显示设备及多接口设备判断方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216840B (zh) | 2014-09-11 | 2018-03-23 | 青岛海信移动通信技术股份有限公司 | 一种usb设置和对外部设备进行操作的方法及装置 |
JP6602053B2 (ja) * | 2015-05-29 | 2019-11-06 | キヤノン株式会社 | 情報処理装置、制御方法及びプログラム |
TWI767997B (zh) * | 2017-03-23 | 2022-06-21 | 日商索尼半導體解決方案公司 | 通信裝置、通信方法、程式及通信系統 |
US10409734B1 (en) * | 2017-03-27 | 2019-09-10 | Symantec Corporation | Systems and methods for controlling auxiliary device access to computing devices based on device functionality descriptors |
JP6731434B2 (ja) * | 2018-03-15 | 2020-07-29 | 日本電信電話株式会社 | デバイス割り当て方法、システムおよびプログラム |
CN114095494B (zh) * | 2021-11-18 | 2023-08-22 | 厦门市美亚柏科信息股份有限公司 | 一种用于快速下载文件的方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101292224A (zh) * | 2005-08-23 | 2008-10-22 | 摩尔电脑顾问公司 | 外围设备与操作系统的连接 |
CN101777032A (zh) * | 2009-01-14 | 2010-07-14 | 华为终端有限公司 | 一种实现usb端点复用的方法和设备 |
US20130042028A1 (en) * | 2011-08-12 | 2013-02-14 | Seung-Soo Yang | Universal serial bus (usb) device and a usb system including the same |
US20130238820A1 (en) * | 2012-03-07 | 2013-09-12 | Samsung Electronics Co., Ltd. | Mobile device and usb system including the same |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8484394B2 (en) * | 2006-04-26 | 2013-07-09 | Nokia Corporation | USB device election of becoming a host after receiving information about device capability of the host |
KR101147131B1 (ko) * | 2006-12-22 | 2012-05-25 | 삼성전자주식회사 | 휴대용 단말기에서 컴퓨터 연결모드 설정 방법 및 장치 |
US8092104B2 (en) * | 2007-04-05 | 2012-01-10 | Dymo | Tape printing apparatus |
US20090083765A1 (en) * | 2007-09-20 | 2009-03-26 | Microsoft Corporation | Accessing device-hosted services from scripting and other programming environments |
US9208118B2 (en) * | 2008-06-10 | 2015-12-08 | Lg Electronics Inc. | Communication device, a method of processing signal in the communication device and a system having the communication device |
US20100082869A1 (en) * | 2008-09-26 | 2010-04-01 | Rockwell Automation Technologies, Inc. | Stackable i/o modules appearing as standard usb mass storage devices |
JP2010140269A (ja) * | 2008-12-11 | 2010-06-24 | Sony Corp | 端末装置、端末装置の制御方法及び制御プログラム |
US20100180064A1 (en) * | 2009-01-14 | 2010-07-15 | Huawei Device Co., Ltd. | Method and device for implementing USB endpoint multiplexing |
US8850082B2 (en) * | 2010-08-30 | 2014-09-30 | Qualcomm Incorporated | Virtual USB compound device enumeration |
US9021579B2 (en) * | 2011-07-05 | 2015-04-28 | Sheng-Yuan SHIH | Smartphone data backup and restoration system |
US9779124B2 (en) * | 2012-08-27 | 2017-10-03 | Lg Electronics Inc. | Mobile terminal and control method thereof |
CN102981990B (zh) * | 2012-11-09 | 2015-07-22 | 青岛海信移动通信技术股份有限公司 | 采用Android平台终端设备的数据传输方法及装置 |
CN103559435B (zh) * | 2013-10-17 | 2017-07-07 | 华为技术有限公司 | 终端设备的调试端口控制方法和装置 |
CN104216840B (zh) | 2014-09-11 | 2018-03-23 | 青岛海信移动通信技术股份有限公司 | 一种usb设置和对外部设备进行操作的方法及装置 |
KR102429516B1 (ko) * | 2016-01-21 | 2022-08-08 | 엔에이치엔클라우드 주식회사 | 단말을 이용한 셋톱박스 입출력 시스템 및 방법 |
JP6877901B2 (ja) * | 2016-07-04 | 2021-05-26 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
KR102660519B1 (ko) * | 2016-08-01 | 2024-04-25 | 삼성전자주식회사 | 외부 장치를 인식하는 방법 및 이를 지원하는 전자 장치 |
-
2014
- 2014-09-11 CN CN201410461865.8A patent/CN104216840B/zh active Active
-
2015
- 2015-01-23 US US14/603,867 patent/US9852085B2/en active Active
-
2017
- 2017-11-21 US US15/819,022 patent/US10007621B2/en active Active
-
2018
- 2018-05-25 US US15/990,122 patent/US10296472B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101292224A (zh) * | 2005-08-23 | 2008-10-22 | 摩尔电脑顾问公司 | 外围设备与操作系统的连接 |
CN101777032A (zh) * | 2009-01-14 | 2010-07-14 | 华为终端有限公司 | 一种实现usb端点复用的方法和设备 |
US20130042028A1 (en) * | 2011-08-12 | 2013-02-14 | Seung-Soo Yang | Universal serial bus (usb) device and a usb system including the same |
US20130238820A1 (en) * | 2012-03-07 | 2013-09-12 | Samsung Electronics Co., Ltd. | Mobile device and usb system including the same |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463524A (zh) * | 2016-06-06 | 2017-12-12 | 华为终端(东莞)有限公司 | 一种访问数据的方法及相关设备 |
WO2017211260A1 (zh) * | 2016-06-06 | 2017-12-14 | 华为技术有限公司 | 一种访问数据的方法及相关设备 |
US10628078B2 (en) | 2016-06-06 | 2020-04-21 | Huawei Technologies Co., Ltd. | Data access method and related device |
CN106354603A (zh) * | 2016-08-31 | 2017-01-25 | 福建联迪商用设备有限公司 | 解决adb端口被占用的方法及其系统 |
CN106354603B (zh) * | 2016-08-31 | 2018-11-13 | 福建联迪商用设备有限公司 | 解决adb端口被占用的方法及其系统 |
CN109388598A (zh) * | 2017-08-11 | 2019-02-26 | 航天信息股份有限公司 | 一种信息处理方法及通用串行总线usb集群服务器 |
CN109144592A (zh) * | 2018-09-10 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种基于port模式的驱动业务执行系统及方法 |
CN109144592B (zh) * | 2018-09-10 | 2022-03-22 | 郑州云海信息技术有限公司 | 一种基于port模式的驱动业务执行系统及方法 |
CN111918132A (zh) * | 2020-07-27 | 2020-11-10 | 海信视像科技股份有限公司 | 一种显示设备及多接口设备判断方法 |
Also Published As
Publication number | Publication date |
---|---|
US9852085B2 (en) | 2017-12-26 |
US20160077982A1 (en) | 2016-03-17 |
US10007621B2 (en) | 2018-06-26 |
CN104216840B (zh) | 2018-03-23 |
US20180089112A1 (en) | 2018-03-29 |
US10296472B2 (en) | 2019-05-21 |
US20180276148A1 (en) | 2018-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104216840A (zh) | 一种usb设置和对外部设备进行操作的方法及装置 | |
CN105511936B (zh) | 测试系统、方法和装置 | |
CN110851387B (zh) | 一种接口功能配置方法和电子设备 | |
CN109783340B (zh) | SoC的测试代码烧写方法、IP测试方法及装置 | |
CN102917095A (zh) | 一种基于Android系统的终端测试的方法及装置 | |
CN109062842B (zh) | 一种遥控器与移动终端的通信方法、装置和遥控器 | |
CN106597143B (zh) | 一种测试设备以及测试方法 | |
WO2014185573A1 (ko) | 안드로이드 어플리케이션의 타이젠 설치가능 패키지 자동변환을 이용한 적응 실행 방법 | |
CN110618672A (zh) | 一种接口电路及其接口通信的方法、装置 | |
CN104571581A (zh) | 一种用于多主机共享显示设备的切换装置及切换方法 | |
CN105975303A (zh) | 升级控制方法及装置 | |
CN107885688B (zh) | 一种信号切换方法和装置 | |
CN104133671B (zh) | 一种数字处理设备的硬件接口屏蔽装置及方法 | |
CN104269709A (zh) | 一种快速充电转换接头及其控制方法、电子设备 | |
CN108089999B (zh) | 一种多功能usb设备注册方法及系统 | |
CN103744911A (zh) | 一种视频文件扫描方法及电子设备 | |
CN104052801A (zh) | 一种信息处理方法及电子设备 | |
CN110556893A (zh) | 一种机器人自动充电方法、系统和控制后台 | |
CN105487921A (zh) | 一种任务栈管理方法及装置 | |
CN104536789A (zh) | 数据烧录方法及其装置 | |
CN213069764U (zh) | 一种触控设备 | |
CN105188154B (zh) | 一种自动操作智能设备的方法、装置及系统 | |
CN104777967A (zh) | 页面信息显示方法及装置 | |
CN104823174B (zh) | Usb3.0兼容设备的重新列举的方法和系统 | |
CN103237359B (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 |