
6. Functional Description
20
EPSON
S1R72V17*** Technical Manual (Rev.1.6)
6.2.2.4
Bulk/Interrupt IN Transactions
When the FIFO for an IN-direction bulk/interrupt endpoint has a quantity of data equivalent to Max.
packet size, or short packet transmission for that endpoint has been enabled by the firmware, the
LSI sends back a data packet in response to the IN transaction.
Transmission of short packets (including packets with data length of 0) is enabled by setting the
D_EP0ControlIN.EnShortPkt bit or D_EPx{x=a-e}Control.EnShortPkt bit. When transmitting short
packets, make sure that no new data will be written to the FIFO for the endpoint concerned before
the transaction is completed after packet transmission has been enabled.
For the endpoint EP0, when the IN transaction to transmit a short packet is completed, the
D_EP0ControlIN.ForceNAK bit is set.
When ACK is received in the IN transaction by which data was sent back to the host, the LSI
completes the transaction and issues an IN_TranACK status (D_EPx{x=0,
a-e}IntStat.IN_TranACK bit) to the firmware. It also updates the FIFO and assuming the
transmitted data to have been transmitted, frees the storage area.
If ACK is not received in the IN transaction by which data was sent back to the host, the LSI
assumes that the transaction has failed and issues an IN_TranErr status (D_EPx{x=0,
a-e}IntStat.IN_TranErr bit) to the firmware. It does not update the FIFO, nor does it free the storage
area.
When the FIFO does not have a quantity of data equivalent to the Max. packet size for an
IN-direction bulk/interrupt endpoint, or short packet transmission for that endpoint has not been
enabled by the firmware, the LSI responds with NAK for the IN transaction and issues
IN_TranNAK status (EPx{x=0, a-e}IntStat.IN_TranNAK bit) to the firmware. It does not update
the FIFO, and it does not free the storage area.
Fig. 6.3 shows how a Bulk or Interrupt IN transaction is performed in device mode in cases in
which the transaction is completed. In (a), the host issues an IN token addressed to the IN-direction
endpoint present in this node. In (b), if the LSI can respond to this IN transaction, it transmits a data
packet within Max. packet size. In (c), the host responds with ACK. When the LSI receives ACK, it
sets up the registers to be automatically set and issues a status to the firmware.