android 電源 充電 庫侖

2021-06-18 06:18:15 字數 1039 閱讀 7106

最近,一直在負責公司所有產品的電源/充電/庫侖這塊,先說說庫侖,它是整合在電池裡面的乙個晶元,用來準確的返回電池的資訊的,因為一般的電池的資訊是通過adc返回的資料,這樣的資料不是很精確,為了做到對電池的資訊的精確處理,所以公司的大多產品都用到了庫侖計,底層頁就是通過i2c讀取暫存器的資料實現的。

1:有庫侖計和一般電池的區別

有庫侖計的電池,一共有6個腳,而一般的電池只有三個腳;

有庫侖計的電池,讀取到的資料比沒庫侖計的電池讀取到的電池資訊更精確。

先貼圖:

如圖中看到的,通過scl和sda讀取6b位址處的資料,就可以精確拿到電池的資訊。

通過下面的bq27541_level()讀取電池的電量等級,也就是百分數,而通過bq7541_vol()讀取到的即是電池的電量,其實最底層就是通過i2c_smbus_xfer實現的。

int bq27541_level(void)

else

return data;

}int bq27541_vol(void)

else

return data;

}下面這個圖,就是在備電電量低的時候,用來給備電充電的,在備電電量低的時候(會有乙個中斷)或者usb或者ac充電的時候,會給auxbat_chgen這個引腳乙個高電平,來啟動備電充電,xeint4-auxbatchg_det這個引腳是備電滿標誌,平時會因為上拉電阻,而呈現高電平,在充電的過程中,會保持低電平,而備電滿以後,這個引腳會由低變高。在變高的同時會清除auxbat_chgen這個引腳為低電平。

android關機充電

1 關機充電其實是進入adb shell很快的方式!2 手機關機時候插入usb,手機將進入關機充電模式,那麼這個模式究竟是怎麼進行的,這裡分析如下!1 uboot 這裡 大概瀏覽了一下 u boot arch arm lib board.c下的函式board init r中倒數最後幾行 do cbo...

android的電源管理

1.裝置的電源管理struct dev pm ops 在struct bus type,struct dev type,struct class,struct devic driver中包含有次結 構體對於rumtime,會一次檢查dev type,class,bus type,呼叫其中rumtim...

電源已接通,未充電 解決方案

筆記本出現這個問題已經很久了,之前我一直以為是電池壞了,遂買了塊新電池,然仍然充不進去電,終於找到了正確解決方案。首先,並不是電池壞了,因為如果電池壞了的話是會接通不了的,這時候你可以試試把電池拔了開機,顯示的並不相同,那樣會顯示檢測不到電源。然後壞掉的地方可能是主機板 介面卡,或者什麼都沒壞 如果...