The Texas Instruments bq27741-G1 Li-Ion battery fuel gauge is a microcontroller peripheral that provides fuel gauging for single-cell Li-Ion battery packs. The device requires little system microcontroller firmware development for accurate battery fuel gauging. The fuel gauge resides within the battery pack or on the system’s main board with an embedded battery (non-removable). The fuel gauge provides hardware-based over- and undervoltage, overcurrent in charge or discharge, and short-circuit protections.
The fuel gauge uses the patented Impedance Track™ algorithm for fuel gauging, and provides information such as remaining battery capacity (mAh), state-of-charge (%), run-time to empty (minimum), battery voltage (mV), and temperature (°C), as well as recording vital parameters throughout the lifetime of the battery.
The device comes in a 15-ball BGA package (2.776 mm × 1.96 mm) that is ideal for space-constrained applications.
PART NUMBER | PACKAGE | BODY SIZE (NOM) |
---|---|---|
bq27741-G1 | YZF (15) | 2.78 mm × 1.96 mm |
Changes from B Revision (April 2015) to C Revision
PIN | I/O(1) | DESCRIPTION | |
---|---|---|---|
NAME | NO. | ||
BAT | C2 | IA | Cell-voltage measurement input. ADC input |
CHG | A2 | O | External high-side N-channel charge FET driver |
DSG | A3 | O | External high-side N-channel discharge FET driver |
HDQ | D2 | IO | HDQ serial communications line. Open-drain |
PACKP | B3 | IA | Pack voltage measurement input for protector operation |
NC | B2 | IO | Not used. Reserved for future GPIO. Recommended to connect to GND. |
RC2 | D3 | IO | General purpose IO. Push-pull output |
REG25 | E1 | P | Regulator output and bq27741-G1 processor power. Decouple with 1-µF ceramic capacitor to VSS. |
SCL | E3 | IO | Slave I2C serial communications clock input line for communication with system. Use with 10-kΩ pullup resistor (typical). |
SDA | C3 | IO | Slave I2C serial communications data line for communication with system. Open-drain I/O. Use with 10-kΩ pullup resistor (typical). |
SRN | B1 | IA | Analog input pin connected to the internal coulomb counter where SRN is nearest the CELL+ connection. Connect to sense resistor. |
SRP | A1 | IA | Analog input pin connected to the internal coulomb counter where SRP is nearest the PACK+ connection. Connect to sense resistor. |
VPWR | C1 | P | Power input. Decouple with 0.1-µF ceramic capacitor to VSS. |
VSS | D1 | P | Device ground |
TS | E2 | IA | Pack thermistor voltage sense (use 103AT-type thermistor). ADC input |
OVERVOLTAGE PROTECTION (VOVP) | UNDERVOLTAGE PROTECTION (VUVP) | OVERCURRENT IN DISCHARGE (VOCD) | OVERCURRENT IN CHARGE (VOCC) | SHORT CIRCUIT IN DISCHARGE (Vscd) |
---|---|---|---|---|
4.390 V | 2.407 V | 34.4 mV | 20 mV | 74.6 mV |
OVERVOLTAGE PROTECTION DELAY (tOVP) | UNDERVOLTAGE PROTECTION DELAY (tUVP) | OVERCURRENT IN DISCHARGE DELAY (tOCD) | OVERCURRENT IN CHARGE DELAY (tOCC) | SHORT CIRCUIT IN DISCHARGE DELAY (tscd) |
---|---|---|---|---|
1 s | 31.25 ms | 31.25 ms | 7.8125 ms | 312.5 µs |
MIN | MAX | UNIT | ||
---|---|---|---|---|
VVPWR | Power input | –0.3 | 5.5 | V |
VREG25 | Supply voltage | –0.3 | 2.75 | V |
VPACKP | PACKP input pin | –0.3 | 5.5 | V |
PACK+ input when external 2-kΩ resistor is in series with PACKP input pin (see (1)) | –0.3 | 28 | V | |
VOUT | Voltage output pins (DSG, CHG) | –0.3 | 10 | V |
VIOD1 | Push-pull IO pins (RC2) | –0.3 | 2.75 | V |
VIOD2 | Open-drain IO pins (SDA, SCL, HDQ, NC) | –0.3 | 5.5 | V |
VBAT | BAT input pin | –0.3 | 5.5 | V |
VI | Input voltage to all other pins (SRP, SRN) | –0.3 | 5.5 | V |
VTS | Input voltage for TS | –0.3 | 2.75 | V |
TA | Operating free-air temperature | –40 | 85 | °C |
TF | Functional temperature | –40 | 100 | °C |
TSTG | Storage temperature | –65 | 150 | °C |
VALUE | UNIT | |||
---|---|---|---|---|
V(ESD) | Electrostatic discharge | Human-body model (HBM), per ANSI/ESDA/JEDEC JS-001(1) | ±2000 | V |
Charged-device model (CDM), per JEDEC specification JESD22-C101(2) | ±500 |
PARAMETER | TEST CONDITION | MIN | NOM | MAX | UNIT | |
---|---|---|---|---|---|---|
VVPWR | Supply voltage | No operating restrictions | 2.8 | 5 | V | |
No FLASH writes | 2.45 | 2.8 | ||||
CVPWR | External input capacitor for internal LDO between VPWR and VSS | Nominal capacitor values specified. Recommend a 5% ceramic X5R type capacitor located close to the device. | 0.1 | µF | ||
CREG25 | External output capacitor for internal LDO between REG25 and VSS | 0.47 | 1 | µF | ||
ICC | Normal operating mode current(1)(2) (VPWR) | Fuel gauge in NORMAL mode. ILOAD > Sleep Current with charge pumps on (FETs on) |
167 | µA | ||
ISLP | SLEEP mode current(1)(2) (VPWR) | Fuel gauge in SLEEP+ mode. ILOAD < Sleep Current with charge pumps on (FETs on) |
88 | µA | ||
IFULLSLP | FULLSLEEP mode current(1)(2) (VPWR) | Fuel gauge in SLEEP mode. ILOAD < Sleep Current with charge pumps on (FETs on) |
40 | µA | ||
ISHUTDOWN | Shutdown mode current(1)(2) (VPWR) | Fuel gauge in SHUTDOWN mode. UVP tripped with fuel gauge and protector turned off (FETs off) VVPWR = 2.5 V TA = 25°C |
0.1 | 0.2 | µA | |
TA = –40°C to 85°C | 0.5 | µA | ||||
VOL | Output voltage low (SCL, SDA, HDQ, NC, RC2) | IOL = 1 mA | 0.4 | V | ||
VOH(OD) | Output voltage high (SDA, SCL, HDQ, NC, RC2) | External pullup resistor connected to VREG25 | VREG25 – 0.5 | V | ||
VIL | Input voltage low (SDA, SCL, HDQ, NC) | –0.3 | 0.6 | V | ||
VIH(OD) | Input voltage high (SDA, SCL, HDQ, NC) | 1.2 | 5.5 | V | ||
VA1 | Input voltage range (TS) | VSS – 0.125 | 2 | V | ||
VA2 | Input voltage range (BAT) | VSS – 0.125 | 5 | V | ||
VA3 | Input voltage range (SRP, SRN) | VVPWR – 0.125 | VVPWR + 0.125 | V | ||
Ilkg | Input leakage current (I/O pins) | 0.3 | µA | |||
tPUCD | Power-up communication delay | 250 | ms |
THERMAL METRIC(1) | bq27741-G1 | UNIT | |
---|---|---|---|
YZF [DSBGA] | |||
15 PINS | |||
RθJA | Junction-to-ambient thermal resistance | 70 | °C/W |
RθJC(top) | Junction-to-case (top) thermal resistance | 17 | |
RθJB | Junction-to-board thermal resistance | 20 | |
ψJT | Junction-to-top characterization parameter | 1 | |
ψJB | Junction-to-board characterization parameter | 18 | |
RθJC(bot) | Junction-to-case (bottom) thermal resistance | N/A |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | |
---|---|---|---|---|---|---|
VIT+ | Increasing battery voltage input at VREG25 | 2.09 | 2.20 | 2.31 | V | |
VHYS | Power-on reset hysteresis | 115 | mV |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | ||
---|---|---|---|---|---|---|---|
VREG25 | Regulator output voltage | 2.8 V ≤ VVPWR ≤ 4.5 V, IOUT(1) ≤ 16 mA |
TA = –40°C to 85°C | 2.3 | 2.5 | 2.6 | V |
2.45 V ≤ VVPWR < 2.8 V (low battery), IOUT(1) ≤ 3 mA |
2.3 | V | |||||
ISHORT(2) | Short-circuit current limit | VREG25 = 0 V | TA = –40°C to 85°C | 250 | mA |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | |
---|---|---|---|---|---|---|
VCHGATT | Voltage threshold for charger attachment detection | 2.7 | 3 | V | ||
VCHGREM | Voltage threshold for charger removal detection | 0.5 | 1 | V |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | |
---|---|---|---|---|---|---|
VFETON | CHG and DSG FETs on | IL = 1 µA TA = –40°C to 85°C |
2 × VVPWR – 0.4 | 2 × VVPWR – 0.2 | 2 × VVPWR | V |
VFETOFF | CHG and DSG FETs off | TA = –40°C to 85°C | 0.2 | V | ||
VFETRIPPLE(1) | CHG and DSG FETs on | IL = 1 µA TA = –40°C to 85°C |
0.1 | VPP | ||
tFETON | FET gate rise time (10% to 90%) |
CL = 4 nF TA = –40°C to 85°C No series resistance |
67 | 140 | 218 | μs |
tFETOFF | FET gate fall time (90% to 10%) |
CL = 4 nF TA = –40°C to 85°C No series resistance |
10 | 30 | 60 | μs |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | |
---|---|---|---|---|---|---|
VOVP | OVP detection voltage threshold | TA = 25°C | VOVP – 0.006 | VOVP | VOVP + 0.006 | V |
TA = 0°C to 25°C | VOVP – 0.023 | VOVP | VOVP + 0.020 | |||
TA = 25°C to 50°C | VOVP – 0.018 | VOVP | VOVP + 0.014 | |||
TA = –40°C to 85°C | VOVP – 0.053 | VOVP | VOVP + 0.035 | |||
VOVPREL | OVP release voltage | TA = 25°C | VOVPREL – 0.012 | VOVP – 0.215 | VOVPREL + 0.012 | V |
TA = 0°C to 25°C | VOVPREL – 0.023 | VOVP – 0.215 | VOVPREL + 0.020 | |||
TA = 25°C to 50°C | VOVPREL – 0.018 | VOVP – 0.215 | VOVPREL + 0.014 | |||
TA = –40°C to 85°C | VOVPREL – 0.053 | VOVP – 0.215 | VOVPREL + 0.035 | |||
tOVP | OVP delay time | TA = –40°C to 85°C | tOVP – 5% | tOVP | tOVP + 5% | s |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | |
---|---|---|---|---|---|---|
VUVP | UVP detection voltage threshold | TA = 25°C | VUVP – 0.012 | VUVP | VUVP + 0.012 | V |
TA = –5°C to 50°C | VUVP – 0.020 | VUVP | VUVP + 0.020 | |||
TA = –40°C to 85°C | VUVP – 0.040 | VUVP | VUVP + 0.040 | |||
VUVPREL | UVP release voltage | TA = 25°C | VUVPREL – 0.012 | VUVP + 0.105 | VUVPREL + 0.012 | V |
TA = –5°C to 50°C | VUVPREL – 0.020 | VUVP + 0.105 | VUVPREL + 0.020 | |||
TA = –40°C to 85°C | VUVPREL – 0.040 | VUVP + 0.105 | VUVPREL + 0.040 | |||
tUVP | UVP delay time | TA = –40°C to 85°C | tUVP – 5% | tUVP | tUVP + 5% | ms |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | |
---|---|---|---|---|---|---|
VOCD | OCD detection voltage threshold | TA = 25°C VSRN – VSRP |
VOCD – 3 | VOCD | VOCD + 3 | mV |
TA = –20°C to 60°C VSRN – VSRP |
VOCD – 3.785 | VOCD | VOCD + 3.785 | |||
TA = –40°C to 85°C VSRN – VSRP |
VOCD – 4.16 | VOCD | VOCD + 4.16 | |||
tOCD | OCD delay time | TA = –40°C to 85°C | tOCD – 5% | tOCD | tOCD + 5% | ms |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | |
---|---|---|---|---|---|---|
VOCC | OCC detection voltage threshold | TA = 25°C VSRP – VSRN |
VOCC – 3 | VOCC | VOCC + 3 | mV |
TA = –20°C to 60°C VSRP – VSRN |
VOCC – 3.49 | VOCC | VOCC + 3.49 | |||
TA = –40°C to 85°C VSRP – VSRN |
VOCC – 3.86 | VOCC | VOCC + 3.86 | |||
tOCC | OCC delay time | TA = –40°C to 85°C | tOCC – 5% | tOCC | tOCC + 5% | ms |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | |
---|---|---|---|---|---|---|
VSCD | SCD detection voltage threshold | TA = 25°C VSRN – VSRP |
VSCD – 3 | VSCD | VSCD + 3 | mV |
TA = –20°C to 60°C VSRN – VSRP |
VSCD – 4.5 | VSCD | VSCD + 4.5 | |||
TA = –40°C to 85°C VSRN – VSRP |
VSCD – 4.9 | VSCD | VSCD + 4.9 | |||
tSCD | SCD delay time | TA = –40°C to 85°C | tSCD – 10% | tSCD | tSCD + 10% | µs |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | |
---|---|---|---|---|---|---|
VLVDET | Voltage threshold for low-voltage charging detection | TA = –40°C to 85°C | 1.4 | 1.55 | 1.7 | V |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | |
---|---|---|---|---|---|---|
G(TEMP) | Temperature sensor voltage gain | –2 | mV/°C |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | |
---|---|---|---|---|---|---|
fOSC | Operating frequency | 8.389 | MHz | |||
f(LOSC) | Operating frequency | 32.768 | kHz |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | |
---|---|---|---|---|---|---|
VSR_IN | Input voltage range, VSRN and VSRP | VSR = VSRN – VSRP | VVPWR – 0.125 | VVPWR + 0.125 | V | |
tSR_CONV | Conversion time | Single conversion | 1 | s | ||
Resolution | 14 | 15 | bits | |||
VSR_OS | Input offset | 10 | μV | |||
INL | Integral nonlinearity error | ±0.007% | ±0.034% | FSR | ||
ZSR_IN | Effective input resistance(1) | 7 | MΩ | |||
ISR_LKG | Input leakage current(1) | 0.3 | μA |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | |
---|---|---|---|---|---|---|
VADC_IN | Input voltage range (VBAT channel) | VSS – 0.125 | 5 | V | ||
Input voltage range (other channels) | VSS – 0.125 | 1 | V | |||
tADC_CONV | Conversion time | 125 | ms | |||
Resolution | 14 | 15 | bits | |||
VADC_OS | Input offset | 1 | mV | |||
ZADC1 | Effective input resistance (TS) (1) | 55 | MΩ | |||
ZADC2 | Effective input resistance (BAT)(1) | Not measuring cell voltage | 55 | MΩ | ||
Measuring cell voltage | 100 | kΩ | ||||
IADC_LKG | Input leakage current(1) | 0.3 | μA |
PARAMETER | TEST CONDITIONS | MIN | TYP | MAX | UNIT | |
---|---|---|---|---|---|---|
tDR | Data retention(1) | 10 | years | |||
Flash programming write-cycles (1) | 20,000 | cycles | ||||
tWORDPROG | Word programming time(1) | 2 | ms | |||
ICCPROG | Flash-write supply current(1) | 5 | 10 | mA |
MIN | TYP | MAX | UNIT | ||
---|---|---|---|---|---|
tR | SCL or SDA rise time | 300 | ns | ||
tF | SCL or SDA fall time | 300 | ns | ||
tw(H) | SCL pulse width (high) | 600 | ns | ||
tw(L) | SCL pulse width (low) | 1.3 | μs | ||
tsu(STA) | Setup for repeated start | 600 | ns | ||
td(STA) | Start to first falling edge of SCL | 600 | ns | ||
tsu(DAT) | Data setup time | 100 | ns | ||
th(DAT) | Data hold time | 0 | ns | ||
tsu(STOP) | Setup time for stop | 600 | ns | ||
tBUF | Bus free time between stop and start | 66 | μs | ||
fSCL | Clock frequency | 400 | kHz |
MIN | TYP | MAX | UNIT | ||
---|---|---|---|---|---|
t(CYCH) | Cycle time, host to fuel gauge | 190 | μs | ||
t(CYCD) | Cycle time, fuel gauge to host | 190 | 205 | 250 | μs |
t(HW1) | Host sends 1 to fuel gauge | 0.5 | 50 | μs | |
t(DW1) | Fuel gauge sends 1 to host | 32 | 50 | μs | |
t(HW0) | Host sends 0 to fuel gauge | 86 | 145 | μs | |
t(DW0) | Fuel gauge sends 0 to host | 80 | 145 | μs | |
t(RSPS) | Response time, fuel gauge to host | 190 | 950 | μs | |
t(B) | Break time | 190 | μs | ||
t(BR) | Break recovery time | 40 | μs | ||
t(RST) | HDQ reset | 1.8 | 2.2 | s | |
t(RISE) | HDQ line rise time to logic 1 (1.2 V) | 950 | ns | ||
t(TRND) | Turnaround time (time from the falling edge of the last transmitted bit of 8-bit data and the falling edge of the next Break signal) | 210 | μs |
The bq27741-G1 fuel gauge accurately predicts the battery capacity and other operational characteristics of a single Li-based rechargeable cell. It can be interrogated by a system processor to provide cell information, such as state-of-charge (SOC), time-to-empty (TTE), and time-to-full (TTF).
NOTE
Formatting Conventions in This Document:
Commands: italics with parentheses and no breaking spaces, for example,
RemainingCapacity().
Data Flash: italics, bold, and breaking spaces, for example, Design Capacity.
Register Bits and Flags: brackets only, for example, [TDA]
Data Flash Bits: italic and bold, for example, [XYZ1]
Modes and states: ALL CAPITALS, for example, UNSEALED mode.
Cell information is stored in the fuel gauge in non-volatile flash memory. Many of these data flash locations are accessible during application development. They cannot, generally, be accessed directly during end-equipment operation. To access these locations, use individual commands, a sequence of data-flash-access commands, or the Battery Management Studio (bqStudio) Software. To access a desired data flash location, the correct data flash subclass and offset must be known. For more information on the data flash, see the bq27741-G1 Pack-Side Impedance Track™ Battery Fuel Gauge With Integrated Protector and LDO User's Guide (SLUUAA3).
The fuel gauge provides 96 bytes of user-programmable data flash memory, partitioned into two 64-byte blocks: Manufacturer Info Block A and Manufacturer Info Block B. This data space is accessed through a data flash interface.
The key to the high-accuracy gas gauging prediction is the Texas Instruments proprietary Impedance Track algorithm. This algorithm uses cell measurements, characteristics, and properties to create state-of-charge predictions that can achieve less than 1% error across a wide variety of operating conditions and over the lifetime of the battery.
See the Theory and Implementation of Impedance Track Battery Fuel-Gauging Algorithm Application Note (SLUA364) for further details.
The wake-up comparator indicates a change in cell current while the fuel gauge is in SLEEP mode. The wake comparator threshold can be configured in firmware and set to the thresholds in Table 2. An internal event is generated when the threshold is breached in either charge or discharge directions.
RSNS1 | RSNS0 | IWAKE | Vth(SRP-SRN) |
---|---|---|---|
0 | 0 | 0 | Disabled |
0 | 0 | 1 | Disabled |
0 | 1 | 0 | 1 mV or –1 mV |
0 | 1 | 1 | 2.2 mV or –2.2 mV |
1 | 0 | 0 | 2.2 mV or –2.2 mV |
1 | 0 | 1 | 4.6 mV or –4.6 mV |
1 | 1 | 0 | 4.6 mV or –4.6 mV |
1 | 1 | 1 | 9.8 mV or –9.8 mV |
The integrating delta-sigma ADC gauges the charge or discharge flow of the battery by measuring the voltage drop across a small-value sense resistor between the SRP and SRN pins. The integrating ADC measures bipolar signals and detects charge activity when VSR = VSRP – VSRN is positive and discharge activity when VSR = VSRP – VSRN is negative. The fuel gauge continuously integrates the signal over time using an internal counter.
The fuel gauge updates cell voltages at 1-second intervals when in NORMAL mode. The internal ADC of the fuel gauge measures the voltage, and scales and calibrates it appropriately. Voltage measurement is automatically compensated based on temperature. This data is also used to calculate the impedance of the cell for Impedance Track fuel gauging.
The fuel gauge uses the SRP and SRN inputs to measure and calculate the battery charge and discharge current using a 5-mΩ to 20-mΩ typical sense resistor.
The bq27741-G1 device provides an auto-calibration feature to cancel the voltage offset error across SRN and SRP for maximum charge measurement accuracy, and performs auto-calibration before entering the SLEEP mode.
The fuel gauge external temperature sensing is optimized with the use of a high-accuracy negative temperature coefficient (NTC) thermistor with R25 = 10 kΩ ± 1% and B25/85 = 3435 kΩ ± 1% (such as Semitec 103AT for measurement). The fuel gauge can also be configured to use its internal temperature sensor. The fuel gauge uses temperature to monitor the battery-pack environment, which is used for fuel gauging and cell protection functionality.
The HDQ interface is an asynchronous return-to-one protocol where a processor sends the command code to the fuel gauge. With HDQ, the least significant bit (LSB) of a data byte (command) or word (data) is transmitted first. The DATA signal on pin 12 is open-drain and requires an external pullup resistor. The 8-bit command code consists of two fields: the 7-bit HDQ command code (bits 0 through 6) and the 1-bit RW field (MSB bit 7). The RW field directs the fuel gauge to either one of the following:
The HDQ peripheral can transmit and receive data as either an HDQ master or slave.
HDQ serial communication is normally initiated by the host processor sending a break command to the fuel gauge. A break is detected when the DATA pin is driven to a logic low state for a time t(B) or greater. The DATA pin then is returned to its normal ready logic high state for a time t(BR). The fuel gauge is now ready to receive information from the host processor.
The fuel gauge is shipped in the I2C mode. TI provides tools to enable the HDQ peripheral.
The default fuel gauge behaves as an HDQ slave-only device. If the HDQ interrupt function is enabled, the fuel gauge is capable of mastering and also communicating to a HDQ device. There is no mechanism for negotiating which is to function as the HDQ master, and care must be taken to avoid message collisions. The interrupt is signaled to the host processor with the fuel gauge mastering an HDQ message. This message is a fixed message that signals the interrupt condition. The message itself is 0x80 (slave write to register 0x00) with no data byte being sent as the command is not intended to convey any status of the interrupt condition. The HDQ interrupt function is not public and is only enabled by command.
When the SET_HDQINTEN subcommand is received, the fuel gauge detects any of the interrupt conditions and asserts the interrupt at 1-s intervals until either:
This feature works identically to SOC1. It uses the same data flash entries as SOC1 and triggers interrupts as long as SOC1 = 1 and HDQIntEN = 1.
This feature triggers an interrupt based on the OTC (Overtemperature in Charge) or OTD (Overtemperature in Discharge) condition being met. It uses the same data flash entries as OTC or OTD and triggers interrupts as long as either the OTD or OTC condition is met and HDQIntEN = 1. (See details in HDQ Host Interruption.)
The fuel gauge supports the standard I2C read, incremental read, one-byte write quick read, and functions. The 7-bit device address (ADDR) is the most significant 7 bits of the hex address and is fixed as 1010101. The 8-bit device address is therefore 0xAA or 0xAB for write or read, respectively.
The quick read returns data at the address indicated by the address pointer. The address pointer, a register internal to the I2C communication engine, increments whenever data is acknowledged by the fuel gauge or the I2C master. Quick writes function in the same manner and are a convenient means of sending multiple bytes to consecutive command locations (such as two-byte commands that require two bytes of data).
Attempt to write a read-only address (NACK after data sent by master):
Attempt to read an address above 0x7F (NACK command):
Attempt at incremental writes (NACK all extra data bytes sent):
Incremental read at the maximum allowed read address:
The I2C engine releases both SDA and SCL if the I2C bus is held low for t(BUSERR). If the fuel gauge was holding the lines, releasing them frees the master to drive the lines. If an external condition is holding either of the lines low, the I2C engine enters the low-power SLEEP mode.
The I2C engine releases both SDA and SCL lines if the I2C bus is held low for about 2 seconds. If the fuel gauge was holding the lines, releasing them frees the master to drive the lines.
To ensure the correct results of a command with the 400-kHz I2C operation, a proper waiting time must be added between issuing a command and reading the results. For subcommands, the following diagram shows the waiting time required between issuing the control command and reading the status with the exception of the checksum command. A 100-ms waiting time is required between the checksum command and reading the result. For read-write standard commands, a minimum of 2 seconds is required to get the result updated. For read-only standard commands, there is no waiting time required, but the host must not issue any standard command more than two times per second. Otherwise, the gauge could result in a reset issue due to the expiration of the watchdog timer.
The I2C clock stretch could happen in a typical application. A maximum 80-ms clock stretch could be observed during the flash updates. There is up to a 270-ms clock stretch after the OCV command is issued.
To minimize power consumption, the fuel gauge has three power modes: NORMAL, SLEEP, and FULLSLEEP. The fuel gauge passes automatically between these modes, depending upon the occurrence of specific events, though a system processor can initiate some of these modes directly.
The fuel gauge is in NORMAL mode when not in any other power mode. During this mode, AverageCurrent(), Voltage(), and Temperature() measurements are taken, and the interface data set is updated. Decisions to change states are also made. This mode is exited by activating a different power mode.
Because the fuel gauge consumes the most power in NORMAL mode, the Impedance Track algorithm minimizes the time the fuel gauge remains in this mode.
SLEEP mode performs AverageCurrent(), Voltage(), and Temperature() less frequently, which results in reduced power consumption. SLEEP mode is entered automatically if the feature is enabled (Pack Configuration [SLEEP] = 1) and AverageCurrent() is below the programmable level Sleep Current. Once entry into SLEEP mode has been qualified, but prior to entering it, the fuel gauge performs an ADC autocalibration to minimize offset.
During the SLEEP mode, the fuel gauge periodically takes data measurements and updates its data set. However, a majority of its time is spent in an idle condition.
The fuel gauge exits SLEEP if any entry condition is broken, specifically when either:
FULLSLEEP mode turns off the high-frequency oscillator and performs AverageCurrent(), Voltage(), and Temperature() less frequently, which results in power consumption that is lower than that of the SLEEP mode.
FULLSLEEP mode can be enabled by two methods:
FULLSLEEP mode is entered automatically when it is enabled by one of the methods above. When the first method is used, the gauge enters the FULLSLEEP mode when the fuel gauge is in SLEEP mode. When the second method is used, the FULLSLEEP mode is entered when the fuel gauge is in SLEEP mode and the timer counts down to 0.
The fuel gauge exits the FULLSLEEP mode when there is any communication activity. Therefore, the execution of SET_FULLSLEEP sets the [FULLSLEEP] bit. The FULLSLEEP mode can be verified by measuring the current consumption of the gauge.
During FULLSLEEP mode, the fuel gauge periodically takes data measurements and updates its data set. However, a majority of its time is spent in an idle condition.
The fuel gauge exits SLEEP if any entry condition is broken, specifically when either:
While in FULLSLEEP mode, the fuel gauge can suspend serial communications by as much as 4 ms by holding the comm line(s) low. This delay is necessary to correctly process host communication, because the fuel gauge processor is mostly halted in SLEEP mode.
The battery protector controls two external high-side N-channel FETs in a back-to-back configuration for battery protection. The protector uses two voltage doublers to drive the CHG and DSG FETs on.
The CHG or DSG FET is turned on by pulling the FET gate input up to VFETON. The FETs are turned off by pulling the FET gate input down to VSS. These FETs are automatically turned off by the protector based on the detected protection faults, or when commanded to turn off via the FETTest(0x74/0x75) extended command. Once the protection fault(s) is cleared, the FETs may be turned on again.
The battery protector has several operating modes:
The relationships among these modes are shown in Figure 10.
In this mode, the fuel gauge is not functional and only certain portions of analog circuitry are running to allow device wakeup from shutdown and low voltage charging.
In this mode, the fuel gauge is not functional. Once the charger is connected, the fuel gauge determines if low voltage charging is allowed and then transitions to low voltage charging.
In this mode, the fuel gauge closes the CHG FET by shorting the gate to the PACKP pin. Low voltage charging continues until the cell voltage (VVPWR) rises above the POR threshold.
In this mode, the voltage on VPWR pin is below VUVP and the charger is connected. As soon as the charger disconnects, the fuel gauge transitions into ANALOG SHUTDOWN mode to save power.
The fuel gauge can enter this mode from LOW VOLTAGE CHARGING mode when the battery pack is being charged from a deeply discharged state or from NORMAL mode when the battery pack is being discharged below the allowed voltage.
When the battery pack is charged above VUVPREL, the fuel gauge transitions to NORMAL mode.
In this mode, the protector is fully powered and operational. Both CHG and DSG FETs are closed, while further operation is determined by the firmware. The protector is continuously checking for all faults.
The CHG or DSG FET may be commanded to be opened via the protector register by the firmware, but it does not affect protector operation or change the mode of operation.
Firmware can also command the fuel gauge to go into SHUTDOWN mode based on the command from the host. In this case, firmware sets the shutdown bit to indicate intent to go into SHUTDOWN mode. The fuel gauge then transitions to SHUTDOWN WAIT mode.
In this mode, the shutdown bit was set by the firmware and the fuel gauge initiated the shutdown sequence.
The shutdown sequence is as follows:
In this mode, a short-circuit in discharge (SCD) or overcurrent in discharge (OCD) protection fault is detected when the voltage across the sense resistor continuously exceeds the configured VOCD or VSCD thresholds for longer than the configured delay.
The fuel gauge enables the fault removal detection circuitry, which monitors load removal. A special high resistance load is switched on to monitor load presence. The OCD/SCD fault is cleared when the load is removed, which causes the fuel gauge to transition into NORMAL mode.
In this mode, an overcurrent in charge (OCC) protection fault is detected when the voltage across the sense resistor continuously exceeds the configured VOCC for longer than the configured delay.
The fuel gauge enables the fault removal detection circuitry, which monitors the charger removal. The OCC fault is cleared once the charger voltage drops below the cell voltage by more than 300 mV, which causes the fuel gauge to transition to NORMAL mode.
In this mode, an OVERVOLTAGE PROTECTION (OVP) fault mode is entered when the voltage on VPWR pin continuously exceeds the configured VOVP threshold for longer than the configured delay.
The fuel gauge enables the fault removal detection circuitry, which monitors the charger removal. The OVP fault is cleared once the charger voltage drops below the cell voltage by more than 300 mV and the cell voltage drops below VOVPREL, which causes the fuel gauge to transition to NORMAL mode.
The firmware has control to open the CHG FET or DSG FET independently by overriding hardware control. However, it has no control to close the CHG FET or DSG FET and can only disable the FET override.
Overtemperature protection is implemented in firmware. Gauging firmware monitors temperature every second and opens the CHG and DSG FETs if Temperature() > OT Prot Threshold for OT Prot Delay. The CHG and DSG FETs override will be released when Temperature() < OT Prot Recover.
NOTE
Information in the following applications sections is not part of the TI component specification, and TI does not warrant its accuracy or completeness. TI’s customers are responsible for determining suitability of components for their purposes. Customers should validate and test their design implementation to confirm system functionality.
The bq27741-G1 device is a single-cell fuel gauge with integrated Li-Ion protection circuitry for highly accurate detection of overvoltage, undervoltage, overcurrent in charge, overcurrent in discharge, and short-circuit in discharge fault conditions. If the detected fault continues to be present for a specific delay time (pre-configured in the device), the protection front-end will disable the applicable charge pump circuit, resulting in opening of the FET until the provoking safety condition resolves. The integrated 16-bit delta-sigma converters provide accurate, high precision measurements for voltage, current, and temperature in order to accomplish effective battery monitoring, protection, and gauging. To allow for optimal performance in the end application, special considerations must be taken to ensure minimization of measurement error through proper printed circuit board (PCB) layout and correct configuration of battery characteristics in the fuel gauge data flash. Such requirements are detailed in Design Requirements.
Several key parameters must be updated to align with a given application's battery characteristics. For highest accuracy gauging, it is important to follow-up this initial configuration with a learning cycle to optimize resistance and maximum chemical capacity (Qmax) values prior to sealing and shipping packs to the field. Successful and accurate configuration of the fuel gauge for a target application can be used as the basis for creating a "golden" file that can be written to all production packs, assuming identical pack design and Li-Ion cell origin (chemistry, lot, and so on). Calibration data can be included as part of this golden file to cut down on battery pack production time. If using this method, it is recommended to average the calibration data from a large sample size and use these in the golden file.
NOTE
It is recommended to calibrate all packs individually as this will lead to the highest performance and lowest measurement error in the end application on a per-pack basis. In addition, the integrated protection functionality should be correctly configured to ensure activation based on the fault protection needs of the target pack design, or else accidental trip could be possible if using defaults.
Table 3 shows the items that should be configured to achieve reliable protection and accurate gauging with minimal initial configuration.
NAME | DEFAULT | UNIT | RECOMMENDED SETTING |
---|---|---|---|
Design Capacity | 1000 | mAh | Set based on the nominal pack capacity as shown in the cell manufacturer's data sheet. If multiple parallel cells are used, should be set to N × Cell Capacity. |
Design Energy | 3800 | mWh | Set based on the nominal pack energy (nominal cell voltage × nominal cell capacity) as shown in the cell manufacturer's data sheet. If multiple parallel cells are used, should be set to N × Cell Energy. |
Design Energy Scale | 1 | — | Set to 10 to convert all power values to cWh or to 1 for mWh. Design Energy is divided by this value. |
Reserve Capacity | 0 | mAh | Set to desired runtime remaining (in seconds/3600) × typical applied load between reporting 0% SOC and reaching Terminate Voltage, if needed. |
Design Voltage | 3800 | mV | Set to nominal cell voltage per manufacturer data sheet. |
Cycle Count Threshold | 900 | mAh | Set to 90% of configured Design Capacity. |
Device Chemistry | 0354 | hex | Should be configured using TI-supplied Battery Management Studio (bqStudio) software. Default open-circuit voltage and resistance tables are also updated in conjunction with this step. Do not attempt to manually update reported Device Chemistry as this does not change all chemistry information. Always update chemistry using the appropriate software tool (that is, bqStudio). |
Load Mode | 1 | — | Set to applicable load model, 0 for constant current or 1 for constant power. |
Load Select | 1 | — | Set to load profile which most closely matches typical system load. |
Qmax Cell 0 | 1000 | mAh | Set to initial configured value for Design Capacity. The gauge will update this parameter automatically after the optimization cycle and for every regular Qmax update thereafter. |
V at Chg Term | 4350 | mV | Set to nominal cell voltage for a fully charged cell. The gauge will update this parameter automatically each time full charge termination is detected. |
Terminate Voltage | 3000 | mV | Set to empty point reference of battery based on system needs. Typical is between 3000 and 3200 mV. |
Ra Max Delta | 43 | mΩ | Set to 15% of Cell0 R_a 4 resistance after an optimization cycle is completed. |
Charging Voltage | 4350 | mV | Set based on nominal charge voltage for the battery in normal conditions (25°C, and so on). Used as the reference point for offsetting by Taper Voltage for full charge termination detection. |
Taper Current | 100 | mA | Set to the nominal taper current of the charger + taper current tolerance to ensure that the gauge will reliably detect charge termination. |
Taper Voltage | 100 | mV | Sets the voltage window for qualifying full charge termination. Can be set tighter to avoid or wider to ensure possibility of reporting 100% SOC in outer JEITA temperature ranges that use derated charging voltage. |
Dsg Current Threshold | 60 | mA | Sets threshold for gauge detecting battery discharge. Should be set lower than minimal system load expected in the application and higher than Quit Current. |
Chg Current Threshold | 75 | mA | Sets the threshold for detecting battery charge. Can be set higher or lower depending on typical trickle charge current used. Also should be set higher than Quit Current. |
Quit Current | 40 | mA | Sets threshold for gauge detecting battery relaxation. Can be set higher or lower depending on typical standby current and exhibited in the end system. |
Avg I Last Run | –299 | mA | Current profile used in capacity simulations at onset of discharge or at all times if Load Select = 0. Should be set to nominal system load. Is automatically updated by the gauge every cycle. |
Avg P Last Run | –1131 | mW | Power profile used in capacity simulations at onset of discharge or at all times if Load Select = 0. Should be set to nominal system power. Is automatically updated by the gauge every cycle. |
Sleep Current | 15 | mA | Sets the threshold at which the fuel gauge enters SLEEP mode. Take care in setting above typical standby currents else entry to SLEEP may be unintentionally blocked. |
Shutdown V | 0 | mV | If auto-shutdown of fuel gauge is required prior to protect against accidental discharge to undervoltage condition, set this to desired voltage threshold for completely powering down the fuel gauge. Recovery occurs when a charger is connected. |
OT Chg | 55 | °C | Set to desired temperature at which charging is prohibited to prevent cell damage due to excessive ambient temperature. |
OT Chg Time | 5 | s | Set to desired time before CHG FET is disabled based on overtemperature. Since temperature changes much more slowly than other fault conditions, the default setting is sufficient for most application. |
OT Chg Recovery | 50 | °C | Set to the temperature threshold at which charging is no longer prohibited. |
OT Dsg | 60 | °C | Set to desired temperature at which discharging is prohibited to prevent cell damage due to excessive ambient temperature. |
OT Dsg Time | 5 | s | Set to desired time before DSG FET is disabled based on overtemperature. Since temperature changes much more slowly than other fault conditions, the default setting is sufficient for most application. |
OT Dsg Recovery | 55 | °C | Set to the temperature threshold at which cell discharging is no longer prohibited. |
CC Gain | 5 | mΩ | Calibrate this parameter using TI-supplied bqStudio software and calibration procedure in the TRM. Determines conversion of coulomb counter measured sense resistor voltage to current. |
CC Delta | 5.074 | mΩ | Calibrate this parameter using TI-supplied bqStudio software and calibration procedure in the TRM. Determines conversion of coulomb counter measured sense resistor voltage to passed charge. |
CC Offset | 6.874 | mA | Calibrate this parameter using TI-supplied bqStudio software and calibration procedure in the TRM. Determines native offset of coulomb counter hardware that should be removed from conversions. |
Board Offset | 0.66 | µA | Calibrate this parameter using TI-supplied bqStudio software and calibration procedure in the TRM. Determines native offset of the printed circuit board parasitics that should be removed from conversions. |
Pack V Offset | 0 | mV | Calibrate this parameter using TI-supplied bqStudio software and calibration procedure in the TRM. Determines voltage offset between cell tab and ADC input node to incorporate back into or remove from measurement, depending on polarity. |
A ceramic capacitor at the input to the BAT pin is used to bypass AC voltage ripple to ground, greatly reducing its influence on battery voltage measurements. It is most effective in applications with load profiles that exhibit high frequency current pulses (that is, cell phones), but is recommended for use in all applications to reduce noise on this sensitive high impedance measurement node.
The series resistor between the battery and the BAT input is used to limit current that could be conducted through the chip-scale package's solder bumps in the event of an accidental short during the board assembly process. The resistor is not likely to survive a sustained short condition (depends on power rating); however, it damages the much cheaper resistor component over suffering damage to the fuel gauge die itself.
The filter network at the input to the coulomb counter is intended to improve differential mode rejection of voltage measured across the sense resistor. These components should be placed as close as possible to the coulomb counter inputs and the routing of the differential traces length-matched in order to best minimize impedance mismatch-induced measurement errors. The single-ended ceramic capacitors should be tied to the battery voltage node (preferably to a large copper pour connected to the SRN side of the sense resistor) in order to further improve common-mode noise rejection. The series resistors between the CC inputs and the sense resistor should be at least 200 Ω in order to mitigate SCR-induced latch-up due to possible ESD events.
Any variation encountered in the resistance present between the SRP and SRN pins of the fuel gauge will affect the resulting differential voltage and derived current it senses. As such, it is recommended to select a sense resistor with minimal tolerance and temperature coefficient of resistance (TCR) characteristics. The standard recommendation based on best compromise between performance and price is a 1% tolerance, 50-ppm drift sense resistor with a 1-W power rating.
Similar to the BAT pin, a ceramic decoupling capacitor for the TS pin is used to bypass AC voltage ripple away from the high-impedance ADC input, minimizing measurement error. Another helpful advantage is that the capacitor provides additional ESD protection since most thermistors are handled and manually soldered to the PCB as a separate step in the factory production flow. It should be placed as close as possible to the respective input pin for optimal filtering performance.
The fuel gauge temperature sensing circuitry is designed to work with a negative temperature coefficient-type (NTC) thermistor with a characteristic 10-kΩ resistance at room temperature (25°C). The default curve-fitting coefficients configured in the fuel gauge specifically assume a 103AT-2 type thermistor profile and so that is the default recommendation for thermistor selection purposes. Moving to a separate thermistor resistance profile (for example, JT-2 or others) requires an update to the default thermistor coefficients in data flash to ensure highest accuracy temperature measurement performance.
A ceramic capacitor is placed at the input to the fuel gauge's internal LDO in order to increase power supply rejection (PSR) and improve effective line regulation. It ensures that voltage ripple is rejected to ground instead of coupling into the device's internal supply rails.
A ceramic capacitor is also needed at the output of the internal LDO to provide a current reservoir for fuel gauge load peaks during high peripheral utilization. It acts to stabilize the regulator output and reduce core voltage ripple inside of the device.
A protection network composed of resistors and zener diodes is recommended on each of the serial communication inputs to protect the fuel gauge from serious ESD transients. The Zener should be selected to break down at a voltage larger than the typical pullup voltage for these lines but less than the internal diode clamp breakdown voltage of the device inputs (approximately 6 V). A zener voltage of 5.6 V is typically recommended. The series resistors are used to limit the current into the Zener diode and prevent component destruction due to thermal strain once it goes into breakdown. 100 Ω is typically recommended for these resistance values.
Inclusion of a 2-kΩ series resistor on the PACKP input allows it to tolerate a charger overvoltage event up to 28 V without device damage. The resistor also protects the device in the event of a reverse polarity charger input, since the substrate diode will be forward biased and attempt to conduct charger current through the fuel gauge (as well as the high FETs). An external reverse charger input FET clamp can be added to short the DSG FET gate to its source terminal, forcing the conduction channel off when negative voltage is present at PACK+ input to the battery pack and preventing large battery discharge currents. A ceramic capacitor connected at the PACKP pin helps to filter voltage into the comparator sense lines used for checking charger and load presence. In addition, in the LOW VOLTAGE CHARGING state, the minimal circuit elements that are operational are powered from this input pin and require a stable supply.
The series resistors used at the DSG and CHG output pins serve to protect them from damaging ESD events or breakdown conditions, allowing the resistors to be damaged in place of the fuel gauge itself. An added bonus is that they also help to limit in-rush currents due to use of FETs with large gate capacitance, allowing a smooth ramp of power-path connection turn-on to the system.
The selection of N-channel FETs for a single-cell battery pack design depends on a variety of factors including package type, size, and device cost as well as performance metrics such as drain-to-source resistance (rDS(on)), gate capacitance, maximum current and power handling, and similar. At a minimum, it is recommended that the selected FETs have a drain-to-source voltage (VDS) and gate-to-source (VGS) voltage tolerance of 12 V. Some FETs are designed to handle as much as 24 V between the drain and source terminals and this would provide an increased safety margin for the pack design. Additionally, the DC current rating should be high enough to safely handle sustained current in charge or discharge direction just below the maximum threshold tolerances of the configured OCC and OCD protections and the lowest possible sense resistance value based on tolerance and TCR considerations, or vice-versa. This ensures that there is sufficient power dissipation margin given a worst-case scenario for the fault detections. In addition, striving for minimal FET resistance at the expected gate bias as well as lowest gate capacitance will help reduce conduction losses and increase power efficiency as well as achieve faster turn-on and turn-off times for the FETs. Many of these FETs are now offered as dual, back-to-back N-channel FETs in wafer-chip scale (WCSP) packaging, decreasing both BOM count and shrinking necessary board real estate to accommodate the components. Finally, refer to the safe operating area (SOA) curves of the target FETs to ensure that the boundaries are never violated based on all possible load conditions in the end application. The CSD83325L is an excellent example of a FET solution that meets all of the aforementioned criteria, offering rDS(on) of 10.3 mΩ and VDS of 12 V with back-to-back N-channel FETs in a chip-scale package, a perfect fit for battery pack designs.
The additional capacitors placed across the CHG and DSF FET source pins as well as between PACK+ and ground help to bolster and greatly improve the ESD robustness of the pack design. The former components shunt damaging transients around the FETs and the latter components attempt to bypass such pulses to PACK– before they couple further into the battery pack PCB. Two series capacitors are used for each of these protection areas to prevent a battery short in the event of a single capacitor failure.
The VPWR input pin and the REG25 output pin require low equivalent series resistance (ESR) ceramic capacitors placed as closely as possible to the respective pins to optimize ripple rejection and to provide a stable and dependable power rail that is resilient to line transients. A 0.1-μF capacitor at the VPWR and a 1-μF capacitor at REG25 suffice for satisfactory device performance.
For the highest voltage measurement accuracy, it is important to connect the BAT pin directly to the battery terminal PCB pad. This avoids measurement errors caused by IR drops when high charge or discharge currents are flowing. Connecting directly at the positive battery terminal with a Kelvin connection ensures the elimination of parasitic resistance between the point of measurement and the actual battery terminal. Likewise, the low current ground return for the fuel gauge and all related passive components should be star-connected precisely at the negative battery terminal. This technique minimizes measurement error due to current-induced ground offsets and also improves noise performance through prevention of ground bounce that could occur with high current and low current returns intersecting ahead of the battery ground. The bypass capacitor for this sense line needs to be placed as close as possible to the BAT input pin.
Kelvin connections at the sense resistor are as critical as those for the battery terminals themselves. The differential traces should be connected at the inside of the sense resistor pads and not anywhere along the high current trace path in order to prevent false increases to measured current that could result when measuring between the sum of the sense resistor and trace resistance between the tap points. In addition, the routing of these leads from the sense resistor to the input filter network and finally into the SRP and SRN pins needs to be as closely matched in length as possible or an additional measurement offset may occur. It is further recommended to add copper trace or pour-based "guard rings" around the perimeter of the filter network and coulomb counter inputs to shield these sensitive pins from radiated EMI into the sense nodes. This prevents differential voltage shifts that could be interpreted as real current change to the fuel gauge. All of the filter components need to be placed as close as possible to the coulomb counter inputs pins.
The thermistor sense input should include a ceramic bypass capacitor placed as close to the TS input pin as possible. The capacitor helps to filter measurements of any stray transients as the voltage bias circuit pulses periodically during temperature sensing windows.
The battery current transmission path through the FETs should be routed with large copper pours to provide the lowest resistance path possible to the system. Depending on package type, thermal vias can be placed in the package land pattern's thermal pad to reduce thermal impedance and improve heat dissipation from the package to the board, protecting the FETs during high system loading conditions. In addition, it is preferable to locate the FETs and other heat generating components away from the low power pack electronics to reduce the chance of temperature drift and associated impacts to data converter measurements. In the event of FET overheating, keeping reasonable distance between the most critical components, such as the fuel gauge, and the FETs helps to decrease the risk of thermal breakdown to the more fragile components.
The ESD components included in the reference design that connect across the back-to-back FETs as well as from PACK+ to ground require trace connections that are as wide and short as possible in order to minimize loop inductance in their return path. This ensures impedance is lowest at the AC loop through the series capacitors and makes this route most attractive for ESD transients such that they are conducted away from the vulnerable low voltage, low power fuel gauge and passive components. The series resistors and Zener diodes connected to the serial communications lines should be placed as close as possible to the battery pack connector to keep large ESD currents confined to an area distant from the fuel gauge electronics. Further, all ESD components referred to ground should be single-point connected to the PACK– terminal if possible. This reduces the possibility of ESD coupling into other sensitive nodes well ahead of the PACK– ground return.
For best possible noise performance, it is important to separate the low current and high current loops to different areas of the board layout. The fuel gauge and all support components should be situated on one side of the board and tap off of the high current loop (for measurement purposes) at the sense resistor. Routing the low current ground around instead of under high current traces further helps to improve noise rejection. Finally, the high current path should be confined to a small loop from the battery, through the FETs, into the PACK connector, and back.