Control()/CONTROL_STATUS(): 0x00 and 0x01
52
SLUUBE8 – September 2018
Copyright © 2018, Texas Instruments Incorporated
Data Commands
Table 4-1. Data Commands (continued)
NAME
COMMAND CODE
UNIT
SEALED
ACCESS
AnalogCount()
0x79
R
RawCurrent()
0x7A and 0x7B
mA
R
RawVoltage()
0x7C and 0x7D
mV
R
RawIntTemp()
0x7E and 0x7F
0.1ºK
R
RawExtTemp()
0x80 and 0x81
0.1ºK
R
4.1
Control()/CONTROL_STATUS(): 0x00 and 0x01
Issuing a
Control()
Manufacturer Access Control (MAC) command requires a 2-byte subcommand. The
subcommand specifies the particular MAC function desired. The
Control()
command enables the system
to control specific features of the fuel gauge during normal operation and additional features when the
device is in different access modes, as described in
. On this device,
Control()
commands may
also be sent to
ManufacturerAccessControl()
. Any subcommand that has a data response will be read
back on
MACData()
.
Reading the
Control()
registers will always report the
CONTROL_STATUS()
data field except after the
DEVICE_NUMBER()
and
FW_VERSION()
subcommands. After these subcommands,
CONTROL_STATUS()
will report the value 0xFFA5 one time before reverting to the normal data
response. This is a flag to indicate that the data response was moved to
MACData()
. Writing a 0x0000 to
Control()
is no longer necessary to read the
CONTROL_STATUS()
, although it is okay if it is done.
When executing commands that require data (such as data memory writes), the subcommand can be
written to either
Control()
or
ManufacturerAccessControl()
registers; however, it is recommended to write
using the
ManufacturerAccessControl()
registers, as this allows performing the full command in a single
I
2
C transaction.
Table 4-2. Control() MAC Subcommands
CNTL/MAC FUNCTION
SUBCOMMAND
CODE
SEALED
ACCESS?
DESCRIPTION
CONTROL_STATUS
0x0000
Yes
Ignored by the gauge (in previous devices, would enable
CONTROL_STATUS()
read)
DEVICE_NUMBER
0x0001
Yes
Reports the value from Data Memory device type (The
bq34210-Q1 reports 0x0210.)
FW_VERSION
0x0002
Yes
Reports the firmware version
BOARD_OFFSET
0x0009
Yes
Invokes the board offset correction
CC_OFFSET
0x000A
Yes
Invokes the CC offset correction
CC_OFFSET_SAVE
0x000B
Yes
Saves the results of the offset calibration process
SET_PROFILE_1
0x0015
Yes
Selects CEDV Profile 1
SET_PROFILE_2
0x0016
Yes
Selects CEDV Profile 2
SHUTDOWN_ENABLE
0x001B
No
Enables the SHUTDOWN command
SHUTDOWN
0x001C
No
Puts the device into SHUTDOWN mode
ACCUM_DSG_EN
0x001E
No
This MAC subcommand toggles the value of
ManufacturingStatus()[ACDSG_EN]
.
ACCUM_CHG_EN
0x001F
No
This MAC subcommand toggles the value of
ManufacturingStatus()[ACCHG_EN]
.
IGNORE_SELFDSG_EN
0x0020
No
This MAC subcommand toggles the value of
ManufacturingStatus()[IGNORE_SD_EN]
.
EOS_EN
0x0021
No
This MAC subcommand toggles the value of
ManufacturingStatus()[EOS_EN]
.
PIN_CONTROL_EN
0x0022
No
Toggles control of the ALERT pin.
CAL_TOGGLE
0x002D
No
Toggles
OperationStatus()[CALMD]
SEAL
0x0030
No
Places the fuel gauge in SEALED access mode