Register Map
13-33
USB Function Module
13.2.12.3
Receive DMA CH.n EOT Interrupt Flag (RXn_EOT)
Only for non-isochronous DMA transfer. This bit is never set for isochronous
DMA transfer.
This bit is set automatically by the core when a receive DMA channel has
detected an end of transfer (EOT) packet during the last OUT transaction from
the USB host. This bit is set after RX DMA data has been read (end of DMA
request). When this happens, the DMA-assigned endpoint FIFO is kept dis-
abled (the FIFO_En = 0) to avoid receiving a new packet data from the USB
host. The local host can grant another DMA transfer to the same endpoint by
simply enabling the FIFO again (the FIFO_En = 1).
An end of transfer is detected when the core receives a data packet whose size
is less than the configured endpoint FIFO size (or empty) or when RXn_TC
equals 0 after an OUT transaction with ACK status and the RXn_Stop bit is set.
When this bit is asserted, the local host must read the DMAn_RX_IT_src to
identify the endpoint number for which the transfer completed and must read
the DMAn_RX_SB to be informed of an odd number of bytes received during
the last transaction (useful for 16-bit read access from DATA_DMA register).
The endpoint interrupt EPn_RX bit is never set for the assigned endpoint to
RX DMA channel.
0: No action
1: Non-isochronous receive DMA transfer for a channel has ended.
Value after local host or USB reset is low.
13.2.12.4
Start Of Frame Interrupt Flag (SOF)
Every millisecond, the USB host outputs a start of frame packet to the func-
tions. The SOF bit reflects when a new SOF is received. Writing a 1 to the SOF
bit location clears the flag. Writing a 0 has no effect.
In accordance with the USB1.1 spec, if an SOF is not received or is corrupted,
the core still sets this flag at the same rate (if bit FT_Lock = 1) or after 12043
USB bit times (if bit FT_lock = 0).
0: No action
1: Start of frame packet received (or internal SOF)
Value after local host or USB reset is low.