FOR
FOR
enCoRe™ USB CY7C63722/23
CY7C63743
Document #: 38-08022 Rev. **
Page 42 of 58
22.0
USB Mode Tables
The following tables give details on mode setting for the USB Serial Interface Engine (SIE) for both the control endpoint (EP0)
and non-control endpoints (EP1 and EP2).
Note:
3.
STALL bit is the bit 7 of the USB Non-Control Device Endpoint Mode registers. Refer to Section 14.3 for more explanation.
Mode Column:
The 'Mode' column contains the mnemonic names given to the modes of the endpoint. The mode of the endpoint is determined
by the four-bit binaries in the 'Encoding' column as discussed below. The Status IN and Status OUT modes represent the status
IN or OUT stage of the control transfer.
Encoding Column:
The contents of the 'Encoding' column represent the Mode Bits [3:0] of the Endpoint Mode Registers (Figure 14-2 and
Figure 14-3). The endpoint modes determine how the SIE responds to different tokens that the host sends to the endpoints. For
example, if the Mode Bits [3:0] of the Endpoint 0 Mode Register (Figure 14-2) are set to '0001', which is NAK IN/OUT mode as
shown in Table 22-1 above, the SIE of the part will send an ACK handshake in response to SETUP tokens and NAK any IN or
OUT tokens. For more information on the functionality of the Serial Interface Engine (SIE), see Section 13.0.
SETUP, IN, and OUT Columns:
Depending on the mode specified in the 'Encoding' column, the 'SETUP', 'IN', and 'OUT' columns contain the device SIE's
responses when the endpoint receives SETUP, IN, and OUT tokens respectively.
A 'Check' in the Out column means that upon receiving an OUT token the SIE checks to see whether the OUT is of zero length
and has a Data Toggle (Data1/0) of 1. If these conditions are true, the SIE responds with an ACK. If any of the above conditions
is not met, the SIE will respond with either a STALL or Ignore. Table 22-3 gives a detailed analysis of all possible cases.
A 'TX Count' entry in the IN column means that the SIE will transmit the number of bytes specified in the Byte Count Bit [3:0] of
the Endpoint Count Register (Figure 14-4) in response to any IN token.
Table 22-1. USB Register Mode Encoding for Control and Non-Control Endpoints
Mode
Encoding
SETUP
IN
OUT
Comments
Disable
0000
Ignore
Ignore
Ignore
Ignore all USB traffic to this endpoint
NAK IN/OUT
0001
Accept
NAK
NAK
On Control endpoint, after successfully sending an ACK
handshake to a SETUP packet, the SIE forces the
endpoint mode (from modes other than 0000) to 0001.
The mode is also changed by the SIE to 0001 from mode
1011 on issuance of ACK handshake to an OUT.
Status OUT Only
0010
Accept
STALL
Check
For Control endpoints
STALL IN/OUT
0011
Accept
STALL
STALL
For Control endpoints
Ignore IN/OUT
0100
Accept
Ignore
Ignore
For Control endpoints
Reserved
0101
Ignore
Ignore
Always Reserved
Status IN Only
0110
Accept
TX 0 Byte
STALL
For Control Endpoints
Reserved
0111
Ignore
TX Count
Ignore
Reserved
NAK OUT
1000
Ignore
Ignore
NAK
In mode 1001, after sending an ACK handshake to an
OUT, the SIE changes the mode to 1000
ACK OUT(STALL[3]=0)
ACK OUT(STALL[3]=1)
1001
1001
Ignore
Ignore
Ignore
Ignore
ACK
STALL
This mode is changed by the SIE to mode 1000 on
issuance of ACK handshake to an OUT
NAK OUT - Status IN
1010
Accept
TX 0 Byte
NAK
ACK OUT - NAK IN
1011
Accept
NAK
ACK
This mode is changed by the SIE to mode 0001 on
issuance of ACK handshake to an OUT
NAK IN
1100
Ignore
NAK
Ignore
An ACK from mode 1101 changes the mode to 1100
ACK IN(STALL[3]=0)
ACK IN(STALL[3]=1)
1101
1101
Ignore
Ignore
TX Count
STALL
Ignore
Ignore
This mode is changed by the SIE to mode 1100 on
issuance of ACK handshake to an IN
NAK IN - Status OUT
1110
Accept
NAK
Check
An ACK from mode 1111 changes the mode to 1110
ACK IN - Status OUT
1111
Accept
TX Count
Check
This mode is changed by the SIE to mode 1110 on
issuance of ACK handshake to an IN