-
2022-09-23 11:55:58
The BQ27541 is a battery management single-cell Li-Ion battery fuel gauge
The BQ27541 Li-Ion Fuel Gauge is a microcontroller peripheral that provides a 96-byte non-volatile scratch pad fuel gauge for a single-cell Li-Ion battery pack. FLASH devices require almost no system microcontroller firmware The Impedance Track 8482 ; Technology BQ27541 in or within a battery pack - Model Battery Discharge Curve for System Boards with Embedded Batteries
Accurate space-time predictions (not removable). - Automatically adjusts battery aging, the BQ27541 uses the patented Impedance Track™ battery self-discharge and charge calculation algorithm and provides information on temperature/rate inefficiencies such as remaining battery capacity (mAh), state of charge (%), run time to empty (min. ), battery voltage - low value sense resistor (5mΩ to 20mΩ (mV) and temperature (°C). The BQ27541 also has integrated support for secure battery pack authentication in communication with the host system, using the SHA-1/HMAC authentication algorithm.
Typical application diagram
special application
Battery Fuel Gauge for 1 Cell Li-Ion Battery
Microcontroller peripherals provide:
Accurate battery fuel gauge
Internal temperature sensor for system
SHA-1/HMAC Authentication Instructions
Lifetime data logging
Battery fuel gauge based on patented development for accurate battery fuel gauge
HDQ and I2C™ interface formats
Small 12-pin 2.5 mm × 4 mm SON package
BQ27541PIN Diagram (Top View)
General Instructions
The BQ27541 accurately predicts the battery capacity and other operating characteristics of a single Li-ion rechargeable battery. It can be queried by the system processor to provide cell information such as state of charge (SOC), idle time (TTE) and time to complete (TTF). Information is accessed through a series of commands, known as standard commands. More functionality is provided by an additional extended command set. Two sets of commands, represented by the generic format Command(), are used to read and write information contained in the bq27541 control and status registers,
and its data flash location. Commands are sent from the system to the instrument communication engine using the bq27541's serial port and can be executed during application development, package manufacturing, or device operation. Cell information is stored in the bq27541's nonvolatile flash memory. Many of these data flash locations are accessible during application development. Typically, they are not directly accessible during end device operation. Using the bq27541's companion evaluation software, these locations can be accessed through individual commands, or through a series of data flash access commands. To access the desired data flash location, the correct data flash subclass and offset must be known.
The BQ27541 provides 96 bytes of user-programmable data flash memory divided into three (3) 32-byte blocks: Manufacturer Information Block A, Manufacturer Information Block B, and Manufacturer Information Block C. This data space is accessed through the data flash interface . For details on accessing data flash memory, see some of the manufacturer's information blocks. The key to the BQ27541's high-accuracy gas measurement predictions is Instrument's proprietary Impedance Track™ algorithm in Texas. The algorithm uses cell measurements, features, and properties to create state-of-charge predictions that can achieve less than 1% error under a wide variety of operating conditions and battery life.
The BQ27541 measures charge/discharge activity by monitoring the voltage across a small value series inductor resistance (5mΩ to 20mΩ typical) located between the CELL and the battery's PACK terminal. When a cell is connected to the BQ27541, the cell impedance is calculated based on the cell current, cell open circuit voltage (OCV), and cell voltage under load conditions.
The BQ27541 external temperature sensing is optimized by using a high precision negative temperature coefficient (NTC) thermistor, R25 =10kΩ±1%, B25/85=3435kΩ±1% (as measured by Semitec 103AT). The BQ27541 can also be configured to use its internal temperature sensor. The BQ27541 uses temperature to monitor the battery pack environment for fuel gauge and battery protection functions. To minimize power consumption, the bq27541 has different power modes: NORMAL, SLEEP, FULLSLEEP, and Hibernate. The BQ27541 automatically passes between these modes, depending on the occurrence of specific events, although the system processor can initiate some of these modes directly. More details can be found in the Power Modes section.
Data Flash Interface
access data flash
The BQ27541 data flash is a non-volatile memory that contains BQ27541 initialization, default, cell status, calibration configuration and user information. The data flash can be accessed in several different ways, depending on the mode in which the BQ27541 is operating and the data being accessed. Commonly accessed data flash locations that are frequently read by the system can be easily accessed through specific instructions already described in chapter Data Commands. These commands are available when the BQ27541 is in UNSEALED or SEALED mode. However, most data flash locations can only be accessed by software or data flash block transfers in UNSEALED mode by using the BQ27541 evaluation. These locations should be optimized and/or fixed during the development and manufacturing process. They become part of the golden image file, which can then be written to multiple battery packs. Once established, these values typically remain unchanged during terminal device operation. To individually access data flash locations, the block containing the desired data flash locations must be moved to command register locations, where they can be read to the system or changed directly. This is done by sending the set command BlockDataControl(0x61) with data 0x00. Up to 32 bytes of data can be read directly from BlockData0x40...0x5f), modified externally, and then rewritten into BlockData command space. Alternatively, specific locations can be read, changed, and rewritten for indexing the BlockData command space if they have corresponding offsets. Finally, the data that resides in the command space is transferred to the data flash once the correct checksum for the entire block is written to BlockDataChecksum
(0x60). Sometimes the data flash CLASS will be larger than the 32 byte block size. In this case, DataFlashBlock
The command is used to specify the 32-byte block where the desired location is located. Correct command The address is then given by 0x40 + offset modulo 32. For example, to access the termination voltage measurement class in gas, DataFlashClass emits 80 (0x50) to set the class. Since the offset is 48, it must reside in the second 32-byte block. So the DataFlashBlock is given 0x01 to set the block offset, and the index for the offset into the BlockData memory is 0x40 + 48 modulo 32 = 0x40 + 16 = 0x40 + 0x10 = 0x50. Reading and writing subclass data are block operations, up to 32 bytes in length. If the data length exceeds the maximum block size during writing, the data is ignored. Data written to memory is not limited by the bq27541 - fuel will not reject these values for measurement. Writing an incorrect value may result in a hardware failure due to firmware program interpretation of invalid data. The written data is persistent, so a power-on reset will not resolve the fault. The manufacturer information block BQ27541 contains 96 bytes of user programmable data flash memory: manufacturer information block A, manufacturer information block B, manufacturer information block C. The method of accessing these memory locations is slightly different, depending on whether the device is In UNSEALED or SEALED mode. When in UNSEALED mode and when 0x00 and 0x00 have been written to BlockDataControl, accessing the manufacturer information block is the same as accessing a regular data flash location. One, the DataFlashClasscommand is used to set the subclass, and then the DataFlashBlock command sets the address in the offset subclass of the first data flash. The BlockData command code contains the referenced data flash data. BlockDataChecksum expects to receive a checksum when data is written to flash. Only when the checksum is received and the data actually written to the data flash is verified. For example, the data flash location of manufacturer information block B is defined as having subclass = 58 and offset = 32 to 63 (32 byte blocks). No need to address the specification of Class = System Data Manufacturer Information Block B, but is used for grouping purposes when viewing data flash information BQ27541 Evaluation Software.
When in SEALED mode or 0x01 BlockDataControl does not contain 0x00, no more data flash is provided in the way used in UNSEALED mode. Instead of publishing subclass information, specify the use of the DataFlashBlock command to select the manufacturer information block. Issuing 0x01, 0x02 or 0x03 with this command will transfer the corresponding block of information (A, B or C, respectively) to command space 0x40...0x5f for system editing or reading. After successfully writing the checksum information to BlockDataChecksum(), the modified block is returned to the data flash. Note: Manufacturer Information Block A is read-only in SEALED mode.
Charging should not start when the temperature is lower than the charge inhibition temperature or higher than the charge inhibition temperature. If charging starts within the window, charging can continue [Charge inhibit temperature low, charge inhibit temperature high] until the temperature is lower than the pause temperature low or higher than the pause temperature high. Therefore, the window [Charge Inhibit Temp Low, Charge Inhibit Temp High] must be within the window of [Pause Temp Low, Pause Temp High].
power mode
The BA27541 has three power modes: NORMAL, SLEEP and HIBERNATE. In NORMAL mode, the BQ27541 is fully powered and can perform any allowed task. In sleep mode, the fuel gauge exists in a reduced power state, periodically taking measurements and performing calculations. Finally, in HIBERNATE mode, the fuel gauge is in a very low power state, but can be woken up by communication or some I/O activity. The relationship between these modes is shown in the figure below. Details will be introduced in later chapters.
Power Mode Diagram