SC8815 設定輸出的電壓及電流
SC8815 是一款帶 I2C 接口的同步升降壓充電控制器,同時也支持電池反向放電工作。
I2C 7-bit address: 0x74。
SC8815 支持 VBAT 電池端 36V 高壓工作,因此在適配器電壓高於、低於或者等於電池電壓時,均能保證 1-6 節鋰電池應用。
當工作系統需要電池提供能量時,SC8815 也支持電池反向放電工作,輸出設定的電壓,並且放電最高電壓可達36V。
用戶通過 I2C 接口可以很方便地選擇充電 / 放電模式,設置充電電流、充電電壓、反向放電電壓、限流值、開關頻率及其它參數等。
集成的 10-bit ADC,可以方便用戶即時檢測讀取 VBUS/VBAT 電壓和電流。
詳細內容需要參考 SC8815 datasheet - SC8815_datasheet_v1.0.1_en.pdf。
充、放電設定 (charging / discharging mode)
充電 及 放電 的模式是由 EN_OTG bit 所決定的。
如果 EN_OTG bit 為 0,則為 充電模式,電流從 VBUS 流向 VBAT 來為電池充電。
如果 EN_OTG bit 為 1,則為 放電模式,電池(VBAT) 會放電,而電流則從 VBAT 流向 VBUS。
0x09H CTRL0_SET 7 R/W EN_OTG
EN_OTG bit 為暫存器 - CTRL0_SET(0x09H) 的 第 7 個 bit 值:
# i2cget -y 2 0x74 0x09
0x04
預設值的第 7 個 bit 為 0,也就是充電模式。
充電模式的 電壓(VBAT) 設定值
VBAT voltage 區分為 internal setting 及 external setting,由 VBAT_SEL bit 決定。
如果 VBAT_SEL bit 為 0 - internal setting,表示電壓值(VBAT) 由內部設定,計算方式為:
CSEL bits值 x VCELL_SET bits值,預設值為 1 x 4.2 = 4.2 V。
如果 VBAT_SEL bit 為 1 - external setting,表示電壓值(VBAT) 由外部設定,計算方式為:
VBATS_REF x (1 + Rup / Rdown) 。
0x00H VBAT_SET 5 R/W VBAT_SEL
VBAT_SEL bit 為暫存器 - VBAT_SET (0x00H) 的 第 5 個 bit 值:
# i2cget -y 2 0x74 0x00
0x01
預設值的第 5 個 bit 為 0,也就是 internal setting。
以 internal setting 來說,VBAT 的計算方式為:
0x00H VBAT_SET 4-3 R/W CSEL
Battery cell selection, only valid for internal VBAT voltage setting
00: 1S battery (default). 01: 2S battery. 10: 3S battery. 11: 4S battery.
CSEL bits 為暫存器 - VBAT_SET (0x00H) 的 第 4-3 個 bits 值:
# i2cget -y 2 0x74 0x00
0x01
預設值的第 4-3 個 bits 為 00,也就是 1S battery。
0x00H VBAT_SET 2-0 R/W VCELL_SET
Battery voltage setting per cell, only valid for internal VBAT voltage setting
000: 4.1V. 001: 4.2V (default). 010: 4.25V. 011: 4.3V. 100: 4.35V. 101: 4.4V. 110: 4.45V. 111: 4.5V.
CSEL bits 為暫存器 - VBAT_SET (0x00H) 的 第 2-0 個 bits 值:
# i2cget -y 2 0x74 0x00
0x01
預設值的第 2-0 個 bits 為 001,也就是 4.2。
充電模式的 最大電流(IBAT) 設定值
IBAT 的計算方式為:
IBAT_LIM (A) = (IBAT_LIM_SET + 1) / 256 × IBAT_RATIO ×10 mΩ / RS2
0x06H IBAT_LIM_SET 7-0 R/W IBAT_LIM setting
0000 0000 ~ 1111 1111 = 0 ~ 255(default)
CSEL bits 為暫存器 - IBAT_LIM_SET (0x06H) 的 第 7-0 個 bits 值:
# i2cget -y 2 0x74 0x06
0xff
預設值的第 7-0 個 bits 為 1111 1111,也就是 255。
0x08H RATIO 4 R/W BAT_RATIO
0: 6x. 1: 12x (default).
BAT_RATIO bit 為暫存器 - RATIO (0x08H) 的 第 4 個 bit 值:
# i2cget -y 2 0x74 0x08
0x38
預設值的第 4 個 bit 為 1,也就是 12x。
所以在 RS2 為 10 mΩ 的情況下,預設的最大電流值為:
(255 + 1) / 256 x 12 x 10 mΩ / 10 mΩ = 12 A
充電模式的 實際電壓(VBAT) 輸出值
實際電壓輸出值(VBAT)的計算方式為:
VBAT = (4 x VBAT_FB_VALUE + VBAT_FB_VALUE2 + 1) x VBAT_MON_RATIO x 2 mV
0x0FH VBAT_FB_VALUE 7-0 R VBAT_FB_value
0000 0000 ~ 1111 1111 = 0 ~ 255
# i2cget -y 2 0x74 0x0F
0x10H VBAT_FB_VALUE2 7-6 R VBAT_FB_value2
00: 0. 01: 1. 10: 2. 11: 3.
# i2cget -y 2 0x74 0x10
0x08H RATIO 1 R/W VBAT_MON_RATIO
0: 12.5x (default). 1: 5x.
# i2cget -y 2 0x74 0x08
充電模式的 實際電流(IBAT) 輸出值
實際電流輸出值(IBAT)的計算方式為:
IBAT (A) = (4 x IBAT_VALUE + IBAT_VALUE2 + 1) × 2 / 1200 × IBAT_RATIO ×10 mΩ / RS2
0x13H IBAT_VALUE 7-0 R IBAT_value
0000 0000 ~ 1111 1111 = 0 ~ 255
# i2cget -y 2 0x74 0x13
0x14H IBAT_VALUE2 7-6 R IBAT_value2
00: 0. 01: 1. 10: 2. 11: 3.
# i2cget -y 2 0x74 0x14
NU4 的線路圖設計
在線路中,修改 Rup 電阻為直接 short,且直接移除 Rdown 電阻(disconnect),所以 VBAT voltage 為 internal setting。
RS1 is the current sense resistor at VBUS side => R3209,為 0.01R = 0.01 Ω = 10 mΩ。
RS2 is the current sense resistor at VBAT side => R3210,為 0.01R = 0.01 Ω = 10 mΩ。
留言列表