Part Number Hot Search : 
1N4935 Z89314 1N5929B LB621 4N32S SR205 2SC2752 SPD3126S
Product Description
Full Text Search
 

To Download BQ2083 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  slus573 ? july 2003 features  provides accurate measurement of available charge in li-ion and li-polymer batteries  supports the smart battery specification (sbs) v1.1  works with the ti bq29311 analog front end (afe) protection ic to provide complete pack electronics for 10.8-v or 14.4-v battery packs with few external components  based on a powerful low-power risc cpu core with high-performance peripherals  integrated flash memory eliminates the need for external configuration eeprom  measures charge flow using a high resolution 16-bit integrating converter ? better than 3-nvh of resolution ? self-calibrating ? offset error less than 1- v  uses 16-bit delta sigma converter for accurate voltage and temperature measurements  programmable cell modeling for maximum battery fuel gauge accuracy  drives 3-, 4-, or 5-segment led display for remaining capacity indication  38-pin tssop (dbt) applications  notebook pcs  medical and test equipment  portable instrumentation description the BQ2083?v1p2 sbs-compliant gas gauge ic for battery pack or in-system installation maintains an accurate record of available charge in li-ion or li-polymer batteries. the BQ2083?v1p2 monitors capacity and other critical parameters of the battery pack and reports the information to the system host controller over a serial communication bus. it is designed to work with the bq29311 analog front-end (afe) protection ic to maximize functionality and safety and minimize component count and cost in smart battery circuits. using information from the BQ2083?v1p2, the host controller can manage remaining battery power to extend the system run time as much as possible. block diagram adc voltage sense resistor (10 m ? - 20 m ? ) pack? integrating adc coulomb counting temp sensor 512 bytes config. flash eprom BQ2083?v1p2 level translator bq29311 ldo glueless interface cell inputs safety control smbus pack+ supply voltage li-ion cells ? + charge/discharge power fets ? + ? + please be aware that an important notice concerning availability, standard warranty, and use in critical applications of t exas instruments semiconductor products and disclaimers thereto appears at the end of this data sheet. www.ti.com copyright ? 2003, texas instruments incorporated
slus573 ? july 2003 www.ti.com 2 description (continued) the BQ2083?v1p2 uses an integrating converter with continuous sampling for the measurement of battery charge and discharge currents. optimized for coulomb counting in portable applications, the self-calibrating integrating converter has a resolution better than 3-nvh and an offset measurement error of less than 1- v (typical). for voltage and temperature reporting, the BQ2083?v1p2 uses a 16-bit a-to-d converter. in conjunction with the bq29311, the onboard adc also monitors individual cell voltages in a battery pack and allows the BQ2083?v1p2 to generate the control signals necessary to implement the cell balancing and the required safety protection for li-ion and li-polymer battery chemistries. the BQ2083?v1p2 supports the smart battery data (sbdata) commands and charge-control functions. it communicates data using the system management bus (smbus) 2-wire protocol. the data available include the battery?s remaining capacity, temperature, voltage, current, and remaining run-time predictions. the BQ2083?v1p2 provides led drivers and a push-button input to depict remaining battery capacity from full to empty in 20%, 25%, or 33% increments with a 3-, 4-, or 5-segment display. the BQ2083?v1p2 contains 512 bytes of internal data flash memory, which store configuration information. the information includes nominal capacity and voltage, self-discharge rate, rate compensation factors, and other programmable cell-modeling factors used to accurately adjust remaining capacity for use-conditions based on time, rate, and temperature. the BQ2083?v1p2 also automatically calibrates or learns the true battery capacity in the course of a discharge cycle from programmable near full to near empty levels. the bq29311 afe protection ic provides power to the BQ2083?v1p2 from a 3 or 4 series li-ion cell stack, eliminating the need for an external regulator circuit . 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 vin ts oc n/c n/c sclk n/c vddd rbi sdata vssd safe n/c n/c smbc smbd disp event vssd vssd n/c n/c clkout xck1 xck2 filt vdda vssa vssa sr1 sr2 mrst n/c led1 led2 led3 led4 led5 tssop package (top view) nc ? no internal connection available options t a package 38-pin tssop (dbt) ?20 c to 85 c BQ2083dbt?v1p2 (1) (1) the BQ2083?v1p2 is available taped and reeled. insert an r suffix to the device type (e.g., BQ2083dbtr?v1p2) to order tape and reel version.
slus573 ? july 2003 www.ti.com 3 terminal functions terminal i/o description name no. i/o description clkout 35 i 32.768-khz output to the bq29311 disp 17 i display control for the led drivers led1 through led5 filt 32 i analog input connected to the external pll filter event 18 i input from bq29311 xalert output led1 24 o led2 23 o led3 22 o led display segments that each may drive an external led led4 21 o led display segments that each may drive an external led led5 20 o mrst 26 i master reset input that forces the device into reset when held high n/c 4, 5, 7, 13, 14, 25, 36, 37 ? no connection oc 3 i analog input for auto adc offset compensation; should be connected to vssa rbi 9 i register backup that provides backup potential to the BQ2083?v1p2 data registers during periods of low operating voltage. rbi accepts a storage capacitor or a battery input. safe 12 o output for additional level of safety protection; e.g., fuse blow. sclk 6 o communication clock to the bq29311 sdata 10 i/o data transfer to and from bq29311 smbc 15 i/o smbus clock open-drain bidirectional pin used to clock the data transfer to and from the BQ2083?v1p2 smbd 16 i/o smbus data open-drain bidirectional pin used to transfer address and data to and from the BQ2083?v1p2 sr1 28 i connections for a small-value sense resistor to monitor the battery charge- and discharge-current flow sr2 27 i connections for a small-value sense resistor to monitor the battery charge- and discharge-current flow ts 2 i thermistor voltage input connection to monitor temperature vdda 31 i positive supply for analog circuitry vddd 8 i positive supply for digital circuitry and i/o pins vin 1 i single cell voltage input from the bq29311 vssa 29, 30 i negative supply for analog circuitry vssd 11, 19, 38 i negative supply for digital circuitry xck1 34 i 32.768 khz crystal oscillator input pin xck2 33 o 32.768 khz crystal oscillator output pin
slus573 ? july 2003 www.ti.com 4 absolute maximum ratings over oper ating free-air temperature range unless otherwise noted (1) unit supply voltage range, v dd relative to v ss (2) ?0.3 v to 6 v open-drain i/o pins, v (iod) relative to v ss (2) ?0.3 v to 6 v input voltage range to all other pins, v i relative to v ss (2) ?0.3 v to v dd + 0.3 v hbm 1.5 kv esds rating cdm 1.5 kv esds rating mm 50 v operating free-air temperature range, t a ?20 c to 85 c storage temperature range, t stg ?65 c to 150 c (1) stresses beyond those listed under ?absolute maximum ratings? may cause permanent damage to the device. these are stress ratings only, a nd functional operation of the device at these or any other conditions beyond those indicated under ?recommended operating conditi ons? is not implied. exposure to absolute-maximum-rated conditions for extended periods may affect device reliability. (2) vss refers to the common node of v (ssa) , v (ssd) , and v (ssp). electrical characteristics v dd = 3.0 v to 3.6 v, t a = ?20 c to 85 c (unless otherwise noted) parameter test conditions min typ max unit v dd supply voltage v dda and v ddd 3.0 3.3 3.6 v i dd operating current no flash programming 450 a v (ols) output voltage low: (led1?led5) i (ols) = 10 ma 0.4 v v il input voltage low disp ?0.3 0.8 v v ih input voltage high disp 2 v cc + 0.3 v v ol output voltage low smbc, smbd, sdata, sclk, event, safe i ol = 10 ma 0.4 v v (ils) input voltage low smbc, smbd, sdata, sclk, event, safe ?0.3 0.8 v v (ihs) input voltage high smbc, smbd, sdata, sclk, event, safe 1.7 6 v v (ai) input voltage range vin, ts, oc v ss ? 0.3 1.0 v z (ai1) input impedance sr1, sr2 0 v?1.0 v 10 m ? z (ai2) input impedance vin, ts, oc 0 v?1.0 v 8 m ? power-on reset (see figure 1) parameter test conditions min typ max unit v it? negative-going voltage input 2.1 2.3 2.5 v v hys power-on reset hysteresis 50 125 210 mv
slus573 ? july 2003 www.ti.com 5 v hys v it? 110 115 120 125 130 135 140 145 150 t a ? free-air temperature ? c 2.10 2.15 2.20 2.25 2.30 2.35 2.40 2.45 2.50 ?20 ?5 10 25 40 55 70 85 por behavior vs free-air temperature ? negative-going input threshold voltage ? v v it? ? hysteresis voltage ? mv v hys figure 1 integrating adc characteristics v dd = 3.0 v to 3.6 v, t a = ?20 c to 85 c (unless otherwise noted) parameter test conditions min typ max unit v (sr) input voltage range, v (sr2) and v (sr1) v sr = v (sr2) ? v (sr1) ?0.3 1.0 v v (sros) input of fset 1 v inl integral nonlinearity error 0.003% 0.009% pll switching characteristics v dd = 3.0 v to 3.6 v, t a = ?20 c to 85 c (unless otherwise noted) parameter test conditions min typ max unit t (sp) start-up time (see note 1) 0.5% frequency error 2 5 ms (1) the frequency error is measured from 32.768 hz. external oscillator v dd = 3.0 v to 3.6 v, t a = ?20 c to 85 c (unless otherwise noted) parameter test conditions min typ max unit f (exo) frequency error (see note 1) ?0.025% 0.025% f (exo) frequency error (see note 1) v dd = 3.3 v ?1% 1% f (sxo) start-up time (see note 2) 275 s (1) the frequency error is measured from 32.768 hz. (2) the start-up time is defined as the time it takes for the oscillator output frequency to be 1%.
slus573 ? july 2003 www.ti.com 6 smbus timing specifications v dd = 3.0 v to 3.6 v, t a = ?20 c to 85 c (unless otherwise noted) parameter test conditions min typ max unit f smb smbus operating frequency slave mode, smbc 50% duty cycle 10 100 khz f mas smbus master clock frequency master mode, no clock low slave extend 51.2 khz t buf bus free time between start and stop 4.7 s t hd(sta) hold time after (repeated) start 4.0 s t su(sta) repeated start setup time 4.7 s t su(sto) stop setup time 4.0 s t hd(dat) data hold time receive mode 0 ns t hd(dat) data hold time transmit mode 300 ns t su(dat) data setup time 250 ns t timeout error signal/detect see note 1 25 35 ms t low clock low period 4.7 s t high clock high period see note 2 4.0 50 s t low(sext) cumulative clock low slave extend time see note 3 25 ms t low(mext) cumulative clock low master extend time see note 4 10 ms t f clock/data fall time see note 5 300 ns t r clock/data rise time see note 6 1000 ns (1) the BQ2083?v1p2 times out when any clock low exceeds t timeout (2) t high max. is minimum bus idle time. smbc = 1 for t > 50 s causes reset of any transaction involving BQ2083?v1p2 that is in progress. (3) t low(sext) is the cumulative time a slave device is allowed to extend the clock cycles in one message from initial start to the stop. (4) t low(mext) is the cumulative time a master device is allowed to extend the clock cycles in one message from initial start to the stop. (5) rise time t r = (v ilmax ? 0.15 v) to (v ihmin + 0.15 v). (6) fall time t f = 0.9 v dd to (v ilmax ? 0.15 v). data flash memory switching characteristics v dd = 3.0 v to 3.6 v, t a = ?20 c to 85 c (unless otherwise noted) parameter test conditions min typ max unit t (retension) data retention see note 1 10 years flash programming write-cycles see note 1 10 5 cycles t (wordprog) word programming time see note 1 2 ms i (ddprog) flash-write supply current see note 1 14 16 ma (1) specified by design. not production tested. register backup parameter test conditions min typ max unit i (rbi) rbi data-retention input current (see note 1) v rb > 3.0 v, v dd < v it 10 100 na v (rbi) rbi data-retention voltage 1.3 v (1) specified by design. not production tested.
slus573 ? july 2003 www.ti.com 7 smbus timing diagrams ps t hd(sta) t hd(dat) t high t su(dat) t su(sta) t hd(sta) t su(sto) sp sclk sdata start stop sclk ack (1) t low(mext) sclk sdata t low t low(sext) t f t r t buf t low(mext) t low(mext) sclk ack (1) (1) sclk ack is the acknowledge-related clock pulse generated by the master. figure 2. smbus timing diagram
slus573 ? july 2003 www.ti.com 8 functional description general operation the BQ2083?v1p2 determines battery capacity by monitoring the amount of charge input or removed from a rechargeable battery. in addition to measuring charge and discharge, the BQ2083?v1p2 measures battery voltage, temperature, and current, estimates battery self-discharge, and monitors the battery for low-voltage thresholds. the BQ2083?v1p2 measures charge and discharge activity by monitoring the voltage across a small-value series sense resistor between the battery?s negative terminal and the negative terminal of the battery pack. the available battery charge is determined by monitoring this voltage and correcting the measurement for environmental and operating conditions. the BQ2083?v1p2 interfaces with the bq29311 to perform battery protection, cell balancing and voltage translation functions. the BQ2083?v1p2 can accept any ntc thermistor (default is semitec 103at) for temperature measurement or can be configured to use its internal temperature sensor. the BQ2083?v1p2 uses temperature to monitor the battery pack and to compensate the self-discharge estimate. measurements the BQ2083?v1p2 uses an integrating sigma-delta analog-to-digital converter (adc) for current measurement and a second sigma delta adc for battery voltage and temperature measurement. voltage, current, and temperature measurements are made every second. charge and discharge counting the integrating adc measures the charge and discharge flow of the battery by monitoring a small-value sense resistor between the sr1 and sr2 pins as shown in the schematic. the integrating adc measures bipolar signals from ?0.3 to 1.0 v. the BQ2083?v1p2 detects charge activity when v sr = v (sr1) ?v (sr2) is positive and discharge activity when v sr = v (sr1) ?v (sr2) is negative. the BQ2083?v1p2 continuously integrates the signal over time, using an internal counter. the fundamental rate of the counter is 2.6 nvh. the BQ2083?v1p2 updates remaining capacity() with the charge or discharge accumulated in this internal counter once every second. offset calibration the BQ2083?v1p2 provides an autocalibration feature to cancel the voltage offset error across sr 1 and sr 2 for maximum charge measurement accuracy . the BQ2083?v1p2 performs autocalibration when the smbus lines stay low for a minimum of 20 s. the BQ2083?v1p2 is capable of automatic offset calibration down to 1 v. digital filter the BQ2083?v1p2 does not measure charge or discharge counts below the digital filter threshold. the digital filter threshold is programmed in the digital filter df 0x2b and should be set sufficiently high to prevent false signal detection with no charge or discharge flowing through the sense resistor. voltage while monitoring sr1 and sr2 for charge and discharge currents, the BQ2083?v1p2 monitors the individual series cell voltages through the bq29311. the BQ2083?v1p2 configures the bq29311 to present the selected cell to the vcell pin of the bq29311 which should be connected to vin of the BQ2083?v1p2. the internal adc of the BQ2083?v1p2 then measures the voltage and scales it appropr iately. the BQ2083?v1p2 then reports the voltage( ) and the individual cell voltages in vcell1, vcell2, vcell3, and vcell4 located in 0x3c?0x3f. current the BQ2083?v1p2 uses the sr1 and sr2 inputs to measure and calculate the battery charge and discharge current as represented in the data register current(). temperature the ts input of the BQ2083?v1p2 in conjunction with an ntc thermistor measures the battery temperature as shown in the schematic. the BQ2083?v1p2 reports temperature in temperature( ). the BQ2083?v1p2 can also be configured to use its internal temperature sensor by setting the it bit in misc configuration df 0x2a. data flash locations df 0xa4 through df 0xad also have to be changed to prescribed values if the internal temperature sensor option is selected.
slus573 ? july 2003 www.ti.com 9 gas gauge operation table 1. data flash settings for internal or external temperature sensor label location dec (hex) internal temp sensor setting dec (hex) external temp sensor setting dec (hex) misc. config 42 (0x2a) bit 7 = 1 bit 7 = 0 ts const1 a3 164/5 (0xa4/5) 0 (0x0000) ?28285 (0x9183) ts const2 a2 166/7 (0xa6/7) 0 (0x0000) 20848 (0x5170) ts const3 a1 168/9 (0xa8/9) ?11136 (0xd480) ?7537 (0xe28f) ts const4 a0 170/1 (0xaa/b) 5734 (0x1666) 4012 (0x0fac) min temp ad 172/3 (0xac/d) 0 (0x0000) 0 (0x000) max temp 174/5 (0xae/f) 5734 (0x1666) 4012 (0x0fac) if ad < min temp ad then temp = max temp else temp = ((a3 ad 2^?16 +a2) ad 2^?16 + a1) ad 2^?16 + a0) general the operational overview in figure 3 illustrates the gas gauge operation of the BQ2083?v1p2. table 3 describes the BQ2083?v1p2 registers. charge efficiency compensation charge current + inputs remaining capacity (rm) discharge current temperature compensation self-discharge timer ? ? + full charge capacity (fcc) discharge count register (dcr) qualified transfer temperature, other data main counters and capacity reference (fcc) outputs chip-controlled available charge led display two-wire serial port ? + + battery electronics load estimate figure 3. BQ2083?v1p2 operational overview the BQ2083?v1p2 accumulates a measure of charge and discharge currents and estimates self-discharge of the battery. the BQ2083?v1p2 compensates the charge current measurement for temperature and state-of-charge of the battery. the BQ2083?v1p2 also adjusts the self-discharge estimation based on temperature.
slus573 ? july 2003 www.ti.com 10 the main charge counter remainingcapacity( ) (rm) represents the available capacity or energy in the battery at any given time. the BQ2083?v1p2 adjusts rm for charge, self-discharge, and other compensation factors. the information in the rm register is accessible through the smbus interface and is also represented through the led display. the fullchargecapacity( ) (fcc) register represents the last measured full discharge of the battery. it is used as the battery full-charge reference for relative capacity indication. the BQ2083?v1p2 updates fcc after the battery undergoes a qualified discharge from nearly full to a low battery level. fcc is accessible through the smbus interface. the discharge count register (dcr) is a non-accessible register that tracks discharge of the battery. the BQ2083?v1p2 uses the dcr register to update the fcc register if the battery undergoes a qualified discharge from nearly full to a low battery level. in this wa y, the BQ2083?v1p2 learns the true discharge capacity of the battery under system use conditions. main gas-gauge registers the gas-gauge register functions are described in table 3. remainingcapacity( ) (rm) rm represents the remaining capacity in the battery. the BQ2083?v1p2 computes rm in units of either mah or 10 mwh depending on the selected mode. see battery mode( ) (0x03) for units configuration. rm counts up during charge to a maximum value of fcc and down during discharge and self-discharge to a minimum of 0. in addition to charge and self-discharge compensation, the BQ2083?v1p2 calibrates rm at three low-battery-voltage thresholds, edv2, edv1, and edv0 and three programmable midrange thresholds voc25, voc50, and voc75. this provides a voltage-based calibration to the rm counter. designcapacity( ) (dc) the dc is the user-specified battery full capacity. it is calculated from pack capacity df 0x31-0x32 and is represented in units of mah or 10 mwh. it also represents the full-battery reference for the absolute display mode. fullchargecapacity( ) (fcc) fcc is the last measured discharge capacity of the battery. it is represented in units of either mah or 10 mwh, depending on the selected mode. on initialization, the BQ2083?v1p2 sets fcc to the value stored in last measured discharge df 0x35-0x36. during subsequent discharges, the BQ2083?v1p2 updates fcc with the last measured discharge capacity of the battery. the last measured discharge of the battery is based on the value in the dcr register after a qualified discharge occurs. once updated, the BQ2083?v1p2 writes the new fcc value to data flash in mah to last measured discharge . fcc represents the full battery reference for the relative display mode and relative state of charge calculations. discharge count register (dcr) the dcr register counts up during discharge, independent of rm. dcr counts discharge activity, battery load estimation, and self-discharge increment. the BQ2083?v1p2 initializes dcr, at the beginning of a discharge, to fcc ? rm when rm is within the programmed value in near full df 0x2f. the dcr initial value of fcc ? rm is reduced by fcc/128 if sc = 1 (bit 5 in gauge configuration ) and is not reduced if sc = 0. dcr stops counting when the battery voltage reaches the edv2 threshold on discharge. capacity learning ( fcc update) and qualified discharge the BQ2083?v1p2 updates fcc with an amount based on the value in dcr if a qualified discharge occurs. the new value for fcc equals the dcr value plus the programmable nearly full and low battery levels, according to the following equation: fcc (new)  dcr (final)  dcr (initial)  measured discharge to edv2  (fcc  battery low% ) battery low % = (value stored in df 0x2e) 2.56 a qualified discharge occurs if the battery discharges from rm fcc ? near full to the edv2 voltage threshold with the following conditions:  no valid charge activity occurs during the discharge period. a valid charge is defined as a charge of 10 mah into the battery. (1)
slus573 ? july 2003 www.ti.com 11  no more than 256 mah of self-discharge or battery load estimation occurs during the discharge period.  the temperature does not drop below the low temperature thresholds programmed in learning low temp df 0x9b when edv2 is detected.  the battery voltage reaches the edv2 threshold during the discharge period and the voltage is greater than or equal to the edv2 threshold minus 384 mv when the BQ2083?v1p2 detected edv2.  no midrange voltage correction occurs during the discharge period.  current remains 3c/32 when edv2 or battery low % level is reached.  no overload condition exists when edv2 threshold is reached or if rm( ) has dropped to battery low% * fcc. the BQ2083?v1p2 sets vdq=1 in pack status when qualified discharge begins. the BQ2083?v1p2 sets vdq=0 if any disqualifying condition occurs. fcc cannot be reduced by more than 256 mah or increased by more than 512 mah during any single update cycle. the BQ2083?v1p2 saves the new fcc value to the data flash within 4 seconds of being updated. end-of-discharge thresholds and capacity correction the BQ2083?v1p2 monitors the battery for three low-voltage thresholds, edv0, edv1, and edv2. the edv thresholds can be programmed for determination based on the overall pack voltage or an individual cell level. the edvv bit in pack configuration df 0x28 configures the BQ2083?v1p2 for overall voltage or single-cell edv thresholds. if programmed for single cell edv determination, the BQ2083?v1p2 determines edv on the basis of the lowest single-cell voltage. fixed edv thresholds may be programmed in emf/edv0 df 0x84-0x85, edv c0 factor/edv1 df 0x86-0x87, and edv r factor/edv2 df 0x88-0x89. if the cedv bit in gauge configuration df 0x29 is set, automatic edv compensation is enabled and the BQ2083?v1p2 computes the edv0, edv1, and edv2 thresholds based on the values in df 0x84-0x8d and the battery?s current discharge rate and temperature. the BQ2083?v1p2 disables edv detection if current( ) exceeds the overload current threshold programmed in df 0x58 ? df 0x59. the BQ2083?v1p2 resumes edv threshold detection after current( ) drops below the overload current threshold. any edv threshold detected is reset after charge is applied and vdq is cleared after 10mah of charge. table 2. state of charge based on low battery voltage threshold relative state of charge edv0 0% edv1 3% edv2 battery low % the BQ2083?v1p2 uses the edv thresholds to apply voltage-based corrections to the rm register according to table 1. the BQ2083?v1p2 performs edv-based rm adjustments with current( ) c/32. no edvs are set if current < c/32. the BQ2083?v1p2 adjusts rm as it detects each threshold. if the voltage threshold is reached before the corresponding capacity on discharge, the BQ2083?v1p2 reduces rm to the appropriate amount as shown in table 2. this reduction occurs only if current c/32 when the edv threshold is detected. if rm reaches the capacity level before the voltage threshold is reached on discharge, the BQ2083?v1p2 prevents rm from decreasing further until the battery voltage reaches the corresponding threshold only on a full learning cycle discharge. rm is not held at the associated edv percentage on a nonlearning discharge cycle (vdq=0) or if current < c/32. if battery low % is set to zero, edv1 and edv0 corrections are disabled.
slus573 ? july 2003 www.ti.com 12 table 3. BQ2083?v1p2 register functions function command access units function command code access units manufactureraccess 0x00 read/write na remainingcapacityalarm 0x01 read/write mah, 10 mwh remainingtimealarm 0x02 read/write minutes batterymode 0x03 read/write na atrate 0x04 read/write ma, 10mw atratetimetofull 0x05 read minutes atratetimetoempty 0x06 read minutes atrateok 0x07 read boolean temperature 0x08 read 0.1 k voltage 0x09 read mv current 0x0a read ma averagecurrent 0x0b read ma maxerror 0x0c read percent relativestateofcharge 0x0d read percent absolutestateofcharge 0x0e read percent remainingcapacity 0x0f read mah, 10 mwh fullchargecapacity 0x10 read mah, 10 mwh runtimetoempty 0x11 read minutes averagetimetoempty 0x12 read minutes averagetimetofull 0x13 read minutes chargingcurrent 0x14 read ma chargingvoltage 0x15 read mv battery status 0x16 read na cyclecount 0x17 read cycles designcapacity 0x18 read mah, 10 mwh designvoltage 0x19 read mv specificationinfo 0x1a read na manufacturedate 0x1b read na serialnumber 0x1c read integer reserved 0x1d-0x1f 0 0 manufacturername 0x20 read string devicename 0x21 read string devicechemistry 0x22 read string manufacturerdata 0x23 read string pack status 0x2f (lsb) read na pack configuration 0x2f (msb) read na vcell4 0x3c read mv vcell3 0x3d read mv vcell2 0x3e read mv vcell1 0x3f read mv
slus573 ? july 2003 www.ti.com 13 self-discharge the BQ2083?v1p2 estimates the self-discharge of the battery to maintain an accurate measure of the battery capacity during periods of inactivity. the BQ2083?v1p2 makes self-discharge adjustments to rm( ) every 1/4 seconds when awake and periodically when in sleep mode. the period is determined by sleep timer df 0xe7. the self-discharge estimation rate for 25 c is doubled for each 10 degrees above 25 c or halved for each 10 degrees below 25 c. the following table shows the relation of the self-discharge estimation at a given temperature to the rate programmed for 25 c (y% per day programmed in df 0x2c). table 4. self-discharge for rate programmed temperature ( c) self-discharge rate te m p < 10 1/4 y% per day 10 temp < 20 1/2 y% per day 20 temp < 30 y% per day 30 temp < 40 2y% per day 40 temp < 50 4y% per day 50 temp < 60 8y% per day 60 temp < 70 16y% per day 70 temp 32y% per day time ? days 0 200 400 600 800 1000 1200 0 10203040506070 t a = 15 c capacity vs time t a = 35 c t a = 25 c t a = 45 c capacity ? mah figure 4. self-discharge at 2.5%/day at 25 c figure 4 illustrates how the self-discharge estimate algorithm adjusts remainingcapacity( ) versus temperature. battery electronic load compensation the BQ2083?v1p2 can be configured to compensate for a constant load (as from battery electronics) present in the battery pack at all times. the BQ2083?v1p2 applies the compensation continuously when the charge or discharge is below the digital filter. the BQ2083?v1p2 applies the compensation in addition to self-discharge. the compensation occurs at a rate determined by the value stored in electronics load df 0x2d. the compensation range is 0 a?765 a in steps of approximately 3 a .
slus573 ? july 2003 www.ti.com 14 midrange capacity corrections the BQ2083?v1p2 applies midrange capacity corrections when the vcor bit is set in gauge configuration df 0x29. the BQ2083?v1p2 adjusts rm to the associated percentage at three different voltage levels: voc25, voc50, and voc75 . the voc values represent the open circuit battery voltage at which rm corresponds to the associated for each threshold. for the midrange corrections to occur, the temperature must be in the range of 19 c to 31 c inclusive and the current( ) and averagecurrent( ) must both be between ?64 ma and 0. the BQ2083?v1p2 makes midrange corrections as shown in t able 5. for a correction to occur, the BQ2083?v1p2 must detect the need for correction twice during subsequent 20-s intervals. with the vcor bit set, the BQ2083?v1p2 makes midrange corrections whenever conditions permit. if the otvc bit in gauge configuration df 0x29 is set and vcor = 0, the BQ2083?v1p2 makes a single attempt of mid-range correction immediately after device reset and does not require a second validation. table 5. midrange corrections condition result voltage( ) voc75 and relativestateofcharge( ) 63% relativestateofcharge() 75% < voc75 and relativestateofcharge( ) 87% relativestateofcharge() 75% voc50 and relativestateofcharge( ) 38% relativestateofcharge() 50% BQ2083?v1p2 supports sbs charge control by broadcasting the chargingcu rrent( ) and chargingv oltage( ) to the smart charger address. the BQ2083?v1p2 broadcasts the requests every 10 seconds. the BQ2083?v1p2 updates the values used in the charging current and voltage broadcasts based on the battery?s state of charge, voltage, and temperature. the charge voltage is programmed in charging voltage df 0x039-0x3a. the charge current may take any of four dif ferent values: fast charging current df (0x3d?0x3c), maintenance charging current (df 0x3f), precharge current (0x41), or 0. the charge current depends on charge state and operating conditions. the BQ2083?v1p2 internal charge control is compatible with the constant current/constant voltage profile for li-ion. the BQ2083?v1p2 detects primary charge termination on the basis of the tapering charge current during the constant-voltage phase. alarm broadcasts to smart charger and host if any of the bits 8?15 in batterystatus( ) are set, the BQ2083?v1p2 broadcasts an alarmw arning( ) message to the host address. if any of the bits 12?15 in batterystatus( ) are set, the BQ2083?v1p2 also sends an alarmw arning( ) message to the smart charger address. the BQ2083?v1p2 repeats the alarmwarning( ) messages every 10 seconds until the alarm bits are cleared. precharge qualification the BQ2083?v1p2 sets chargingcurrent( ) to the precharge rate as programmed in precharge current df 0x41 under the following conditions:  voltage: the BQ2083?v1p2 requests the precharge charge rate when voltage( ) drops below the precharge threshold or when the edv0 threshold is detected. once requested, a precharge rate remains until voltage( ) increases above the precharge threshold and the edv0 condition does not exist. the precharge threshold is programmed in precharge voltage df 0x3b?0x3c.  temperature: the BQ2083?v1p2 requests the precharge rate when temperature( ) is between 0 c and the precharge threshold programmed in precharge temp 0x43. t emperature( ) must be 3 c higher than precharge temp to allow the fast-charge rate. note: if current() falls below the ma value programmed in charge detect current (df 0xe9, 0xea) then the pre-charge fet (if enabled) is turned off to reduce power consumption.
slus573 ? july 2003 www.ti.com 15 charge suspension the BQ2083?v1p2 may temporarily suspend charge if it detects a charging fault. a charging fault includes the following conditions.  overcurrent: an overcurrent condition exists when the BQ2083?v1p2 measures the charge current to be equal to or greater than overcurrent margin plus chargingcurrent( ). overcurrent margin is programmed in df 0x5c?0x5d. on detecting an overcurrent condition, the BQ2083?v1p2 sets the chargingcurrent( ) to zero and sets the terminate_charge_alarm bit in battery status( ). the overcurrent condition and terminate_ charge_alarm are cleared when the measured current drops below overcurrent margin .  overvoltage: an overvoltage condition exists when the BQ2083?v1p2 measures the battery voltage to be more than over voltage margin plus chargingvoltage( ), or when a cell voltage has exceeded the overvoltage limit programmed in cell over v oltage . over voltage margin is programmed in df 0x5a?0x5b and cell over voltage in df 0x60. on detecting an overvoltage condition, the BQ2083?v1p2 sets the chargingcurrent( ) to zero and sets the terminate_charge_alarm bit in batterystatus( ). the BQ2083?v1p2 clears the terminate_ charge_alarm bit when it detects that the battery is no longer being charged (discharging bit set in batterystatus( )). the BQ2083?v1p2 continues to broadcast zero charging current until the overvoltage condition is cleared. the overvoltage condition is cleared when the measured battery voltage drops below the chargingvoltage( ) plus the over voltage margin and all cell voltages are less than the cell over voltage reset threshold in df 0xcf, 0xd0.  overtemperature: an overtemperature condition exists when temperature( ) is greater than or equal to the max temperature value programmed in df 0x53, 0x54. on detecting an overtemperature condition, the BQ2083?v1p2 sets the chargingcurrent( ) to zero and sets the over_temp_alarm and terminate_charge_ alarm bit in batterystatus( ) and the cvov bit in pack status. the overtemperature condition is cleared when t emperature( ) is equal to or below ( max temperature ? temperature hysteresis df 0x55, 0x56) or 43 c.  overcharge: an overcharge condition exists if the battery is charged more than the maximum overcharge value after rm = fcc. maximum overcharge is programmed in df 0x4e-0x4f. on detecting an overcharge condition, the BQ2083?v1p2 sets the chargingcurrent( ) to zero and sets the over_charged_alarm, terminate_charge_ alarm, and fully_charged bits in batterystatus( ). the BQ2083?v1p2 clears the terminate_charge_ alarm when it detects that the battery is no longer being charged and clears the over_charged_alarm when 2mah of discharge are measured. the fully_charged bit remains set and the BQ2083?v1p2 continues to broadcast zero charging cu rrent until relativestateofcharge( ) is less than fully charged clear % programmed in df 0x47. the counter used to track overcharge capacity is reset with 2 mah of discharge.  undertemperature: an undertemperature condition exists if temperature( ) < 0 c. on detecting an under temperature condition, the BQ2083?v1p2 sets chargingcurrent( ) to zero. the BQ2083?v1p2 sets chargingcurrent( ) to the appropriate precharge rate or fast-charge rate when temperature( ) 0 c. primary charge termination the BQ2083?v1p2 terminates charge if it detects a charge-termination condition based on current taper. a charge-termination condition includes the following: for current taper, chargingv oltage( ) must be set to the pack voltage desired during the constant-voltage phase of charging. the BQ2083?v1p2 detects a current taper termination when the pack voltage is greater than or equal to chargingv oltage( ) minus current t aper qual v oltage in df 0x4a and the charging current is below a threshold determined by current taper threshold in df 0x48?0x49 and above 22.5 ma for two consecutive 40-second intervals. once the BQ2083?v1p2 detects a primary charge termination, the BQ2083?v1p2 sets the terminate_charge_alarm and fully_charged bits in batterystatus( ), and sets the chargingcurrent( ) to the maintenance charge rate as programmed in maintenance charging current df 0x3f, 0x40. on termination, the BQ2083?v1p2 also sets rm to a programmed percentage of fcc, provided that relativestateofcharge( ) is below the desired percentage of fcc and the csync bit in gauge configuration df 0x29 is set. the programmed percentage of fcc, fast charge termination % , is set in df 0x46. the BQ2083?v1p2 clears the fully_charged bit when relativestateofcharge( ) is less than the programmed fully charged clear % . the BQ2083?v1p2 broadcasts the fast-charge rate when the fully_charged bit is cleared and voltage and temperature permit. the BQ2083?v1p2 clears the terminate_charge_alarm
slus573 ? july 2003 www.ti.com 16 when it no longer detects that the battery is being charged or it no longer detects the termination condition. see table 6 for a summary of batterystatus( ) alarm and status bit operation. table 6. alarm and status bit summary battery state conditions cc( ) current and sta- tus bits set status clear condition overcurrent c( ) cc( ) + overcurrent margin cc( ) = 0, tca = 1 c( ) < overcurrent margin prolonged overcurrent ac( ) fast-charging current + overcurrent margin cvov = 1 cc( ) = 0, tca = 1 ac( ) < 256 ma overload ac( ) ?overload current cvuv = 1 ac( ) < ?256 ma v( ) cv( ) + over v oltage margin tca = 1 discharging = 1 overvoltage v( ) cv( ) + over v oltage margin vcell1, 2, 3, or 4 cell over voltage cc( ) = 0, cvov = 1 v( ) < cv( ) + over v oltage margin vcell(all) cell over voltage reset overtemperature t( ) max t emperature cc( ) = 0, ota = 1, tca = 1, cvov = 1 t( ) max t emperature ? temperature hysteresis or t( ) 43 c capacity added after rm( ) = fcc( ) < fully charged clear % overcharge capacity added after rm( ) = fcc( ) maximum overcharge oca = 1, tca = 1 discharging = 1, and 2 mah of discharge is measured undertemperature t( ) < 0 c cc( ) = 0 0 c t( ) undertemperature 0 c t( ) < ltf cc( ) = precharge t( ) ltf + df 0x44 (default = 3 c) primary charge current taper fc = 1, tca = 1 cc( ) = maintenance rsoc( ) < fully charged clear% primary charge termination current taper cc( ) = maintenance charging current rsoc( ) < fully charged clear% fully discharged rm( ) < battery low % and discharging = 1 fd = 1 rsoc( ) 20% overdischarged rm( ) = 0 v( ) terminate v oltage tda = 1 v( ) > terminate voltage and rm( ) > 0 overdischarged vcell1, 2, 3 or 4 cell under voltage tda = 1, cvuv = 1 v( ) > terminate v oltage vcell(all) cell under voltage reset low capacity rm( ) < rca( ) rca = 1 rm( ) rca( ) low run time atte( ) < rta( ) rta = 1 atte( ) rta( ) note : ac( ) = a veragecurrent( ), c( ) = current( ), cv( ) = chargingv oltage( ), cc( ) = chargingcurrent( ), v( ) = voltage( ), t( ) = t emperature( ), tca = terminate_charge_alarm, ota = over_temperature_alarm, oca = over_charged_alarm, tda = termina te_discharge_alarm, fc = full y_charged, fd = full y_discharged, rsoc( ) = relativestateofcharge( ). rm( ) = remainingcapacity( ), rca = remaining_capacity_alarm, rta = remaining_time_alarm, a tte( ) = averagetimetoempty( ), rta( ) = remainingt imealarm( ), rca( ) = remainingcapacityalarm( ). ltf = low temperature fault threshold fcc( ) = full charge capacity cell balancing the BQ2083?v1p2 balances the cells during charge by discharging those cells above the threshold set in cell balance threshold df 0xd7?0xd8, if the maximum difference in cell voltages exceeds the value programmed in cell balance min df 0xdb. for cell balancing, the BQ2083?v1p2 measures the cell voltages at an interval set in cell balance interval df 0xdc. on the basis of the cell voltages, the BQ2083?v1p2 either selects the appropriate cell to discharge or adjusts the cell balance threshold up by the value programmed in cell b alance window 0xd9?0xda when all cells exceed the cell balance threshold or the highest cell exceeds the cell balance threshold by the cell balance window. the cell balance threshold is reset to the value in cell balance threshold at the start of every charge cycle. the threshold can be adjusted no more than once during a balance interval. display port general the display port drives a 3-, 4-, or 5-led bar-graph display. the display is activated by a logic signal on the disp input. the BQ2083?v1p2 can display rm in either a relative or absolute mode with each led representing a percentage of the full-battery reference. in relative mode, the BQ2083?v1p2 uses fcc as the full-battery reference; in absolute mode, it uses design capacity (dc).
slus573 ? july 2003 www.ti.com 17 the dmode bit in pack configuration df 0x28 programs the BQ2083?v1p2 for the absolute or relative display mode. the led bits program the 3-, 4-, or 5-led option. activation the display may be activated at any time by a high-to-low transition on the disp input. this is usually accomplished with a pullup resistor and a pushbutton switch. detection of the transition activates the display and starts a four second display timer. reactivation of the display requires that the disp input return to a logic-high state and then transition low again. the second high-to-low transition can be detected only after the display timer expires. if unused, the disp input must be pulled up to v cc . if the edv0 bit is set, the BQ2083?v1p2 disables the led display. display modes in relative mode, each led output represents 20%, 25%, or 33% of the relativestateofcharge( ) value. in absolute mode, each led output represents 20%, 25% or 33% of the absolutestateofcharge( ) value. table 7 shows the display options for 5 leds table 8 for 4 leds, and table 9 for 3 leds. in either mode, the BQ2083?v1p2 blinks the led display if remainingcapacity( ) is less than remaining capacityalarm( ). the display is disabled if edv0 = 1. table 7. display mode for five leds condition relative or absolute five-led display option relative or absolute stateofcharge( ) led 1 led 2 led 3 led 4 led 5 edv0 = 1 off off off off off <20% on off off off off 20%, < 40% on on off off off 40%, < 60% on on on off off 60%, < 80% on on on on off 80% on on on on on table 8. display mode for four leds condition relative or absolute four-led display option relative or absolute stateofcharge( ) led1 led2 led3 led4 edv0 = 1 off off off off <25% on off off off 25%, < 50% on on off off 50%, < 75% on on on off 75% on on on on table 9. display mode for three leds condition relative or absolute three-led display option relative or absolute stateofcharge( ) led1 led2 led3 edv0 = 1 off off off <34% on off off 34%, < 67% on on off 67% on on on
slus573 ? july 2003 www.ti.com 18 li-ion protector control the BQ2083?v1p2 provides protection for li-ion batteries, as shown in table 10. the BQ2083?v1p2 uses the bq29311 to measure and report individual series cell voltages. the BQ2083?v1p2 determines if a voltage protection condition has been breached and turns off the respective control fet via i 2 c communication to the bq29311. it is recommended that the BQ2083?v1p2 protection control be validated by two successive measurements by setting vod=1 in misc configuration . the bq29311 can detect and protect the load from an overcurrent (oc) or short circuit (sc). the bq29311 alerts the BQ2083?v1p2 with the xalert output when ever an overcurrent or short circuit threshold is breached in either the charge or discharge directions. the BQ2083?v1p2 asserts cvov and instructs the bq29311 to turn off the charge fet if an overvoltage or overtemperature condition exists, or if averagecurrent( ) fast-charging current + over current margin (prolonged overcurrent condition in table 6). the BQ2083?v1p2 does not turn off the charge fet if there is a discharge current > 50 ma. the BQ2083?v1p2 instructs the bq2931 1 to turn on the charge fet when overvoltage and overtemperature conditions no longer exist, and averagecurrent( ) < 256 ma (if prolonged overcurrent generated the fault condition). the BQ2083?v1p2 asserts cvuv and instructs the bq29311 to turn off the discharge fet if an overdischarged condition exists, or if averagecurrent( ) ? overload current (overload). the BQ2083?v1p2 does not turn off the discharge fet if there is a charge current 50 ma. the BQ2083?v1p2 instructs the bq29311 to turn on the discharge fet when the overdischarged condition no longer exists and a veragecurrent( ) > ?256 ma (if overload generated the fault condition). table 10. BQ2083?v1p2 to bq29311 interface (fet protection control) battery state (t able 6) discharging fet charging fet cvov = 1: prolonged overcurrent, overvoltage, overtemperature normal (see note 1) off (see note 2) cvov = cvuv = 0 normal (see note 1) normal (see note 1) cvuv = 1: overload, overdischarged off (see note 3) normal (see note 1) (1) state determined by bq29311 (2) on if there is a discharge current 50 ma (3) on if there is a charge current 50 ma. table 11. stand-alone bq29311 protection control mode condition clear (see note 1) over load afe over curr dsg (df 0xb2) is breached for over curr delay (df 0xb4) averagecurrent() = 0 ma over current afe over curr chg (df 0x0b3) is breached for over curr delay (df 0xb4) averagecurrent() = 0 ma short circuit, discharge afe short circ thresh (df 0xb6) is breached for afe short circuit delay (df 0xb7, lower nibble) averagecurrent() = 0 ma short circuit, charge afe short circ thresh (df 0xb6) is breached for afe short circuit delay (df 0xb7, upper nibble) averagecurrent() = 0 ma (1) clear is detected and controlled by the BQ2083?v1p2. safe output the safe output of the BQ2083?v1p2 provides an additional level of safety control. the active low safety output can blow a fuse or control another switch on the basis of temperature, pack-voltage cell-voltage, or an integrity check of the afe registers. the safe output is driven low in any of the following 4 conditions and if the safe output activates, the BQ2083?v1p2 sets the sov bit in pack status. sov remains set until the BQ2083?v1p2 is reset. the safe output can be pulled high (cleared) by a por of the BQ2083?v1p2 only. safe activation conditions:  when cvov = 1 and after a minimum of 1s voltage() > safety over voltage (df 0x68 and 0x69), or  when cvov = 1 and after a minimum of 1s the temperature() > safety temperature (df 0x6a and 0x6b)
slus573 ? july 2003 www.ti.com 19  when miscellaneous configuration (0x2a) bit 5 ac is set, and the afe has failed at least afe fail times (df 0xd3, d4) the BQ2083?v1p2 checks the programming of the afe registers at a period determined by afe check time df 0xe4. the units of the check period are seconds unless the BQ2083?v1p2 is in sleep mode, in which case the period is afe check time x sleep current time (df 0xe7). if the data is not correct, the BQ2083?v1p2 increments an internal counter. the cvov flag in packstatus() (0x2f) is set in any of the following ways:  voltage() chargingvoltage() + overvoltagemargin (df 0x5a and 0x5b)  averagecurrent() fastcurrent + overcurrentmargin (df 0x5c and 0x5d)  any cell voltage cellovervoltage (df 0x60 and 0x61)  the batterystatus() over temperature bit is set an example circuit using the safe output to blow a fuse is shown in figure 5. safe v cc 100 k ? 1 m ? 1 m ? bss84 2n7002 bat+ fuse cell 4 0.1 f figure 5. example safe circuit implementation low-power modes the BQ2083?v1p2 enters sleep mode when the charge and discharge current is less than the threshold programmed in sleep current threshold df 0xe5, the smbus lines are low for at least 2 s, and bit 4 of misc. configuration df 0x2a is set to zero. the BQ2083?v1p2 wakes up periodically to monitor voltage and temperature and to apply self-discharge adjustment. the sleep period is set in sleep timer df 0xe7. the BQ2083?v1p2 wakes up at a period set by sleep current time df 0xe6 to measure current. the BQ2083?v1p2 comes out of sleep when the smbus lines go high or if the current is greater than sleep current threshold . a rising edge on smbc or smbd restores the BQ2083?v1p2 to the full operating mode. reset conditions on power-up the entire ic is reset and data is loaded from data flash to configure the sbs data and the system. on a partial reset (loss of vcc but rbi holds ram valid) then a limited number of actions are taken. these actions are the following:  the afe registers are rewritten.  packstatus() vdq flag is cleared (the proposed change is not to clear vdq).  packstatus() edv2 flag is cleared.  batterystatus() discharging flag is cleared.  the charger and alarm broadcast period is set to 10 seconds between broadcasts.
slus573 ? july 2003 www.ti.com 20 device reset the following procedure resets the BQ2083?v1p2: 1. write 0x653 to address 0. (this puts the device in calibration mode.) 2. write 0x000 to address 5e. (this puts the device back into normal mode.) note : no other write actions should be attempted between step 1 and step 2. communication the BQ2083?v1p2 includes an smbus communication port. the smbus interface is a 2-wire bidirectional protocol using the smbc (clock) and smbd (data) pins. the communication lines are isolated from vcc and may be pulled-up higher than v cc . also, the BQ2083?v1p2 does not pull these lines low if v cc to the part is zero. the communication ports allow a host controller, an smbus compatible device, or other processor to access the memory registers of the BQ2083?v1p2. in this way a system can efficiently monitor and manage the battery. smbus the smbus interface is a command-based protocol. a processor acting as the bus master initiates communication to the BQ2083?v1p2 by generating a start cond ition. a start condition consists of a high-to-low transition of the smbd line while the smbc is high. the processor then sends the BQ2083?v1p2 device address of 0001011 (bits 7-1) plus a r/w bit (bit 0) followed by an smbus command code. the r/w bit (lsb) and the command code instruct the BQ2083?v1p2 to either store the forthcoming data to a register specified by the smbus command code or output the data from the specified register. the processor completes the access with a stop condition. a stop condition consists of a low-to-high transition of the smbd line while the smbc is high. with smbus, the most-significant bit (msb) of a data byte is transmitted first. in some instances, the BQ2083?v1p2 acts as the bus master. this occurs when the BQ2083?v1p2 broadcasts charging requirements and alarm conditions to device addresses 0x12 (sbs smart charger) and 0x10 (sbs host controller). smbus protocol the BQ2083?v1p2 supports the following smbus protocols:  read word  write word  block read a processor acting as the bus master uses the three protocols to communicate with the BQ2083?v1p2. the BQ2083?v1p2 acting as the bus master uses the write word protocol. the smbd and smbc pins are open drain and require external pullup resistors. a 1-m ? pulldown resistor in the battery pack on smbc and smbd is required to assure the detection of the smbus offstate, the performance of automatic offset calibration, and the initiation of the low-power sleep mode when the battery pack is removed. smbus packet error checking the BQ2083?v1p2 supports packet error checking as a mechanism to confirm proper communication between it and another smbus device. packet error checking requires that both the transmitter and receiver calculate a packet error code (pec) for each communication message. the device that supplies the last byte in the communication message appends the pec to the message. the receiver compares the transmitted pec to its pec result to determine if there is a communication error. pec protocol the BQ2083?v1p2 can receive or transmit data with or without pec. figure 6 shows the communication protocol for the read word, write word, and read block messages without pec. figure 7 includes pec. in the read word protocol, the BQ2083?v1p2 receives the pec after the last byte of data from the host. if the host does not support pec, the last byte of data is followed by a stop condition. after receipt of the pec, the BQ2083?v1p2 compares the value to its calculation. if the pec is correct, the BQ2083?v1p2 responds with an acknowledge. if it is not correct, the BQ2083?v1p2 responds with a not acknowledge and sets an error code.
slus573 ? july 2003 www.ti.com 21 in the write word and block read, the host generates an acknowledge after the last byte of data sent by the BQ2083?v1p2. the BQ2083?v1p2 then sends the pec and the host acting as a master-receiver generates a not acknowledge and a stop condition. s battery address 0001011 0 a command code a data byte low a data byte high ap 1 1 8 1 8 1 8 1 1 7 1 s battery address 0001011 0 a command code a battery address a 1 1 1 7 1 8 1 1 7 1 s 1 a a 1 8 1 8 p data byte low data byte high s0 a command code a battery address a 1 1 1 7 1 8 1 1 7 1 s 1 aa 1 8 1 8 byte count = n data byte 1 aa 1 8 1 8 p data byte 2 data byte n 1
slus573 ? july 2003 www.ti.com 22 the basis of the pec calculation is an 8-bit cyclic redundancy check (crc-8) based on the polynomial c(x) = x8 + x2 + x1 + 1. the pec calculation includes all bytes in the transmission, including address, command, and data. the pec calculation does not include acknowledge, not acknowledge, start, stop, and repeated start bits. for example, the host requests remainingcapacity( ) from the BQ2083?v1p2. this includes the host following the read word protocol. the BQ2083?v1p2 calculates the pec based on the following 5 bytes of data, assuming the remaining capacity of the battery is 1001 mah.  battery address with r/w = 0: 0x16  command code for remainingcapacity( ): 0x0f  battery address with r/w = 1: 0x17  remainingcapacity( ): 0x03e9 for 0x160f17e903, the BQ2083?v1p2 transmits a pec of 0xe8 to the host. pec enable in master mode pec for master mode broadcasts to the charger, host, or both can be enabled/disabled with the combination of the bits hpe and cpe in pack configuration df 0x28. smbus on and off state the BQ2083?v1p2 detects whether the smbus enters the off state by monitoring the smbc and smbd lines. when both signals are continually low for at least 2.0 s, the BQ2083?v1p2 detects the off state. when the smbc and smbd lines go high, the BQ2083?v1p2 detects the on state and can begin communication within 1 ms. one-m ? pulldown resistors on smbc and smbd are recommended for reliable off state detection.
slus573 ? july 2003 www.ti.com 23 command codes the smbus command codes are in ( ). t emperature( ), voltage( ), current( ), and averagecurrent( ), performance specifications are at bq29311 regulated v cc (v (reg) ) and a temperature of 0-70  c. manufactureraccess( ) (0x00) description: this function provides writable command codes to control the BQ2083?v1p2 during normal operation and pack manufacture. the following commands are available: 0x0001 device type instructs the BQ2083?v1p2 to return the ic part number; i.e., 2083 (0823h) to manufacture access ( ) so it can be read. 0x0002 firmware revision instructs the BQ2083?v1p2 to return the firmware revision. 0x0003 edv level instructs the BQ2083?v1p2 to return the pending end-of-discharge voltage level so it can be read. 0x062b seal instructs the BQ2083?v1p2 to restrict access to those functions listed in table 3. the BQ2083?v1p2 completes the seal function and clears manufactureraccess( ). once sealed, the device remains sealed, even after reset. there is no access to calibration, or the reading/writing of data flash. in addition, sealing inhibits write access to the protected sbs variables. with an unsealed device, it may be useful to write to an sbs variable. for example, remainingcapacity( ) (0x0f) is altered to match the actual state of charge. purpose: the manufactureraccess( ) function provides the system host access to BQ2083?v1p2 functions that are not defined by the sbd. smbus protocol: read or write word input/output: word remainingcapacityalarm( ) (0x01) description: sets or gets the low-capacity threshold value. whenever the remainingcapacity( ) falls below the low capacity value, the BQ2083?v1p2 sends alarmwarning( ) messages to the smbus host with the remaining_capacity_alarm bit set. a low-capacity value of 0 disables this alarm. the BQ2083?v1p2 initially sets the low-capacity value to remaining capacity alarm value programmed in df 0x02?0x03. the low-capacity value remains unchanged until altered by the remainingcapacityalarm( ) function. the low-capacity value may be expressed in either current (ma) or power (10 mwh) depending on the setting of the batterymode( ) capacity_mode bit. purpose: the remainingcapacityalarm( ) function can be used by systems that know how much power they require to save their operating state. it enables those systems to more finely control the point at which they transition into suspend state. the low-capacity value can be read to verify the value in use by the BQ2083?v1p2 low-capacity alarm. smbus protocol: read or write word input/output: unsigned integer-value below which low capacity messages are sent. battery modes capacity_mode bit = 0 capacity_mode bit = 1 units mah at c/5 10 mwh at p/5 range 0?65,535 mah 0?65,535 10 mwh granularity not applicable accuracy see remainingcapacity( ) remainingtimealarm( ) (0x02) description: sets or gets the remaining time alarm value. whenever the averagetimetoempty( ) falls below the remaining time value, the BQ2083?v1p2 sends alarmwarning( ) messages to the smbus host with the remaining_time_alarm bit set. a remaining time value of 0 ef fectively disables this alarm. the BQ2083?v1p2 initially sets the remaining time value to the remaining time alarm value programmed in df 0x00?0x01. the remaining time value remains unchanged until altered by the remainingtimealarm( ) function.
slus573 ? july 2003 www.ti.com 24 purpose: the remainingt imealarm( ) function can be used by systems that want to adjust when the remaining time alarm warning is sent. the remaining time value can be read to verify the value in use by the BQ2083?v1p2 remainingtimealarm( ). smbus protocol: read or write word input/output: unsigned integer?the point below which remaining time messages are sent. units: minutes range: 0 to 65,535 minutes granularity: not applicable accuracy: see averagetimetoempty( ). batterymode( ) (0x03) description: selects the various battery operational modes and reports the battery?s mode and requests. defined modes include  whether the battery capacity information is specified in units of mah or 10 mwh (capacity_mode bit)  whether the chargingcurrent( ) and chargingvoltage( ) values are broadcast to the smart battery charger when the charger_mode bit is set.  whether all broadcasts to the smart battery charger and host are disabled the defined request condition is the battery requesting a conditioning cycle (relearn_flag). purpose: the capacity_mode bit allows power management systems to best match their electrical characteristics with those reported by the battery. for example, a switching power supply represents a constant power load, whereas a linear supply is better represented by a constant current model. the charger_mode bit allows a smbus host or smart battery charger to override the smart battery desired charging parameters by disabling the BQ2083?v1p2 broadcasts. the relearn_flag bit allows the BQ2083?v1p2 to request a conditioning cycle. smbus protocol: read or write word input/output: unsigned integer?bit mapped? see below. units: not applicable range: 0-1 granularity: not applicable accuracy: not applicable the batterymode( ) word is divided into two halves, the msb (bits 8-15) which is read/write and the lsb (bits 0-7) which is read only. the BQ2083?v1p2 forces bits 0-6 to zero and prohibits writes to bit 7. table 12 summarizes the meanings of the individual bits in the batterymode( ) word and specifies the default values, where applicable, are noted. internal_charge_controller bit is not used by the BQ2083?v1p2. primary_battery_support bit is not used by the BQ2083?v1p2. relearn_flag bit set indicates that the BQ2083?v1p2 is requesting a capacity relearn cycle for the battery. the BQ2083?v1p2 sets the relearn_flag on a full reset and if it detects 20 cycle counts without an fcc update. the BQ2083?v1p2 clears this flag after a learning cycle has been completed. charge_controller_enabled bit is not used by the BQ2083?v1p2. the BQ2083?v1p2 forces this bit to zero. primary_battery bit is not used by the BQ2083?v1p2. the BQ2083?v1p2 forces this bit to zero.
slus573 ? july 2003 www.ti.com 25 table 12. battery mode bits and values battery mode( ) bits bits used format allowable values internal_charge_controller 0 read only bit flag primary_battery_support 1 read only bit flag reserved 2?6 relearn_flag 7 read only bit flag 0?battery ok 1?relearn cycle requested charge_controller_enabled 8 r/w bit flag primary_battery 9 r/w bit flag reserved 10?12 alarm_mode 13 r/w bit flag 0?enable alarm broadcast (default) 1?disable alarm broadcast charger_mode 14 r/w bit flag 0?enable charging broadcast (default) 1?disable charging broadcast capacity_mode 15 r/w bit flag 0?report in ma or mah (default) 1?report in 10mw or 10 mwh alarm_mode bit is set to disable the BQ2083?v1p2?s ability to master the smbus and send alarmwarning( ) messages to the smbus host and the smart battery charger. when set, the BQ2083?v1p2 does not master the smbus, and alarmw arning( ) messages are not sent to the smbus host and the smart battery charger for a period of no more than 60 seconds and no less than 59 seconds. when cleared (default), the smart battery sends the alarmwarning( ) messages to the smbus host and the smart battery charger any time an alarm condition is detected.  the alarm broadcast does not occur more often than once every 10 s. whenever the battery_mode command is received, the BQ2083?v1p2 resets the bit and starts or restarts a 60-seconds (nominal) timer. after the timer expires, the BQ2083?v1p2 automatically enables alarm broadcasts to ensure that the accidental deactivation of broadcasts does not persist. an smbus host that does not want the BQ2083?v1p2 to be a master on the smbus must therefore continually set this bit at least once per 59 seconds to keep the BQ2083?v1p2 from broadcasting alarms.  the alarm_mode bit defaults to a cleared state when the BQ2083?v1p2 enters sleep mode.  the condition of the alarm-mode bit does not affect the operation or state of the charger_mode bit, which is used to prevent broadcasts of chargingcurrent( ) and chargingvoltage( ) to the smart battery charger. charger_mode bit enables or disables the BQ2083?v1p2?s transmission of chargingcurrent( ) and chargingvoltage( ) messages to the smart battery charger. when set, the BQ2083?v1p2 does not transmit chargingcurrent( ) and chargingv oltage( ) values to the smart battery charger. when cleared, the BQ2083?v1p2 transmits the chargingcurrent( ) and chargingvoltage( ) values to the smart battery charger. the charger_mode bit defaults to a cleared state when the BQ2083?v1p2 enters sleep mode. capacity_mode bit indicates if capacity information is reported in ma/mah or 10mw/10 mwh. when set, the BQ2083?v1p2 reports capacity information in 10 mw/10 mwh as appropriate. when cleared, the BQ2083?v1p2 reports capacity information in ma/mah as appropriate. the capacity_mode bit defaults to a cleared state when the BQ2083?v1p2 enters sleep mode. the following functions are changed to accept or return values in ma/mah or 10 mw/10 mwh depending on the capacity_mode bit:  remainingcapacityalarm( )  atrate( )  remainingcapacity( )  fullchargecapacity( )  designcapacity( )
slus573 ? july 2003 www.ti.com 26 the following functions are calculated on the basis of capacity and may be calculated differently depending on the capacity_mode bit:  atrateok( )  atratetimetoempty( )  atratetimetofull( )  runtimetoempty( )  averagetimetoempty( )  averagetimetofull( )  remaining time alarm( )  batterystatus( ) the BQ2083?v1p2 updates the non-atrate related register values within 1 s of changing the state of the capacity_mode bit. the atrate( ) values are updated after the next atrate value is written to the BQ2083?v1p2 (or after the next 1 s scheduled refresh calculation). atrate( ) (0x04) description: the atrate( ) function is the first half of a two-function call-set used to set the atrate value used in calculations made by the atratet imetofull( ), atratetimetoempty( ), and atrateok( ) functions. the atrate value may be expressed in either current (ma) or power (10 mw) depending on the setting of the batterymode( ) capacity_mode bit. purpose: since the atrate( ) function is the first half of a two-function call-set, it is followed by the second function of the call-set that calculates and returns a value based on the atrate value and the battery?s present state.  when the atrate( ) value is positive, the atratet imetofull( ) function returns the predicted time to full-charge at the atrate value of charge.  when the atrate( ) value is negative, the atratet imetoempty( ) function returns the predicted operating time at the atrate value of discharge.  when the atrate( ) value is negative, the atrateok( ) function returns a boolean value that predicts the battery?s ability to supply the atrate value of additional discharge energy (current or power) for 10 seconds. the default value for atrate( ) is zero. smbus protocol: read or write word input/output: signed integer-charge or discharge; the atrate( ) value is positive for charge, negative for discharge, and zero for neither (default). battery modes capacity_mode bit = 0 capacity_mode bit = 1 units ma 10 mw charge range 1 to 32,767 ma 1 to 32,767 10 mw discharge range ?1 to ?32,768 ma ?1 to ?32,768 10 mw granularity 1 unit accuracy na atratetimetofull( ) (0x05) description: returns the predicted remaining time to fully charge the battery at the atrate( ) value (ma). purpose: the atratetimetofull( ) function is part of a two-function call-set used to determine the predicted remaining charge time at the atrate value in ma. the BQ2083?v1p2 updates atratetimetofull( ) within 5 ms after the smbus host sets the atrate value. the BQ2083?v1p2 automatically updates atratet imetofull( ) based on the atrate( ) value every 1 s. smbus protocol: read word output: unsigned integer ? predicted time in minutes to fully charge the battery. units: minutes
slus573 ? july 2003 www.ti.com 27 range: 0 to 65,534 min granularity: 2 min or better accuracy: maxerror( ) * fullchargecapacity( )/|atrate( )| invalid data indication: 65,535 indicates the atrate 0. atratetimetoempty( ) (0x06) description: returns the predicted remaining operating time if the battery is discharged at the atrate( ) value. purpose: the atratetimet oempty( ) function is part of a two-function call-set used to determine the remaining operating time at the atrate( ) value. the BQ2083?v1p2 updates atratetimetoempty( ) within 5 ms after the smbus host sets the atrate( ) value. the BQ2083?v1p2 automatically updates atratet imetoempty( ) based on the atrate( ) value every 1 s. smbus protocol: read word output: unsigned integer ? estimated operating time left. units: minutes range: 0 to 65,534 min granularity: 2 min or better accuracy: -0,+maxerror( ) fullchargecapacity/|atrate( )| invalid data indication: 65,535 indicates atrate 0. atrateok( ) (0x07) description: returns a boolean value that indicates whether or not the battery can deliver the atrate( )value of additional energy for 10 seconds. if the atrate value is zero or positive, the atrateok( ) function always returns ok (logic 1). purpose: the atrateok( ) function is part of a two-function call-set used by power management systems to determine if the battery can safely supply enough energy for an additional load. the BQ2083?v1p2 updates atrateok( ) within 5 ms after the smbus host sets the atrate( ) value. the BQ2083?v1p2 automatically updates atrateok( ) based on the at rate( ) value every 1 second. smbus protocol: read word output: boolean?indicates if the battery can supply the additional energy requested. units: boolean range: 1, 0 granularity: not applicable accuracy: not applicable temperature( ) (0x08) description: returns the temperature (k) measured by the BQ2083?v1p2. purpose: the temperature( ) function provides accurate cell temperatures for use by battery chargers and thermal management systems. a battery charger can use the temperature as a safety check. thermal management systems may use the temperature because the battery is one of the largest thermal sources in a system. smbus protocol: read word output: unsigned integer?cell temperature in tenth-degree kelvin increments. units: 0.1 k range: 0 to +6553.5 k (real range)
slus573 ? july 2003 www.ti.com 28 granularity: 0.1 k accuracy: 1.5 k (from ideal semitec 103at thermistor performance, after calibration) voltage( ) (0x09) description: returns the cell-pack voltage (mv). purpose: the voltage( ) function provides power management systems with an accurate battery terminal voltage. power management systems can use this voltage, along with battery current information, to characterize devices they control. this ability helps enable intelligent, adaptive power-management systems. smbus protocol: read word output: unsigned integer ? battery terminal voltage in mv. units: mv range: 0 to 20,000 mv granularity: 1 mv accuracy: 0.25% (after calibration) current( ) (0x0a) description: returns the current being supplied (or accepted) by the battery (ma). purpose: the current( ) function provides a snapshot for the power management system of the current flowing into or out of the battery. this information is of particular use in power-management systems because they can characterize individual devices and tune their operation to actual system power behavior. smbus protocol: read word output: signed integer ? charge/discharge rate in ma increments-positive for charge, negative for discharge. units: ma range: ?32,768 to 32,767 ma granularity: 1 ma accuracy: 0.25% or 5 ma, whichever is greater averagecurrent( ) (0x0b) description: returns a value that approximates a one-minute rolling average of the current being supplied (or accepted) through the battery terminals (ma). the averagecurrent( ) function returns values equivalent to current( ) during the battery?s first minute of operation. purpose: the averagecurrent( ) function provides the average current flowing into or out of the battery for the power management system. smbus protocol: read word output: signed integer ? charge/discharge rate in ma increments-positive for charge, negative for discharge. units: ma range: ?32,768 to 32,767 ma granularity: 1 ma accuracy: 0.25% or 5 ma, whichever is greater maxerror( ) (0x0c) description: returns the expected margin of error (%) in the state of charge calculation. for example, when maxerror( ) returns 10% and relativestateofcharge( ) returns 50%, the relative stateofcharge( ) is more likely between 50% and 60%. the BQ2083?v1p2 sets maxerror( ) to 100% on a full reset. the BQ2083?v1p2 sets maxerror( ) to 2% on completion of a learning cycle, unless the BQ2083?v1p2 limits the learning cycle to the +512/-256 mah maximum adjustment values. if the learning cycle is limited, the BQ2083?v1p2 sets maxerror( ) to 8% unless maxerror( ) was already below 8%. in this case maxerror( ) does not change. the BQ2083?v1p2 increments maxerror( ) by 1% after four increments of cyclecount( ) without a learning cycle.
slus573 ? july 2003 www.ti.com 29 if voltage-based corrections are applied to the coulomb counter, maxerror( ) is set to 25%. purpose: the maxerror( ) function has real value in two ways: first, to give the user a confidence level about the state of charge and second, to give the power management system information about how aggressive it should be, particularly as the battery nears the end of its life. smbus protocol: read word output: unsigned integer?percent uncertainty for selected information. units: % range: 2?100% granularity: 1% accuracy: not applicable relativestateofcharge( ) (0x0d) description: returns the predicted remaining battery capacity expressed as a percentage of fullchargecapacity( ) (%). purpose: the relativestateofcharge( ) function is used to estimate the amount of charge remaining in the battery relative to the last learned capacity. smbus protocol: read word output: unsigned integer-percent of remaining capacity. units: % range: 0?100% granularity: 1% accuracy: -0, +maxerror( ) absolutestateofcharge( )(0x0e) description: returns the predicted remaining battery capacity expressed as a percentage of designcapacity( ) (%). note that absolutestateofcharge( ) can return values greater than 100%. purpose: the absolutestateofcharge( ) function is used to estimate the amount of charge remaining in the battery relative to the nominal or designcapacity( ). smbus protocol: read word output: unsigned integer ? percent of remaining capacity. units: % range: 0?100+% granularity: 1% accuracy: -0, +maxerror( ) remainingcapacity( ) (0x0f) description: returns the predicted charge or energy remaining in the battery. the remainingcapacity( ) value is expressed in either charge or energy, depending on the setting of the batterymode( ) capacity_mode bit. purpose: the remainingcapacity( ) function returns the battery?s remaining capacity. this information is a numeric indication of remaining charge or energy given by the absolute or relative stateofcharge( ) functions and may be in a better form for use by power management systems. smbus protocol: read word
slus573 ? july 2003 www.ti.com 30 output: unsigned integer?remaining charge in units of mah or 10 mwh. battery modes capacity_mode bit = 0 capacity_mode bit = 1 units mah 10 mwh range 0?65,535mah 0?65,535 10 mwh granularity mah 10 mwh accuracy ?0, +maxerror( ) * fullcharagecapacity( ) fullchargecapacity( ) (0x10) description: returns the predicted pack capacity when it is fully charged. the fullchargecapacity( ) value is expressed in either current (mah at a c/5 discharge rate) or power (10 mwh at a p/5 discharge rate) depending on the setting of the batterymode( ) capacity_mode bit. purpose: the fullchargecapacity( ) function provides a means of understanding the tank size of the battery. this information, along with information about the original capacity of the battery, indicates battery wear. smbus protocol: read word output: unsigned integer?estimated full-charge capacity in units of mah or 10 mwh. battery modes capacity_mode bit = 0 capacity_mode bit = 1 units mah 10 mwh range 0?65,535 mah 0?65,535 10 mwh granularity mah 10 mwh accuracy ?0, +maxerror( ) * fullcharagecapacity( ) runtimetoempty( ) (0x11) description: returns the predicted remaining battery life at the present rate of discharge (minutes). the runtimetoempty( ) value is calculated based on either current or power depending on the setting of the batterymode( ) capacity_mode bit. purpose: the runt imetoempty( ) provides the power management system with information about the relative gain or loss in remaining battery life in response to a change in power policy. this information is not the same as the averagetimetoempty( ), which is not suitable to determine the effects that result from a change in power policy. smbus protocol: read word output: unsigned integer ? minutes of operation left. units: minutes range: 0 to 65,534 min granularity: 2 min or better accuracy: ?0, +maxerror( ) * fullchargecapacity( ) / current( ) invalid data indication: 65,535 indicates battery is not being discharged. averagetimetoempty( ) (0x12) description: returns a one-minute rolling average of the predicted remaining battery life (minutes). the averagetimetoempty( ) value is calculated based on either current or power depending on the setting of the batterymode( ) capacity_mode bit. purpose: the averagetimetoempty( ) displays state-of-charge information in a more useful way. it averages the instantaneous estimations so the remaining time does not appear to jump around. smbus protocol: read word output: unsigned integer?minutes of operation left. units: minutes
slus573 ? july 2003 www.ti.com 31 range: 0 to 65,534 min granularity: 2 min or better accuracy: ?0, +maxerror( ) * fullchargecapacity( ) / averagecurrent( ) invalid data indication: 65,535 indicates battery is not being discharged. averagetimetofull( ) (0x13) description: returns a one-minute rolling average of the predicted remaining time until the battery reaches full charge (minutes). purpose: the averagetimetofull( ) function can be used by the smbus host?s power management system to aid in its policy. it may also be used to find out how long the system must be left on to achieve full charge. smbus protocol: read word output: unsigned integer ? remaining time in minutes. units: minutes range: 0 to 65,534 minutes granularity: 2 minutes or better accuracy: ?0, +maxerror( ) * fullchargecapacity( ) / averagecurrent( ) invalid data indication: 65,535 indicates the battery is not being charged. chargingcurrent( ) (0x14) description: returns the desired charging rate in ma. purpose: the chargingcurrent( ) function sets the maximum charge current of the battery. the chargingcurrent( ) value should be used in combination with the chargingvoltage( ) value to set the charger?s operating point. together, these functions permit the BQ2083?v1p2 to dynamically control the charging profile (current/voltage) of the battery. the BQ2083?v1p2 can ef fectively turn off a charger by returning a value of 0 for this function. the charger may be operated as a constant-voltage source above its maximum regulated current range by returning a chargingcurrent( ) value of 65,535. smbus protocol: read word output: unsigned integer ? maximum charger output current in ma. units: ma range: 0 to 65,535 ma granularity: 1 ma accuracy: not applicable invalid data indication: 65,535 indicates that a charger should operate as a voltage source outside its maximum regulated current range. chargingvoltage( ) (0x15) description: returns the desired charging voltage in mv. purpose: the chargingvoltage( ) function sets the maximum charge voltage of the battery. the chargingvoltage( ) value should be used in combination with the chargingcurrent( ) value to set the charger?s operating point. together, these functions permit the BQ2083?v1p2 to dynamically control the charging profile (current/voltage) of the battery. the charger may be operated as a constant-current source above its maximum regulated voltage range by returning a chargingvoltage( ) value of 65,535. smbus protocol: read word output: unsigned integer ? charger output voltage in mv. units: mv range: 0 to 65,535 mv granularity: 1mv accuracy: not applicable invalid data indication: 65,535 indicates the charger should operate as a current source outside its maximum regulated voltage range.
slus573 ? july 2003 www.ti.com 32 batterystatus( ) (0x16) description: returns the BQ2083?v1p2 status word (flags). some of the batterystatus( ) flags (remaining_capacity_alarm and remaining_time_alarm) are calculated on the basis of either current or power depending on the setting of the batterymode( ) cap acity_mode bit. this is important because use of the wrong calculation mode may result in an inaccurate alarm. purpose: the batterystatus( ) function is used by the power-management system to get alarm and status bits, as well as error codes from the BQ2083?v1p2. this is basically the same information broadcast to both the smbus host and the smart battery charger by the alarmw arning( ) function except that the alarmw arning( ) function sets the error code bits all high before sending the data. smbus protocol: read word output: unsigned integer-status register with alarm conditions bit mapped as follows: alarm bits 0x8000 over_charged_alarm 0x4000 terminate_charge_alarm 0x2000 reserved 0x1000 over_temp_alarm 0x0800 terminate_discharge_alarm 0x0400 reserved 0x0200 remaining_capacity_alarm 0x0100 remaining_time_alarm status bits 0x0080 initialized 0x0040 discharging 0x0020 fully_charged 0x0010 fully_discharged error codes 0x0007 unknown error 0x0006 badsize 0x0005 overflow/underflow 0x0004 accessdenied 0x0003 unsupportedcommand 0x0002 reservedcommand 0x0001 busy 0x0000 ok alarm bits over_charged_alarm bit is set whenever the BQ2083?v1p2 detects that the battery is being charged beyond the maximum overcharge limit. this bit is cleared when the BQ2083?v1p2 detects that the battery is no longer being charged and there are 2 mah of continuous discharge (i.e., the BQ2083?v1p2 detects discharge activity or no activity above the digital filter). terminate_charge_alarm bit is set when the BQ2083?v1p2 detects that one or more of the battery charging parameters are out of range (e.g., its voltage, current, or temperature is too high) or when the BQ2083?v1p2 detects a primary charge termination. this bit is cleared when the parameter falls back into the allowable range, the termination condition ceases, or when the BQ2083?v1p2 detects that the battery is no longer being charged. over_temp_alarm bit is set when the BQ2083?v1p2 detects that the internal battery temperature is greater than or equal to the max temperature threshold. this bit is cleared when the internal temperature falls back into the acceptable range.
slus573 ? july 2003 www.ti.com 33 terminate_discharge_alarm bit is set when any of the following are true: rm = 0, v oltage( ) terminate voltage , or the cvuv bit in pack status is set indicating that a li-ion cell voltage has dropped below the limit programmed in cell under voltage . the bit is cleared when all of the following are true: voltage( ) > terminate voltage , rm( ) > 0, and the cvuv bit is cleared. remaining_capacity_alarm bit is set when the BQ2083?v1p2 detects that remainingcapacity( ) is less than that set by the remainingcapacityalarm( ) function. this bit is cleared when either the value set by the remainingcapacityalarm( ) function is lower than the remainingcapacity( ) or when the remainingcapacity( ) is increased by charging. remaining_time_alarm bit is set when the BQ2083?v1p2 detects that the estimated remaining time at the present discharge rate is less than that set by the remainingt imealarm( ) function. t his bit is cleared when either the value set by the remainingtimealarm( ) function is lower than the averagetimetoempty( ) or when the averagetimetoempty( ) is increased by charging. status bits the initialized bit is set when the BQ2083?v1p2 is has detected a valid load of data flash at full or partial reset. it is cleared when the BQ2083?v1p2 detects an improper data flash load. discharging bit is set when the BQ2083?v1p2 determines that the battery is not being charged. this bit is cleared when the BQ2083?v1p2 detects that the battery is being charged. fully_charged bit is set when the BQ2083?v1p2 detects a primary charge termination or an overcharge condition. it is cleared when relativestateofcharge( ) is less than the programmed fully charged clear % in df 0x47. fully_discharged bit is set when voltage( ) or vcell is less than the edv2 threshold and current( ) < overload current or when relativestateofcharge( ) < battery low % . this bit is cleared when relativestateofcharge( ) is greater than or equal to 20%. error codes error codes description ok the BQ2083?v1p2 processed the function code without detecting any errors. busy the BQ2083?v1p2 is unable to process the function code at this time. reserved the BQ2083?v1p2 detected an attempt to read or write to a function code reserved by this version of the specifica- tion. the BQ2083?v1p2 detected an attempt to access an unsupported optional manufacturer function code. unsupported the BQ2083?v1p2 does not support this function code which is defined in this version of the specification. accessdenied the BQ2083?v1p2 detected an attempt to write to a read-only function code. over/underflow the BQ2083?v1p2 detected a data overflow or underflow. badsize the BQ2083?v1p2 detected an attempt to write to a function code with an incorrect data block. unknownerror the BQ2083?v1p2 detected an unidentifiable error. cyclecount( )(0x17) description: returns the number of cycles the battery has experienced. the mah value of each count is determined by programming the cycle count threshold value in df 0x37-0x38. the BQ2083?v1p2 saves the cycle count value to cycle count df 0x0c-0x0d after an update to cyclecount( ). purpose: the cyclecount( ) function provides a means to determine the battery wear. it may be used to give advance warning that the battery is nearing its end of life. smbus protocol: read word output: unsigned integer ? count of total charge removed from the battery over its life. units: cycle range: 0 to 65,534 cycles; 65,535 indicates battery has experienced 65,535 or more cycles. granularity: 1 cycle accuracy: absolute count
slus573 ? july 2003 www.ti.com 34 designcapacity( ) (0x18) description: returns the theoretical or nominal capacity of a new pack. the designcapacity( ) value is expressed in either current (mah at a c/5 discharge rate) or power, (10 mwh at a p/5 discharge rate) depending on the setting of the batterymode( ) capacity_mode bit. purpose: the designcapacity( ) function is used by the smbus host?s power management in conjunction with fullchargecapacity( ) to determine battery wear. the power management system may present this information to the user and also adjust its power policy as a result. smbus protocol: read word output: unsigned integer ? battery capacity in units of mah or 10 mwh. battery modes capacity_mode bit = 0 capacity_mode bit = 1 units mah 10 mwh range 0?65,535 mah 0?65,535 10 mwh granularity not applicable not applicable accuracy not applicable not applicable designvoltage( ) (0x19) description: returns the theoretical voltage of a new pack (mv). the BQ2083?v1p2 sets designvoltage( ) to the value programmed in design voltage df 0x04?0x05. purpose: the designvoltage( ) function can be used to give additional information about a particular smart battery expected terminal voltage. smbus protocol: read word output: unsigned integer ? the battery?s designed terminal voltage in mv units: mv range: 0 to 65,535 mv granularity: not applicable accuracy: not applicable specificationinfo( ) (0x1a) description: returns the version number of the smart battery specification the battery pack supports, as well as voltage and current scaling information in a packed unsigned integer. power scaling is the product of the voltage scaling times the current scaling. the specificationinfo is packed in the following fashion: (specid_h * 0x10 + specid_l) + (vscale + ipscale * 0x10) * 0x100. the BQ2083?v1p2 vscale (voltage scaling) and ipscale (current scaling) should always be set to zero. the BQ2083?v1p2 sets specificationinfo( ) to the value programmed in specification information df 0x06-0x07. purpose: the specificationinfo( ) function is used by the smbus host? s power management system to determine what information the smart battery can provide. smbus protocol: read word output: unsigned integer ? packed specification number and scaling information: field bits used format allowable values specid_l 0...3 4-bit binary value 0?15 specid_h 4...7 4-bit binary value 0?15 vscale 8...11 4-bit binary value 0 (multiplies voltage by 10^ vscale) ipscale 12...15 4-bit binary value 0 (multiplies current by 10 ^ ipscale)
slus573 ? july 2003 www.ti.com 35 manufacturedate( ) (0x1b) description: this function returns the date the cell pack was manufactured in a packed integer. the date is packed in the following fashion: (year-1980) * 512 + month * 32 + day. the BQ2083?v1p2 sets manufacturedate( ) to the value programmed in manufacture date df 0x08?0x09. purpose: the manufacturedate( ) provides the system with information that can be used to uniquely identify a particular battery pack when used in conjunction with serialnumber( ). smbus protocol: read word output: unsigned integer ? packed date of manufacture. field bits used format allowable values day 0...4 5-bit binary value 0?31 (corresponds to date) month 5...8 4-bit binary value 1?12 (corresponds to month number) year 9...15 7-bit binary value 0?127 (corresponds to year biased by 1980) serialnumber( ) (0x1c) description: this function is used to return a serial number. this number, when combined with the manufacturername( ), the devicename( ), and the manufacturedate( ), uniquely identifies the battery (unsigned integer). the BQ2083?v1p2 sets serialnumber( ) to the value programmed in serial number df 0x0a?0x0b. purpose: the serialnumber( ) function can be used to identify a particular battery. this may be important in systems that are powered by multiple batteries where the system can log information about each battery that it encounters. smbus protocol: read word output: unsigned integer manufacturername( ) (0x20) description: this function returns a character array containing the battery manufacturer?s name. for example, mybattco identifies the smart battery manufacturer as mybattco. the BQ2083?v1p2 sets manufacturername( ) to the value programmed in manufacturer name length df 0x0e?0x19. purpose: the manufacturername( ) function returns the name of the smart battery manufacturer. the manufacturer?s name can be displayed by the smbus host?s power management system display as both an identifier and as an advertisement for the manufacturer. the name is also useful as part of the information required to uniquely identify a battery. smbus protocol: read block output: string ? character string with maximum length of 11 characters (11 + length byte). devicename( ) (0x21) description: this function returns a character string that contains the battery name. for example, a devicename( ) of BQ2083?v1p2 indicates that the battery is a model BQ2083?v1p2. the BQ2083?v1p2 sets devicename( ) to the value programmed in device name length df 0x1a-0x21. purpose: the devicename( ) function returns the battery name for identification purposes. smbus protocol: read block output: string ? character string with maximum length of 7 characters (7 + length byte).
slus573 ? july 2003 www.ti.com 36 devicechemistry( ) (0x22) description: this function returns a character string that contains the battery chemistry. for example, if the devicechemistry( ) function returns nimh , the battery pack contains nickel metal hydride cells. the BQ2083?v1p2 sets devicechemistry( ) to the value programmed in device chemistry length df 0x22?0x26. purpose: the devicechemistry( ) function gives cell chemistry information for use by charging systems. the BQ2083?v1p2 does not use devicechemisty( ) values for internal charge control or fuel gauging. smbus protocol: read block output: string ? character string with maximum length of 4 characters (4 + length byte). the following is a partial list of chemistries and their expected abbreviations. these abbreviations are not case sensitive. lead acid pbac lithium ion lion nickel cadmium nicd nickel metal hydride nimh nickel zinc nizn rechargeable alkaline-manganese ram zinc air znar the manufacturerdata( ) (0x23) description: this function allows access to the manufacturer data contained in the battery (data). the BQ2083?v1p2 stores seven critical operating parameters in this data area. purpose: the manufacturerdata( ) function may be used to access the manufacturer?s data area. the data fields of this command reflect the programming of eight critical data flash locations and can be used to facilitate evaluation of the BQ2083?v1p2 under various programming sets. the manufacturerdata( ) function returns the following information in order: pack configuration, gauge configuration, misc configuration, digital filter, self discharge rate, pack load estimate, battery low%, and near full (2 bytes) afe status, and the pending edv threshold voltage (low byte and high byte). smbus protocol: read block output: block data ? data that reflects data flash programming as assigned by the manufacturer with maximum length of 13 characters (12 + length byte). pack status and pack configuration (0x2f) this function returns the pack status and pack configuration registers. the pack status register contains a number of status bits relating to BQ2083?v1p2 operation. the pack status register is the least significant byte of the word. the pack configuration register reflects how the BQ2083?v1p2 is configured as defined by the value programmed in pack configuration in df 0x28. the pack status register consists of the following bits: b7 b6 b5 b4 b3 b2 b1 b0 afe edv2 ss vdq 0 sov cvov cvuv afe the afe bit indicates whether the bq29311 ram integrity check has failed. 0 bq29311 integrity check passed 1 bq29311 integrity check failed
slus573 ? july 2003 www.ti.com 37 edv2 the edv2 bit indicates that pack or cell voltage (program option) is less than the edv2 threshold. 0 voltage > edv2 threshold (discharging) 1 voltage edv2 threshold ss the ss bit indicates the seal state of the BQ2083?v1p2. 0 the BQ2083?v1p2 is in the unsealed state. 1 the BQ2083?v1p2 is in the sealed state. vdq the vdq bit indicates if the present discharge cycle is valid for an fcc update. 0 discharge cycle not valid 1 discharge cycle valid sov the sov bit indicates that the safety output limits have been exceeded. once set, the flag stays set until the BQ2083?v1p2 is reset. 0 safety limits not exceeded 1 safety limits exceeded cvov the cvov bit indicates that a protection limit has been exceeded. it is set on a prolonged overcurrent, overvoltage, or overtemperature condition. the bit is not latched and merely reflects the present fault status. 0 no secondary protection limits exceeded 1 a secondary protection limit exceeded cvuv the cvuv bit indicates that a protection limit has been exceeded. it is set on an overload or overdischarge condition. the bit is not latched and merely reflects the present fault status. 0 no secondary protection limits exceeded 1 a secondary protection limit exceeded vcell4-vcell1 (0x3c-0x3f) these functions return the calculated individual cell voltages in mv.
slus573 ? july 2003 www.ti.com 38 data flash general the BQ2083?v1p2 accesses the internal data flash during reset and when storing historical data. the data flash stores basic configuration information for use by the BQ2083?v1p2. the data flash must be programmed correctly for proper BQ2083?v1p2 operation. memory map table 13 shows the memory map for the data flash. it shows the default programming for the BQ2083?v1p2. the default programming reflects example data for a 3s2p li-ion battery pack with a 0.02- ? sense resistor. the data flash must be reprogrammed to meet the requirements of individual applications. read reading the data flash is a two step process: 1. using the smbus write word protocol, use command code 0x51 and let the lsb data byte be the address of the flash location. the msb data byte is set to 0. 2. using the smbus read word protocol, use command code 0x52 to retrieve the data. write using the smbus write word protocol, use command code 0x50. place the address of the flash location into the ls byte of the data word. place the data to be written into the ms byte data word.
slus573 ? july 2003 www.ti.com 39 table 13. data flash memory map data flash address name li-ion example data high byte low byte name li-ion example msb lsb 0x00 0x01 remaining time alarm 10 minutes 00 0a 0x02 0x03 remaining capacity alarm 360 mah 01 68 0x04 0x05 design v oltage 10800 mv 2a 30 0x06 0x07 specification information v1.1/pec 00 31 0x08 0x09 manufacture date 2/15/02=11343 2c 4f 0x0a 0x0b serial number 1 00 01 0x0c 0x0d cycle count 0 00 00 0x0e manufacturer name length 11 0b 0x0f character 1 t 54 0x10 character 2 e 45 0x11 character 3 x 58 0x12 character 4 a 41 0x13 character 5 s 53 0x14 character 6 20 0x15 character 7 i 49 0x16 character 8 n 4e 0x17 character 9 s 53 0x18 character 10 t 54 0x19 character 11 . 2e 0x1a device name length 6 06 0x1b character 1 b 42 0x1c character 2 q 51 0x1d character 3 2 32 0x1e character 4 0 30 0x1f character 5 8 38 0x20 character 6 3 33 0x21 character 7 ? 00 0x22 device chemistry length 4 04 0x23 character 1 l 4c 0x24 character 2 i 49 0x25 character 3 o 4f 0x26 character 4 n 4e 0x27 manufacturer data length 12 09 0x28 pack configuration dmode, led1, cc1 c2 0x29 gauge configuration csync 40 0x2a misc configuration vod 01 0x2b digital filter 9860 nv 22 0x2c self-discharge rate 0.2% 14 0x2d electronics load 0 ma 00 0x2e battery low % 7.03% 12 0x2f 0x30 near full 200 mah 00 c8 note : reserved locations must be set as shown. locations marked with an * are typical calibration values that can be adjusted for maximum accuracy. for these locations the table shows the appropriate default or initial setting.
slus573 ? july 2003 www.ti.com 40 table 13. data flash memory map (continued) data flash address name li-ion example data high byte low byte name li-ion example msb lsb 0x31 0x32 design capacity 3600 mah 0e 10 0x33 0x34 reserved 0 00 00 0x35 0x36 last measured discharge 3600 mah 0e 10 0x37 0x38 cycle count threshold 2880 mah 0b 40 0x39 0x3a charging v oltage 12600 mv 31 38 0x3b 0x3c precharge v oltage 8000 mv 1f 40 0x3d 0x3e fast-charging current 2500 ma 09 c4 0x3f 0x40 maintenance charging current 0 ma 00 00 0x41 0x42 precharge current 100 ma 00 64 0x43 precharge temp 9.6 c 60 0x44 reserved 1e 0x45 reserved 00 0x46 fast charge termination % 100% ff 0x47 fully charged clear % 95% 5f 0x48 0x49 current taper threshold 240 ma 00 f0 0x4a 0x4b current taper qual v oltage 100 mv 00 64 0x4c reserved 28 0x4d reserved 40 0x4e 0x4f maximum overcharge 300 mah 01 2c 0x50 reserved 02 0x51 charge efficiency 100% ff 0x52 reserved 64 0x53 0x54 maxtemperature 54.6 c 02 22 0x55 temperature hysteresis 5 c 32 0x56 0x57 reserved 01 ae 0x58 0x59 overload current 5000 ma 13 88 0x5a 0x5b over v oltage margin 208 mv 00 d0 0x5c 0x5d overcurrent margin 500 ma 01 f4 0x5e 0x5f reserved 01 00 0x60 0x61 cell over voltage 4350 mv 10 fe 0x62 0x63 cell under voltage 2300 mv 08 fc 0x64 0x65 terminate v oltage 8500 mv 21 34 0x66 0x67 reserved 00 00 0x68 0x69 safety over voltage 20000 mv 4e 20 0x6a 0x6b safety over temperature 70 c 02 bc 0x6c reserved ef 0x6d reserved 03 0x6e 0x6f voc75 11890 mv 2e 72 0x70 reserved bf 0x71 reserved 56 note : reserved locations must be set as shown. locations marked with an * are typical calibration values that can be adjusted for maximum accuracy. for these locations the table shows the appropriate default or initial setting.
slus573 ? july 2003 www.ti.com 41 table 13. data flash memory map (continued) data flash address name li-ion example data high byte low byte name li-ion example msb lsb 0x72 reserved 40 0x73 0x74 voc50 11430 mv 2c a6 0x75 reserved 7f 0x76 reserved 3d 0x77 reserved 27 0x78 0x79 voc25 11270 mv 2c 06 0x7a reserved 3f 0x7b reserved 24 0x7c reserved 0e 0x7c reserved 14 0x7e reserved 40 0x7f 0x80 reserved 0b e1 0x81 0x82 reserved 0b 68 0x83 reserved 19 0x84 0x85 emf/edv0 3000 mv 0b b8 0x86 0x87 edv c0 factor/edv1 3250 mv 0c b2 0x88 0x89 edv r0 factor/edv2 3400 mv 0d 48 0x8a 0x8b edv t0 factor 0 00 00 0x8c 0x8d edv r1 factor 0 00 00 0x8e edv tc factor 0 00 0x8f edv c1 factor 0 00 0x90 reserved 08 0x91 reserved 9b 0x92 reserved c7 0x93 reserved 64 0x94 reserved 14 0x95 0x96 reserved 02 00 0x97 0x98 reserved 01 00 0x99 reserved 08 0x9a reserved 02 0x9b learning low temp 11.9 c 77 0x9c reserved 0a 0x9d 0x9e reserved 01 80 0x9f 0xa0 reserved 01 00 0xa1 reserved 08 0xa2 reserved 18 0xa3 reserved 14 0xa4 0xa5 ts const 1 91 83 0xa6 0xa7 ts const 2 51 70 0xa8 0xa9 ts const 3 e2 8f 0xaa 0xab ts const 4 0f ac note : reserved locations must be set as shown. locations marked with an * are typical calibration values that can be adjusted for maximum accuracy. for these locations the table shows the appropriate default or initial setting.
slus573 ? july 2003 www.ti.com 42 table 13. data flash memory map (continued) data flash address name li-ion example data high byte low byte name li-ion example msb lsb 0xac 0xad ts const 5 00 00 0xae 0xaf reserved 0f ac 0xb0 reserved 32 0xb1 afe brnout shutdn shutdown = 6.475, brownout = 7.975 v 00 0xb2 afe over curr dsg 140 mv 12 0xb3 afe over curr chg 70 mv 04 0xb4 afe over curr delay charge = 31 ms, discharge = 31 ms ff 0xb5 reserved 00 0xb6 afe short circ thrsh 275 mv 07 0xb7 afe short circuit delay 61 s (charge and discharge) 11 0xb8 0xb9 afe vref* 9750 mv 26 16 0xba 0xbb sense resistor gain* 0.02 ? 3b d0 0xbc 0xbd cc delta* 0.0001298 mah 94 08 0xbe 0xbf cc delta* b1 c0 0xc0 reserved fa 0xc1 0xc2 cc offset* 1528 05 f8 0xc3 dsc offset* 15 10 0xc4 adc offset* 16 11 0xc5 temperature offset* 0 00 0xc6 board offset* 0 00 0xc7 0xc8 reserved 00 40 0xc9 0xca reserved 01 00 0xcb reserved 05 0xcc 0xcd version 1.2 01 20 0xce reserved 00 32 0xcf 0xd0 cell over voltage reset 4150 mv 10 36 0xd1 0xd2 cell under voltage reset 3000 mv 0b b8 0xd3 0xd4 afe fail limit 2 counts 00 02 0xd5 0xd6 reserved ff ff 0xd7 0xd8 cell balance thresh 3900 mv 0f 3c 0xd9 0xda cell balance window 100 mv 00 64 0xdb cell balance min 40 mv 28 0xdc cell balance interval 20 seconds 14 0xdd 0xde reserved a5 5a 0xdf 0xd0 reserved 7a 43 0xe1 0xe2 reserved 20 83 0xe3 reserved 00 0xe4 afe check time 0 seconds 00 0xe5 sleep current thresh 2 ma 04 0xe6 sleep current time 20 seconds 14 0xe7 sleep time 100 seconds 64 0xe9 charger detect current 2 ma 02 note : reserved locations must be set as shown. locations marked with an * are typical calibration values that can be adjusted for maximum accuracy. for these locations the table shows the appropriate default or initial setting.
slus573 ? july 2003 www.ti.com 43 programming information data flash programming the following sections describe the function of each data flash location and how the data is to be stored. fundamental parameters sense resistor value the 32-bit cc delta df 0xbc?0xbf corrects the coulomb counter for sense resistor variations. it represents the gain factor for the coulomb counter. the 16-bit sense resistor gain in df 0xba-0xbb scales each integrating converter conversion to mah. the current( ) related measurement sense resistor gain is based on the resistance of the series sense resistor. the following formula computes a nominal or starting value for sense resistor gain from the sense resistor value. sense resistor gain  306.25 rs digital filter the desired digital filter threshold, vdf (v), is set by the value stored in digital filter df 0x2b. digital filter  vdf 290 nv cell and pack characteristics battery pack capacity and voltage pack capacity in mah units is stored in design capacity , df 0x31?0x32. in mah mode, the BQ2083?v1p2 copies design capacity to designcapacity( ). in mwh mode, the BQ2083?v1p2 multiplies design capacity by design voltage df 0x04?0x05 to calculate designcapacity( ) scaled to 10 mwh. design voltage is stored in mv. the initial value for last measured discharge , in mah, is stored in df 0x35?0x36. last measured discharge is modified over the course of pack usage to reflect cell aging under the particular use conditions. the BQ2083?v1p2 updates last measured discharge in mah after a capacity learning cycle. the BQ2083?v1p2 uses the last measured discharge value to calculate fullchargecapacity( ) in units of mah or 10 mwh. remaining time and capacity alarms remaining time alarm in df 0x00-0x01 and remaining capacity alarm in 0x02-0x03 set the alarm thresholds used in the smbus command codes 0x01 and 0x02, respectively. remaining time alarm is stored in minutes and remaining capacity alarm in units of mah or 10 mwh, depending on the batterymode( ) setting. edv thresholds and near full percentage the BQ2083?v1p2 uses three pack-voltage thresholds to provide voltage-based warnings of low battery capacity. the BQ2083?v1p2 uses the values stored in data flash for the edv0, edv1, and edv2 values or calculates the three thresholds from a base value and the temperature, capacity, and rate adjustment factors stored in data flash. if edv compensation is disabled then edv0, edv1, and edv2 are stored directly in mv in df 0x84?0x85, df 0x86?0x87, and df 0x88?0x89, respectively. for capacity correction at edv2, battery low % df 0x2e can be set at a desired state-of-charge, stateofcharge%, in the range of 3-19%. typical values for stateofcharge% are 5-7%, representing 5-7% capacity. battery low % = (stateofcharge% ? 2.56) the BQ2083?v1p2 updates fcc if a qualified discharge occurs from a near-full threshold of fcc ? near full , until edv2 condition is reached. the desired near-full threshold window is programmed in near full in df 0x2f, 0x30 in mah. edv discharge rate and temperature compensation if edv compensation is enabled, the BQ2083?v1p2 calculates battery voltage to determine edv0, edv1, and edv2 thresholds as a function of battery capacity, temperature, and discharge load. the general equation for edv0, edv1, and edv2 calculation is: (2) (3) (4)
slus573 ? july 2003 www.ti.com 44 edv0,1,2 = n (emf ? fbl - | iload | ? r0 ? ftz) emf is a no-load cell voltage higher than the highest cell edv threshold computed. emf is programmed in mv in emf/edv1 df 0x84?0x85. iload is the current discharge load magnitude. n = the number of series cells fbl is the factor that adjusts the edv voltage for battery capacity and temperature to match the no-load characteristics of the battery. fbl = f ( c0, c + c1, t ) c (either 0%, 3%, or battery low % for edv0, edv1, and edv2, respectively) and c0 are the capacity- related edv adjustment factors. c0 is programmed in edv c0 factor/edv1 df 0x86?87. c1 is the desired residual battery capacity remaining at edv0 (rm = 0). the c1 factor is stored in edv c1 factor df 0x8f. t is the current temperature in k. r0 ? ftz represents the resistance of a cell as a function of temperature and capacity. ftz = f ( r1 , t0, t, c + c1, tc) r0 is the first order rate dependency factor stored in edv r0 factor/edv2 df 0x88?0x89. t is the current temperature; c is the battery capacity relating to edv0, edv1, and edv2. r1 adjusts the variation of impedance with battery capacity. r1 is programmed in edv r1 rate factor df 0x8c-0x8d. t0 adjusts the variation of impedance with battery temperature. t0 is programmed in edv t0 rate factor df 0x8a?0x8b. tc adjusts the variation of impedance for cold temperatures (t < 23 c). tc is programmed in edv tc df 0x8e. typical values for the edv compensation factors, based on overall pack voltages for a li-lon 3s2p 18650 pack, are emf = 11550/3 t0 = 4475 c0 = 235 c1 = 0 r0 = 5350/3 r1 = 250 tc = 3 the graphs in figures 8 and 9 show the calculated edv0, edv1, and edv2 thresholds versus capacity using the typical compensation values for different temperatures and loads for a li-ion 3s2p 18650 pack. the compensation values vary widely for different cell types and manufacturers and must be matched exactly to the unique characteristics for optimal performance. (5) (6) (7)
slus573 ? july 2003 www.ti.com 45 capacity ? % 7.5 8.0 8.5 9.0 9.5 10.0 10.5 11.0 11.5 012345678910 battery low % = 7% load = 500 ma voltage vs capacity v ? voltage ? v edv1 edv2 45 c 20 c figure 8. edv calculations vs capacity for various temperatures figure 9. edv calculations vs capacity for various loads capacity ? % 7.0 7.5 8.0 8.5 9.0 9.5 10.0 10.5 11.0 11.5 012345678910 battery low % = 7% t a = 35 c voltage vs capacity v ? voltage ? v edv1 edv2 500 ma 1 a edv0 2 a overload current threshold the overload protection disables discharge when the 16-bit limit programmed in df 0x58?0x59 is breached. the threshold is stored in ma. midrange capacity corrections three voltage-based thresholds, voc25 df 0x78?0x79, voc50 df 0x73?0x74, and voc75 df 0x6e?0x6f, are used to test the accuracy of the rm based on open-circuit pack voltages. these thresholds are stored in the data flash in mv. the values represent the open-circuit battery voltage at which the battery capacity should correspond to the associated state of charge for each threshold. self-discharge rate the nominal self-discharge rate, %perday (% per day), is programmed in an 8-bit value self-discharge rate df 0x2c by the following relation: self-discharge rate  %perday 0.01 charge efficiency the BQ2083?v1p2 applies the efficiency factor, eff%, to all charge added to the battery. eff% is encoded in charge efficiency df 0x51 according to equation 16: charge efficiency  (eff% ? 2.56?1) other compensation battery electronics load the amount of internal battery electronics load estimate in a, bel, is stored in electronics load df 0x2d as follows: electronics load  bel 3 (8) (9)
slus573 ? july 2003 www.ti.com 46 change control charging voltage the 16-bit value, charging voltage df 0x39?0x3a programs the chargingvoltage( ) value broadcast to a smart charger. it ialso sets the base value for determining overvoltage conditions during charging and voltage compliance during a constant-voltage charging methodology. it is stored in mv. over voltage the 16-bit value, over voltage margin df 0x5a?0x5b, sets the limit over chargingvoltage( ) in mv that is to be considered as an overvoltage charge-suspension condition. charging current chargingcurrent( ) values are either broadcast to a level 2 smart battery charger or read from the BQ2083?v1p2 by a level 3 smart battery charger. the BQ2083?v1p2 sets the value of chargingcurrent( ), depending on the charge requirements and charge conditions of the pack. when fast charge is allowed, the BQ2083?v1p2 sets chargingcurrent( ) to the rate programmed in fast-charging current df 0x3d?0x3e. fast-charging current is stored in ma. when fast charge terminates, the BQ2083?v1p2 sets chargingcurrent( ) to zero and then to the maintenance charging current df 0x3f, 0x40 when the termination condition ceases. the desired maintenance current is stored in ma. when voltage( ) is less than edv0, the BQ2083?v1p2 sets chargingcurrent( ) to precharge current df 0x41, 0x42. t ypically this rate is larger than the maintenance rate to charge a deeply depleted pack up to the point where it may be fast charged. the desired precharge rate is stored in ma. if temperature is between 0 and the precharge threshold pc ( c), the BQ2083?v1p2 sets chargingcurrent( ) to precharge current. the threshold is programmed in the precharge temp df 0x43. precharge temp  pc ( c) 0.1 the BQ2083?v1p2 also sets chargingcurrent( ) to the precharge rate if voltage( ) is less than the value programmed in precharge voltage df 0x3b?0x3c. precharge voltage is programmed in mv. charge suspension during charge, the BQ2083?v1p2 compares the current to the chargingcurrent( ) plus the value in overcurrent margin df 0x5c?0x5d. if the pack is charged at a current above or equal to the chargingcurrent( ) plus the programmed value, the BQ2083?v1p2 sets chargingcurrent( ) to zero to stop charging. the desired overcurrent margin is programmed in ma. the desired temperature threshold for charge suspension, maxtemp ( c), is programmed in max temperature df 0x53, 0x54 and is stored as shown: max temperature  maxtemp 0.1 the BQ2083?v1p2 clears the maximum temperature condition when temperature( ) drops by the amount programmed in temperature hysteresis df 0x55 from maxtemp or when the temperature is less than or equal to 43.0 c. temperature hysteresis is stored in c. the BQ2083?v1p2 suspends fast charge when fast charge continues past full by the amount programmed in maximum overcharge df 0x4e-0x4f. maximum overcharge is programmed in mah. fully_charged bit clear threshold the BQ2083?v1p2 clears the fully_charged bit in batterystatus( ) when relativestateofcharge( ) reaches the value, fully charged clear % df 0x47. fully charged clear % is an 8-bit value and is stored in percent. (10) (11)
slus573 ? july 2003 www.ti.com 47 fast charge termination percentage the BQ2083?v1p2 sets rm to a percentage of fcc on charge termination if the csync bit is set in the gauge configuration register. the percentage of fcc, fct%, is stored in fast charge termination % in df 0x46. the value is stored as shown: fast charge termination% = (fct% * 2.56?1) cycle count initialization cycle count df 0x0c-0x0d stores the initial value for the cyclecount( ) function. it should be programmed to 0x0000. cycle count threshold cycle count threshold 0x37?0x38 sets the number of mah that must be removed from the battery to increment cyclecount( ). cycle count threshold is a 16-bit value stored in mah. current taper termination characteristics two factors in the data flash set the current taper termination for li-ion battery packs. the two locations are current taper qual v oltage df 0x4a and current taper threshold df 0x48?0x49. current taper termination occurs during charging when the pack voltage is above or equal to the charging voltage minus the qualification voltage, and the charging current is below the taper threshold for at least 40 seconds. current t aper qual voltage df 0x4a is stored in mv and current taper threshold df 0x48?0x49 in ma. cell balancing four constants set the cell balancing parameters. cell balance threshold df 0xd9?0xda sets the minimum voltage in mv that each cell must achieve to initiate cell balancing. cell balance window df 0xd9?0xda sets in mv the amount that the cell balance threshold can increase. cell balance min df 0xdb sets in mv the cell differential that must exist to initiate cell balancing and cell balance interval df 0xdc sets the cell balancing time interval in seconds. programming cell balance threshold to 65,535 disables cell balancing. pack options pack configuration pack configuration df 0x28 contains bit-programmable features. b7 b6 b5 b4 b3 b2 b1 b0 dmode led1 led0 hpe cpe sm cc1 cc0 dmode the dmode bit determines whether the led outputs indicate absolutestateofcharge( ) or relativestateofcharge( ). 0 leds reflect absolutestateofcharge( ) 1 leds reflect relativestateofcharge( ) led1?led0 the led bits set the number of leds for remaining capacity ( ) indication. 0?1 configures the BQ2083?v1p2 for three leds 1?0 configures the BQ2083?v1p2 for four leds 1?1 or 0?0 configures the BQ2083?v1p2 for five leds hpe the hpe bit enables/disables pec transmissions to the smart battery host for master mode alarm messages. 0 no pec byte on alarm warning to host 1 pec byte on alarm warning to host
slus573 ? july 2003 www.ti.com 48 cpe the cpe bit enables/disables pec transmissions to the smart battery charger for master mode messages. 0 no pec byte on broadcasts to charger 1 pec byte on broadcasts to charger sm the sm bit enables/disables master mode broadcasts by the BQ2083?v1p2. 0 broadcasts to host and charger enabled 1 broadcasts to host and charger disabled if the sm bit is set, modifications to bits in batterymode( ) do not re-enable broadcasts. cc1?cc0 the cc bits configure the BQ2083?v1p2 for the number of series cells in the battery pack. 1?1 configures the BQ2083?v1p2 for four series cells 1?0 configures the BQ2083?v1p2 for three series cells gauge configuration gauge configuration df 0x29 contains bit programmable features: b7 b6 b5 b4 b3 b2 b1 b0 0 csync sc cedv edvv ovsel vcor otvc csync in usual operation of the BQ2083?v1p2, the csync bit is set so that the coulomb counter is adjusted when a fast charge termination is detected. in some applications, especially those where an externally controlled charger is used, it may be desirable not to adjust the coulomb counter. in these cases the csync bit should be cleared. 0 the BQ2083?v1p2 does not alter rm at the time of a valid charge termination. 1 the BQ2083?v1p2 updates rm with a programmed percentage of fcc at a valid charger termination. sc the sc bit enables learning cycle optimization for a smart charger or independent charge. 1 learning cycle optimized for independent charger 0 learning cycle optimized for smart charger cedv the cedv bit determines whether the BQ2083?v1p2 implements automatic edv compensation to calculate the edv0, edv1, and edv2 thresholds base on rate, temperature, and capacity. if the bit is cleared, the BQ2083?v1p2 uses the fixed values programmed in data flash for edv0, edv1, and edv2. if the bit is set, the BQ2083?v1p2 calculates edv0, edv1, and edv2. 0 edv compensation disabled 1 edv compensation enabled edvv the edvv bit selects whether edv termination is to be done with regard to voltage or the lowest single-cell voltage. 0 edv conditions determined on the basis of the lowest single-cell voltage 1 edv conditions determined on the basis of voltage( ) ovsel the ovsel bit determines if safety over voltage is based on pack or highest cell voltages. 0 safety over voltage based on pack voltage 1 safety over voltage based on highest cell voltage multiplied by the number of cells and then compared to the safety voltage
slus573 ? july 2003 www.ti.com 49 vcor the vcor bit enables the midrange voltage correction algorithm. when it is set, the BQ2083?v1p2 compares the pack voltage to rm and may adjust rm according to the values programmed in voc25, voc50, and voc75. 0 continuous midrange corrections disabled 1 continuous midrange corrections enabled otvc the otvc bit programs the BQ2083?v1p2 to perform a midrange voltage one time after a device reset. 0 one-time midrange correction disabled 1 one-time midrange correction enabled safety control secondary protection limits for li-ion the cell undervoltage (vuv) and overvoltage (vov) limits are programmed in cell under and cell over voltage df 0x62?0x63, df 0x60?0x61, respectively. both value s are stored in mv. cell over voltage reset df 0xef and cell under voltage reset 0xd1?0xd2 set the reset points in mv for these safety parameters. safe threshold the safety voltage threshold is programmed in safety over voltage df 0x68?0x69. it is stored in mv. if guage configuration bit 2 (ovsel) = 0 then safety over voltage is based on pack voltage, but if ovsel = 1, then it is based on highest cell voltage. the safety overtemperature (sot) in c is programmed in safety over temperature df 0x6a?0x6b. it is stored as safetyovertemperature  sot 0.1 afe configuration the afe protection limits are programmed as specified in the bq29311 data sheet. afe brnout/shutdn 0xb1 sets the brownout and shutdown voltage levels afe over curr dsg df 0xb2 sets the overcurrent threshold on discharge. afe over curr chg df 0xb3 sets the overcurrent threshold on charge. afe over curr delay df 0xb4 sets the delay timing for over current in the charge and discharge direction. afe short circ thresh df 0xb6 sets the short circuit threshold. afe short circuit delay df 0xb7 sets the short circuit delay time. afe integrity check afe check time df 0xe4 sets the period in seconds for the afe integrity check. an afe fail limit of 65,535 is the number of afe integrity check failures that occur before the afc flag is set. sleep mode the sleep current threshold, slp (ma), is stored in sleep current thresh df 0xe5 as: sleep current thresh  slp(ma) 0.5 the wake-up period for current measurement, wat(s), is set in sleep current time df 0xe6 as: sleep current time  wat(s) 0.5 (12) (13) (14)
slus573 ? july 2003 www.ti.com 50 miscellaneous configuration misc configuration df 0x2a contains additional bit programmable features. b7 b6 b5 b4 b3 b2 b1 b0 it 0 ac ds ot ecled phg vod it the it bit configures the BQ2083?v1p2 to use its internal temperature sensor. 0 BQ2083?v1p2 requires an external thermistor. 1 BQ2083?v1p2 uses its internal temperature sensor. ac the ac bit enables the safe output to function based on the afe integrity check. 0 safe not activated based on the afe integrity check. 1 safe activated based on the afe integrity check. ds the ds bit programs the BQ2083?v1p2 to enter sleep mode on smbus inactivity. 0 BQ2083?v1p2 enters sleep mode when the smbus is low for 2 s. 1 BQ2083?v1p2 does not enter sleep mode. ot the ot bit programs the BQ2083?v1p2 to turn off the discharge fet when the BQ2083?v1p2 detects an overtemperature condition. charge fet is always turned off in overtemperature conditions. 0 BQ2083?v1p2 does not turn off the discharge fet on overtemperature. 1 BQ2083?v1p2 turns off the discharge fet on overtemperature. ecled the ecled bit programs the led activity during charging (dsg bit = 0). 0 the leds are not enabled during charging. 1 the leds are enabled during charging. phg the phg bit configures the BQ2083?v1p2 to control a precharge fet. 0 the BQ2083?v1p2 does not control a precharge fet. 1 the BQ2083?v1p2 may turn on or off a precharge fet according to the programmed precharge conditions.
slus573 ? july 2003 www.ti.com 51 vod the vod bit enables a 1-second time delay on the charge and discharge fet control. 0 no delay 1 1-second delay constants and string data specification information specification information df 0x06?0x07 stores the default value for the specificationinfo( ) function. it is stored in data flash in the same format as the data returned by the specificationinfo( ). manufacture date manufacture date df 0x08?0x09 stores the default value for the manufacturedate( ) function. it is stored in data flash in the same format as the data returned by the manufacturedate( ). serial number serial number df 0x0a?0x0b stores the default value for the serialnumber( ) function. it is stored in data flash in the same format as the data returned by the serialnumber( ). manufacturer name data manufacturer name length df 0x0e stores the length of the desired string that is returned by the manufacturername( ) function. locations df 0x0f?0x19 store the characters for manufacturername( ) in ascii code. device name data device name length df 0x1a stores the length of the desired string that is returned by the devicename( ) function. locations df 0x1b?0x21 store the characters for devicename( ) in ascii code. device chemistry data device chemistry length df 0x22 stores the length of the desired string that is returned by the devicechemistry( ) function. locations df 0x23?0x26 store the characters for devicechemistry( ) in ascii code. manufacturers data length manufacturers data length df 0x27 stores the length of the desired number of bytes that is returned by the manufacturersdata( ) function. it should be set to 9. application information the schematic shows a typical BQ2083?v1p2-based battery pack application. the circuit consists of the bq29311 analog front end (afe) ic, led display, temperature measurement network, data flash connections, serial port, and the sense resistor. the data flash stores basic battery pack configuration information and measurement calibration values. the data flash must be programmed properly for BQ2083?v1p2 operation. table 13 shows the data flash memory map and outlines the programmable functions available in the BQ2083?v1p2.
slus573 ? july 2003 www.ti.com 52 application information 2 vbat 10 cntl 3 vc1 4 vc2 5 vc3 6 vc4 7 vc5 8 sr1 9 sr2 13 gnd 12 vcell 16 clkin 17 xalert 15 sdata 14 sclk 20 ledout 18 tout 19 vreg 24 vpack 21 chg 22 pchg 23 dsg 1 vcc 11 gnd 29 vssp 13 nc 28 sr1 7 nc 12 safe 14 nc 23 led2 20 led5 2 ts 34 xck1 11 vssd 37 nc 19 vssd 4 nc 27 sr2 35 clkout 10 sdata 6 sclk 1 vin 8 vccd 38 vssd 30 vssa 25 nc 21 led4 22 led3 18 event 15 smbc 16 smbd 3 oc 31 vcca 33 xck2 5 nc 17 disp 26 mrst 9 rbi 24 led1 36 nc 32 filt figure 10. typical BQ2083?v1p2 implementation
mechanical data mpds019d ? february 1996 ? revised february 2002 1 post office box 655303 ? dallas, texas 75265 dbt (r-pdso-g**) plastic small-outline package 30 pins shown 0,75 0,25 0,50 0,15 nom gage plane 50 12,60 38 9,80 11,10 44 12,40 9,60 10,90 4073252/e 02/02 4,30 4,50 0,27 0,17 16 15 30 a 1 6,60 24 dim a max pins ** 6,40 a min 1,20 max 6,60 6,20 seating plane 0,10 0,50 m 0,08 0 ?  8 5,10 20 4.90 0,15 0,05 7,90 30 7,70 7,90 28 7,70 notes: a. all linear dimensions are in millimeters. b. this drawing is subject to change without notice. c. body dimensions do not include mold flash or protrusion. d. falls within jedec mo-153
important notice texas instruments incorporated and its subsidiaries (ti) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice. customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. all products are sold subject to ti?s terms and conditions of sale supplied at the time of order acknowledgment. ti warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with ti?s standard warranty. testing and other quality control techniques are used to the extent ti deems necessary to support this warranty. except where mandated by government requirements, testing of all parameters of each product is not necessarily performed. ti assumes no liability for applications assistance or customer product design. customers are responsible for their products and applications using ti components. to minimize the risks associated with customer products and applications, customers should provide adequate design and operating safeguards. ti does not warrant or represent that any license, either express or implied, is granted under any ti patent right, copyright, mask work right, or other ti intellectual property right relating to any combination, machine, or process in which ti products or services are used. information published by ti regarding third-party products or services does not constitute a license from ti to use such products or services or a warranty or endorsement thereof. use of such information may require a license from a third party under the patents or other intellectual property of the third party, or a license from ti under the patents or other intellectual property of ti. reproduction of information in ti data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. reproduction of this information with alteration is an unfair and deceptive business practice. ti is not responsible or liable for such altered documentation. resale of ti products or services with statements different from or beyond the parameters stated by ti for that product or service voids all express and any implied warranties for the associated ti product or service and is an unfair and deceptive business practice. ti is not responsible or liable for any such statements. following are urls where you can obtain information on other texas instruments products and application solutions: products applications amplifiers amplifier.ti.com audio www.ti.com/audio data converters dataconverter.ti.com automotive www.ti.com/automotive dsp dsp.ti.com broadband www.ti.com/broadband interface interface.ti.com digital control www.ti.com/digitalcontrol logic logic.ti.com military www.ti.com/military power mgmt power.ti.com optical networking www.ti.com/opticalnetwork microcontrollers microcontroller.ti.com security www.ti.com/security telephony www.ti.com/telephony video & imaging www.ti.com/video wireless www.ti.com/wireless mailing address: texas instruments post office box 655303 dallas, texas 75265 copyright ? 2003, texas instruments incorporated


▲Up To Search▲   

 
Price & Availability of BQ2083

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X