§ Unique 1-Wire® interface requires only one
port pin for communication
Smart Battery Monito
PIN ASSIGNMENT
GND
1
8
DS2438
DQ
§ Provides unique 64-bit serial number
§ Eliminates thermistors by sensing battery
temperature on-chip
§ On-board A/D converter allows monitoring
of battery voltage for end-of-charge and endof-discharge determination
§ On-board integrated current accumulator
V
V
SENS+
SENS-
V
2
3
4
D
DS2438Z, DS2438AZ
8-Pin SOIC (150-mil)
NC
7
NC
6
5
V
DD
facilitates fuel gauging
§ Elapsed time meter in binary format
§ 40-byte nonvolatile user memory available
for storage of battery-specific data
§ Reverts to low-power sleep mode on battery
pack disconnect (feature disabled on
DS2438AZ)
§ Operating range -40ºC to +85ºC
§ Applications include portable computers,
portable/cellular phones, consumer
PIN DESCRIPTION
DQ - Data In/Out
VAD - General A/D input
V
V
- Battery current monitor input (+)
SENS+
- Battery current monitor input (-)
SENS-
VDD - Power Supply (2.4V to 10.0V)
GND - Ground
NC - No connect
electronics, and handheld instrumentation
DESCRIPTION
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
interface.
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, 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 chemistry.
1 of 29 070605
ORDERING INFORMATION
PART MARKING PACKAGE INFORMATION
DS2438Z+ DS2438 8-Pin SOIC
DS2438Z+T&R DS2438 DS2438Z+ on Tape-and-Reel
DS2438AZ+ DS2438A 8-Pin SOIC
DS2438AZ+T&R DS2438A DS2438AZ+ on Tape-and-Reel
DS2438Z DS2438 8-Pin SOIC
DS2438Z/T&R DS2438 DS2438Z on Tape-and-Reel
DS2438AZ DS2438A 8-Pin SOIC
DS2438AZ/T&R DS2438A DS2438AZ on Tape-and-Reel
+ Denotes lead-free package.
DETAILED PIN DESCRIPTION
PIN SYMBOL DESCRIPTION
DS2438
1 GND
2 V
3 V
SENS+
SENS-
Ground
Battery Input: connection for battery current to be monitored (see text)
Battery Input: connection for battery current to be monitored (see text)
4 VAD ADC Input: input for general purpose A/D
5 VDD VDD Pin: input supply voltage
6, 7 NC
No Connect
8 DQ Data Input/Out: for 1-Wire operation: Open drain
OVERVIEW
The block diagram of Figure 1 shows the seven major components of the DS2438:
1. 64-bit lasered ROM
2. temperature sensor
3. battery voltage A/D
4. battery current A/D
5. current accumulators
6. elapsed time meter
7. 40-byte nonvolatile user-memory
Each DS2438 contains a unique 64-bit lasered ROM serial number so that several battery packs can be
charged/monitored by the same host system. Furthermore, other Dallas products featuring the same
1-Wire bus architecture with a 64-bit ROM can reside on the same bus; refer to the Dallas Automatic
Identification Data book for the specifications of these products.
Communication to the DS2438 is via a 1-Wire port. With the 1-Wire port, the memory and control
functions will not be available until the ROM function protocol has been established. The master must
first provide one of four ROM function commands: 1) Read ROM, 2) Match ROM, 3) Search ROM, or 4)
Skip ROM. These commands operate on the 64-bit lasered ROM portion of each device and can singulate
a specific device if many are present on the 1-Wire line as well as to indicate to the bus master how many
and what types of devices are present. After a ROM function sequence has been successfully executed,
the memory and control functions are accessible and the master may then provide any one of the six
memory and control function commands.
2 of 29
DS2438
Control function commands may be issued which instruct the DS2438 to perform a temperature
measurement or battery voltage A/D conversion. The result of these measurements will be placed in the
DS2438’s memory map, and may be read by issuing a memory function command which reads the
contents of the temperature and voltage registers. Additionally, the charging/discharging battery current is
measured without user intervention, and again, the last completed result is stored in DS2438 memory
space. The DS2438 uses these current measurements to update three current accumulators; the first stores
net charge for fuel gauge calculations, the second accumulates the total charging current over the life of
the battery, and the remaining accumulator tallies battery discharge current. The elapsed time meter data,
which can be used in calculating battery self-discharge or time-related charge termination limits, also
resides in the 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.
PARASITE POWER
The block diagram (Figure 1) shows the parasite-powered circuitry. This circuitry “steals” power
whenever the DQ pin is high. DQ will provide sufficient power as long as the specified timing and
voltage requirements are met (see the section titled “1-Wire Bus System”). The advantage of parasite
power is that the ROM may be read in absence of normal power, i.e., if the battery pack is completely
discharged.
DS2438 BLOCK DIAGRAM Figure 1
3 of 29
DS2438
OPERATION-MEASURING TEMPERATURE
The DS2438 measures temperatures through the use of an on-board temperature measurement technique.
The temperature reading is provided in a 13-bit, two’s complement format, which provides 0.03125°C of
resolution. Table 1 describes the exact relationship of output data to measured temperature. The data is
transmitted serially over the 1-Wire interface. The DS2438 can measure temperature over the range of
-55°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’s complement representation of the temperature in °C, with the MSb holding the
sign (S) bit. See “Memory Map” section for the Temperature Register address location.
Temperature Register Format Table 1
2-1 2-2 2-3 2-4 2-5 0 0 0 LSB
MSb (unit = °C) LSb
S 26 25 24 23 22 21 20 MSB
TEMPERATURE DIGITAL OUTPUT (Binary) DIGITAL OUTPUT (Hex)
+125°C 01111101 00000000 7D00h
+25.0625°C 00011001 00010000 1910h
+0.5°C 00000000 10000000 0080h
0°C 00000000 00000000 0000h
-0.5°C 11111111 10000000 FF80h
-25.0625°C 11100110 11110000 E6F0h
-55°C 11001001 00000000 C900h
OPERATION-MEASURING BATTERY VOLTAGE
The on-board analog-to-digital converter (ADC) has 10 bits of resolution and will perform a conversion
when the DS2438 receives a command protocol (Convert V) instructing it to do so. The result of this
measurement is placed in the 2-byte Voltage Register. The range for the DS2438 ADC is 0 volt to
10 volt; this range is suitable for NiCd or NiMH battery packs up to six cells, and for lithium ion battery
packs of two cells. The full-scale range of the ADC is scaled to 10.23 volt, resulting in a resolution of
10 mV.
While the ADC has a range that extends down to 0 volt, it is 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.
Voltage is expressed in this register in scaled binary format, as outlined in Table 2. Note that while codes
exist for values below 2.4 volt, accuracy of the ADC and the limitation on the DS2438’s supply voltage
make it unlikely that these values would be used in actual practice. See “Memory Map” section for the
Voltage Register address location.
4 of 29
DS2438
VOLTAGE REGISTER FORMAT Table 2
27 26 25 24 23 22 21 20 LSB
MSb (unit = 10 mV) LSb
0 0 0 0 0 0 29 28 MSB
BATTERY
VOLTAGE
0.05V 0000 0000 0000 0101 0005h
2.7V 0000 0001 0000 1110 010Eh
3.6V 0000 0001 0110 1000 0168h
5V 0000 0001 1111 0100 01F4h
7.2V 0000 0010 1101 0000 02D0h
9.99V 0000 0011 1110 0111 03E7h
10V 0000 0011 1110 1000 03E8H
DIGITAL OUTPUT (Binary) DIGITAL OUTPUT (Hex)
For applications requiring a general purpose voltage A/D converter, the DS2438 can be configured so that
the result of a Convert V command will place the scaled binary representation of the voltage on the V
input (as opposed to the V
Depending upon the state of the Status/Configuration Register, either (but not both) the V
input) into the Voltage Register in the same format described in Table 2.
DD
DD
or V
AD
AD
voltage will be stored in the Voltage Register upon receipt of the Convert V command. Refer to the
description of the Status/Configuration Register in the Memory Map section for details. If the V
is used as the voltage input, the A/D will be accurate for 1.5V < V
< 2VDD over the range 2.4V < VDD <
AD
AD
input
5.0V. This feature gives the user the ability to have a voltage A/D that meets spec accuracy for inputs
over the entire range of 1.5V < V
< 10V for VDD = 5.0V.
AD
OPERATION - MEASURING BATTERY CURRENT
The DS2438 features an A/D converter that effectively measures the current flow into and out of the
battery pack by measuring the voltage across an external sense resistor. 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
pins; the voltage from the V
V
SENS
current sense resistor, R
V
, we recommend use of an RC low pass filter between it and the GND end of R
SENS-
SENS
. The V
diagram in Figure 1). Using a 100 kW (min) resistor (RF) and a 0.1 mF tantalum capacitor (CF), the filter
cutoff is approximately 15.9 Hz. The current A/D measures at a rate of 36.41 times per second, or once
every 27.46 ms. This filter will capture the effect of most current spikes, and will thus allow the current
accumulators to accurately reflect the total charge which has gone into or out of the battery.
The voltage across current sense resistor R
Current Register in two’s complement format. The sign (S) of the result, indicating charge or discharge,
resides in the most significant bit of the Current Register, as shown in Table 3. See “Memory Map” in
Figure 7 for the Current Register address location.
pin to the V
SENS+
terminal may be tied directly to the R
SENS+
is measured by the ADC and the result is placed in the
SENS
pin is considered to be the voltage across the
SENS-
resistor, however, for
SENS
(see the block
SENS
5 of 29
DS2438
CURRENT REGISTER FORMAT Table 3
(This register actually stores the voltage measured across current sense resistor R
SENS
.
This value can be used to calculate battery pack current using the equation below.)
27 26 25 24 23 22 21 20 LSB
MSb (unit = 0.2441mV) LSb
S S S S S S 29 28 MSB
The battery pack current is calculated from the Current Register value using the equation:
I
= Current Register / (4096 * R
SENS)
(where R
SENS
is in W)
For example, if 1.25A is flowing into the pack, and the pack uses a 0.025W sense resistor, the DS2438
will write the value 12810 to the Current Register. From this value, battery pack current can be calculated
to be:
I = 128 / ( 4096 * 0.025) = 1.25A
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’s-complement format. The four MSb’s of the register contain the sign of the
offset, as shown in Table 4.
OFFSET REGISTER FORMAT Table 4
4
2
23 22 21 20 0 0 0 LSB
MSb (unit = 0.2441 mV) LSb
X X X S 28 27 26 25 MSB
The following process can be used to calibrate the current ADC:
1. Write all zeroes to the Offset Register
2. Force zero current through R
SENS
3. Read the Current Register value
4. Disable the current ADC by setting the IAD bit in the Status/Configuration Register to “0”
5. Change the sign of the previously-read Current Register value by performing the two’s complement
and write the result to the Offset Register
6. Enable the current ADC by setting the IAD bit in the Status/Configuration Register to “1”
NOTE:
When writing to the Offset Register, current measurement MUST be disabled (IAD bit set to “0”).
The current ADC calibration process is done for each DS2438 device prior to shipment. However, for
best results, battery pack manufacturers should calibrate the current ADC during initial battery pack
testing, and the host system should calibrate whenever possible (during battery charging, for example).
6 of 29
DS2438
OPERATION - CURRENT ACCUMULATORS
The DS2438 tracks the remaining capacity of a battery using the Integrated Current Accumulator (ICA).
The ICA maintains a net accumulated total of current flowing into and out of the battery; therefore, the
value stored in this register is an indication of the remaining capacity in a battery and may be used in
performing fuel gauge functions. In addition, the DS2438 has another register that accumulates only
charging (positive) current (CCA) and one that accumulates only discharging (negative) current (DCA).
The CCA and DCA give the host system the information needed to determine the end of life of a
rechargeable battery, based on total charge/discharge current over its lifetime.
The current measurement described above yields the voltage across sense resistor R
measured every
SENS
27.46 ms. This value is then used to increment or decrement the ICA register, increment the CCA (if
current is positive), or increment the DCA (if current is negative). The ICA is a scaled 8-bit volatile
binary counter that integrates the voltage across R
over time. The ICA is only
SENS
incremented/decremented if the IAD bit is set to 1 in the Status/Configuration Register. Table 5 illustrates
the contents of the ICA. See Memory Map section for the address location of the ICA.
ICA REGISTER FORMAT Table 5
(This register accumulates the voltage measured across current sense resistor R
value can be used to calculate remaining battery capacity using the equation below.)
27 26 25 24 23 22 21 20
SENS
. This
MSb (unit = 0.4882 mVhr) LSb
Remaining battery capacity is calculated from the ICA value using the equation:
Remaining Capacity
= ICA / (2048 * R
SENS)
(where R
SENS
is in W)
For example, if a battery pack has 0.625 Ahr of remaining capacity, and the pack uses a 0.025W sense
resistor, the ICA will contain the value 32. From this value, remaining capacity can be calculated to be:
Since the accuracy of the current ADC is +2 LSb, measurements of very small currents can be inaccurate
by a high percentage. 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. The format of the Threshold Register is shown in Table 6.
The power-on default Threshold Register value is 00h (no threshold).
NOTE:
When writing to the Threshold Register, current measurement must be disabled (IAD bit set to “0”).
7 of 29
THRESHOLD REGISTER FORMAT Table 6
TH2 TH1 0 0 0 0 0 0
MSb LSb
DS2438
TH2
0 0 None (default)
0 1 ±2 LSB
1 0 ±4 LSB
1 1 ±8 LSB
TH1 THRESHOLD
The Charging Current Accumulator (CCA) is a two-byte nonvolatile read/write counter which represents
the total charging current the battery has encountered in its lifetime. It is only updated when current
through R
, is positive; i.e., when the battery is being charged. Similarly, the Discharge Current
SENS
Accumulator (DCA) is a two-byte nonvolatile counter which represents the total discharging current the
battery has encountered over its lifetime.
The CCA and DCA can be configured to function in any of three modes: disabled, enabled with shadowto-EEPROM, and enabled without shadow-to-EEPROM. When the CCA and DCA are disabled (by
setting either the IAD bit or the CA bit in the Status/Configuration Register to “0”), the memory in page
07h is free for general purpose data storage. When the CCA and DCA are enabled (by setting both IAD
and CA to “1”), page 07h is reserved for these registers, and none of the bytes in page 07h should be
written to via the 1-Wire bus. When the CCA and DCA are enabled, their values are automatically
shadowed to EEPROM memory by setting the EE bit in the Status/Configuration Register to “1”. When
these registers are configured to shadow to EEPROM, the information will accumulate over the lifetime
of the battery pack and will not be lost when the battery becomes discharged. Shadow-to-EEPROM is
disabled when the EE bit is “0”. Table 7 illustrates the format of the CCA and DCA registers. Table 8
summarizes the modes of operation for ICA, CCA and DCA.
CCA/DCA REGISTER FORMAT Table 7
27 26 25 24 23 22 21 20 LSB
MSb (unit = 15.625 mVHr) LSb
215 214 213 212 211 210 29 28 MSB
ICA/CCA/DCA MODES OF OPERATION Table 8
IAD Bit
0 X X Inactive Inactive Inactive
1 0 X Active Inactive Inactive
1 1 0 Active Active Inactive
1 1 1 Active Active Active
8 of 29
CA Bit EE Bit ICA CCA/DCA
CCA/DCA Copy-
to-EEPROM
DS2438
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. Note that when the battery becomes fully
discharged, i.e., the ICA value reaches 0, the CCA and DCA register values are maintained.
CURRENT ACCUMULATOR ACTIVITY Figure 2
SENSE RESISTOR SELECTION
The selection of R
to avoid excessive voltage drop during peak current demands. On the other hand, the impedance of R
should be maximized to achieve the finest resolution for current measurement and accumulation. Table 9
below lists several example R
LSb of the remaining capacity calculation ( 1/(2048 * R
voltage drop at maximum current and required current measurement/accumulation resolution when
selecting R
SENS
.
involves a tradeoff. On the one hand, the impedance of R
SENS
values, the LSb of the current calculation ( 1/(4096 * R
SENS
) ). The user should carefully consider
SENS
must be minimized
SENS
) ) and the
SENS
SENS
SENSE RESISTOR TRADEOFFS Table 9
SENSE RESISTOR
VALUE (R
25 mW
50 mW
100 mW
200 mW
SENS
)
CURRENT lsb
9.76 mA 19.53 mAHr 5000 mAhr
4.88 mA 9.76 mAHr 2500 mAhr
2.44 mA 4.88 mAHr 1250 mAhr
1.22 mA 2.44 mAHr 625 mAhr
REMAINING
CAPACITY lsb
MAX REMAINING
CAPACITY VALUE
OPERATION - ELAPSED TIME METER
An internal oscillator is used as the timebase for the timekeeping functions. The elapsed time functions
are double buffered, allowing the master to read elapsed time without the data changing while it is being
read. To accomplish this, a snapshot of the counter data is transferred to holding registers which the user
accesses. This occurs after the 8th bit of the Recall Memory command.
The elapsed time meter (ETM) is a 4-byte binary counter with 1-second resolution. The ETM can
accumulate 136 years of seconds before rolling over. Time/date is represented by the number of seconds
since a reference point, which is determined by the user. For example, 12:00 A.M., January 1, 1970 could
be used as a reference point.
9 of 29
Loading...
+ 20 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.