MAX1667
Chemistry-Independent,
Level 2 Smart Battery Charger
______________________________________________________________________________________ 19
ChargerStatus()
The ChargerStatus() command uses Read-Word proto-
col (Figure 8b). The command code for ChargerStatus()
is 0x13 (0b00010011). The ChargerStatus() command
returns information about thermistor impedance and the
MAX1667’s internal state. The Read-Word protocol
returns D15–D0. Table 8 describes the meaning of the
individual bits. The latched bits, THERMISTOR_HOT
and ALARM_INHIBITED, are cleared whenever BAT-
TERY_PRESENT = 0 or ChargerMode() is written with
POR_RESET = 1.
Interrupts and the
Alert-Response Address
An interrupt is triggered (INT goes low) whenever power
is applied to DCIN, the BATTERY_PRESENT bit changes,
or the POWER_FAIL bit changes. BATTERY_PRESENT
and POWER_FAIL have interrupt masks that can be set
or cleared via the ChargerMode() command. INT stays
low until the interrupt is cleared. There are two methods
for clearing the interrupt: issuing a ChargerStatus() com-
mand, and using a modified Receive Byte protocol with a
0x19 (0b0011001) Alert-Response address. The
MAX1667 responds to the Alert-Response address with
its address (0x13) left justified as the most significant bits
of the returned byte.
__________Applications Information
Negative Input Voltage Protection
In most portable equipment, the DC power to charge
batteries enters through a two-conductor cylindrical
power jack. It is easy for the end user to add an
adapter to switch the DC power’s polarity. Polarized
capacitor C6 would be destroyed if a negative voltage
were applied. Diode D4 in Figure 7 prevents this from
happening.
Figure 8. SMBus a) Write-Word and b) Read-Word Protocols
0MSB LSB
1b7 bits
W
SLAVE
ADDRESS
S
1b
ACK S
MSB LSB
1b8 bits
ACK
COMMAND
BYTE
1b
ACK
1MSB LSB
1b7 bits
R
SLAVE
ADDRESS
MSB LSB
1b8 bits
ACK
LOW
DATA
BYTE
P
MSB LSB
1b8 bits
NACK
HIGH
DATA
BYTE
Preset to
0b0001001
D7 D0 D15 D8
ChargerMode() = 0x12
ChargingCurrent() = 0x14
ChargerVoltage() = 0x15
AlarmWarning() = 0x16
Preset to
0b0001001
Preset to
0b0001001
D7 D0 D15 D8
ChargerStatus() =
0x13
1b
ACK
MSB LSB
1b8 bits
ACK
COMMAND
BYTE
0MSB LSB
1b7 bits
W
SLAVE
ADDRESS
S
MSB LSB
1b8 bits
ACK
LOW
DATA
BYTE
P
MSB LSB
1b8 bits
ACK
HIGH
DATA
BYTE
a) Write-Word Format
b) Read-Word Format
Legend:
S = Start Condition or Repeated Start Condition P = Stop Condition
ACK = Acknowledge (logic low) NACK = NOT Acknowledge (logic high)
W = Write Bit (logic low) R = Read Bit (logic high)
MASTER TO SLAVE
SLAVE TO MASTER