SLUUC54C February 2020 – March 2024 BQ27Z558 , BQ27Z561 , BQ27Z561-R2
AltManufacturerAccess() provides a method of reading and writing data in the Manufacturer Access System (MAC). The MAC command is sent via AltManufacturerAccess() by a block protocol. The result is returned on AltManufacturerAccess() via a block read.
Commands are sent by writing to registers 0x00/0x01 or 0x3E/0x3F. 0x3E and 0x3F work the same as 0x00 and 0x01, but are primarily intended for block writes and reads.
Example: Send a MAC Gauging() to enable IT via AltManufacturerAccess().
Example: Read Chemical ID() (0x0006) via AltManufacturerAccess().
It is recommended to send “command only” operations to 0x00 and 0x01, and to set the command for a read back in the same way. The reason for this is that it can always reset any legacy support options that may be in effect; whereas, some legacy support options use 0x3E and 0x3F for other purposes. However, 0x3E and 0x3F can always safely be used for block reads. For backward compatibility, a request of the device number or version reports a value for a read on 0x00/0x01. The response word for the MAC commands DEV and VERSION (0x0001 and 0x0002) should report 0xFFA5 as the legacy response. This is meant as a token to indicate to the host that the real response is on the extended block. “Command only” operations take place immediately after the word write.
Command | Function | Access | Format | Data Read on MACData() | Not Available in SEALED Mode | Type | Units |
---|---|---|---|---|---|---|---|
0x0001 | DeviceType | R | Block | √ | — | hex | — |
0x0002 | FirmwareVersion | R | Block | √ | — | hex | — |
0x0003 | HardwareVersion | R | Block | √ | — | hex | — |
0x0004 | IFChecksum | R | Block | √ | — | hex | — |
0x0005 | StaticDFSignature | R | Block | √ | — | hex | — |
0x0006 | ChemID | R | Block | √ | — | hex | — |
0x0007 | Prev_MacWrite | R | Block | √ | — | hex | — |
0x0008 | StaticChemDFSignature | R | Block | √ | — | hex | — |
0x0009 | AllDFSignature | R | Block | √ | — | hex | — |
0x012 | Reset | W | — | — | — | hex | — |
0x0017 | QMax Day | R | Block | √ | — | U2 | days |
0x0021 | Gauging (IT Enable) | W | — | — | √ | hex | — |
0x0023 | LifetimeDataCollection | W | — | — | √ | hex | — |
0x0028 | LifetimeDataReset | W | — | — | √ | hex | — |
0x002D | CalibrationMode | W | — | — | √ | hex | — |
0x002E | LifetimeDataFlush | W | — | — | √ | hex | — |
0x002F | LifetimeDataSpeedUp Mode | W | — | — | √ | hex | — |
0x0030 | SealDevice | W | — | — | — | hex | — |
0x0035 | SecurityKeys | R/W | Block | √ | √ | hex | — |
0x0041 | Reset | W | — | — | — | hex | — |
0x0044 | SetDeepSleep | W | — | — | — | hex | — |
0x0045 | ClearDeepSleep | W | — | — | — | hex | — |
0x0046 | PulseGPIO | W | — | — | — | hex | — |
0x0047 | TambientSync | W | — | — | — | hex | — |
0x0048 | ClearGPIO | W | — | — | — | hex | — |
0x0049 | SetGPIO | W | — | — | — | hex | — |
0x004A | Device Name | R/W | Block | √ | — | hex | — |
0x004B | Device Chem | R/W | Block | √ | — | hex | — |
0x004C | Manufacturer Name | R/W | Block | √ | — | hex | — |
0x004D | Manufacture Date | R/W | Block | √ | — | hex | — |
0x004E | Serial Number | R/W | — | √ | — | hex | — |
0x0054 | OperationStatus | R | Block | √ | — | hex | — |
0x0055 | ChargingStatus | R | Block | √ | — | hex | — |
0x0056 | GaugingStatus | R | Block | √ | — | hex | — |
0x0057 | ManufacturingStatus | R | Block | √ | — | hex | — |
0x0060 | LifetimeDataBlock1 | R | Block | √ | — | Mixed | Mixed |
0x0061 | LifetimeDataBlock2 | R | Block | √ | Mixed | Mixed | |
0x0062 | LifetimeDataBlock3 | R | Block | √ | — | U4 | s |
0x0063 | LifetimeDataBlock4 | R | Block | √ | Mixed | Mixed | |
0x0065 | LifetimeDataBlock6 | R | Block | √ | Mixed | Mixed | |
0x0065 | LifetimeDataBlock7 | R | Block | √ | Mixed | Mixed | |
0x0067 | LifetimeDataBlock8 | R | Block | √ | Mixed | Mixed | |
0x0068 | LifetimeDataBlock9 | R | Block | √ | Mixed | Mixed | |
0x0069 | LifetimeDataBlock10 | R | Block | √ | Mixed | Mixed | |
0x006A | LifetimeDataBlock11 | R | Block | √ | Mixed | Mixed | |
0x006B | LifetimeDataBlock12 | R | Block | √ | Mixed | Mixed | |
0x0070 | ManufacturerInfo | R/W | Block | √ | — | hex | — |
0x0071 | DAStatus1 | R | Block | √ | — | Mixed | Mixed |
0x0072 | DAStatus2 | R | Block | √ | — | Mixed | Mixed |
0x0073 | ITStatus1 | R | Block | √ | — | Mixed | Mixed |
0x0074 | ITStatus2 | R | Block | √ | — | Mixed | Mixed |
0x0075 | ITStatus3 | R | Block | √ | — | Mixed | Mixed |
0x0077 | FCC_SOH | R | Block | √ | — | hex | — |
0x0078 | Filtered Capacity | R | Block | √ | — | Hex | Mixed |
0x007A | ManufacturerInfoB | R/W | Block | √ | — | Hex | — |
0x007B | ManufacturerInfoC | R/W | Block | √ | — | Hex | — |
0x00B0 | ChargingVoltageOverride | R/W | Block | √ | √ | I2 | mV |
0x01yy | DFAccessRowAddress | R/W | Block | — | √ | hex | — |
0x0F00 | ROMMode | W | — | — | √ | hex | — |
0x7C40 | SwitchToHDQ | W | — | — | √ | hex | — |
0xF080 | ExitCalibrationOutput | R/W | Block | √ | √ | hex | — |
0xF081 | OutputCCandADCforCalibration | R/W | Block | √ | √ | hex | — |