一种充电方法、移动终端及存储介质转让专利

申请号 : CN202211216452.4

文献号 : CN115622177B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张强

申请人 : 荣耀终端有限公司

摘要 :

本申请提供一种充电方法、移动终端及存储介质,涉及充电技术领域,该方法可以在移动终端被误识别为Buck充电时,进行用户无感的自识别和重试,提升了充电速度。在移动终端的充电口检测到充电设备插入时,移动终端对充电设备进行第一快充检测,用于确定充电设备的充电端口为DCP端口,或者移动终端与充电设备的快速充电协议握手检测成功;若第一快充检测失败,移动终端关断移动终端的VBUS供电电路,并在关断VBUS供电电路后触发重新连接VBUS供电电路;以及在重新连接VBUS供电电路后,对充电设备重新进行第一快充检测;若重新进行的第一快充检测成功,移动终端对充电设备进行快充条件检测,并在快充条件检测通过后,由充电设备为移动终端快速充电。

权利要求 :

1.一种充电方法,其特征在于,包括:

在移动终端的充电口检测到充电设备插入时,所述移动终端对所述充电设备进行第一快充检测;其中,所述第一快充检测用于确定所述充电设备的充电端口为DCP端口,或者所述第一快充检测用于确定所述移动终端与所述充电设备的快速充电协议握手检测成功;

若所述第一快充检测失败,所述移动终端关断所述移动终端的VBUS供电电路,并在关断所述VBUS供电电路后触发第一供电重连;其中,所述第一供电重连为重新连接所述VBUS供电电路;

所述移动终端在完成所述第一供电重连后,对所述充电设备重新进行所述第一快充检测;

若重新进行的所述第一快充检测成功,所述移动终端对所述充电设备进行快充条件检测,并在所述快充条件检测通过后,由所述充电设备为所述移动终端快速充电;

在所述第一快充检测用于确定所述充电设备的充电端口为DCP端口的情况下,若所述第一快充检测成功,所述移动终端与所述充电设备进行第二快充检测;其中,所述第二快充检测用于确定所述移动终端与所述充电设备的快速充电协议握手检测成功;若所述第二快充检测失败,所述移动终端关断所述移动终端的VBUS供电电路,并在关断所述VBUS供电电路后触发第二供电重连;其中,所述第二供电重连为重新连接所述VBUS供电电路;所述移动终端在完成所述第二供电重连后,对所述充电设备重新进行所述第二快充检测;若重新进行的所述第二快充检测成功,所述移动终端对所述充电设备进行快充条件检测,并在所述快充条件检测通过后,由所述充电设备为所述移动终端快速充电。

2.根据权利要求1所述的充电方法,其特征在于,所述移动终端关断所述移动终端的VBUS供电电路,包括:所述移动终端检测所述移动终端的当前充电类型是否为BUCK充电;

若所述当前充电类型为所述BUCK充电,则所述移动终端拉高所述移动终端的VBUS端口,以关断所述VBUS供电电路。

3.根据权利要求2所述的充电方法,其特征在于,所述在关断所述VBUS供电电路后触发第一供电重连,包括:所述移动终端在关断所述VBUS供电电路后,拉低所述移动终端的VBUS端口,以触发所述第一供电重连。

4.根据权利要求3所述的充电方法,其特征在于,所述移动终端拉高所述移动终端的VBUS端口,以关断所述VBUS供电电路,包括:若所述移动终端的预设标志位未设置,则所述移动终端设置所述预设标志位,并拉高所述移动终端的VBUS端口,以关断所述VBUS供电电路;

其中,在所述拉高所述移动终端的VBUS端口,以关断所述VBUS供电电路之后,所述方法还包括:若所述预设标志位已设置,则所述移动终端显示第一充电图标;其中,所述第一充电图标用于指示所述移动终端正在进行BUCK充电;

其中,所述拉低所述移动终端的VBUS端口,以触发所述第一供电重连,包括:若所述预设标志位已设置,所述移动终端拉低所述移动终端的VBUS端口,以触发所述第一供电重连。

5.根据权利要求4所述的充电方法,其特征在于,在所述移动终端拉低所述移动终端的VBUS端口,以触发所述第一供电重连之后,所述方法还包括:若所述预设标志位已设置,所述移动终端不发出音频充电提醒。

6.根据权利要求4或5所述的充电方法,其特征在于,所述在所述快充条件检测通过后,所述方法还包括:若所述预设标志位已设置,所述移动终端显示第二充电图标;其中,所述第二充电图标用于指示所述移动终端正在进行快速充电。

7.根据权利要求4‑6中任一项所述的充电方法,其特征在于,在所述移动终端设置所述预设标志位之后,在所述拉高所述移动终端的VBUS端口,以关断所述VBUS供电电路之前,所述方法还包括:所述移动终端为插拔次数+1;

在所述移动终端拉低所述移动终端的VBUS端口,以触发所述第一供电重连之后,所述方法还包括:所述移动终端为所述插拔次数+1;

其中,在所述由所述充电设备为所述移动终端快速充电之后,所述方法还包括:若所述插拔次数大于或等于预设重试次数,所述移动终端获取所述充电设备的信息,并向服务器上报所述充电设备的信息;其中,所述充电设备的信息包括所述充电设备的设备信息和所述插拔次数。

8.根据权利要求1所述的充电方法,其特征在于,所述移动终端关断所述移动终端的VBUS供电电路,包括:所述移动终端的内核驱动层获取充电关联信息,并将所述充电关联信息同步至内核驱动层的power_supply电池节点中;其中,所述充电关联信息包括充电插拔状态信息、当前充电类型及电池电量信息;所述充电插拔状态信息用于指示所述移动终端与所述充电设备是否插接到位,所述当前充电类型用于指示所述移动终端的充电类型是否为BUCK充电;

所述power_supply电池节点保存所述充电关联信息,得到第一电池节点信息;

所述移动终端的框架层的BatteryService模块获取所述第一电池节点信息,并基于所述第一电池节点信息生成第一电池状态更新广播;

所述移动终端的应用层的SystemUI模块接收所述第一电池状态更新广播,并根据所述第一电池状态更新广播中的内容,获取所述当前充电类型;

若所述当前充电类型为所述BUCK充电,则所述SystemUI模块向所述内核驱动层下发拉高GPIO动作指令;

所述内核驱动层接收所述拉高GPIO动作指令,拉高所述移动终端的VBUS端口,以关断所述VBUS供电电路。

9.根据权利要求8所述的充电方法,其特征在于,所述在关断所述VBUS供电电路后触发第一供电重连,包括:所述内核驱动层在关断所述VBUS供电电路后,向所述power_supply电池节点同步第一指示信息;其中,所述第一指示信息包括关断信息,所述关断信息用于指示所述VBUS供电电路已关断;

所述power_supply电池节点基于所述第一指示信息,更新所述第一电池节点信息得到第二电池节点信息;

所述BatteryService模块获取所述第二电池节点的信息,并基于所述第二电池节点的信息生成第二电池状态更新广播;

所述SystemUI模块接收所述第二电池状态更新广播,并根据所述第二电池状态更新广播中的内容,获取所述当前充电类型;

若所述当前充电类型为所述BUCK充电,则所述SystemUI模块向所述内核驱动层下发拉低GPIO动作指令;

所述内核驱动层接收所述拉低GPIO动作指令,拉低所述移动终端的VBUS端口,以重连所述VBUS供电电路。

10.根据权利要求9所述的充电方法,其特征在于,所述充电关联信息还包括标志位信息,所述第一电池节点信息还包括所述标志位信息,所述第一电池状态更新广播还包括所述标志位信息;所述标志位信息用于指示预设标志位是否设置;

在所述当前充电类型为所述BUCK充电,在所述SystemUI模块向所述内核驱动层下发拉高GPIO动作指令之前,还包括:所述内核驱动层获取所述标志位信息,若所述标志位信息指示所述预设标志位未设置,则所述内核驱动层设置所述预设标志位;

其中,所述第一指示信息还包括标志位更新信息,所述标志位更新信息用于指示所述预设标志位已设置;所述第二电池节点信息还包括所述标志位更新信息;所述第二电池状态更新广播还包括所述标志位更新信息;

所述应用层接收所述第二电池状态更新广播,基于所述第二电池状态更新广播确定所述预设标志位已设置;

所述应用层显示第一充电图标;其中,所述第一充电图标用于指示所述移动终端正在进行BUCK充电。

11.根据权利要求10所述的充电方法,其特征在于,在所述快充条件检测通过后,所述方法还包括:所述内核驱动层获取充电关联更新信息,并将所述充电关联更新信息同步至所述power_supply电池节点中;其中,所述充电关联更新信息包括充电插拔状态信息、当前充电类型及电池电量信息;

所述power_supply电池节点保存所述充电关联更新信息,更新所述第二电池节点信息得到第三电池节点信息;

所述BatteryService模块获取所述第三电池节点信息,并基于所述第三电池节点信息生成第三电池状态更新广播;

所述应用层接收所述第三电池状态更新广播,基于所述第三电池状态更新广播确定所述预设标志位已设置;

所述应用层显示第二充电图标;其中,所述第二充电图标用于指示所述移动终端正在进行快速充电。

12.根据权利要求1所述的充电方法,其特征在于,所述若重新进行的所述第一快充检测成功,所述移动终端对所述充电设备进行快充条件检测,包括:若重新进行的所述第一快充检测成功,所述移动终端则确定所述充电设备的充电协议类型是否为预设类型;

若所述充电设备的充电协议类型为所述预设类型,所述移动终端则确定所述充电设备是否满足预设快充条件;

若所述充电设备满足所述预设快充条件,所述移动终端则确定所述充电设备通过所述快充条件检测;

其中,所述预设快充条件包括预设电压条件、预设电流条件和预设阻抗条件中的至少一种。

13.根据权利要求7所述的充电方法,其特征在于,在所述由所述充电设备为所述移动终端快速充电之后,还包括:内核驱动层对所述预设标志位进行复位,对所述插拔次数清零。

14.根据权利要求13所述的充电方法,其特征在于,所述方法还包括:在所述移动终端的充电口检测到所述充电设备插入时,所述内核驱动层确定预设复位时间;

若到达所述预设复位时间,所述内核驱动层对所述预设标志位进行复位,对所述插拔次数清零。

15.一种移动终端,其特征在于,所述移动终端包括:充电接口、电池、存储器和一个或多个处理器;所述充电接口、所述电池、所述存储器与所述处理器耦合;其中,所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得所述移动终端执行如权利要求1‑14任一项所述的方法。

16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在移动终端中运行时,使得所述移动终端执行如权利要求1至14中任一项所述的方法。

17.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1‑14中任一项所述的方法。

说明书 :

一种充电方法、移动终端及存储介质

技术领域

[0001] 本申请涉及终端技术领域,尤其涉及一种充电方法、移动终端及存储介质。

背景技术

[0002] 当前,用户在使用标配充电器对手机等电子设备进行快充时,可能会遇到以下问题:快充被误识别为Buck充电(普通usb充电),充电速度很慢。
[0003] 针对以上问题,现有的解决方法是用户通过重新插拔充电器,在充电器没有损坏的情况下,可以大概率正常识别为快充,然后对电子设备进行快充。但是该办法需要人为对充电器进行插拔操作,增加了充电步骤,影响用户的充电体验。

发明内容

[0004] 本申请实施例提供一种充电方法、移动终端及存储介质,用于解决对移动终端进行快充时,被误识别为Buck充电(普通usb充电),充电速度过慢的问题,可以进行用户无感的自识别和二次重试,降低了充电类型的误识别率,提高了移动终端的充电速度,进而提升了用户的充电体验。
[0005] 为达到上述目的,本申请的实施例采用如下技术方案:
[0006] 第一方面,提供了一种充电方法,该方法可以应用于移动终端。在移动终端的充电口检测到充电设备插入时,移动终端首先对充电设备进行第一快充检测,用于确定充电设备的充电端口为DCP端口,或者确定移动终端与充电设备的快速充电协议握手检测成功;若第一快充检测失败,移动终端关断移动终端的VBUS供电电路,并在关断VBUS供电电路后触发重新连接VBUS供电电路(即触发第一供电重连);移动终端在完成上述第一供电重连后,对充电设备重新进行第一快充检测;若重新进行的第一快充检测成功,移动终端对充电设备进行快充条件检测,并在快充条件检测通过后,由充电设备为移动终端快速充电。
[0007] 通过采用该技术方案,在对充电器的第一快充检测失败时,即充电设备的充电端口为非DCP端口,或者充电设备的充电端口为DCP端口,但移动终端与充电设备的快速充电协议握手检测失败时,通过内部触发关断与重连VBUS供电电路,模拟充电设备的拔掉与插入,不需要用户人为操作,降低了充电类型的误识别率,提高了移动终端的充电速度。
[0008] 其中,第一快充检测用于确定充电设备的充电端口为DCP端口。或者,第一快充检测用于确定移动终端与充电设备的快速充电协议握手检测成功。
[0009] 在一种可能的实现方式中,第一快充检测用于确定充电设备的充电端口为DCP端口。第一方面介绍了第一快充检测失败(即充电设备的充电端口不是DCP端口)的情况下,移动终端如何模拟充电设备的拔掉与插入操作以进行快速充电的过程。而在第一快充检测成功(即充电设备的充电端口是DCP端口)的情况下,移动终端也不一定可以进行快速充电。具体的,在确定充电设备的充电端口是DCP端口后,移动终端还需要确定移动终端与充电设备的快速充电协议握手检测是否成功。如果移动终端与充电设备的快速充电协议握手检测成功,移动终端才可以进行后续快速充电的检测步骤。当然,如果移动终端与充电设备的快速充电协议握手检测失败,移动终端则不能进行快速充电。在这种情况下,移动终端可以模拟充电设备的拔掉与插入操作以进行快速充电。
[0010] 具体的,在该实现方式中,该方法还可以包括:若第一快充检测成功,即在确定充电设备的充电端口为DCP端口后,移动终端与充电设备进行第二快充检测,用于确定移动终端与充电设备的快速充电协议握手检测成功;若第二快充检测失败,移动终端关断移动终端的VBUS供电电路,并在关断VBUS供电电路后触发重新连接VBUS供电电路,作为第二供电重连;移动终端在完成第二供电重连后,对充电设备重新进行第二快充检测;若重新进行的第二快充检测成功,移动终端对充电设备进行快充条件检测,并在快充条件检测通过后,由充电设备为移动终端快速充电。可以理解的是,在对充电设备重新进行第二快充检测之前,同样需要重新进行第一快充检测,确定充电设备的充电端口为DCP端口。若重新进行第一快充检测失败,即充电设备的充电端口为非DCP端口,则也无法进行来到重新进行第二快充检测这一步骤;此时,又需要重新进行第一快充检测。
[0011] 在一种可能的实现方式中,上述移动终端关断移动终端的VBUS供电电路,可以包括:移动终端检测移动终端的当前充电类型是否为BUCK充电;若当前充电类型为BUCK充电,则移动终端拉高移动终端的VBUS端口,以关断VBUS供电电路。该实现方式中,在移动终端确定当前充电类型为BUCK充电时,通过拉高移动终端的VBUS端口关断VBUS供电电路,也即模拟拔掉充电设备,用户不需要人为操作。
[0012] 在一种可能的实现方式中,在关断VBUS供电电路后触发第一供电重连,包括:移动终端在关断VBUS供电电路后,拉低移动终端的VBUS端口,以触发第一供电重连,即重新连接VBUS供电电路。在关断VBUS供电电路后触发第二供电重连,包括:移动终端在关断VBUS供电电路后,拉低移动终端的VBUS端口,以触发第二供电重连,即重新连接VBUS供电电路。在移动终端通过拉高移动终端的VBUS端口关断VBUS供电电路,即模拟拔掉充电设备之后,再通过拉低移动终端的VBUS端口以触发重新连接VBUS供电电路,即模拟重新插入充电设备,用户不需要人为操作,减少充电步骤。
[0013] 在一种可能的实现方式中,移动终端拉高移动终端的VBUS端口,以关断VBUS供电电路,包括:判断移动终端是否设置有预设标志位,若移动终端的预设标志位未设置,则移动终端设置预设标志位,并拉高移动终端的VBUS端口,以关断VBUS供电电路;在关断VBUS供电电路后,若预设标志位已设置,则移动终端显示第一充电图标,用于指示移动终端正在进行BUCK充电;其中,若预设标志位已设置,移动终端拉低移动终端的VBUS端口,以触发第一供电重连。通过设置预设标志位,确定移动终端是否需要改变充电图标,可以使充电图标在充电过程中连续显示,提升充电体验。
[0014] 在一种可能的实现方式中,在移动终端拉低移动终端的VBUS端口,以触发第一供电重连之后,该方法还包括:若预设标志位已设置,移动终端不发出音频充电提醒。不会在充电过程中突然发出声音,使得整个重新检测的过程是用户无感的,可以提升用户的充电体验。
[0015] 在一种可能的实现方式中,在快充条件检测通过后,该方法还包括:若预设标志位已设置,移动终端显示第二充电图标,用于指示移动终端正在进行快速充电。通过设置预设标志位,可以确定移动终端需要显示的充电图标,以使正确显示充电类型对应的充电图标。
[0016] 在一种可能的实现方式中,在移动终端设置预设标志位之后,在拉高移动终端的VBUS端口,以关断VBUS供电电路之前,该方法还包括:移动终端为插拔次数+1;在移动终端拉低移动终端的VBUS端口,以触发第一供电重连之后,该方法还包括:移动终端为插拔次数+1;其中,在由充电设备为移动终端快速充电之后,该方法还包括:若插拔次数大于或等于预设重试次数,移动终端获取充电设备的信息,并向服务器上报充电设备的信息;其中,充电设备的信息包括充电设备的设备信息和插拔次数。可以通过记录充电过程中的重试次数(插拔次数),根据重试次数更加准确的确定移动终端是否是通过重新触发快充检测进入快速充电的,在进入快充之后,可以直接根据重试次数值确定是否进行大数据上报,提高数据上报效率。
[0017] 在一种可能的实现方式中,上述移动终端关断移动终端的VBUS供电电路,包括:移动终端的内核驱动层获取充电插拔状态信息、当前充电类型及电池电量信息,作为充电关联信息同步至内核驱动层的power_supply电池节点中;其中,充电插拔状态信息用于指示移动终端与充电设备是否插接到位,当前充电类型用于指示移动终端的充电类型是否为BUCK充电;power_supply电池节点保存充电关联信息,得到第一电池节点信息;移动终端的框架层的BatteryService模块获取第一电池节点信息,并基于第一电池节点信息生成第一电池状态更新广播;移动终端的应用层的SystemUI模块接收第一电池状态更新广播,并根据第一电池状态更新广播中的内容,获取当前充电类型;若当前充电类型为BUCK充电,述SystemUI模块向内核驱动层下发拉高GPIO动作指令;内核驱动层接收拉高GPIO动作指令,拉高移动终端的VBUS端口,以关断VBUS供电电路。
[0018] 在一种可能的实现方式中,在关断VBUS供电电路后触发第一供电重连,包括:内核驱动层在关断VBUS供电电路后,向power_supply电池节点同步第一指示信息;其中,第一指示信息包括关断信息,关断信息用于指示VBUS供电电路已关断;power_supply电池节点基于第一指示信息,更新第一电池节点信息得到第二电池节点信息;BatteryService模块获取第二电池节点的信息,并基于第二电池节点的信息生成第二电池状态更新广播;SystemUI模块接收第二电池状态更新广播,并根据第二电池状态更新广播中的内容,获取当前充电类型;若当前充电类型为BUCK充电,则SystemUI模块向内核驱动层下发拉低GPIO动作指令;内核驱动层接收拉低GPIO动作指令,拉低移动终端的VBUS端口,以重连VBUS供电电路。在移动终端内部设置了明确的上下层数据识别与交互,在用户无感的情况下,通过内核驱动层关断和重连VBUS供电电路,来触发充电器的“重新拔插”,然后重新进行BC1.2\ACCP等充电类型识别过程,降低充电设备的误识别概率,提升充电速率和充电体验。
[0019] 在一种可能的实现方式中,充电关联信息还包括标志位信息,第一电池节点信息还包括标志位信息,第一电池状态更新广播还包括标志位信息;标志位信息用于指示预设标志位是否设置;在当前充电类型为BUCK充电,在SystemUI模块向内核驱动层下发拉高GPIO动作指令之前,还包括:内核驱动层获取标志位信息,通过标志位信息确定预设标志位是否设置,若预设标志位没有设置,则内核驱动层设置预设标志位;其中,第一指示信息还包括标志位更新信息,标志位更新信息用于指示预设标志位已设置;第二电池节点信息还包括标志位更新信息;第二电池状态更新广播还包括标志位更新信息;应用层接收第二电池状态更新广播,基于第二电池状态更新广播确定预设标志位已设置;应用层显示第一充电图标;其中,第一充电图标用于指示移动终端正在进行BUCK充电。可以通过判断内核驱动层是否设置预设标志位,确定上层界面的充电图标是否需要更改,使充电图标在充电过程中连续显示,提升充电体验。
[0020] 在一种可能的实现方式中,在快充条件检测通过后,该方法还包括:内核驱动层获取充电关联更新信息,并将充电关联更新信息同步至power_supply电池节点中;其中,充电关联更新信息包括充电插拔状态信息、当前充电类型及电池电量信息;power_supply电池节点保存充电关联更新信息,更新第二电池节点信息得到第三电池节点信息;BatteryService模块获取第三电池节点信息,并基于第三电池节点信息生成第三电池状态更新广播;应用层接收第三电池状态更新广播,基于第三电池状态更新广播确定预设标志位已设置;应用层显示第二充电图标;其中,第二充电图标用于指示移动终端正在进行快速充电。可以通过判断内核驱动层设置有预设标志位,以使在移动终端进入快速充电时正确显示快速充电图标。
[0021] 在一种可能的实现方式中,若重新进行的第一快充检测成功,移动终端对充电设备进行快充条件检测,包括:若重新进行的第一快充检测成功,移动终端则确定充电设备的充电协议类型是否为预设类型,即是否为SCP类型;若充电设备的充电协议类型为预设类型即SCP类型,移动终端则确定充电设备是否满足预设快充条件,其中,预设快充条件包括预设电压条件、预设电流条件和预设阻抗条件中的至少一种;若充电设备满足预设快充条件,移动终端则确定充电设备通过快充条件检测。
[0022] 其中,若重新进行的第二快充检测成功,同样进行上述的快充条件检测,快充条件检测具体过程同上,在此不作赘述。
[0023] 在一种可能的实现方式中,在由充电设备为移动终端快速充电之后,还包括:内核驱动层对预设标志位进行复位,对插拔次数清零。在移动终端下一次插入充电设备之后,可以重新设置预设标志与插拔次数,不会造成后续的流程错误。
[0024] 在一种可能的实现方式中,该方法还可以包括:在移动终端的充电口检测到充电设备插入时,内核驱动层确定预设复位时间;若到达预设复位时间,内核驱动层对预设标志位进行复位,对插拔次数清零。其中,可以通过在插入充电设备之后,启动一定时器,通过设置预设复位时间,可以避免充电设备反复重试不成功进入死循环,避免影响整体功耗。
[0025] 第二方面,本申请提供一种移动终端,该移动终端包括:充电接口、电池、存储器和一个或多个处理器;充电接口、电池、存储器与处理器耦合;其中,存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被处理器执行时,使得移动终端执行上述第一方面中任一项所述的充电方法。
[0026] 第三方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的充电方法。
[0027] 第四方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的充电方法。
[0028] 可以理解地,上述提供的第二方面所述的移动终端,以及第三方面所述的计算机可读存储介质及第四方面所述的计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。

附图说明

[0029] 图1为本申请实施例提供的一种充电设备与移动终端的示意图;
[0030] 图2为本申请实施例提供的一种充电器识别流程图;
[0031] 图3为本申请实施例提供的一种手机的硬件结构示意图;
[0032] 图4为本申请实施例提供的一种手机的软件结构示意图;
[0033] 图5为本申请实施例提供的一种充电方法实现流程图;
[0034] 图6为本申请实施例提供的一种充电图标的显示示意图;
[0035] 图7为本申请实施例提供的另一种充电方法实现流程图;
[0036] 图8是本申请实施例提供的一种充电方法的软件实现时序图;
[0037] 图9为本申请实施例提供的一种芯片系统的结构示意图。

具体实施方式

[0038] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。以下术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。
[0039] 本申请实施例提供一种充电方法,该方法可以应用于移动终端,本申请实施例的移动终端可以为手机、平板电脑、笔记本电脑等设备。
[0040] 例如,以移动终端是图1所示的手机100为例;其中,本申请实施例的充电设备是指手机的标配充电器200,标配充电器200可以对手机100进行快速充电。在移动终端的充电口110检测到充电设备插入具体是指在手机100的充电口110检测到标配充电器200插入。需要说明的是,目前大多数电子设备(如手机、平板电脑或者其他电子产品)的充电口为Type‑C接口。Type‑C接口是一种USB接口,也称为USB Type‑C接口。Type‑C接口支持USB标准的充电、数据传输、显示输出等功能。
[0041] 当手机100检测到充电口110插入标配充电器200时,手机100会对充电口110也就是USB口先进行BC1.2探测。其中,BC1.2探测的主要目的是判定USB端口类型,具体是通过检测手机从USB口获取的电压电流等信息,根据获取的电压电流信息判断USB口的端口类型。
[0042] 其中,BC1.2(Battery Charging v1.2)是USB‑IF下属的BC(Battery Charging)小组制定的协议,主要用于规范电池充电的需求,该协议最早基于USB2.0协议来实现。USB2.0协议规定外设从USB充电器抽取电流的最大值为500mA,500mA的电流限制无法满足日益增长的快充需求。因此,BC1.2引入了充电端口识别机制,主要包括以下几个USB端口类型:专用充电接口(Dedicated Charging Port,DCP):DCP不支持数据协议,支持快充,可以提供大电流,DCP主要用于墙充等专用充电器;标准下行接口(Standard Downstream Port,SDP):SDP端口支持USB协议,最大电流500mA,可以认为SDP就是普通的USB接口;充电下行接口(Charging Downstream Port,CDP):CDP既支持数据协议也支持快充。
[0043] 请参阅图2,图2为本申请实施例提供的一种充电器识别流程图。如图2所示,在充电器插入后,对USB口先进行BC1.2端口检测,根据BC1.2检测结果,确定USB口的端口类型。若USB口是DCP类型,则会继续进行充电器握手检测,主要是accp握手检测,目的是确定充电器是否支持具体的充电协议。其中,握手检测具体是指:手机根据预设的快速充电协议握手顺序与充电器进行快速充电协议握手。如果accp握手检测成功,则继续进行后面的充电协议类型检测,充电协议类型检测具体包括:手机通过读取充电器类型寄存器,判断充电器是否为SCP类型。若不是SCP类型,则由充电器为手机进行其他非快速充电,若是SCP类型,则在手机界面显示超级快充图标,继续进行快充条件等检测。若检测到充电器满足快充条件时,才可以进入快充(也称直充),并调节充电器的输出电压、电流等;若检测到充电器不满足快充条件,则由充电器为手机进行其他非快速充电。
[0044] 在上述充电器识别过程中,可能出现两类问题:一是在对USB口进行BC1.2端口检测时,若根据BC1.2探测结果确定USB口为SDP类型,则不能再进行后续的检测动作,只能走Buck充电(普通的USB充电,充电能力在5V500mA),导致手机充电功率很低、充电速度很慢。二是在USB口识别为DCP类型后,对充电器进行accp握手检测时,如果accp握手失败,则无法进入后续检测动作,也无法进入快充,最终只能走5V2A充电或Buck充电(根据充电器是否支持pd协议及能力协商),充电能力不高于5V2A,充电速度很慢。
[0045] 综上所述,在手机插入标配充电器之后,并不是都能成功进入快速充电,有很大概率出现BC1.2检测结果为SDP类型(非DCP类型)或者BC1.2检测结果为DCP类型,但accp握手检测失败的情况,导致手机最终进行buck充电。因此,如何在手机插入标配充电器之后正确进入快速充电是亟待解决的问题。
[0046] 在现有的一些方案中,可以采用如下方式解决上述问题:通过用户重新插拔充电器,重新触发BC1.2检测/accp握手检测等识别流程,在充电器没有损坏的情况下,可以大概率正确识别USB口为DCP类型且accp握手检测成功,然后再进入快速充电。但是采用上述方法,需要人为对充电器进行插拔操作,增加了充电步骤,影响用户的充电体验。
[0047] 本申请实施例提供一种充电方法、移动终端及存储介质,不需要人为进行充电器插拔操作,可以在充电器被误识别为buck充电时进行用户无感的自识别和重试操作,以使手机在插入标配充电器之后正确进入快速充电。
[0048] 在本申请实施例提供的充电方法中,当在移动终端的充电口检测到充电器插入时,移动终端对充电器进行快充检测,确定充电器的充电端口是否为DCP端口,或者确定移动终端与充电器的快速充电协议握手检测是否成功,若充电器的充电端口不为DCP端口,或者移动终端与充电器的快速充电协议握手检测不成功,则移动终端关断VBUS供电电路,并在关断VBUS供电电路后重新连接VBUS供电电路。然后,移动终端重新对充电器进行快充检测,在重新进行的快充检测成功以及快充条件检测通过后,充电器就可以位移动终端进行快速充电。在上述的充电方法中,在移动终端插入充电器且快充检测失败后,通过移动终端关断和重连VBUS供电电路,来模拟用户对充电器的拔掉与重新插入操作后,重新进行快充检测,进行了用户无感的重试操作与自识别,以使充电器正确进入快充。其中,充电口上的VBUS引脚是供电引脚,关断VBUS供电电路也即关断电源供电,相当于拔掉了充电器,重连VBUS供电电路也即重新接入电源供电,相当于重新插入了充电器。
[0049] 示例性的,本申请实施例中的移动终端具体可以为手机、平板电脑、笔记本电脑、超级移动个人计算机(Ultra‑mobile Personal Computer,UMPC)、手持计算机、可穿戴电子设备(例如:智能手表,智能手环,智能眼镜)等涉及BC1.2探测、快充的大多android终端设备,本申请实施例对此不做任何限制。
[0050] 下面将结合附图对本申请实施例的实施方式进行详细描述。以上述移动终端是手机为例,介绍移动终端(如手机300)的硬件结构。其中,移动终端的硬件结构可以参考本申请实施例对手机300的详细描述,本申请实施例这里不予赘述。请参阅图3,图3示出了手机的结构示意图,如图3所示,手机300可以包括:处理器310,外部存储器接口320,内部存储器321,USB接口330,充电管理模块340,电源管理模块341,电池342,天线1,天线2,移动通信模块350,无线通信模块360,音频模块370,扬声器370A,受话器370B,麦克风,耳机接口,传感器模块380,按键390,马达391,指示器392,摄像头393,显示屏394,以及用户标识模块(subscriber identification module,SIM)卡接口395等。
[0051] 其中,上述传感器模块380可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器和骨传导传感器等传感器。
[0052] 可以理解的是,本实施例示意的结构并不构成对手机300的具体限定。在另一些实施例中,手机300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0053] 处理器310可以包括一个或多个处理单元,例如:处理器310可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural‑network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
[0054] 控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0055] 处理器310中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器310中的存储器为高速缓冲存储器。该存储器可以保存处理器310刚用过或循环使用的指令或数据。如果处理器310需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器310的等待时间,因而提高了系统的效率。
[0056] 在一些实施例中,处理器310可以包括一个或多个接口。接口可以包括集成电路(inter‑integrated circuit,I2C)接口,集成电路内置音频(inter‑integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general‑purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
[0057] 可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机300的结构限定。在另一些实施例中,手机300也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
[0058] 充电管理模块340用于从充电器接收充电输入。其中,充电器在本申请实施例中是有线充电器,充电管理模块340可以通过USB接口330(即上述的充电接口)接收有线充电器的充电输入。充电管理模块340为电池342充电的同时,还可以通过电源管理模块341为电子设备供电。
[0059] 电源管理模块341用于连接电池342,充电管理模块340与处理器310。电源管理模块341接收电池342和/或充电管理模块340的输入,为处理器310,内部存储器321,外部存储器,显示屏394,摄像头393,和无线通信模块360等供电。电源管理模块341还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块341也可以设置于处理器310中。在另一些实施例中,电源管理模块341和充电管理模块340也可以设置于同一个器件中。
[0060] 手机300的无线通信功能可以通过天线1,天线2,移动通信模块350,无线通信模块360,调制解调处理器以及基带处理器等实现。
[0061] 天线1和天线2用于发射和接收电磁波信号。手机300中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0062] 移动通信模块350可以提供应用在手机300上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块350可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块350可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
[0063] 无线通信模块360可以提供应用在手机300上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi‑Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
[0064] 无线通信模块360可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块360经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器310。无线通信模块360还可以从处理器310接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
[0065] 在一些实施例中,手机300的天线1和移动通信模块350耦合,天线2和无线通信模块360耦合,使得电子设备300可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time‑division code division multiple access,TD‑SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi‑zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
[0066] 手机300通过GPU,显示屏394,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏394和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器310可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
[0067] 显示屏394用于显示图像,视频等。该显示屏394包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light‑emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active‑matrix organic light emitting diode,AMOLED),柔性发光二极管(flex light‑emitting diode,FLED),Miniled,MicroLed,Micro‑oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。
[0068] 手机100可以通过ISP,摄像头393,视频编解码器,GPU,显示屏394以及应用处理器等实现拍摄功能。ISP用于处理摄像头393反馈的数据。摄像头393用于捕获静态图像或视频。在一些实施例中,手机300可以包括1个或N个摄像头393,N为大于1的正整数。数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当手机300在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。视频编解码器用于对数字视频压缩或解压缩。NPU为神经网络(neural‑network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
[0069] 外部存储器接口320可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机300的存储能力。外部存储卡通过外部存储器接口320与处理器310通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
[0070] 内部存储器321可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器310通过运行存储在内部存储器321的指令,从而执行手机300的各种功能应用以及数据处理。例如,在本申请实施例中,处理器310可以通过执行存储在内部存储器321中的指令,内部存储器321可以包括存储程序区和存储数据区。
[0071] 其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备300使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器321可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
[0072] 手机300可以通过音频模块370,扬声器370A,受话器370B,麦克风,耳机接口,以及应用处理器等实现音频功能。例如音乐播放,录音等。
[0073] 音频模块370用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块370还可以用于对音频信号编码和解码。在一些实施例中,音频模块370可以设置于处理器310中,或将音频模块370的部分功能模块设置于处理器310中。扬声器370A,也称“喇叭”,用于将音频电信号转换为声音信号。受话器370B,也称“听筒”,用于将音频电信号转换成声音信号。麦克风,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
[0074] 耳机接口用于连接有线耳机。耳机接口可以是USB接口330,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
[0075] 按键390包括开机键,音量键等。按键390可以是机械按键。也可以是触摸式按键。马达391可以产生振动提示。马达391可以用于来电振动提示,也可以用于触摸振动反馈。指示器392可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口395用于连接SIM卡。SIM卡可以通过插入SIM卡接口395,或从SIM卡接口395拔出,实现和手机300的接触和分离。手机300可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口395可以支持Nano SIM卡,Micro SIM卡,SIM卡等。
[0076] 以下实施例中的方法均可以在具有上述硬件结构的手机300中实现。
[0077] 其中,手机300的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明手机300的软件结构。
[0078] 图4是本申请实施例提供的手机300的软件结构框图。分层架构可将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层(简称应用层,Application),应用程序框架层(简称框架层,Framework),本地层(native)以及内核驱动层(Kernel)。例如,如图4所示,手机300可以包括应用层、框架层、本地层和内核驱动层。
[0079] 应用程序层可以包括一系列应用程序包。例如,图4所示的应用层可以包括系统(System)UI的应用和普通应用。普通应用可以为相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息以及桌面启动(Launcher)等应用程序。System UI的应用可以包括手机300的导航栏和状态栏等。其中手机的状态栏包括手机的充电图标,用于指示手机的充电状态;电池电量百分比;低电提醒等。System UI主要用于监听系统广播并对UI作出相应更新,比如充电图标的更新显示、电池电量的更新显示等。
[0080] 应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
[0081] 例如,应用程序框架层可以包括基础框架、电池服务(BatteryService)和电池统计服务(BatteryStatsService)。其中,基础框架包括窗口管理器,内容提供器,视图系统,资源管理器,通知管理器等。例如,上述窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。上述内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。上述视图系统可用于构建应用程序的显示界面。每个显示界面可以由一个或多个控件组成。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、微件(Widget)等界面元素。上述资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。上述通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
[0082] 其中,BatteryService提供接口用于获取电池信息,充电状态等,比如,获取充电插拔状态信息、当前充电类型及电池电量信息,充电插拔状态信息指示手机与充电器是否插接到位,当前充电类型指示手机的充电类型。BatteryService的主要作用是监听电池信息变化消息,并将该消息以系统广播的形式转发至Android系统中各处。BatteryStatsService主要用于用电统计。
[0083] 本地层包括healthd进程,healthd主要是监听来自内核驱动层的电池事件,并向上传递电池数据给framework层的BatteryService。
[0084] 内核驱动层包括电池相关的驱动和与充放电管理相关的驱动,负责与硬件交互,注册Power supply属性,并生成uevent事件上报Native层。具体的,内核驱动层在硬件状态发生变化时,会触发相关的中断,调用相应的中断函数,并更新修改相应的Power supply节点值。内核驱动层还包括充电控制逻辑模块,用于在充电器插入,通过充电控制逻辑模块进行快充检测等逻辑流程,并将得到的相关状态信息和值更新到内核层的各个属性节点中;以及用于在接收到应用程序层返回的相关指令时(拉高\拉低VBUS端口指令),重新进行快充检测等逻辑流程。
[0085] 在本申请实施例中,以手机举例,结合图4所示,介绍手机中各个软件层实现本申请实施例的方法的工作原理。在手机检测到移动终端插入充电器之后,经过充电控制逻辑模块的direct_charger_check或icm_dc_state进行充电插拔状态检测、BC1.2检测、accp握手检测、充电类型检测等逻辑流程,然后将检测得到的相关状态信息与值更新到内核层的Power supply电池节点中,并生成uevent事件上报给native层。native层接收内核层的uevent事件上报,通过healthd进程进行处理,即读取内核层的Power supply电池节点的信息,再将电池节点的信息上传给framework层的BatteryService去处理。BatteryService接收到native层上报的电池节点更新的信息,并基于电池节点更新的信息生成电池状态更新广播。应用层的SystemUI通过监听BatteryService发出的电池状态更新广播,来获取充电插拔状态信息、当前充电类型、电池电量信息等,并用于上层界面的图标显示更新等事件。SystemUI还根据电池状态更新广播中的当前充电类型,向内核驱动层下发拉高/拉低GPIO动作指令,内核驱动层的充电控制逻辑模块接收到SystemUI下发的指令后,拉高/拉低VBUS端口,然后又重新进行上述的BC1.2检测、accp握手检测等流程,在BC1.2检测\accp握手检测识别正常后进入快充,进而降低充电类型误识别并提升充电体验,实现了用户无感知的二次重试。
[0086] 本申请实施例提供一种充电方法,请参阅图5,图5是本申请实施例提供的一种充电方法实现流程图。如图5所示,该充电方法可以包括S501‑S507。
[0087] S501、在移动终端的充电端口检测到充电设备插入时,移动终端对充电设备进行第一快充检测。该第一快充检测用于确定充电设备的充电端口为DCP端口。
[0088] 本申请实施例中,若第一快充检测成功,则表示充电设备的充电端口是DCP端口,若第一快充检测失败,则表示充电设备的充电端口不是DCP端口。其中,确定充电设备的充电端口是否为DCP端口也即对充电端口进行BC1.2检测。
[0089] 在S501之后,若充电设备的充电端口为DCP端口,即第一快充检测成功,则移动终端可以执行S504。若充电设备的充电端口不是DCP端口,即第一快充检测失败,则移动终端可以执行S502。
[0090] S502、移动终端关断移动终端的VBUS供电电路,并在关断VBUS供电电路后触发第一供电重连。其中,第一供电重连为重新连接VBUS供电电路。
[0091] 应理解,在常规技术中,如果充电设备的充电端口不是DCP端口,即第一快充检测失败,则表示移动终端不能快速充电,但是可以进行BUCK充电。因此,在本申请实施例中,移动终端在执行S502之前,可以先检测移动终端的当前充电类型是否为BUCK充电。如果移动终端的当前充电类型是BUCK充电,移动终端则可以执行S502。
[0092] 若第一快充检测失败,则移动终端关断VBUS供电电路,并在关断VBUS供电电路后触发重新连接VBUS供电电路,其中,关断VBUS供电电路即表示模拟用户拔掉充电设备,重新连接VBUS供电电路即表示模拟用户重新插入充电设备。本申请实施例可以将上述的重新连接VBUS供电电路作为第一供电重连。
[0093] 具体的,移动终端可以通过拉高移动终端的VBUS端口的方式,关断VBUS供电电路。相应的,移动终端在关断VBUS供电电路后,可以通过拉低移动终端的VBUS端口的方式,触发第一供电重连(即重新连接VBUS供电电路)。其中,拉高VBUS端口即表示拉高VBUS端口的电平,拉低移动终端的VBUS端口即表示拉低VBUS端口的电平。
[0094] 其中,VBUS供电电路的一次“断开‑重连”相当于用户插拔一次充电器。由上述实施例的描述可知:通过用户重新插拔充电器,可以重新触发BC1.2检测/accp握手检测等识别流程。在充电器没有损坏的情况下,可以大概率正确识别USB口为DCP类型且accp握手检测成功,然后再进入快速充电。本申请实施例中,移动终端可以在BC1.2检测失败(即第一快充检测失败)的情况下,以用户无感知的方式模拟用户插拔充电器,以重新触发第一快充检测(即执行S503)。这样,可以使移动终端重新识别充电端口为DCP端口,以便于移动终端可以进行快速充电。
[0095] 可以理解的是,第一快充检测是用于确定充电设备的充电端口为DCP端口。第一方面介绍了第一快充检测失败(即充电设备的充电端口不是DCP端口)的情况下,移动终端如何模拟充电设备的拔掉与插入操作以进行快速充电的过程。而在第一快充检测成功(即充电设备的充电端口是DCP端口)的情况下,移动终端也不一定可以进行快速充电。具体的,在确定充电设备的充电端口是DCP端口后,移动终端还需要确定移动终端与充电设备的快速充电协议握手检测是否成功。如果移动终端与充电设备的快速充电协议握手检测成功,移动终端才可以进行快速充电。当然,如果移动终端与充电设备的快速充电协议握手检测失败,移动终端则不能进行快速充电。在这种情况下,移动终端可以模拟充电设备的拔掉与插入操作以进行快速充电。
[0096] S503、移动终端在完成第一供电重连后,对充电设备重新进行第一快充检测。该第一快充检测用于确定充电设备的充电端口为DCP端口。
[0097] 具体的,移动终端在完成第一供电重连即关断又重新连接VBUS供电电路完成后,对充电设备再次进行第一快充检测,也即移动终端再次进行BC1.2检测,确定充电设备的充电端口类型。
[0098] 在S503之后,若充电设备的充电端口为DCP端口,即第一快充检测成功,则移动终端可以执行S504。若充电设备的充电端口不是DCP端口,即第一快充检测失败,则移动终端可以继续执行S502。
[0099] 在一些实施例中,移动终端可以记录第一快充检测失败的次数,在第n次第一快充检测失败后,移动终端可以向用户发出提示信息。该提示信息用于指示快速充电失败,还可以指示用户手动插拔充电接口,以尝试进行快速充电。n≥2,n为整数。
[0100] S504、移动终端与充电设备进行第二快充检测。其中,第二快充检测用于确定移动终端与充电设备的快速充电协议握手检测成功。
[0101] 具体的,若通过第一快充检测确定充电设备的充电端口是DCP端口后,继续对充电设备进行accp握手检测,即移动终端与充电设备进行快速充电协议握手检测,通过accp握手检测确定充电设备是否支持充电协议。本申请将accp握手检测称为第二快充检测,第二快充检测用于确定移动终端与充电设备的快速充电协议握手检测成功,即,第二快充检测成功,表示移动终端与充电设备的快速充电协议握手检测成功,第二快充检测失败,表示移动终端与充电设备的快速充电协议握手检测失败。
[0102] S504之后,若移动终端与充电设备的快速充电协议握手检测失败,即第二快充检测失败,则移动终端执行S505。若移动终端与充电设备的快速充电协议握手检测成功,即第二快充检测成功,则移动终端执行S507。
[0103] S505、移动终端关断移动终端的VBUS供电电路,并在关断VBUS供电电路后触发第二供电重连。其中,第二供电重连为重新连接所述VBUS供电电路。
[0104] 本申请实施例中,若第二快充检测失败,则移动终端关断VBUS供电电路,并在关断VBUS供电电路后触发重新连接VBUS供电电路。本申请实施例可以将上述的在第二快充检测失败关断VBUS供电电路后,重新连接VBUS供电电路作为第二供电重连。具体的,移动终端在第二快充检测失败时,通过拉高VBUS端口关断VBUS供电电路之后,再通过拉低移动终端的VBUS端口,也即拉低VBUS端口的电平,以触发第二供电重连。
[0105] 需要说明的是,S505中所述的第二供电重连与S502中所述的第一供电重连,都是在关断移动终端的VBUS供电电路后,重新连接VBUS供电电路。本申请实施例中的第一供电重连和第二供电重连只是为了区分不同次重新连接VBUS供电电路。
[0106] S506、移动终端在完成第二供电重连后,对充电设备重新进行第二快充检测。其中,第二快充检测用于确定移动终端与充电设备的快速充电协议握手检测成功。
[0107] 本申请实施例中,在移动终端重新连接VBUS供电电路完成后即完成第二供电重连后,对充电设备再次进行第二快充检测,也即移动终端再次进行accp握手检测,确定充电设备是否支持充电协议。可以理解的是,移动终端同样需要先重新进行第一快充检测,即确定充电设备的充电端口是否为DCP端口;若移动终端确定充电设备的充电端口是DCP端口,即重新进行的第一快充检测成功,然后再继续进行第二快充检测,确定充电设备是否支持充电协议。若上述重新进行的第一快充检测失败,则移动终端又需要再次重新进行第一快充检测,是不可以直接进入到第二快充检测的。
[0108] 在S506之后,若移动终端与充电设备的快速充电协议握手检测成功,即第二快充检测成功,则移动终端执行S507。若移动终端与充电设备的快速充电协议握手检测失败,即第二快充检测失败,则移动终端执行S505。
[0109] S507、移动终端对充电设备进行快充条件检测,并在快充条件检测通过后,由充电设备为移动终端快速充电。
[0110] 本申请实施例中,在第二快充检测成功后,需要继续进行充电设备的快充条件的检测,只有在快充条件检测也通过后,移动终端才可以成功进入快速充电。
[0111] 具体的,在第二快充检测成功之后,移动终端确定充电设备的充电协议类型是否为预设类型,若是,移动终端则继续确定充电设备是否满足预设快充条件。其中,预设类型是超级快充(SuperCharge,SCP)类型,即移动终端确定充电设备的充电协议类型是否是SCP类型,若充电设备是SCP类型,则继续确定充电设备是否满足预设快充条件;若不是SCP类型,则移动终端进入其他非快充。其中,移动终端通过读取充电设备类型寄存器来确定充电设备的充电协议类型。其中,预设快充条件包括预设电压条件、预设电流条件和预设阻抗条件中的至少一种。若充电设备满足预设快充条件,则移动终端确定充电设备通过快充条件检测,充电设备可以为移动终端进行快速充电。一般来说,充电设备需要同时满足预设电压条件、预设电流条件和预设阻抗条件,则移动终端才可以确定充电设备通过快充条件检测,充电设备才可以为移动终端进行快速充电。
[0112] 由此,在移动终端插入充电设备之后,若出现充电设备的充电端口误检测为非DCP端口或充电设备的充电端口为DCP端口但accp握手检测失败,导致充电类型误识别为BUCK充电的情况,可以进行用户无感的自识别操作,即通过模拟用户对充电设备进行拔掉又插入的操作,重新触发BC1.2检测或accp握手检测,即上述实施例的第一快充检测或第二快充检测,可以降低误识别概率,使得移动终端在插入充电器之后正确进入快速充电,提高了移动终端的充电速度,进而提升了用户的充电体验。
[0113] 在另一些实施例中,上述第一快充检测用于确定移动终端与充电设备的快速充电协议握手检测成功。
[0114] 在该实施例中,若移动终端与充电设备的快速充电协议握手检测失败,即第一快充检测失败,则移动终端可以关断移动终端的VBUS供电电路,并在关断VBUS供电电路后触发第一供电重连。其中,第一供电重连为重新连接VBUS供电电路。之后,移动终端在完成第一供电重连后,可以对充电设备重新进行第一快充检测(即确定移动终端与充电设备的快速充电协议握手检测成功)。若重新进行的第一快充检测成功,移动终端可以对充电设备进行快充条件检测,并在快充条件检测通过后,由充电设备为移动终端快速充电。
[0115] 若移动终端与充电设备的快速充电协议握手检测成功,即第一快充检测成功,则移动终端可以直接对充电设备进行快充条件检测,并在快充条件检测通过后,由充电设备为移动终端快速充电。
[0116] 由此,在移动终端插入充电设备之后,若出现充电设备的accp握手检测失败,导致充电类型误识别为BUCK充电的情况,可以通过模拟用户对充电设备进行拔掉又插入的操作,重新触发accp握手检测,可以降低误识别概率,使得移动终端在插入充电器之后正确进入快速充电,提高了移动终端的充电速度。
[0117] 本申请实施例中,在通过充电设备对移动终端进行快速充电时,在移动终端的显示界面会显示快速充电对应的充电图标,一般为双闪电图标;而在移动终端插入充电设备之后,若出现充电设备的充电端口误检测为SDP端口(非DCP端口)或accp握手检测失败,导致充电类型误识别为BUCK充电的情况时,移动终端的显示界面则显示的是BUCK充电对应的充电图标,一般为单闪电图标。如图6所示,图6为本申请实施例提供的一种充电图标的显示示意图,其中,在手机的状态栏中,未充电时显示电池电量图标600,BUCK充电显示对应的单闪电图标601,快速充电显示对应的双闪电图标602。
[0118] 由此,如何在移动终端正确显示快速充电对应的充电图标是需要解决的问题。本申请实施例通过设置标志位可以使移动终端根据标志位是否设置,在显示界面正确显示充电图标,不需要通过用户人为进行充电器插拔操作以使充电图标正确显示。
[0119] 具体地,在检测到当前充电类型为BUCK充电时,判断移动终端是否设置有预设标志位,若移动终端的预设标志位未设置,则移动终端设置预设标志位,并拉高移动终端的VBUS端口,以关断VBUS供电电路。其中,预设标志位可以是true,在移动终端内设置并保存该预设标志位。可以理解的是,预设标志位也可以是其他值,本申请在此不作限定。此时,移动终端显示BUCK充电对应的第一充电图标,比如显示单闪电图标。然后,在拉高移动终端的VBUS端口,以关断VBUS供电电路之后,移动终端判断是否设置有预设标志位,若预设标志位已设置,则此时移动终端继续显示第一充电图标,其中,第一充电图标用于指示移动终端正在进行BUCK充电。此时,虽然移动终端关断了VBUS供电电路,但是由于马上又会重新连接VBUS供电电路,关断时间很短,可以不进行充电图标的改变,以使充电图标在充电过程中可以连续显示。其中,在移动终端拉低移动终端的VBUS端口,以触发所述第一供电重连之前,需要确定预设标志位已经设置。
[0120] 其中,在所述移动终端拉低所述移动终端的VBUS端口,以触发所述第一供电重连之后,若预设标志位已设置,则移动终端不发出音频充电提醒。其中,音频充电提醒可以是指充电提示音乐,比如,在充电器插入成功后,移动终端会发出充电提示音乐,提示用户充电开始,一般是;音频充电提醒也可以是指音频动效事件,比如,在充电器插入成功后,在移动终端发出充电提示音乐的同时,在移动终端的显示界面显示充电动效。可以理解的是,在检测到充电设备成功插入时,一般会触发音频充电提醒;而在本申请的触发第一供电重连之后,确定预设标志位已设置时,是不再需要发出音频充电提醒的。也就是说,虽然本申请中模拟用户拔掉又插入充电设备,但是不会跟实际插入充电设备一样发出音频充电提醒,这样不会在充电过程中突然发出声音,整个重新检测的过程中是用户无感的,可以提升用户的充电体验。
[0121] 其中,在快充条件检测都通过后,若预设标志位已设置,则充电图标变为第二充电图标,第二充电图标指示移动终端正在进行快速充电。此时,移动终端也不会发出音频充电提醒。
[0122] 本申请实施例中,可以通过记录充电过程中的重试次数,根据重试次数确定移动终端是否是通过重新触发快充检测进入快速充电的。若确定移动终端是通过重新进行快充检测进入快充,而不是在第一次检测到充电设备插入后就成功通过快充检测进入快充的情况下,则移动终端获取充电设备的信息,并向服务器上报充电设备的信息。其中,充电设备的信息包括充电设备的设备信息和重试次数;充电设备的设备信息包括充电器的厂家、型号等。其中,服务器可以是大数据平台,大数据平台会对上报数据进行记录和分析,为后续充电器厂家选型提供输入和参考。
[0123] 具体地,在移动终端设置预设标志位之后,在拉高移动终端的VBUS端口,以关断VBUS供电电路之前,移动终端为插拔次数+1。可以理解的是,插拔次数即表示重试次数,并不表示实际的对充电设备的插拔操作,是作为一个插拔变量。在移动终端拉低移动终端的VBUS端口,以触发第一供电重连或第二供电重连之后,移动终端为插拔次数+1。因此,在充电设备重新触发快充检测之后,若是后续的步骤均一次性成功,则移动终端的插拔次数是2。可以理解的是,若是后续的步骤中存在操作不到位的情况时,移动终端的值也可能大于
2;比如,前面步骤设置了标志位,而在后续的判断标志位时又检测不到标志位时,则又需要重新回到设置标志位的步骤处,那么此时的插拔次数又需要+1。也就是说,移动终端可以通过判断插拔次数的值确定移动终端是通过重新进行快充检测进入快充的,即在由充电设备为移动终端快速充电之后,若移动终端判断插拔次数大于或等于2,则确定移动终端是通过重新进行快充检测进入快速充电的。也即,在由充电设备为移动终端快速充电之后,若移动终端判断插拔次数大于或等于2,则移动终端获取充电设备的信息,并向服务器上报充电设备的信息。在进入快速充电后,直接根据重试次数值确定是否进行大数据上报,可以提高数据上报效率。
[0124] 本申请实施例中,在由充电设备为移动终端进行快速充电之后,需要对预设标志位进行复位,以及对插拔次数清零,以回到充电初始状态。这样的话,在移动终端下一次插入充电设备之后,可以重新设置预设标志与插拔次数,不会造成后续的流程错误。
[0125] 本申请实施例中,为了避免充电设备反复重试不成功进入死循环(即仍为BUCK充电类型),从而影响整机功耗,设置了预设复位时间,在移动终端插入充电设备后,开始计时,若到达预设复位时间时移动终端还没有进入快充,则对预设标志位进行复位,对插拔次数清零,以使移动终端重新开始快充检测。例如,可以在充电设备插入后启动定时器(Timer),在到达预设时间时,对标志位进行复位、插拔次数清零,即移动终端仅允许在一定时间内进行无感知重试(例如1min)。其中,最多可进行N次重试,N取决于充电控制逻辑设定的定时。由此,通过设置预设复位时间,可以避免充电设备反复重试不成功进入死循环,降低整体功耗。
[0126] 请参阅图7,图7为本申请实施例提供的另一种充电方法实现流程图。如图7所示,在移动终端的充电口检测到充电器插入时,移动终端对充电器进行BC1.2端口检测,若充电设备的充电器是DCP端口,则移动终端继续与充电器进行accp握手检测,确定移动终端与充电器的握手检测是否成功。若握手检测成功,则移动终端读取充电器类型寄存器,确定充电器是否为SCP类型,若不是SCP类型,则移动终端进入其他非快充,若是SCP类型,则继续确定充电器是否满足直充(快充)条件。若充电器不满足直充条件,则移动终端进入其他非快充,若充电器满足直充条件,则移动终端进入直充。
[0127] 其中,若移动终端与充电器握手检测失败,则移动终端确定当前充电模式以及是否设置标志位。若移动终端的当前充电模式为USB充电模式,且标志位未设置,则移动终端设备设置标志位,且插拔次数+1。此时,移动终端拉高GPIO端口,以切断VBUS电路连接,相当于充电器拔出。此时,移动终端判断是否设置标志位,若标志位已设置,则移动终端不更新充电图标,依然保持插入充电器时显示的充电图标。然后,移动终端拉低GPIO端口,重新使能VBUS电路连接,相当于充电器插入。此时,移动终端判断是否设置标志位,若标志位已设置,则移动终端不触发充电音频动效事件,且插拔次数+1。然后,判断是否达到定时器的时间,例如图中的1min,若是,则移动终端重置标志位,且清零插拔次数。其中,在进入直充时,移动终端判断插拔次数是否为2,若是,则移动终端向大数据平台上报充电器厂家、型号、重试时间等信息。
[0128] 由此,在移动终端插入充电器之后,若出现充电器的充电端口误检测为SDP端口(非DCP端口)或accp握手检测失败,导致充电类型误识别为BUCK充电的情况,可以进行用户无感的自识别操作,即通过模拟用户对充电设备进行拔掉又插入的操作,重新触发BC1.2检测或accp握手检测,可以降低误识别概率,使得移动终端在插入充电器之后正确进入快速充电,提高了移动终端的充电速度,进而提升了用户的充电体验。
[0129] 请参阅图8,图8是本申请实施例提供的一种充电方法的软件实现时序图。如图8所示,在移动终端的充电口检测到充电设备插入时,内核驱动层的充电控制逻辑模块对充电设备进行识别,即通过direct_charger_check或icm_dc_state进行BC1.2检测和accp握手检测,若BC1.2检测为SDP类型(非DCP类型)或accp握手检测失败,则移动终端的内核驱动层获取充电关联信息,并将充电关联信息同步至内核驱动层的power_supply电池节点中;其中,充电关联信息包括充电插拔状态信息、当前充电类型及电池电量信息;充电插拔状态信息用于指示移动终端与充电设备是否插接到位,当前充电类型用于指示移动终端的充电类型是否为BUCK充电。power_supply电池节点保存充电关联信息,得到第一电池节点信息,然后将第一电池节点信息更新到内核层/sys/class/power_supply/battery/下面的各个属性节点中。
[0130] 移动终端的框架层的BatteryService模块获取第一电池节点信息,并基于第一电池节点信息生成第一电池状态更新广播。具体的,power_supply电池节点根据充电关联信息生成uevent事件,上报给native层;native层接收内核层的uevent事件上报,通过healthd进行处理,即读取内核层power_supply的各节点信息,将处理后的数据通过BatteryMonitor::updateValue()传递给Framework层的BatteryService去处理;Framework层接收来自native层BatteryMonitor::updateValue()上报的电池状态更新事件,然后经过BatteryService的processValuesLocked()和BatteryStatsService来更新电池电量及插拔状态等信息数据(即获取第一电池节点信息),然后BatteryService向上发出Intent.ACTION_BATTERY_CHANGED广播(即第一电池状态更新广播)。
[0131] 移动终端的应用层的SystemUI模块接收第一电池状态更新广播,并根据第一电池状态更新广播中的内容,获取当前充电类型;若当前充电类型为BUCK充电,则SystemUI模块向内核驱动层下发拉高GPIO动作指令;内核驱动层接收拉高GPIO动作指令,拉高移动终端的VBUS端口,以关断VBUS供电电路。
[0132] 内核驱动层在关断VBUS供电电路后,向power_supply电池节点同步第一指示信息;其中,第一指示信息包括关断信息,关断信息用于指示VBUS供电电路已关断;power_supply电池节点基于第一指示信息,更新第一电池节点信息得到第二电池节点信息;BatteryService模块获取第二电池节点的信息,并基于第二电池节点的信息生成第二电池状态更新广播;SystemUI模块接收第二电池状态更新广播,并根据第二电池状态更新广播中的内容,获取当前充电类型;若当前充电类型为BUCK充电,则SystemUI模块向内核驱动层下发拉低GPIO动作指令;内核驱动层接收拉低GPIO动作指令,拉低移动终端的VBUS端口,以重连VBUS供电电路。其中,SystemUI模块下发的是拉高\拉低GPIO 153动作指令(硬件引脚名USB_MOS_CTL),来控制VBUS关断\打开。
[0133] 由此,移动终端内部设置了明确的上下层数据识别与交互,在用户无感的情况下,通过内核驱动层关断和重连VBUS供电电路,来触发充电器的“重新拔插”,然后重新进行BC1.2\ACCP等充电类型识别过程,降低充电设备的误识别概率,提升充电速率和充电体验。
[0134] 在本申请实施例中,充电关联信息还包括标志位信息,第一电池节点信息还包括标志位信息,第一电池状态更新广播还包括标志位信息;标志位信息用于指示预设标志位是否设置。在当前充电类型为BUCK充电,在SystemUI模块向内核驱动层下发拉高GPIO动作指令之前,内核驱动层获取标志位信息,若标志位信息指示预设标志位未设置,则内核驱动层设置预设标志位。比如,设置预设标志位为true。
[0135] 其中,第一指示信息还包括标志位更新信息,标志位更新信息用于指示预设标志位已设置;第二电池节点信息还包括标志位更新信息;第二电池状态更新广播还包括标志位更新信息。应用层接收第二电池状态更新广播,基于第二电池状态更新广播确定预设标志位已设置,则应用层显示第一充电图标;其中,第一充电图标用于指示移动终端正在进行BUCK充电。比如,第一充电图标可以是单闪电图标。
[0136] 在快充条件检测通过之后,内核驱动层获取充电关联更新信息,并将充电关联更新信息同步至power_supply电池节点中;其中,充电关联更新信息包括充电插拔状态信息、当前充电类型及电池电量信息。power_supply电池节点保存充电关联更新信息,更新第二电池节点信息得到第三电池节点信息。
[0137] BatteryService模块获取第三电池节点信息,并基于第三电池节点信息生成第三电池状态更新广播;应用层接收所述第三电池状态更新广播,基于第三电池状态更新广播确定预设标志位已设置;应用层显示第二充电图标;其中,第二充电图标用于指示移动终端正在进行快速充电。比如,第二充电图标可以是双闪电图标。
[0138] 由此,可以通过判断内核驱动层是否设置预设标志位,确定上层界面的充电图标是否需要更改,并可以在移动终端进入快速充电时正确显示快速充电图标。
[0139] 其中,当快充识别整个过程满足后,充电控制逻辑模块负责控制调整充电设备输出的电压、电流,包括升压、步进调压、提升电流等一系列动作。
[0140] 本申请实施例中,如图8所示,在确定当前充电类型为USB充电模式(BUCK充电)以及未设置预设标志位时,内核驱动层触发对充电器的重试,若充电设备类型识别正确,则移动终端进入直充(快速充电)。此时,移动终端获取充电设备的厂家信息、型号信息、发生时间等信息,上报给大数据平台。
[0141] 本申请实施例提供了明确的上下层设计\识别\交互、开关控制、重试机制,保证了BC1.2误识别为BUCK充电时,可以在用户无感的情况下,通过自动触发重试(充电类型状态监控、上层下发充电断开\连接指令、底层进行充电重试和识别、大数据上报误识别并统计分析)进入快充,以降低充电设备的误识别率,提升充电速率和充电体验。
[0142] 本申请实施例还提供一种芯片系统,如图9所示,该芯片系统90包括至少一个处理器901和至少一个接口电路902。处理器901和接口电路902可通过线路互联。例如,接口电路902可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路902可用于向其它装置(例如处理器901)发送信号。示例性的,接口电路902可读取存储器中存储的指令,并将该指令发送给处理器901。当所述指令被处理器901执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
[0143] 本申请实施例还提供一种计算机存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中手机执行的各个功能或者步骤。
[0144] 本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中手机执行的各个功能或者步骤。
[0145] 通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0146] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0147] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0148] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0149] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0150] 以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。