具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,在本发明提供的根据USB接口状态进行内部电路选择的方法的一个实施例中,终端USB接口的第一管脚通过一个上拉电阻连接至电源,所述第一管脚为USB接口的D-或D+管脚,所述上拉电阻的阻抗值能保证在和阻抗大约为15KΩ±5%的一端接地的下拉电阻对所述电源进行串联分压时,使所述下拉电阻分得的电压值为逻辑低电平。所述上拉电阻的阻抗值之所以要能保证满足所述条件,是因为如果外部USB设备为数据传输设备时,根据USB协议,该数据传输设备的USB接口的D-、D+管脚上会各连一个阻抗值大约为15KΩ±5%的对地下拉电阻。所述终端USB接口的类型可以为USB协议定义的各种USB接口类型。所述方法可以包括以下步骤:
110,终端检测到USB接口插入了一个外部USB设备时,检测终端USB接口的第一管脚的电平是否为低;若所述终端USB接口的第一管脚的电平为低电平,则执行步骤120和130;否则,执行步骤140;
终端检测USB接口是否插入了一个外部USB设备的方法较多,常用的可通过处理器的ADC管脚检测USB_VBUS电源线上是否有5V左右的电压,或者,通过处理器的GPIO(General Purpose Input/Output,即通用输入/输出)接口检测USB_VBUS电源线上的逻辑状态是否为高等。终端如何检测USB接口是否插入了一个外部USB设备可采用现有技术,本发明不做限定。
在步骤110中检测终端USB接口的第一管脚的电平时,该上拉电阻与该数据传输设备的USB接口的D-或D+管脚上连接的阻抗值大约为15KΩ±5%的对地下拉电阻进行分压,该上拉电阻的阻抗值满足在和阻抗大约为15KΩ±5%的对地下拉电阻进行分压时,使所述对地下拉电阻分得的电压值为逻辑低电平,从而会检测到终端USB接口的第一管脚的电平为低电平。因此,在该上拉电阻的阻抗值满足所述条件时,若检测到终端USB接口的第一管脚的电平为低电平,则可判断外接设备的类型为USB接口的D-、D+管脚上连有阻抗大约为15KΩ±5%的对地下拉电阻的数据传输设备,从而执行步骤120,将终端USB接口的D-、D+管脚连接至终端的USB数据通信模块的相应管脚,为该数据传输设备与终端进行相应的数据传输提供通道。当检测到处理器的第一接口的电平为高电平时,可判断此时外接设备不为数据传输设备时,执行步骤140。在检测时,为了使检测结果可靠,可在一段时间内进行多次检测,直至连续几次的检测结果都相同。
120,将终端USB接口的D-、D+管脚连接至终端的USB数据通信模块的相应管脚;
具体地,对于一般的USB数据通信模块,可连接至该模块的USB_DM、USB_DP管脚。
130,按照第一策略控制对所述终端的充电;
所述第一策略为外接设备为数据传输设备时对应的充电策略;所述数据传输设备包括USB HOST,如计算机或便携式计算机的USB口、USB集线器或USB路由器等。所述第一策略可包括:当外接设备为数据传输设备时,不对该终端进行充电。
140,判断所述终端USB接口的D-和D+管脚的电平状态是否一致;若为一致,则执行步骤150;否则,执行步骤160;
150,按照第二策略控制对所述终端的充电;
所述第二策略为外接设备为标准电源适配器时对应的策略。
标准电源适配器的D-和D+管脚是短接的,所以两管脚的电平状态一致,从而可以检测到所述终端USB接口的D-和D+管脚的电平状态是一致的。
160,按照第三策略控制对所述终端的充电;
所述第三策略为外接设备为非标准电源适配器时对应的策略。
非标准电源适配器不满足D-和D+管脚短接的条件,所以两管脚的电平状态不一致,从而可以检测到所述终端USB接口的D-和D+管脚的电平状态不一致。本发明实施例中非标准电源适配器可以为D+、D-管脚悬空或无D+、D-管脚的电源适配器。
本发明实施例提供的方法可在不需要终端具有特殊的处理器的情况下根据USB接口的状态识别不同的外部USB设备类型,并采取与外部USB设备类型相对应的策略控制对终端的充电。
本发明实施例提供的方法不需要处理器芯片能支持Battery Charging V1.1和/或Battery Charging V1.2协议,因而适用于各种处理器芯片;终端的USB接口的类型没有限制,适用于各种USB接口类型的终端;不需要成本较高的专用的USB电源类型识别芯片,也不需要比较器及其它分离的电子元器件,通过处理器的接口来进行检测和识别,不需要额外的检测或识别模块,因而能节省元器件和模块,降低成本。
如图2所示,在本发明提供的根据USB接口状态进行内部电路选择的方法的一个实施例中,步骤140可以通过步骤241或步骤242来实现,步骤241具体为:
241,将终端USB接口的第二管脚的状态置低,判断终端USB接口的第一管脚是否为低电平。若为低电平,则所述终端USB接口的D-和D+管脚的电平状态一致,并执行步骤150;否则,执行步骤160。
在步骤110中当检测到终端USB接口的第一管脚的电平为高电平时,执行步骤241。若步骤241中直接检测终端USB接口的第二管脚的电平为高电平就判断所述终端USB接口的D-和D+管脚的电平状态一致,可能会出现误判,因为若外接设备为D+、D-管脚悬空的电源适配器,则直接检测终端USB接口的第二管脚的状态时,检测的结果是不确定的,受内部电路的影响,检测的结果可能为高电平,也可能为低电平,从而可能会出现误判,使检测和判断的结果不准确。因而在本发明的一个实施例中,在步骤241中,先将终端USB接口的第二管脚的状态置为低电平,再判断所述终端USB接口的第一管脚的电平,在所述终端USB接口的第二管脚被置低前,终端USB接口的第一管脚为高电平,若此时终端USB接口的第一管脚的电平为低电平,则终端USB接口的第一管脚是受第二管脚的影响,与第二管脚电平保持一致,从而可准确判断所述终端USB接口的D-和D+管脚的电平状态一致,并可准确判断此时外接设备为D+、D-管脚短接的标准电源适配器;若此时终端USB接口的第一管脚的电平为高电平,与原来终端USB接口的第二管脚被置低前的状态一样,没有变化,则终端USB接口的第一管脚没有受终端USB接口的第二管脚的影响,从而可较准确判断终端USB接口的D-和D+管脚的电平状态不一致,进而可判断此时外接设备为非标准电源适配器。检测方法合理,不会出现误判,提高了检测结果的准确性。
或者,在本发明的一个实施例中,步骤140也可以为步骤242:
242,向所述终端USB接口的第一管脚和第二管脚其中之一发送检测数据,判断从所述终端USB接口的第一管脚和第二管脚中另一管脚获取的信息是否为所述检测数据。若是,则所述终端USB接口的D-和D+管脚的电平状态一致,并执行步骤150;否则,执行步骤160。
当检测到从所述终端USB接口的第一管脚和第二管脚中另一管脚获取的信息是否为所述检测数据时,可知此时终端USB接口的D-和D+管脚电气相连,因此两者电平状态一致。
本实施例中检测所述终端USB接口的D-和D+管脚的电平状态是否一致的方法,不需要比较器及其它分离的电子元器件,能用较低的成本实现对终端USB接口的D-和D+管脚的电平状态是否一致的检测和判断,且检测方法合理,减少了误判,提高了检测结果的准确性。
在本发明提供的根据USB接口状态进行内部电路选择的方法的一个实施例中,终端USB接口的所述第一管脚、所述第二管脚初始状态下分别对应连接至终端处理器的第一、第二接口。步骤110中所述检测所述终端USB接口的所述第一管脚的电平状态的高低可以为:检测所述终端处理器的所述第一接口的电平状态的高低。步骤241可以为:将所述终端处理器的所述第二接口的状态置低,判断终端处理器的所述第一接口是否为低电平,若是,则执行步骤150;否则,执行步骤160。步骤242可以为:向所述终端处理器的所述第一接口、第二接口其中之一发送检测数据,判断从所述终端处理器的所述第一接口、第二接口中的另一接口获取的信息是否为所述检测数据,若是,则执行步骤150;否则,执行步骤160。
在本发明提供的根据USB接口状态进行内部电路选择的方法的一个实施例中,所述终端USB接口的所述第一管脚、所述第二管脚分别与一电子开关模块的第一、第二管脚相连;所述电子开关模块的第三、第四管脚分别与所述终端处理器的所述第一、第二接口相连,所述电子开关模块的所述第一、第二管脚初始状态下分别与所述电子开关模块的所述第三、第四管脚相连,所述上拉电阻与所述电子开关模块的第三管脚及所述终端处理器的所述第一接口电气相连,从而使初始状态下所述终端USB接口的所述第一管脚与所述上拉电阻电气相连;所述电子开关模块的第五、第六管脚分别与所述终端的USB数据通信模块的相应管脚相连。步骤120可以为:所述电子开关模块在第一控制信号的作用下,将所述电子开关模块的第一、第二管脚分别连接至所述电子开关模块的第五、第六管脚,以使所述终端USB接口的D-、D+管脚电气连接至所述终端的USB数据通信模块的相应管脚。
本发明实施例中,电子开关模块的所述第一、第二管脚初始状态下分别与所述电子开关模块的所述第三、第四管脚相连,使得终端USB接口的所述第一管脚、所述第二管脚初始状态下分别对应电气连接至终端处理器的第一、第二接口。电子开关模块在第一控制信号的作用下,使所述终端USB接口的D-、D+管脚电气连接至所述终端的USB数据通信模块的相应管脚。通过电子开关模块的切换连接功能实现了不同的内部电路的连接。所述上拉电阻与所述电子开关模块的第三管脚及所述终端处理器的所述第一接口电气相连,不会对所述终端USB接口的所述第一管脚电平的检测结果造成干扰,降低了对电路的干扰,提高了检测的准确度。
在本发明提供的根据USB接口状态进行内部电路选择的方法的一个实施例中,步骤120可以为:所述终端处理器通过第三接口向所述电子开关模块的控制管脚发送第一控制信号,将所述电子开关模块的第一、第二管脚分别连接至所述电子开关模块的第五、第六管脚,以使所述终端的USB接口的D-、D+管脚电气连接至所述终端的USB数据通信模块的相应管脚。
在本发明提供的根据USB接口状态进行内部电路选择的方法的一个实施例中,步骤120还可以为:所述终端处理器通过第三接口向一控制信号模块发送第一控制信号,并由所述控制信号模块将第一控制信号传送至所述电子开关模块的控制管脚,所述电子开关模块根据所述第一控制信号将所述电子开关模块的第一、第二管脚分别连接至所述电子开关模块的第五、第六管脚,以使所述终端的USB接口的D-、D+管脚电气连接至所述终端的USB数据通信模块的相应管脚。
所述电子开关模块的所述第一、第二管脚初始状态下分别与所述电子开关模块的第三、第四管脚相连可以为:所述电子开关模块在所述控制信号模块输出的初始控制信号的控制下,将所述电子开关模块的第一、第二管脚分别与所述电子开关模块的第三、第四管脚相连;所述初始控制信号由所述控制信号模块输出并发送到所述电子开关模块的所述控制管脚。
本发明实施例中,所述控制信号模块为所述电子开关模块提供初始控制信号,使所述电子开关模块初始状态下第一、第二管脚分别与所述电子开关模块的第三、第四管脚相连,实现了电路的初始连接,不需要求电子开关模块自身初始状态下具有第一、第二管脚分别与所述电子开关模块的第三、第四管脚相连的连接状态,降低了电子开关模块的复杂度,降低了对电路元器件的要求。
以上所述实施例中所述电子开关模块可以为USB模拟开关或其他具有切换连接功能的开关元件或芯片。当所述电子开关模块为USB模拟开关时,由于USB模拟开关与USB接口的良好的兼容性,可保证USB信号质量和通信速率,电路兼容性好。
进一步地,以上所述实施例中所述终端处理器的第一、第二、第三接口可以为终端处理器的GPIO(General Purpose Input/Output,即通用输入/输出)接口,也可以为终端处理器的其他接口。当为终端处理器的GPIO接口时,可以方便终端处理器对其进行检测和控制。
以上所述终端处理器可以为终端上任一处理器,不论其是否支持BatteryCharging V1.1和/或Battery Charging V1.2协议,均可以实现对外部USB设备类型的识别,并采取与外部USB设备类型相对应的策略控制对所述终端的充电,从而不需要成本较高的专用的USB电源类型识别芯片,降低了成本,且适用于各种处理器。该处理器通过其包括的GPIO接口进行相关的检测和控制,不需要额外的检测或识别模块,也不需要比较器及其它分离的电子元器件,进一步使成本降低。
本发明实施例还提供了一种根据USB接口状态进行内部电路选择的终端,如图3所示为本发明提供的终端的一个实施例,在该实施例中,所述终端包括:
USB接口310,具有第一、第二管脚,所述第一管脚为所述USB接口的D-或D+管脚,所述第二管脚为所述USB接口的D-、D+管脚中除所述第一管脚外的另一管脚;
所述USB接口的类型可以为USB协议定义的各种USB接口类型。
USB数据通信模块340,用于与外部USB设备进行数据通信;
上拉电阻350,一端与所述USB接口310的所述第一管脚相连,另一端连接至电源,其阻抗值能保证在和阻抗大约为15KΩ±5%的对地下拉电阻对所述电源进行串联分压时,使所述对地下拉电阻分得的电压值为逻辑低电平;
所述上拉电阻的阻抗值之所以要能保证满足所述条件,是因为如果外部USB设备为数据传输设备时,根据USB协议,该数据传输设备的USB接口的D-、D+管脚上会各连一个阻抗值大约为15KΩ±5%的对地下拉电阻。
第一检测单元360,用于检测所述USB接口310是否插入了外部USB设备;
处理器330,用于在所述第一检测单元360检测到所述USB接口310插入了外部USB设备时,检测所述USB接口310的所述第一管脚的电平状态的高低,并在所述USB接口310的第一管脚的电平状态为低时,输出第一控制信号,按照第一策略控制对所述终端的充电;在所述USB接口的第一管脚电平状态为高时,进一步判断所述终端USB接口310的D-和D+管脚的电平状态是否一致,若一致,则按照第二策略控制对所述终端的充电;否则,按照第三策略控制对所述终端的充电;所述第一策略为外接设备为数据传输设备时对应的策略,所述第二策略为外接设备为标准电源适配器时对应的策略,所述第三策略为外接设备为非标准电源适配器时对应的策略;切换单元320,用于根据所述第一控制信号,将所述USB接口310的D-、D+管脚连接至所述USB数据通信模块340的相应管脚。具体地,对于一般的USB数据通信模块,可连接至该模块的USB DM、USB DP管脚。在本发明提供的终端的一个实施例中,所述处理器330可以包括:
第一检测控制单元431,用于在所述第一检测单元360检测到所述USB接口310插入了外部USB设备时,检测所述USB接口310的所述第一管脚的电平状态的高低,并在所述USB接口310的第一管脚的电平状态为低时,输出所述第一控制信号,按照所述第一策略控制对所述终端的充电;
所述第一策略为外接设备为数据传输设备时对应的充电策略;所述数据传输设备包括USB HOST,如计算机或便携式计算机的USB口、USB集线器或USB路由器等。所述第一策略可包括:当外接设备为数据传输设备时,不对该终端进行充电。
第二检测控制单元432,用于在所述第一检测控制单元431检测到所述USB接口310的所述第一管脚的电平为高电平时,判断所述USB接口310的D-和D+管脚的电平状态是否一致,若一致,则按照第二策略控制对所述终端的充电;若不一致,按照第三策略控制对所述终端的充电。
在本发明提供的终端的一个实施例中,所述第二检测控制单元432具体用于,在所述第一检测控制单元431检测到所述USB接口的所述第一管脚的电平为高电平时,将所述终端USB接口310的所述第二管脚的电平置为低电平,判断所述USB接口310的所述第一管脚是否为低电平,若为低电平,则所述USB接口310的D-和D+管脚的电平状态一致,按照所述第二策略控制对所述终端的充电;否则,所述USB接口310的D-和D+管脚的电平状态不一致,按照所述第三策略控制对所述终端的充电。
在本发明提供的终端的一个实施例中,所述第二检测控制单元432具体用于在所述第一检测控制单元431检测到所述USB接口310的第一管脚的电平为高电平时,向所述USB接口310的D-和D+管脚其中之一发送检测数据,判断从所述USB接口310的D-和D+管脚中的另一管脚获取的信息是否为所述检测数据,若是,则所述USB接口310的D-和D+管脚的电平状态一致,按照所述第二策略控制对所述终端的充电;否则,所述USB接口310的D-和D+管脚的电平状态不一致,按照所述第三策略控制对所述终端的充电。
在本发明提供的终端的一个实施例中,所述处理器330还具有第一、第二接口,所述USB接口310的所述第一管脚,及所述USB接口310的所述第二管脚初始状态下分别连接至所述处理器330的所述第一、第二接口。
所述第一检测控制单元431具体用于,在所述第一检测单元360检测到所述USB接口310插入了外部USB设备时,检测所述处理器330的第一接口的电平状态的高低,并在所述处理器330的第一接口的电平状态为低时,输出所述第一控制信号,按照第一策略控制对所述终端的充电;
所述第二检测控制单元432具体用于,在所述第一检测控制单元431检测到所述处理器330的第一接口的电平为高电平时,将所述处理器330的第二接口的电平置为低电平,判断所述处理器330的第一接口是否为低电平,若为低电平,则所述USB接口310的D-和D+管脚的电平状态一致,按照第二策略控制对所述终端的充电;否则,所述USB接口310的D-和D+管脚的电平状态不一致,按照所述第三策略控制对所述终端的充电;或者,
所述第二检测控制单元432具体用于,在所述第一检测控制单元431检测到所述处理器330的第一接口的电平为高电平时,向所述处理器330的第一、第二接口的其中之一发送检测数据,判断从所述处理器330的第一、第二接口中的另一接口获取的信息是否为所述检测数据,若是,则所述USB接口310的D-和D+管脚的电平状态一致,按照所述第二策略控制对所述终端的充电;否则,所述USB接口310的D-和D+管脚的电平状态不一致,按照所述第三策略控制对所述终端的充电。
本实施例中通过对所述处理器330的第一、第二接口进行检测和控制,不需要比较器及其它分离的电子元器件,能用较低的成本实现对终端USB接口的D-和D+管脚的电平状态是否一致的检测和判断,且检测方法合理,减少了误判,提高了检测结果的准确性。具体如何提高检测结果的准确性与前述方法实施例中相应部分的描述相同,此处不再赘述。
在本发明提供的终端的一个实施例中,所述切换单元320可以为电子开关421,具有第一、第二、第三、第四、第五及第六管脚;所述电子开关421的第一、第二管脚分别与所述USB接口310的所述第一管脚、第二管脚电气连接;所述电子开关421的第三、第四管脚分别与所述处理器330的所述第一、第二接口电气连接;所述电子开关421的第五、第六管脚分别与所述USB数据通讯模块340的相应管脚相连;初始状态下所述电子开关421的第一、第二管脚分别与所述电子开关421的第三、第四管脚电气相连,从而使初始状态下所述USB接口310的所述第一管脚、第二管脚分别对应电气连接至所述处理器330的所述第一、第二接口;所述上拉电阻350与所述电子开关421的第三管脚及所述处理器330的所述第一接口电气相连,从而使初始状态下所述终端USB接口的所述第一管脚与所述上拉电阻电气相连。
所述电子开关421具体用于根据所述第一控制信号,将所述电子开关421的第一、第二管脚分别连接至所述电子开关421的第五、第六管脚,以使所述终端的USB接口310的D-、D+管脚电气连接至所述终端的USB数据通信模块340的相应管脚。
在该实施例中,所述上拉电阻350与所述电子开关421的第三管脚及所述处理器330的所述第一接口电气相连,不会对所述终端USB接口310的所述第一管脚电平的检测结果造成干扰,降低了对电路的干扰,提高了检测的准确度。
在本发明提供的终端的一个实施例中,所述处理器330还具有第三接口;所述电子开关421还具有控制管脚第七管脚;所述第一检测控制单元431具体用于在所述第一检测单元360检测到所述USB接口310插入了外部USB设备时,检测所述处理器330的第一接口的电平状态的高低,并在所述处理器330的第一接口的电平状态为低时,通过所述处理器330的所述第三接口输出所述第一控制信号发送给所述电子开关421的所述控制管脚,按照所述第一策略控制对所述终端的充电。
在本发明提供的终端的一个实施例中,如图4所示,所述处理器330还具有第三接口;所述电子开关421还具有控制管脚;所述终端还可以包括控制信号模块470,用于在初始状态下,产生初始控制信号并将所述初始控制信号发送给所述电子开关421的所述控制管脚,在所述第一检测控制单元431输出所述第一控制信号的情况下,从所述处理器330的第三接口接收所述第一控制信号,并将所述第一控制信号发送到所述电子开关421的控制管脚;
所述电子开关421具体用于通过所述控制管脚接收所述控制信号模块470发送的所述初始控制信号,根据所述初始控制信号将所述电子开关470的第一、第二管脚分别与所述电子开关470的第三、第四管脚相连;通过所述控制管脚接收所述第一控制信号,根据所述第一控制信号,将所述电子开关470的第一、第二管脚分别连接至所述电子开关470的第五、第六管脚,以使所述终端USB接口310的D-、D+管脚电气连接至所述终端的USB数据通信模块340的相应管脚。
在该实施例中,所述控制信号模块470为所述电子开关421提供初始控制信号,使所述电子开关421初始状态下第一、第二管脚分别与所述电子开关模块的第三、第四管脚相连,实现了电路的初始连接,不需要求电子开关421自身初始状态下具有第一、第二管脚分别与所述电子开关模块的第三、第四管脚相连的连接状态,降低了电子开关421的复杂度,降低了对电路元器件的要求。
以上所述实施例中,所述电子开关421可以为USB模拟开关或其他具有切换连接功能的开关元件或芯片。当电子开关421为USB模拟开关时,由于USB模拟开关与USB接口的良好的兼容性,可保证USB信号质量和通信速率,电路兼容性好。
进一步地,以上所述终端处理器330的第一、第二、第三接口可以为终端处理器的GPIO(General Purpose Input/Output,即通用输入/输出)接口,也可以为终端处理器的其他接口。当为终端处理器的GPIO接口时,可以方便终端处理器对其进行检测和控制。
以上所述终端处理器330可以为终端上任一处理器,不论其是否支持Battery Charging V1.1和/或Battery Charging V1.2协议,均可以实现对外部USB设备类型的识别,并采取与外部USB设备类型相对应的策略控制对所述终端的充电,从而不需要成本较高的专用的USB电源类型识别芯片,降低了成本,且适用于各种处理器。该处理器330通过其包括的GPIO接口和第一、第二检测控制单元进行相关的检测和控制,不需要额外的检测或识别模块,也不需要比较器及其它分离的电子元器件,进一步使成本降低。
如图5所示,为本发明实施例一种根据USB接口状态进行内部电路选择的终端内部电路结构示意图,下面以此为例来详细说明根据USB接口状态进行内部电路选择的终端的工作原理。
在该实施例中,电子开关421为USB模拟开关521;USB接口310的第一管脚为D-管脚。
在图5中,USB接口310的D-管脚即为USB_DM_IN,D+管脚即为USB_DP_IN;所述电子开关421的第一~第六管脚可以分别为USB模拟开关521的管脚5、3、6、2、7、1,即为管脚D-、D+、HSD2-、HSD2+、HSD1-、HSD1+,所述电子开关421的控制管脚可以为USB模拟开关521的管脚10,即为管脚S;所述处理器330可以为终端上任一处理器,所述处理器330的第一、第二、第三接口可以为处理器330的GPIO接口,可以分别为GPIO2、GPIO3、GPIO1接口;所述上拉到电源的上拉电阻350即为与电源VCC相连的R3电阻,其阻抗值为100KΩ,可以保证在和阻抗大约为15KΩ±5%的对地下拉电阻进行分压时,使所述对地下拉电阻分得的电压值为逻辑低电平;控制信号模块470包括上拉到VCC_USB电源网络的电阻R1、连接到地的电容C1。
在图5中,USB接口310的D-、D+管脚分别对应连接至USB模拟开关521的管脚D-、D+。USB模拟开关521的管脚
即管脚8为使能管脚,低电平时有效,将其与地相连使其处于低电平有效状态。USB模拟开关521的管脚S为控制管脚,当管脚S为高电平时,可以使USB模拟开关521的D-、D+管脚与HSD2-、HSD2+管脚对应电气相连;当管脚S为低电平时,可以使USB模拟开关521的D-、D+管脚与HSD1-、HSD1+管脚对应电气相连。USB模拟开关521的管脚S与控制信号模块470以及处理器330的GPIO1接口相连。USB模拟开关521的HSD2-、HSD2+管脚分别对应连接至处理器330的GPIO2、GPIO3接口,且处理器330的GPIO2接口通过上拉电阻R3上拉至电源VCC。USB模拟开关521的HSD1-、HSD1+管脚分别对应连接至USB数据通信模块340的USB数据线管脚USB_DM、USB_DP。初始状态时,由于控制信号模块470能提供一个初始的高电平控制信号给USB模拟开关521的管脚S,使管脚S为高电平,进而使USB模拟开关521的D-、D+管脚与HSD2-、HSD2+管脚对应电气相连,从而可在初始状态下使USB接口310的D-、D+管脚与处理器330的GPIO2、GPIO3接口对应电气相连,并可使初始状态下USB接口310的D-管脚与上拉电阻R3电气相连,即使初始状态下USB接口310的所述第一管脚与上拉电阻R3电气相连。
上述USB模拟开关521与处理器330及USB数据通信模块340的连接关系还可以为,USB模拟开关521的管脚HSD2-、HSD2+分别对应连接至USB数据通信模块340的USB数据线管脚USB_DM、USB_DP,USB模拟开关521的管脚HSD1-、HSD1+分别对应连接至处理器330的GPIO2、GPIO3接口,但这样需要对控制信号模块470作一些改变,将控制信号模块470的电阻R1从上拉到VCC_USB电源网络改为下拉到地,从而可以在初始状态时输出一个低电平控制信号给USB模拟开关521的管脚S,使管脚S为低电平,从而使USB模拟开关521的D-、D+管脚与HSD1-、HSD1+管脚对应电气相连,从而使初始状态下使USB接口310的D-、D+管脚与处理器330的GPIO2、GPIO3接口对应电气相连,并可使初始状态下USB接口310的D-管脚与上拉电阻R3电气相连,即使初始状态下USB接口310的所述第一管脚与上拉电阻R3电气相连。
在图5提供的实施例中,USB接口310的第一管脚为D-管脚,所述USB接口310的第一管脚还可以为D+管脚,当为D+管脚时,为了使初始状态下USB接口310的所述第一管脚与上拉电阻R3电气相连,需将上拉电阻R3改接,使之与处理器330的GPIO3接口相连,并连接到电源VCC,其他电路连接不变。
上述初始状态的连接,使后续通过对处理器330的GPIO2、GPIO3接口的检测和控制实现对USB接口310的D-、D+管脚的状态的检测得以顺利进行。
在图5中,初始状态下,USB模拟开关521在控制信号模块470提供的初始高电平的控制信号的控制下,将USB模拟开关521的D-、D+管脚与HSD2-、HSD2+管脚对应电气相连,从而在初始状态下使USB接口310的D-、D+管脚与处理器330的GPIO2、GPIO3接口对应电气相连。
当终端检测到USB接口310插入了一个外部USB设备时,检测处理器330的GPIO2接口的电平状态的高低:
若为低电平,则根据前述的分析,可以判断此时外接设备的类型为USB接口的D-、D+管脚上连有阻抗值大约为15KΩ±5%的对地下拉电阻的数据传输设备,进而处理器330通过GPIO3接口发送一个低电平的控制信号给USB模拟开关521的管脚S,使管脚S为低电平,进而控制USB模拟开关521将D-、D+管脚连接至HSD1-、HSD1+管脚,从而使终端USB接口310的D-、D+管脚连接至USB数据通信模块340的USB数据线管脚USB_DM、USB_DP,为外接数据传输设备与终端进行数据传输提供通道。与此同时,按照与外接设备为数据传输设备时对应的策略控制对所述终端的充电。
若为高电平,则外接设备类型为电源适配器,具体为标准或非标准的电源适配器需进一步判断。标准电源适配器的D-和D+管脚是短接的。非标准的电源适配器,可以是D-和D+管脚悬空的,或无D-和D+管脚的电源适配器。可通过判断终端USB接口310的D-和D+管脚的电平状态是否一致来判断外接设备的电源适配器类型。若终端USB接口310的D-和D+管脚的电平状态是一致的,则可判断外接设备为D-和D+管脚短接的标准电源适配器;若不一致,则可判断外接设备为非标准电源适配器。具体判断终端USB接口310的D-和D+管脚的电平状态是否一致的过程如下:
处理器330先将GPIO3接口置为低电平,再检测GPIO2接口的电平,若为低电平,则GPIO3和GPIO2接口的电平状态一致,从而可知终端USB接口310的D-和D+管脚的电平状态是一致的;若检测GPIO2接口的电平依然为原来的高电平,则可知终端USB接口310的D-和D+管脚的电平状态是不一致的。
判断出外接电源适配器的类型是标准或非标准电源适配器后,按照与电源适配器类型相对应的策略控制对所述终端的充电。
如图5中给出的R1、R2、R3的阻抗值和C1、C2的容抗值只是本实施例的一种实现,各参数值可根据电路的需要进行适当的调整。所述GPIO1、GPIO2、GPIO3是终端处理器上的GPIO接口,对应顺序可以调换,还可以用其他GPIO口或其他接口来替代。
本发明实施例利用电子开关尤其是USB模拟开关的特性,在实现内部电路的选择连接的同时,能保证USB信号质量和通信速率,USB兼容性好。不需要处理器芯片能支持Battery Charging V1.1和/或Battery Charging V1.2协议,因而适用于各种处理器芯片;终端的USB接口的类型没有限制,适用于各种USB接口类型的终端;不需要成本较高的专用的USB电源类型识别芯片,也不需要比较器及其它分离的电子元器件,通过处理器的接口来进行检测和识别,不需要额外的检测或识别模块,因而能节省元器件和模块,降低成本。
应该说明的是,在本文中,所述外接设备类型包括数据传输设备、标准电源适配器及非标准电源适配器。所述数据传输设备包括USB HOST,如带有USB接口的计算机或便携式计算机、USB集线器或USB路由器等。所述标准电源适配器为D-和D+管脚短接的电源适配器。所述非标准电源适配器包括D+、D-管脚悬空或无D+、D-管脚的电源适配器。所述处理器,包括支持以及不支持BatteryCharging V1.1和/或Battery Charging V1.2协议的处理器。所述USB接口的类型可以为USB协议定义的各种USB接口类型。所述终端检测USB接口是否插入了一个外部USB设备的方法较多,常用的可通过处理器的ADC管脚检测USB_VBUS电源线上是否有5V左右的电压,或者,通过处理器的GPIO(General PurposeInput/Output,即通用输入/输出)接口检测USB_VBUS电源线上的逻辑状态是否为高等。在本文中,涉及到检测时,为了使检测结果可靠,可在一段时间内进行多次检测,直至连续几次的检测结果都相同。本文提供的实施例均可实现对不同外接设备类型的检测,包括数据传输设备、标准电源适配器及非标准电源适配器,检测的准确性高。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关硬件来完成,所述的程序可以存储于一终端的可读存储介质中,该程序在执行时,包括上述全部或部分步骤,所述的存储介质,如:FLASH、EEPROM等。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,不同的实施例可以进行组合,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何组合、修改、等同替换、改进等,均应包含在本发明的保护范围之内。