Universal Serial Bus Specification Revision 2.0
Host |
|
Hub |
FS/LS |
(data toggle) |
|
(status) |
device |
|
|
No buffers |
(data toggle) |
0 |
|
0 |
|
available |
|
|
|
st1 |
SSPLIT |
st1 |
|
|
|
|
st2 |
IN |
st2 |
|
|
|
|
|
NAK |
sh3 |
|
TRANS_ERR |
|
|
se4->se2 |
|
|
|
st1 |
SSPLIT(retry) |
|
|
st1 |
|
|
|
|
st2 |
IN |
st2 |
|
|
|
|
|
NAK |
sh3 |
|
TRANS_ERR |
|
|
se4->se2 |
|
|
|
st1 |
SSPLIT(retry) |
|
|
st1 |
|
|
|
|
st2 |
IN |
st2 |
|
|
|
|
NAK sh3
TRANS_ERR
se4->se3
ENDPOINT HALT
Figure A-41. No Buffer Available HS NAK(S) 3 Strikes Smash
Universal Serial Bus Specification Revision 2.0
Host
(data toggle)
0
st1
st2
sh1
ct1
ct2
ch1
ct1
ct2
ch5
1
|
|
Hub |
FS/LS |
|
|
(status) |
device |
|
|
|
(data toggle) |
|
|
Old/x |
0 |
SSPLIT |
st1 |
|
|
|
|
|
IN |
st2 |
|
|
|
|
|
ACK |
sh1 |
Pending/x |
|
CSPLIT
ct1
IN
ct2
NYET ch1
IN
DATA0
1
CSPLIT(retry) ct1
IN
ct2
Figure A-42. CS Earlier No Smash(HS NYET)
Universal Serial Bus Specification Revision 2.0
Host |
|
|
Hub |
FS/LS |
(data toggle) |
|
|
(status) |
device |
|
|
|
|
(data toggle) |
0 |
|
|
Old/x |
0 |
st1 |
SSPLIT |
st1 |
|
|
|
|
|
|
st2 |
IN |
st2 |
|
|
|
|
|
|
sh1 |
ACK |
sh1 |
Pending/x |
|
|
|
|
|
ct1 |
CSPLIT |
|
|
|
|
ct1 |
|
|
|
|
|
|
ct2 |
IN |
ct2 |
|
|
|
|
|
|
|
NYET |
ch1 |
|
IN |
|
|
|
|
TRANS_ERR |
|
|
DATA0 |
ce6->ce4 |
|
|
|
|
|
|
|
Ready/data |
ACK |
|
CSPLIT(retry imm.) |
|
1 |
ct1 |
|
|
|
ct1 |
|
|
|
|
|
|
ct2 |
IN |
ct2 |
|
|
|
|
|
|
ch5 |
DATA0 |
cd1 |
Old/data |
|
|
|
|
|
1
Figure A-43. CS Earlier HS NYET Smash(case 1)
Universal Serial Bus Specification Revision 2.0
Host |
|
|
Hub |
FS/LS |
(data toggle) |
|
|
(status) |
device |
|
|
|
|
(data toggle) |
0 |
|
|
Old/x |
0 |
st1 |
SSPLIT |
st1 |
|
|
|
|
|
|
st2 |
IN |
st2 |
|
|
|
|
|
|
sh1 |
ACK |
sh1 |
Pending/x |
|
|
|
|
|
ct1 |
CSPLIT |
ct1 |
|
|
ct2 |
IN |
ct2 |
|
|
|
NYET |
ch1 |
TRANS_ERR |
|
ce6->ce4 |
|
ct1 |
CSPLIT(retry imm.) |
|
ct1 |
|
|
ct2 |
IN |
ct2 |
|
|
|
|
IN |
ch1 |
NYET |
ch1 |
|
|
DATA0
1
ct1 |
CSPLIT(retry) |
|
|
ct1 |
|
|
|
|
ct2 |
IN |
ct2 |
|
|
|
|
ch5 |
DATA0 |
cd1 |
Old/data |
|
|
|
1
Figure A-44. CS Earlier HS NYET Smash(case 2)
Host
(data toggle)
0
st1
st2
sh1
ct1
ct2
ch2
st1
st2
sh1
ct1
ct2
ch5
1
Universal Serial Bus Specification Revision 2.0
|
|
Hub |
FS/LS |
|
|
(status) |
device |
|
|
|
(data toggle) |
|
|
Old/x |
0 |
SSPLIT |
st1 |
|
|
|
|
|
IN |
st2 |
|
|
|
|
|
ACK |
sh1 |
Pending/x |
|
IN
NAK
CSPLIT |
|
Ready/nak |
|
ct1 |
|
IN |
ct2 |
|
|
|
NAK |
ch2 |
Old/nak |
SSPLIT(retry)
st1
|
|
IN |
|
|
DATA0 |
CSPLIT |
|
Ready/data |
|
ct1 |
ACK |
|
|
IN |
ct2 |
1 |
|
|
DATA0 |
cd1 |
Old/data |
Figure A-45. Device Busy No Smash(FS/LS NAK)
Universal Serial Bus Specification Revision 2.0
Host |
|
|
Hub |
FS/LS |
(data toggle) |
|
|
(status) |
device |
|
|
|
|
(data toggle) |
0 |
|
|
Old/x |
0 |
st1 |
SSPLIT |
st1 |
|
|
|
|
|
|
st2 |
IN |
st2 |
|
|
|
|
|
|
sh1 |
ACK |
sh1 |
Pending/x |
|
|
|
|
|
IN
STALL
|
|
|
Ready/stall |
ct1 |
CSPLIT |
ct1 |
|
|
|
|
ct2 |
IN |
ct2 |
|
|
|
|
ch3 |
STALL |
ch3 |
Old/stall |
|
|
|
1
ENDPOINT HALT
Figure A-46. Device Stall No Smash(FS/LS STALL)
Universal Serial Bus Specification Revision 2.0
A.3 Interrupt OUT Transaction Examples
Legend:
(S): Start Split
(C): Complete Split
Summary of cases for Interrupt OUT transaction
•Normal cases
Case
No smash
(FS/LS handshake packet is done by M+1)
HS SSPLIT smash
HS SSPLIT 3 strikes smash
HS OUT(S) smash
HS OUT(S) 3 strikes smash
HS DATA0/1 smash
HS DATA0/1 3 strikes smash
HS CSPLIT smash
HS CSPLIT 3 strikes smash
HS OUT(C) smash
HS OUT(C) 3 strikes smash
HS ACK(C) smash
HS ACK(C) 3 strikes smash
FS/LS OUT smash
FS/LS OUT 3 strikes smash
FS/LS DATA0/1 smash
FS/LS DATA0/1 3 strikes smash
FS/LS ACK smash
Reference
Figure
Figure A-47
No figure
No figure
Figure A-48
No figure
Figure A-49
Figure A-50
Figure A-51
Figure A-52
No figure
Figure A-53
No figure
Figure A-54
Similar Figure
Figure A-48
Figure A-48
Figure A-49
Figure A-50
Figure A-53
Universal Serial Bus Specification Revision 2.0
FS/LS ACK 3 strikes smash |
No figure |
|
|
• Searcing |
|
|
|
|
|
|
|
Case |
Reference |
Similar Figure |
|
|
Figure |
|
|
|
|
|
|
No smash |
Figure A-55 |
|
|
|
|
|
•CS(Complete-split transaction) earlier cases
Case |
Reference |
Similar Figure |
|
Figure |
|
|
|
|
No smash (HS NYETand FS/LS handshake packet is done by M+2)
No smash(HS NYET and FS/LS handshake packet is done by M+3)
HS NYET smash |
Figure A-58 |
|
|
HS NYET 3 strikes smash |
Figure A-59 |
|
|
•Abort and Free cases
Case |
Reference |
Similar Figure |
|
Figure |
|
|
|
|
No smash and abort (HS NYETand FS/LS transaction is continued at end of M+3)
No smash and free(HS NYETand FS/LS transaction is not started at end of M+3)
•FS/LS transaction error cases
Case |
Reference |
Similar Figure |
|
Figure |
|
|
|
|
HS ERR smash |
|
Figure A-51 |
|
|
|
HS ERR 3 strikes smash |
|
Figure A-52 |
|
|
|
•Device busy cases
Universal Serial Bus Specification Revision 2.0
Case |
Reference |
Similar Figure |
|
Figure |
|
|
|
|
No smash(HS NAK(C)) |
Figure A-62 |
|
|
|
|
HS NAK(C) smash |
|
Figure A-51 |
|
|
|
HS NAK(C) 3 strikes smash |
|
Figure A-52 |
|
|
|
FS/LS NAK smash |
|
Figure A-53 |
|
|
|
FS/LS NAK 3 strikes smash |
No figure |
|
|
|
|
•Device stall cases
Case |
Reference |
Similar Figure |
|
Figure |
|
|
|
|
No smash
HS STALL(C) smash
HS STALL(C) 3 strikes smash
FS/LS STALL smash
FS/LS STALL 3 strikes smash
Figure A-51
Figure A-52
Figure A-53
Universal Serial Bus Specification Revision 2.0
Host
(data toggle)
|
0 |
|
|
uFrame M |
st1 |
SSPLIT |
st1 |
|
|
|
|
st2 |
OUT |
st2 |
|
|
|
|
sh1 |
DATA0 |
sd1 |
|
|
|
Hub
(SS: start sp. status CS: comp. sp. status)
SS:Free/x
FS/LS device
(data toggle) 0
uFrame M+1
|
|
|
|
CS:Ready/ack |
uFrame M+2 |
ct1 |
CSPLIT |
ct1 |
|
|
|
|
|
|
ct2 |
OUT |
ct2 |
|
|
|
|
|
|
|
ACK |
ch2 |
CS:Old/ack |
|
ch2 |
|
|
|
|
|
1 |
|
|
|
|
uFrame M+3 |
Host does not issue 2nd CSPLIT, |
CS:Free/x |
|
because host already receives ACK |
|
|
on previous microframe. |
|
|
uFrame M+4 Host does not issue 3rd CSPLIT, |
SS:Free/x |
because host already receives ACK |
|
on previous microframe. |
|
uFrame M+5
Figure A-47. Normal No Smash(FS/LS Handshake Packet is Done by M+1)