识别方法和识别装置与流程

文档序号:12363637阅读:186来源:国知局
识别方法和识别装置与流程

本公开实施例涉及移动终端领域,具体涉及一种外接设备的识别方法和识别装置。



背景技术:

在诸如手机和平板之类的设备中,已经开始采用USB Type-C接口,用于数据通讯和供电。USB Type-C接口允许正反面插入,从而提高USB接口的易用性,可以支持高达100W的功率输出且允许双向供电,从而可以进行快速充电和大功率供电,可以进行影音信号的传输,扩展能力强。

然而,本发明的发明人在发明过程中发现,现有技术存在以下缺陷:由于USB Type-C接座与插头之间的配合缺乏机械引导机构,用户很容易出现插入缓慢,插入缓慢可能导致设备错误识别外接设备的接口类型,从而导致设备采取错误的方式处理外接设备。

期望进一步改进USB Type-C接口插入时的识别方法,从而在插入缓慢时也可以正确识别外接设备接口。



技术实现要素:

有鉴于此,本公开实施例提供识别方法和识别装置,用于识别外接设备接口,以解决在插入缓慢时有时无法正确识别外接设备接口的问题。

根据本公开实施例的第一方面,本公开提供一种识别方法,用于识别和第一设备连接的第二设备的接口类型,所述第一设备具有第一USB Type-C接口,所述第二设备上具有和第一USB Type-C接口配对的第二USB Type-C接口,所述识别方法包括:检测所述第一USB Type-C接口和所述第二USB Type-C接口是否联通;当所述第一USB Type-C接口和所述第二USB Type-C接口联通时,至少模拟一次所述第一USB Type-C接口和所述第二USB Type-C接口断开后再联通的操作;获取所述第二USB Type-C接口的接口类型,并作为第一接口类型;以及执行和所述第一接口类型匹配的接口功能。

可选地,所述接口类型包括标准下行端口、充电下行端口和专用充电端口。

可选地,还包括:在所述至少模拟一次所述第一USB Type-C接口和所述第二USB Type-C接口断开后再联通的操作的步骤之前,获取所述第二USB Type-C接口的接口类型作为第二接口类型;则所述至少模拟一次所述第一USB Type-C接口和所述第二USB Type-C接口断开后再联通的操作为:当所述第二接口类型为标准下行端口时,至少模拟一次所述第一USB Type-C接口和所述第二USB Type-C接口断开后再联通的操作。

可选地,每次模拟的时间间隔超过预设时间。

可选地,通过检测所述第一USB Type-C接口和所述第二USB Type-C接口的电源线和数据线上的电信号确定所述第一USB Type-C接口和所述第二USB Type-C接口是否联通。

根据本公开实施例的第二方面,本公开提供一种识别装置,用于识别和第一设备连接的第二设备的接口类型,所述第一设备具有第一USB Type-C接口,所述第二设备上具有和第一USB Type-C接口配对的第二USB Type-C接口,所述识别装置包括:检测模块,用于检测所述第一USB Type-C接口和所述第二USB Type-C接口是否联通;模拟模块,用于当所述第一USB Type-C接口和所述第二USB Type-C接口联通时,至少模拟一次所述第一USB Type-C接口和所述第二USB Type-C接口断开后再联通的操作;第一获取模块,用于获取所述第二USB Type-C接口的接口类型,并作为第一接口类型;执行模块,用于执行和所述第一接口类型匹配的接口功能。

可选地,所述接口类型包括标准下行端口、充电下行端口和专用充电端口。

可选地,还包括:第二获取模块,用于在所述至少模拟一次所述第一USB Type-C接口和所述第二USB Type-C接口断开后再联通的操作的步骤之前,获取所述第二USB Type-C接口的接口类型作为第二接口类型;则所述模拟模块为:当所述第二接口类型为标准下行端口时,至少模拟一次所述第一USB Type-C接口和所述第二USB Type-C接口断开后再联通的操作。

可选地,所述模拟模块每次模拟的时间间隔超过预设时间。

可选地,通过检测所述第一USB Type-C接口和所述第二USB Type-C接口的电源线和数据线上的电信号确定所述第一USB Type-C接口和所述第二USB Type-C接口是否联通。

根据本公开实施例的第三方面,本公开提供一种电子设备,包括上述的识别装置。

本公开实施例提供的识别方法,用于识别外接设备的接口类型,通过至少一次的模拟操作,模拟第一设备和外接设备的接口断开后再联通,在模拟操作之后重新识别外接设备的接口类型,解决了在插入缓慢时有时无法正确识别外接设备的接口类型的问题,确保正确识别外接设备的接口类型,从而保证以正确的接口类型和外接设备进行交互。

附图说明

通过参照以下附图对本公开实施例的描述,本公开实施例的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1是根据本公开实施例的识别方法的流程图;

图2是根据本公开另一实施例的识别方法的流程图;

图3是根据本公开实施例的识别装置的结构图;

图4是根据本公开另一实施例的识别装置的结构图;

图5是根据本公开实施例的一种设备的结构图;

图6是根据本公开实施例的用于识别方法的计算机程序产品的结构示意图。

具体实施方式

以下基于实施例对本公开实施例进行描述,但是本公开实施例并不仅仅限于这些实施例。在下文对本公开实施例的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开实施例。为了避免混淆本公开实施例的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。

附图中的流程图、框图图示了本公开实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个、程序段或仅仅是一段代码,所述、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。

图1是根据本公开实施例的识别方法的流程图,该用于识别和第一设备连接的第二设备的接口类型,第一设备具有第一USB Type-C接口,第二设备上具有和第一USB Type-C接口配对的第二USB Type-C接口。第一设备包括PC机、服务器、移动终端、各种Pad系列产品等。第二设备包括移动U盘、硬盘、移动电话、平板系列、相机、游戏机、集线器、鼠标、键盘、充电适配器等设备。所述识别方法包括步骤101-104。

在步骤101中,检测第一USB Type-C接口和第二USB Type-C接口是否联通。

USB Type-C接口具有电源线引脚VBUS、GND和数据线引脚D+、D-、以及其他引脚。可以利用软件检测接口,或采用独立于系统资源、通过USB数据线引脚D+、D-的互动检测接口。这些功能的分化取决于具体的系统架构。例如,通过微控制器或电源管理芯片管理电源设备,可能更倾向于采用集成电路进行端口检测和电流选择。进一步观察USB Type-C接口可以发现,两边的VBUS和GND的引脚较长,中间的引脚D+、D-较短,这样的作法是为了先供电再通信。然而由于电源引脚和数据引脚的长度不同,可能导致电源引脚已经连接上,而数据引脚还没有连接,这种引脚插入的间隔时间最长观察到的间隔时间是200ms。从而,系统检测接口时,如果中间的数据引脚没有连接,系统在数据引脚上检测不到电信号,从而可能导致系统对接口类型判断错误。

在步骤102中,至少模拟一次第一USB Type-C接口和第二USB Type-C接口断开后再联通的操作。

在本步骤中,为了确保正确判断接口类型,执行至少一次的接口断开和再联通的操作。先模拟第一USB Type-C接口和第二USB Type-C接口断开,再模拟第一USB Type-C接口和第二USB Type-C接口联通。模拟断开时,可以采用软件或集成电路实现。例如,通过修改表征第一设备的电源引脚的供电状态的寄存器值,从而使第一设备的电源引脚上的电信号改变(例如,从高电平降为低电平)。这时,虽然第一设备的USB Type-C接口和第二设备的接口在物理上处于连接状态,但在逻辑上是断开的。模拟联通时,通过修改表征第一设备的电源引脚的供电状态的寄存器值,从而使第一设备的电源引脚上的电信号改变(例如,从低电平降为高电平)。这时,第一设备的USB Type-C接口和第二设备的USB Type-C接口不仅在物理上处于连接状态,在逻辑上也是联通的。

在步骤103中,获取第二USB Type-C接口的接口类型,并作为第一接口类型。

在本步骤中,第一USB Type-C接口和第二USB Type-C接口联通后通过交互通信,获得第二USB Type-C接口的接口类型。例如,首先识别连接的设备是全速还是高速设备,然后是枚举过程,在该过程中第一设备向第二设备发送各种USB命令,第二设备接到命令后返回设备描述符、配置描述符、接口描述符、端点描述符,通过这些描述符识别出该设备的接口类型。本领域的技术人员可以理解,接口联通时的通信步骤由USB Type-C接口协议确定,这里只对其进行示例性说明。接口类型包括例如:标准下行端口(主要用于通信)、充电下行端口(主要用于充电)和专用充电端口(主要用于大电流充电)。

在步骤104中,执行和第一接口类型匹配的接口功能。

标准下行端口多用于连接外设,如鼠标、键盘,用于信号的输入输出。充电下行端口、专用充电端口用于通过外接设备给本设备充电,以及根据接口类型确定充电电流的大小、方向。

在一个可选的实施例中,上述的识别方法还包括:根据步骤103中识别出来的接口类型,为第二设备配置参数。

本公开实施例提供的识别方法,用于识别外接设备的接口类型,通过至少一次的模拟操作,模拟第一设备和外接设备的接口断开后再联通,在模拟操作之后重新识别外接设备的接口类型,解决了在插入缓慢时有时无法正确识别外接设备的接口类型的问题,确保正确识别外接设备的接口类型,从而保证以正确的接口类型和外接设备进行交互。

图2是根据本公开另一实施例的识别方法的流程图。所述识别方法包括步骤200-205。

在步骤200中,检测第一USB Type-C接口和第二USB Type-C接口是否联通。

USB Type-C接口具有电源线引脚VBUS、GND和数据线引脚D+、D-、以及其他引脚。器件可以利用软件检测接口,或采用独立于系统资源、通过USB数据线引脚D+、D-的互动检测接口。这些功能的分化取决于具体的系统架构。例如,通过微控制器或电源管理芯片管理电源设备,可能更倾向于采用集成电路进行端口检测和电流选择。进一步观察USB Type-C接口可以发现,两边的VBUS和GND的引脚较长,中间的引脚D+、D-较短,这样的作法是为了先供电再通信。然而由于电源引脚和数据引脚的长度不同,可能导致电源引脚已经连接上,而数据引脚还没有连接,这种引脚插入的间隔时间最长观察到的间隔时间是200ms。从而,系统检测接口时,如果中间的数据引脚没有连接,系统在数据引脚上检测不到电信号,从而可能导致系统对接口类型判断错误。

在步骤201中,获取第二USB Type-C接口的接口类型。

接口类型包括例如:标准下行端口(SDP)、充电下行端口(CDP)和专用充电端口(SCP)。在设备联通后,根据USB Type-C接口协议,执行第一设备和第二设备的通信,例如,第一设备向第二设备发送USB命令,并根据命令反馈,获得设备描述符、配置描述符、接口描述符、端点描述符,通过这些描述符识别出该设备的接口类型。

在步骤202中,判断第二USB Type-C接口的接口类型是否为标准下行端口。如果第二USB Type-C接口的接口类型是标准下行端口,执行步骤203。

由于非标准下行端口类设备在插入缓慢的情况下有可能被误认为标准下行端口类设备,因此在判断是标准下行端口类设备,需要执行进一步的模拟操作。

在步骤203中,至少模拟一次第一USB Type-C接口和第二USB Type-C接口断开后再联通的操作。

在本步骤中,首先模拟使第一设备的USB Type-C接口和第二设备的USB Type-C接口断开,然后模拟第一设备的USB Type-C接口和第二设备的USB Type-C接口联通。模拟的方式与前述步骤形同,每次模拟的时间间隔超过预设时间。例如,最慢的插入时间为200ms,那么模拟的间隔时间超过200ms。

在步骤204中,再次获取第二USB Type-C接口的接口类型,并作为第一接口类型。

在本步骤中,第一设备和第二设备的USB Type-C接口再联通后,重复步骤201中的过程。

在步骤205中,执行和第一接口类型匹配的接口功能。

例如,通过标准下行端口和外接设备的信号通信。通过充电下行端口和专用充电端口给设备充电,并根据接口类型确定充电电流的大小、方向。

本公开实施例提供的识别方法,和图1的实施例相比,增加了获取步骤和判断步骤,在第二USB Type-C接口的接口类型为标准下行端口时,才执行模拟操作,避免对不可能误判的接口类型进行模拟操作,从而使该识别方法更具效率。

图3是根据本公开实施例的识别装置的结构图。该识别装置30该用于识别和第一设备连接的第二设备的接口类型,第一设备具有第一USB Type-C接口,第二设备上具有和第一USB Type-C接口配对的第二USB Type-C接口。该识别装置30应用于第一设备上,包括检测模块301、模拟模块302、第一获取模块303和执行模块304。

检测模块301用于检测所述第一USB Type-C接口和所述第二USB Type-C接口是否联通。

模拟模块302用于当第一USB Type-C接口和第二USB Type-C接口联通时,至少模拟一次第一USB Type-C接口和第二USB Type-C接口断开后再联通的操作。

第一获取模块303用于获取第二USB Type-C接口的接口类型,并作为第一接口类型。

执行模块304用于执行和第一接口类型匹配的接口功能。接口类型包括标准下行端口、充电下行端口和专用充电端口。

图4是根据本公开另一实施例的识别装置的结构图。该识别装置40应用于具有USB Type-C接口的第一设备上,包括检测模块400、第一获取模块401、模拟模块402、第二获取模块403和执行模块404。第一获取模块401、模拟模块402、第二获取模块403和图3的实施例相同,这里就不再赘述。

检测模块400用于检测所述第一USB Type-C接口和所述第二USB Type-C接口是否联通。可选地,通过检测第一USB Type-C接口和第二USB Type-C接口的电源线和数据线上的电信号确定第一USB Type-C接口和第二USB Type-C接口是否联通。

第二获取模块401用于获取第二USB Type-C接口的接口类型作为第二接口类型。

模拟模块402用于根据第二获取模块401获取到的第二接口类型,至少模拟一次第一USB Type-C接口和第二USB Type-C接口断开后再联通的操作。可选地,模拟模块每次模拟的时间间隔超过预设时间。

第一获取模块403用于获取第二USB Type-C接口的接口类型,并作为第一接口类型。

执行模块404用于执行和第一接口类型匹配的接口功能。接口类型包括标准下行端口、充电下行端口和专用充电端口。

本公开实施例提供的识别装置,用于识别外接设备的接口类型,通过模拟模块实现至少一次的模拟操作,在模拟操作之后重新识别外接设备的接口类型,解决了在插入缓慢时错误识别外接设备的接口类型的问题,确保正确识别设备的接口类型。

本领域的技术人员可以理解,实施例的装置和方法是对应的,因为在描述装置的实施例时,以相对简略的方式完成。

图5是根据本公开实施例的一种设备的结构图。参考图5,一种设备50,包括通过总线连接的至少一个处理器501和存储器502。存储器502存储有各种计算机指令,处理器501从存储器502中读取一组指令,执行该指令以完成以下的操作:检测第一USB Type-C接口和第二USB Type-C接口是否联通;当第一USB Type-C接口和第二USB Type-C接口联通时,至少模拟一次第一USB Type-C接口和第二USB Type-C接口断开后再联通的操作;获取第二USB Type-C接口的接口类型,并作为第一接口类型;以及执行和第一接口类型匹配的接口功能。

图6是根据本公开实施例的用于识别方法的计算机程序产品的结构示意图。

如图6所示,本公开实施例的计算机程序产品60,可以包括信号承载介质601。信号承载介质601为指令载体,可以包括一个或多个指令6011,指令6011在被例如处理器执行时,可以完成上述实施例中描述的功能。例如,指令6011被执行以完成以下的功能:检测第一USB Type-C接口和第二USB Type-C接口是否联通;当第一USB Type-C接口和第二USB Type-C接口联通时,至少模拟一次第一USB Type-C接口和第二USB Type-C接口断开后再联通的操作;获取第二USB Type-C接口的接口类型,并作为第一接口类型;以及执行和第一接口类型匹配的接口功能。

在一些实现中,信号承载介质601可以包括计算机可读介质6012,诸如但不限于硬盘驱动器、压缩盘(CD)、数字通用盘(DVD)、数字带、存储器等。在一些实现中,信号承载介质601可以包括可记录介质6013,诸如但不限于存储器、读/写(R/W)CD、R/W DVD等。在一些实现中,信号承载介质601可以包括通信介质6014,诸如但不限于数字和/或模拟通信介质(例如,光纤线缆、波导、有线通信链路、无线通信链路等)。

本公开实施例的计算机程序产品,表现硬件驱动层的程序,例如,USB接口驱动程序、协议栈驱动程序。驱动层的程序通过模拟接口断开和联通的操作,解决了现有技术中在插入缓慢的情况下可能错误识别外接的接口类型的问题。

本公开实施例结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。

根据本公开实施例的系统和方法可以部署在单个或多个服务器上。例如,可以将不同的模块分别部署在不同的服务器上,形成专用服务器。或者,可以在多个服务器上分布式部署相同的功能单元、或系统,以减轻负载压力。所述服务器包括但不限于在同一个局域网以及通过Internet连接的多个PC机、PC服务器、刀片机、超级计算机等。

以上所述仅为本公开实施例的优选实施例,并不用于限制本公开实施例,对于本领域技术人员而言,本公开实施例可以有各种改动和变化。凡在本公开实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开实施例的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1