
iXPeRiPheRaLMoDuLes7(usB):usBFunCtionContRoLLeR(usB)
iX-1-12
ePson
s1C33L17teChniCaLManuaL
intransaction
On an IN endpoint, if maximum packet size data exist in the FIFO or if the firmware has granted permission for
short-packet transmission, the macro responds to the IN transaction, returning the data packet.
A permission for short-packet data transmission (including zero-length packets) is granted by setting the
EP0ControlIN.EnShortPkt bit and the EPx{x=a,b,c,d}Control.EnShortPkt bit. When transmitting a short-packet
data, make sure that no attempt is made to write any new data into the endpoint's FIFO after the transmission
permission is granted and until the transaction is closed.
On the EP0 endpoint, the EP0ControlIN.ForceNAK bit is set after the IN transaction that transmits the short-
packet data is closed.
After an ACK response is received in the IN transaction that has returned the data, the transaction is closed,
followed by issuance of an IN_TranACK status (EPx{x=0,a,b,c,d}IntStat.IN_TranACK bit). Also, the FIFO is
updated to acknowledge completion of the data transmission and to free the space.
If an ACK response is not received in the IN transaction that has returned the data, the transaction is considered
as a failure, followed by issuance of an IN_TranErr status (EPx{x=0,a,b,c,d}IntStat.IN_TranErr bit).
Accordingly, the FIFO is not updated, or no space is freed.
In on an IN endpoint, if no maximum packet size data exist in the FIFO and no permission is granted
for short-packet transmission, the IN transaction receives a NAK response and an IN_TranNAK status
(EPx{x=0,a,b,c,d}IntStat.IN_TranNAK bit) is issued to the firmware. Accordingly, the FIFO is not updated, or
no space is freed.
Figure IX.1.4.1.3 illustrates how a successful IN transaction is executed and closed.
(a) The host issues an IN token addressed to an IN endpoint present on this node.
(b) If response is possible for this IN transaction, the macro transmits a data packet under the maximum packet
size.
(c) The host returns an ACK response. After receiving an ACK response, the macro sets registers to be
automatically set up and issues a status to the firmware.
IN
a
ACK
c
DATA
b
HosttoDevice
DevicetoHost
FigureIX.1.4.1.3INTransaction