CN103226184B - 在多电池终端中获取电池信息的方法及多电池终端 - Google Patents
在多电池终端中获取电池信息的方法及多电池终端 Download PDFInfo
- Publication number
- CN103226184B CN103226184B CN201310091235.1A CN201310091235A CN103226184B CN 103226184 B CN103226184 B CN 103226184B CN 201310091235 A CN201310091235 A CN 201310091235A CN 103226184 B CN103226184 B CN 103226184B
- Authority
- CN
- China
- Prior art keywords
- battery
- place
- entity
- virtual
- batteries
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Secondary Cells (AREA)
Abstract
本发明适用于通信技术领域,提供了一种在多电池终端中获取电池信息的方法,包括步骤有:驱动层获取所有当前在位的实体电池的第一电池信息,并上报到系统层;所述系统层根据预定算法,计算生成与所有所述第一电池信息等效的第二电池信息,所述第二电池信息对应一个虚拟电池;应用程序从所述系统层中获取所述虚拟电池的所述第二电池信息。相应地,本发明还提供一种多电池终端。借此,本发明使得应用程序无需任何改变,便可直接获取多个实体电池等效的电池信息进行使用,有效地解决了现有多电池终端中获取电池信息时的软件兼容性问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种在多电池终端中获取电池信息的方法及多电池终端。
背景技术
目前通信终端等终端在电源管理中默认同时只有一个电池工作,因此应用程序会按照规范默认终端只有一个电池,应用程序也只提供一个电池的默认接口,并使用默认接口获取该电池的电池信息。
但对于有多个电池同时工作的终端来说,会存在不兼容的情况:不同的终端支持的电池数量不同,同一个终端不同时刻在位的电池数量也可能不同,上层应用程序往往不知道终端到底有多少个电池;即使知道有多个电池,也没有相应的电池接口提供给每一个电池使用;即使有多个电池接口可使用,但对于应用程序(尤其是第三方应用程序)来说,难以进行有效判别,也不知道该怎样使用多个电池的电池信息。
图1是现有终端中获取电池信息的原理图,由于现有系统一般默认为终端只有一个电池,因此驱动层获取电池的充电状态、电量、电压、电流、温度等电池信息,并上报给系统层(即操作系统);系统层负责将所述电池信息组织成标准的数据格式,并提供标准的API(Application Programming Interface,应用程序编程接口)接口给应用程序。不同的应用程序可按照系统层统一提供的API接口获取默认的电池信息,并按照约定的数据格式进行解析,获取所需数据。现有终端中获取电池信息技术存在如下缺陷:
1、从实体电池到驱动层、系统层默认只有一个实体电池,因此数据传输路径只有一条,如果再出现第二个实体电池,则没有数据传输路径可供数据上报。
2、系统层的数据结构中没有电池的ID(IDentity,标识)信息,无法有效地进行电池个体的区分。
3、应用层的API接口是约定好的,也默认只有一个电池,迫于与第三方应用程序的兼容性考虑,不可能进行修改,因此应用程序仅通过该API接口无法获取多个电池的电池信息。
综上可知,现有技术在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种在多电池终端中获取电池信息的方法及多电池终端,其使得应用程序无需任何改变,便可直接获取多个实体电池等效的电池信息进行使用,有效解决了现有多电池终端中获取电池信息时的软件兼容性问题。
为了实现上述目的,本发明提供一种在多电池终端中获取电池信息的方法,包括步骤有:
驱动层获取所有当前在位的实体电池的第一电池信息,并上报到系统层;
所述系统层根据预定算法,计算生成与所有所述第一电池信息等效的第二电池信息,所述第二电池信息对应一个虚拟电池;
应用程序从所述系统层中获取所述虚拟电池的所述第二电池信息。
根据本发明所述的方法,所述系统层根据预定算法,计算生成与所有所述第一电池信息等效的第二电池信息,所述第二电池信息对应一个虚拟电池的步骤之后包括:
将所述第二电池信息组织成预定的数据格式并保存;
所述系统层将标准电池接口关联的数据通道重新映射到所述虚拟电池的第二电池信息;
所述应用程序从所述系统层中获取所述虚拟电池的所述第二电池信息的步骤包括:
所述应用程序通过所述系统层的所述标准电池接口,直接获取所述虚拟电池的所述第二电池信息。
根据本发明所述的方法,所述系统层扩展有私有电池接口;所述方法还包括:
所述应用程序通过所述系统层的所述私有电池接口,获取当前在位的至少一个所述实体电池的所述第一电池信息。
根据本发明所述的方法,所述第一电池信息和所述第二电池信息中包括有电池通道标识、电池在位数量、电池在位列表、电池通道掩模、容量、电量、电压、电流、在位状态和/或充电状态。
根据本发明所述的方法,所述第二电池信息的所述预定算法包括:
所述虚拟电池的所述电池在位数量,为所有当前在位的实体电池的数量;
所述虚拟电池的所述电池在位列表,为各个电池通道上实体电池的实际在位状态的列表;
所述虚拟电池的所述电池通道掩膜,为当前终端支持的电池通道的列表;
所述虚拟电池的所述容量,为所有当前在位的实体电池的容量之和;
所述虚拟电池的所述电量,为所有当前在位的实体电池的剩余电量之和与所有当前在位的实体电池的容量之和的比例关系;
所述虚拟电池的所述电压,为所有当前在位的实体电池并联处输出端的电压或所有当前在位的实体电池的电压的均值;
所述虚拟电池的所述电流,为所有当前在位的实体电池的电流之和;
所述虚拟电池的所述在位状态,为若所有实体电池均不在位,则虚拟电池处于不在位状态,否则虚拟电池处于在位状态;和/或
所述虚拟电池的所述充电状态,为若所有实体电池均不在充电状态,则虚拟电池处于非充电状态,否则虚拟电池处于充电状态。
本发明还提供一种多电池终端,包括驱动层、系统层以及应用程序,所述驱动层包括有:
信息获取模块,用于获取所有当前在位的实体电池的第一电池信息,并上报到系统层;
所述系统层包括有:
计算模块,用于根据预定算法,计算生成与所有所述第一电池信息等效的第二电池信息,所述第二电池信息对应一个虚拟电池;
所述应用程序,用于从所述系统层中获取所述虚拟电池的所述第二电池信息。
根据本发明所述的多电池终端,所述系统层还包括:
数据组织模块,用于将计算生成的所述第二电池信息组织成预定的数据格式并保存;
重新映射模块,用于将标准电池接口关联的数据通道重新映射到所述虚拟电池的第二电池信息;
所述应用程序用于通过所述系统层的所述标准电池接口,直接获取所述虚拟电池的所述第二电池信息。
根据本发明所述的多电池终端,所述系统层扩展有私有电池接口;
所述应用程序,用于通过所述系统层的所述私有电池接口,获取当前在位的至少一个所述实体电池的所述第一电池信息。
根据本发明所述的多电池终端,所述第一电池信息和所述第二电池信息中包括有电池通道标识、电池在位数量、电池在位列表、电池通道掩模、容量、电量、电压、电流、在位状态和/或充电状态。
根据本发明所述的多电池终端,所述第二电池信息的所述预定算法包括:
所述虚拟电池的所述电池在位数量,为所有当前在位的实体电池的数量;
所述虚拟电池的所述电池在位列表,为各个电池通道上实体电池的实际在位状态的列表;
所述虚拟电池的所述电池通道掩膜,为当前终端支持的电池通道的列表;
所述虚拟电池的所述容量,为所有当前在位的实体电池的容量之和;
所述虚拟电池的所述电量,为所有当前在位的实体电池的剩余电量之和与所有当前在位的实体电池的容量之和的比例关系;
所述虚拟电池的所述电压,为所有当前在位的实体电池并联处输出端的电压或所有当前在位的实体电池的电压的均值;
所述虚拟电池的所述电流,为所有当前在位的实体电池的电流之和;
所述虚拟电池的所述在位状态,为若所有实体电池均不在位,则虚拟电池处于不在位状态,否则虚拟电池处于在位状态;和/或
所述虚拟电池的所述充电状态,为若所有实体电池均不在充电状态,则虚拟电池处于非充电状态,否则虚拟电池处于充电状态。
本发明多电池终端的驱动层增加了对多电池的支持,可独立获取所有当前在位的实体电池的第一电池信息,并上报到系统层;系统层根据预定算法和所有实体电池的第一电池信息,综合计算出与所有实体电池等效的一个虚拟电池,所述虚拟电池的第二电池信息与所有第一电池信息等效;应用程序可从系统层中获取虚拟电池的第二电池信息进行使用。借此,本发明使得应用程序无需任何改变,便可直接获取多个实体电池等效的电池信息进行电源管理等方面的使用,有效解决了现有多电池终端中获取电池信息时的软件兼容性问题,使得原来仅支持单电池终端的应用程序,可平滑地兼容多电池终端,因此具备高度的兼容性。优选的是,本发明多电池终端的系统层可扩展有私有电池接口,应用程序可通过私有电池接口获取当前在位的每一个实体电池的第一电池信息,以灵活满足特殊应用的需要。
附图说明
图1是现有终端中获取电池信息的原理实例图;
图2是本发明优选多电池终端的结构示意图;
图3是本发明多电池终端中获取电池信息的原理实例图;
图4是本发明电池信息的数据结构图;
图5是本发明电池信息的存储示意图;
图6是本发明在多电池终端中获取电池信息的方法流程图;
图7是本发明优选在多电池终端中获取电池信息的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图2是本发明多电池终端的结构示意图,所述多电池终端100可以是同时支持两个或两个以上的实体电池的手机、PDA(Personal Digital Assistant,个人数字助理)、平板电脑等,并且所述多电池终端100包括有驱动层10、系统层20以及应用程序30,其中:
所述驱动层10包括有:
信息获取模块11,用于获取所有当前在位的实体电池的第一电池信息,并上报到系统层。驱动层10通过扩展原有的电池接口,加对多电池的支持,可独立的获取每一个实体电池的第一电池信息。所述第一电池信息是指实体电池的电池信息,具体可以包括有容量、电量(百分比)、电压、电流、温度、在位状态和/或充电状态等。
所述系统层20包括有:
计算模块21,用于根据预定算法,计算生成与所有第一电池信息等效的第二电池信息,第二电池信息对应一个虚拟电池。系统层20根据预定算法和所有实体电池的第一电池信息,综合计算出与所有实体电池等效的一个虚拟电池。所述第二电池信息中除了包括有容量、电量、电压、电流、在位状态、温度和/或充电状态等之外,为对多个实体电池进行区分,需扩展该数据结构,优选增加有:电池通道标识、电池在位数量、电池在位列表、电池通道掩模等。
所述应用程序30,用于从系统层20中获取虚拟电池的第二电池信息。于是,应用程序30无需任何改变,便可直接获取多个实体电池等效的电池信息进行使用,有效解决了现有多电池终端100中获取电池信息时的软件兼容性问题。
更好的是,所述系统层20还包括有:
数据组织模块22,用于将计算生成的第二电池信息组织成预定的数据格式并保存。
重新映射模块23,用于将标准电池接口关联的数据通道重新映射到虚拟电池的第二电池信息。所述标准电池接口优选为标准API接口。
应用程序30,用于通过系统层的标准电池接口,直接获取虚拟电池的第二电池信息。
系统层20继承原有标准API接口,将此标准API接口获取数据的通道重新映射,与虚拟电池的数据结构相关联。即应用层30通过标准API接口获取电池信息时,实际上获取的是虚拟电池的电池信息。从应用层看,原有的标准API接口不作任何变更,使用方法完全相同。因此应用程序,尤其是第三方应用程序,无需考虑实体电池个数的问题,直接通过默认接口获取虚拟电池的数据使用即可,具有良好的兼容性。
更好的是,所述系统层20扩展有私有电池接口。所述私有电池接口优选为私有API接口。
所述应用程序30,用于通过系统层20的私有电池接口,获取当前在位的至少一个实体电池的第一电池信息。在原有接口基础上扩展私有API接口时,上层应用程序30可通过该私有API接口,获取每一个实体电池的数据。
图3是本发明多电池终端中获取电池信息的原理实例图,主要思想是:
1、硬件支持相互独立的多个实体电池同时工作;
2、驱动层增加对多电池的支持,可独立的获取每一个实体电池的所有第一电池信息;
3、驱动层通过扩展原有的电池接口,将每个实体电池完整的第一电池信息上报到系统层;
4、系统层获取所有第一电池信息后,采用一定的算法,根据所有实体电池的状态,虚拟出一个默认的虚拟电池,该虚拟电池对应的第二电池信息可反映出所有实体电池的等效状态。
5、将系统层原有的标准API接口和与虚拟电池绑定,这样所有的应用程序还是默认的遵从原有的标准,认为只有一个电池,实际上获取的是等效的电池信息,从而实现了平滑过渡。
6、另提供新的私有API接口、增加私有数据结构,能为应用程序提供获取每一个实体电池的第一电池信息的途径。
一、硬件设计
1、每一个实体电池都具有相对独立的电池通道(包括电源连接器、总线等),每一个电池通道都可进行独立的区分,以电池通道标识区分不同电池,同一实体电池可接在不同的电池通道上。
2、对每一个接入终端的实体电池,应具备有效手段,可相对独立对的每一个实体电池的必要电池信息进行采集。
3、每一个实体电池都应当具有电池在位检测手段,以便系统可及时响应每一个实体电池的插拔。
二、驱动层设计
1、驱动层提供一个电池的驱动,可对每一个电池进行管理;或提供一整套驱动,对每一个电池都具有一个独立的子驱动,以对该电池进行管理。
2、电池驱动应能独立的获取每一个实体电池的必要电池信息,并以电池通道标识对其进行区分。
3、驱动层提供与系统层进行数据传输的接口,可将不同电池的信息,以标准协议格式,独立上报到系统层。
三、系统层设计
系统层用于接收底层数据,并存储、重新组织并上报给应用层使用。
数据结构:原有的电池信息结构一般包括:电量、容量、电压、电流、温度、电池在位状态、充电状态等,电池信息以数据包的形式上报给系统层。为对多个实体电池进行区分,需扩展该数据结构,增加:电池通道标识、电池在位数量、电池在位列表、电池通道掩模,如图4所示,其中:
1、电池通道标识:用于区分不同的电池通道及其连接的终端,优选以整数形式,从“1”开始编号,在终端中每个电池通道具有独立的、唯一的ID编号,最好按照由低向高连续排列。虚拟电池的电池通道标识为“0”。
2、电池在位数量:优选以整数的方式用于记录当前终端上挂接有多少个实体电池。
3、电池在位列表:优选以二进制数据的每一位表示一个电池通道,“最低位”对应“电池通道0”,由低到高与“电池通道标识”一一对应表示。每一位具有“0”和“1”两种状态,分别表示当前时刻与该位对应的电池通道上是否挂接有电池,“0”表示存在电池,“1”表示不存在电池。
4、电池在位掩模:优选以二进制数据的每一位表示一个电池通道,“最低位”对应“电池通道0”,由低到高与电池通道标识一一对应表示。掩膜表示当前终端能支持的通道列表,“1”表示支持,“0”表示不支持。
例如,以8位的二进制整数为例:
某多电池终端100最多支持三个电池通道(1、2、3),因此将二进制掩膜低三位设置为“1”,即(0b00000111)。
当前只有“通道1”和“通道3”有电池,因此将“第1位”和“第3位”置“1”,“第2位”置“0”,即(0b00000101)。当前电池数量设置为整数“2”。
数据存储:系统层对获取的实体电池的电池信息按照上述数据结构,分别进行存储,以电池通道标识进行区分,如图5。其中对于实体电池来说,电池在位数量、电池在位列表、电池通道掩膜三项无效,可空缺。
四、虚拟电池设计
系统层根据所获取的实体电池的第一电池信息,按照预定算法,将之综合成为一个虚拟电池,并按照上述数据结构予以存储。虚拟电池是将当前在位的所有实体电池等效的看做一个电池,虚拟电池各项数据需要尽量真实的描述当前在位的所有实体电池的等效状态,更好的是,虚拟电池的第二电池信息的预定算法包括:
1、虚拟电池的电池通道标识:虚拟电池通道标识为“0”,系统默认从“电池0”获取电池信息。
2、虚拟电池的电池在位数量,为所有当前在位的实体电池的数量,优选以整数表示。
3、虚拟电池的电池在位列表,为各个电池通道上实体电池的实际在位状态的列表,以每一位表示一个实体电池的在位状态。
4、虚拟电池的电池通道掩膜,为当前终端支持的电池通道的列表,用于和所述电池在位列表配合检索系统中的实体电池在位情况。
5、虚拟电池的容量,为所有当前在位的实体电池的容量之和。电池的电量的容积,即电池存储的电荷(电量)的能力上限,反映的是当前系统中电池容纳电量的能力,一般以mAh(毫安)为单位,虚拟电池的容量的算法如下:
其中n为终端支持的电池通道的总数,为常量;“在位状态i”即“电池i的在位状态”,“0”表示电池i不在位,为“1”表示电池i在位;“容量i”即“电池i的容量值”。
例如,同时终端有电池1、电池2、电池3,容量分别为2000mAh、1000mAh和500mAh,其中电池1、3在位,电池2不在位,则:虚拟电池容量=[(2000mAh×1)+(1000mAh×0)+(500mAh×1)]=2500mAh。
6、虚拟电池的电量,为所有当前在位的实体电池的剩余电量之和与所有当前在位的实体电池的容量之和的比例关系。电量是电量百分比的简称,表示电池的当前剩余的能量与其总容量的比例关系。虚拟电池的电量的算法如下:
其中n为终端支持的电池通道的总数,为常量;“在位状态i”即“电池i的在位状态”,“0”表示电池i不在位,为“1”表示电池i在位;“电量i”即“电池i的电量百分比”。
例如,同时终端有电池1、电池2、电池3,容量分别为2000mAh、1000mAh和500mAh,测得电量分别为25%、50%、100%,其中电池1、3在位,电池2不在位,则:
虚拟电池电量百分比=[(2000mAh×25%×1)+(1000mAh×50%×0)+(500mAh×100%×1)]÷[(2000mAh×1)+(1000mAh×0)+(500mAh×1)]
=[500mAh+500mAh]÷[2000mAh+500mAh]
=40%
7、虚拟电池的电压,为所有当前在位的实体电池并联处输出端的电压或所有当前在位的实体电池的电压的均值。电压反应的是当前电池的电压值,虚拟电池的电压有两种情况:
若终端可在多个电池并联处输出端直接进行测量,则可将该处电压作为虚拟电池电压。
如不能直接测总电压,则虚拟电池电压可通过所有当前在位的实体电池的电压的均值代替:
其中n为终端支持的电池通道的总数,为常量;“在位状态i”即“电池i的在位状态”,“0”表示电池i不在位,为“1”表示电池i在位;“电压i”即“电池i的电压值”。
例如,同时终端有电池1、电池2、电池3,测得电压分别为3.8V、3.9V、4.0V,其中电池1、3在位,电池2不在位,则:虚拟电池电压=[(3.8V×1)+(3.9V×0)+(4.0×1)]÷[1+0+1]=7.8V÷2=3.9V。
8、虚拟电池的电流,为所有当前在位的实体电池的电流之和,为有符号数,分别以正/负代表电流的流进/流出。
其中n为终端支持的电池通道的总数,为常量;“在位状态i”即“电池i的在位状态”,“0”表示电池i不在位,为“1”表示电池i在位;“电流i”即“电池i的电流值”。
例如,同时终端有电池1、电池2、电池3,测得电流分别为300mA、0mA和(-100mA),其中电池1、3在位,电池2不在位,则:虚拟电池电流=[(300mA×1)+(0mA×0)+(-100mA×1)]=200mA。
9、虚拟电池的在位状态,为若所有实体电池均不在位,则虚拟电池处于不在位状态,否则虚拟电池处于在位状态,即只要有一个实体电池在位,则虚拟电池即在位。
10、虚拟电池的充电状态,为若所有实体电池均不在充电状态,则虚拟电池处于非充电状态,否则虚拟电池处于充电状态。即只要有一个实体电池在充电状态,则虚拟电池即处于充电状态。
对于一些特殊的应用程序,可能需要使用更详细的实体电池的电池信息,则应用程序需要了解私有电池接口的用法。
所述私有电池接口的用法优选为:
1、通过标准电池接口获取虚拟电池的第二电池信息,从中解析出电池在位数量、电池在位列表、电池通道掩膜这三项,则可知道当前终端中存在多少个实体电池、哪个实体电池在位,获取相应的电池通道标识。
2、通过私有API接口,根据解析出的电池通道标识,可获取想要的实体电池的第一电池信息。
本发明通过对标准API接口、私有API接口的控制,终端开发者可灵活控制产品信息是否向第三方应用开放。
本发明用于解决多电池终端的软件兼容性问题,可使原本只支持一个电池的系统,可平滑的兼容多电池终端。对于上层应用程序,尤其是第三方应用程序来说,无需考虑硬件上的差异,即可在不同的终端和不同电池在位状态下运行。使终端和应用程序均获得高度的兼容性,在多方开发的开放式操作系统上有良好的应用效果。
图6是本发明在多电池终端中获取电池信息的方法流程图,其可通过如图1或图2所示的多电池终端100实现,包括步骤有:
步骤S601,驱动层10获取所有当前在位的实体电池的第一电池信息,并上报到系统层20。
驱动层10通过扩展原有的电池接口,加对多电池的支持,可独立的获取每一个实体电池的第一电池信息。所述第一电池信息是指实体电池的电池信息,具体可以包括有容量、电量(百分比)、电压、电流、温度、在位状态和/或充电状态等。
步骤S602,系统层20根据预定算法,计算生成与所有第一电池信息等效的第二电池信息,第二电池信息对应一个虚拟电池。
系统层20根据预定算法和所有实体电池的第一电池信息,综合计算出与所有实体电池等效的一个虚拟电池。所述第二电池信息中除了包括有容量、电量、电压、电流、在位状态、温度和/或充电状态等之外,为对多个实体电池进行区分,需扩展该数据结构,优选增加有:电池通道标识、电池在位数量、电池在位列表、电池通道掩模等。
步骤S603,应用程序30从系统层20中获取虚拟电池的第二电池信息。
于是,应用程序30无需任何改变,便可直接获取多个实体电池等效的电池信息进行电源管理等方面的使用,有效解决了现有多电池终端中获取电池信息时的软件兼容性问题。
图7是本发明优选在多电池终端中获取电池信息的方法流程图,其可通过如图2所示的多电池终端100实现,包括步骤有:
步骤S701,驱动层10获取所有当前在位的实体电池的第一电池信息,并上报到系统层20。
步骤S702,系统层20根据预定算法,计算生成与所有第一电池信息等效的第二电池信息,第二电池信息对应一个虚拟电池。
步骤S703,将第二电池信息组织成预定的数据格式并保存。
步骤S704,系统层20将标准电池接口关联的数据通道重新映射到虚拟电池的第二电池信息。所述标准电池接口优选为标准API接口。
步骤S705,应用程序30通过系统层20的标准电池接口,直接获取虚拟电池的第二电池信息。
系统层20继承原有标准API接口,将此标准API接口获取数据的通道重新映射,与虚拟电池的数据结构相关联。即应用层30通过标准API接口获取电池信息时,实际上获取的是虚拟电池的电池信息。从应用层看,原有的标准API接口不作任何变更,使用方法完全相同。因此应用程序,尤其是第三方应用程序,无需考虑实体电池个数的问题,直接通过默认接口获取虚拟电池的数据使用即可,具有良好的兼容性。
系统层20扩展有私有电池接口,所述私有电池接口优选为私有API接口。
本发明方法还包括:
应用程序30通过系统层20的私有电池接口,获取当前在位的至少一个实体电池的第一电池信息。在原有接口基础上扩展私有API接口时,上层应用程序30可通过该私有API接口,获取每一个实体电池的数据。
更好的是,所述虚拟电池的第二电池信息的预定算法包括:
虚拟电池的电池在位数量,为所有当前在位的实体电池的数量;
虚拟电池的电池在位列表,为各个电池通道上实体电池的实际在位状态的列表;
虚拟电池的电池通道掩膜,为当前终端支持的电池通道的列表;
虚拟电池的容量,为所有当前在位的实体电池的容量之和;
虚拟电池的电量,为所有当前在位的实体电池的剩余电量之和与所有当前在位的实体电池的容量之和的比例关系;
虚拟电池的电压,为所有当前在位的实体电池并联处输出端的电压或所有当前在位的实体电池的电压的均值;
虚拟电池的电流,为所有当前在位的实体电池的电流之和;
虚拟电池的在位状态,为若所有实体电池均不在位,则虚拟电池处于不在位状态,否则虚拟电池处于在位状态;和/或
虚拟电池的充电状态,为若所有实体电池均不在充电状态,则虚拟电池处于非充电状态,否则虚拟电池处于充电状态。
综上所述,本发明多电池终端的驱动层增加了对多电池的支持,可独立获取所有当前在位的实体电池的第一电池信息,并上报到系统层;系统层根据预定算法和所有实体电池的第一电池信息,综合计算出与所有实体电池等效的一个虚拟电池,所述虚拟电池的第二电池信息与所有第一电池信息等效;应用程序可从系统层中获取虚拟电池的第二电池信息进行使用。借此,本发明使得应用程序无需任何改变,便可直接获取多个实体电池等效的电池信息进行电源管理等方面的使用,有效解决了现有多电池终端中获取电池信息时的软件兼容性问题,使得原来仅支持单电池终端的应用程序,可平滑地兼容多电池终端,因此具备高度的兼容性。优选的是,本发明多电池终端的系统层可扩展有私有电池接口,应用程序可通过私有电池接口获取当前在位的每一个实体电池的第一电池信息,以灵活满足特殊应用的需要。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (6)
1.一种在多电池终端中获取电池信息的方法,其特征在于,包括步骤有:
驱动层获取所有当前在位的实体电池的第一电池信息,并上报到系统层;
所述系统层根据预定算法,计算生成与所有所述第一电池信息等效的第二电池信息,所述第二电池信息对应一个虚拟电池;
应用程序从所述系统层中获取所述虚拟电池的所述第二电池信息;
所述第一电池信息包括有容量、电量、电压、电流、在位状态和/或充电状态;
所述第二电池信息中包括有电池通道标识、电池在位数量、电池在位列表、电池通道掩模、容量、电量、电压、电流、在位状态和/或充电状态;
所述第二电池信息的所述预定算法包括:
所述虚拟电池的所述电池在位数量,为所有当前在位的实体电池的数量;
所述虚拟电池的所述电池在位列表,为各个电池通道上实体电池的实际在位状态的列表;
所述虚拟电池的所述电池通道掩膜,为当前终端支持的电池通道的列表;
所述虚拟电池的所述容量,为所有当前在位的实体电池的容量之和;
所述虚拟电池的所述电量,为所有当前在位的实体电池的剩余电量之和与所有当前在位的实体电池的容量之和的比例关系;
所述虚拟电池的所述电压,为所有当前在位的实体电池并联处输出端的电压或所有当前在位的实体电池的电压的均值;
所述虚拟电池的所述电流,为所有当前在位的实体电池的电流之和;
所述虚拟电池的所述在位状态,为若所有实体电池均不在位,则虚拟电池处于不在位状态,否则虚拟电池处于在位状态;和/或
所述虚拟电池的所述充电状态,为若所有实体电池均不在充电状态,则虚拟电池处于非充电状态,否则虚拟电池处于充电状态。
2.根据权利要求1所述的方法,其特征在于,所述系统层根据预定算法,计算生成与所有所述第一电池信息等效的第二电池信息,所述第二电池信息对应一个虚拟电池的步骤之后包括:
将所述第二电池信息组织成预定的数据格式并保存;
所述系统层将标准电池接口关联的数据通道重新映射到所述虚拟电池的第二电池信息;
所述应用程序从所述系统层中获取所述虚拟电池的所述第二电池信息的步骤包括:
所述应用程序通过所述系统层的所述标准电池接口,直接获取所述虚拟电池的所述第二电池信息。
3.根据权利要求2所述的方法,其特征在于,所述系统层扩展有私有电池接口;所述方法还包括:
所述应用程序通过所述系统层的所述私有电池接口,获取当前在位的至少一个所述实体电池的所述第一电池信息。
4.一种多电池终端,包括驱动层、系统层以及应用程序,其特征在于,所述驱动层包括有:
信息获取模块,用于获取所有当前在位的实体电池的第一电池信息,并上报到系统层;
所述系统层包括有:
计算模块,用于根据预定算法,计算生成与所有所述第一电池信息等效的第二电池信息,所述第二电池信息对应一个虚拟电池;
所述应用程序,用于从所述系统层中获取所述虚拟电池的所述第二电池信息;
所述第一电池信息包括有容量、电量、电压、电流、在位状态和/或充电状态;
所述第二电池信息中包括有电池通道标识、电池在位数量、电池在位列表、电池通道掩模、容量、电量、电压、电流、在位状态和/或充电状态;
所述第二电池信息的所述预定算法包括:
所述虚拟电池的所述电池在位数量,为所有当前在位的实体电池的数量;
所述虚拟电池的所述电池在位列表,为各个电池通道上实体电池的实际在位状态的列表;
所述虚拟电池的所述电池通道掩膜,为当前终端支持的电池通道的列表;
所述虚拟电池的所述容量,为所有当前在位的实体电池的容量之和;
所述虚拟电池的所述电量,为所有当前在位的实体电池的剩余电量之和与所有当前在位的实体电池的容量之和的比例关系;
所述虚拟电池的所述电压,为所有当前在位的实体电池并联处输出端的电压或所有当前在位的实体电池的电压的均值;
所述虚拟电池的所述电流,为所有当前在位的实体电池的电流之和;
所述虚拟电池的所述在位状态,为若所有实体电池均不在位,则虚拟电池处于不在位状态,否则虚拟电池处于在位状态;和/或
所述虚拟电池的所述充电状态,为若所有实体电池均不在充电状态,则虚拟电池处于非充电状态,否则虚拟电池处于充电状态。
5.根据权利要求4所述的多电池终端,其特征在于,所述系统层还包括:
数据组织模块,用于将计算生成的所述第二电池信息组织成预定的数据格式并保存;
重新映射模块,用于将标准电池接口关联的数据通道重新映射到所述虚拟电池的第二电池信息;
所述应用程序用于通过所述系统层的所述标准电池接口,直接获取所述虚拟电池的所述第二电池信息。
6.根据权利要求5所述的多电池终端,其特征在于,所述系统层扩展有私有电池接口;
所述应用程序,用于通过所述系统层的所述私有电池接口,获取当前在位的至少一个所述实体电池的所述第一电池信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310091235.1A CN103226184B (zh) | 2013-03-20 | 2013-03-20 | 在多电池终端中获取电池信息的方法及多电池终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310091235.1A CN103226184B (zh) | 2013-03-20 | 2013-03-20 | 在多电池终端中获取电池信息的方法及多电池终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103226184A CN103226184A (zh) | 2013-07-31 |
CN103226184B true CN103226184B (zh) | 2015-09-02 |
Family
ID=48836700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310091235.1A Expired - Fee Related CN103226184B (zh) | 2013-03-20 | 2013-03-20 | 在多电池终端中获取电池信息的方法及多电池终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103226184B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685759B (zh) * | 2013-12-24 | 2015-05-20 | 华中科技大学 | 用于手机虚拟化的虚拟电池管理方法 |
US9696782B2 (en) | 2015-02-09 | 2017-07-04 | Microsoft Technology Licensing, Llc | Battery parameter-based power management for suppressing power spikes |
US20160241048A1 (en) * | 2015-02-18 | 2016-08-18 | Microsoft Technology Licensing, Llc | Battery Assembly Combining Multiple Different Batteries |
US10158148B2 (en) | 2015-02-18 | 2018-12-18 | Microsoft Technology Licensing, Llc | Dynamically changing internal state of a battery |
US9748765B2 (en) | 2015-02-26 | 2017-08-29 | Microsoft Technology Licensing, Llc | Load allocation for multi-battery devices |
US9939862B2 (en) | 2015-11-13 | 2018-04-10 | Microsoft Technology Licensing, Llc | Latency-based energy storage device selection |
US10061366B2 (en) | 2015-11-17 | 2018-08-28 | Microsoft Technology Licensing, Llc | Schedule-based energy storage device selection |
US9793570B2 (en) | 2015-12-04 | 2017-10-17 | Microsoft Technology Licensing, Llc | Shared electrode battery |
CN106501734B (zh) * | 2016-12-29 | 2019-05-31 | 东莞钜威动力技术有限公司 | 电池管理系统的电压采集故障处理方法及装置 |
CA3068293A1 (en) | 2017-06-26 | 2019-01-03 | Hubbell Incorporated | Distributed charging station |
CA3092263A1 (en) * | 2018-02-28 | 2019-09-06 | Hubbell Incorporated | Distributed charging station |
CN110850311B (zh) * | 2018-08-01 | 2022-04-26 | 西安中兴新软件有限责任公司 | 双电池显示电量的方法、装置和计算机可读存储介质 |
USD942930S1 (en) | 2019-01-17 | 2022-02-08 | Hubbell Incorporated | Charge center |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1160208A (zh) * | 1996-03-20 | 1997-09-24 | 周政达 | 可同时监测多数电池组的连续扫描记录方法 |
CN1394374A (zh) * | 2000-01-18 | 2003-01-29 | 高通股份有限公司 | 在电子装置中容纳一个以上电池的系统和方法 |
CN1553541A (zh) * | 2003-12-18 | 2004-12-08 | 武汉理工大学 | 一种基于can总线的多层分布式的电池管理系统 |
CN101176010A (zh) * | 2005-03-25 | 2008-05-07 | 高通股份有限公司 | 用于管理无线装置的电池性能的设备和方法 |
CN201282174Y (zh) * | 2008-08-13 | 2009-07-29 | 铨阳能源科技股份有限公司 | 分层架构式电池管理系统 |
CN101667668A (zh) * | 2008-09-03 | 2010-03-10 | 欧姆龙株式会社 | 多单元电池系统及管理编号赋予方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5208714B2 (ja) * | 2008-12-22 | 2013-06-12 | 株式会社東芝 | 組電池システム |
EP2282494B1 (en) * | 2009-07-08 | 2018-09-05 | Lg Electronics Inc. | Mobile terminal with multiple batteries |
-
2013
- 2013-03-20 CN CN201310091235.1A patent/CN103226184B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1160208A (zh) * | 1996-03-20 | 1997-09-24 | 周政达 | 可同时监测多数电池组的连续扫描记录方法 |
CN1394374A (zh) * | 2000-01-18 | 2003-01-29 | 高通股份有限公司 | 在电子装置中容纳一个以上电池的系统和方法 |
CN1553541A (zh) * | 2003-12-18 | 2004-12-08 | 武汉理工大学 | 一种基于can总线的多层分布式的电池管理系统 |
CN101176010A (zh) * | 2005-03-25 | 2008-05-07 | 高通股份有限公司 | 用于管理无线装置的电池性能的设备和方法 |
CN201282174Y (zh) * | 2008-08-13 | 2009-07-29 | 铨阳能源科技股份有限公司 | 分层架构式电池管理系统 |
CN101667668A (zh) * | 2008-09-03 | 2010-03-10 | 欧姆龙株式会社 | 多单元电池系统及管理编号赋予方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103226184A (zh) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103226184B (zh) | 在多电池终端中获取电池信息的方法及多电池终端 | |
CN103378378B (zh) | 一种充电方法及装置 | |
CN111142030B (zh) | 用于内短路电流检测方法、装置、设备及可读存储介质 | |
CN204243832U (zh) | 一种充电和输出兼容的多接口充电电路 | |
CN103675686A (zh) | 电动车辆动力电池充放电工况模拟系统和方法 | |
CN103730933A (zh) | 一种充电方法及电子设备 | |
CN103840525B (zh) | 移动存储电源 | |
CN103795124A (zh) | 一种实现多组锂电池并联循环充电的控制系统及其方法 | |
CN103683384A (zh) | 主机设备及其充电方法 | |
CN108146281A (zh) | 车辆动力电池组控制系统及其控制方法 | |
TW201240190A (en) | Battery pack and electronic apparatus thereof | |
CN106063072A (zh) | 终端 | |
CN104659881A (zh) | 移动终端的充电方法及装置 | |
CN106159356A (zh) | 一种电池及电子设备 | |
CN103902005B (zh) | 一种电池充电管理方法、装置及移动设备 | |
CN105281427A (zh) | 一种连续供电系统及方法 | |
CN103700900B (zh) | 移动终端充电的控制方法、装置、系统和移动终端 | |
CN103487619A (zh) | 电能数据存储方法 | |
CN108241125A (zh) | 一种模拟电池 | |
CN104113099A (zh) | 电子装置和控制充电的方法 | |
CN111129628B (zh) | 锂离子电芯充放电的控制方法、系统、介质及电子设备 | |
CN104281184B (zh) | 自适应电源系统及供电方法 | |
US20100005252A1 (en) | Storage control system | |
CN104035902A (zh) | 一种访问数据的方法及通信系统 | |
CN108808775A (zh) | 一种移动电源及其充放电的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150902 |
|
CF01 | Termination of patent right due to non-payment of annual fee |