ZHCAER9 December 2024 BQ27Z746 , BQ27Z758
使用保護器調優方法,可以通過寫入寄存器來設置保護值。這對于簡化大規模生產特別有吸引力。開發完成后,輸出黃金映像文件中不包含保護值。以下是在生產中設置保護措施所需的額外步驟。
第 1 步:發送 CALIBRATION 模式命令 0x002D 以尋址 AA 并在開發期間使用的測量儀表上啟動寄存器 3E。該開發測量儀表在上述“保護器調優”部分中設置了最終保護值。
讀取和寫入保護值寄存器需要校準模式。
第 2 步:讀取 ProtectorImage2 命令 0xF0A2 以尋址 AA 并在開發期間使用的測量儀表上啟動寄存器 3E。
這顯示了設置的保護器值的十六進制值步長。請注意,這些值并不直接對應于十進制值,而是保護器步長設置的十六進制值。
從命令讀取的寄存器值如下所示:
A2 F0 01 00 17 2C 20 08 08 08 09 08 27 1F 1B 5B 2E 04 5B 5C 5C 5C 08 08 10 17 07 08 09 11 09 11
位 10-19 是保護步驟值。請記下這些值,用于在生產中對測量儀表進行編程。要查看 ProtectorImage2 的位映射,請參閱 BQ27Z746 技術參考手冊中的第 15.2.70 節。
第 3 步:發送 CALIBRATION 模式命令 0x002D 以尋址 AA 并在生產中的測量儀表上啟動寄存器 3E。
讀取和寫入保護值寄存器需要校準模式。
第 4 步:讀取 ProtectorImage2 命令 0xF0A2 以尋址 AA 并在生產中啟動電量計上的寄存器 3E。
這些值可能因 TI 制造測量儀表期間所做的修整而異,可能如下所示:
A2 F0 01 23 17 2C 10 08 09 10 09 08 22 10 32 5A 3E 04 5B 4C 5C 5C 08 08 10 17 07 08 09 11 09 11
粗體顯示的值是保護功能的精度修整值,不得在測量儀表上更改。這樣可以保持與數據表一致的保護跳閘精度。
第 5 步:將開發測量儀表中的保護值與從生產測量儀表讀取的超級元件修整值合并。從上面的示例中,如下所示:
A2 F0 01 23 17 2C 10 08 09 10 09 08 27 1F 1B 5B 2E 04 5B 5C 5C 5C 08 08 10 17 07 08 09 11 09 11
第 6 步:將上述組合值寫入生產中的測量儀表,以尋址 AA 和啟動寄存器 3E。
第 7 步:寫入將校驗和(后跟長度)寫入生產中的測量儀表,以尋址 AA 并啟動寄存器 0x60。
若要計算校驗和,請取所寫入命令+數據十六進制值之和的按位非的最低有效字節。長度為命令大小 + 數據大小 + 校驗和大小 + 長度大小。
上述示例校驗和的計算方式如下:
校驗和 =A2+F0+01+23+17+2C+10+08+09+10+09+08+27+1F+1B+5B+2E+04+5B+5C+5C+5C+08+08+10+17+07+08+09+11+09+11=485
校驗和 = NOT(485) = FB7A
校驗和 = 7A
長度 = 2 個命令字節 + 30 個數據字節 + 1 個校驗和字節 + 1 個長度字節 = 34 個字節
34(十進制轉換為十六進制)= 22,因此寫入 0x60 的值為 7A 22。
第 8 步:然后,需要從步驟 6 開始針對位于 0xF0A1 中的保護延遲重復該過程。在這種情況下,無需保留任何位,可以將寄存器完全寫入。
例如,從開發測量儀表讀取 0xF0A1 值會讀回:
A1 F0 00 00 00 00 00 00 00 00 00 00 05 41 04 6C 07 41 07 04 00 00 00 00 00 00 00 00 00 00 00 00
可以將完整寄存器寫入生產測量儀表,而不會出現任何問題。
保護器延遲 0xF0A1 ProtectorImage1 的位映射如下:
| 偏移 | 名稱 | 說明 |
|---|---|---|
| 0-9 | RSVD | 保留 |
| 10 | SCD_Delay | 放電短路保護延遲 |
| 11 | OCD_Delay | 放電過流保護延遲 |
| 12-13 | OVP_Delay | 過壓保護延遲 |
| 14 | OCC_Delay | 充電過流保護延遲 |
| 15 | UVP_Delay | 欠壓傳播延遲 |
| 16 | IWK_Delay | I-Wake 觸發延遲 |
| 17 | BSENSE_Delay | 電池檢測保護延遲、BDP、BCP、BDN、BCN |
| 18-29 | RSVD | 保留 |
第 8 步:發送 ProtectorImageSave 命令 0xF0A3 后跟 0x00 以尋址 AA 并啟動寄存器 3E。
第 9 步:讀取 MACData() 0x40/0x5F
ProtectorImageSave 命令將保護器硬件寄存器的當前狀態保存到安全存儲器中的配置映像。讀取 MACData() 時,寫入后,讀取值為 00,否則,出現錯誤。請查看技術參考手冊 15.2.71 節,調試該錯誤。
第 9 步:發送 ProtectorImageLock 命令 0xF0A4 后跟 0x83de(以小端字節順序)0xdE + 0x83 以尋址 AA 并啟動寄存器 3E
第 10 步:讀取 MACData() 0x40/0x5F
ProtectorImageLock 命令將整個保護器配置映像鎖定在安全存儲器中,以防止進一步修改。請注意,這是永久鎖定,不能解鎖或反向。在讀取 MACData() 時,寫入后的值為 00,如果不是,則表明出現錯誤。請查看技術參考手冊第 15.2.72 節,調試此錯誤。