![Texas Instruments bq27441-G1 Скачать руководство пользователя страница 28](http://html1.mh-extra.com/html/texas-instruments/bq27441-g1/bq27441-g1_technical-reference_1095321028.webp)
Chapter 6
SLUUAC9A – December 2013 – Revised May 2015
Data Memory
6.1
Data Memory Interface
6.1.1 Accessing the Data Memory
The Data Memory contains initialization, default, cell status, calibration, configuration, and user
information. Most Data Memory parameters reside in volatile RAM that are initialized by associated
parameters from ROM. However, some Data Memory parameters are directly accessed from ROM and do
not have an associated RAM copy. The Data Memory can be accessed in several different ways,
depending in which mode the fuel gauge is operating and what data is being accessed.
Commonly accessed Data Memory locations, frequently read by a system, are conveniently accessed
through specific instructions, already described in
Extended Data Commands
. These
commands are available when the fuel gauge is either in UNSEALED or SEALED modes.
Most Data Memory locations, however, are only accessible in UNSEALED mode by use of the evaluation
software or by Data Memory block transfers. These locations should be optimized and/or fixed during the
development and manufacturing processes. They become part of a golden image file and then can be
written to multiple battery packs. Once established, the values generally remain unchanged during end-
equipment operation.
To access Data Memory locations individually, the block containing the desired Data Memory location(s)
must be transferred to the command register locations, where they can be read to the system or changed
directly. This is accomplished by sending the set-up command
BlockDataControl()
(0x61) with data 0x00.
Up to 32 bytes of data can be read directly from the
BlockData()
(0x40 through 0x5F), externally altered,
then rewritten to the
BlockData()
command space. Alternatively, specific locations can be read, altered,
and rewritten if their corresponding offsets index into the
BlockData()
command space. Finally, the data
residing in the command space is transferred to Data Memory, once the correct checksum for the whole
block is written to
BlockDataChecksum()
(0x60).
Occasionally, a Data Memory class is larger than the 32-byte block size. In this case, the
DataBlock()
command designates in which 32-byte block the desired locations reside. The correct command address
is then given by 0x40 + offset modulo 32. For an example of this type of Data Memory access, see
.
Reading and writing subclass data are block operations up to 32 bytes in length. During a write, if the data
length exceeds the maximum block size, then the data is ignored.
None of the data written to memory are bounded by the fuel gauge — the values are not rejected by the
fuel gauge. Writing an incorrect value may result in incorrect operation due to firmware program
interpretation of the invalid data. The written data is not persistent, so a POR does resolve the fault.
6.1.2 Access Modes
The fuel gauge provides two access modes, UNSEALED and SEALED, that control the Data Memory
access permissions. The default access mode of the fuel gauge is UNSEALED, so the system processor
must send a SEALED subcommand after a gauge reset to utilize the data protection feature.
28
Data Memory
SLUUAC9A – December 2013 – Revised May 2015
Copyright © 2013–2015, Texas Instruments Incorporated