快充 IC BQ25896 的 ICO (input current optimizer)
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


當 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

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 是會先設定,所以應該是 應用程式 來不及顯示其值。


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 會自動執行。

小結:
目前尚不理解,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
若有錯誤請不吝指導,將會修改錯誤地方,
快充 IC BQ25896 的 ICO (input current optimizer)的更多相关文章
- 快充 IC BQ25896 的 input current monitor
BQ25896 沒有顯示 input current 的 register, 但可以讀 ILIM pin 的 電壓 做計算求出 input current.
- 快充 IC BQ25896 的 Dynamic Power Management
Spec 更正: 上面紅色框框應該還要再增加一個 ILIM pin 硬體所設定的 input current limit, 也就是說 input current limit 最多可以從這 3 個 IL ...
- 快充 IC BQ25896 如何判斷 手機插著 adapter 充電器時,adapter Iout 大於限制,adapter Vout 小於 限制,導致 battery 不但沒充電且還需放電。
若電池在 放電時,ICHGR 為0. 若電池在 充電時,ICHGR有變化. 下面有寫到 charge current 所以不是 discharge current 狀況: ...
- 快充 IC BQ25896 的 常用參數
一: POWER-PATH MANAGEMENT (有接 adapter) 1:Vbat > Vsysmin,Isys = 0A, BATFET disable Vsys = Vbat + 50 ...
- 第一次有人把小米9快充讲的这么简单明了qc3.0 usb pd
原文: http://www.chongdiantou.com/wp/archives/32093.html 2019年2月20日,小米在北京工业大学体育馆举办了盛况空前的小米9手机发布会,会上雷军揭 ...
- 集成多种协议、用于 USB-A 和 TYPE-C 双端口输出的快充协议芯片IP2726
1. 特性 支持 1A1C 支持 USB-A 和 TYPE-C 双端口输出 单口输出支持全部快充协议 双口同时插入时降压到 5V 快充规格 集成 QC2.0/QC3.0/QC4/QC4+输 ...
- 集成多种协议、用于 USBC 端口的快充协议芯片IP2723
1. 特性 快充规格 集成 QC4/QC4+输出快充协议 - 兼容 QC2.0/QC3.0 - 支持 Class B 电压等级 集成 FCP 输出快充协议 集成 SCP 输出快充协议 集成 ...
- 集成 12 种协议、可于 USBC 端口的快充协议芯片IP2188
1. 特性 支持 12 种 USB 端口快充协议 支持 USB TypeC PD2.0/PD3.0/PPS DFP 协议 支持多种充电协议(QC3.0/QC2.0,FCP,SCP, AFC,MT ...
- 一张图看懂高通QC1.0-QC4.0快充进化之路!QC2.0跟QC3.0充电区别
快充技术日新月异,快充市场百家争鸣的今天,高通QC快充依然主导着市场.如今QC快充已发展到第四代,每一代都有着革命性的进步.从QC1.0到QC4.0更新换代时间之短,不免让广大人民群众抱怨. “啥?老 ...
随机推荐
- 如何使用postman做接口测试
1.get请求传参 只要是get请求都可以在浏览器中直接发: 在访问地址后面拼 ?key=value&key=value 例如: 在浏览器中直接输入访问地址,后面直接拼需要传给服务器的参数 ...
- 基于网站地址URL传输session信息
在php的学习中,会话是我们常常用到的,那今天我们就来详细讲讲会话中的session: 一.session的工作机制:当开启session后,服务器会在服务器中保存session文件,然后再浏览器保存 ...
- python3 循环输出当前时间。
题目 暂停一秒输出(使用 time 模块的 sleep() 函数).循环输出当前时间. 代码: import time while True: time.sleep(1) print(time.str ...
- 一键生成属于自己的QQ历史报告,看看你对自己的QQ了解程度有多深?
目录 一键生成属于自己的QQ历史报告,看看你对自己的QQ了解程度有多深? 简介 功能截图 如何运行 编写思路 main.py模块 qq_bot模块 tkinter_gui模块 static_data模 ...
- Java并发编程的艺术 记录(三)
Java内存模型 并发编程的两个关键问题: 1.线程之间如何通讯. 2.线程间如何同步. 两种方式:共享内存和消息传递. Java的并发采用的是共享内存模型,Java线程之间的通信总是隐式进行,整个通 ...
- LeetCode(289)Game of Life
题目 According to the Wikipedia's article: "The Game of Life, also known simply as Life, is a cel ...
- POJ:2695-The Pilots Brothers' refrigerator
题目链接:http://poj.org/problem?id=2965 The Pilots Brothers' refrigerator Time Limit: 1000MS Memory Limi ...
- Angular Vue React 框架中的 CSS
框架中的 CSS Angular Vue React 三大框架 Angular Vue 内置样式集成 React 一些业界实践 Angular Angular . js (1.x):没有样式集成能力 ...
- matlab图形handle
- webpack 环境搭建+实现热更新
让我们一起构建一个小的app 为了便于你更好的了解Webpack带来的好处,我们将会构建一个非常小的app并将资源文件打包.在这个教程中我推荐基于Node4或Node5和NPM3来进行开发,这样就避免 ...