Manufacturer Part NumberDS2438
DescriptionSmart Battery Monitor
ManufacturerDallas Semiconducotr
DS2438 datasheet

Page 1
Page 2
Page 3
Page 4
Page 5
Page 6
Page 7
Page 8
Page 9
Page 10
Page 1/29

Download datasheet (352Kb)Embed
Unique 1-Wire
interface requires only one
port pin for communication
Provides unique 64-bit serial number to
battery packs
Eliminates thermistors by sensing battery
temperature on-chip
On-board A/D converter allows monitoring
of battery voltage for end-of-charge and end-
of-discharge determination
On-board integrated current accumulator
facilitates fuel gauging
Elapsed time meter in binary format
40-byte nonvolatile user memory available
for storage of battery-specific data
Operating range -40ºC to +85ºC
Applications include portable computers,
portable/cellular phones, consumer
electronics, and handheld instrumentation
The DS2438 Smart Battery Monitor provides several functions that are desirable to carry in a battery
pack: a means of tagging a battery pack with a unique serial number, a direct-to-digital temperature
sensor which eliminates the need for thermistors in the battery pack, an A/D converter which measures
the battery voltage and current, an integrated current accumulator which keeps a running total of all
current going into and out of the battery, an elapsed time meter, and 40 bytes of nonvolatile EEPROM
memory for storage of important parameters such as battery chemistry, battery capacity, charging
methodology and assembly date. Information is sent to/from the DS2438 over a 1-Wire interface, so that
only one wire (and ground) needs to be connected from a central microprocessor to a DS2438. This
means that battery packs need only have three output connectors: battery power, ground, and the 1-Wire
Because each DS2438 contains a unique silicon serial number, multiple DS2438s can exist on the same
1-Wire bus. This allows multiple battery packs to be charged or used in the system simultaneously.
Applications for the smart battery monitor include portable computers, portable/cellular telephones, and
handheld instrumentation battery packs in which it is critical to monitor real-time battery performance.
Used in conjunction with a microcontroller in the host system, the DS2438 provides a complete smart
battery pack solution that is fully chemistry-independent. The customization for a particular battery
chemistry and capacity is realized in the code programmed into the microcontroller and DS2438
EEPROM, and only a software revision is necessary should a designer wish to change battery pack
Smart Battery Monitor
8-Pin SOIC (150-mil)
Data In/Out
General A/D input
Battery current monitor input (+)
Battery current monitor input (-)
Power Supply (2.4V to 10.0V)
No connect
1 of 29

DS2438 Summary of contents

  • Page 1

    ... Information is sent to/from the DS2438 over a 1-Wire interface, so that only one wire (and ground) needs to be connected from a central microprocessor to a DS2438. This means that battery packs need only have three output connectors: battery power, ground, and the 1-Wire interface ...

  • Page 2

    ... DS2438 memory map and can be extracted with a memory function command. The nonvolatile user memory of the DS2438 consists of 40 bytes of EEPROM. These locations may be used to store any data the user wishes and are written to using a memory function command. All data and commands are read and written least significant bit first ...

  • Page 3

    ... C to +125 C in 0.03125 C increments. For Fahrenheit usage, a lookup table or conversion factor must be used. Note that temperature is represented in the DS2438 in terms of a 0.03125 C LSb, yielding the following 13-bit format. The 3 least significant bits of the Temperature Register will always be 0. The remaining 13 bits contain the two’ ...

  • Page 4

    ... While the ADC has a range that extends down to 0 volt important to note that the battery voltage can also be the supply voltage to the DS2438. As such, the accuracy of the ADC begins to degrade below battery voltages of 2.4 volt, and the ability to make conversions is limited by the operating voltage range of the DS2438 ...

  • Page 5

    ... It does so in the background at a rate of 36.41 measurements/sec; thus, no command is required to initiate current flow measurements. However, the DS2438 will only perform current A/D measurements if the IAD bit is set to “1” in the Status/Configuration Register. The DS2438 measures current flow in and out of the battery through the V pins ...

  • Page 6

    ... Because small current ADC offset errors can have a large cumulative effect when current is integrated over time, the DS2438 provides a method for canceling offset errors in the current ADC. After each current measurement is completed, the measured value is added to the contents of the Offset Register and the result is then stored in the Current Register. The Offset Register is a two-byte nonvolatile read/write register formatted in two’ ...

  • Page 7

    ... Because these inaccuracies can turn into large ICA errors when accumulated over a long period of time, the DS2438 provides a method for filtering out potentially erroneous small signals so that they are not accumulated. The DS2438’s Threshold Register specifies a current measurement magnitude (after offset cancellation) above which the measurement is accumulated in the ICA, CCA and DCA and below which it is not accumulated ...

  • Page 8

    ... EE Bit ICA X Inactive X Active 0 Active 1 Active LSb THRESHOLD None (default) ±2 LSB ±4 LSB ±8 LSB LSB LSb MSB CCA/DCA CCA/DCA Copy- to-EEPROM Inactive Inactive Active Active DS2438 Inactive Inactive Inactive Active ...

  • Page 9

    ... Figure 2 illustrates the activity of the ICA, CCA, and DCA over a sample charge/discharge cycle of a battery pack, assuming the DS2438 is configured for the ICA to function and the CCA/DCA to function and shadow data to EEPROM. To simplify the illustration of the accumulators, they are treated as analog values, although they are digital counters in the DS2438 ...

  • Page 10

    ... Each DS2438 contains a unique ROM code that is 64 bits long. The first 8 bits are a 1-Wire family code (DS2438 code is 26h). The next 48 bits are a unique serial number. The last 8 bits are a CRC of the first 56 bits. (See Figure 3.) The 64-bit ROM and ROM Function Control section allow the DS2438 to operate as a 1-Wire device and follow the 1-Wire protocol detailed in the section “ ...

  • Page 11

    ... CRC Generation The DS2438 has an 8-bit CRC stored in the most significant byte of the 64-bit ROM. The bus master can compute a CRC value from the first 56 bits of the 64-bit ROM and compare it to the value stored within the DS2438 to determine if the ROM data has been received error-free by the bus master. The equivalent ...

  • Page 12

    ... ROM FUNCTIONS FLOWCHART Figure DS2438 ...

  • Page 13


  • Page 14

    ... SRAM, pages 3-7 are EEPROM). This process insures data integrity when modifying the memory. The DS2438’s memory is organized as 64 bytes of memory, in eight 8-byte pages. Each page has its own scratchpad space, organized as 8 bytes of memory. When reading a scratchpad, there is a 9th byte which may be read with a Read Scratchpad command ...

  • Page 15

    ... EEPROM each time the respective register is incremented; “0”= CCA/DCA counter data will not be shadowed to EEPROM. The CCA/DCA could be lost as the battery pack becomes discharged. If the CA bit in the status/configuration register is set to “0”, the EE bit will have no effect on the DS2438 functionality. The default value of this bit is a “1” (current CCA/DCA data shadowed to EEPROM). ...

  • Page 16

    ... Pages 3-7 (03h - 07h) The remainder of the memory in the DS2438 (Pages 3 through 7) is backed with EEPROM. This memory provides 40 bytes of user memory which may be used to carry any information the user wishes to store. Additionally, the CCA/DCA information is stored in bytes 4-7 of page 7 if the DS2438 is configured appropriately. If the CCA/DCA is used, page 7 should not be written to or current accumulator data will be overwritten. See “ ...

  • Page 17

    ... The presence pulse lets the bus master know that the DS2438 is on the bus and is ready to operate. For more details, see the “1-Wire Signaling” section. ...

  • Page 18

    ... This command allows the bus master to read the DS2438’s 8-bit family code (26h), unique 48-bit serial number, and 8-bit CRC. This command can only be used if there is a single DS2438 on the bus. If more than one slave is present on the bus, a data collision will occur when all slaves try to transmit at the same time (open-drain will produce a wired-AND result) ...

  • Page 19

    ... The bus master starts a new ROM search by repeating steps 1 through 3. 14. The bus master writes a 1 bit. This deselects ROM1 and ROM4 for the remainder of this search pass, leaving only ROM2 and ROM3 coupled to the system. 15. The bus master executes two read time slots and receives two 0s DS2438 ...

  • Page 20

    ... Status/Configuration register will be set to a “l”. When the copy is complete, this bit will reset to “0”. If the bus master issues read time slots following this command, the DS2438 will output “0” on the bus as long busy copying the scratchpad to SRAM/EEPROM; it will return a “1” when the copy process is complete ...

  • Page 21

    ... When the temperature conversion is done, the TB flag will clear to a “0”. If the bus master issues read time slots following this command, the DS2438 will output “0” on the bus as long busy making a temperature conversion; it will return a “1” when the temperature conversion is complete. ...

  • Page 22

    ... EEPROM writes take ms. SAMPLE COMMAND SEQUENCE Table 12 Example: Bus Master enables the ICA, CCA, and DCA on a single DS2438 and configures it such that the CCA/DCA information is shadowed to EEPROM. The voltage A/D is configured such that the DS2438 will perform voltage measurements on the battery (VDD) voltage. ...

  • Page 23

    ... SAMPLE COMMAND SEQUENCE Table 13 Example: Bus Master issues a temperature and voltage conversion, then reads the temperature, battery voltage, battery current, all on a single DS2438. MASTER MODE DATA (LSB FIRST Reset Reset pulse ...

  • Page 24

    ... The 1-Wire bus is pulled to a high state via the 5 k =pull-up resistor. After detecting the rising edge on the I/O pin, the DS2438 waits 15-60 s and then transmits the presence pulse (a low signal for 60-240 s). DS2438 data is read and written through the use of time slots to manipulate bits and a command word to specify the transaction. ...

  • Page 25

    ... The DS2438 samples the I/O line in a window after the I/O line falls. If the line is high, a Write 1 occurs. If the line is low, a Write 0 occurs (See Figure 10). ...

  • Page 26

    ... SLOT < LOW1 < REC DS2438 < t < 120 s LOW0 SLOT < REC < 120 s SLOT < LOWR 0 t < RELEASE < REC RDV t < DS2438 ...

  • Page 27

    ... C to +85 C; 2.4V SYMBOL CONDITION DQ=0, RTC DD1 Active I DQ=1, ICA DD Active or Temperature or Voltage Conversions or EEPROM write in progress VDD MIN TYP MAX UNITS 2.4 10.0 V -0.3 +5.5 V 2.4 5.5 VDD MIN TYP MAX UNITS 2.0 V -0.3 0 100 A 500 k DS2438 10.0V) NOTES 1 1 10.0V) NOTES ...

  • Page 28

    ... VDD MIN TYP MAX UNITS ± VDD MIN TYP MAX UNITS ±10 ±50 mV 1.5V 10.0 V 2.4 10 -40 +85 C VDD MIN TYP MAX UNITS -125 125 mV ±2 LSB 1 % VDD MIN TYP MAX UNITS sec DS2438 10.0V) NOTES 10.0V) NOTES 1 1 10.0V) NOTES 3 10.0V) NOTES ...

  • Page 29

    ... REC t LOW0 t LOW1 t RDV t RSTH t RSTL t PDH t PDL VDD MIN TYP MAX UNITS 50k writes 10 years VDD MIN TYP MAX UNITS 60 120 120 480 s 480 980 240 DS2438 10.0V) NOTES 10.0V) NOTES ...