mm
START and STOP Conditions
SDA and SCL idle high when the bus is not in use. A mas-
ter initiates communication by issuing a START condition.
A START condition is a high-to-low transition on SDA with
SCL high. A STOP condition is a low-to-high transition
on SDA while SCL is high (Figure 6). A START condition
from the master signals the beginning of a transmission
to the MAX30100. The master terminates transmission,
and frees the bus, by issuing a STOP condition. The bus
remains active if a REPEATED START condition is gener-
ated instead of a STOP condition.
Early STOP Conditions
The MAX30100 recognizes a STOP condition at any point
during data transmission except if the STOP condition
occurs in the same high pulse as a START condition. For
proper operation, do not send a STOP condition during
the same SCL high pulse as the START condition.
Slave Address
A bus master initiates communication with a slave device
by issuing a START condition followed by the 7-bit slave
ID. When idle, the MAX30100 waits for a START condition
followed by its slave ID. The serial interface compares
each slave ID bit by bit, allowing the interface to power
down and disconnect from SCL immediately if an incor-
rect slave ID is detected. After recognizing a START
condition followed by the correct slave ID, the MAX30100
is ready to accept or send data. The LSB of the slave
ID word is the Read/Write (R/W) bit. R/W indicates
whether the master is writing to or reading data from the
MAX30100. R/W = 0 selects a write condition, R/W = 1
selects a read condition). After receiving the proper slave
ID, the MAX30100 issues an ACK by pulling SDA low for
one clock cycle.
The MAX30100 slave ID consists of seven fixed bits,
B7–B1 (set to 0b1010111). The most significant slave ID
bit (B7) is transmitted first, followed by the remaining bits.
Table 18 shows the possible slave IDs of the device.
Acknowledge
The acknowledge bit (ACK) is a clocked 9th bit that the
MAX30100 uses to handshake receipt each byte of data
when in write mode (Figure 7). The MAX30100 pulls down
SDA during the entire master-generated 9th clock pulse
if the previous byte is successfully received. Monitoring
ACK allows for detection of unsuccessful data transfers.
An unsuccessful data transfer occurs if a receiving device
is busy or if a system fault has occurred. In the event of
an unsuccessful data transfer, the bus master will retry
communication. The master pulls down SDA during the
9th clock cycle to acknowledge receipt of data when the
MAX30100 is in read mode. An acknowledge is sent by
the master after each read byte to allow data transfer to
continue. A not-acknowledge is sent when the master
reads the final byte of data from the MAX30100, followed
by a STOP condition.
Table 17. Slave ID Description
Figure 6. START, STOP, and REPEATED START Conditions Figure 7. Acknowledge
B7 B6 B5 B4 B3 B2 B1 B0 WRITE AD-
DRESS
READ AD-
DRESS
1010111R/W0xAE 0xAF
SCL1
SDA1
START
CONDITION
1 2 8 9
CLOCK PULSE FOR
ACKNOWLEDGMENT
NOT ACKNOWLEDGE
ACKNOWLEDGE
Figure 7
www.maximintegrated.com Maxim Integrated
│
24
MAX30100 Pulse Oximeter and Heart-Rate Sensor IC
for Wearable Health