一種終端及計(jì)算其初始電量的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及終端技術(shù)領(lǐng)域,具體涉及電子產(chǎn)品的充電技術(shù)領(lǐng)域,特別涉及一種終端及計(jì)算其初始電量的方法。
【背景技術(shù)】
[0002]當(dāng)前,基于智能操作系統(tǒng)的終端具有屏幕大、主頻高、運(yùn)行快等特點(diǎn),其功耗越來越大,導(dǎo)致電池拔插操作次數(shù)越來越頻繁。電池在拔插操作中經(jīng)歷放電-停止放電-放電這一張弛過程,會(huì)導(dǎo)致更換電池后檢測到的電量是虛高的,影響所顯示的電量的準(zhǔn)確性。并且,在拔插操作的關(guān)機(jī)階段,當(dāng)前由RTC(Real Time Clock,實(shí)時(shí)時(shí)鐘)保存電池的剩余電量,但是電池的停止放電使得RTC掉電,極易引起電池電量跳變。另外,RTC保存的電池電量具有記憶時(shí)效,即在超過預(yù)定時(shí)間后RTC保存的電池電量會(huì)被丟失,也會(huì)影響所顯示的電量的準(zhǔn)確性。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明實(shí)施例提供一種終端及計(jì)算其初始電量的方法,以提尚終端在電池拔插操作后所顯示的初始電量的準(zhǔn)確性。
[0004]本發(fā)明實(shí)施例提供的一種計(jì)算初始電量的方法,包括:獲取終端在關(guān)機(jī)階段其電池的剩余電量并保存;在終端由關(guān)機(jī)階段進(jìn)入開機(jī)階段時(shí),判斷當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池是否為同一個(gè);若是,則將剩余電量作為開機(jī)階段的初始電量;若否,則獲取在開機(jī)階段為終端供電的電池的當(dāng)前開路電壓,并查詢預(yù)先內(nèi)置的不同取值的開路電壓和初始電量的映射關(guān)系,得到當(dāng)前開路電壓對應(yīng)的初始電量。
[0005]其中,所述獲取在開機(jī)階段為終端供電的電池的當(dāng)前開路電壓的步驟包括:獲取為終端供電的電池在開機(jī)階段的啟動(dòng)裝載階段的當(dāng)前負(fù)載電壓和電流,所述啟動(dòng)裝載階段為終端的硬件初始化但未開啟并為操作系統(tǒng)準(zhǔn)備運(yùn)行環(huán)境的階段;查詢預(yù)先內(nèi)置的不同取值的負(fù)載電壓和內(nèi)阻的映射關(guān)系,得到當(dāng)前負(fù)載電壓對應(yīng)的內(nèi)阻,將內(nèi)阻與電流相乘后與當(dāng)前負(fù)載電壓相加即得到當(dāng)前開路電壓。
[0006]其中,所述判斷當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池是否為同一個(gè)的步驟包括:獲取在開機(jī)階段為終端供電的電池的當(dāng)前開路電壓,并將當(dāng)前開路電壓與剩余電量相比較;在當(dāng)前開路電壓與剩余電量相同時(shí),判定當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池為同一個(gè);在當(dāng)前開路電壓與剩余電量不相同時(shí),判定當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池不是同一個(gè)。
[0007]其中,所述判斷當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池是否為同一個(gè)的步驟包括:獲取在開機(jī)階段為終端供電的電池的當(dāng)前開路電壓,并將當(dāng)前開路電壓和剩余電量的差值與預(yù)設(shè)閾值相比較;在差值小于或等于預(yù)設(shè)閾值時(shí),判定當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池為同一個(gè);在差值大于所述預(yù)設(shè)閾值時(shí),判定當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池不是同一個(gè)。
[0008]其中,所述獲取終端在關(guān)機(jī)階段其電池的剩余電量并保存的步驟之后還包括:判斷終端是否進(jìn)行了電池拔插操作;若判定終端進(jìn)行了電池拔插操作,則執(zhí)行所述在終端由關(guān)機(jī)階段進(jìn)入開機(jī)階段時(shí),判斷當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池是否為同一個(gè)的步驟;若判定終端未進(jìn)行電池拔插操作,則將剩余電量作為開機(jī)階段的初始電量。
[0009]本發(fā)明實(shí)施例提供的一種終端,包括:第一獲取模塊,用于獲取終端在關(guān)機(jī)階段其電池的剩余電量;存儲(chǔ)模塊,用于保存剩余電量;處理模塊,用于在終端由關(guān)機(jī)階段進(jìn)入開機(jī)階段時(shí),判斷當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池是否為同一個(gè);若是,則將剩余電量作為開機(jī)階段的初始電量;第二獲取模塊,用于在處理模塊判定當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池不是同一個(gè)時(shí),獲取在開機(jī)階段為終端供電的電池的當(dāng)前開路電壓;處理模塊進(jìn)一步用于查詢預(yù)先內(nèi)置的不同取值的開路電壓和初始電量的映射關(guān)系,得到當(dāng)前開路電壓對應(yīng)的初始電量,映射關(guān)系預(yù)先存儲(chǔ)于存儲(chǔ)模塊中。
[0010]其中,所述第二獲取模塊用于獲取為終端供電的電池在開機(jī)階段的啟動(dòng)裝載階段的當(dāng)前負(fù)載電壓和電流,所述啟動(dòng)裝載階段為終端的硬件初始化但未開啟并為操作系統(tǒng)準(zhǔn)備運(yùn)行環(huán)境的階段,并查詢預(yù)先內(nèi)置的不同取值的負(fù)載電壓和內(nèi)阻的映射關(guān)系,得到當(dāng)前負(fù)載電壓對應(yīng)的內(nèi)阻,進(jìn)一步將內(nèi)阻與電流相乘后與當(dāng)前負(fù)載電壓相加即得到當(dāng)前開路電壓,所述預(yù)先內(nèi)置的不同取值的負(fù)載電壓和內(nèi)阻的映射關(guān)系預(yù)先存儲(chǔ)于所述存儲(chǔ)模塊中。
[0011]其中,處理模塊用于將當(dāng)前開路電壓與剩余電量相比較,在當(dāng)前開路電壓與剩余電量相同時(shí),判定當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池為同一個(gè),且在當(dāng)前開路電壓與剩余電量不相同時(shí),判定當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池不是同一個(gè)。
[0012]其中,處理模塊用于將當(dāng)前開路電壓和剩余電量的差值與預(yù)設(shè)閾值相比較,在所述差值小于或等于預(yù)設(shè)閾值時(shí),判定當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池為同一個(gè),且在所述差值大于預(yù)設(shè)閾值時(shí),判定當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池不是同一個(gè)。
[0013]其中,處理模塊還用于判斷終端是否進(jìn)行了電池拔插操作,并在判定進(jìn)行了電池拔插操作時(shí),判斷當(dāng)前為終端供電的電池與關(guān)機(jī)階段的電池是否為同一個(gè);在判定未進(jìn)行所述電池拔插操作時(shí),將剩余電量作為開機(jī)階段的初始電量。
[0014]本發(fā)明實(shí)施例的終端及計(jì)算其初始電量的方法,依據(jù)電池拔插操作前后的電池是否為同一個(gè)來得到當(dāng)前供電電池的初始電量,避免因RTC掉電引起的電池電量跳變以及因記憶時(shí)效導(dǎo)致的電池電量丟失等問題,提高終端在電池拔插操作后所顯示的初始電量的準(zhǔn)確性。
【附圖說明】
[0015]圖1是本發(fā)明的計(jì)算初始電量的方法一實(shí)施例的流程示意圖;
[0016]圖2是本發(fā)明的計(jì)算初始電量的方法另一實(shí)施例的流程示意圖;
[0017]圖3是本發(fā)明的終端一實(shí)施例的原理框示意圖;
[0018]圖4是本發(fā)明的終端一實(shí)施例的硬件結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0019]本發(fā)明實(shí)施例提供一種圖1所示的計(jì)算初始電量的方法,以準(zhǔn)確顯示終端在電池拔插操作后所顯示的初始電量,所謂初始電量(又稱初始化電量、電量的初始化)指的是終端在開機(jī)階段獲取并顯示的電池電量,例如終端屏幕右上方顯示的百分比形式的剩余電量。所述方法適用于智能手機(jī)、PDA (Personal Digital Assistant,個(gè)人數(shù)字助理或平板電腦)、便攜式通信裝置等任何需要電池供電的終端,還可以適用于智能手環(huán)、嵌入于衣服、首飾等服飾配件中的穿戴式設(shè)備。
[0020]如圖1所示,所述計(jì)算初始電量的方法包括:
[0021]步驟11:獲取終端在關(guān)機(jī)階段其電池的剩余電量并保存。
[0022]以MTK平臺(tái)的手機(jī)為例,電池的剩余電量由終端的充電線程獲取。充電線程主要負(fù)責(zé)控制電池的充電以及為終端供電的過程,并且充電線程在開啟后需要判斷電池的供電環(huán)境是否異常,所述供電環(huán)境包括電池的當(dāng)前溫度、開路電壓以及電池ID(Identity,標(biāo)識(shí)碼)中的至少一個(gè)。如果供電環(huán)境異常,則停止供電;如果供電環(huán)境正常,則開始供電。
[0023]當(dāng)前充電線程每隔預(yù)定周期(例如10秒鐘)計(jì)算一次電池的剩余電量,需要保存的剩余電量為多個(gè)(取值相近、相同或不同),這無疑會(huì)明顯增加終端的操作系統(tǒng)的負(fù)擔(dān),因此本發(fā)明實(shí)施例僅保存關(guān)機(jī)階段的電池的剩余電量,以降低操作系統(tǒng)的負(fù)擔(dān)。
[0024]所述電池的剩余電量可以參考電池在開路狀態(tài)下的開路電壓(Open CircuitVoltage,簡稱0CV)為指標(biāo)。在操作系統(tǒng)運(yùn)行的過程中,由于終端所運(yùn)行的器件存在內(nèi)阻,電池的開路電壓難以準(zhǔn)確獲取。考慮到在關(guān)機(jī)階段