Abstract:
A battery charger with charging parameter values derived from communication with a battery pack to be charged. Communication is over a one-wire bus with battery pack transmissions in response to charger inquiries. The battery charger may be in the form an integrated circuit driving a power transistor or other controllable DC supply. A battery pack may contain a program with multiple charging currents and charging interval termination methods such as time, temperature rise, and incremental voltage polarity. A lack of communication may be invoke a default charging program or denial of access to the charger. The charger also communicates over a high-speed three-wire bus with an external computer for analysis of identification information acquired from the battery and for control of the charger.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of application Ser. No. 09/973,155, filed Oct. 9, 2001 which is a continuation of application Ser. No. 09/454,275, filed on Dec. 3, 1999 now abandoned which is a continuation of application Ser. No. 09/178,675, filed on Oct. 26, 1998, now U.S. Pat. No. 6,018,228 which is a continuation of application Ser. No. 08/901,068, filed on Jul. 28, 1997, now U.S. Pat. No. 5,867,006 which is a continuation of application Ser. No. 08/764,285, filed Dec. 12, 1996, now U.S. Pat. No. 5,694,024 which is a continuation of application Ser. No. 07/957,571, filed on Oct. 7, 1992, now U.S. Pat. No. 5,592,069. 
     U.S. patent application Ser. No. 07/953,906, filed Sep. 30, 1992, discloses related subject matter and is hereby incorporated by reference. This cross-referenced application is assigned to the assignee of the present application. 
    
    
     PARTIAL WAIVER OF COPYRIGHT PURSUANT TO 1077 O.G. 22 (MAR. 20, 1987) 
     All of the material in this patent application is subject to copyright protection under the copyright laws of the United States and of other countries. As of the first effective filing date of the present application, this material is protected as unpublished material. 
     Portions of the material in the specification and drawings of this patent application are also subject to protection under the maskwork registration laws of the United States and of other countries. 
     However, permission to copy this material is hereby granted to the extent that the owner of the copyright and maskwork rights has no objection to the facsimile reproduction by anyone of the patent document or patent disclosure, as it appears in the United States Patent and Trademark Office patent file or records, but otherwise reserves all copyright and maskwork rights whatsoever. 
     BACKGROUND AND SUMMARY OF THE INVENTIONS 
     The present invention relates to electronic devices, and, more particularly, to devices useful for battery charging. 
     Battery Chargers 
     The widespread use of battery-powered portable computers (e.g., notebooks, laptops and palmtops) with high performance relies on efficient battery utilization. In particular, portable computers typically use rechargeable batteries (e.g., lithium, nickel-cadmium, or nickel metal hydride) which weight just a few pounds and deliver 4 to 12 volts. Such batteries provide roughly three hours of computing time, but require about three times as long to be recharged. Such slow recharging is a problem and typically demands that users have several batteries with some recharging while others are being used. 
     Known battery chargers apply a constant voltage across a discharged battery with the applied voltage determined by the maximum voltage acceptable by the battery.  FIG. 1   a  heuristically illustrates such a battery charger with V MAX  the maximum voltage acceptable by the battery and I MAX  the maximum current; the resistor R and V MAX  are the adjustable values.  FIG. 1   b  is the load line for the battery charger of  FIG. 1   a  and shows the charaging current I as a function of the battery voltage V. As the load line shows, the charging current begins at I MAX  with a totally discharged battery as indicated by point A. The battery rapidly charges and its voltage increases and the charging current decreases with the operating point moving down the load line as shown by arrow B. Then as the battery voltage rises to near V MAX , the charging current falls to zero as indicated by point C. And the small charging current implies a large charging time. Indeed, most of the charging time will be during operation approaching point C. 
     Furthermore, the different chemistries of various battery types preferably use differing recharging voltages, and varying battery capacities (sizes) demand differing charging currents. However, known battery chargers cannot automatically adapt to such a variety charging conditions and remain simple to use. 
     Features 
     The present invention provides battery charging with charging parameter values selected by communication with imbedded information in a battery pack and then adjusted during charging. This permits adaptation to various battery chemistries and capacities, and, in particular, allows for approximately constant current charging at various current levels and for trickle charging. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention will be described with reference to the accompanying drawings, which are schematic for clarity. 
         FIGS. 1   a-b  illustrate known battery chargers and their load lines; 
         FIG. 2  is schematic functional block diagram of a first preferred embodiment battery charger; 
         FIG. 3  is a state diagram for the first preferred embodiment; 
         FIG. 4  is a flow chart for communication by the first preferred embodiment; 
         FIGS. 5-7  show communication waveforms; and 
         FIG. 8  illustrates identification memory organization. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Functional Overview 
       FIG. 2  is a schematic functional block diagram of a first preferred embodiment battery charger, denoted generally by reference numeral  200 , connected to charge battery pack  250  with imbedded one-wire communication module  252 . Battery charger  200  includes power transistor  202 , current sense resistor  204 , voltage sense node  205 , temperature sensor  206  affixed to battery pack  250 , ambient temperature sensor  207 , controller  210 , operational amplifier  214 , power transistor driver  218 , one-wire bus  220 , and three-wire bus  223 . Portion  270  of battery charger  200  may be formed as a single integrated circuit and provide low cost and ruggedness. 
     Battery charger  200  can provide battery charging up to about 20 volts with 2.5 amp currents; this demands a separate power transistor  202  for cooling. (More generally, power transistor  202  could be replaced by a DC-to-DC converter.) Battery pack  250  may have various numbers of cells and cells of various chemistries which require various charging programs. Controller  210  acquires information about battery pack  250  through inquiry over the one-wire communication bus  220 . In particular, module  252  within battery pack  250  contains identification plus charging parameter values, such as maximum voltage V MAX  and maximum current I MAX  along with charge time and endpoint detection method. Controller  210  reads the identification and charging parameter values and configures itself accordingly. Note that the identification can be used for access control: charger  200  can refuse to charge a battery pack with an invalid identification. Controller  210  also has stored (in nonvolatile ROM) default charging parameter values. Thus when controller  210  is unable to read charging parameter values from battery pack  250 , it may read from its own ROM for default parameter values. After acquisition of parameter values, charger  200  begins charging battery pack  250 . Charger  200  may also communicate at high speed over its three-wire bus  223  with a computer or other controller; this permits external analysis of the identification and charging parameter values read from module  252  plus external control of access and the charging parameter values. 
     Operation 
       FIG. 3  is a state diagram for charger  200  which describes its operation and the charging parameters used. Charger  200  begins in the upper righthand circle of  FIG. 3  which represents the state of no power supply (PF=1). No power implies no charging current (I=0) because power transistor  202  cannot be turned on. Also, the charging timer within controller  210  will not be running (TMRRST=1). Controller  210  has an internal voltage regulator, so a 25 volt power supply may be used as illustrated to provide charging of multicell battery packs. 
     When power is supplied to charger  200  (PF=0), it first checks the inputs of temperature sensors  206  and  207 ; and if the battery temperature (TB) is less than the upper temperature limit for trickle charge (T 5 ) and if the ambient temperature (TA) is greater than the lower temperature for trickle charge (T 0 ), charger  200  moves to an initial trickle charge state of applying a trickle charge current (I 3 ). The circle in the center of  FIG. 3  represents this initial trickle charge state (I=I 3 ). The trickle charge current level is maintained by feedback from amplifier  214  measuring the charging current and then driving power transistor  202 . This initial trickle charge state does not have the charging timer running (TMRRST=1) but does immediately detect the presence or absence of a battery pack  250  by detecting a positive or zero voltage at the voltage sense node  205 . If no battery pack  250  is connected (BDET=0) or if a power failure occurs (PF=1), then charger  200  reverts back to the no power state. Contrarily, if charger  200  detects the presence of a connected battery pack, then charger  200  moves to the one-wire communication state represented by the circle in the upper lefthand corner of FIG.  3 . That is, the initial trickle charge state is just a transient state. 
     In the one-wire communication state charger  200  maintains the trickle charge current to the connected battery pack  250  (I=I 3 ) and the charging timer remains off (TMRRST=1). Further, charger  200  sends a reset signal over the one-wire communication bus  220  to initiate a read (1 WIRE RD) of the identification and charging parameter values in module  252  of battery pack  250 . Charger  200  either reads a recognizable identification to permit charging or not. When an acceptable identification is read but no charging parameter values, module  252  reads from its ROM default charging parameter values. Controller  210  loads the charging parameter values into registers to configure its various subcircuits for comparisons of measured charging parameters with the loaded values. If at any time during this one-wire communication power fails or battery pack  250  is disconnected or the ambient temperature falls below the trickle charge minimum or the battery temperature rises above the trickle charge maximum, charger  200  reverts to the no power state. Otherwise, after completing the one-wire communication (OWRCMPLT=1), charger  200  again checks the ambient and battery temperatures from sensors  206  and  207  and if the battery temperature is less than the upper temperature for rapid charge (T 3 ) and if the ambient temperature is greater than the lower temperature for rapid charge (T 2 ), then charger  200  switches to a state of rapid charge represented by the circle in the lefthand center of FIG.  3 . However, if the temperatures do not satisfy the inequalities, charger  200  stays in the one-wire communication state and provides a trickle charge I 3  to battery pack  250  until either a temperature changes, battery pack  250  is disconnected, or power failure occurs. Note that the rapid charge current level and temperature limits may be parameter values read from module  252 . 
     In the rapid charge state controller  210  drives the charging current up to I 1  and starts the charging timer (I=I 1  and TMRRST=0). If there is a power failure or battery pack  250  is disconnected, then charger  200  again reverts to the no power state; otherwise, the rapid charge state persists and charger  200  supplies a charging current I 1  to battery pack  250  until one of the following occurs: (1) the battery voltage parameter (VBAT) measured at node  205  exceeds the parameter value (VBATLIM) read from module  252 , (2) the parameter battery voltage delta (peak battery voltage sensed at node  205  so far during the charging minus the battery voltage now sensed)(DELV) exceeds the parameter value (DELVLIM) read from module  252  and the charging timer has been running for more than 5 minutes, (3) the charging timer has been running longer than the time for rapid charge parameter value (t 0 LIM) read from module  252 , (4) the ambient temperature is below parameter value T 2 , (5) the battery temperature is above parameter value T 3 , or (6) the battery temperature delta (equal to TB—TA)(DELT) exceeds the parameter value (DELTLIM) read from module  252 . When one of these six events occurs, charger  200  moves to the standard charge state represented by the circle in the lower lefthand portion of FIG.  3 . Note that the rapid charge termination events of significance depend upon battery cell chemistry; for example, nickel-cadmium cells have a voltage drop near maximum charge. This makes a positive battery voltage delta DELV a good indicator of full charge, with the size of a significant DELV varying with the number of cells in series in battery pack  250 . Similarly, nickel-cadmium cells charge by an endothermic reaction and thus the battery temperature will not rise until full charge; this makes the battery temperature delta DELT another good indicator of full charge. Again, these parameter values such as DELTLIM, t 0 LIMIT, T 2  may have been read from module  252  or could have been acquired over three-wire communication in the case of no module  252 . 
     In the standard charge state controller  210  drives the charging current to I 2  and restarts the charging timer (I=I 2  and TMRRST=0). If there is a power failure or battery pack  250  is disconnected, then charger  200  again reverts to the no power state; otherwise the standard charge state persists and charger  200  supplies a charging current I 2  to battery pack  250  until one of the following events occurs: (1) the battery voltage (VBAT) sensed at node  205  exceeds the maximum battery voltage during charge (VBATLIM), (2) the charging timer has been running longer than the maximum time for standard charge (t 1 LIM), (3) the ambient temperature is below the lower temperature limit for standard charge (T 1 ), or (4) the battery temperature is above the upper temperature limit for standard charge (T 4 ). When one of these four events occurs, charger  200  moves to the trickle charge state represented by the circle in the lower center of FIG.  3 . 
     In the trickle charge state controller  210  drives the charging current back to I 3  that stops the charging timer (I=I 3  and TMRRST=1). If there is a power failure or battery pack  250  is disconnected or the battery voltage VBAT exceeds the maximum VBATLIM then charger  200  once again reverts to the no power state; otherwise, the trickle charge state persists and charger  200  supplies a charging current I 3  to battery pack  250  until either (1) the ambient temperature is below T 0  or (2) the battery temperature is above T 5 . When one of these two events occurs, charger  200  moves to the standby state represented by the circle in the lower righthand portion of FIG.  3 . 
     In the standby state controller  210  turns off power transistor  202  and stops the charging timer (I=I 3  and TMRRST=1). If there is a power failure or battery pack  250  is disconnected, then charger  200  once again reverts to the no power state; otherwise, the stadby state persists with charger  200  not supply any charging current I 3  to battery pack  250  until either (1) the ambient temperature is rises above T 0  or (2) the battery temperature falls below T 5 . When one of these two events occurs, charger  200  returns to the trickle charge state from whence it came and repeats itself. 
     One-wire Communication 
       FIG. 4  is a flow chart of the communication by charger  200  with battery pack module  252 , and  FIGS. 5-7  illustrate signalling—waveforms during one-wire communication. Controller  210  pulls the data line of communication bus  220  high (+5 volts) and this supplies the power to module  252  which includes an energy storage capacitor. The transient initial trickle charge state of charger  200  provides time for module  252  to store sufficient energy in its storage capacitor to power up its circuitry. Module  252  only responds to signals from controller  210 , and thus only requires power when communicating. Thus module  252  can communicate with controller  210  even when battery pack  250  is fully discharged. 
     The flow shown of  FIG. 4  begins with Battery Detect=1 which is the detection of battery pack  250  connected to node  205 ; this corresponds to the movement from the initial trickle charge state to the communication state in FIG.  3 . Controller  210  detects battery pack  250  by noting a positive voltage at node  205  which derives from residual charge of battery pack  250  and initial charging by trickle charge being applied in the initial trickle charge state. 
     Once battery pack  250  has been detected, controller  210  applies a reset signal on the data line of one-wire bus  220  by driving the data line low (ground) for about 480 microseconds (μs) and then pulling the data line high (+5 volts) for about 480 μs. In response to the 480 μs low reset signal, module  252  signals its presence with a presence detect signal by pulling the data line low during the 480 μs high. The pulldown in module  252  overpowers the pullup of controller  210 , so the data line goes low and controller  210  senses the low. Module  252  generates a nominal 120 μs time period for the pulldown presence detect pulse and applies this pulldown beginning a nominal 30 μs after controller  210  has returned the data line high. Howver, this time period may vary by a factor of 2 amongst modules, so controller  210  samples the data line at 65-70 μs after it has returned the data line high. See  FIG. 5  which shows the waveforms on the data line. Controller  210  may repeatedly apply reset signals on the data line in order to account for the delay in the connection of one-wire bus  220  to battery pack  250  after the connection to node  205 . 
     If the sampling of the data line by controller  210  does not reveal a presence detect signal (Reconfigurable=1 not true in FIG.  4 ), then controller  210  will use its default charging parameter values by reading them from its memory (Default Parameters Available and Load Configur RAM From EEPROM in FIG.  4 ). Conversely, if controller  210  senses the data line low (Reconfigurable=1), then it continues with one-wire communication and drives the data line low for 1+μs and then pulls the data line high again to allow the response of module  252  to control the data line. Module  252  responds to the high-to-low transition by reading the first bit in its memory onto the data line: when the first bit is a 0, then module  252  pulls down the data line for a nominal 30 μs so in effect the data line remains low and controller  210  detects this by sampling after 15 μs.  FIG. 6  shows the read  0  waveforms on the data line. Contrarily, when the first bit is a 1, then module  252  lets controller  210  pull up the data line; see FIG.  7 . This process of a high-to-low by controller  210  followed by a pulldown or no pulldown response of module  252  proceeds through the memory of module  252  until all 320 bits (64 identification bits plus 256 charging parameter value bits) have been read. The total read time thus may be less than 50 milliseconds. 
     Module  252  has two memories: a 64-bit ROM for identification and a 256-bit EEPROM for charging parameter values.  FIG. 8  illustrates the content of the 64 bits of ROM. In particular, the first eight bits indicate the family of modules to which module  252  belongs (Family Code=Charger in FIG.  4 ). If this family is for a battery pack with a manufacturer&#39;s identification (Use Manufacturer ID in FIG.  4 ), then the next sixteen bits read (B 8 -B 23 =Manufacturer ID) may be decoded to check identification of the manufacturer of battery pack  252  and perhaps prevent charging by charger  200 . Lastly, after 64 bits have been read from the ROM, controller  210  applies a Cyclic Redundancy Check (CRC) algorithm to the first 56 bits to compare to the last eight bits to verify that the communication was error free (Verify ROM CRC). 
     After reading the ROM of module  252 , controller  210  then reads the 256 bits of EEPROM to get charging parameter values for operation (Read Config Data Into Charger Config RAM). The reading of the parameter values is also checked by a CRC byte (Verify RAM CRC). Once the EEPROM has been read, the one-wire communication is complete (One Wire Read Complete in FIG.  4  and OWRDMPLT=1 in FIG.  3 ). Charger  200  then switches into the rapid charge state using the charging parameter values read from module  252 . 
     U.S. Pat. No. 5,045,675 contains a discussion of one-wire communication and serial memory reading and is hereby incorporated by reference. 
     Further Modifications and Variations 
     The preferred embodiments may be modified in many ways while retaining one of more of the features of a battery charger with charging parameter values selected by communication with a battery pack to be charged and using multiple constant charging currents with multiple endpoint determinants. For example, the memory in the battery pack could be all ROM or all EEPROM, or EPROM, a mixture of two memory types; the communication could be over full duplex or other than one-wire, and the memory may have its own power supply to be operative with a discharged battery pack; sensors for endpoint determinants other than temperature increment and voltage increment may be used; the power transistor could be a switching AC-DC converter or a switching DC-DC converter; the controller may have nonvolatile memory or just registers for holding charging parameter values; and so forth.