
C8051F040/1/2/3/4/5/6/7
Rev. 1.5 253
Slave Receiver
0x60 Own slave address + W received. ACK trans-
mitted.
Wait for data.
0x68 Arbitration lost in sending SLA + R/W as mas-
ter. Own address + W received. ACK transmit-
ted.
Save current data for retry when bus is
free
. Wait for data.
0x70 General call address received. ACK transmit-
ted.
Wait for data.
0x78 Arbitration lost in sending SLA + R/W as mas-
ter. General call address received. ACK trans-
mitted.
Save current data for retry when bus is
free
.
0x80 Data byte received. ACK transmitted. Read SMB0DAT. Wait for next byte or
STOP.
0x88 Data byte received. NACK transmitted. Set STO to reset SMBus.
0x90 Data byte received after general call address.
ACK transmitted.
Read SMB0DAT. Wait for next byte or
STOP.
0x98 Data byte received after general call address.
NACK transmitted.
Set STO to reset SMBus.
0xA0 STOP or repeated START received.
No action necessary.
Slave Transmitter
0xA8 Own address + R received. ACK transmitted. Load SMB0DAT with data to transmit.
0xB0 Arbitration lost in transmitting SLA + R/W as
ma
ster. Own address + R received. ACK
transmitted.
Save current data for retry when bus is
free. Load SMB0DAT with data to trans-
mit.
0xB8 Data byte transmitted. ACK
received. Load SMB0DAT with data to transmit.
0xC0 Data byte transmitted. NACK received. Wait for STOP.
0xC8 Last data byte transmitted (AA=0). ACK
r
eceived.
Set STO to reset SMBus.
Slave
0xD0 SCL Clock High Timer per SMB0CR timed out Set STO to reset SMBus.
All
0x00 Bus Error (illegal START or STOP) Set STO to reset SMBus.
0xF8 Idle State does not set SI.
Table 19.1. SMB0STA Status Codes and States (Continued)
Mode
Status
Code
SMBus State Typical Action