首页 技术 正文
技术 2022年11月11日
0 收藏 407 点赞 4,134 浏览 3227 个字

ICO (input current optimizer)

手機接上 adapter 後,

手機裡的 charger IC bq25896 開始向 adapter 抽取 current 供給 battery 充電 及 系統消耗,( 這裡的電路圖是假設 adapter 直接接到 charger IC bq25896 )

每個 adapter 都有其負載能力的限制,

如:

有些可供

5V / 1A,

5V / 2A,

5.2V / 1.5A,

……….

倘若 手機接上 5V / 1A adapter,

手機裡的 bq25896 抽取 0.5A,0.5A 在範圍內,adapter 運作正常,

手機裡的 bq25896 抽取 2A,2A 超出範圍外,adapter 運作不正常,

這時 adapter 給手機的 Voltage,也就是 adapter 的 Vout,也就是手機裡的 charger ic bq25896 Vbus 就會往下掉,

有可能從 5V 掉至 3V,

然而手機裡有一個PMIC(power management ic), 有 UVLO 的 功能,會去偵測 Vbus,當 Vbus 小於 UVLO 的 setting後,手機會做些安全處理,譬如:disable charging,pop up warning message,…..

這不是正常行為,

為了避免這種狀況發生,

TI 實作了 ICO feature。


Automatic ICO detection after increase in charge current with V(BAT) > VMINSYS

快充 IC BQ25896 的 ICO (input current optimizer)

快充 IC BQ25896 的 ICO (input current optimizer)

當 enable ICO ( ICO_EN,Reg : 0x02,Bit : 0x04,Value : 1 ) 後,

1。bq25896 的 IDPM_LIM 會減少至 500 mA,

(此時的 input current 不能大於 500 mA 才會在 IDPM_LIM 顯示 500 mA,若 input current 大於 500 mA,

則會顯示實際 input current 的 mA)。

2。這時手機 system 慢慢加大 loading 或是 增大給 battery 的 ICHG,

adapter 的 Iout,也就是手機裡的 bq25896  Ibus,也會相對應的增加,這時的 IDPM_LIM 也會慢慢地增加,也就是會反應 bq25896 的 Ibus,

而 Vbus 會往下降。

3。而 Vbus 會往下降,碰觸至 VINDPM  ( VINDPM,Reg : 0x0D,Bit : 0x00 ~0x06 ),

也就是降到最低值,

( VDPM_STAT,Reg : 0x13,Bit : 0x07 ) 從 0 變為 1,

這時的 IDPM_LIM 就是 VINDPM 所對應的電流量,

但 此刻的 IDPM_LIM 值 還不是最終電流限制值,

最終電流限制值是此刻的 IDPM_LIM 再減一點,也就是 IDPM_LIM = IDPM_LIM – 一點點,(至於減多少,spec 是沒有講,上圖是降約 100 mA,但實驗數據是約 40 mA,以 10 mA 慢慢加載。)

這時  IDPM_LIM 才是 最終電流限制值,

VIMDPM_STAT 會從 1 變為 0, 原因是 IDPM_LIM 減少了一點點,因而 input current limit 降低了一點點,手機從 adapter 拉出來的電流也減少了一點點,因而 adapter 的 Vout 再回升一點點, adapter 的 Vout 比 VIMDPM 高一點點。

IDPM_STAT 會從 0 變為 1,原因是 從 adapter 拉了一個碰至 VIMDPM 的 Ibus,而後將 IDPM_LIM 減少一點點,因而 Ibus 頂到 IDPM_LIM,所以 IDPM_STAT 從 0 變至 1。

4。 ( ICO_OPTIMIZED,Reg : 0x14,Bit : 0x06 ) 會顯示 1,代表 input current 已優化完成。

問題:有時 charger 不能 reset ico 的功能,現象是 IDPM_LIM 不能回到 500 mA。


Automatic ICO detection after increase in charge current with V(BAT) < VMINSYS

快充 IC BQ25896 的 ICO (input current optimizer)

1。spec 上是寫說將 input current 設為 和 IINLIM 一樣的 電流,

input current 設成 1.5 A 後 (不論是慢慢或是突然拉),每次 IINDPM 動作的電流值都比 1.5A 小了許多,一直想不出原因,

看了許久,spec 上後面接了一句話,IINLIM 的值會由 VIMDPM loop 設成一個較小的值,再比對實驗後,

spec 上後面這句應該翻成,實際動作的 IINLIM 值,會由 VIMDPM loop 決定,且值會較小。

2。當頂到了 VIMDPM 及 IINDPM 後,

input current 慢慢減小,直到 離開 VINDPM status。

3。IDPM_ILIM 會被更新成 limit current value。

4。ICO_OPTIMIZED 會被設為1。

在實驗過程中,

會發現,

VINDPM status 會被設成 1,然後變0,

接著 IINDPM status 及 ICO_OPTIMIZED 都會被設為1。

但有時 VINDPM status 沒有被設為1 ,

而是直接 IINDPM status 及 ICO_OPTIMIZED 都會被設為1。

我在猜想應該是應用程式來不顯示 bit value,

於是將 ICO disable,加大電流,觀察 register,

VINDPM status 是會先設定,所以應該是 應用程式 來不及顯示其值。


快充 IC BQ25896 的 ICO (input current optimizer)

快充 IC BQ25896 的 ICO (input current optimizer)

Forced ICO Detection 只有 ICO_EN = 1 才有發生效用,然後 ico_optimized = 0,

Vbat 不論大於或小於 Vminsys,Forced ICO Detection 都是有作用的,

並不是像 spec 只有附上 Vbat > Vminsys,會讓人誤會 只有 Vbat > Vminsys, Force ICO Detection 才有enable,

(英語長進: Forced ICO Detectioon With V(BAT) > VMINSYS,還有 Forced ICO Detectioon With V(BAT) < VMINSYS,只是沒寫,別掉入自己的陷井,沒寫不代表沒有喔!)

上圖看到的階梯式 current wave,那不是 charger ic 自動產生的,那是 tester 自行加上的 loading。

1。一旦啟動 Forced ICO,charger ic 會 disable charging 10ms,並使用 10mA sink current 在 battery,

若 Vminsys > Vbat,10 mA 會流進 battery,

若 Vminsys <= Vbat,10mA 不會流進 battery,

藉由 10mA 判斷 Vminsys Vbat 大小關係。

2。Vbat > Vminsys 有 disable charging 10 ms,

Vbat < Vminsys 沒有 disable charging 10 ms,

接下來的動作,就依照前述 Vminsys > Vbat 及 Vminsys < Vbat 的 處理方式,

為什麼會取名為 Forced ICO 呢?

取為 reset ico 不是較合適嗎? (依以上實驗結果動作來看)


以下是在講解 ico 何時會再重新 重新執行 ico (除了 forced ico),

及 bq25890/5x 若偵測到 dct/hvdcp 則 ico 會自動執行。

快充 IC BQ25896 的 ICO (input current optimizer)


小結:

目前尚不理解,Vbat < Vsysmin,Vbat > Vsysmin 兩種狀況的處理方式 為什麼要不同,

實際的實驗數值僅差了 50 mA。


感謝 TI enginer 的解釋,

終於知道為什麼 Vbat < Vsysmin,Vbat > Vsysmin 兩種狀況的處理方式 不一樣。

在 Vbat > Vsysmin 時,

Vbat 有足夠的能量提供給 system ,

充電器在偵測時就不用提供給 system,

所以在執行 ico 時,

充電器就可以慢慢地被手機抽電流偵測最大的電流量。

在 Vbat < Vsysmin 時,

Vsysmin 的定義是,當 Vbat < Vsysmin,接上充電器,提供給 system 至少要多少 V,

所以 充電器 會被抽電流來提供給 system,

因此,Ibus 一開始就會非常大(前提是 system 要吃載)。


Reference : http://www.ti.com/lit/an/slva812/slva812.pdf

若有錯誤請不吝指導,將會修改錯誤地方,

上一篇: pstack
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,493
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295