电量检测方法及装置与流程

文档序号:11914185阅读:199来源:国知局
电量检测方法及装置与流程
本发明涉及移动终端
技术领域
,尤其涉及一种电量检测方法及装置。
背景技术
:随着移动终端技术的不断发展,其提供给用户的功能越来越纷繁,用户也日益需要准确地监测电池电量,以便灵活管理可用电源,明确显示剩余工作时间,尽可能延长系统运行的时间。以手机为例,现在大多数手机采用的电量检测方法还比较简单,缺乏精确度,如目前主流的检测方法是简单测量电池电压,然后估算相对应的电池剩余电量。为提升电量检测的精度,现有技术提出了一种改进的电量检测方案,即基于库仑计积分的电量检测,然而,这种电量检测方式的精度依赖于检测电池初始电量值的精度,若检测电池初始电量值存在误差,在后续使用库仑计积分方式计算电池的实时电量值时,会出现累积误差,导致手机的电量显示不准确、电池充不满电和突然关机等故障。技术实现要素:本发明的主要目的在于提供一种电量检测方法及装置,旨在提高移动终端电量检测的精确度。为实现上述目的,本发明提供一种电量检测方法,该电量检测方法包括以下步骤:侦测移动终端的系统启动阶段;在所述移动终端启动到preloader阶段时,获取所述移动终端电池的电量值;将获取的所述电量值作为所述电池的初始电量值,以供显示。可选地,所述获取所述移动终端电池的电量值的步骤包括:获取所述电池的开路电压值;基于获取的所述开路电压值以及预设的开路电压值与电量值的关联关系,确定所述电池的电量值。可选地,所述获取所述电池的开路电压值的步骤包括:基于预设的模数转换器获取所述电池的输出电压以及输出电流;基于获取的所述输出电压以及预设的输出电压和内阻值的关联关系,确定所述电池当前的内阻值,并计算确定的所述内阻值与所述输出电流的乘积;将所述输出电压与所述乘积的差值作为所述电池的开路电压值。可选地,所述获取所述移动终端电池的电量值的步骤之前,还包括:在所述移动终端启动到preloader阶段时,识别所述移动终端的充电功能是否处于使能状态;若是则关闭所述移动终端的充电功能,并转入执行所述获取所述移动终端电池的电量值的步骤。可选地,所述将获取的所述电量值作为所述电池的初始电量值,以供显示的步骤之后,还包括:开启所述移动终端的充电功能并基于所述初始电量值实时更新所述电池的电量值。此外,为实现上述目的,本发明还提供一种电量检测装置,该电量检测装置包括:侦测模块,用于侦测移动终端的系统启动阶段;检测模块,用于在所述移动终端启动到preloader阶段时,获取所述移动终端电池的电量值;设置模块,用于将获取的所述电量值作为所述电池的初始电量值,以供显示。可选地,所述检测模块还用于获取所述电池的开路电压值;还用于基于获取的所述开路电压值以及预设的开路电压值与电量值的关联关系,确定所述电池的电量值。可选地,所述检测模块还用于基于预设的模数转换器获取所述电池的输出电压以及输出电流;还用于基于获取的所述输出电压以及预设的输出电压和内阻值的关联关系,确定所述电池当前的内阻值,并计算确定的所述内阻值与所述输出电流的乘积;还用于将所述输出电压与所述乘积的差值作为所述电池的开路电压值。可选地,所述检测模块还用于在所述移动终端启动到preloader阶段时,识别所述移动终端的充电功能是否处于使能状态;还用于在所述移动终端的充电功能处于使能状态时,关闭所述移动终端的充电功能;还用于在关闭所述移动终端的充电功能后,获取所述移动终端电池的电量值。可选地,所述检测模块还用于开启所述移动终端的充电功能并基于所述初始电量值实时更新所述电池的电量值。本发明提出的电量检测方法及电量检测装置,通过在移动终端启动设备较少的preloader阶段检测其电池的电量值,并将preloader阶段检测到的电量值作为电池的电量值,提高了初始电量值的精确度,能够精准的反应出电池电量情况,在后续通过库仑计积分方式计算电量时,减少了其累积误差,从而提升了移动终端电量检测的精确度。附图说明图1为本发明电量检测装置第一实施例的框架结构示例图;图2为本发明电量检测装置第二实施例中电量检测电路的示例图;图3为本发明电量检测方法第一实施例的流程示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明提供一种电量检测装置,应用于安卓系统的移动终端,其具体可内置于移动终端,作为移动终端的整体实现功能,也可分离设置于移动终端,独立实现功能,其中,移动终端可以以各种形式来实施。例如,本发明中描述的移动终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等。本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。参照图1,在本发明电量检测装置的第一实施例中,该电量检测装置包括:侦测模块10,用于侦测移动终端的系统启动阶段;检测模块20,用于在移动终端启动到preloader阶段时,获取移动终端电池的电量值;设置模块30,用于将获取的电量值作为电池的初始电量值,以供显示。本领域技术人员可以理解的是,移动终端的系统启动过程包括三个阶段,分别为preloader、lk和kernel。发明人通过大量实验验证发现,preloader作为系统启动的第一个阶段,移动终端在此阶段只会启动少数设备;lk作为系统启动的第二个阶段,移动终端在此阶段只会启动部分设备;而kernel作为系统启动的第三个阶段,移动终端将在此阶段所有的设备。然而,现有不带独立电量计的移动终端的电量计算方式是:在系统启动到kernel阶段之后,通过设置的ADC(Analog-to-DigitalConverter,模数转换器)去检测电池电压值,然后通过电池电压值查找电压-电量对应关系表计算出电量值,然后通过库仑计进行积分方式计算电量。但是这样就会存在一个严重的问题,在移动终端开机启动到kernel时,由于其外围设备都已经启动,CPU和DDR都运行在较高的频率上,使得电池的负载会很大,导致电池电压ADC检测点的电流随之变大,进一步导致检测到的电池电压不准确,从而使计算出来的电池初始电量值存在较大误差,当后续使用库仑计积分方式计算电量时,会出现累积误差。有鉴于此,本发明的主旨在于:在移动终端启动到preloader阶段时,读取其电池的电量值作为初始电量值,在后续库仑计积分方式计算电量时,累积的错误也会减少,从而提升电量检测的精确度。具体的,在本实施例中,电量检测装置实时通过其侦测模块10对移动终端的系统启动阶段进行侦测,以确定移动终端当前的启动阶段。需要说明的是,preloader、lk和kernel这些系统镜像文件是存储在移动终端的Nand-flash中的。在上电时,BootRom首先启动,将preloader加载到内部的RAM中,当preloader被加载完成之后,程序就从BootRom跳转到preloader处开始执行,在preloader初始化好外部RAM之后,preloader将lk加载外部RAM中,然后跳转到lk中去执行,lk紧接着就加载kernel到外部RAM中,然后跳转至执行kernel部分,实现安卓系统的启动。在具体实施时,侦测模块10具体侦测移动终端是否基于BootRom将preloader加载到内部RAM中并跳转至preloader开始执行,其中,在移动终端将preloader加载到内部RAM中并跳转至preloader开始执行时,侦测模块10确定移动终端启动到preloader阶段。当确定移动终端启动到preloader阶段之后,侦测模块10传输移动终端启动到preloader阶段的指示信息至检测模块20。检测模块20在接收到侦测模块10传输的指示信息时,识别当前可以对移动终端的电池电量值进行检测,并对移动终端的电池电量值进行检测。其中,检测模块20检测电池电量值的方式可根据实际需要进行选取,本发明不做具体限制。在检测到电池的电量值之后,检测模块20将检测得到电量值传输至设置模块30。设置模块30在接收到检测模块20传输的电量值之后,将接收的电量值作为移动终端的电池的电量值。本发明提出的电量检测装置通过在移动终端启动设备较少的preloader阶段检测其电池的电量值,并将preloader阶段检测到的电量值作为电池的电量值,提高了初始电量值的精确度,能够精准的反应出电池电量情况,在后续通过库仑计积分方式计算电量时,减少了其累积误差,从而提升了移动终端电量检测的精确度。进一步地,基于第一实施例,提出本发明电量检测装置的第二实施例,与第一实施例的区别在于,在本实施例中,进一步对检测模块20的电量检测操作进行详细描述,具体的,检测模块20还用于获取移动终端电池的开路电压值;还用于基于获取的开路电压值以及预设的开路电压值与电量值的关联关系,确定电池的电量值。需要说明的是,以下仅对上述区别进行描述,其他可参照前述第一实施例的相关描述,此处不再赘述。在本实施例中,检测模块20首先对移动终端的电池的开路电压值进行检测,其中,开路电压值为电池在无电流通过时正负极之间的电位差。在检测得到电池的开路电压值之后,检测模块20基于检测得到的开路电压值以及预设的开路电压值与电量值的关联关系,确定移动终端的电池的电量值。其中,该预设的开路电压值与电量值的关联关系可以储存在移动终端的本地存储器中,也可以储存在云端服务器中等,本发明不做具体限制。此外,在本实施例中,开路电压值与电量值的关联关系的设置具体取决于移动终端的电池特性,并通过大量实验验证得出。以手机为例,某型号手机电池的开路电压值与电量值的关联关系如下表1所示。电量值开路电压04336243053428254262642448422794210表1具体的,在检测电池的开路电压值时,检测模块20还用于基于预设的模数转换器获取电池的输出电压以及输出电流;还用于基于获取的输出电压以及预设的输出电压和内阻值的关联关系,确定电池当前的内阻值,并计算确定的内阻值与输出电流的乘积;还用于将输出电压与乘积的差值作为电池的开路电压值。参照图2,为准确检测电池的开路电压值,本实施例在电池的正极串联了采样电阻Rsense,如图2所示,在系统启动到preloader阶段时,检测模块20基于预设的模数转换器采集Rsense两端的电压IBAT(负载电压)和VBAT(输出电压),并将IBAT和VBAT值保存到Dram中传递到lk;在系统启动到lk时,检测模块20把保存在Dram中的IBAT和VBAT值读取出来,写入到kernelcmdline传递到kernel;在系统启动到kernel时,将保存在kernelcmdline中的IBAT和VBAT值提取出来,通过下面公式计算出电池的输出电流;其中,I表示电池的输出电流,Rsense表示采样电阻Rsense的阻值。同时,检测模块20基于检测到电池的输出电压(VBAT),以及预设的输出电压和内阻值的关联关系,确定电池当前的内阻值。其中,输出电压与内阻值的关联关系的设置具体取决于移动终端的电池特性,并通过大量实验验证得出。以手机为例,某型号手机电池的输出电压和内阻值的关联关系如下表2所示。内阻值输出电压1040416710404336103043131020429410104276100042589904241表2检测模块20在获取到电池当前的内阻值之后,通过下面公式计算出电池的电池开路电压:OCV=VBAT-(I*Rbat)其中,OCV表示电池的开路电压,VBAT表示电池的输出电压值,T表示电池的输出电流,Rbat表示电池的内阻值。需要说明的是,在设计电池的开路电压检测电路时,采样电阻Rsense需要选用高精密度的电阻,VBAT和IBAT的检查点需要看见Rsense的电阻两端,以减小检测时的误差,提高电量检测的精确度。进一步地,基于前述第一或第二实施例,提出本发明电量检测装置的第三实施例,与前述任一所述的区别在于,本实施例为进一步提高电量检测的精确度,检测模块20还用于在移动终端启动到preloader阶段时,识别移动终端的充电功能是否处于使能状态;还用于在移动终端的充电功能处于使能状态时,关闭移动终端的充电功能;还用于在关闭移动终端的充电功能后,获取移动终端电池的电量值。需要说明的是,本实施例与前述实施例的区别在于,本实施例在检测模块20检测电池电量的操作之前,增加了对移动终端充电功能的检测,以下仅针对该区别进行说明,其他可参照前述任一实施例,此处不再赘述。在本实施例中,检测模块20在接收到侦测模块10传输的移动终端启动到preloader阶段的指示信息时,首先识别移动终端的充电功能是否处于使能状态,即识别移动终端是否处于充电状态。需要说明的是,若移动终端处于充电状态,由于外部电源的拉高作用,将会导致检测到电池的电量值不准确。如基于第二实施例时,电池的IBAT和VBAT值将被拉高,导致检测模块20基于模数转换器采集到的IBAT和VBAT值不准确,进而导致检测到电池的电量值不准确。有鉴于此,为避免充电带来的影响,需要在检测电量的操作之前确保移动终端的充电功能已经关闭。相应的,在移动终端的充电功能处于使能状态时,检测模块20关闭移动终端的充电功能,并在关闭移动终端的充电功能后,获取移动终端电池的电量值。其中,检测模块20获取移动终端电池的电量值的操作可参照前述实施例,此处不再赘述。进一步地,在本实施例中,为避免移动终端因电量不足导致自动关机而影响用户使用,检测模块20还用于在设置模块30将检测模块20传输至设置模块30的电量值设置为电池的初始电量值之后,或者在将检测得到电量值传输至设置模块30之后,开启移动终端的充电功能并基于电池的初始电量值实时更新电池的电量值。本发明还提供一种电量检测方法,该电量检测方法由图1所示的电量检测装置执行,结合参照图1和图3,该电量检测方法包括:步骤S10,侦测移动终端的系统启动阶段;步骤S20,在移动终端启动到preloader阶段时,获取移动终端电池的电量值;步骤S30,将获取的电量值作为电池的初始电量值,以供显示。本领域技术人员可以理解的是,移动终端的系统启动过程包括三个阶段,分别为preloader、lk和kernel。发明人通过大量实验验证发现,preloader作为系统启动的第一个阶段,移动终端在此阶段只会启动少数设备;lk作为系统启动的第二个阶段,移动终端在此阶段只会启动部分设备;而kernel作为系统启动的第三个阶段,移动终端将在此阶段所有的设备。然而,现有不带独立电量计的移动终端的电量计算方式是:在系统启动到kernel阶段之后,通过设置的ADC(Analog-to-DigitalConverter,模数转换器)去检测电池电压值,然后通过电池电压值查找电压-电量对应关系表计算出电量值,然后通过库仑计进行积分方式计算电量。但是这样就会存在一个严重的问题,在移动终端开机启动到kernel时,由于其外围设备都已经启动,CPU和DDR都运行在较高的频率上,使得电池的负载会很大,导致电池电压ADC检测点的电流随之变大,进一步导致检测到的电池电压不准确,从而使计算出来的电池初始电量值存在较大误差,当后续使用库仑计积分方式计算电量时,会出现累积误差。有鉴于此,本发明的主旨在于:在移动终端启动到preloader阶段时,读取其电池的电量值作为初始电量值,在后续库仑计积分方式计算电量时,累积的错误也会减少,从而提升电量检测的精确度。具体的,在本实施例中,电量检测装置实时通过其侦测模块10对移动终端的系统启动阶段进行侦测,以确定移动终端当前的启动阶段。需要说明的是,preloader、lk和kernel这些系统镜像文件是存储在移动终端的Nand-flash中的。在上电时,BootRom首先启动,将preloader加载到内部的RAM中,当preloader被加载完成之后,程序就从BootRom跳转到preloader处开始执行,在preloader初始化好外部RAM之后,preloader将lk加载外部RAM中,然后跳转到lk中去执行,lk紧接着就加载kernel到外部RAM中,然后跳转至执行kernel部分,实现安卓系统的启动。在具体实施时,侦测模块10具体侦测移动终端是否基于BootRom将preloader加载到内部RAM中并跳转至preloader开始执行,其中,在移动终端将preloader加载到内部RAM中并跳转至preloader开始执行时,侦测模块10确定移动终端启动到preloader阶段。当确定移动终端启动到preloader阶段之后,侦测模块10传输移动终端启动到preloader阶段的指示信息至检测模块20。检测模块20在接收到侦测模块10传输的指示信息时,识别当前可以对移动终端的电池电量值进行检测,并对移动终端的电池电量值进行检测。其中,检测模块20检测电池电量值的方式可根据实际需要进行选取,本发明不做具体限制。在检测到电池的电量值之后,检测模块20将检测得到电量值传输至设置模块30。设置模块30在接收到检测模块20传输的电量值之后,将接收的电量值作为移动终端的电池的电量值。本发明提出的电量检测方法通过在移动终端启动设备较少的preloader阶段检测其电池的电量值,并将preloader阶段检测到的电量值作为电池的电量值,提高了初始电量值的精确度,能够精准的反应出电池电量情况,在后续通过库仑计积分方式计算电量时,减少了其累积误差,从而提升了移动终端电量检测的精确度。进一步地,基于第一实施例,提出本发明电量检测方法的第二实施例,对应于前述电量检测装置的第二实施例,与第一实施例的区别在于,在本实施例中,进一步对步骤S20进行详细描述,具体的,步骤S20包括:获取移动终端电池的开路电压值;基于获取的开路电压值以及预设的开路电压值与电量值的关联关系,确定电池的电量值。需要说明的是,以下仅对上述区别进行描述,其他可参照前述第一实施例的相关描述,此处不再赘述。在本实施例中,检测模块20首先对移动终端的电池的开路电压值进行检测,其中,开路电压值为电池在无电流通过时正负极之间的电位差。在检测得到电池的开路电压值之后,检测模块20基于检测得到的开路电压值以及预设的开路电压值与电量值的关联关系,确定移动终端的电池的电量值。其中,该预设的开路电压值与电量值的关联关系可以储存在移动终端的本地存储器中,也可以储存在云端服务器中等,本发明不做具体限制。此外,在本实施例中,开路电压值与电量值的关联关系的设置具体取决于移动终端的电池特性,并通过大量实验验证得出。以手机为例,某型号手机电池的开路电压值与电量值的关联关系如表1所示。进一步地,在本实施例中,前述获取移动终端电池的开路电压值的步骤包括:基于预设的模数转换器获取电池的输出电压以及输出电流;基于获取的输出电压以及预设的输出电压和内阻值的关联关系,确定电池当前的内阻值,并计算确定的内阻值与输出电流的乘积;将输出电压与乘积的差值作为电池的开路电压值。参照图2,为准确检测电池的开路电压值,本实施例在电池的正极串联了采样电阻Rsense,如图2所示,在系统启动到preloader阶段时,检测模块20基于预设的模数转换器采集Rsense两端的电压IBAT(负载电压)和VBAT(输出电压),并将IBAT和VBAT值保存到Dram中传递到lk;在系统启动到lk时,检测模块20把保存在Dram中的IBAT和VBAT值读取出来,写入到kernelcmdline传递到kernel;在系统启动到kernel时,将保存在kernelcmdline中的IBAT和VBAT值提取出来,通过下面公式计算出电池的输出电流;其中,I表示电池的输出电流,Rsense表示采样电阻Rsense的阻值。同时,检测模块20基于检测到电池的输出电压(VBAT),以及预设的输出电压和内阻值的关联关系,确定电池当前的内阻值。其中,输出电压与内阻值的关联关系的设置具体取决于移动终端的电池特性,并通过大量实验验证得出。以手机为例,某型号手机电池的输出电压和内阻值的关联关系如表2所示。检测模块20在获取到电池当前的内阻值之后,通过下面公式计算出电池的电池开路电压:OCV=VBAT-(I*Rbat)其中,OCV表示电池的开路电压,VBAT表示电池的输出电压值,T表示电池的输出电流,Rbat表示电池的内阻值。需要说明的是,在设计电池的开路电压检测电路时,采样电阻Rsense需要选用高精密度的电阻,VBAT和IBAT的检查点需要看见Rsense的电阻两端,以减小检测时的误差,提高电量检测的精确度。进一步地,基于前述第一或第二实施例,提出本发明电量检测方法的第三实施例,对应于前述电量检测装置的第三实施例,与前述实施例的区别在于,为进一步提高电量检测的精确度,步骤S20之前,还包括:在移动终端启动到preloader阶段时,识别移动终端的充电功能是否处于使能状态;若是则关闭移动终端的充电功能,并转入执行步骤S20。需要说明的是,本实施例与前述实施例的区别在于,本实施例在检测模块20检测电池电量的操作之前,增加了对移动终端充电功能的检测,以下仅针对该区别进行说明,其他可参照前述任一实施例,此处不再赘述。在本实施例中,检测模块20在接收到侦测模块10传输的移动终端启动到preloader阶段的指示信息时,首先识别移动终端的充电功能是否处于使能状态,即识别移动终端是否处于充电状态。需要说明的是,若移动终端处于充电状态,由于外部电源的拉高作用,将会导致检测到电池的电量值不准确。如基于第二实施例时,电池的IBAT和VBAT值将被拉高,导致检测模块20基于模数转换器采集到的IBAT和VBAT值不准确,进而导致检测到电池的电量值不准确。有鉴于此,为避免充电带来的影响,需要在检测电量的操作之前确保移动终端的充电功能已经关闭。相应的,在移动终端的充电功能处于使能状态时,检测模块20关闭移动终端的充电功能,并在关闭移动终端的充电功能后,获取移动终端电池的电量值。其中,检测模块20获取移动终端电池的电量值的操作可参照前述实施例,此处不再赘述。进一步地,在本实施例中,为避免移动终端因电量不足导致自动关机而影响用户使用,步骤S30之后,还包括:开启移动终端的充电功能并基于初始电量值实时更新电池的电量值。具体的,检测模块20还用于在设置模块30将检测模块20传输至设置模块30的电量值设置为电池的初始电量值之后,或者在将检测得到电量值传输至设置模块30之后,开启移动终端的充电功能并基于电池的初始电量值实时更新电池的电量值。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术邻域,均同理包括在本发明的专利保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1