IT知识库 购物 网址 游戏 小说 歌词 快照 开发 股票 美女 新闻 笑话 | 汉字 软件 日历 阅读 下载 图书馆 编程 China
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程 CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
站长资讯 .NET新手 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA VisualStudio ASP.NET-MVC .NET控件开发 EntityFramework WinRT-Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动 Html-Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP OracleERP DynamicsCRM K2 BPM 信息安全 企业信息 Android开发 iOS开发 WindowsPhone WindowsMobile 其他手机 敏捷开发 项目管理 软件工程 SQLServer Oracle MySQL NoSQL 其它数据库 Windows7 WindowsServer Linux
  IT知识库 -> 领域驱动设计 -> 快充 IC BQ25896 的 ICO (input current optimizer) -> 正文阅读

[领域驱动设计]快充 IC BQ25896 的 ICO (input current optimizer)

快充 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。
Reference : http://www.ti.com/lit/an/slva812/slva812.pdf 
若有錯誤請不吝指導,將會修改錯誤地方,
上一篇文章      下一篇文章      查看所有文章
加:2017-01-25 03:35:02  更:2017-05-16 03:48:05 
 
  领域驱动设计 最新文章
领域驱动设计的基础知识总结
海西 · 云交付 DevOps实践落地方案
多服务器终端交互利器
《静儿的服务治理私房菜》服务治理和架构
服务治理概述
美团.点评服务治理框架
ASP.NET Zero
1.领域驱动简介.2.领域.子域.限界上下文.3.
东麓庄园系统开发
东麓庄园系统开发
技术频道: 站长资讯 .NET新手区 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA Visual Studio ASP.NET MVC .NET控件开发 Entity Framework WinRT/Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动设计 Html/Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP Oracle ERP Dynamics CRM K2 BPM 信息安全 企业信息化其他 Android开发 iOS开发 Windows Phone Windows Mobile 其他手机开发 敏捷开发 项目与团队管理 软件工程其他 SQL Server Oracle MySQL NoSQL 其它数据库 Windows 7 Windows Server Linux
脚本语言: vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程
网站开发: CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 新闻资讯 小游戏 Chinese Culture 股票 三丰软件 开发 中国文化 网文精选 阅读网 看图 日历 万年历 2019年6日历
2019-6-25 0:21:52
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT知识库