EC 所需知識 - SMBUS (2024-11-01)

Local Backup

SMBUS

SMBUS Specification

Hardware Define

名稱 說明 值域 單位
:::: 下限 上限
VIL 輸入低電位 0.8 V
VIH 輸入高電位 2.1 VDD V
VOL 輸出為低電位 0.4 V
PULLUP 提升電流值 100 350 uA
VDD 工作電壓 2.7 5.5 V
名稱 說明 值域 單位
下限 上限
FSMB 工作頻率 10 100 KHz
TBUF SMBUS淨空閒置時間 4.7 us
HD:DAT 資料穩定後需保持的時間 300 ns
TSU:DAT 資料變動的時間 250 ns
TTIMEOUT 取得時脈的時間限制 25 35 ms
TLOW 時脈為LOW的時間 4.7 us
THIGH 時脈為HIGH的時間 4.0 50 us
TF 時脈及資料的下降時間 300 ns
TR 時脈及資料的上升時間 1000 ns

SMBUS的仲裁制度

SMBUS的各種傳輸協定的封包

Smart Battery Selector Specification

欄位名稱 BIT 說明
電池數目 0-3 表示有幾個電池,每個BIT表示一個電池。
0001 – 表示一個電池
0011 – 表示二個電池
版本 4-7 表示Smart Selector的版本
0001 – version 1.0
0010 – version 1.1
0011 – version 1.1 with PEC檢測
充電指示 8 表示Smart Selector需不需送出電池充電狀態給Smart Charger.
0 – 表示不需要
1 – 表示需要
保留 9-15

Smart Battery Charger Specification

Name BIT Value
CHARGE_SPEC [3:0] 0001 – Version 1.0
0010 – Version 1.1
0011 – Version 1.1 with PEC
SELECTOR_SUPPORT 4 0 – Charger 不支援Selector 指令
1 –Charger 支援Selector 指令
Name BIT Value
INHIBIT_CHARGE 0 0 – 支援電池充電 [ power on default ]
1 – 停止支援電池充電
ENABLE_POLLING 1 0 – 不支援讀取電池資訊 [ LEVEL2 default ]
1 – 支援讀取電池資訊 [ LEVEL3 default ]
FOR_RESET 2 0 – 不變動 smart charger mode 的值
1 – 變動smart charger mode 成預設值
RESET_TO_ZERO 3 0 – 不變動電池的充電值 [ default ]
1 – 將電池的充電值都變成 0
Name BIT Value
CHARGE_INHIBITED 0 0 – 支援電池充電
1 – 停止支援電池充電
POLLING_ ENABLED 1 0 – Smart Charger為Slave-Mode
1 – Smart Charger為Master-Mode
VOLTAGE_NOTREG 2 0 – 輸出電壓在範圍內
1 – 要求的充電電壓不符合要求
CURRENT_NOTREG 3 0 – 輸出電流在範圍內
1 – 要求的充電電流不符合要求
LEVEL2/3 [5:4] 01 – LEVEL2 Charger
11 – LEVEL3 Charger
CURRENT_OR 6 0 – 有效的充電電流值
1 – 無效的充電電流值
VOLTAGE_OR 7 0 – 有效的充電電壓值
1 – 無效的充電電壓值
RES_OR 8 0 – 電池的等效阻值在範圍內
1 – 電池的等效阻值 > 95KΩ
RES_COLD 9 0 –電池的等效阻值在範圍內
1 –電池的等效阻值 > 28.5KΩ
RES_HOT 10 0 –電池的等效阻值在範圍內
1 –電池的等效阻值 < 3.15KΩ
RES_UR 11 0 –電池的等效阻值在範圍內
1 –電池的等效阻值 < 575Ω
ALARM_INHIBITED 12 0 – Charger出問題時可發出ALARM
1 –禁止Charger發出ALARM給MASTER
POWER_FAIL 13 0 – 輸入電壓正常
1 – 輸入電壓太低
BATTERY_PRESENT 14 0 – 系統上沒有電池
1 – 系統上有電池
AC_PRESENT 15 0 – 系統上沒有可充電的電源
1 – 系統上有AC可充電的電源

Smart Battery Specification

Name BIT Value
INTERNAL_CHARGE_CONTROLLER 0 0 – 電池沒有包含充電器的能力
1 – 電池包含充電器的能力
PRIMARY_BATTERY_SUPPORT 1 0 – 只能設定為主要的電池
1 – 可設定主要或次要的電池
CONDITION_FLAG 7 0 – 電池的使用次數依一般計數
1 – 電池的使用次數要符合要求才計數
CHARGE_CONTROLLER_ENABLED 8 0 – 關閉電池內部充電器
1 – 開起電池內部充電器
PRIMARY_BATTERY 9 0 – 設定為次要的電池
1 – 設定為主要的電池
ALARM_MODE 13 0 – 允許電池將ALARM傳給HOST
1 – 不允許電池將ALARM傳給HOST
CHARGE_MODE 14 0 – 允許電池將充電電壓及電流傳給CHARGER或者HOST
1 – 不允許傳送充電電壓及電流
CAPACITY_MODE 15 0 – 電池容量的計數單位為mAH
1 – 電池容量的計數單位為10mWH
Name BIT Value
OVER_CHARGE_ALARM 15 1 – 電池發生充電過頭而停止充電
TERMINATE_CHARGE_ALARM 14 1 – 有停止充電的原因發生,電池停止充電
OVER_TEMP_ALARM 12 1 – 電池因溫度過高停止充電
TERMINATE_DISCHARGE_ALARM 11 1 – 有停止放電的原因發生,電池停止放電
REMAINING_CAPACITY_ALARM 9 1 – 電池的剩餘容量到達預設值而發生警告訊值
REMAINING_TIME_ALARM 8 1 – 電池的剩餘使用時間到達預設值而發生警告訊值
INITIAILIZED 7 1 – 電池初始化完成
DISCHARGING 6 1 – 電池正在放電
FULLY_CHARGED 5 1 – 電池充飽電
FULLY_DISCHARGED 4 1 – 電池的容量已被完成放空了
ERROR_CODE [3:0] 0 – 沒有錯誤
1 – 電池正在收集內部資料
2 – 偵測到電池預留的指令
3 – 偵測到電池不支援的指令
4 – 被指定的資料只不支援寫入
5 – 電池的資料不在範圍之內
6 – 寫入的長度與規定不符
7 – 偵測到未知的錯誤
Name BIT Value
IPScale [15:12] Current Scale
VScale [11:8] Voltage Scale
Version [7:4] 0001 – Version 1.0
0010 – Version 1.1
0011 – Version 1.1 with PEC
Name BIT Value
Year [15:9] 0-127 [ Base 1980 ]
Month [8:5] 1-12
Day [4:0] 1-31