![]() |
|
If you can't view the Datasheet, Please click here to try to view without PDF Reader . |
|
Datasheet File OCR Text: |
features provides accurate measurement of available charge in nicd, nimh, li-ion, and lead-acid batteries supports sbs smart battery data specification v1.1 supports the 2-wire smbus v1.1 interface with pec or 1-wire hdq16 reports individual cell voltages monitors and provides control to charge and discharge fets in li-ion protection circuit provides 15-bit resolution for voltage, temperature, and current measurements measures charge flow using a v- to-f converter with offset of less than 20 v after calibration consumes less than 0.5mw oper- ating drives a 4- or 5-segment led display for remaining capacity indication 28-pin 150-mil ssop general description the bq2060 sbs-compliant gas gauge ic for battery pack or in- system installation m aintains an ac - curate record of available charge in rechargeable batteries. the bq2060 monitors capacity and other critical battery parameters for nicd, nimh, li-ion, and lead-acid chemistries. the bq2060 uses a v -to-f converter with automatic offset error correction for charge and discharge counting. for voltage, temperature, and current reporting, the bq2060 uses an a-to-d converter. the onboard adc also monitors individual cell voltages in a li-ion battery pack and allows the bq2060 to generate control signals that may be used in conjunction with a pack supervisor to enhance pack safety. the bq2060 supports the smart bat- tery data (sbdata) commands and charge-control functions. it communi- cates data using the system manage- ment bus (smbus) 2-wire protocol or the benchmarq 1-wire hdq16 proto- col. the data available include the battery?s remaining capacity, temper- ature, voltage, current, and remain- ing run-time predictions. the bq2060 provides led drivers and a push-button input to depict remaining battery capacity from full to empty in 20% or 25% increments wit ha4or 5-segment display. the bq2060 works with an external eeprom. the eeprom stores the configuration information for the bq2060, such as the battery?s chemis - try, self-discharge rate, rate compen - sation factors, measurement calibra - tion, and design voltage and capacity. the bq2060 uses the programmable self-discharge rate and other compen - sation factors stored in the eeprom to accurately adjust remaining capac - ity for use and standby conditions based on time, rate, and temperature. the bq2060 also automatically cali - brates or learns the true battery ca- pacity in the course of a discharge cy- cle from a programmable level of full to empty. the reg output regulates the operat- ing voltage for the bq2060 from the battery cell stack using an external jfet. 1 bq2060 sbs v1.1-compliant gas gauge ic hdq16 serial communication input/output escl serial memory clock esda serial memory data and address rbi register backup input reg regulator output v out eeprom supply output v cc supply voltage v ss ground disp display control input led 1 ? led 5 led display segment outputs 1 28pn2060.eps 28-pin 150-mil ssop 2 3 4 5 6 7 8 28 27 26 25 24 23 22 21 9 10 20 19 11 12 18 17 13 14 16 15 smbc smbd vcell 4 vcell 3 vcell 2 vcell 1 sr 1 sr 2 src ts thon cvon cfc dfc hdq16 escl esda rbi reg v out v cc v ss disp led 1 led 2 led 3 led 4 led 5 dfc discharge fet control cfc charge fet control von cell voltage divider con - trol thon thermistor bias control ts thermistor voltage input src current sense input sr 1 ? sr 2 charge-flow sense resistor inputs vcell 1 ? vcell 4 single-cell voltage inputs smbd smbus data smbc smbus clock slus035b?september 2000 pin connections pin names
pin descriptions hdq16 serial communication input/output open-drain bidirectional communications port. escl serial memory clock output to clock the data transfer between the bq2060 and the external nonvolatile configuration memory. esda serial memory data and address bidirectional pin used to transfer address and data to and from the bq2060 and the external nonvolatile configuration memory. rbi register backup input input that provides backup potential to the bq2060 registers during periods of low oper- ating voltage. rbi accepts a storage capaci- tor or a battery input. reg regulator output output to control an n-jfet for v cc regu- lation to the bq2060 from the battery poten- tial. v out supply output output that su pplies power to the external eeprom configuration memory. v cc supply voltage input v ss ground disp display control input input that controls the led drivers led 1 ?led 5 led 1 ? led 5 led display segment outputs outputs that each may drive an external led. dfc discharge fet control output output to control the discharge fet in the li-ion pack protection circuitry. cfc charge fet control output output to control the charge fet in the li-ion pack protection circuitry. cvon cell voltage divider control output output control for external fets to connect the cells to the external voltage dividers during cell voltage measurements. thon thermistor bias control output output control for external fets to connect the thermistor bias resistor during a tempera - ture measurement. ts thermistor voltage input input connection for a thermistor to monitor temperature. src current sense voltage input input to monitor instantaneous current. sr 1 ? sr 2 sense resistor inputs input connections for a small value sense resistor to monitor the battery charge and discharge current flow. vcell 1 ? vcell 4 single-cell voltage inputs inputs that monitor the series element cell voltages. smbd smbus data open-drain bidirectional pin used to trans - fer address and data to and from the bq2060. smbc smbus clock open drain bidirectional pin used to clock the data transfer to and from the bq2060. 2 bq2060 functional description general operation the bq2060 determines battery capacity by monitoring the amount of charge input or removed from a recharge - able battery. in addition to measuring charge and dis - charge, the bq2060 measures battery voltage, tempera - ture, and current, estimates battery self-discharge, and monitors the battery for low-voltage thresholds. the bq2060 measures charge and discharge activity by moni - toring the voltage across a small-value series sense re - sistor 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. figure 1 shows a typical bq2060-based battery pack ap - plication. the circuit consists of the led display, volt - age and temperature measurement networks, eeprom connections, a serial port, and the sense resistor. the eeprom stores basic battery pack configuration infor- mation and measurement calibration values. the eeprom must be programmed properly for bq2060 op- eration. table 10 shows the eeprom memory map and outlines the programmable functions available in the bq2060. the bq2060 accepts an ntc thermistor (semitec 103at) for temperature measurement. the bq2060 uses the thermistor temperature to monitor battery pack temper- ature, detect a battery full charge condition, and com- pensate for self-discharge and charge/discharge ba ttery efficiencies. measurements the bq2060 uses a fully differential, dynamically bal - anced voltage-to-frequency converter (vfc) for charge measurement and a sigma delta analog-to-digital con - verter (adc) for battery voltage, current, and tempera - ture measurement. voltage, current, and temperature measurements are made every 2?2.5 seconds, depending on the bq2060 op - erating mode. maximum times occur with compensated edv, mwh mode, and maximum allowable discharge rate. any atrate computations requested or scheduled (every 20 seconds) may add up to 0.5 seconds to the time interval. charge and discharge counting the vfc measures the charge and discharge flow of the battery by m onitoring a small-value sense resistor between the sr 1 and sr 2 pins as shown in figure 1. the vfc measures bipolar signals up to 250mv. the bq2060 detects charge activity when v sr =v sr2 ?v sr1 is positive and discharge activity when v sr =v sr2 ? v sr1 is negative. the bq2060 continuously integrates the signal over time using an internal counter. the fundamental rate of the counter is 6.25 vh. offset calibration the bq2060 provides an auto-calibration feature to cancel the voltage offset error across sr 1 and sr 2 for maximum charge measurement accuracy. the calibration routine is initiated by issuing a command to manufactureraccess(). the bq2060 is capable of automatic offset calibration down to 6.25 v. offset cancellation resolution is less than 1 v. digital filter the bq2060 does not integrate charge or discharge counts below the digital filter threshold. the digital fil - ter threshold is programmed in the eeprom and should be set sufficiently high to prevent false signal de - tection with no charge or discharge flowing through the sense resistor because of offset. voltage while monitoring sr 1 and sr 2 for charge and discharge currents, the bq2060 monitors the battery-pack poten- tial and the individual cell voltages through the vcell 1 ?vcell 4 pins. the bq2060 measures the pack voltage and reports the result in v oltage(). the bq2060 can also measure the voltage of up to four series ele- ments in a battery pack. the individual cell voltages are stored in the optional manufacturer function area. the vcell 1 ?vcell 4 inputs are divided down from the cells using precision resistors, as shown in figure 1. the maximum input for vcell 1 ?vcell 4 is 1.25v with re - spect to v ss . the voltage dividers for the inputs must be set so that the voltages at the inputs do not exceed the 1.25v limit under all operating conditions. also, the di - vider ratios on vcell 1 ?vcell 2 must be half of that of vcell 3 ?vcell 4 . to reduce current consumption from the battery, the cvon output may used to connect the divider to the cells only during measurement period. cvon is high impedance for 250ms (12.5% duty cycle) when the cells are measured, and driven low ot herwise. see table 1. current the src input of the bq2060 measures battery charge and discharge current. the src adc input converts the current signal from the series sense resistor and stores the result in current(). the f ull-scale input range to sbc is limited to 250mv as shown in table 2. 3 bq2060 4 figure 1. battery pack application diagram?led display and series cell monitoring bq2060 temperature the ts input of the bq2060 in conjunction with an ntc thermistor measures the battery temperature as shown in figure 1. the bq2060 reports temperature in tem - perature(). thon may be used to connect the bias source to the thermistor when the bq2060 samples the ts input. thon is high impedance for 60ms when the temperature is measured, and driven low otherwise. gas gauge operation general the operational overview in figure 2 illustrates the gas gauge operation of the bq2060. t able 3 describes the bq2060 registers. the bq2060 accumulates a measure of charge and dis - charge currents and estimates self-discharge of the bat - tery. the bq2060 compensates the charge current mea - surement for temperature and state-of-charge of the battery. the bq2060 also adjusts the self-discharge esti- mation based on temperature. the main counter remainingcapacity() (rm) represents the available capacity or energy in the battery at any given time. the bq2060 adjusts rm for charge, self-discharge, and leakage compensation factors. the 5 sense resistor ( ) current() 1 lsb accuracy (ma) full-scale input (a) 0.02 30.5 12.5 0.03 20.4 8.3 0.05 12.2 5.0 0.10 6.1 2.5 table 2. src input range voltage input voltage division ratio full-scale input (v) vcell 4 16 20.0 vcell 3 16 20.0 vcell 2 8 10.0 vcell 1 8 10.0 table 1. example vcell 1 ?vcell 4 divider and input range figure 2. bq2060 operational overview bq2060 information in the rm register is accessible through the communications ports 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?s full-charge reference for relative capacity indication. the bq2060 updates fcc when the battery undergoes a qualified discharge from nearly full to a low battery level. fcc is accessible through the serial com - munications ports. the discharge count register (dcr) is a non-accessible register that only tracks discharge of the battery. the bq2060 uses the dcr register to update the fcc regis - ter if the battery undergoes a qualified discharge from nearly full to a low battery level. in this way, the bq2060 learns the true discharge capacity of the battery under system use conditions. main gas gauge registers remainingcapacity() (rm) rm represents the remaining capacity in the battery. the bq2060 computes rm in either mah or 10mwh de- pending on the selected mode. on initialization, the bq2060 sets rm to 0. rm counts up during charge to a maximum value of fcc and down during discharge and self-discharge to 0. in addition to charge and self-discharge compensation, the bq2060 cal- ibrates 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 ee 0x3a?0x3b and is rep - resented in mah or 10mwh. it also represents the full-battery reference for the absolute display mode. fullchargecapacity() (fcc) fcc is the last measured discharge capacity of the bat - tery. it is represented in either mah or 10mwh depend - ing on the selected mode. on initialization, the bq2060 sets fcc to the value stored in last measured dis - charge ee 0x38?0x39. during subsequent discharges, the bq2060 updates fcc with the last measured dis - charge capacity of the battery. the last measured dis - charge of the b attery is based on the value in the dcr register after a qualified discharge occurs. once up - dated, the bq2060 writes the new fcc value to eeprom in mah to last measured discharge . fcc represents the full battery reference for the relative dis - play mode and relative state of charge calculations. discharge count register (dcr) the dcr register counts up during di scharge, independ - ent of rm. dcr can continue to count even after rm has counted down to 0. p rior to rm = 0, discharge activ - ity, light discharge estimation and self-discharge incre - ment dcr. after rm = 0, only discharge activity incre - ments dcr. the bq2060 initializes dcr to fcc ? rm when rm is within twice the programmed value in near full ee 0x55. dcr stops counting when the battery voltage reaches the edv2 threshold on di scharge. capacity learning (fcc update) and qualified discharge the bq2060 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 program - mable nearly full and low battery levels, according to the following equation. fcc (new) = dcr + (fcc * battery low% ) (1) where battery low % = value stored in ee 0x54 a qualified discharge occurs if the battery discharges from rm fcc - near full * 2 to the edv2 voltage threshold with the following conditions: no valid charge activity occurs during the discharge period. a valid charge is defined as an input of 10mah into the battery. no more than 256mah of self-discharge and/or light discharge estimation occurs during the discharge period. the temperature does not drop below 5 c during the discharge period. the battery voltage reaches the edv2 threshold during the discharge period and the voltage was greater than the edv2 threshold minus 256mv when the bq2060 detected edv2. no midrange voltage correction occurs during the discharge period. fcc cannot be reduced by more than 256mah or in - creased by more than 512mah during any single update cycle. the bq2060 saves the new fcc value to the eeprom within 4s of being updated. end-of-discharge thresholds and capacity cor - rection the bq2060 monitors the b attery for three c ompensated low-voltage thresholds, edv0, edv1, and edv2. the edv thresholds are programmed in edvf/edv0 ee 0x72?0x73, emf/edv1 ee 0x74?0x75, and edv 6 bq2060 7 bq2060 function command code access units smbus hdq16 manufactureraccess 0x00 0x00 read/write n/a remainingcapacityalarm 0x01 0x01 read/write mah, 10mwh remainingtimealarm 0x02 0x02 read/write minutes batterymode 0x03 0x03 read/write n/a atrate 0x04 0x04 read/write ma, 10mw atratetimetofull 0x05 0x05 read minutes atratetimetoempty 0x06 0x06 read minutes atrateok 0x07 0x07 read boolean temperature 0x08 0x08 read 0.1k voltage 0x09 0x09 read mv current 0x0a 0x0a read ma averagecurrent 0x0b 0x0b read ma maxerror 0x0c 0x0c read percent relativestateofcharge 0x0d 0x0d read percent absolutestateofcharge 0x0e 0x0e read percent remainingcapacity 0x0f 0x0f read mah, 10mwh fullchargecapacity 0x10 0x10 read mah, 10mwh runt imetoempty 0x11 0x11 read minutes averagetimetoempty 0x12 0x12 read minutes averagetimetofull 0x13 0x13 read minutes chargingcurrent 0x14 0x14 read ma chargingvoltage 0x15 0x15 read mv battery status 0x16 0x16 read n/a cyclecount 0x17 0x17 read cycles designcapacity 0x18 0x18 read mah, 10mwh designv oltage 0x19 0x19 read mv specificationinfo 0x1a 0x1a read n/a manufacturedate 0x1b 0x1b read n/a serialnumber 0x1c 0x1c read integer reserved 0x1d?0x1f 0x1d - 0x1f - - manufacturername 0x20 0x20?0x25 read string devicename 0x21 0x28?0x2b read string devicechemistry 0x22 0x30?0x32 read string manufacturerdata 0x23 0x38?0x3b read string pack status 0x2f (lsb) 0x2f (lsb) read/write n/a pack configuration 0x2f (msb) 0x2f (msb) read/write n/a vcell4 0x3c 0x3c read/write mv vcell3 0x3d 0x3d read/write mv vcell2 0x3e 0x3e read/write mv vcell1 0x3f 0x3f read/write mv table 3. bq2060 register functions c1/c0 factor/edv2 ee 0x78?0x79. if the cedv bit in pack configuration is set, automatic edv compensation is enabled and the bq2060 computes the edv0, edv1, and edv2 thresholds based on the values in ee 0x72?0x7d, 0x06, and the battery?s current discharge rate, temperature, capacity, and cycle count. the bq2060 disables edv detection if current() exceeds the over - load current threshold programmed in ee 0x46 - ee 0x47. the bq2060 resumes edv threshold detection af - ter current() drops below the overload current thresh- old. the bq2060 uses the thresholds to apply voltage-based corrections to the rm register according to t able 4. the bq2060 adjusts rm as it detects each threshold. if the voltage threshold is reached before the correspond- ing capacity on discharge, the bq2060 reduces rm to the appropriate amount as shown in table 4. if rm reaches the capacity level before the voltage threshold is reached on discharge, the bq2060 prevents rm from decreasing until the battery voltage rea ches the corresponding threshold. self-discharge the bq2060 estimates the self-discharge of the battery to maintain an accurate measure of the battery capacity during periods of inactivity. the algorithm for self-discharge estimation takes a programmed estimate for the expected self-discharge rate at 25 c stored in eeprom and makes a fixed reduction to rm of an amount equal to remainingcapacity()/256. the bq2060 makes the fixed reduction at a varying time interval that is adjusted to achieve the desired self-discharge rate. this method maintains a constant granularity of 0.39% for each self-discharge adjustment, which may be performed multiple times per day, instead of once per day with a potentially large reduction. the self-discharge e stimation for 25 c is doubled for each 10 degrees above 25 c or halved for each 10 de - grees 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): temperature ( c) self-discharge rate temp < 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 the interval at which rm is reduced is given by the fol - lowing equation, where n is the appropriate factor of 2 (n = 1 4 , 1 2 ,1,2,...): (2) self disch e update time n y per day arg 640 13500 256 ( % ) seconds the timer that keeps track of the self-discharge update time is halted whenever charge activity is detected. the timer is reset to zero if the bq2060 reaches the remainingcapacity()=fullchargecapacity() condition while charging. example: ift=35 c (n = 2) and programmed self-discharge rate y is 2.5 (2.5% per day at 25 c), the bq2060 reduces rm by rm/256 (0.39%) every (3) 640 13500 256 6750 n y per day s (% ) econds 8 bq2060 threshold state of charge in rm edv0 0% edv1 3% edv2 battery low % table 4. state of charge based on low battery voltage figure 3. self-discharge at 2.5%/day @25c this means that a 0.39% reduction of rm will be made 12.8 times per day to achieve the desired 5% per day re - duction at 35 c. figure 3 illustrates how the self-discharge estimate al - gorithm adjusts remainingcapacity() vs. temperature. light discharge or suspend current compensation the bq2060 can be configured in two ways to compen - sate for small discharge currents that produce a signal below the digital filter. first, the bq2060 can decrement rm and dcr at a rate determined by the value stored in light discharge current ee 0x2b when it detects no discharge activity and the smbc and smbd lines are high. light discharge current has a range of 44 ato 11.2ma. alternatively, the bq2060 can be configured to disable the digital filter for discharge when the smbc and smbd lines are high. in this way, the digital filter will not mask the leakage current signal. the bq2060 is con- figured in this mode by setting the ndf bit in control mode . midrange capacity corrections the bq2060 applies midrange capacity corrections when the vcor bit is set in pack configuration . the bq2060 adjusts rm to the associated percentage at three differ- ent voltage levels voc25, voc50, and voc75. the voc values represent the open circuit battery voltage at which rm corresponds to the associated state of charge for each threshold. threshold associated state of charge voc25 25% voc50 50% voc75 75% for the midrange corrections to occur, the temperature must be in the range of 19 cto31 c inclusive and the current() and averagecurrent() must both be between ?64ma and 0. the bq2060 makes midrange corrections as shown in table 5. charge control charging voltage and current broadcasts the bq2060 supports sbs charge co ntrol by broadcasting the chargingcurrent() and chargingvoltage() to the smart charger address. the bq2060 broadcasts the re - quests every 10s. the bq2060 updates the values used in the charging current and voltage broadcasts based on the battery?s state of charge, voltage, and temperature. the fast-charge rate is programmed in fast-charging current ee 0x1a - 0x1b while the charge voltage is programmed in charging voltage ee 0x0a-0x0b. the bq2060 internal charge control is compatible with popular rechargeable chemistries. the p rimary charge-termination techniques include a change in tem- perature over a change in time ( ? t/ ? t) and current taper, for nickel-based and li-ion chemistries, respec- tively. the bq2060 also provides pre-charge qualifica- tion and a number of safety charge suspensions based on current, voltage, temperature, and state of charge. alarm broadcasts to smart charger and host if any of the bits 8?15 in batterystatus() is set, the bq2060 broadcasts an alarmw arning() message to the host address. if any of the bits 12?15 in batterystatus() are set, the bq2060 also sends an alarmw arning() mes- sage to the smart charger address. the bq2060 repeats the alarmw arning() message every 10s until the bits are cleared. pre-charge qualification the bq2060 sets chargingcurrent() to the pre-charge rate as programmed in pre-charge current ee 0x1e-0x1f under the following conditions: 9 condition result voltage() voc75 and relativestateofcharge() 63% relativestateofcharge() 75% < voc75 and relativestateofcharge() 87% relativestateofcharge() 75% voc50 and relativestateofcharge() 38% relativestateofcharge() 50% remain positive as measured by the vfc during this time period. once the bq2060 detects a primary charge termination, the bq2060 sets the termina te_charge_alarm and full y_charged bits in batterystatus(), and sets the chargingcurrent() to the maintenance charge rate as programmed in maintenance charging current ee 0x1c?0x1d. on termination, the bq2060 also sets rm to a programmed percentage of fcc, provided that relativestateofcharge() is below the desired percentage of fcc and the csync bit in pack configu - ration ee 0x3f is set. if the csync bit is not set and relativestateofcharge() is less than the programmed percentage of fcc, the bq2060 clears the fully_charged bit in ba tterystatus(). the pro - grammed percentage of fcc, fast charge termination % , is set in ee 0x4b. the bq2060 clears the fully_charged bit when relativestateofcharge() is less than the programmed fully charged clear %. the bq2060 broadcasts the fast-charge rate when the fully_charged bit is cleared and voltage and tem - 11 preliminary bq2060 battery state conditions cc() state and batterystatus bits set cc() = fast or pre-charge current and/or bits cleared overcurrent c() > cc() + overcurrent margin cc() = 0, tca = 1 c() < cc() + overcurrent margin overvoltage v() > cv() + overvoltage margin vcell1, 2, 3, or 4 > cell under/over v oltage tca = 1 discharging = 1 cc() = 0, cvov = 1 v() < cv() + overvoltage margin li-ion cell voltage < cell under/over voltage overtemperature t() > max t cc() = 0, ota = 1, tca = 1, cvov = 1 t() < max t -5 cort()<43 c overcharge rm() > fcc + maximum overcharge cc() = 0, fc = 1 rsoc() < fully charged cleared % oca = 1, tca = 1 discharging = 1 undertemperature t()<0 c cc() = 0 0 c () < 5 c, cc() = pre-charge cur- rent t()>5 c, cc() = fast-charging current fast charge termination ? t/ ? t or current taper cc() = 0, fc = 1 rsoc() < fully charged cleared % tca = 1 dischargin g=1or termination con - dition is no longer valid. fully discharged v() < edv2 fd = 1 rsoc() > 20% overdischarged v() < edv0 vcell1, 2, 3 or 4 < cell under/over v oltage tda = 1, cvuv = 1 v() > edv0 vcell1, 2, 3, or 4 > cell under/over voltage low capacity rm() < rca() rca = 1 rm() rca() low run-time a tte() < rta() rta = 1 atte() rta() note: c() = current(), cv() = chargingvoltage(), cc() = chargingcurrent(), v() = v oltage(), t() = t empera - ture(), tca = termina te_charge_alarm, ota = over_temperature_alarm, oca = over_charged_alarm, tda = terminate_discharge_alarm, fc = full y_charged, fd = full y_discharged, rsoc() = relativestateofcharge(). rm() = remainingcapacity(), rca = remaining_cap acity_alarm, rta = remaining_time_alarm, atte() = averagetimetoem pty(), rta() = remainingtimea larm(), rca() = remainingcapacityalarm(). table 6. alarm and status bit summary perature permit. the bq2060 clears the termi - nate_charge_alarm 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. display port general the display port drives a 4 or 5 led bar-graph display. the display is activated by a logic signal on the disp in - put. the bq2060 can display rm in either a relative or absolute mode with each led representing a percentage of the full-battery r eference. in r elative mode, the bq2060 uses fcc as the full-battery reference; in abso - lute mode, it uses dc. the dmode bit in pack configuration programs the bq2060 for the absolute or relative display mode. the led bit in control mode programs the 4 or 5 led op- tion. a 5th led can be used with the 4 led display op - tion to show when the battery capacity is equal to 100%. 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 dis- play and starts a display timer that advances for four seconds. the timer expires and turns off the display whether disp was brought low momentarily or held low indefinitely. reactivation of the display requires that the disp input return to a logic-high state and then transi - tion low again. the second high-to-low transition must occur after the display timer expires. the bq2060 re - quires the disp input to remain stable for a minimum of 250ms to detect the logic state. if the edv0 bit is set, the bq2060 disables the led dis - play. the display is also disabled during a vfc calibra - tion and should be turned off before entering low-power storage mode. display modes in relative mode, each led output represents 20% or 25% of the relativestateofcharge() value. in absolute mode, each led output represents 20% or 25% of the absolutestateofcharge() value. table 7 shows the dis - play operation. in either mode, the bq2060 blinks the led display if remainingcapacity() is less than remaining capacityalarm(). unless noted, edv0 = 0. secondary protection for li-ion undervoltage and overvoltage thresholds may be pro - grammed in the byte value cell under/over v oltage ee 0x4a to set a secondary level of protection for lithium ion cells. the bq2060 checks individual cell voltages for undervoltage and overvoltage conditions. the bq2060 displays the results in the pack status register and con - trols the state of the fet control outputs cfc and dfc. if any cell voltage is less than the v uv threshold, the bq2060 sets the cvuv bit in pack status and pulls the dfc pin to a logic low. if any cell voltage is greater than 12 bq2060 battery state conditions active pin low overvoltage v() > cv() + overvoltage margin vcell1, 2, 3, or 4 > cell under / over v oltage cfc overtemperature t() > max t cfc undervoltage vcell1, 2, 3, or 4 < cell under / over v oltage dfc condition relative or absolute stateofcharge() 5 led display option led1 led2 led3 led4 led5 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 condition relative or absolute stateofcharge() 4 led display option 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 7. display mode the v ov threshold, the bq2060 sets the cvov bit in pack status and pulls the cfc pin to a logic low. low-power storage mode the bq2060 enters low-power mode 5? 8s after receiving the enable low-power command. in this mode the bq2060 consumes less than 10 a. a rising edge on smbc, smbd, or hdq16 restores the bq2060 to the full operating mode. the bq2060 does not perform any gas gauge functions during low-power storage mode. device reset the bq2060 can be reset with commands over the hdq16 or smbus. upon reset, the bq2060 initializes its internal registers with the information contained in the configuration eeprom. the following command se - quence initiates a full bq2060 reset: write 0x4f to 0xff5a write 0x7d to 0x0000 write 0x7d to 0x0080 communication the bq2060 includes two types of communication ports: smbus and hdq16. the smbus interface is a 2-wire bidirectional protocol using the smbc (clock) and smbd (data) pins. the hdq16 interface is a 1-wire bidirectional protocol using the hdq16 pin. all three communication lines are isolated from v cc and may be pulled-up higher than v cc . also, the bq2060 will not pull these lines low if v cc to the part is zero . hdq16 should be pulled down with a 100k resistor if not used. the communication ports allow a host controller, an smbus compatible device, or other processor to access the memory registers of the bq2060. in this way a sys - tem can efficiently monitor and manage the battery. smbus the smbus interface is a command-based protocol. a processor acting as the bus master initiates communica - tion to the bq2060 by generating a start condition. a start condition consists of a high-to-low transition of the smbd line while the smbc is high. the processor then sends the bq2060 device address of 0001011 (bits 7?1) plus a r/w bit (bit 0) followed by an smbus com - mand code. the r/w bit (lsb) and the command code instruct the bq2060 to either store the forthcoming data to a register specified by the smbus command code or output the data from the specified register. the proces - sor 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 bq2060 acts as the bus master. this occurs when the bq2060 broadcasts charging re - quirements and alarm conditions to device ad dresses 0x12 (sbs smart charger) and 0x10 (sbs host control - ler.) smbus protocol the bq2060 supports the following smbus protocols: read word write word read block a processor acting as the bus master uses the three pro - tocols to communicate with the bq2060. the bq2060 act - ing as the bus master uses the w rite word protocol. the smbd and smbc pins are open drain and require external pullup resistors. smbus packet error checking the bq2060 supports packet error checking as a mech- anism to confirm proper communication between it and another smbus device. packet error checking requires that both the transmitter and r eceiver calculate a packet error code (pec) for each communication message. the device that supp lies the last byte in the communication message appends the pec to the mes- sage. the receiver compares the transmitted pec to its pec result to determine if there is a communication error. pec protocol the bq2060 can receive or transmit data with or without pec. figure 4 shows the communication protocol for the read word, w rite w ord, and read block messages without pec. figure 5 includes pec. in the write word protocol, the bq2060 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 bq2060 compares the value to its calculation. if the pec is cor - rect, the bq2060 responds with an acknowledge. if it is not correct, the bq2060 responds with a not ac - knowledge and sets an error code. in the read word and block read, the host generates an acknowledge after the last byte of data sent by the bq2060. the bq2060 then sends the pec and the host acting as a master -receiver generates a not ac - knowledge and a stop condition. 13 bq2060 14 fg2060hcp.eps 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 aa 1 8 1 8 p data byte low data byte high s battery address 0001011 0 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 bq2060 host processor block read read word write word a ? acknowledge a ? not acknowledge s ? start p ? stop figure 4. smbus communication protocol without pec fg2060pec.eps s battery address 0001011 0 a command code a data byte low pec a data byte high aap 8 11 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 111 88 1 8 p data byte low data byte high pec s battery address 0001011 0 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 ap data byte 2 data byte n pec 811 bq2060 host processor block read read word write word a ? acknowledge a ? not acknowledge s ? start p ? stop aa figure 5. smbus communication protocol with pec bq2060 pec calculation the basis of the pec calculation is an 8-bit cyclic re - dundancy check (crc-8) based on the polynomial c(x) =x 8 +x 2 +x 1 + 1. the pec calculation includes all bytes in the transmission, including address, comm and, and data. the pec calculation does not include ac - knowledge, not acknowledge, start, stop, and repeated start bits. for example, the host requests remainingcapacity() from the bq2060. this includes the host following the read word protocol. the bq2060 calculates the pec based on the following 5 bytes of data, as suming the re - maining capacity of the battery is 1001mah. battery address with r/w = 0: 0x16 command code for remainingcapacity(): 0x0f battery address with r/w = 1: 0x17 remainingcapacity(): 0x03e9 for 0x160f17e903, the bq2060 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 control mode. smbus on and off state the bq2060 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.5s, the bq2060 detects the off state. when the smbc and smbd lines go high, the bq2060 detects the on state and can begin communication within 1ms. one-m pulldown resistors on smbc and smbd are recom - mended for reliable oh state detection. hdq16 the hdq16 in terface is a command-based protocol. (see figure 6.) a processor sends the command code to the bq2060. the 8-bit command code consists of two fields, the 7-bit hdq16 command code (bits 0?6) and the 1-bit r /w field (msb bit 7). the r /w field directs the bq2060 either to store the next 16 bits of data to a specified register or output 16 bits of data from the specified register with hdq16, the least significant bit (lsb) of a data byte (command) or word (data) is transmitted first. a bit transmission consists of three distinct sections. the first section starts the transmission by either the host or the bq2060 taking the hdq16 pin to a logic-low state for a period t strh;b . the next section is the actual data-transmission, where the data bit is valid by the time, t dsu;b after the negative edge used to start com- munication. the data bit is held for a period t dh;dv to allow the host processor or bq2060 to sample the data bit. the final section is used to stop the transmission by re- turning the h dq16 pin to a logic-high state by at least the time t ssu;b after the negative edge used to start communication. the final logic-high state should be un- til a period t cych;b to allow time to ensure that the bit transmission was stopped properly. if a communication error occurs (e.g., t cycb > 250 s), the host sends the bq2060 a break to reinitiate the se - rial int erface. the bq2060 detects a break when the hdq16 pin is in a l ogic-low s tate for a time t b or 15 send host to bq2060 hdq command code send host to bq2060 or receive from bq2060 16 bit data break lsb bit0 r/w msb bit7 td2060ce.eps start-bit address-bit/ data-bit stop-bit t rr t rsps figure 6. hdq16 communication example bq2060 greater. the hdq16 pin is then returned to its normal ready-high logic state for a time t br . the bq2060 is then ready to receive a command from the host processor. the hdq16 pin is open drain and requires an external pullup resistor. command codes the smbus command codes are in ( ), the hdq16 in [ ]. temperature(), v oltage(), current(), and averagecurrent(), performance specifications are at regulated v cc (v ro ) and a temperature of 0?70 c. manufactureraccess() (0x00); [0x00?0x01] description: this function provides writable command codes to con - trol the bq2060 during normal operation and pack man - ufacture. the following list of commands are available. 0x0618 enable low-power storage mode: activates the low-power storage mode. the bq2060 enters the stor- age mode after a 5?8s delay. the bq2060 accepts other commands to manufactureraccess() during the delay before e ntering low-power storage mode. the leds must be off before entering the low-power storage mode as the display state remains unchanged. during the delay following the low-power storage com- mand, a vfc calibration command may be issued. the bq2060 clears the manufactureraccess() command within 900ms of acknowledging the enable low-power storage comm and. the vfc calibration command must be sent 900?1600ms after smbus acknowledgment of the enable low-power storage comm and. in this case, the bq2060 delays entering storage mode until the cali - bration process completes and the bq2060 stores the new calibration values in eeprom. 0x062b seal command: instructs the bq2060 to re - strict access to those functions listed in table 3. note: the seal command does not change the state of the seal bit in pack configuration in eeprom. the bq2060 completes the seal function and clears manufactureraccess() w ithin 900ms of acknowledging the command. 0x064d charge synchronization: instructs the bq2060 to update rm to a percentage of fcc as defined in fast charge t ermination % . the bq2060 updates rm and clears manufactureraccess() within 900ms of ac - knowledging the command. 0x0653 enable vfc cali bration: instructs the un - sealed bq2060 to begin vfc calibration. with this com - mand the bq2060 deselects the sr 1 and sr 2 inputs and calibrates for ic offset only. it is best to avoid charge or discharge currents through the sense resistor during this calibration process. 0x067e alternate vfc calibration : instructs the unsealed bq2060 to begin vfc calibration. with this command the bq2060 does not deselect the sr 1 and sr 2 inputs and calibrates for ic and pcb o ffset. during this procedure no charge or discharge currents must flow through the sense resistor. during vfc calibration, the bq2060 disables the led display and accepts only the stop vfc calibration and the seal command to manufactureraccess(). the bq2060 disregards all other com mands. smbus communication should be kept to a minimum during vfc calibration to reduce the noise level and allow a more accurate calibration. once started, the vfc calibration procedures completes automatically. when complete, the bq2060 saves the cal - ibration values in eeprom. the calibration normally takes about 8 to 10 minutes. the calibration time is in - versely proportional to the bq2060 vfc (and pcb) offset error. the bq2060 caps the calibration time at one hour in the event of calibrating zero offset error. the vfc cal- ibration can be done as the last step in a battery pack test procedure since the calibration can com plete auto- matically after removal from a test setup. the bq2060 clears manufactureraccess() within 900ms and starts calibration within 3.2s of acknowledging the command. 0x0660 stop vfc cal ibration: instructs the bq2060 to abort a vfc calibration procedure. if aborted, the bq2060 disables offset correction. the bq2060 stops cali- bration within 20ms of acknowledging the command. 0x0606 program eeprom: instructs the unsealed bq2060 to connect the smbus to the eeprom i 2 c bus. the bq2060 applies power to the eeprom w ithin 900ms of acknowledging the command. after issuing the program eeprom command, the bq2060 monitoring functions are disabled until the i 2 c bus is disconnected. the bq2060 disconnects the i 2 c bus when it detects that the battery address 0x16 is sent over the smbus. the battery address 0x16 to disconnect the i 2 c bus should not be sent until 10ms after the last write to the eeprom. example: the following sequence of actions is an exam - ple of how to use the manufactureraccess() commands in an efficient manner to take a battery pack that has completed all testing and calibration except for vfc cal - ibration and to make it ready for shipment in the sealed state and in low-power storage mode: 1. complete testing and other calibration without the seal bit set in pack configuration in eeprom. 2. issue the program eeprom command and set the seal bit in pack configuration in eeprom. 16 bq2060 preliminary 3. issue the enable low-power storage mode com - mand. 4. within 900?1600ms after sending the enable low-power comm and, issue the enable vfc cali - bration comm and. this delays the low-power stor - age mode until after vfc calibration completion. 5. issue the seal command subsequent to the vfc calibration comm and. the bq2060 must receive the seal command before vfc calibration completes. the bq2060 resets the oce bit in pack status when calibration begins and sets the bit when cali - bration successfully completes. after vfc calibration completes automatically, the bq2060 saves the vfc offset cancellation values in eeprom and enters the low-power storage mode in about 20s. in addition, the bq2060 is sealed, allowing ac - cess as defined in t able 3 only. purpose: the manufactureraccess() function provides the system host access to bq2060 functions that are not defined by the sbd. smbus protocol: read or write word input/output: word remainingcapacityalarm() (0x01); [0x01] description: sets or gets the low -capacity threshold value. whenever the remainingcapacity() falls below the low capacity value, the bq2060 sends alarmw arning() messages to the smbus host with the remaining_capac- ity_alarm bit set. a low -capacity value of 0 disables this alarm. the bq2060 initially sets the low -capacity value to remaining capacity alarm value programmed in ee 0x04 - 0x05. the low-capacity value remains un - changed until altered by the remaining- capacityalarm() function. the low -capacity value may be expressed in either current (ma) or power (10mwh) depending on the setting of the batterymode()?s capac - ity_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 sus - pend or hibernate state. the low -capacity value can be read to verify the value in use by the bq2060?s low capac - ity 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 @c/5 10mwh @p/5 range 0?65,535mah 0?65,535 10mwh granularity not app licable accuracy see remainingcapacity() remainingtimealarm() (0x02); [0x02] description: sets or gets the remaining time alarm value. whenever the averagetimet oempty() falls below the remaining time value, the bq2060 sends alarmw arning() messages to the smbus host with the remaining_time_alarm bit set. a remaining time value of 0 effectively disables this alarm. the bq2060 initially sets the remaining time value to the remaining time alarm value programmed in ee 0x02 - 0x03. the remaining time value remains unchanged until altered by the remainingtimealarm() function. purpose: the remainingtimealarm() 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 bq2060?s remainingtimea larm(). smbus protocol: read or write word input/output: unsigned integer?the point below which remain- ing time messages are sent. units: minutes range: 0 to 65,535 minutes granularity: not app licable accuracy: see a veragetimet oempty() batterymode() (0x03); [0x03] description: this function selects the various battery operational modes and reports the battery?s mode and requests. defined modes include: whether the battery?s capacity information is specified in mah or 10mwh (capacity_mode bit) whether the chargingcurrent() and chargingvoltage() values are broadcast to the smart battery charger when the bq2060 detects the battery requires charging (charger_mode bit) whether all broadcasts to the smart battery charger and host are disabled 17 bq2060 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 al - lows a smbus host or smart battery charger to over - ride the smart battery?s desired charging parameters by disabling the bq2060?s broadcasts. the relearn_flag bit allows the bq2060 to request a conditioning cycle. smbus protocol: read or write word input/output: unsigned integer ?bit mapped? see below. units: not ap plicable 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 bq2060 forces bits 0?6 to zero and prohibits writes to bit 7. table 8 summarizes the meanings of the individual bits in the batterymode() word and specifies the default val - ues, where applicable, are noted. internal_charge_controller bit is not used by the bq2060. primar y_ba ttery_support bit is not used by the bq2060. relearn_flag bit set indicates that the bq2060 is requesting a capacity relearn cycle for the battery. the bq2060 sets the relearn_flag on a full reset and if it detects 20 cycle counts without an fcc update. the bq2060 clears this flag after a learning cycle has been completed. charge_controller_enabled bit is not used by the bq2060. the bq2060 forces this bit to zero. primar y_ba ttery bit is not used by the bq2060. the bq2060 forces this bit to zero. alarm_mode bit is set to disable the bq2060?s ability to master the smbus and send alarmw arning() mes- sages to the smbus host and the smart battery charger. when set, the bq2060 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 65s and no less than 45s. when cleared (default), the smart battery sends the alarmw arning() messages to the smbus host and the smart battery charger any time an alarm condition is detected. 18 bq2060 battery mode() bits bits used format allowable values internal_charge_controller 0 read only bit flag primar y_ba ttery_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 primar y_ba ttery 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 10mwh table 8. battery mode bits and values the bq2060 polls the alarm_mode bit at least every 150ms. whenever the alarm_mode bit is set, the bq2060 resets the bit and starts or restarts a 55s (nominal) timer. after the timer expires, the bq2060 automatically enables alarm broadcasts to ensure that the accidental deactivation of broadcasts does not persist. an smbus host that does not want the bq2060 to be a master on the smbus must therefore continually set this bit at least once per 45s to keep the bq2060 from broadcasting al arms. the alarm_mode bit defaults to a cleared state within 130ms after the bq2060 detects the smbus off-state. 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 bq2060?s transmission of chargingcurrent() and chargingvoltage() messages to the smart battery charger. when set, the bq2060 does not transmit chargingcurrent() and chargingvoltage() values to the smart battery charger. when cleared, the bq2060 transmits the chargingcurrent() and chargingvoltage() values to the smart battery charger when charging is desired. the charger_mode bit defaults to a cleared state within 130ms after the bq2060 detects the smbus off-state. capacity_mode bit indicates if capacity informa- tion is reported in ma/mah or 10mw/10mwh. when set, the bq2060 reports capacity information in 10mw/10mwh as appropriate. when c leared, the bq2060 reports capacity information in ma/mah as ap- propriate. the capa city_mode bit defaults to a cleared state within 130ms after the bq2060 detects the smbus off-state. note 1: the following functions are changed to accept or return values in ma/mah or 10mw/10mwh depending on the capacity_mode bit: remainingcapacityalarm() atrate() remainingcapacity() fullchargecapacity() designcapacity() note 2: the following functions are calculated on the basis of capacity and may be calculated differently de - pending on the cap acity_mode bit: atrateok() atratetimetoempty() atratetimetofull() runtimetoempty() averagetimetoempty() averagetimetofull() remaining time alarm() batterystatus() the bq2060 updates the non-atrate related register val - ues within 3s of changing the state of the capac - ity_mode bit. the atrate() values will be updated af - ter the next atrate value is written to the bq2060 (or af - ter the next 20s scheduled refresh calculation). atrate() (0x04); [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(), atratet ime- toempty(), and atrateok() functions. the atrate value may be expressed in either current (ma) or power (10mw) depending on the setting of the batterymode()?s capacity_mode bit. purpose: since the atrate() function is the first half of a two-function call-set, it is followed by the second func- tion of the call-set that calculates and returns a value based on the atrate value and the battery?s present state. a delay of up to 1.3s is required after writing atrate() before the bq2060 can acknowledge the re- quested atrate function. when the atrate() value is positive, the atrate- timetofull() function returns the predicted time to full-charge at the atrate value of charge. when the atrate() value is negative, the atratetimetoempty() 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. w riting atrate() values over the hdq16 serial port does not trigger a re-calculation of atratetimet ofull(), atratetimet oempty(), and atrateok() fun ctions. it is recommended that atrate() requests should be lim - ited to one request every 4s. smbus protocol: read or write word 19 bq2060 input/output: signed integer?charge or discharge; the atrate() value is positive for charge, negative for discharge, and zero for neither (default). battery mode capacity_mode bit=0 capacity_mode bit=1 units ma 10mw charge range 1?32,767ma 1?32,768 10mw discharge range -1? -32,768ma -1? -32,768 10mw granularity 1 unit accuracy na atratetimetofull() (0x05);[0x05] description: returns the predicted remaining time to fully charge the battery at the atrate( ) value (ma). purpose: the atratetimet ofull() function is part of a two-function call-set used to determine the predicted remaining charge time at the atrate value in ma. the bq2060 updates atratetimet ofull() within 1.3s after the smbus host sets the atrate value. if read before this delay, the command is no acknowledged and the er- ror code in batterystatus is set to not ready .the bq2060 automatically updates atratetimet ofull() based on the atrate() value every 20s. smbus protocol: read word output: unsigned integer?predicted time in minutes to fully charge the battery. units: minutes range: 0 to 65,534 min granularity: 2 min or better accuracy: maxerror() * fullchargecapacity()/|atrate()| invalid data indication: 65,535 indicates the bat - tery is not being charged. atratetimetoempty() (0x06); [0x06] description: returns the predicted remaining operating time if the battery is discharged at the atrate() value. purpose: the atratetimetoempty() function is part of a two-function call-set used to determine the remaining operating time at the atrate()value. the bq2060 up - dates atratetimet oempty() within 1.3s after the smbus host sets the atrate() value. if read before this delay, the command is no acknowledged, and the error code in batterystatus is set to not ready . the bq2060 automatically updates atratetimet oempty() based on the atrate() value every 20s. 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() * fullcharg ecapac- ity/|atrate()| invalid data indication: 65,535 indicates the battery is not being discharged. atrateok() (0x07); [0x07] description: returns a boolean value that indicates whether or not the battery can deliver the atrate( )value of additional energy for 10 seconds (boolean). if the atrate value is zero or positive, the atrateok() function always re - turn-true. purpose: the atrateok() function is part of a t wo-function call-set used by power management systems to deter - mine if the battery can safely supply enough energy for an additional load. the bq2060 updates atrateok() within 1.3s after the smbus host sets the atrate( ) value. if read before this delay, the command is no ac - knowledged, and the error code in batterystatus is set to not ready . the bq2060 automatically updates atrateok() based on the at rate() value every 20s. smbus protocol: read word output: boolean?indicates if the battery can supply the additional energy requested. 20 bq2060 units: boolean range: true, f alse granularity: not app licable accuracy: not ap plicable temperature() (0x08); [0x08] description: returns the temperature (k) measured by the bq2060. purpose: the temperature() function provides accurate cell tem - peratures for use by battery chargers and thermal man - agement systems. a battery charger can use the tem - perature as a safety check. thermal management sys - tems 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} granularity: 0.1 k accuracy: 1.5 k (from ideal 103at thermistor performance, after calibration) voltage() (0x09); [0x09] description: returns the cell-pack voltage (mv). purpose: the voltage() function provides power management sys - tems 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: 1mv accuracy: 0.65% (after calibration) current() (0x0a); [0x0a] description: returns the current being supplied (or accepted) through the battery?s terminals (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 incre - ments?positive for charge, negative for discharge. units: ma range: ( 250mv/r s )ma granularity: 0.038mv/r s (integer value) accuracy: 1mv/r s (after calibration) averagecurrent() (0x0b); [0x0b] description: returns a value that approximates a one-minute rolling average of the current being supplied (or accepted) through the battery?s terminals (ma). the averagecurrent() function will return meaningful val- ues 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 incre - ments?positive for charge, negative for discharge. units: ma range: ( 250mv/r s )ma granularity: 0.038mv/r s (integer value) accuracy: 1mv/r s (after calibration) maxerror() (0x0c); [0x0c] description: returns the expected margin of error (%) in the state of charge calculation. for example, when maxerror() re - 21 bq2060 turns 10% and relativestateofcharge() returns 50%, the relative stateofcharge() is more likely between 50 and 60%. the bq2060 sets maxerror() to 100% on a full reset. the bq2060 sets maxerror() to 2% on completion of a learning cycle, unless the bq2060 limits the learning cycle to the +512/-256mah m aximum adjustment val - ues. if the learning cycle is limited, the bq2060 sets maxerror() to 8% unless maxerror() was already below 8%. in this case maxerror() does not change. the bq2060 increments maxerror() by 1% after four incre - ments of cyclecount() without a learning cycle. 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 to 100% granularity: 1% accuracy: not ap plicable relativestateofcharge() (0x0d); [0x0d] description: returns the p redicted remaining battery c apacity ex - pressed as a percentage of fullchargecapacity() (%). purpose: the relativestateofcharge() function is used to esti - mate the amount of charge remaining in the battery rel - ative to the last learned capacity. smbus protocol: read word output: unsigned integer?percent of remaining capacity. units: % range: 0 to 100% granularity: 1% accuracy: -0, +maxerror() absolutestateofcharge()(0x0e); [0x0e] description: returns the predicted remaining battery capacity ex - pressed as a percentage of designcapacity() (%). note that absolutestateofcharge() can return values greater than 100%. purpose: the absolutestateofcharge() function is used to esti - mate the amount of charge remaining in the battery rel - ative to the nominal or d esigncapacity(). smbus protocol: read word output: unsigned integer?percent of remaining capacity. units: % range: 0 to 100+% granularity: 1% accuracy: -0, +maxerror() remainingcapacity() (0x0f); [0x0f] description: returns the predicted charge or energy remaining in the battery. the remainingcapacity() value is expressed in either charge (mah at a c/5 discharge rate) or energy (10mwh at a p/5 discharge rate) depending on the set- ting of the batterymode()?s cap acity_mode bit. purpose: the remainingcapacity() function returns the battery?s remaining capacity. this information is a numeric indica - tion 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 output: unsigned integer?remaining charge in mah or 10mwh. battery mode capacity_mode bit = 0 capacity_mode bit = 1 units mah 10mwh range 0?65,535mah 0?65,535 10mwh granularity mah 10mwh accuracy -0, +maxerror() ? fullchargecapacity() 22 bq2060 fullchargecapacity() (0x10); [0x10] description: returns the p redicted pack capacity when it is fully charged. the fullchargecapacity() value is expressed in either current (mah at a c/5 discharge rate) or power (10mwh at a p/5 discharge rate) depending on the set - ting of the batterymode()?s cap acity_mode bit. purpose: the fullchargecapacity() function provides the user with a means of understanding the tank size of their battery. this information, along with information about the original capacity of the battery, can be presented to the user as an indication of battery wear. smbus protocol: read word output: unsigned integer?estimated full-charge capacity in mah or 10mwh. battery mode capacity_mode bit = 0 capacity_mode bit = 1 units mah 10mwh range 0?65,535mah 0?65,535 10mwh granularity mah 10mwh accuracy -0, +maxerror() ? fullchargecapacity() runtimetoempty() (0x11); [0x11] description: returns the predicted remaining battery life at the pres- ent rate of discharge (minutes). the runt imetoempty() value is calculated based on either current or power de - pending on the setting of the batterymode()?s capac - ity_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 averagetimet oempty(), 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); [0x12] description: returns a one-minute rolling average of the predicted remaining battery life (minutes). the averagetimet oempty() value is calculated based on ei - ther current or power depending on the setting of the batterymode()?s cap acity_mode bit. purpose: the averagetimet oempty() di splays state-of-charge in - formation in a more useful way. it averages the instan - taneous estimations so the remaining time does not ap - pear to jump around. 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() / averagecurrent() invalid data indication: 65,535 indicates battery is not being discharged. averagetimetofull() (0x13); [0x13] description: returns a one-minute rolling average of the predicted remaining time until the battery reaches full charge (minutes). purpose: the averagetimet ofull() 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: m axerror() ? fullchargecapacity() / averagecurrent() invalid data indication: 65,535 indicates the battery is not being charged. 23 bq2060 chargingcurrent() (0x14); [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 op - erating point. together, these functions permit the bq2060 to dynam ically control the charging profile (cur - rent/voltage) of the battery. the bq2060 can effectively turn off a charger by returning a value of 0 for this func - tion. the charger may be operated as a constant-voltage source above its m aximum regulated current range by returning a chargingcurrent() value of 65,535. smbus protocol: read word output: unsigned integer?maximum charger output cur - rent in ma. units: ma range: 0 to 61,456 ma granularity: 1ma accuracy: not ap plicable invalid data indication: 65,535 indicates that a charger should operate as a voltage source outside its maximum regulated current range. chargingvoltage() (0x15); [0x15] description: returns the desired charging voltage in mv. purpose: the chargingvoltage() function sets the max - imum 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 bq2060 to dynam ically control the charging profile (cur - rent/voltage) of the battery. the charger may be oper - ated as a constant-current source above its maximum regulated voltage range by returning a chargingvoltage() value of 65,535. smbus protocol: write word output: unsigned integer?charger output voltage in mv. units: mv range: 0 to 61,456 mv granularity: 1mv accuracy: not app licable invalid data indication: 65,535 indicates the charger should operate as a current source outside its maximum regulated voltage range. batterystatus()(0x16); [0x16] description: returns the bq2060?s status word (flags). some of the batterystatus() flags (remaining_ca - pacity_alarm and remaining_time_alarm) are calculated based on either current or power depend - ing on the setting of the batterymode()?s capac - ity_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 bq2060. 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 con- ditions bit mapped as foll ows: alarm bits 0x8000 over_charged_alarm 0x4000 termina te_charge_alarm 0x2000 reserved 0x1000 over_temp_alarm 0x0800 termina te_discharge_alarm 0x0400 reserved 0x0200 remaining_cap acity_alarm 0x0100 remaining_time_alarm status bits 0x0080 initialized 0x0040 discharging 0x0020 full y_charged 0x0010 full y_discharged error codes 0x0007 unknown error 0x0006 badsize 0x0005 overflow/underflow 0x0004 accessdenied 0x0003 unsupportedcommand 0x0002 reservedcommand 0x0001 busy 0x0000 ok 24 bq2060 alarm bits over_charged_alarm bit is set whenever the bq2060 detects that the battery is being charged beyond the maximum overcharge limit. this bit is cleared when the bq2060 detects that the battery is no longer being charged (i.e., the bq2060 detects discharge activity or no activity for the digital filter timeout periods. the digital filter timeout period (seconds) equates to 10 time the value shared in digital filter ee0x52.) termina te_charge_alarm bit is set when the bq2060 detects that one or more of the battery?s charg - ing parameters are out of range (e.g., its voltage, cur - rent, or temperature is too high) or when the bq2060 de - tects a primary charge termination. this bit is cleared when the parameter falls back into the allowable range, the termination condition ceases, or when the bq2060 detects that the battery is no longer being charged. over_temp_alarm bit is set when the bq2060 de - tects that the internal battery temperature is greater than allowed by the maxt limit. this bit is cleared when the internal temperature falls back into the ac - ceptable range. terminate_discharge_alarm bit is set when the bq2060 detects that v oltage() is less than edv0 or when the cvuv bit in pack status is set indicating that a li-ion cell voltage has dropped below the limit pro- grammed in cell under / over voltage . the bit is cleared when v oltage() is greater than edv0 or when the cvuv bit is cleared. remaining_cap acity_alarm bit is set when the bq2060 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 bq2060 detects that the estimated remaining time at the present discharge rate is less than that set by the remainingtimealarm() function. this bit is cleared when either the value set by the remainingt imealarm() func - tion is lower than the a veragetimet oempty() or when the averagetimet oempty() is incr eased by charging. status bits initialized bit is set when the bq2060 is has de - tected a valid load of eeprom. it is cleared when the bq2060 detects an improper eeprom load. discharging bit is set when the bq2060 determines that the battery is not being charged. this bit is cleared when the bq2060 detects that the battery is being charged. full y_charged bit is set when the bq2060 detects a primary charge termination or an overcharged condi - tion. it is cleared when relativestateofcharge() is less than or equal to the programmed fully charged clear % in ee 0x4b. full y_discharged bit is set when v oltage() is less than the edv2 threshold. this bit is cleared when the relative stateofcharge() is greater than or equal to 20%. error codes description ok the bq2060 processed the function code without detecting any errors. busy the bq2060 is unable to process the function code at this time. reserved the bq2060 detected an attempt to read or write to a function code re - served by this version of the spe cifica - tion. the 2060 detected an attempt to access an unsupported opt ional man - ufacturer function code. unsupported the bq2060 does not support this function code which is defined in this version of the specification. accessdenied the bq2060 detected an attempt to write to a read-only function code. over/underflow the bq2060 detected a data overflow or underflow. badsize the bq2060 detected an attempt to write to a function code with an incor- rect data block. unknownerror the bq2060 detected an unidentifi- able error. cyclecount()(0x17); [0x17] description: returns the number of cycles the battery has experienced. the mah value of each count is deter - mined by programming the cycle count threshold value in ee 0x3c?0x3d. the bq2060 saves the cycle count value to cycle count ee 0x0e?0x0f after an update to cyclecount(). purpose: the cyclecount() function provides a means to determine the battery?s wear. it may be used to give advanced warning that the battery is nearing its end of life. smbus protocol: read word output: unsigned integer?count of total charge removed from the b attery over its life. units: cycle 25 bq2060 range: 0 to 65,534 cycles 65,535 indicates battery has experienced 65,535 or more cycles. granularity: 1 cycle accuracy: absolute count designcapacity() (0x18); [0x18] description: returns the theoretical or nominal capac - ity of a new pack. the designcapacity() value is ex - pressed in either current (mah at a c/5 discharge rate) or power, (10mwh at a p/5 discharge rate) depending on the setting of the b atterymode()?s cap acity_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 informa - tion to the user and also adjust its power policy as a re - sult. smbus protocol: read word output: unsigned integer?battery capacity in mah or 10mwh. battery mode capacity_mode bit=0 capacity_mode bit=1 units mah 10mwh range 0?65,535mah 0?65,535 10mwh granularity not ap plicable accuracy not applicable designvoltage() (0x19); [0x19] description: returns the theoretical voltage of a new pack (mv). the bq2060 sets designvoltage() to the value programmed in design voltage ee0x12?0x13. purpose: the designvoltage() function can be used to give additional information about a particular smart battery?s 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 ap plicable specificationinfo() (0x1a); [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 ? 0 x 10) ? 0x100. the bq2060 vscale (voltage scaling) and ipscale (cur - rent scaling) should always be set to zero. the bq2060 sets specificationinfo() to the value programmed in specification information ee 0x14?0x15. purpose: the specificationinfo() function is used by the smbus host?s power management system to deter - mine 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) manufacturedate() (0x1b); [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 bq2060 sets manufacturedate() to the value programmed in manufacture date ee 0x16?0x17. 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. 26 bq2060 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); [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 (un - signed int). the bq2060 sets serialnumber() to the value programmed in serial number ee 0x18?0x19. purpose: the serialnumber() function can be used to identify a particular battery. this may be important in systems that are powered by mult iple batteries where the system can log information about each battery that it encounters. smbus protocol: read word output: unsigned integer manufacturername() (0x20); [0x20-0x25] description: this function returns a character array containing the battery?s manufacturer?s name. for ex- ample, m ybattco would identify the s mart b attery?s manufacturer as mybattco. the bq2060 sets manufacturername() to the value programmed in man- ufacturer name ee 0x20?0x26. purpose: the manufacturername() function returns the name of the smart battery?s 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 re - quired to uniquely identify a battery. smbus protocol: read block output: string?character string with m aximum length of 11 characters (11+ length byte). devicename() (0x21); [0x28-0x2b] description: this function returns a character string that contains the battery?s name. for example, a devicename() of bq2060a would indicate that the bat - tery is a model bq2060a. the bq2060 sets devicename() to the value programmed in device name ee 0x30?0x37. purpose: the devicename() function returns the bat - tery?s name for identification purposes. smbus protocol: read block output: string?character string with m aximum length of 7 characters (7+length byte). devicechemistry() (0x22); [0x30-0x32] description: this function returns a character string that contains the battery?s chemistry. for example, if the devicechemistry() function returns nimh , the bat - tery pack would contain nickel metal hydride cells. the bq2060 sets devicechemistry() to the value pro - grammed in device chemistry ee 0x40?0x44. purpose: the devicechemistry() function gives cell chemistry information for use by charging systems. the bq2060 does not use devicechemisty() values for inter - nal charge control or fuel gauging. smbus protocol: read block output: string?character string with m aximum length of 4 characters (4+length byte). note: the following is a p artial 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 manufacturerdata() (0x23); [0x38?0x3a] description: this function allows access to the manu - facturer data contained in the battery (data). the bq2060 stores seven critical eeprom programming pa - rameters 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 five critical eeprom locations and can be used to facilitate evaluation bq2060 under various programming sets. the manufacturerdata() function returns the following information in order: control mode, digital filter, self-discharge rate, battery low %, near full, and the calculated edv threshold ( low byte and high byte.) 27 bq2060 smbus protocol: read block output: block data?data that reflects eeprom program - ming as assigned by the manufacturer with maxi - mum length of 7 characters (7+length byte). pack status and pack configuration (0x2f); [0x2f] this function returns the pack status and pack config - uration registers. the pack status register contains a number of status bits relating to bq2060 operation. the pack status register is the least significant byte of the word. oce the oce bit indicates that offset cancellation is en- abled. the bq2060 sets this bit after vfc offset calibra- tion is complete. 0 offset calibration is not enabled 1 offset calibration is enabled edv2 the edv2 bit indicates that v oltage() is less than the edv2 threshold. 0 voltage() > edv2 threshold 1 voltage() edv2 threshold eint the eint bits indicate that the vfc has detected a charge or discharge pulse. 0 no charge/discharge activity detected 1 charge/discharge activity detected. vdq the vdq bit indicates if the present discharge cycle is valid for an fcc update. 0 discharge cycle is not valid 1 discharge cycle is valid cok the cok bit indicates the status of the cfc pin of the bq2060. 0 cfc pin is low 1 cfc pin is high dok the dok bit indicates the status of the dfc pin of the bq2060. 0 dfc pin is low 1 dfc pin is high cvov the cvov bit indicates that a secondary li-ion protec - tion limit has been exceeded. it is set if any individual cell exceeds the programmed high voltage limit, if the pack voltage exceeds the overvoltage threshold, or if an over temperature condition occurs. the bit is not latched and merely reflects the present overvoltage status. 0 no secondary protection limits exceeded 1 asecondary protection limit exceeded cvuv the cvuv bit indicates if any individual cell falls below the programmed low-voltage limit. the bit applies to lithium batteries only. the bit is not latched and merely reflects the present undervoltage status. 0 all series cells are above the low-voltage limit 1 aseries cell is below the low voltage limit the pack configuration register reflects how the bq2060 is configured as defined by the value programmed in pack configuration in ee 0x3f. vcell4?vcell1 (0x3c?0x3f); [0x3c?0x3f] these functions re turn the calculated voltages in mv at the vcell 4 through vcell 1 inputs. eeprom general the bq2060 accesses the external eeprom during a full reset and when storing historical data. during an eeprom access, the v out pin becomes active and the bq2060 uses the escl and esda pins to communicate with the eeprom. the eeprom stores basic configu - ration information for use by the bq2060. the eeprom must be programmed correctly for proper bq2060 opera - tion. memory map table 10 shows the memory map for the eeprom. it also contains example data for a 10 series nimh and a 3s3p li-ion battery pack with a 0.05 sense resistor. 28 bq2060 b7 b6 b5 b4 b3 b2 b1 b0 oce edv2 eint vdq cok dok cvov cvuv 29 eeprom address name chemistry nimh example data li-ion example data msb lsb msb lsb 0x00 0x01 check byte 1 li-ion, nickel 15487 3c 7f 15487 3c 7f 0x02 0x03 remaining time alarm li-ion, nickel 10 minutes 00 0a 10 minutes 00 0a 0x04 0x05 remaining capacity alarm li-ion, nickel 350mah 01 5e 400mah 01 90 0x06 edv a0 impedance age factor li-ion, nickel 0 - 00 4.96%/1k cyles -0d 0x07 reserved - 0 - 00 0 - 00 0x08 0x09 reserved - 0 00 00 0 00 00 0x0a 0x0b charging v oltage li-ion, nickel 18000mv 46 50 12600mv 31 38 0x0c 0x0d reserved - 128 00 80 128 00 80 0x0e 0x0f cycle count li-ion, nickel 0 00 00 0 00 00 0x10 0x11 reserved - 0 00 00 0 00 00 0x12 0x13 design voltage li-ion, nickel 12000mv 2e e0 10800mv 2a 30 0x14 0x15 specification information li-ion, nickel v1.1/pec 00 31 v1.1/pec 00 31 0x16 0x17 manufacture date li-ion, nickel 2/25/99=9817 26 59 2/25/99=9817 26 59 0x18 0x19 serial number li-ion, nickel 1 00 01 1 00 01 0x1a 0x1b fast-charging current li-ion, nickel 4000ma 0f a0 3000ma 0b b8 0x1c 0x1d maintenance charging current li-ion, nickel 200ma 00 c8 0ma 00 00 0x1e 0x1f pre-charge current li-ion, nickel 800ma 03 20 100ma 00 64 0x20 manufacturer name length li-ion, nickel 9 - 09 9 - 09 0x21 character 1 li-ion, nickel b - 42 b - 42 0x22 character 2 li-ion, nickel e - 45 e - 45 0x23 character 3 li-ion, nickel n - 4e n - 4e 0x24 character 4 li-ion, nickel c - 43 c - 43 0x25 character 5 li-ion, nickel h - 48 h - 48 0x26 character 6 li-ion, nickel m - 4d m - 4d 0x27 character 7 li-ion, nickel a - 41 a - 41 0x28 character 8 li-ion, nickel r - 52 r - 52 0x29 character 9 li-ion, nickel q - 51 q - 51 0x2a character 10 li-ion, nickel 0 - 00 0 - 00 0x2b light discharge current li-ion, nickel 0 - 00 0 - 00 0x2c 0x2d reserved - 0 00 00 0 00 00 0x2e 0x2f maximum overcharge li-ion, nickel 200mah ff 38 256mah ff 00 0x30 device name length li-ion, nickel 7 - 07 7 - 07 0x31 character 1 li-ion, nickel b - 42 b - 42 0x32 character 2 li-ion, nickel q - 51 q - 51 0x33 character 3 li-ion, nickel 2 - 32 2 - 32 0x34 character 4 li-ion, nickel 0 - 30 0 - 30 (continued on next page) note: reserved locations must be set as shown. locations marked with an * are calibration values that can be adjusted for maximum accuracy. for these locations the table shows the appropriate default or initial setting. table 10. eeprom memory map bq2060 30 eeprom address name chemistry nimh example data li-ion example data msb lsb msb lsb 0x35 character 5 li-ion, nickel 6 - 36 6 - 36 0x36 character 6 li-ion, nickel 0 - 30 0 - 30 0x37 character 7 li-ion, nickel a - 41 a - 41 0x38 0x39 last measured discharge li-ion, nickel 4000mah 0f a0 4050mah 0f d2 0x3a 0x3b pack capacity li-ion, nickel 4000mah 0f a0 4050mah 0f d2 0x3c 0x3d cycle count threshold li-ion, nickel 500mah fe 0c 3240mah f3 58 0x3e reserved - 0 - 00 0 - 00 0x3f pack configuration li-ion, nickel 232 - e8 246 - f6 0x40 device chemistry length li-ion, nickel 4 - 04 4 - 04 0x41 character 1 li-ion, nickel n - 4e l - 4c 0x42 character 2 li-ion, nickel i - 49 i - 49 0x43 character 3 li-ion, nickel m - 4d o - 4f 0x44 character 4 li-ion, nickel h - 48 n - 4e 0x45 maxt deltat li-ion, nickel 50c, 3.0 - c7 50c, 4.6 - cf 0x46 0x47 overload current li-ion, nickel 6000ma 17 70 6000ma 17 70 0x48 overvoltage margin li-ion, nickel 0 - 00 800mv - 32 0x49 overcurrent margin li-ion, nickel 512ma - 20 512ma - 20 0x4a reserved nickel 0 - 00 - - - cell under/over v oltage li-ion - - - 118 - 76 0x4b fast charge t ermination % li-ion, nickel 96% - a0 100% - 9c 0x4c fully charged clear % li-ion, nickel 90% - a6 95% - a1 0x4d high charge efficiency li-ion, nickel 97% - el 100% - ff 0x4e current t aper threshold li-ion - - - 200ma - 08 deltat time nickel 180s - f7 - - - 0x4f holdoff time nickel 240s - f4 - - - current t aper qual v oltage li-ion - - - 128mv - 40 0x50 manufacturers data length li-ion, nickel 7 - 07 7 - 07 0x51 control mode li-ion, nickel 4 04 4 04 0x52 digital filter li-ion, nickel 50 v -2d 50 v -2d 0x53 self-discharge rate li-ion, nickel 1% - cb 0.21% - 05 0x54 battery low % li-ion, nickel 7% - 12 7% - 12 0x55 near full li-ion, nickel 200mah - 64 200mah - 64 0x56 0x57 reserved - 0 - 00 0 - 00 0x58 0x59 reserved - 0 - 00 0 - 00 0x5a 0x5b reserved - 0 - 00 0 - 00 (continued on next page) note: reserved locations must be set as shown. locations marked with an * are calibration values that can be adjusted for maximum accuracy. for these locations the table shows the appropriate default or initial setting. table 10. eeprom memory map (continued) bq2060 31 eeprom address description chemistry nimh example data li-ion example data msb lsb msb lsb 0x5c 0x5d reserved - 0 00 00 0 00 00 0x5e 0x5f vfc offset* li-ion, nickel 0 00 00 0 00 00 0x60 vfc offset* li-ion, nickel 0 - 00 0 - 00 0x61 temperature offset* li-ion, nickel 0 - 00 0 - 00 0x62 adc offset* li-ion, nickel 0 - 00 0 - 00 0x63 cell 2 calibration factor* li-ion - - - 0 - 00 efficiency temperature compensation nickel 0.25% - 20 - - - 0x64 cell 3 calibration factor* li-ion - - - 0 - 00 efficiency drop off percentage nickel 96% - a0 - - - 0x65 cell 4 calibration factor* li-ion - - - 0 - 00 efficiency reduction rate nickel 1% - 50 - - - 0x66 0x67 adc voltage gain* li-ion, nickel 16 : 1 4e 20 16 : 1 4e 20 0x68 0x69 adc sense resistor gain* li-ion, nickel 0.05 30 d4 0.05 30 d4 0x6a 0x6b vfc sense resistor gain* li-ion, nickel 0.05 20 00 0.05 20 00 0x6c 0x6d voc 25% li-ion, nickel 1 1500mv d3 14 10550mv d6 ca 0x6e 0x6f voc 50% li-ion, nickel 12500mv cf 2c 10750mv d6 02 0x70 0x71 voc 75% li-ion, nickel 13500mv cb 44 11200mv d4 40 0x72 0x73 edvf/edv0 li-ion, nickel 9500mv 25 1c 10265mv 28 19 0x74 0x75 emf/ edv1 li-ion, nickel 10000mv 27 10 11550 2d 1e 0x76 0x77 edv t0 factor li-ion, nickel 0 00 00 4475 11 7b 0x78 0x79 edv c1/c0 factor/edv2 li-ion, nickel 10500mv 29 04 c1=0 c0 = 235 00 eb 0x7a 0x7b edv r0 factor li-ion, nickel 0 00 00 5350 14 e6 0x7c 0x7d edv r1 factor li-ion, nickel 0 - 00 250 00 fa 0x7e 0x7f check byte 2 li-ion, nickel 42330 a5 5a 42330 a5 5a note: reserved locations must be set as shown. locations marked with an * are calibration values that can be adjusted for maximum accuracy. for these locations the table shows the appropriate default or initial setting. table 10. eeprom memory map (continued) bq2060 eeprom programming the following s ections describes the function of each eeprom location and how the data is to be stored. fundamental parameters sense resistor value two factors are used to scale the current related mea - surements. the 1 6-bit adc sense resistor gain value in ee 0x68?0x69 scales current() to ma. adjusting adc sense resistor gain from its nominal value pro - vides a method to calibrate the current readings for sys - tem errors and the sense resistor value (r s ) . the nomi - nal value is set by adc sense resistor gain 625 (rs) (4) the 16-bit vfc sense resistor gain in ee 0x6a?0x6b scales each vfc interrupt to mah. vfc sense resistor gain is based on the resistance of the series sense resis- tor. the following formula computes a nominal or start- ing value for vfc sense resistor gain from the sense re- sistor value. vfc sense resistor gain 409.6 (rs) (5) sense resistor values are limited to the range of 0.00916 to 0.100 . digital filter the desired digital filter threshold, vdf ( v), is set by calculating the value stored in digital filter ee 0x52. digital filter 2250 vdf (6) cell characteristics battery pack capacity and voltage pack capacity is programmed in mah units to pack ca - pacity in ee 0x3a?0x3b and last measured discharge in ee 0x38?0x39. in mah mode, the bq2060 copies pack capacity to designcapacity(). in mwh mode, the bq2060 multiplies pack capacity by design voltage ee 0x12?0x13 to calculate desi gncapacity() scaled to 10mwh. design voltage is stored in mv. last measured discharge is modified over the course of pack usage to reflect cell aging under the particular use conditions. the bq2060 updates last measured dis - charge in mah after a capacity learning cycle. the bq2060 uses the last measured discharge value to cal - culate fullchargecapacity() in mah or 10mwh mode. edv thresholds and near full percentage the bq2060 uses three pack voltage thresholds to pro - vide voltage-based warnings of low battery capacity. the bq2060 uses the values stored in eeprom for the edv0, edv1, and edv2 values or calculates the three thresholds from a base value and the temperature, ca - pacity, and rate adjustment factors stored in eeprom. if edv compensation is disabled then edv0, edv1, and edv2 are stored directly in mv in ee 0x72?0x73, ee 0x74?0x75, and ee 0x78?0x79, respectively. for capacity correction at edv2, battery low % ee 0x54 can be set at a desired state-of-charge, stateofcharge%, in the range of 5 to 20%. t ypical values for sta teofcharge% are 7?12% representing 7 ?12% capacity. battery low % = stateofcharge% ? 2.56 (7) the bq2060 updates fcc if a qualified discharge occurs from a near -full threshold to edv2. the desired near -full threshold window, nfw (mah), is programmed in near full in ee 0x55. near full = nfw 2 (8) edv discharge rate and temperature compensation if edv compensation is enabled, the bq2060 calculates battery voltage to determine edv0, edv1, edv2 as a function of edv, battery capacity, temperature, and dis- charge load the general equation for edv0, edv1, and edv2 calculation is (9) edv0,1,2 = emf ? f bl -| i load | ? r0 ? f tz ? f cy where emf is a no-load b attery voltage that is higher than the highest edv threshold that is computed. emf is programmed in mv in emf/edv1 ee 0x74?0x75. i load is the current discharge load. f bl is the factor that adjusts the edv voltage for bat - tery capacity and temperature to match the no-load characteristics of the battery. f bl = f ( c0, c + c1, t ) (10) where 32 bq2060 c is 0%, 3%, or battery low % for edv0, edv1, and edv2, respectively and c0 is the capacity related edv adjustment factors. c0 is programmed in the lower 11 bits of edv c0 factor/edv2 ee 0x78?79. the residual capacity factor is stored in the upper 5 bits of ee 0x78?0x79. residual capacity f actor c1 residual %. 256 residual % is the desired battery capacity remaining at edv0 (rm = 0). t is the current temperature in k r0 ? f tz represents the resistance of the battery as a function of temperature and capacity. f tz =f(r1,t0,t ,c+c1) (11) r0 is the first order rate dependency factor stored in edv r0 factor ee 0x7a?0x7b. t is the current temperature; c is the battery capacity relating to edv0, edv1, and edv2; and c1 is the desired residual battery capacity remaining at edv0 (rm = 0). r1 adjusts the variation of impedance with battery capacity. r1 is programmed in edv r1 rate factor ee 0x7c?0x7d. t0 adjusts the variation of impedance with battery temperature. t0 is programmed in edv t0 rate factor ee 0x76?0x77. f cy is the factor that adjusts for changing cell imped - ance as the battery pack is cycled. where f cy = f(a0, cyclecount()) (12) a0 is the edv aging factor that is stored in edv a0 factor ee 0x06. typical values for the edv compensation factors for a li-ion 3s3p 18650 pack are emf = 11550 t0 = 4475 c0 = 235 c1=0 r0 = 5350 r1 = 250 a0 = 4.96%/1000 cycles the graphs in figures 7 and 8 show the calculated edv0, edv1, and edv2 thresholds versus capacity us- ing the typical compensation values for different tem- peratures and loads for a li-ion 3s3p 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. overload current threshold the overload current threshold is a 16-bit value stored in ee 0x46-0x47 in ma units. 33 battery low % = 7%, load = 500ma 7500 8000 8500 9000 9500 10000 10500 11000 11500 109876543210 % capacity voltage (m v) 45c/500ma 20c/500ma edv1 edv2 figure 7. edv calculations vs. capacity for various temperatures battery low % =7%, temperature = 35 c 7000 edv0 edv1 edv2 8000 7500 9000 8500 9500 10000 10500 11000 11500 109876543210 % capacity voltage (mv) 35c/2a 35c/500ma 35c/1a figure 8. edv calculations vs. capacity for various loads bq2060 midrange capacity corrections three voltage-based thresholds, voc25 ee 0x6c?0x6d, voc50 ee 0x6e?0x6f, and voc75 ee 0x70?0x71, are used to test the accuracy of the rm based on open-circuit pack voltages. these thresholds are stored in the eeprom in 2?s complement of voltage in mv. the values represent the open-circuit battery voltage at which the battery capacity should correspond to the as - sociated 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 ee 0x53 by the following relation: self discharge rate 2s 52.73 %perday (13) light load current the amount of light load current in ma, ileak, used for compensation is stored in light discharge current in ee 0x2b as foll ows: light d isch current = ileak 1024 45 arge (14) ileak is between 0.044 and 1 1.2ma. charge efficiency the bq2060 uses four charge-efficiency factors to com- pensate for charge acceptance. these factors are coded in high charge efficiency , efficiency reduction rate , ef - ficiency drop off percentage, and efficiency temperature compensation . the bq2060 applies the efficiency factor, eff%, when relativestateofcharge() is less than the value coded in efficiency drop off percentage ee 0x64. when relativestateofcharge() is greater than or equal to the value coded in efficiency drop off percentage , eff% and err% determine the charge efficiency rate. err% defines the percent efficiency reduction per percentage point of relativestateofcharge() over efficiency drop off percentage . eff% is encoded in high charge effi - ciency ee 0x4d according to the following equation: high charge efficiency =10 ? (eff% - 74.5) (15) where 74.5 eff% 1 00. err% is encoded in efficiency reduction rate ee 0x65 according to the following equation efficiency reduction rate = err% 0.0125 (16) where 0 err% 3.19 the efficiency drop off percentage is stored in 2?s com - plement of percent. the bq2060 also adjusts the efficiency factors for temper - ature. teff% defines the percent efficiency reduction per degree c over 25 c. teff% is encoded in efficiency tem - perature compensation ee 0x63 according to the follow - ing equation (17) efficiency temperature compensation = teff% 1.6 0.0125 where 0 teff% 1.99 the bq2060 applies all four charge-compensation factors when the chem bit in pack configuration is not set de- noting a nickel pack. (18) effective charge efficiency reduction (nickel only) = err%[rsoc() ? eff%] + teff%[t( c) ? where rsoc() eff% and t 25 c if chem is set denoting a li-ion pack, the bq2060 ap- plies only the value coded in high charge efficiency and makes no other adjustments for charge acceptance. charge limits and termination techniques charging voltage the 16-bit value, charging v oltage ee 0x0a-0x0b pro - grams the chargingvoltage() value broadcast to a smart charger. it is also sets the base value for determining overvoltage conditions during charging and voltage com - pliance during a constant-voltage charging methodology. it is stored in mv. overvoltage the 8-bit value, overvoltage margin ee 0x48, sets the limit over chargingvoltage() that is to be considered as an overvoltage charge-suspension condition. the voltage in mv above the chargingvoltage(), vovm, that should 34 bq2060 trigger a charge suspend is encoded in overvoltage mar - gin as follows: overvoltage margin vovm 16 (19) vovm is between 0 and 4080mv. charging current chargingcurrent() values are either broadcast to a level 2 smart battery charger or read from the bq2060 by a level 3 smart battery charger. the bq2060 sets the value of chargingcurrent(), depending on the charge requirements and charge conditions of the pack. when fast charge is allowed, the bq2060 sets chargingcurrent() to the rate programmed in fast charging current ee 0x1a-0x1b. when fast charge terminates, the bq2060 sets chargingcurrent() to zero and then to the maintenance charging current ee 0x1c-0x1d when the termination condition ceases. when voltage() is less than e dv0, the bq2060 sets chargingcurrent() to pre-charge current ee 0x1e-0x1f. typically this rate is larger than the maintenance rate to charge a deeply depleted pack up to the point where it may be fast charged. fast charging current , maintenance charging current , and pre-charge current are stored in ma. charge suspension during charge, the bq2060 compares the current to the chargingcurrent() plus the value ioim. if the pack is charged at a current above the chargingcurrent() plus ioim, the bq2060 sets chargingcurrent() set to zero to stop charging. ioim is programmed in the eeprom value, overcurrent margin , encoded as: overcurrent m argin ioim 16 (20) overcurrent margin ee 0x49 may be used to program ioim values of 0 to 4080ma in 16ma steps. the desired temperature threshold for charge suspen - sion, maxtemp, may be programmed between 45 c and 69 cin1.6 c steps. maxt deltat ee 0x45 (msn) is stored in a 4-bit value as shown: maxt int 69 maxtemp 1.6 05 . (21) the bq2060 suspends fast charge when fast charge con - tinues past full by the amount programmed in maxi - mum overcharge ee 0x2e-0x2f. maximum overcharge is programmed in 2s complement form of charge in mah. fully_charged bit clear threshold the bq2060 clears the full y_charged bit in batterystatus() when relativestateofcharge() reaches the value, fully charged clear % ee 0x4c. fully charged clear % is an 8-bit value and is stored as a 2?s complement of percent. fast charge termination percentage the bq2060 sets rm to a percentage of fcc on charge termination if the csync bit is set in the pack configu - ration register. the percentage of fcc is stored in fast charge t ermination % in ee 0x4b. the value is stored in 2?s complement of percent. cycle count threshold cycle count threshold 0x3c?0x3d sets the number of mah that must be removed from the ba ttery to incre - ment cyclecount(). cycle count threshold is a 1 6-bit value stored in 2?s complement of charge in mah. ? t/ t rate and hold-off programming the ? t portion of the ? t/ ? t rate is programmed in deltat , the low nibble of maxt deltat ee 0x45 (lsn). the ? t portion is programmed in deltat time ee 0x4e. dt/dt = deltat deltat time 216 2s( ) 2 c s /10 0 (22) deltat ( c) deltat _ time t (s) 0 1.6 f0 320 1 1.8 f1 300 2 2.0 f2 280 3 2.2 f3 260 4 2.4 f4 240 5 2.6 f5 220 6 2.8 f6 200 7 3.0 f7 180 8 3.2 f8 160 9 3.4 f9 140 a 3.6 fa 120 b 3.8 fb 100 c 4.0 fc 80 d 4.2 fd 60 e 4.4 fe 40 f 4.6 ff 20 t/ t hold-off timer programming the hold-off timer is programmed in the lower nibble of holdoff time ee 0x4f. the hold-off time is 20s times the 2s complement of the holdoff time value. 35 bq2060 hold-off time hold-off time (s) hold-off time hold-off time (s) f0 320 f8 160 f1 300 f9 140 f2 280 fa 120 f3 260 fb 100 f4 240 fc 80 f5 220 fd 60 f6 200 fe 40 f7 180 ff 20 current taper termination characteristics two factors in the eeprom set the current taper termi - nation for li-ion battery packs. the two coded locations are current t aper qual v oltage ee 0x4f and current taper threshold ee 0x4e. cu rrent taper termination oc - curs during charging when the pack voltage is above the charging voltage minus cellv (mv) and the charging current is below the threshold coded in current t aper threshold for at least 40s. current t aper qual v oltage = cellv 2 (23) current t aper threshold = ri 0.5625 s (24) where i = the desired current termination threshold in ma, and r s = vfc sense resistor in ohms. pack options pack configuration pack configuration ee 0x3f contains bit-programmable features. dmode the dmode bit determines whether the led outputs will indicate absolutestateofcharge() or relativestateofcharge() 0 leds reflect absolutestateofcharge() 1 leds reflect relativestateofcharge() seal the seal bit determines the smbus access state of the bq2060 on reset 0 smbus commands (0x00?0xff) are a ccessible for both read and write. 1 smbus read access is limited to commands (0x05?0x1c) and (0x20?0x23). smbus read/write access is limited to commands (0x00?0x04), (0x2f), and (0x3c?0x3f). csync in usual operation of the bq2060, the csync bit is set so that the coulomb counter is adjusted when a fast charge termination is detected. in some applications, es - pecially 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 bq2060 does not alter rm at the time of a valid charge termination 1 the bq2060 sets update rm with a programmed percentage of fcc. cedv the cedv bit determines whether the bq2060 imple- ments automatic edv compensation to calculate the edv0, edv1 and edv2 thresholds base on rate, tem- perature, and capacity. if reset, the bq2060 uses the val- ues programmed in eeprom for edv0, edv1 and edv2. if set the bq2060 calculates edv0, edv1 and edv2. 0 edv compensation disabled 1 edv compensation enabled vcor the vcor bit enables the midrange voltage correction algorithm. when set, the bq2060 compares the pack voltage to rm and may adjust rm according to the val - ues programmed in voc25 , voc50 , and voc75 . 0 midrange corrections disabled 1 midrange corrections enabled 36 bq2060 b7 b6 b5 b4 b3 b2 b1 b0 dmode seal csync cedv vcor chem lcc1 lcc0 chem the chem bit configures the bq2060 for nickel packs (nicd or nimh) or li-ion packs. when set the bq2060 employs the configuration parameters in eeprom des - ignated for li-ion. when not set, the bq2060 employs the configuration parameters designated for nickel. 0 the bq2060 uses nickel configuration parameters 1 the bq2060 uses li-ion configuration parameters lcc0 and lcc1 the lcc0 and lcc1 bits configure the cell voltage in - puts (vcell 1?4 ). no. of series cells lcc1 lcc0 cell voltage inputs na 00 vcell 4 = cell stack 201 vcell 1 = cell 1 vcell 2 = cell 2 310 vcell 1 = cell 1 vcell 2 = cell 2 vcell 3 = cell 3 411 vcell 1 = cell 1 vcell 2 = cell 2 vcell 3 = cell 3 vcell 4 = cell 4 for li-ion packs with individual measurements, lcc0 and lcc1 define the number of series elements and their voltage measurement inputs. in each case (2, 3, or 4), the bq2060 uses the highest numbered cell voltage input to measure the pack voltage measurement as re- turned with v oltage(). for nickel chemistries or li-ion without single-cell measurements, lcc0 and lcc1 must be set to 00. vcell 4 is the pack voltage input for this programming. remaining time and capacity alarms remaining time alarm in ee 0x02?0x03 and re - maining capacity alarm in 0x04?0x05set 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 mah. secondary protection limits for li-ion the cell undervoltage (v uv ) and overvoltage (v ov ) limits are programmed in cell undervoltage/over v oltage ee 0x4a according to the equations: cell undervoltage/overvoltage (lower) = v - 4096 32 ov (25) cell undervoltage/overvoltage (upper) = v 2048 64 uv (26) cell under/over voltage (upper nibble) v uv (mv) cell under/over voltage (lower nibble) v ov (mv) 0 2048 0 4096 1 2112 1 4128 2 2176 2 4160 3 2240 3 4192 4 2304 4 4224 5 2368 5 4256 6 2432 6 4288 7 2496 7 4320 8 2560 8 4352 9 2624 9 4384 a 2688 a 4416 b 2752 b 4448 c 2816 c 4480 d 2880 d 4512 e 2944 e 4544 f 3008 f 4576 cycle count initialization cycle count ee 0x0e?0x0f stores the initial value for the cyclecount() function. it should be programmed to 0x0000. control modes control mode ee0x51 contains additional bit program- mable features. b7 b6 b5 b4 b3 b2 b1 b0 ndf - hpe cpe led sc - sm ndf the ndf bit disables the digital filter during discharge if the smbc and smbd lines are high. 0 digital filter enabled all the time 1 digital filter disabled if smbc and smbd are high 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 37 bq2060 cpe the cpe bit enables/disables pec transmissions to the smart battery charger for master mode alarm mes - sages. 0 no pec byte on alarm warning to charge 1 pec byte on alarm warning to charger led the led bit configures the bq2060 for 4 or 5 led indication 0 selects the 5 led indication mode 1 selects the 4 led indication mode sc the sc bit enables learning cycle optimization for a smart charger or independent charge 0 learning cycle optimized for independent charger 1 learning cycle optimized for smart charger sm the sm bit enables/disables master mode broadcasts by the bq2060 0 broadcasts to host and charger enabled 1 broadcasts to host and charger disabled if the sb bit is set, modifications to bits in batterymode() will not re-enable broadcasts. measurement calibration adc to describe how the bq2060 calculates reported battery and individual cell voltages, the following abbreviations and designations are used: vcell 1?4 = voltages at the input pins of the bq2060 vcell1?4 = reported cell voltages vnl?4 = voltages at the different series nodes in the battery voltage() = reported battery voltage v sr = voltage across the sense resistor the reported voltages m easurements, v oltage() and vcell1?4, may be calibrated by adjusting five 8- or 16-bit registers in eeprom: adc offset in ee0x62, adc voltage gain in ee 0x66?0x67, cell 2 calibration factor in ee 0x63, cell 3 calibration factor in ee 0x64, and cell 4 calibration factor in ee 0x65. the bq2060 first computes the node voltages vnl, vn2, vn3, and vn4. the node voltages are inputs to the volt - age dividers to the vcell 1 through vcell 4 input pins of the bq2060. the bq2060 computes node voltages to calculate the five reported voltages by the bq2060: volt - age(), vcell1, vcell2, vcell3, and vcell4. an adc voltage gain factor of 20,000 is the nominal value when using the recommended cell-voltage division ratios of 16:1 on the vcell 4 and vcell 3 inputs and 8:1 on the vcell 2 and vcell 1 inputs. the bq2060 subtracts the voltage across the sense resistor from the measurements so that the reported voltages reflect the cell-stack voltages only. the bq2060 compute the node voltages as (27) vn vcell 1 1 32768 1250 adc offset adc voltage gai n 65536 (28) vn2 vcell 2 32768 1250 adc offset adc voltage gai n cell calibrationfactor 82 65536 () (29) vn3 vcell 3 32768 1250 adc offset adc voltage gai n cell calibrationfactor 8 2 65536 () 3 (30) vn4 vcell 4 32768 1250 adc offset adc voltage gai n cell calibrationfactor 8 2 65536 () 4 note: with lcc1-lcc0 = 00, cell 4 calibration factor =0. adc offset adjusts the adc offset for voltage and cur - rent measurements. adc offset is a signed 8-bit value that cancels offset present in the circuit with no poten - tial or current flow. adc offset is typically set between -10 and 10. 38 bq2060 preliminary the bq2060 uses the computed node voltages to calcu - late the reported voltages. it does not compute reported cell voltages greater than the selected number of nodes. if no individual cell voltages are to be measured, lcc1?lcc0 should be set to 00 and the top of the bat - tery stack should be connected to a voltage divider to the vcell 4 input. the bq2060 computes the reported voltages as foll ows: voltage() = vn4 (lcc1?lcc0 = 11 or 00) - v sr voltage() = vn3 (lcc1?lcc0 = 10) - v sr voltage() = vn2 (lcc1?lcc0 = 01) - v sr vcell4 = vn4 - vn3 vcell3 = vn3 - vn2 vcell2 = vn2 - vn1 vcell1 = vn1 - v sr current the bq2060 scales current() to ma units by the 16-bit value adc sense resistor gain in ee 0x68?0x69. adjusting adc sense resistor gain from its nominal value provides a method to calibrate the current read- ings for variances in the adc gain, internal voltage ref- erence, and sense resistor value. the bq2060 calculates current() by (31) current() = (adc reading + ) 16 adc offset adc s ense resistor gain ,384 the nominal value for adc sense resistor gain is given by equation (6). vfc to calibrate the coulomb counting measurement for sys - tem errors and sense resistor error, the value of vfc sense resistor gain ee 0x6a-0x6b may be adjusted from its nominal value. the nominal value of vfc sense resistor gain is given by equation (5). the bq2060 vfc circuit has the ability to introduce a signal opposite in sign as the inherent device and circuit offset to cancel this error. the offset calibration routine is initiated with commands to manufactureraccess(). the bq2060 calculates the offset with the calibration routine and stores the calibration value using the least 21 bits of vfc offset in ee 0x5e?0x60. the least 20 bits store the offset calibration value (ocv). the sign of the offset calibration value is positive if the 21st bit is 0. ocv = 0.6v vfc offset u 19 0 ? (32) temperature the bq2060 uses temperature offset in ee 0x61 to cali - brate the t emperature() function for o ffset. the required offset adjustment, toff (c), sets temperature offset ac - cording to the equation temperature offset = toff * 10 (33) where -12.8 toff 12.7 constants and string data eeprom constants check/byte 1 ee 0x00?0x01 and check byte 2 ee 0x7e?0x7f must be programmed to 0x3c7f and 0xa55a, respectively. specification information specification information ee 0x14?0x15 stores the de- fault value for the specificationinfo() function. it is stored in eeprom in the same format as the data re- turned by the sepcificationinfo(). manufacture date manufacture date ee 0x16?0x17 stores the default value for the manufacturedate() function. it is stored in eeprom in the same format as the data returned by the manufacturedate(). serial number serial number ee 0x18?0x19 stores the default value for the serialnumber() function. it is stored in eeprom in the same format as the data returned by the serialnumber(). manufacturer name data manufacturer name length ee 0x20 stores the length of the desired string that is returned by the manufacturername() function. locations ee 0x21?0x2a store the characters for manufacturername() in ascii code. 39 bq2060 device name data device name length ee 0x30 stores the length of the desired string that is returned by the devicename() function. locations ee 0x31?0x37 store the characters for devicename() in ascii code. device chemistry data device chemistry length ee 0x40 stores the length of the desired string that is returned by the de - vicechemistry() function. locations ee 0x41?0x44 store the characters for dev icechemistry() in ascii code. manufacturers data length manufacturers data length ee 0x50 stores the length of the desired number of bytes that is returned by the manufacturersdata() function. it should be set to 7. 40 bq2060 absolute maximum ratings symbol parameter minimum maximum unit notes v cc ?supply voltage relative to v ss -0.3 +6.0 v v in ?all other pins relative to v ss -0.3 +6.0 v t opr operating tem- perature -20 +70 c commercial note: permanent device damage may occur if absolute m aximum ratings are exceeded. functional opera- tion should be limited to the recommended dc operating conditions detailed in this data sheet. expo- sure to conditions beyond the operational limits for extended periods of time may affect device reliability. dc electrical characteristics symbol parameter conditions minimum typical maximum unit v cc supply voltage 2.7 3.3 3.7 v i cc operating current v out inactive 180 235 a i slp low-power storage mode current 1.5v < v cc < 3.7v 510 a i lvout v out leakage current v out inactive -0.2 0.2 a i vout v out source current v out active, v out =v cc - 0.6v -5.0 ma i ols sink current: led 1 ?led 5 , cfc, dfc, thon, cvon v ols = 0.4v 10 ma v il input voltage low disp -0.3 0.8 v v ih input voltage high disp 2.0 v cc + 0.3 v v ol output voltage low smbc, smbd, hdq16 i ol = 1.0ma 0.4 v v ils input voltage low smbc, smbd, hdq16 -0.3 0.8 v v ihs input voltage high smbc, smbd, hdq16 1.7 6.0 v v ai input voltage range vcell 1?4 ,ts v ss - 0.3 v cc + 0.3 v i rb rbi data-retention input current v rbi > 3.0v, v cc < 2.0v 10 50 na z ai1 input impedance: sr1, sr2 0?1.25v 10 m z ai2 input impedance: vcell 1?4 , src 0?1.25v 5 m note: z ai specifications are reference numbers based on process data. 41 vfc characteristics (v cc = 3.1?3.5v, t opr = 0?70 c unless otherwise noted)) symbol parameter conditions minimum typical maximum unit v sr input voltage range, v sr2 and v sr1 v sr =v sr2 ?v sr1 ?0.25 +0.25 v v sros v sr input offset v sr2 =v sr1 , autocorrection dis - abled ?300 ?50 300 v v srcos calibrated offset ?16 +16 v rm vco supply voltage gain coefficient v cc = 3.5v 0.8 1.2 %/v rm tco temperature gain coeffi - cient slope for t opr = ?20 to 70 c ?0.09 +0.09 %/c total deviation t opr = ?20 to 70 c ?1.6 0.1 % slope for t opr =?0to50 c ?0.05 +0.05 %/c total deviation t opr =?0to50 c ?0.6 0.1 % inl integral nonlinearity error t opr = 0?50c 0.21 % note: rm tco total deviation is from the gain at 25c. reg characteristics symbol parameter conditions minimum typical maximum unit v ro reg controlled output voltage jfet: r ds (on) < 150 v gs (off) < ?3.0v @10 a 3.1 3.3 3.5 v i reg reg output current 1.0 a 42 bq2060 smbus ac specifications (t a =t opr ,2.9v 44 28-pin ssop (ss) .004 a1 a h c l e b d e 28-pin ssop dimension millimeters inches minimum maximum minimum maximum a 1.55 1.73 0.061 0.068 a1 0.10 0.25 0.004 0.010 b 0.20 0.30 0.008 0.012 c 0.15 0.25 0.006 0.010 d 9.81 9.98 0.386 0.393 e 3.81 3.39 0.150 0.157 e 0.635 bsc 0.025 bsc h 5.84 6.20 0.230 0.244 l 0.41 1.27 0.016 0.050 ordering information bq2060 package option: ss = 28-pin ssop device: bq2060 sbs v1.1-compliant gas gauge ic tape and reel blank = tubes tr = tape and reel bq2060 bq2060e207 errata sept 29, 2000 (reference bq2060 data sheet dated september 2000) the bq2060 revision e207 (bq2060e207) is fully qualified and released to full production with the following known errata items relative to the final bq2060 data sheet dated september 2000. the errata items are fixed on the bq2060 revision e411. errata items: if compensated edvs are enabled, the bq2060e207 incorrectly computes a very low threshold for edv0. as a result the bq2060e207 does not issue a terminate_discharge_alarm at the 0% capacity level. with compensated edvs enabled, the bq2060e207 generates a terminate_discharge_alarm only when an individual li-ion cell is below the programmed cell under voltage limit. if compensated edvs are disabled, the bq2060e207 operates as specified. if master mode broadcasts are enabled, a simultaneous broadcast from the bq2060e207 and an smbus start condition from another device may lock smbus communication and prevent the bq2060e207 from acknowledging its address. there is a small possibility that the vdq (probability of 0.1%) and the edv2 (probability of 0.3%) bits in packstatus may read 0 and not reflect the true status of these bits. these two bits mirror internal bits and are presented in packstatus for reading purposes only. the bq2060e207 properly maintains the internal bits according to the vdq and edv2 functionality described in the specification. there is a small possibility (0.03%) that the bq2060e207 may miss write commands to the capacity_mode, charger_mode, or alarm_mode bits in batterymode(). the bq2060e207 requires a 12s minimum wait after smbus "on-state" detection before batterymode() bits 13-15 can be written. there is no minimum wait requirement on the bq2060 revision e411. the bq2060e207 does not use the edv c1 factor in the compensated edv calculation. the factor allows the user to program the bq2060 to calculate compensated edv values at points that provide some residual battery capacity at the edv0 (rm=0) level. with this factor programmed to 0, the bq2060 revision e411 computes compensated edvs the same as the bq2060e207. for the bq2060e207, the corresponding bits to program this factor must be programmed to zero. the bq2060e207 does not reset the vdq bit and disqualify a learning cycle if a mid-range voltage correction occurs during the discharge cycle. the orderable part number for the bq2060e207 must include the revision number. the orderable part numbers are BQ2060SS-e207-ep (tubes) and BQ2060SS-e207tr-ep (tape and reel). important notice texas instruments and its subsidiaries (ti) reserve the right to make changes to their products or to discontinue any product or service without notice, and advise customers to obtain the latest version of relevant information to verify, before placing orders, that information being relied on is current and complete. all products are sold subject to the terms and conditions of sale supplied at the time of order acknowledgment, including those pertaining to warranty, patent infringement, and limitation of liability. ti warrants performance of its semiconductor products to the specifications applicable at the time of sale in accordance with ti's standard warranty. testing and other quality control techniques are utilized to the extent ti deems necessary to support this warranty. specific testing of all parameters of each device is not necessarily performed, except those mandated by government requirements. customers are responsible for their applications using ti components. in order to minimize risks associated with the customer's applications, adequate design and operating safeguards must be provided by the customer to minimize inherent or procedural hazards. ti assumes no liability for applications assistance or customer product design. ti does not warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property right of ti covering or relating to any combination, machine, or process in which such semiconductor products or services might be or are used. ti's publication of information regarding any third party's products or services does not constitute ti's approval, warranty or endorsement thereof. copyright ? 2000, texas instruments incorporated |
Price & Availability of BQ2060SS
![]() |
|
|
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] |