CY7C64013C
CY7C64113C
Document #: 38-08001 Rev. *B Page 39 of 51
19.0 USB Mode Tables
Mode
This lists the mnemonic given to the different modes that can be set in the Endpoint Mode Register by writing to the lower nibble
(bits 0..3). The bit settings for different modes are covered in the column marked “Mode Bits”. The Status IN and Status OUT
represent the Status stage in the IN or OUT transfer involving the control endpoint.
Mode Bits
These column lists the encoding for different modes by setting Bits[3..0] of the Endpoint Mode register. This modes represents
how the SIE responds to different tokens sent by the host to an endpoint. For instance, if the mode bits are set to “0001” (NAK
IN/OUT), the SIE will respond with an
• ACK on receiving a SETUP token from the host
• NAK on receiving an OUT token from the host
• NAK on receiving an IN token from the host
Refer to section 13.0 for more information on the SIE functioning
SETUP, IN and OUT
These columns shows the SIE’s response to the host on receiving a SETUP, IN and OUT token depending on the mode set in
the Endpoint Mode Register.
A “Check” on the OUT token column, implies that on receiving an OUT token the SIE checks to see whether the OUT packet is
of zero length and has a Data Toggle (DTOG) set to ‘1.’ If the DTOG bit is set and the received OUT Packet has zero length, the
OUT is ACKed to complete the transaction. If either of this condition is not met the SIE will respond with a STALLL or just ignore
the transaction.
A “TX Count” entry in the IN column implies that the SIE transmit the number of bytes specified in the Byte Count (bits 3..0 of the
Endpoint Count Register) to the host in response to the IN token received.
A “TX0 Byte” entry in the IN column implies that the SIE transmit a zero length byte packet in response to the IN token received
from the host.
An “Ignore” in any of the columns means that the device will not send any handshake tokens (no ACK) to the host.
Table 19-1. USB Register Mode Encoding
Mode Mode Bits SETUP IN OUT Comments
Disable 0000 ignore ignore ignore Ignore all USB traffic to this endpoint
Nak In/Out 0001 accept NAK NAK Forced from Setup on Control endpoint, from modes other than
0000
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
Isochronous Out 0101 ignore ignore always For Isochronous endpoints
Status In Only 0110 accept TX 0 BYte stall For Control Endpoints
Isochronous In 0111 ignore TX Count ignore For Isochronous endpoints
Nak Out 1000 ignore ignore NAK Is set by SIE on an ACK from mode 1001 (Ack Out)
Ack
Out(STALL[3]=0)
Ack
Out(STALL[3]=1)
1001
1001
ignore
ignore
ignore
ignore
ACK
stall
On issuance of an ACK this mode is changed by SIE to 1000
(NAK Out)
Nak Out - Status In 1010 accept TX 0 BYte NAK Is set by SIE on an ACK from mode 1011 (Ack Out- Status In)
Ack Out - Status In 1011 accept TX 0 BYte ACK On issuance of an ACK this mode is changed by SIE to 1010
(NAK Out - Status In)
Nak In 1100 ignore NAK ignore Is set by SIE on an ACK from mode 1101 (Ack In)
Ack
IN(STALL[3]=0)
Ack
IN(STALL[3]=1)
1101
1101
ignore
ignore
TX Count
stall
ignore
ignore
On issuance of an ACK this mode is changed by SIE to 1100
(NAK In)
Nak In - Status Out 1110 accept NAK check Is set by SIE on an ACK from mode 1111 (Ack In - Status Out)
Ack I n - Sta tus O ut 1111 acce pt TX C ount chec k O n iss uan ce of an AC K thi s mo de is chan ged by SIE to 1110
(NAK In - Status Out)
[+] Feedback