前言

需求是「做到邊充邊用」並且體積小電路簡單。

也找過類似於 4056E 這樣的 SOP8 封裝的 Li-ion 充電方案, 但它沒辦法做到上述需求
(雖然可以配合一個 MOS 管來檢測5v用來關閉電池供電來實現, 但太麻煩了)

用它只是因爲實在找不到好用的PMIC(Power Management IC)解決方案了。
本來是想用 X-Powers 的 AXP 系列, 但是發現體積要麽很大不適合, 要麽就過於Heavy, 要麽就是 NDA 的(簡單來説就是簽保密協議, 要求資質)。

德克薩斯樂器 方案也不錯, 但是價格不菲, 而且傳説假貨橫行, 所以首先不采用。其實能用就行了XD

查閲大量資料之後, 好不容易找到一個非常適合嵌入式項目的 AXP176 超小 BGA 封裝, 但最後發現是一個餅, 連樣品都拿不到。

說在前面, 此文沒有任何業配。

簡單介紹

IP5209 是一個高度集成的充放電管理SoC, 特性如下

  • 最大輸出 2.4A
  • 升壓效率高達 96%
  • 壓降效率高達 97%
  • 支援 4.2v / 4.3v / 4.35v 的電池選型
  • 支援外置 NTC 實現的溫度保護
  • 支援短接 / 過充 / 超流 保護
  • 自帶 3 / 4 / 5 LED的電量指示器
  • 自帶 14bit ADC的電量計
  • 待機電流小於 100uA
  • 可編程的充電曲綫

最吸引我的是它的 I2C 功能。透過 I2C 可以上電之後, 輕鬆對它進行編程。
可以在運行的時候透過 I2C 很容易地取得電池狀態, 配置充電電流等功能。
最重要的一點是它真的很便宜並且很容易買到, 價格在 1CNY 左右。

(但是缺點是需要一個額外的 MCU 去對它通訊(配置), 否則它會直接擺爛)

驚喜之後是一個坑

不知道你有沒有發現, 手冊指出它帶一個「LED 電量指示器」。
什麽鬼? 爲什麽會有這種奇怪的特性, 莫非…

草。它原來是一個充電寶SoC。
恍然大悟。

那照這樣來説, 它的輸出應該是5v。所以如果想要將它用在項目中, 還需要一個LDO去把 5v 轉成3v3。當然如果你所使用的方案本就支援 5v 那就可以直接拿來用了。

突然想起來自己以前用過的一個開源產品 PortaPack H2, 它的按鈕下有4個 LED。

草?!!! 恍然大悟 * 2。

沒錯, 它也是用的「英集芯」電源管理的方案, 它那4個 LED 其實就是充電寳燈…
遂拆了一堆 Li-ion 充電器, 發現3個中有2個是「英集芯」的方案, 原來已經這麽普及了嗎…

恍然大悟 * 3。

最小系統電路

它的最小應用電路長的還算簡單
img

把它當作充電寶來看的話(它本來就是)
VIN 是 5v 充電輸入, VOUT 是經過 Boost 之後的 5v 輸出。

這裡的 VOUT 就是需要拿去供給負載用的。

草。沒想到這貨竟然還有手電筒功能。挺全的(霧)
在第 22 脚的 LIGHT 可以看到, 這個功能應該是透過按下 8 脚的 KEY 來實現的。

值得注意的是, 它有一個 VREG 脚。
根據手冊(第11頁), VREG 脚只要不是電池沒電, 它在任何時候都是有 3.1v 的, 並且它的負載能力只有 50mA, 所以它不可以供給大負載使用(這裡的大負載指運行主要業務的電路系統, 不過當然可以把用於啓動時配置 I2C 功能的低功耗 MCU 接到這裡)。

I2C接口的使用

img
根據手冊, 如果想啓用 I2C 功能, 則必須將 L1 / L2 串 2.2K 電阻上拉到 VREG(3.1v), 並且在 L3 為 HIGH 的時候才可以開始讀寫 I2C。如果 L1 / L2 沒有配置上拉電阻, 則會在「休眠狀態轉入工作狀態」的時候進入 LED 電量指示器模式。

需要注意的點是, 不可以使用外部 LDO 供電的 MCU 來配置 I2C,
因爲當電池沒有電的時候接入 5v 進入工作狀態的時候, VREG 有電但是沒有 5v 輸出,
這樣會導致 I2C 狀態未知, 可能會導致 L1 / L2 無法上拉, 進而導致進入 I2C 模式失敗。

另外需要注意的是, 如果涉及到修改寄存器的值, 則需要先讀出原始值再用位操作修改掉將要修改的值, 最後寫回。
不能隨意修改 Reserved 的值, 否則可能會出現無法預料情況。

對了, 它的 I2C 從地址為 0xEA。

文檔和手冊

因爲網路上關於它的資料大多都是付費的, 所以這裡放一個很不容易才下載到的 Datasheet。
文檔有兩個, SoC 介紹和 I2C 寄存器是分開的。

IP5209-Injoinic.pdf
IP5209-IP5109-IP5207-IP5108-I2C-registers.pdf