ZHCUAN8A April 2016 – November 2022 BQ27220
發(fā)出 Control()(制造商訪問控制或 MAC)命令需要一個 2 字節(jié)子命令。該子命令指定所需的特定 MAC 功能。Control() 命令允許系統(tǒng)在正常運行期間控制電量監(jiān)測計的特定功能,并在器件處于不同的訪問模式時控制其他功能,如表 3-2 所述。在該器件上,Control() 命令也可以發(fā)送到 ManufacturerAccessControl()。任何具有數(shù)據(jù)響應(yīng)的子命令都將在 MACData() 上讀回。
讀取 Control() 寄存器將始終報告 CONTROL_STATUS() 數(shù)據(jù)字段,但在 DEVICE_NUMBER() 和 FW_VERSION() 子命令之后除外。在這些子命令之后,CONTROL_STATUS() 將在恢復(fù)到正常數(shù)據(jù)響應(yīng)之前報告一次值 0xFFA5。這是一個標志,用于指示數(shù)據(jù)響應(yīng)已移至 MACData()。對于讀取 CONTROL_STATUS() 而言,不再需要向 Control() 寫入 0x0000,但如果執(zhí)行了該操作,也沒有關(guān)系。
當執(zhí)行需要數(shù)據(jù)的命令(例如數(shù)據(jù)閃存寫入)時,子命令可以被寫入 Control() 或 ManufacturerAccessControl() 寄存器;不過,建議使用 ManufacturerAccessControl() 寄存器進行寫入,因為這樣可以在單個 I2C 事務(wù)中執(zhí)行完整的命令。
| CNTL/MAC 函數(shù) | 子命令 代碼 | SEALED 訪問? | 說明 |
|---|---|---|---|
| CONTROL_STATUS | 0x0000 | 是 | 被電量監(jiān)測計忽略(在以前的器件中會啟用 CONTROL_STATUS() 讀取) |
| DEVICE_NUMBER | 0x0001 | 是 | 報告器件類型(例如:0x0320) |
| FW_VERSION | 0x0002 | 是 | 報告固件版本塊(器件、版本、內(nèi)部版本等) |
| BOARD_OFFSET | 0x0009 | 是 | 調(diào)用電路板偏移校正 |
| CC_OFFSET | 0x000A | 是 | 調(diào)用 CC 偏移校正 |
| CC_OFFSET_SAVE | 0x000B | 是 | 保存偏移校準過程的結(jié)果 |
| OCV_CMD | 0x000C | 是 | 請求電量監(jiān)測計進行 OCV 測量 |
| BAT_INSERT | 0x000D | 是 | 當 Operation Config B [BIEnable] 位 = 0 時強制設(shè)置 BatteryStatus()[BATTPRES] 位 |
| BAT_REMOVE | 0x000E | 是 | 當 Operation Config B [BIEnable] 位 = 0 時強制清除 BatteryStatus()[BATTPRES] 位 |
| SET_SNOOZE | 0x0013 | 是 | 強制將 CONTROL_STATUS()[SNOOZE] 位設(shè)置為 1 |
| CLEAR_SNOOZE | 0x0014 | 是 | 強制將 CONTROL_STATUS()[SNOOZE] 位設(shè)置為 0 |
| SET_PROFILE_1 | 0x0015 | 是 | 選擇 CEDV Profile 1 |
| SET_PROFILE_2 | 0x0016 | 是 | 選擇 CEDV Profile 2 |
| SET_PROFILE_3 | 0x0017 | 是 | 選擇 CEDV Profile 3 |
| SET_PROFILE_4 | 0x0018 | 是 | 選擇 CEDV Profile 4 |
| SET_PROFILE_5 | 0x0019 | 是 | 選擇 CEDV Profile 5 |
| SET_PROFILE_6 | 0x001A | 是 | 選擇 CEDV Profile 6 |
| CAL_TOGGLE | 0x002D | 否 | 切換 OperationStatus()[CALMD] |
| SEALED | 0x0030 | 否 | 將電量監(jiān)測計置于 SEALED 訪問模式 |
| RESET | 0x0041 | 否 | 復(fù)位器件 |
| EXIT_CAL | 0x0080 | 否 | 指示電量監(jiān)測計退出 CALIBRATION 模式 |
| ENTER_CAL | 0x0081 | 否 | 指示電量監(jiān)測計進入 CALIBRATION 模式 |
| ENTER_CFG_UPDATE | 0x0090 | 是 | 進入 CONFIG UPDATE 模式 |
| EXIT_CFG_UPDATE_REINIT | 0x0091 | 是 | 退出 CONFIG UPDATE 模式并重新初始化 |
| EXIT_CFG_UPDATE | 0x0092 | 是 | 退出 CONFIG UPDATE 模式,不重新初始化 |
| RETURN_TO_ROM | 0xF00 | 否 | 將器件置于 ROM 模式 |
使用 DEVICE_NUMBER() 子命令的示例: