一种充电方法及终端设备与流程-j9九游会真人

文档序号:35714037发布日期:2023-10-12 17:23阅读:11来源:国知局


1.本技术实施例涉及终端技术领域,尤其涉及一种充电方法及终端设备。


背景技术:

2.采用安卓(android)系统的终端设备(如手机)逐渐成为终端市场的主流。当前终端设备在低电量关机的场景下,如果终端设备连接充电器,则会进入终端设备的启动流程。通常情况下,终端设备的启动流程包括扩展引导加载程序(extensible boot loader,xbl)阶段、应用程序引导加载程序(application boot loader,abl)阶段、以及kernel阶段。
3.相关技术中,终端设备在xbl阶段和abl阶段进行涓流充电,当终端设备的电池电压达到一定电压时,终端设备会进入到kernel阶段。
4.在一些场景中,由于终端设备的电池老化会导致终端设备的电池内阻增大,进而导致终端设备的电池内部分压会增大,使得终端设备输出至操作系统(operating system,os)的电压就会减小。如此,则会导致终端设备由kernel阶段返回至abl阶段重新进行涓流充电,当终端设备的电池电压达到一定电压时,再进入kernel阶段,反复多次后,可能会损坏终端设备的电池,从而降低电池的使用寿命。并且,由于kernel阶段主要是加载终端设备的各个芯片(integrated circuit chip,ic),因此终端设备反复进入kernel阶段还会损坏终端设备的硬件,进而影响终端设备的软件系统。


技术实现要素:

5.本技术实施例提供一种充电方法及终端设备,用于解决终端设备进入终端设备的启动流程后,反复进入kernel阶段,影响电池的使用寿命,损坏终端设备的硬件以及影响终端设备的软件系统的问题。
6.为达到上述目的,本技术的实施例采用如下技术方案:第一方面,提供一种充电方法,该方法可以应用于终端设备中。具体的,该方法包括:在终端设备的电量为零的情况下,终端设备开始充电,并进入终端设备的启动流程;其中,终端设备的启动流程包括应用程序加载程序abl阶段和kernel阶段;在进入abl阶段后,当终端设备的电池电压达到第一电压门限值时,不进入kernel阶段;其中,第一电压门限值为终端设备预先配置的,由abl阶段进入kernel阶段时的电压门限值;终端设备的电池电压达到第二电压门限值,进入kernel阶段,并开机成功;其中,第二电压门限值大于第一电压门限值。
7.基于第一方面,在终端设备的电量为零的情况下,终端设备开始充电并进入终端设备的启动流程的场景下,终端设备在进入abl阶段后,当终端设备的电池电压达到第一电压门限值时,不进入kernel阶段;当终端设备的电池电压达到第二电压门限值时,终端设备进入kernel阶段,并开机成功;由于第二电压门限值大于第一电压门限值,即终端设备进入kernel阶段时的电池电压较高,从而使得终端设备输出至操作系统的电压就会增加,避免终端设备进入kernel阶段之后再返回至abl阶段,解决了由于终端设备反复进入kernel阶
段,导致的终端设备的电池损坏,电池的使用寿命降低,以及终端设备的硬件损坏,影响终端设备的软件系统等问题。
8.此外,由于本方案可以避免终端设备反复进入kernel阶段,因此对于用户而言,当用户开机时,也可以解决终端设备反复重启的问题,提高了用户体验。
9.可选的,终端设备的电量为零可以替换为终端设备的电池电压小于预设电压值。或者,可以由终端设备的电池电压映射出终端设备的电量为零。
10.在第一方面的一种实现方式中,终端设备的电池电压达到第二电压门限值,进入kernel阶段,包括:基于终端设备的电池电压达到第二电压门限值,且第二电压门限值大于目标电压门限值,进入kernel阶段;其中,目标电压门限值为基于终端设备的电池的充放电周期确定的、允许进入kernel阶段的最小电压门限值。
11.在该实现方式中,由于目标电压门限值为基于终端设备的电池的充放电周期确定的、允许进入kernel阶段的最小电压门限值,因此当终端设备的电池电压达到第二电压门限值,且第二电压门限值大于目标电压门限值,进入kernel阶段,可以进一步提高终端设备输出至操作系统的电压,进一步终端设备进入kernel阶段之后再返回至abl阶段的问题。
12.在第一方面的一种实现方式中,该方法还包括:终端设备更换电池;在终端设备的电量为零的情况下,终端设备开始充电,并在终端设备的电池电压达到第一电压门限值时,进入kernel阶段。
13.可以理解的是,造成终端设备反复进入kernel阶段的原因是由于终端设备的电池老化,内阻增大引起的。因此,在该实现方式中,若终端设备更换电池,则终端设备可以在电池电压达到第一电压门限值的情况下,进入kernel阶段,这样,也不会出现终端设备反复进入kernel阶段的问题。
14.在第一方面的一种实现方式中,基于终端设备的电池的充放电周期确定目标电压门限值,包括:获取第一电压门限值;根据充放电周期确定与充放电周期相关的电压调整值;根据第一电压门限值和电压调整值,确定目标电压门限值。
15.可选的,终端设备保存有充放电周期与电压调整值的对应关系,终端设备可以基于该对应关系,确定与充放电周期相关的电压调整值。
16.可选的,目标电压门限值为第一电压门限值和电压调整值之和。
17.在第一方面的一种实现方式中,该方法还包括:终端设备获取第三电压门限值,第三电压门限值为上一次进入终端设备的启动流程的kernel阶段的电压门限值;如果第三电压门限值小于目标电压门限值,则终端设备将目标电压门限值作为本次进入终端设备的启动流程的kernel阶段时的电压门限值。
18.在第一方面的一种实现方式中,该方法还包括:如果第三电压门限值大于或等于目标电压门限值,且小于第四电压门限值与电压调整步进值之差,则将第二电压门限值作为本次进入终端设备的启动流程的kernel阶段时的电压门限值;其中,第四电压门限值为预先设置的允许进入kernel阶段的最大电压门限值,第二电压门限值为第三电压门限值与电压调整步进值之和;电压调整步进值为终端设备预先设置的电压门限值的调整间隔。
19.在该实现方式中,终端设备可以基于目标电压门限值和上一次进入终端设备的启动流程的kernel阶段的电压门限值,动态调整终端设备本次进入终端设备的启动流程的
kernel阶段时的电压门限值,进一步避免终端设备反复进入kernel阶段的问题。
20.在第一方面的一种实现方式中,终端设备的电池电压达到第二电压门限值,进入kernel阶段,包括:在终端设备进入abl阶段后,检测终端设备关机的原因;若终端设备关机的原因为终端杆设备的电量为零,则终端设备的电池电压达到第二电压门限值,进入kernel阶段。
21.可选的,若终端设备关机的原因不是终端设备的电量为零,则终端设备的电池电压达到第一电压门限值,进入kernel阶段。
22.在第一方面的一种实现方式中,终端设备包括目标存储分区,确定目标电压门限值,包括:终端设备从目标存储分区中读取充放电周期和第一电压门限值;终端设备根据充放电周期和第一电压门限值,确定目标电压门限值。
23.在第一方面的一种实现方式中,终端设备的启动流程还包括加载操作系统阶段,该方法还包括:响应于用户的开机操作,终端设备显示开机界面;或者,终端设备在进入加载操作系统阶段后,终端设备显示开机界面。
24.第二方面,提供一种充电方法,应用于终端设备,该方法包括:在终端设备的电量为零的情况下,终端设备开始充电,并进入终端设备的启动流程;其中,终端设备的启动流程包括应用程序加载程序abl阶段和kernel阶段;在第一时间点,终端设备进入kernel阶段;第一时间点,终端设备的电池电压为第一电压门限值,第一电压门限值为终端设备预先配置的,由abl阶段进入kernel阶段时的电压门限值;在第二时间点,终端设备进入abl阶段;在第三时间点,当终端设备的电池电压达到第一电压门限值时,终端设备不进入kernel阶段;在第四时间点,进入kernel阶段,并开机成功;第四时间点,终端设备的电池电压为第二电压门限值,第二电压门限值大于第一电压门限值。
25.在第二方面的一种实现方式中,终端设备进入kernel阶段,包括:基于终端设备的电池电压达到所述第二电压门限值,且第二电压门限值大于目标电压门限值,进入kernel阶段;其中,目标电压门限值为基于终端设备的电池的充放电周期确定的、允许进入kernel阶段的最小电压门限值。
26.在第二方面的一种实现方式中,该方法还包括:终端设备更换电池;在终端设备的电量为零的情况下,终端设备开始充电,并进入终端设备的启动流程;在第五时间点,进入kernel阶段;第五时间点,终端设备的电池电压为第一电压门限值。
27.第三方面,提供一种终端设备,该终端设备具有实现上述第一方面中任一项所述的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
28.第四方面,提供一种终端设备,该电子设备包括:存储器和一个或多个处理器,该存储器用于存储计算机执行指令,当该终端设备运行时,该处理器执行该存储器存储的计算机执行指令,以使该终端设备执行上述第一方面中任一项所述的方法;或者执行上述第二方面中任一项所述的方法。
29.第五方面,提供一种芯片系统,应用于终端设备中。该芯片系统包括一个处理器以及接口,所述接口用于接收指令,并传输至至少一个处理器;至少一个处理器运行所述指令使得终端设备执行如上述第一方面中任一项所述的方法;或者执行上述第二方面中任一项所述的方法。
30.第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的方法;或者执行上述第二方面中任一项所述的方法。
31.第七方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的方法;或者执行上述第二方面中任一项所述的方法。
32.其中,上述第二方面至第七方面中任一种实现方式所带来的技术效果可以参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
33.图1为本技术实施例提供的一种充电系统的结构示意图;图2为本技术实施例提供的一种终端设备的组成结构示意图;图3为本技术实施例提供的一种终端设备的启动流程的示意图;图4为本技术实施例提供的另一种终端设备的启动流程的示意图;图5为本技术实施例提供的一种终端设备充电的示意图;图6为本技术实施例提供的一种终端设备开机的界面示意图;图7为本技术实施例提供的一种终端设备的硬件结构示意图;图8为本技术实施例提供的一种终端设备的软件结构示意图;图9为本技术实施例提供的又一种终端设备的启动流程的示意图;图10为本技术实施例提供的一种充电方法的流程示意图;图11为本技术实施例提供的另一种充电方法的流程示意图;图12为本技术实施例提供的一种终端设备开机的界面示意图;图13为本技术实施例提供的又一种充电方法的流程示意图;图14为本技术实施例提供的一种芯片系统的结构示意图。
具体实施方式
34.本技术实施例提供的方法应用于图1所示的充电系统中。如图1所示,该充电系统包括终端设备100和供电设备200,该终端设备100和供电设备200之间电连接,供电设备200可以向终端设备100提供电能,以便于终端设备100进行充电。
35.可选的,如图1所示,终端设备100可以通过充电数据线与供电设备200进行电连接。或者,终端设备100与供电设备200可以通过无线方式(如电磁感应方式)进行电连接,不予限制。
36.在终端设备100通过充电数据线与供电设备200进行电连接的场景下,供电设备200可以通过充电数据线向终端设备100传输电能。其中,该供电设备200例如可以为外部电源(如家用电源)、充电设备(如充电器、充电宝、电源适配器、车载设备等)。
37.在终端设备100与供电设备200通过电磁感应方式进行电连接的场景下,供电设备200中设置有发射端线圈,终端100设备中设置有接收端线圈,供电设备200和终端设备100可以通过发射端线圈和接收端线圈之间的磁场耦合作用传输电能,以实现供电设备200向终端设备100传输电能。
38.本技术实施例所提供的方法可以应用于各种类型的终端设备中,示例性的,本技术实施例中的终端设备可以是手机、平板电脑、桌面型、膝上型、手持型计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强显示(augmented reality,ar)/以及虚拟现实(virtual reality,vr)等任意终端设备,当然,在以下实施例中,对该终端设备的具体形式不作任何限制。
39.在本技术实施例中,终端设备可以包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。如图2所示,硬件层可以包括中央处理器(central processing unit,cpu)、内存管理单元(memory management unit,mmu)和内存(也称主存或者存储器件)等硬件。操作系统可以是任意一种或多种通过进程实现业务处理的计算机操作系统,例如,android操作系统、ios操作系统或windows操作系统等。图2以操作系统为android操作系统为例。应用层可以包含浏览器、桌面应用、电话、邮件等应用。
40.在一些实施例中,当终端设备具有启动需求时,终端设备可以进入终端设备的启动流程。例如,终端设备进行刷机时进入终端设备的启动流程;或者,终端设备在重启时进入终端设备的启动流程;或者,终端设备在更新操作系统时进入终端设备的启动流程;又或者,终端设备在低电量关机后,连接供电设备时进入终端设备的启动流程。
41.以终端设备的操作系统为android操作系统为例,终端设备的启动流程可以分为两个阶段,第一阶段是linux的启动,第二阶段是android的启动(可以称为上层开机流程)。图3为一种基于android操作系统的启动流程框架图。如图3所示,终端设备的启动流程包括boot rom 01、boot loader 02、kernel 03以及android 04。其中,boot rom 01、boot loader 02和kernel 03为第一阶段的启动流程,android 04为第二阶段的启动流程。
42.示例性的,boot rom可以包括主引导加载程序(primary boot loader,pbl)阶段。其中,pbl阶段主要是引导终端设备开始从固化在只读存储器(read-only memory,rom)的预设代码开始执行,然后加载引导程序到随机存储器(random access memory,ram)。
43.boot loader主要是准备硬件环境,引导kernel的启动。其中,boot loader可以包括xbl阶段和abl阶段。xbl阶段用于引导内存初始化启动。abl阶段主要是为了引导kernel的启动。例如,abl包括快速启动(fastboot)程序,fastboot程序用于接收xbl的初始化信息并将其传递至kernel阶段。
44.示例性的,kernel阶段将内核加载进内存后,首先进入内核引导阶段,在内核引导阶段的最后,调用start_kernel进入内核启动阶段,主要是完成内核的大部分初始化工作。比如,设置缓存、内存、加载驱动程序、挂载根文件系统、初始化输入输出等。
45.示例性的,android阶段可以称为加载操作系统阶段,或者称为上层开机流程,主要用于启动终端设备的linux内核、硬件抽象层(hardware abstraction layer,hal)、安卓运行时(android runtime)和系统库,应用程序框架层(framework)和应用层等。
46.可选的,如图3所示,android阶段首先启动init进程,作为根文件系统或者第一个进程。init进程启动后,终端设备的屏幕被点亮,终端设备中的各个ic被加载。
47.init进程启动后,还会启动本机守护进程(native daemones),通过运行安卓运行时(android runtime)启动zygote进程。其中,zygote进程负责虚拟机的初始化,是android系统中的第一个进程,zygote进程启动后运行dalvik vm虚拟机,dalvik vm虚拟机可运行
java平台应用程序。
48.可选的,如图3所示,zygote进程通过运行dalvik vm虚拟机启动超级管理进程(system server),system server进程负责启动和管理整个应用程序框架层,即负责管理应用程序框架层包括的多个管理器(managers)。
49.比如,如图3所示,system server进程负责启动和管理服务管理器(service managers),service managers是绑定(binder)的守护进程,当一个binder server创建后,service managers负责记录binder server的域名和ip地址的对应关系。
50.作为一种示例,如图3所示,service managers也可以在init进程启动后,通过运行安卓运行时(android runtime)启动。
51.需要说明的是,上述示意的终端设备的启动流程仅仅为本技术的一种举例说明,可以理解的是,终端设备的启动流程的原理基本相同,在实际实现时,终端设备的启动流程还可以包括比上述更多或更少的步骤,或者上述步骤的组合,本技术对此不作具体限定。
52.作为一种示例,在终端设备在低电量关机,并连接供电设备后会进入终端设备的启动流程的情况下,在xbl阶段和abl阶段,终端设备进行涓流充电,电流较小,充电一段时间之后终端设备在abl阶段完成各个ic的初始化工作,并通过充电协议与供电设备进行交互,以进入快速充电。
53.其中,终端设备与供电设备支持相同的充电协议,比如终端设备与供电设备支持充电协议(power delivery protocol,pdp)、超级快充协议(super charging protocol,scp)、快速充电协议(fast charging protocol,fcp)等。充电协议还可以分为私有充电协议和公有充电协议。私有充电协议如scp,公有充电协议如融合快速充电技术规范(universal fast charging specification,ufcs)和电池充电规范1.2版本(battery charging specification revision 1.2,bc1.2)。
54.在本技术实施例中,终端设备在由当前阶段进入下一个阶段时,定义了一个电压门限值,该电压门限值为允许终端设备进入下一个阶段的最小电压门限值。当终端设备的电池电压达到该电压门限值时,终端设备才会进入下一个阶段。
55.示例性的,如图4所示,终端设备由xbl阶段进入abl阶段时,定义了一个电压门限值a,该电压门限值a为允许终端设备进入abl阶段的最小电压门限值。例如,该电压门限值a可以为2.9v,或者为其他数值,不予限制。
56.比如,假设电压门限值a为2.9v,终端设备在xbl阶段中循环检测电池电压是否达到2.9v,如果终端设备的电池电压达到2.9v,则终端设备进入abl阶段。如果终端设备的电池电压未达到2.9v,则终端设备不进入abl阶段,并在xbl阶段继续进行涓流充电,直到终端设备的电池电压达到2.9v时,终端设备进入abl阶段。
57.示例性的,仍如图4所示,终端设备由abl阶段进入kernel阶段时,定义了一个电压门限值b,该电压门限值b为允许终端设备进入kernel阶段的最小电压门限值。例如,该电压门限值b可以为3.45v,或者为其他数值,不予限制。
58.比如,假设电压门限值b为3.45v,终端设备在abl阶段中循环检测电池电压是否达到3.45v,如果终端设备的电池电压达到3.45v,则终端设备进入kernel阶段。如果终端设备的电池电压未达到3.45v,则终端设备不进入kernel阶段,并在abl阶段继续涓流充电,直到终端设备的电池电压达到3.45v时,终端设备进入kernel阶段。
59.例如,终端设备在abl阶段中第一次检测到终端设备的电池电压为:battery voltage=3449mv,即终端设备的电池电压未达到3.45v,终端设备不进入kernel阶段,并在abl阶段继续涓流充电。进一步的,终端设备在abl阶段中第二次检测到终端设备的电池电压为:battery voltage=3449mv,即终端设备的电池电压未达到3.45v,终端设备不进入kernel阶段,并在abl阶段继续涓流充电。进一步的,终端设备在abl阶段中第三次检测到终端设备的电池电压为:battery voltage=3450mv,即终端设备的电池电压达到3.45v,终端设备进入kernel阶段。
60.在终端设备进入kernel阶段之后,终端设备的屏幕被点亮,各个ic被加载,使得输出至终端设备的操作系统的电流增加。如果终端设备的电池老化,则还会导致电池内部阻值增大。根据表达式u=i*r可知,电池内部阻值增大,导致电池内部的分压会增大,进而导致终端设备输出至操作系统的电压(如下述vsys电压)就会减小,终端设备由kernel阶段返回至abl阶段重新进行涓流充电,当终端设备的电池电压再次达到3.45v,终端设备再次进入kernel阶段,反复多次后,可能会损坏终端设备的电池,降低电池的使用寿命。并且,由于kernel阶段主要是加载终端设备的各个ic,因此终端设备在同一次进入终端设备的启动流程的过程中,反复多次进入kernel阶段会损坏终端设备的硬件,进而影响终端设备的软件系统。
61.图5示出了一种终端设备充电的示意图。如图5所示,以供电设备为电源适配器(adaptor)为例,示例性的,电源适配器可以通过type c接口与终端设备连接(connector)。终端设备可以包括电源管理集成电路(power management ic,pmic)、充电器ic(charger ic)以及电池等。
62.如图5所示,电源适配器通过type c接口与pmic的输入端和充电器ic的输入端耦合,pmic的输入端与充电器ic的输入端耦合。pmic的输出端分别与充电器ic的输出端,以及电池耦合。pmic的输出端还与终端设备的操作系统耦合。
63.其中,电源适配器与外部电源(比如家用电)连接,从外部电源获取电能,然后将获取的电能(如直流电vbus)输入到终端设备的充电器ic中。充电器ic用于管理充电过程。比如,充电器ic用于决定将从外部电源接收的电能(如直流电vbus)提供给pmic,还是提供给电池。pmic接收电池输入的电能(如vout电压)和/或充电器ic输入的电能(如vbat电压),为终端设备的硬件层中的各个硬件进行供电。
64.示例性的,在终端设备的电池电压达到3.45v时,由于电池内阻(如图5所示的rbat)增大,电池内部的分压会增大,进而导致电池为各个硬件的供电能力下降,即电池输出至pmic的电压(即vbat电压)减少,从而导致pmic输出至操作系统的电压(如图5所示的vsys电压)降低。相应的,终端设备的电池电压也会随之降低,比如电池电压低于3.45v,导致终端设备由kernel阶段返回至abl阶段重新进行涓流充电。
65.以上述终端设备为手机为例,示例性的,对于用户而言,在手机低电量关机,并连接电源适配器的情况下,如图6中(a)所示,手机显示充电界面101,该充电界面101用于指示手机当前电量低,比如该充电界面包括低电量画面102(如电池图标中显示红色闪电标识)。在另一些实施例中,该充电界面还包括提示信息103,该提示信息用于向用户提示手机当前电量低,比如,该提示信息103为“手机电量低”。
66.响应于用户对开机按键(如power键)的操作,如图6中(b)所示,手机显示开机界面
104,该开机界面104包括手机厂商的标识。在另一些实施例中,该开机界面104还用于显示开机动画,图6中(b)中未示意出。
67.在本技术实施例中,对于用户而言,当手机由kernel阶段返回至abl阶段重新进行涓流充电时,手机由开机界面104切换至充电界面101,即此次开机失败。而后,响应于用户继续对开机按键的操作,手机重新启动并继续由开机界面104切换至充电界面101,因此这种反复重启的现象影响用户的使用体验的同时,还会造成用户误解,认为手机无法开机。
68.为解决上述问题,本技术实施例提供一种充电方法,该方法通过动态调整终端设备的电池电压的电压门限值,以避免终端设备进入kernel阶段之后再返回至abl阶段。具体的,该方法包括:在abl阶段,终端设备通过获取终端设备的电池充放电次数,以及终端设备上一次进入终端设备的启动流程的kernel阶段时的电压门限值,动态调整终端设备本次进入终端设备的启动流程的kernel阶段时的电压门限值。在终端设备进行涓流充电并达到该调整后的电池电压门限值后,终端设备进入kernel阶段。
69.此外,由于该方法可以避免终端设备进入kernel阶段之后再返回至abl阶段,那么,对于用户而言,当用户开机时,也可以避免终端设备反复重启的问题,从而可以提高用户体验。
70.下面结合说明书附图对本技术实施例提供的方案进行介绍,应理解,以下所描述的实施例仅仅为本技术的一部分实施例,并不是本技术的全部实施例。
71.本技术实施例提供的充电方法可以应用于上述终端设备100中。该终端设备100可以包括充电器ic、pmic以及电池等硬件,该硬件可以部署在图2所示的硬件层中。下面结合图7对终端设备的硬件层进行介绍:如图7所示,终端设备100的硬件层可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,定位模块181,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。
72.可以理解的是,本实施例示意的结构并不构成对终端设备100的具体限定。在另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或软件和硬件的组合实现。
73.处理器110可以为中央处理器(central processing unit,cpu),处理器110可以包括一个或多个处理单元,例如,处理器110可以包括应用处理器(application processor,ap),调制解调处理器(modem),图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以是集成在一个或多个处理器中。
74.控制器可以是终端设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
75.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器
110中的存储器为高速缓冲存储器。该存储可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用,避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
76.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(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)接口,用户标识模块sim接口,和/或usb接口等。
77.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,微型(micro)usb接口,usb类型(usb type c)接口等。usb接口130可以用于连接充电器(比如电源适配器)为终端设备100充电,也可以用于终端设备100与外围设备之间的传输数据。当终端设备100通过usb接口130与充电器连接时,终端设备100可以通过usb接口与充电器传输电能。示例性的,终端设备100的usb接口130中的配置信号线(configuration channel,cc)会检测充电器发送的电流,实现终端设备100和充电器之间的电流传输。
78.可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备的结构限定。在另一些实施例中,终端设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
79.在本技术实施例中,在终端设备低电量关机,并且连接电源适配器的情况下,终端设备进入终端设备的启动流程。在进入终端设备的启动流程中的pbl阶段时,终端设备启动处理器110,比如启动cpu中的一个处理核。此时,终端设备首先为处理器110供电,相应的,在进入终端设备的启动流程中的xbl阶段和abl阶段时,同样只有cpu中的一个处理核在工作。在进入终端设备的启动流程中的kernel阶段时,终端设备启动cpu中的其他处理核,并由处理器110(即cpu)决定为其他硬件(比如图7所示的各个硬件)进行供电。
80.充电管理模块140用于从充电器(如上述电源适配器)接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端设备100供电。
81.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头,和无线通信模块160等供电。电源管理模块141还可以用于检测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
82.示例性的,终端设备100通过充电器(或电源适配器)与外部电源连接后,终端设备100的充电过程如下所示:充电器结束外部电源的电能后,通usb接口将电能输入至充电管理模块140。充电管理模块140一方面为电池142充电,另一方面为电源管理模块141提供电能;或者,充电管理模块140仅为电池142蓄电,电源管理模块141再从电池142获取电能为各
个硬件供电。
83.可选的,电源管理模块141可以和处理器110连接,处理器110可以通过电源管理模块141决定为哪些部件供电。
84.在本技术实施例中,上述充电管理模块140可以包括图5所示的充电器ic,电源管理模块141可以包括图5所示的pmic。当然,充电管理模块140和电源管理模块141还可以包括其他部件,不予限制。
85.可以理解的是,当终端设备100未连接充电器时,终端设备100可以通过电池142中储存的电能来为各个硬件供电。
86.终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
87.终端设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
88.终端设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
89.终端设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
90.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音频,视频等文件保存在外部存储卡中。
91.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端设备100的各种功能应用以及数据处理。例如,在本技术实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。
92.其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)。存储数据区可存储终端设备100使用过程中所创建的数据(比如视频文件)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
93.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。马达191可以产生振动提示。
94.马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和终端设备100的接触和分离。终端设备100可以支持1个或n个sim卡接口,n为大于1的正整数。sim卡接口195可以支持nano sim卡,micro sim卡,sim卡等。
95.以下实施例中的方法均可以在具有上述硬件结构的终端设备100中实现。
96.其中,终端设备100的软件系统可以采用分层架构,事件启动架构,微核架构,微服务架构或云架构。本技术实施例以分层架构的android系统为例,示例性说明终端设备100
的软件结构。
97.图8是本技术实施例提供的终端设备100的软件结构框图。分层架构可以将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为六层,从上至下分别为应用程序层(简称应用层,application),应用程序框架层(简称框架层,framework),安卓运行时(android runtime)和系统库,硬件抽象层(hardware abstraction layer,hal),kernel层,以及loader层。
98.应用层:可以包括一系列应用程序包。例如,如图8所示的应用层可以包括:浏览器(browser)、桌面应用(launcher)、电话(phone)、邮件(email)等应用程序。
99.框架层为应用层的应用程序提供应用编程接口(application programming interface,api)和编程框架。如图8所示,框架层可以包括活动管理器(activity manager)、窗口管理器(window manager)、电源管理器(power manager)以及输入管理器(input manager)等。
100.活动管理器用于管理各个应用程序的生命周期以及导航回退功能。负责android的主线程创建,各个应用程序的生命周期的维护。
101.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
102.电源管理器与上述电源管理模块141的作用类似,可参考上述实施例,不予赘述。
103.输入管理器用于管理输入设备的程序。例如,输入管理器可以确定鼠标点击操作、键盘输入操作和触摸滑动等输入操作。
104.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
105.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
106.应用层和应用程序框架层运行在虚拟机中。虚拟机将应用层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
107.核心库包括:init进程、本机守护进程、服务管理器、开机动画服务等。核心库还包括媒体服务器(media server),负责启动和管理整个c 应用程序。media server包含音频管理系统(audio flinger)、媒体播放服务(media player service)等。
108.hal层可以包含多个库模块,库模块如可以为硬件合成器(hwcomposer,hwc)、摄像头库模块等。android系统可以为设备硬件加载相应的库模块,进而实现应用程序框架层访问设备硬件的目的。在一些实施例中,hal层包括在核心库中。
109.内核层(即kernel层)是硬件和软件之间的层。内核层至少包含相机驱动(camera driver)、binder驱动、显示驱动(display driver)、输入驱动(input driver)等。
110.loader层用于在终端设备100进入启动流程时,初始化rom,以及准备加载硬件环境,引导kernel的启动。其中,loader层包括boot rom和boot loader。
111.以下实施例结合图8所示的软件框架示意图,示例性的说明终端设备进入终端设备的启动流程后的具体过程。
112.当终端设备处于关机状态,响应于用户对开机键的操作,终端设备进入终端设备
的启动流程。如图8所示,在loader层中,boot rom引导终端设备开始从固化在rom的预设代码开始执行,然后加载引导程序到ram中。而后,boot loader加载硬件环境,并引导kernel启动。
113.可选的,如图8所示,终端设备在进入kernel阶段后,首先启动虚拟内存(swapper)进程,用于初始化进程管理,内存管理,加载相机驱动、binder驱动、显示驱动、输入驱动等相关工作。在swapper进程加载完各个ic驱动之后,终端设备启动hal层。swapper进程还负责启动kthreadd进程,用于管理和调度内核中的其它进程。比如,kthreadd进程用于管理内核守护进程(kernel daemons)。至此,终端设备完成kernel的启动。
114.终端设备完全启动kernel之后,终端设备进入android阶段。可选的,如图8所示,终端设备进入android阶段后,首先启动init进程。init进程启动后,一方面负责启动本机守护进程(native daemones);另一方面负责启动开机动画(bootanim)、服务管理器(service managers)等重要服务。init进程还负责启动媒体服务器(media server),media server负责启动和管理音频相关的服务,比如,负责管理音频管理系统(audio flinger)和媒体播放服务(media player service)等。再一方面,init进程还负责启动zygote进程,zygote进程负责运行安卓运行时(android runtime),以初始化虚拟机,并负责启动超级管理进程(system server),system server负责启动和管理框架层中的各个服务框架,包括活动管理器、窗口管理器、电源管理器以及输入管理器等。
115.zygote进程还用于通过system server负责启动app进程,比如启动桌面应用(即开机后用户看到的桌面)。相应的,zygote进程还会创建浏览器、电话、邮件等app进程。至此,终端设备完成启动流程,开机成功。
116.本技术实施例中,在终端设备低电量关机后,并且在连接电源适配器的情况下,终端设备进入终端设备的启动流程。在终端设备进入kernel阶段之后,由于终端设备的电池老化,因此终端设备会由kernel阶段再返回至abl阶段。以下结合图8,对终端设备由kernel阶段再返回至abl阶段的具体过程进行详细说明。
117.示例性的,如图9所示,终端设备由kernel阶段返回至abl阶段可以包括如下步骤。可选的,终端设备包括部署在loader层的第一启动模块、第一充电模块、电池模块、第二启动模块以及第二充电模块。其中,第一启动模块、第一充电模块、电池模块、预设存储分区用于执行终端设备进入abl阶段后的各个步骤;第二启动模块以及第二充电模块用于执行终端设备进入kernel阶段后的各个步骤。
118.步骤a:在终端设备连接电源适配器的情况下,终端设备进入xbl阶段。
119.可以理解的是,终端设备进入终端设备的启动流程之后,首先进入pbl阶段,然后再进入xbl阶段。对于pbl阶段的举例说明可参考上述实施例,不予赘述。
120.步骤b:终端设备在xbl阶段循环检测终端设备的电池电压,持续充电至电压门限值a进入abl阶段。
121.可选的,如果终端设备的电池电压小于电压门限值a(比如2.9v),终端设备进行涓流充电,并持续充电至2.9v后,终端设备进入abl阶段。如果终端设备的电池电压大于或等于电压门限值a,终端设备进入abl阶段。
122.步骤c:终端设备的第一启动模块初始化第一充电模块的充电功能。
123.步骤d:终端设备的第一充电模块从电池模块获取电池电压。
124.相应的,终端设备的电池模块向第一充电模块返回电池电压。
125.步骤e:终端设备的第一充电模块将终端设备的电池电压持续充电至电压门限值b(比如3.45v)。
126.步骤f:终端设备的第一充电模块向第一启动模块返回充电状态。
127.其中,充电状态用于指示终端设备的第一充电模块将电池电压充电至电压门限值b。
128.步骤g:终端设备的第一启动模块触发第二启动模块进入kernel阶段。
129.步骤h:终端设备的第二启动模块初始化第二充电模块的充电功能。
130.步骤i:终端设备进入kernel阶段后,终端设备的各个硬件被加载,输出至终端设备的操作系统的电流增加;如果终端设备的电池老化,使得电池内部阻值增大,导致电池内部的分压会增大,进而导致终端设备输出至操作系统的电压减小,终端设备的电池电压持续降低,并低于电压门限值b。
131.步骤j:终端设备的第二充电模块控制终端设备由kernel阶段返回至abl阶段。
132.可选的,如果终端设备的电池电压持续降低至小于电压门限值b,且大于电压门限值a,则终端设备由kernel阶段返回至abl阶段。如果终端设备的电池电压持续降低至小于电压门限值a,则终端设备由kernel阶段返回至xbl阶段。
133.以下实施例结合终端设备的启动流程,详细介绍本技术实施例提供的技术方案。
134.示例性的,本技术实施例提供一种充电方法,可以应用于具有上述硬件结构和软件结构的终端设备100中。在终端设备低电量关机的情况下,终端设备开始充电,并进入终端设备的启动流程。可以理解的是,终端设备的启动流程至少包括abl阶段和kernel阶段。
135.在一些实施例中,在终端设备的电量为零的情况下,终端设备低电量关机。在另一些实施例中,在终端设备的电池电压小于预设电压值(比如3.45v或2.9v)的情况下,终端设备低电量关机。
136.可选的,终端设备的电量为零可以替换为终端设备的电池电压小于预设电压值。或者,可以由终端设备的电池电压映射出终端设备的电量为零。
137.需要说明的是,理论上终端设备的电量为零时,终端设备低电量关机。在实际实现时,终端设备的电量不完全为零的情况下,终端设备也会低电量关机;比如终端设备的电量小于2%时,终端设备低电量关机。
138.请参考图10,其示出了一种充电方法的流程示意图。如图10所示,该方法可以包括如下步骤。
139.可以理解的是,相关技术中,终端设备基于终端设备的电池电压达到第一电压门限值时,终端设备由abl阶段进入所述kernel阶段。其中,第一电压门限值为终端设备预先配置的,由abl阶段进入所述kernel阶段时终端设备的电池电压。
140.可选的,第一电压门限值可以是终端设备的厂商预先设定的;或者,第一电压门限值也可以是终端设备的操作系统确定的,不予限定。
141.例如,第一电压门限值可以为上述电压门限值b,比如,第一电压门限值为3.45v。当然,由于不同终端设备的厂商(或者操作系统)不同,因此第一电压门限值以实际实现中所设定的为准,不予限定。
142.步骤201:终端设备在进入abl阶段后,当终端设备的电池电压达到第一电压门限
值时,终端设备不进入kernel阶段。
143.示例性的,如图9所示,终端设备的第一充电模块接收外部电源的电能,将终端设备的电池电压持续充电至第一电压门限值。在终端设备的第一充电模块持续将终端设备的电池电压充电至第一电压门限值后,终端设备的第一充电模块不会向第一启动模块返回充电状态,使得终端设备的第一启动模块不会触发第二启动模块进入kernel阶段。
144.步骤202:终端设备的电池电压达到第二电压门限值,进入kernel阶段,并开机成功。第二电压门限值大于第一电压门限值。
145.示例性的,结合图9,终端设备的第一充电模块接收外部电源的电能,将终端设备的电池电压持续充电至第二电压门限值。在终端设备的第二充电模块持续将终端设备的电池电压充电至第二电压门限后,终端设备的第一充电模块向第一启动模块返回充电状态,指示终端设备的第一启动模块触发第二启动模块进入kernel阶段。
146.综上所述,在终端设备的电量为零的情况下,终端设备开始充电并进入终端设备的启动流程的场景下,在终端设备进入abl阶段后,当终端设备的电池电压达到第二电压门限值时,终端设备进入kernel阶段,并开机成功。由于本技术中终端设备进入kernel阶段时终端设备的电池电压为第二电压门限值,而第二电压门限值大于第一电压门限值,因此终端设备输出至操作系统的电压就会增加,从而可以避免终端设备进入kernel阶段之后再返回至abl阶段,解决了由于终端设备反复进入kernel阶段,导致的终端设备的电池损坏,电池的使用寿命降低,以及终端设备的硬件损坏,影响终端设备的软件系统等问题。
147.此外,由于本方案可以避免终端设备反复进入kernel阶段,因此对于用户而言,当用户开机时,也可以解决终端设备反复重启的问题,提高了用户体验。
148.可选的,基于终端设备的电池电压达到第二电压门限值,且第二电压门限值大于目标电压门限值,终端设备进入kernel阶段。
149.示例性的,目标电压门限值可以是终端厂商预先设定的;或者,目标电压门限值可以是终端设备的操作系统确定的;或者,目标电压门限值可以是终端设备基于第一电压门限值以及电池充放电次数(或称充放电周期)确定的,不予限定。
150.以下实施例中结合图8和图9,示例性说明终端设备的电池充电至第二电压门限值后,进入kernel阶段的具体实现过程。如图11所示,该具体实现过程可以包括如下步骤。
151.步骤

:终端设备由xbl阶段进入abl阶段。
152.其中,对于步骤

的解释说明可以参考上述步骤b,此处不再赘述。
153.步骤

:终端设备的第一启动模块初始化第一充电模块的充电功能。
154.步骤

:终端设备的第一充电模块从电池模块获取电池电压。
155.可选的,终端设备的电池模块向第一充电模块返回电池电压。
156.步骤

:终端设备的第一充电模块检测终端设备关机的原因。
157.步骤

:如果终端设备关机的原因为终端设备的电量为零的情况下关机,则终端设备的第一充电模块从预设存储分区中获取充放电次数和第一电压门限值。
158.可选的,如果终端设备关机的原因不是低电量关机(即不是电量为零的情况下关机),则终端设备不执行以下步骤,即终端设备不需要获取充放电次数和第一电压门限值。
159.可选的,终端设备关机的原因不是低电量关机可以为:用户手动关机;或者,终端设备定时关机等,不予限制。
160.需要说明的是,由于终端设备的电池老化的原因可能是电池的充放电次数造成的,因此本技术实施例可以根据电池的充放电次数确定目标电压门限值,即根据电池的充放电次数确定新的电压门限值,基于该新的电压门限值使终端设备能够快速进入kernel阶段,避免终端设备反复进入kernel阶段,损坏终端设备的电池,影响电池寿命等。可选的,终端设备可以从预设存储分区中获取充放电次数;或者,终端设备从电池中获取充放电次数;或者,终端设备从其他存储器中获取充放电次数,不予限制。
161.例如,如果终端设备的第一充电模块从预设存储分区中获取充放电次数,相应的,终端设备的预设存储分区向第一充电模块返回充放电次数和第一电压门限值。
162.其中,预设存储分区为终端设备的操作系统中的一块存储分区,用于存储终端设备在产线测试阶段的一些数据。比如,预设存储分区用于存储产线测试中的一些参数、图片等数据。在终端设备低电量关机的情况下,存储在预设存储分区中的数据不会丢失。在一些实施例中,当终端设备恢复出厂设置时,可以删除预设存储分区中的数据。
163.可选的,该预设存储分区可以为omeinfo分区,在实际实现时,该预设存储分区还可以为其他分区,不予限定。
164.步骤

:终端设备的第一充电模块根据充放电次数和第一电压门限值,确定目标电压门限值。
165.可选的,终端设备的第一充电模块首先根据充放电次数确定与充放电次数相关的电压调整值,然后根据第一电压门限值和电压调整值,确定目标电压门限值。示例性的,终端设备可以保存充放电次数与电压调整值的对应关系,基于该对应关系确定与充放电次数相关的电压调整值。
166.可选的,终端设备可以在第一充电模块中保存充放电次数与电压调整值的对应关系;或者,终端设备可以在预设存储分区中保存充放电次数与电压调整值的对应关系,终端设备在获取充放电次数和第一电压门限值的同时,获取预设存储分区中保存的充放电次数与电压调整值的对应关系;或者,终端设备还可以在其他存储分区中保存充放电次数与电压调整值的对应关系,不予限制。
167.例如,终端设备可以以表格或数组的形式保存充放电次数与电压调整值的对应关系。示例性的,该对应关系可以如下述表1所示。
168.表1
169.示例性的,如上述表1所示,如果终端设备的电池的充放电次数为300次,则对应表1中的level1,基于该对应关系,终端设备确定的电压调整值为50mv。在此基础上,终端设备可以将第一电压门限值与电压调整值之和作为目标电压门限值。比如,该目标电压门限值
为3.45v 50mv=3.50v。
170.需要说明的是,上述表1仅仅为本技术的一种示例,并不构成对本技术的限定。在实际实现时,该对应关系可以包括比表1更多或更少的档位;或者,该对应关系中可以不包括表1所示的档位,仅包括充放电次数和电压调整值,不予限制。
171.可选的,目标电压门限值为允许终端设备进入kernel阶段的最小电压门限值。
172.在一些实施例中,终端设备的第一充电模块确定目标电压门限值之后,一方面将目标电压门限值保存在预设存储分区中,另一方面获取外部电源的电能,将终端的电池电压持续充电至目标电压门限值。
173.步骤

:终端设备的第一充电模块将目标电压门限值保存在预设存储分区中。
174.在本技术实施例中,终端设备的第一充电模块将目标电压门限值保存在预设存储分区,目的是为了在每次进入kernel阶段时,基于目标电压门限值动态调整本次进入kernel阶段时的电压门限值。
175.步骤

:终端设备的第一充电模块将终端设备的电池电压持续充电至第二电压门限值。
176.需要说明的是,本技术实施例对于步骤

和步骤

的先后顺序不做限定,步骤

可以在步骤

之前执行,也可以在步骤

之后执行;或者,步骤

和步骤

可以同时执行,不予限定。
177.步骤

:终端设备的第一充电模块向第一启动模块返回充电状态。
178.其中,充电状态用于指示将终端设备的电池电压充电至第二电压门限值。
179.步骤

:终端设备的第一启动模块触发第二启动模块进入kernel阶段。
180.可选的,在本技术实施例中,如果第三电压门限值小于目标电压门限值,则终端设备将目标电压门限值作为本次进入终端设备的启动流程的kernel阶段的电压门限值;而后,终端设备将电池电压充电至目标电压门限值,进入kernel阶段。即在该方案中,第二电压门限值等于目标电压门限值。
181.可选的,如果第三电压门限值大于或等于目标电压门限值,且小于第四电压门限值与电压调整步进值之差,则终端设备将第三电压门限值与电压调整步进值之和作为本次进入终端设备的启动流程的kernel阶段的电压门限值。而后,终端设备将电池电压充电至第二电压门限值,且第二电压门限值大于目标电压门限值,进入kernel阶段。即在该方案中,第二电压门限值大于目标电压门限值。
182.其中,第三电压门限值为终端设备上一次进入终端设备的启动流程的kernel阶段的电压门限值。第四电压门限值为终端设备预先设置的允许进入kernel阶段的最大电压门限值;电压调整步进值为终端设备预先设置的电压门限值的调整间隔。
183.需要说明的是,对于第四电压门限值和电压调整步进值不作限定,以具体实现为准。例如,第四电压门限值可以为3.8v、4.0v等,不予限定;电压调整步进值可以为5mv、10mv等,不予限定。
184.以第四电压门限值为3.8v,电压调整步进值为10mv为例,示例性的,如果第三电压门限值大于或等于目标电压门限值,且小于(3.8v-10mv)=3.79v,则终端设备将第三电压门限值与10mv之和,作为本次进入kernel阶段的电压门限值。
185.在一些实施例中,由于终端设备将每次进入终端设备的启动流程的kernel阶段时
的电压门限值都记录在预设存储分区中,因此终端设备可以从预设存储分区中读取上一次进入终端设备的启动流程的kernel阶段时的电压门限值,并基于上一次进入终端设备的启动流程的kernel阶段时的电压门限值,以及电池的充放电次数确定的目标电压门限值,动态调整本次进入kernel阶段时的电压门限值。
186.例如,假设终端设备的电池充放电次数为300次,则基于表1所示,与电池充放电次数对应的电压调整值为50mv,那么,终端设备将3.45v 50mv=3.50v作为目标电压门限值。
187.可选的,如果终端设备获取上一次进入终端设备的启动流程的kernel阶段时的电压门限值(即第三电压门限值)为3.45v,则终端设备将3.50v作为本次进入终端设备的启动流程的kernel阶段的电压门限值。即当终端设备的电池电压达到3.50v后,进入终端设备的启动流程的kernel阶段。
188.可选的,如果终端设备获取上一次进入终端设备的启动流程的kernel阶段时的电压门限值(即第三电压门限值)为3.55v,则终端设备将3.55v 10mv=3.56v作为本次进入终端设备的启动流程的kernel阶段的电压门限值。即当终端设备的电池电压达到3.56v后,进入终端设备的启动流程的kernel阶段。
189.步骤
ⅹⅰ
:终端设备的第二启动模块在kernel阶段加载终端设备中的各个ic。
190.可选的,终端设备在进入kernel阶段后,点亮屏幕,并加载各个ic;之后,终端设备继续执行终端设备的启动流程,并进入加载操作系统阶段(比如进入android阶段,执行上层开机流程)。
191.可选的,响应于用户的开机操作,终端设备开机成功,并显示开机界面;或者,终端设备在进入加载操作系统阶段后,终端设备开机成功,并显示开机界面,不予限定。
192.以终端设备为手机为例,示例性的,如图12所示,响应于用户的开机操作,手机开机成功,并在开机成功后显示手机的主界面。
193.可以理解的是,本技术实施例中,由于终端设备的电池老化,导致终端设备的内阻增大,从而导致终端设备存在反复进入kernel阶段的问题。基于此,在终端设备更换电池后,终端设备可以恢复进入kernel阶段的电压门限值。示例性的,终端设备可以将第一电压门限值存储在预设存储分区中,后续,在终端设备的电池电压达到第一电压门限值时,终端设备进入kernel阶段。
194.在该方案中,终端设备在更换电池后,可以在终端设备的电池电压达到第一电压门限值时,进入kernel阶段,无需计算新的电压门限值(即目标电压门限值),从而可以降低终端设备的功耗,提高终端设备的使用寿命。
195.图13为本技术实施例提供的一种充电方法的流程示意图,如图13所示,该方法可以包括如下步骤。
196.步骤301:在终端设备的电量为零的情况下,终端设备开始充电,并进入终端设备的启动流程;其中,终端设备的启动流程包括abl阶段和kernel阶段。
197.步骤302:在第一时间点,进入kernel阶段;第一时间点,终端设备的电池电压为第一电压门限值;第一电压门限值为终端设备预先配置的,由abl阶段进入kernel阶段时的电压门限值。
198.步骤303:在第二时间点,进入abl阶段。
199.步骤304:在第三时间点,当终端设备的电池电压达到第一电压门限值时,不进入
kernel阶段。
200.步骤305:在第四时间点,进入kernel阶段,并开机成功;第四时间点,终端设备的电池电压为第二电压门限值,第二电压门限值大于第一电压门限值。
201.其中,对于步骤301-步骤305的描述可以参照上述步骤201-步骤202,以及上述步骤i-步骤xi的相关描述,此处不再赘述。
202.在一些实施例中,该方法还包括:终端设备更换电池;在终端设备的电量为零的情况下,终端设备开始充电,并进入终端设备的启动流程。在第五时间点,进入kernel阶段;第五时间点,终端设备的电池电压为第一电压门限值。
203.需要说明的是,本技术的各个实施例所记载的内容可以解释说明、本技术实施例的其他实施例中的技术方案,各个实施例中所记载的技术特征也可以在其他实施例中应用,与其他实施例中的技术特征进行结合形成新的方案,本技术只是示例性的列举几个实施例进行说明,并不代表本技术局限于此。
204.本技术实施例提供一种终端设备,该终端设备可以包括:存储器以及一个或多个处理器;存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得终端设备执行上述终端设备执行的各个功能或者步骤。该终端设备的结构可参考上述图7所示的终端设备100的结构。
205.本技术实施例还提供一种芯片系统,应用于终端设备中。如图14所示,该芯片系统1100包括至少一个处理器1101和至少一个接口电路1102。其中,处理器1101可以是上述实施例中图7所示的处理器110。接口电路1102例如可以为处理器110和外部存储器之间的接口电路;或者为处理器和内部存储器121之间的接口电路。
206.上述处理器1101和接口电路1102可通过线路互联。例如,接口电路1102可用于从其他装置(例如电子设备100的存储器)接收信号。又例如,接口电路1102可用于向其他装置(例如处理器1101)发送信号。示例性的,接口电路1102可读取存储器中存储的指令,并将该指令发送给处理器1101。当指令被处理器1101执行时,可使得电子设备执行上述实施例中手机执行的各个功能或者步骤。当然,该芯片系统还可以包含其他分立器件,本技术实施例对此不作具体限定。
207.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在终端设备上运行时,使得该终端设备执行上述方法实施例中终端设备执行的各个功能或者步骤。
208.本技术实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中终端设备执行的各个功能或者步骤。
209.需要说明的是,本技术的说明书、权利要求书及附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
210.此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品
或设备固有的其它步骤或单元。
211.应当理解,在本技术中,“至少一个(项)”是指一个或者多个。“多个”是指两个或两个以上。“至少两个(项)”是指两个或三个及三个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系。例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
“…
时”以及“若”均指在某种客观情况下会做出相应的处理,并非是限定时间,且也不要求实现时要有判断的动作,也不意味着存在其它限定。
212.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
213.通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据系统而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
214.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
215.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
216.另外,在本技术各个实施例的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
217.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
218.以上内容,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何
在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1  
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
网站地图