Rev. 1.2
213
C8051T620/1/6/7 & C8051T320/1/2/3
Table 24.6. SMBus Status Decoding With Hardware ACK Generation Enabled (EHACK = 1)
M
ode
Values Read
Current SMbus State
Typical Response Options
Values to
Write
Next S
tatus
V
e
ct
o
r Exp
e
ct
ed
St
a
tu
s
Ve
c
to
r
AC
KRQ
ARB
LOST
AC
K
ST
A
ST
O
AC
K
M
a
st
er T
ran
s
m
it
te
r
1110
0
0
X
A master START was gener-
ated.
Load slave a R/W into
SMB0DAT.
0
0
X
1100
1100
0
0
0
A master data or address byte
was transmitted; NACK
received.
Set STA to restart transfer.
1
0
X
1110
Abort transfer.
0
1
X
—
0
0
1
A master data or address byte
was transmitted; ACK
received.
Load next data byte into
SMB0DAT.
0
0
X
1100
End transfer with STOP.
0
1
X
—
End transfer with STOP and start
another transfer.
1
1
X
—
Send repeated START.
1
0
X
1110
Switch to Master Receiver Mode
(clear SI without writing new data
to SMB0DAT). Set ACK for initial
data byte.
0
0
1
1000
Ma
st
er Rec
e
iver
1000
0
0
1
A master data byte was
received; ACK sent.
Set ACK for next data byte;
Read SMB0DAT.
0
0
1
1000
Set NACK to indicate next data
byte as the last data byte;
Read SMB0DAT.
0
0
0
1000
Initiate repeated START.
1
0
0
1110
Switch to Master Transmitter
Mode (write to SMB0DAT before
clearing SI).
0
0
X
1100
0
0
0
A master data byte was
received; NACK sent (last
byte).
Read SMB0DAT; send STOP.
0
1
0
—
Read SMB0DAT; Send STOP
followed by START.
1
1
0
1110
Initiate repeated START.
1
0
0
1110
Switch to Master Transmitter
Mode (write to SMB0DAT before
clearing SI).
0
0
X
1100