SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 D Multifunction Monitoring IC Designed to D D D D D D D Multifunction Digital Output Port D High-Accuracy Internal Timebase Work With an Intelligent Host Controller – Provides State-of-Charge Information for Rechargeable Batteries – Enhances Charge Termination Ideal for Single-Cell Li-Ion or 3-Cell NiMH Applications High-Accuracy Coulometric Charge and Discharge Current Integration With Offset Calibration 32 Bytes of General-Purpose RAM 96 Bytes of Flash (Including 32 Bytes of Shadow Flash) 8 Bytes of ID ROM Internal Temperature Sensor Eliminates the Need for an External Thermistor Eliminates External Crystal Oscillator D Low Power Consumption D D – Operating: <80 µA – Sleep: <1.5 µA Single-Wire HDQ Serial Interface Packaging: 8-Lead TSSOP PW PACKAGE (TOP VIEW) REG VCC VSS HDQ 1 8 2 7 3 6 4 5 STAT SR DC OSC DC – Internal connection only. Do not connect description The bq2019 advanced battery-monitoring IC accurately measures the charge and discharge currents in a rechargeable battery pack. In pack integration, the bq2019 is the basis of a comprehensive battery-capacity management system in portable applications such as cellular phones, PDAs, or other portable products. The bq2019 works with the host controller in the portable system to implement the battery management system. The host controller interprets the bq2019 data and communicates meaningful battery data to the end-user or power-management system. The bq2019 provides 64 bytes of general-purpose flash memory, 8 bytes of ID ROM, and 32 bytes of flash-backed RAM for data storage. The nonvolatile memory can maintain formatted battery-monitor information, identification codes, warranty information, or other critical battery parameters when the battery is temporarily shorted or deeply discharged. AVAILABLE OPTIONS PACKAGED DEVICE TA MARKING 8-LEAD TSSOP (PW) –20°C to 70°C bq219 bq2019PW Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet. Copyright 2003, Texas Instruments Incorporated !" #!$ %"& %! #" #" '" " "( !" %% )*& %! # "+ %" " "$* $!%" "+ $$ #""& POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 1 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 functional block diagram HDQ VCC Bandgap Voltage Reference + _ REG Serial Interface Controller Temperature Sensor SR ID ROM 3 × 8 RAM Scratch RAM VFC OSC STAT 32 × 8 Shadow Flash OSC 32 × 8 RAM OSC 2 - 32 × 8 Pages of Flash Charge/Discharge, Counters-Timers, and Temperature Registers Terminal Functions TERMINAL NAME NO. I/O DESCRIPTION HDQ 4 I/O DC 6 I Internal connection only. Do not connect. OSC 5 O Time-base adjust for the oscillator REG 1 O Regulator output SR 7 I Current-sense input STAT 8 O Open-drain status output VCC VSS 2 I Supply voltage 2 3 Single-wire HDQ interface Ground POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 detailed description REG (Regulator output) REG is the output of the operational amplifier that drives an external pass N-channel JFET to provide an optional regulated supply. The supply is regulated at 4.75 V nominal. HDQ (Data input/output) HDQ is a single-wire serial communications interface port. This bidirectional input/output communicates the register information to the host. STAT (Status Output) STAT is a general-purpose output port; its state is controlled via the HDQ serial communications interface. SR (Current sense inputs) The bq2019 interprets charge and discharge activity by monitoring and integrating the voltage between SR and VSS. OSC (Time Base Adjust for the Oscillator) OSC is a programmable current source that adjusts the internal time base by an external resistor. absolute maximum ratings over operating free-air temperature range (unless otherwise noted)† Supply voltage (VCC with respect to GND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . –0.3 to 7 V Input voltage, SR (all with respect to GND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . –0.3 V to VCC+0.3 V Output current (STAT pin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 mA Output current (REG pin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 nA Output current (HDQ pin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 mA Operating free-air temperature range, TA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . –20°C to 70°C Storage temperature range, Tstg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . –65°C to 150°C Lead temperature (soldering, 10 s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300°C † Stresses beyond those listed under “absolute maximum ratings” may cause permanent damage to the device. These are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated under “recommended operating conditions” is not implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability. recommended operating conditions MIN Supply voltage, VCC TYP 2.8 MAX UNIT 5.5 V VCC = 5.5 V, flash programming not active VCC = 4.3 V, flash programming not active 88 100 µA 80 90 µA 1 Flash programming supply current, ICCPROG VCC = 4.3 V, flash programming not active VCC = 5.5 16 25 mA Flash erase supply current, ICCERASE VCC = 5.5 16 25 mA 70 °C S ppl ccurrent, Supply rrent ICCOP Sleep current, ISLEEP Operating ambient temperature, TOPR –20 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 µA 3 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 electrical characteristics over recommended operating temperature and supply voltage (unless otherwise noted) dc PARAMETER TEST CONDITIONS VOL IOL Digital output low HDQ pin VIL VIH Digital input low HDQ pin VIH Z(SR) MIN TYP IOL = 350 µA Digital output low sink current Digital input high HDQ pin MAX UNIT 0.4 V 350 µA 0.7 V 1.7 V Digital input high HDQ pin VCC < 4.2 V VCC > 4.2 V 1.9 R SR input impedance 0.2 V < VSR <VCC 10 MΩ ac PARAMETER TEST CONDITIONS Power on reset delay Delay time after VCC is at least 2.8 V before HDQ communication is attempted. MIN TYP MAX UNIT 500 ms timer characteristics over recommended operating temperature and supply voltage (unless otherwise noted) PARAMETER TEST CONDITIONS Oscillator current coefficient Variation of oscillator frequency due to change in ROSC Timer accuracy error ROSC = 100 kΩ MIN TYP MAX 10 –3% UNIT ppm/Ω 3% temperature register characteristics over recommended operating temperature and supply voltage (unless otherwise noted) PARAMETER TEST CONDITIONS MIN Reported temperature resolution Reported temperature accuracy TYP MAX °K 1 VCC = 3.6 V –3 Reported temperature drift UNIT 3 °K °K/V –2 REG pin characteristics over recommended operation temperature and supply voltage (unless otherwise noted) PARAMETER TEST CONDITIONS Regulator threshold Vgs(off) 4 MIN 4.5 N-channel JFET for regulation POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 1.5 TYP 4.75 MAX UNIT 5 V 4.2 V SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 VFC characteristics over recommended operating temperature and supply voltage (unless otherwise noted) PARAMETER TEST CONDITIONS Input voltage MIN TYP –100 Charge/discharge gain Temperature = 25°C, Supply voltage gain coefficient –100 V < VSR < 100 mV VCC = 3.6 V 89 Temperature gain coefficient Integrated nonlinearity –100 V < VSR < 100 mV UNIT 100 mV 92 Hz/V 0.5 %/V 0.005 %/°C 0.2% 0.5% –500 –40 500 At calibrated temperature and voltage –10 0 10 2.8 V ≤ VCC ≤ 4.2 V –25 Offset voltage Compensated offset 90.5 MAX 25 µV µV flash memory characteristics over recommended operating temperature and supply voltage (unless otherwise noted) PARAMETER TEST CONDITIONS MIN TYP Data retention Flash programming write-cycles MAX UNIT 5 Years 10000 Cycles 90 µs RAM-to-flash block programming time 1520 µs Block-erase time 1520 µs Byte programming time Standard serial communication (HDQ) timing specification over recommended operating temperature and supply voltage (unless otherwise noted) (see Figures 1 and 2) PARAMETER TEST CONDITIONS MIN TYP MAX UNIT 190 µs 40 µs t(B) t(BR) Break timing t(CYCH) t(HW1) Host bit window Host sends 1 32 50 µs t(HW0) t(RSPS) Host sends 0 100 145 µs bq2019 to host response 190 320 µs t(CYCD) t(start-detect) bq2019 bit window 190 250 µs t(DW1) t(DW0) bq2019 sends 1 32 50 µs bq2019 sends 0 80 145 µs Break recovery time 190 See Note 1 ns 5 ns NOTE 1: The HDQ engine of the bq2019 interests a 5-ns or longer glitch on HDQ as a bit start. A sufficient number of glitches 5 ns or longer could result in incorrect data being written to the device. The HDQ line should be properly deglitched to ensure that this does not occur. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 5 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 t(BR) t(B) t(HW1) t(HW0) t(CYCH) t(DW1) t(DW0) t(CYCD) Figure 1. HDQ Timing Diagram Break Command Byte (Written by Host to bq26200 Data Byte (Received by Host From bq26200 Register Address 0 (LSB) 1 6 7 (MSB) 0 (LSB) 1 t(RSPS) Figure 2. Typical Communication With the bq26200 6 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 6 7 (MSB) SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 APPLICATION INFORMATION Q1† BAT+ U1 C3Ĕ 0.01 µF STAT VCC SR R6 100 Ω 100 Ω STAT D2 5.6 V R7 C1 0.1 µF HDQ REG R2 R3 R4 100 Ω 100 Ω BAT– 100 kΩ VSS DC HDQ OSC D1 5.6 V C2 0.1 µF R1 0.02 Ω 1W PACK– R5 100 kΩ 1% † Q1 and C3 are omitted and Vcc is connected to BAT+ for single cell lithium ion applications functional description The bq2019 measures the voltage drop across a low-value series-current sense-resistor between the SR and VSS pins using a voltage to frequency converter. This information is placed into various internal counter and timer registers. Using information from the bq2019, the system host can determine the battery state-of-charge, estimate self-discharge, and calculate the average charge and discharge currents. During pack storage periods, the use of an internal temperature sensor doubles the self-discharge count rate every 10° above 25°C. Optionally, the VFC offset is calibrated and automatically compensated for in the charge counter registers. Access to the registers and control of the bq2019 is accomplished by a single-wire interface through a register-mapped command protocol that includes placing the device in the low-power mode, resetting the hardware register, programming flash from RAM, and transferring flash data to RAM. The bq2019 can operate directly from three or four nickel-chemistry cells or a single Li-Ion cell as long as VCC is between 2.8 V and 5.5 V. To reduce cost in multicell applications, power to the bq2019 may be regulated using a low-cost external FET with the REG pin. REG output The bq2019 can operate directly from three or four nickel-chemistry cells or from a single Li-Ion cell as long as VCC is between 2.8 V and 5.5 V. To facilitate the power supply requirements of the bq2019, the REG output is used with an external low-threshold n-JFET when regulation from a higher source potential is required. The REG output remains active in sleep mode. For applications that do not need the REG output, operating current is reduced by turning off the operational amplifier with the DISREG bit in the MODE/WOE register. For more details, refer to the MODE/WOE Register section. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 7 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 APPLICATION INFORMATION REG output (continued) charge and discharge count operation Table 1 shows the main counters and registers of the bq2019. The bq2019 accumulates charge and discharge counts into two count registers: the charge count register (CCR) and the discharge count register (DCR). Charge and discharge counts are generated by sensing the voltage difference between SR and VSS. The CCR or DCR independently counts, depending on the signal between pins SR and VSS (VSR). During discharge, the DCR and the discharge time counter (DTC) are active. If VSR is less than 0, indicating a discharge activity, the DCR counts at a rate equivalent to one count per 3.05 µVH, and the DTC counts at a rate of 1.138 counts per second (4096 counts = 1 hour). For example, if no rollover of the DTC register is incipient, a negative 24.42 mV signal between pins SR and VSS produces 8000 DCR counts and 4096 DTC counts each hour. The amount of charge removed from the battery is easily calculated. During charge, the CCR and the charge time counter (CTC) are active. If VSR is greater than 0, indicating a charge, the CCR counts at a rate equivalent to one count per 3.05 µVH, and the CTC counts at a rate of 1.138 counts per seconds. In this case a +24.42 mV signal produces 8000 CCR counts and 4096 CTC counts (assuming no rollover) each hour. The DTC and the CTC are 16-bit registers, with rollover beyond ffffh. If a rollover occurs, the corresponding bit in the MODE/WOE register is set, and the counter increments at 1/256 of the normal rate (16 counts per hour). While in normal operation, the internal RAM and flash registers of the bq2019 may be accessed over the HDQ pin, as described in the section Communicating With the 2019. For self-discharge calculation, the self-discharge count register (SCR) counts at a rate of 1 count every hour at a nominal 25°C. The SCR count rate doubles approximately every 10°C up to 60°C. The SCR count rate is halved every 10°C below 25°C down to 0°C. The value in SCR is useful in estimating the battery self-discharge on the basis of capacity and storage temperature conditions. The offset register contained in the CAL/OFFCTH, OFFCTM and OFFCTL locations stores the bq2019 offset. At a period representing the amount of positive or negative offset, the bq2019 automatically adds an equivalent count to either the CCR or DCR registers. The maximum uncalibrated offset for the bq2019 is ±500 µV. Care should be taken to ensure proper PCB layout. Using OFR, the system host can cancel most of the effects of bq2019 offset for greater resolution and accuracy. Table 1 shows the bq2019 register address map. The remaining memory can store user-specific information such as chemistry, serial number, and manufacturing date. Table 1. bq2019 Counters NAME 8 DESCRIPTION RANGE RAM SIZE DCR Discharge count register Charge count register VSR < VSS (Max. = –100 mV) 3.05 µV/LSB VSR >VSR (Max. = +100 mV) 3.05 µV/LSB 16-bit CCR SCR Self-discharge count register 1 count/hour at 25°C 16-bit DTC Discharge time counter 1 count/0.8789s (default) 1 count/225s if STD is set 16-bit CTC Charge time counter 1 count/0.8789s (default) 1 count/225s if STC is set 16-bit POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 16-bit SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 APPLICATION INFORMATION REG output (continued) low-power operation The bq2019 begins low-power operation in response to the host issuing the sleep command. Before entering the low-power state, the host processor should write the command to transfer the registers to flash. After the sleep command is sent and the charge/discharge activity is less than the value indicated by the WOE bits shown in Table 3, the chip clock is powered down and data-acquisition functions cease except for self-discharge updates. Setting the WOE bits to 0 causes the device to enter sleep mode, regardless of the level of charge/discharge activity. During device sleep the bq2019 periodically wakes briefly to update the temperature registers and self-discharge rate. The bq2019 wakes on either a low-to-high or high-to-low transition on the HDQ pin. Table 2. Operational States MODE ACTIVE REGISTERS Normal CCR, DCR, CTC, DTC, SCR Sleep SCR Table 3. WOE Thresholds WOE3–1 (HEX) 0h VWOE (mV) NA 1h 3.516 2h 1.758 3h 1.172 4h 0.879 5h 0.703 6h 0.586 7h 0.502 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 9 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 APPLICATION INFORMATION REG output (continued) current sense offset calibration The host enables bq2019 current sense offset calibration by one of two methods. The first method is resetting the CALREQ bit in the CAL/OFFCTH register to 1. The second method is by issuing the calibrate and power-down command to the FCMD register. In both cases, when |VSR|<VWOE, the bq2019 enters calibration mode. When calibration is complete, the CALOK bit is set to 0 by the bq2019. The bq2019 performs offset calibration by measuring the time between two like-polarity VFC pulses and placing this value in the OFFCTH, OFFCTM, and OFFCTL registers. The LSB of the OFFCTH, OFFCTM, and OFFCTL registers is 9.76 ms. If polarity of the second pulse received is opposite that of the first pulse received, then calibration resets and begins again automatically. If during calibrating no pulses occur within 21.3 minutes, or if 21.3 minutes elapse after the first pulse, then the bq2019 times out and assumes the offset is 4.29 µV. Any external signal present between SR and VSS affects the calibration as calculated by the bq2019. The TVOS bit is optionally available to isolate any unwanted residual current (such as bq2019 operational current through the sense resistor) from the offset current measurements. This is done by internally shorting the SR pin during calibration. When the TVOS bit is set to 1, the bq2019 shorts the SR pin to VSS in response to the value written to the bit. compensation After offset calibration, two methods to compensate for current-sense offset are available. The first method is to have the bq2019 automatically compensate for current offset. After a successful calibration (i.e., CALOK is 0), the bq2019 automatically compensates for offset when COMPEN bit is set to 1. The bq2019 then periodically increments either the charge or discharge counter register, depending on the state of the CHGOFF bit. This period is calculated by multiplying the OFFCTH, OFFCTM, and OFFCTL registers by 9.76 ms. The second method is for the host to periodically read the OFFCTH, OFFCTM, and OFFCTL registers and adjust battery capacity. gas gauge control registers The host maintains the charge and discharge and the self-discharge count registers (CCR, CTC, DCR, DTC, and SCR). To facilitate this maintenance, the bq2019 CLR register resets the specific counter or register pair to zero. The host system clears a register by writing the corresponding register bit to 1. When the bq2019 completes the reset, the corresponding bit in the CLR register is automatically reset to 0. Clearing the DTC or CTC registers clears the MODE/WOE register bits STC/STD and sets the CTC/DTC count rates to the default value of 1.138 counts per second. device temperature measurement The bq2019 reports die temperature in units of °K in 9 bits through registers TMPL and TMPH[0]. Refer to the TMP register description for more details. register interface Information is exchanged between host system and the bq2019 through the data-register interface (see Table 4). The register set consists of a 122-location address space of 8-bit bytes segmented into D D D D 10 8 bytes of factory-programmed ID ROM 32 bytes of flash-shadowed RAM 64 bytes of general-purpose flash 18 special function registers POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 APPLICATION INFORMATION register interface (continued) Table 4. bq2019 Registers HDQ ADDRESS NAME BIT7 BIT6 BIT5 COMPEN CALREQ CALOK BIT4 BIT3 0x78–0x7F IDROM 0x77 CAL/OFFCTH 0x76 OFFCTM Flash-shadowed offset register bits 15–8 0x75 OFFCTL Flash-shadowed offset register bits 7–0 0x74 — Reserved 0x73 — Reserved 0x72 — Reserved BIT2 BIT1 BIT0 8 bytes of factory-programmed ROM CHGOFF 0x71 Flash-shadowed VFC offset bits 19–16 Reserved 0x70 FPA Program address byte 0x6F FPD Flash program data byte 0x6E DCRH Discharge count register high byte 0x6D DCRL Discharge count register low byte 0x6C CCRH Charge count register high byte 0x6B CCRL Charge count register low byte 0x6A SCRH Self-discharge count register high byte 0x69 SCRL Self-discharge count register low byte 0x68 DTCH Discharge timer counter register high byte 0x67 DTCL Discharge timer count register low byte 0x66 CTCH Charge timer counter register high byte 0x65 CTCL 0x64 MODE/WOE TVOS DISREG STC STD WOE2 WOE1 WOE0 BIT0 0x63 CLR RSVD POR STAT CTC DTC SCR CCR DCR 0x62 FCMD 0x61 TMPH 0x60 TMPL TEMP[7:0] 0x40–0x5F Flash PAGE2, 32 bytes of flash Charge timer counter register low byte Flash/control command register Reserved TEMP[8] 0x20–0x3F Flash PAGE1, 32 bytes of flash 0x00–0x1F RAM/flash PAGE0, 32 bytes of flash-shadowed RAM memory ID ROM The bq2019 has 8 bytes of ID ROM. This data field can be factory programmed to the customer request, insuring a unique and secure product serialization. Contact your Texas Instruments representative for details. flash-shadowed RAM The host system has direct access to read and modify 32 bytes of RAM. These 32 bytes are shadowed by 32 bytes of flash to provide nonvolatile storage of battery conditions. The information stored in RAM is transferred to flash, and the information stored in flash is transferred to RAM by writing a single command into the flash command register (FCMD). When a power-on-reset occurs, PAGE0 of flash and three flash-shadowed offset bytes are transferred to RAM. (The host is responsible for storing offset value in flash.) For more details, refer to the flash command register section. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 11 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 APPLICATION INFORMATION memory (continued) flash memory In addition to the flash-shadowed RAM, the bq2019 has 64 bytes of flash. The flash can store specific battery pack parameters, such as charge per VFC pulse, battery chemistry, and self-discharge rates. flash programming The two banks of direct flash are programmed one byte at a time, but the single bank of flash-shadowed RAM can be programmed one page at a time or by writing the RAM-to-flash transfer code into the flash command register (FCMD). This programming is performed by writing the desired code into the flash command register, FCMD (address 0x62), the host may transfer data between flash and RAM, page erase the flash, place the device into the low power mode, or perform VFC offset measurement. For more details, refer to the flash command register section. Summaries of the flash command codes are shown in Table 5. Table 5. Flash Command Code Summary COMMAND CODE (HEX) DESCRIPTION 0x0F Program byte 0x40 Erase page 0 flash 0x41 Erase page 1 flash 0x42 Erase page 2 flash 0x43 Erase offset control shadow flash 0x45 Transfer page 0 RAM to page 0 flash 0x48 Transfer page 0 flash to page 0 RAM 0xF6 Power down 0xF7 Calibrate VFC and power down single-byte programming To program an individual byte in flash, the byte of data is first written into the FPD register while the address to be programmed is written into the FPA register. The program byte command, 0x0F is then written to the FCMD. The result of this sequence is that the contents of the FPD register are logically ANDed with the contents of the flash address pointed to by the FPA register. RAM-to-flash transfer The content of the flash that shadows the user RAM is logically ANDed to the RAM contents when the RAM-to-flash transfer command is sent. If new data are to be written over old data, then it is necessary to first erase the flash page that is being updated and restore all necessary data. 12 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 APPLICATION INFORMATION communicating with the bq2019 The bq2019 includes a single-wire HDQ serial data interface. Host processors, configured for either polled or interrupt processing, use the interface to access various bq2019 registers. The HDQ pin requires an external pullup or pulldown resistor. The interface uses a command-based protocol, where the host processor sends a command byte to the bq2019. The command directs the bq2019 either to store the next eight bits of data received to a register specified by the command byte or to output the eight bits of data from a register specified by the command byte. The communication protocol asynchronous return-to-one is referenced to VSS. Command and data bytes consist of a stream of eight bits with a maximum transmission rate of 5 Kbits/s. The least-significant bit of a command or data byte is transmitted first. Data input from the bq2019 may be sampled using the pulse-width capture timers available on some microcontrollers. A UART can also communicate with the bq2019. If a communication time-out occurs (for example, if the host waits longer than tCYCB for the bq2019 to respond or if this is the first access command), then a BREAK should be sent by the host. The host may then resend the command. The bq2019 detects a BREAK when the HDQ pin is driven to a logic-low state for a time tB or greater. The HDQ pin then returns to its normal ready-high logic state for a time tBR The bq2019 is then ready for a command from the host processor. The return-to-one data-bit frame consists of three distinct sections. The first section starts the transmission by either the host or the bq2019 taking the HDQ pin to a logic-low state for a period tSTRH,B.. The next section is the actual data transmission, where the data should be valid by a period tDSU,B, after the negative edge that starts communication. The data should be held for a period t∆V /t∆H to allow the host or bq2019 to sample the data bit. The final section stops the transmission by returning the HDQ pin to a logic-high state by at least a period tSSU,B after the negative edge used to start communication. The final logic-high state should be held until a period, tCYCH,B, to allow time to ensure that the bit transmission ceased properly. The serial communication timing specification and illustration sections give the timings for data and break communication. Communication with the bq2019 always occurs with the least-significant bit being transmitted first. Figure 3 shows an example of a communication sequence to read the bq2019 OFR register. Written By Host to bq2019 Received By Host From bq2019 CMDR = 73h Break LSB 0 1 Data (OFR) = 65h 1 2 3 4 5 6 MSB 7 1 0 0 1 1 1 0 MSB LSB 73h = 0 1 1 1 0 0 1 1 t(RSPS) LSB 0 1 2 3 4 5 6 MSB 7 1 0 1 0 0 1 1 0 MSB LSB 65h = 0 1 1 0 0 1 0 1 Figure 3. Communication Sequence POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 13 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 APPLICATION INFORMATION communicating with the bq2019 (continued) command byte The command byte of the bq2019 consists of eight contiguous valid command bits. The command byte contains two fields: W/R command and address. The W/R bit of the command register determines whether the command is a read or a write command, and the address field containing bit AD6-AD0 indicates the address to be read or written. The command byte values are shown in the following table: COMMAND BYTE 14 7 6 5 4 3 2 1 0 W/R AD6 AD5 AD4 AD3 AD2 AD1 AD0 W/R Indicates whether the command byte is a read or write command. A 1 indicates a write command and that the following eight bits should be written to the register specified by the address field of the command byte, while a 0 indicates that the command is a read. On a read command, the bq2019 outputs the requested register contents specified by the address field portion of the command byte. AD6–AD0 The seven bits labeled AD6–AD0 containing the address portion of the register to be accessed. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 APPLICATION INFORMATION bq2019 registers register maintenance The host system is responsible for register maintenance. To facilitate this maintenance, the bq2019 clear register (TMP/CLR) resets the specific counter or register pair to zero. The host system clears a register by writing the corresponding register bit to 1. When the bq2019 completes the reset, the corresponding bit in the TMP/CLR register automatically resets to 0, saving the host an extra write/read cycle. Clearing the DTC register clears the STD bit and sets the DTC count rate to the default value of 1 count per 0.8789 s. Clearing the CTC register clears the STC bit and sets the CTC count rate to the default value of 1 count per 0.8789 s. register map HDQ ADDRESS NAME 0x78–0x7F IDROM 0x77 CAL/ 0x76 OFFCTM Flash-shadowed offset register bits 15–8 0x75 OFFCTL Flash-shadowed offset register bits 7–0 0x74 — Reserved 0x73 — Reserved 0x72 — Reserved FPA Program address byte BIT7 BIT6 BIT5 BIT4 BIT2 BIT1 BIT0 8 bytes of factory-programmed ROM COMPEN CALREQ CALOK 0x71 0x70 BIT3 CHG OFF Flash-shadowed VFC offset bits 19–16 Reserved 0x6F FPD Flash program data byte 0x6E DCRH Discharge count register high byte 0x6D DCRL Discharge count register low byte 0x6C CCRH Charge count register high byte 0x6B CCRL Charge count register low byte 0x6A SCRH Self-discharge count register high byte 0x69 SCRL Self-discharge count register low byte 0x68 DTCH Discharge timer counter register high byte 0x67 DTCL Discharge timer count register low byte 0x66 CTCH Charge timer counter register high byte 0x65 CTCL 0x64 MODE/WOE TVOS DISREG STC Charge timer counter register low byte STD WOE2 WOE1 WOE0 BIT0 0x63 CLR RSVD POR STAT CTC DTC SCR CCR DCR 0x62 FCMD 0x61 TMPH 0x60 TMPL TEMP[7:0] 0x40–0x5F Flash PAGE2, 32 bytes of flash 0x20–0x3F Flash PAGE1, 32 bytes of flash 0x00–0x1F RAM/ PAGE0, 32 bytes of flash-shadowed RAM Flash/control command register Reserved POST OFFICE BOX 655303 TEMP[8] • DALLAS, TEXAS 75265 15 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 APPLICATION INFORMATION register descriptions IDROM register The factory programmed 64 bits of ID ROM are located in the eight-byte locations addressed 0x78–0x7f. These bits can be programmed to a customer’s specification. Contact your Texas Instruments representative for details. calibration and offset registers (CAL/OFFCTH, OFFCTM, OFFCTL) The CAL/OFFCTH register (address 0x77) enables offset compensation, initiates offset calibration, and indicates that calibration was successful. The register also contains partial-offset correction information. The OFFCTM, and OFFCTL registers (addresses 0x76 and 0x75) contain the balance of the offset correction information used during current offset compensation. CAL/OFFCTH 7 6 5 4 COMPEN CALREQ CALOK CHGOFF 7 6 5 3 2 1 0 Flash-shadowed offset bits 19–16 OFFCTM 4 3 2 1 0 2 1 0 Flash-shadowed offset bits 15–8 OFFCTL 7 6 5 4 3 Flash-shadowed offset bits 7–0 COMPEN The COMPEN bit enables offset compensation. Offset compensation automatically occurs when COMPEN is set to 1 and a successful calibration has occurred (CALOK = 0). When cleared, compensation is disabled. COMPEN is cleared on power-on-reset. CALREQ CALREQ bit requests current offset calibration. When this bit is set to 1, the bq2019 waits for the condition |VSR|< VWOE. When this condition is satisfied, the bq2019 starts calibration. After calibration is complete, the bq2019 sets the CALOK bit to 0. The CALREQ bit is cleared on power-on-reset and after a successful calibration. CALOK CALOK bit (read-only) indicates that successful offset calibration has been performed. The CALOK bit is cleared by the bq2019 when the host sets the CALREQ bit. After calibration is complete, the bq2019 sets the CALOK to 0. CHGOFF CHGOFF bit indicates the polarity of the offset. If the CHGOFF bit is set, the measured offset is positive. The DCR register is incremented if the COMPEN bit is set. If the CHGOFF bit is cleared, the measured offset is negative and the CCR is incremented If the COMPEN bit is set. OFFCT[19..0] The 20 OFFCT bits indicate the time between instances of incrementing a count into either the CCR or the DCR registers, depending on the state of the CHGOFF. The LSB of this register is 9.76 ms. 16 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 APPLICATION INFORMATION register descriptions (continued) flash program address register (FPA) The FPA byte register (address = 0x70) points to the flash address location that is programmed when the program flash command is issued. This byte is used with the FPD and FCMD register to program an individual byte in flash memory. flash program data register (FPD) The FPD byte register (address = 0x6F) contains the data to be programmed into the flash address location pointed to by the contents of the FPA register. When the program flash command is issued, the contents of the FPD register are ANDed with the contents of the byte pointed to by the FPA and then stored into that location. discharge count registers (DCRH/DCRL) The DCRH high-byte register (address = 0x6E) and the DCRL low-byte register (address = 0x6D) contain the count of the discharge and are incremented whenever VSR < VSS. These registers continue to count beyond ffffh, so proper register maintenance by the host system is necessary. The CLR register forces the reset of both the DCRH and DCRL to zero. charge count registers (CCRH/CCRL) The CCRH high-byte register (address = 0x6C) and the CCRL low-byte register (address = 0x6B) contain the count of the charge, and are incremented whenever VSR >VSS. These registers continue to count beyond ffffh, so proper register maintenance should be done by the host system. The CLR register forces the reset of both the CCRH and CCRL to zero. self-discharge count registers (SCRH/SCRL) The SCRH high-byte register (address = 0x6A) and the SCRL low-byte register (address = 0x69) contain the self-discharge count. This register is continually updated in both the normal operating and sleep modes of the bq2019. The counts in these registers are incremented on the basis of time and temperature. The SCR counts at a rate of 1 count per hour at 20–30°C. The count rate doubles every 10°C up to a maximum of 16 counts/hour at temperatures above 60°C. The count rate halves every 10°C below 20–30°C to a minimum of 1 count/8 hours at temperature below 0°C. These registers continue to count beyond ffffh, so proper register maintenance is required by the host system. The CLR register forces the reset of both the SCRH and SCRL to zero. During device sleep the bq2019 periodically wakes briefly to maintain the self-discharge registers. discharge time count registers (DTCH/DTCL) The DTCH high-byte register (address = 0x68) and the DTCL low-byte register (address = 0x67) determine the length of time the VSR < VSS indicating a discharge. The counts in these registers are incremented at a rate of 4096 counts per hour. If the DTCH/DTCL register continues to count beyond ffffh, the STD bit is set in the MODE/WOE register, indicating a rollover. Once set, DTCH and DTCL increment at a rate of 16 counts per hour. NOTE: If a second rollover occurs, STD is cleared. Access to the bq2019 should be timed to clear DTCH/DTCL more often than every 170 days. The CLR register forces the reset of both the DTCH and DTCL to zero. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 17 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 APPLICATION INFORMATION register descriptions (continued) charge-time count registers (CTCH/CTCL) The CTCH high-byte register (address = 0x66) and the CTCL low-byte register (address = 0x65) determine the length of time the VSR >VSS, indicating a charge activity. The counts in these registers are incremented at a rate of 4096 counts per hour. If the CTCH/CTCL registers continue to count beyond ffffh, the STC bit is set in the MODE/WOE register indicating a rollover. Once set, DTCH and DTCL increment at a rate of 16 counts per hour. NOTE: If a second rollover occurs, STC is cleared. Access to the bq2019 should be timed to clear CTCH/CTCL more often than every 170 days. The CLR register forces the reset of both the CTCH and CTCL to zero. mode, wake-up enable register (MODE/WOE) As described below, the Mode/WOE register (address = 0x64) contains the offset isolation bit, regulator disable, the STC and STD bits, and wake-up enable information. MODE/WOE BITS 7 6 5 4 3 2 1 0 TVOS DISREG STC STD WOE2 WOE1 WOE0 BIT0 TVOS The TVOS bit internally shorts the SR pin to VSS. This bit is available to optionally isolate any unwanted residual current (such as bq2019 operational current through the sense resistor) from the offset current measurements. When the TVOS bit is set to 1, the bq2019 shorts the SR pin to VSS. When TVOS is 0, the SR pin is not shorted. NOTE: TVOS should be set to 0 for normal charge counting operation. 18 DISREG DISREG is the disable regulator bit, which turns off the internal operational amplifier used in the regulator circuit. In applications where the regulator is not used, the DISREG bit can be set to reduce the bq2019 supply current requirements. A 1 turns off the amplifier, whereas a 0 turns the amplifier on. STC & STD The slow time charge (STC) and slow time discharge (STD) flags indicate whether the CTC or DTC registers have rolled over beyond ffffh. STC set to 1 indicates a CTC rollover; STD set to 1 indicates a DTC rollover. WOE[2..0] The wake-up output enable (WOE) bits (bits 3–1) indicate the voltage level required on the SR pin so that the bq2019 enters sleep mode after a power-down command is issued. Whenever |VSR|<VWOE, the bq2019 enters sleep mode after either the power-down or the calibrate and power-down commands have been issued. On bq2019 power-on reset, these bits are set to 1. Setting all of these bits to zero causes the device to enter sleep mode, regardless of the SR pin voltage. Refer to Table 3 for the various WOE values. BIT0 BIT0 is a reserved bit and must always be set to 0. This bit is cleared on power-on-reset. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 APPLICATION INFORMATION register descriptions (continued) clear register (CLR) The bits in the CLR register (address 0x63) clear the DCR, CCR, SCR, DTC, and CTC registers and reset the bq2019 by forcing a power-on-reset and setting the state of the STAT pin as described below: CLR BITS 7 6 5 4 3 2 1 0 RSVD POR STAT CTC DTC SCR CCR DCR RSVD RSVD bit is reserved for future use and should not be modified by the host. POR POR bit indicates a power-on-reset has occurred. This bit is set when VCC has gone below the POR level. This bit can be also set and cleared by the host, but no functions are affected. STAT STAT bit (bit 5) sets the state of the open drain output of the STAT pin. A 1 turns off the open drain output, while a 0 turn the output on. This bit is set to 1 on power-on-reset. CTC CTC bit (bit 4) clears the CTCH and CTCL registers and the STC bit. A 1 clears the corresponding registers and bit. After the registers are cleared, the CTC bit is cleared. This bit is cleared on power-on-reset. DTC DTC bit (bit 3) clears the DTCH and DTCL registers and the STD bit. A 1 clears the corresponding registers and bit. After the registers are cleared, the DTC bit is cleared. This bit is cleared on power-on-reset. SCR SCR bit (bit 2) clears both the SCRH and SCRL registers. Writing a 1 to this bit clears the SCRH and SCRL register. After these registers are cleared, the SCR bit is cleared. This bit is cleared on power-on-reset. CCR CCR bit (bit 1) clears both the CCRH and CCRL registers Writing a 1 to this bit clears the CCRH and CCRL registers. After these registers are cleared, the CCR bit is cleared. This bit is cleared on power-on-reset. DCR DCR bit (bit 0) clears both the DCRH and DCRL registers to 0. Writing a 1 to this bit clears the DCRH and DCRL register. Then the DCR bit is cleared. This bit is cleared on power-on-reset. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 19 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 APPLICATION INFORMATION register descriptions (continued) flash command register (FCMD) The FCMD register (address 0x62) is the flash command register that programs a single flash byte-location, performs flash page erase, transfers RAM to flash and flash to RAM, enters sleep mode, and calibrates the VFC and power-down. These functions are performed by writing the desired command code to the FCMD register. After the bq2019 has finished executing the issued command, the flash command register is cleared. 0x0F Program byte command code. This code ANDs the contents of the FPD register with the contents of flash byte location pointed to by the contents of the FPA register. 0x40 Erase page 0 command code. This code erases all the bytes of flash from address 0x00 to 0x1F. 0x41 Erase page 1 command code. This code erases all the bytes of flash from address 0x20 to 0x3F. 0x42 Erase page 2 command code. This code erases all the bytes of flash from address 0x40 to 0x5F. 0x43 Erase offset control register shadow flash. This code erases the 3 bytes of flash that shadow the Offset Control Register located at HDQ address 0x75–0x77. 0x45 RAM-to-flash transfer code. This code programs the contents of the RAM into Page 0 flash, addresses 0x00 though 0x1F. 0x48 flash to RAM transfer code. This code copies the contents of the Page 0 flash into RAM. 0xF6 Power-Down code. This code places the bq2019 into the sleep mode when the conditions are met as indicated by the WOE bits in the MODE/WOE register. The part remains in sleep mode until a high-to-low or low-to-high transition occurs on the HDQ pin. 0xF7 Calibrate VFC and power-down code. This command code will initiate a calibration once VSR drops below Vwoe. If the HDQ line toggles low to high to high to low before calibration completes, the device will NOT enter the low power mode. Sending this code must be the last HDQ communication if the device is to go into SLEEP mode. temperature registers (TMPH, TMPL) The TMPH (address 0x61) and the TMPL registers (address 0x60) reports die temperature in hex format in units of °K, with an accuracy of typically ±3°K. The temperature is reported as 9 bits of data, using all 8 bits of the TMPL register and LSB of the TMPH register. The temperature should be read as the concatenation of TMPH[0] and TMPL[7:0]. The 7 MSBs of TMPH, TMPH[7:1], are cleared on POR. The bits are reserved and should be written to 0 if the host attempts to write to the TMPH register. The 7 bits should also be masked off when reading the temperature to ensure that incorrect data is not used when calculating the temperature. 20 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 ERRATA Issue : This errata ONLY applies if page 1 (address 0x20– 0x3F) or page 2 (address 0x40– 0x5F) of the embedded flash memory is read through the HDQ interface. If your specific application or method of use does not involve reading from any location on page 1 or page 2 of flash memory, please disregard this erratum. Description: This errata ONLY applies if page 1 (address 0x20– 0x3F) or page 2 (address 0x40– 0x5F) of flash memory is read through the HDQ interface. Under rare conditions, the read operation may return 0xFF data for locations on page 1 or page 2. However, this is only an issue with the READ operation. There is no impact on the content or the integrity of the data stored in page 1 or page 2 of the flash memory. This document also describes two simple methods of safeguarding against this condition. Both methods are implemented on the host system software. No hardware modifications are required. Safeguarding Method Number One: This method ONLY applies if the user does not ever write to any location on page 0 (0x00–0x1F). This method uses a flash to RAM transfer sequence in order to clear any potential read issues. Accessing page 1 or page 2 Did you read data 0xFF from a location on page 1 or page 2? No Proceed. No action required. Yes Write data 0x48 to address 0x62 (FCMD=0x48) Read desired address in page 1 or page 2. Data is valid. Figure 1. Procedure Flow for Safeguarding Method Number One Safeguarding Method Number One: For all applications that write to page 0, please proceed to Safeguarding Method Number Two. POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 21 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 Accessing page 1 or page 2 Did you read data 0xFF from a location on page 1 or page 2? No Proceed. No action required. No 0xFF data from first read is valid. Yes Is there an address in the same page with known data other than 0xFF? Yes No Did you read data 0xFF from this address? Yes Write data 0xDF to address 0x70 (FPA=0xDF) Read verify address 0x70 Write data 0xFF to address 0x6F (FPD=0xFF) Read verify address 0x6F Write data 0x0F to address 0x62 (FCMD=0x0F) Read desired address in page 1 or page 2. Data is valid. Figure 2. Procedure Flow for Safeguarding Method Number Two 22 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 SLUS465E – DECEMBER 1999 – REVISED FEBRUARY 2003 MECHANICAL DATA PW (R-PDSO-G**) PLASTIC SMALL-OUTLINE PACKAGE 14 PINS SHOWN 0,30 0,19 0,65 14 0,10 M 8 0,15 NOM 4,50 4,30 6,60 6,20 Gage Plane 0,25 1 7 0°–ā8° A 0,75 0,50 Seating Plane 0,15 0,05 1,20 MAX PINS ** 0,10 8 14 16 20 24 28 A MAX 3,10 5,10 5,10 6,60 7,90 9,80 A MIN 2,90 4,90 4,90 6,40 7,70 9,60 DIM 4040064/F 01/97 NOTES: A. B. C. D. All linear dimensions are in millimeters. This drawing is subject to change without notice. Body dimensions do not include mold flash or protrusion not to exceed 0,15. Falls within JEDEC MO-153 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265 23 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All products are sold subject to TI’s terms and conditions of sale supplied at the time of order acknowledgment. TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by government requirements, testing of all parameters of each product is not necessarily performed. TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and applications using TI components. To minimize the risks associated with customer products and applications, customers should provide adequate design and operating safeguards. TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information published by TI regarding third–party products or services does not constitute a license from TI to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of the third party, or a license from TI under the patents or other intellectual property of TI. Reproduction of information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for such altered documentation. Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements. Mailing Address: Texas Instruments Post Office Box 655303 Dallas, Texas 75265 Copyright 2003, Texas Instruments Incorporated