
MPR081
Sensors
8
Freescale Semiconductor
ACKNOWLEDGE
The acknowledge bit is a clocked 9th bit (
Figure 7) which
the recipient uses to handshake receipt of each byte of data.
Thus each byte transferred effectively requires 9 bits. The
master generates the 9th clock pulse, and the recipient pulls
down SDA during the acknowledge clock pulse, such that the
SDA line is stable low during the high period of the clock
pulse. When the master is transmitting to the MPR081, the
MPR081 generates the acknowledge bit because the
MPR081 is the recipient. When the MPR081 is transmitting to
the master, the master generates the acknowledge bit
because the master is the recipient.
Figure 7. Acknowledge
THE SLAVE ADDRESS
The MPR081 has a 7-bit long slave address (
Figure 5).
The bit following the 7-bit slave address (bit eight) is the R/W
bit, which is low for a write command and high for a read
command. The MPR081 has a factory set IC slave address
which is normally 1001100 (0x4C). Contact the factory to
request a different I2C slave address, which is available in the
range 0001000 to 1110111 (0x08 to 0xEF).
Figure 8. Slave Address
The MPR081 monitors the bus continuously, waiting for a
START condition followed by its slave address. When a
MPR081 recognizes its slave address, it acknowledges and
is then ready for continued communication.
MESSAGE FORMAT FOR WRITING THE MPR081
A write to the MPR081 comprises the transmission of the
MPR081's keyscan slave address with the R/W bit set to 0,
followed by at least one byte of information. The first byte of
information is the command byte. The command byte
determines which register of the MPR081 is to be written by
the next byte, if received. If a STOP condition is detected after
the command byte is received, then the MPR081 takes no
further action
(Figure 9) beyond storing the command byte.
Any bytes received after the command byte are data bytes.
Figure 9. Command Byte Received