C8051F80x-83x
Table 26.6. SMBus Status Decoding With Hardware ACK Generation Enabled (EHACK = 1)
(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
0
0
0
X
X
X
X
0001
0100
0001
—
0
0
0
0
0
1
0
1
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
0
0
X
0
X was detected while a Slave
Transmission was in progress.
Clear STO.
If Write, Set ACK for first data
byte.
0
0
0
0
0
0
0
0
1
X
1
0000
0100
0000
0100
A slave address + R/W was
X
received; ACK sent.
If Read, Load SMB0DAT with
data byte
0010
If Write, Set ACK for first data
byte.
Lost arbitration as master;
0
1
X slave address + R/W received; If Read, Load SMB0DAT with
X
ACK sent.
data byte
Reschedule failed transfer
1
0
0
0
X
X
1110
—
A STOP was detected while
0
0
0
1
X addressed as a Slave Trans- Clear STO.
mitter or Slave Receiver.
0001
0000
Lost arbitration while attempt- No action required (transfer
X
0
0
0
0
0
0
0
1
0
—
ing a STOP.
complete/aborted).
Set ACK for next data byte;
Read SMB0DAT.
0000
0000
0
0
X A slave byte was received.
Set NACK for next data byte;
Read SMB0DAT.
Abort failed transfer.
0
1
0
1
0
1
0
0
0
0
0
0
X
X
X
X
X
X
—
1110
—
Lost arbitration while attempt-
ing a repeated START.
0010
0001
0
0
1
1
X
Reschedule failed transfer.
Abort failed transfer.
Lost arbitration due to a
detected STOP.
X
Reschedule failed transfer.
Abort failed transfer.
1110
—
Lost arbitration while transmit-
ting a data byte as master.
0000
0
1
X
1110
Reschedule failed transfer.
200
Rev. 1.0