USB控制器的控制方法和装置与流程

文档序号:17695829发布日期:2019-05-17 21:30阅读:207来源:国知局
USB控制器的控制方法和装置与流程

本发明涉及计算机技术领域,特别涉及一种usb控制器的控制方法和装置。



背景技术:

在otg(on-the-go,主要应用于各种不同的设备或移动设备间的联接,进行数据交换)功能设计中,usb(universalserialbus,通用串行总线)控制器设置有一个专用的usb_id引脚,用于检测id的状态。将usb控制器的这个管脚(usb_id引脚)直接与usb插座的id引脚相连,当usb控制器检测到id信号为低时,表示该设备应作为host(主机,也称a设备),当usb控制器检测到id信号为高时,表示该设备应作为slave(外设,也称b设备)。

然而,在使用usb控制器的usb_id这个管脚检测usb插座id引脚的高低电平变化,需要让usb控制器一直打开状态。只有在usb_id这个管脚处于工作状态的情况下才能检测,然而,usb控制器打开的情况下,需要一定的功耗,导致系统功耗增加,待机时间减少。

针对上述问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种usb控制器的控制方法,以达到减少损耗,提高待机时间的技术效果,该方法包括:

通过gpio检测usb插座的id管脚的电平变化,其中,所述gpio与所述id管脚相连,用于检测所述id管脚的电平变化;

在确定所述usb插座的id管脚由高电平变为低电平的情况下,控制usb控制器打开。

在一个实施方式中,在控制usb控制器打开之后,所述方法还包括:

通过所述usb控制器确定互连的两个usb设备中的主设备和从设备。

在一个实施方式中,通过所述usb控制器确定互连的两个usb设备中的主设备和从设备,包括:

所述usb控制器检测所述id管脚的电平高低;

所述usb控制器根据检测结果确定互连的两个usb设备中的主设备和从设备。

在一个实施方式中,所述usb控制器根据检测结果确定互连的两个usb设备中的主设备和从设备,包括:

当所述usb控制器检测到id管脚的信号为低电平的时候,确定该usb设备为主设备;

当所述usb控制器检测到id管脚的信号为高电平的时候,确定该usb设备为从设备。

本发明还实施例提供了一种usb控制器的控制装置,以达到减少损耗,提高待机时间的技术效果,该装置包括:

检测模块,用于通过gpio检测usb插座的id管脚的电平变化,其中,所述gpio与所述id管脚相连,用于检测所述id管脚的电平变化;

控制模块,用于在确定所述usb插座的id管脚由高电平变为低电平的情况下,控制usb控制器打开。

在一个实施方式中,上述装置还包括:确定模块,用于在控制usb控制器打开之后,通过所述usb控制器确定互连的两个usb设备中的主设备和从设备。

在一个实施方式中,所述确定模块包括:

检测单元,用于通过所述usb控制器检测所述id管脚的电平高低;

确定单元,用于通过所述usb控制器根据检测结果确定互连的两个usb设备中的主设备和从设备。

在一个实施方式中,所述确定单元包括:

第一确定子单元,用于在所述usb控制器检测到id管脚的信号为低电平的情况下,确定该usb设备为主设备;

第二确定子单元,用于在所述usb控制器检测到id管脚的信号为高电平的情况下,确定该usb设备为从设备。

在本发明实施例中,通过将gpio与id管脚相连,使得gpio可以检测到id管脚的电平变化,在gpio检测到id管脚由高电平变为低电平的情况下,可以确定存在两个设备进行互联了,这时再打开usb控制器,而不是一直打开usb控制器,从而可以减少损耗,提高待机时间。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:

图1是根据本发明实施例的usb控制器的控制方法的方法流程图;

图2是根据本发明实施例的usb控制器的控制装置的结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。

上述otg技术就是在没有pc机的情况下,实现设备间的数据传送。例如:手机可以和u盘直接连接,从而将手机中的照片存储到u盘中;手机也可以与打印机连接,从而打印手机中的照片。

在otg技术中,定义了一种新的接口:微型ab插座、微型a插头和微型b插头。在微型ab插座、微型a插头和微型b插头中增加了1个引脚:id引脚,用于区分互连的两个设备。通过该引脚可以表明谁做host(主机,也称a设备),谁做slave(外设,也称b设备)。当设备检测到id信号为低时,表示该设备应作为host(主机,也称a设备),当设备检测到id信号为高时,表示该设备应作为slave(外设,也称b设备)。

为此,在本例中,考虑到检测usb插座的id管脚的电平只发生在两个设备互连的时候,其它时候是不需要检测usb插座id管脚,那么这个时候,usb控制器就可以关闭,以节省功耗。

在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。

图1为本申请实施例提供的一种usb控制器的控制方法。虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。如图1所示,所述方法包括:

步骤101:通过gpio检测usb插座的id管脚的电平变化,其中,所述gpio与所述id管脚相连,用于检测所述id管脚的电平变化;

步骤102:在确定所述usb插座的id管脚由高电平变为低电平的情况下,控制usb控制器打开。

即,使用一个gpio与usb插座的id管脚连接,检测id管脚的电平变化,再通知系统将usb控制器打开,这样就不需要usb控制器一直打开,从而达到了降低系统功耗,增加待机时间的目的。

在控制usb控制器打开,可以通过usb控制器确定互连的两个usb设备中的主设备和从设备。

具体的,usb控制器可以检测id管脚的电平高低;usb控制器可以根据检测结果确定互连的两个usb设备中的主设备和从设备,例如:usb控制器根据检测结果确定互连的两个usb设备中的主设备和从设备,可以包括:

1)当usb控制器检测到id管脚的信号为低电平的时候,确定该usb设备为主设备;

2)当usb控制器检测到id管脚的信号为高电平的时候,确定该usb设备为从设备。

下面结合一个具体实施例对上述检测方法进行说明,然而值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。

在本例中,将usb控制器的usb_id管脚与usb插座的id连接,同时将usb插座的id引脚连到一个gpio(generalpurposeinput/outputpin,通用输入输出引脚)上。

通过程序将这个gpio配置成输入中断口,由于检测usb插座的id管脚的电平只是发生在两个设备互连的时候,其它时候是不需要检测usb插座id管脚,那么usb控制器就可以关闭,以节省功耗。

当有设备互连的时候,usb插座的id管脚的电平会由高电平变到低电平,这种电平变化,会被与其连接的gpio(已经配置为输入中断口)检测到,这时系统知道有usb设备连接,再将usb控制器打开。

然而,usb_id管脚检测usb插座id管脚电平,usb控制器决定互连的两个设备谁做host(主机,也称a设备),谁做slave(外设,也称b设备)。

在上例中,使用一个gpio管脚检测usb插座id管脚的电平变化,然后,通知系统打开usb控制器。通过这种方式使得不需要系统将usb控制器一直打开监测usb插座的id管脚电平变化,从而减少了系统的功耗,增加了待机时间。

基于同一发明构思,本发明实施例中还提供了一种usb控制器的控制装置,如下面的实施例所述。由于usb控制器的控制装置解决问题的原理与usb控制器的控制方法相似,因此usb控制器的控制装置的实施可以参见usb控制器的控制方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图2是本发明实施例的usb控制器的控制装置的一种结构框图,如图2所示,可以包括:检测模块201、控制模块202,下面对该结构进行说明。

检测模块201,用于通过gpio检测usb插座的id管脚的电平变化,其中,所述gpio与所述id管脚相连,用于检测所述id管脚的电平变化;

控制模块202,用于在确定所述usb插座的id管脚由高电平变为低电平的情况下,控制usb控制器打开。

在一个实施方式中,上述控制装置还可以包括:确定模块,用于在控制usb控制器打开之后,通过所述usb控制器确定互连的两个usb设备中的主设备和从设备。

在一个实施方式中,确定模块可以包括:检测单元,用于通过所述usb控制器检测所述id管脚的电平高低;确定单元,用于通过所述usb控制器根据检测结果确定互连的两个usb设备中的主设备和从设备。

在一个实施方式中,确定单元可以包括:第一确定子单元,用于在所述usb控制器检测到id管脚的信号为低电平的情况下,确定该usb设备为主设备;第二确定子单元,用于在所述usb控制器检测到id管脚的信号为高电平的情况下,确定该usb设备为从设备。

在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。

在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。

从以上的描述中,可以看出,本发明实施例实现了如下技术效果:通过将gpio与id管脚相连,使得gpio可以检测到id管脚的电平变化,在gpio检测到id管脚由高电平变为低电平的情况下,可以确定存在两个设备进行互联了,这时再打开usb控制器,而不是一直打开usb控制器,从而可以减少损耗,提高待机时间。

显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。

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

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