C8051F336/7/8/9
Table 21.5. SMBus Status Decoding With Hardware ACK Generation Disabled
(EHACK = 0) (Continued)
Values to
Write
Values Read
Current SMbus State
Typical Response Options
A slave byte was transmitted; No action required (expecting
0
0
0
0
0
1
0
1
0
0
0
0
0
0
X
X
X
0001
0100
0001
NACK received.
A slave byte was transmitted; Load SMB0DAT with next data
ACK received. byte to transmit.
A Slave byte was transmitted; No action required (expecting
STOP condition).
0100
0101
X
error detected.
Master to end transfer).
An illegal STOP or bus error
X was detected while a Slave
Transmission was in progress.
0
1
X
0
Clear STO.
0
0
0
0
X
1
-
If Write, Acknowledge received
address
0000
A slave address + R/W was
received; ACK requested.
X
If Read, Load SMB0DAT with
data byte; ACK received address
0
0
0
0
0
0
1
0
1
0100
-
NACK received address.
If Write, Acknowledge received
address
0010
0000
If Read, Load SMB0DAT with
data byte; ACK received address
Lost arbitration as master;
X slave address + R/W received;
ACK requested.
0
0
1
0
0
0
1
0
0
0100
-
1
1
NACK received address.
Reschedule failed transfer;
NACK received address.
1110
A STOP was detected while
0
1
0
1
X addressed as a Slave Trans- Clear STO.
mitter or Slave Receiver.
0
0
X
-
0001
0000
Lost arbitration while attempt- No action required (transfer
X
0
0
0
0
0
1
-
ing a STOP.
complete/aborted).
Acknowledge received byte;
Read SMB0DAT.
0000
A slave byte was received;
ACK requested.
1
0
X
NACK received byte.
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
X
X
X
X
0
-
Abort failed transfer.
-
Lost arbitration while attempt-
ing a repeated START.
0010
0001
0000
0
0
1
1
1
1
X
X
X
Reschedule failed transfer.
Abort failed transfer.
1110
-
Lost arbitration due to a
detected STOP.
Reschedule failed transfer.
Abort failed transfer.
1110
-
Lost arbitration while transmit-
ting a data byte as master.
Reschedule failed transfer.
0
1110
Rev. 0.2
163