DMA Operation
13-115
USB Function Module
After an end of transfer interrupt, the local host must set the Set_FIFO_
En for the endpoint to reenable the channel.
The local host must not initiate a new RX DMA transfer until it receives
an end-of-transfer interrupt.
-
Transactions count interrupt (the RXn_Cnt)
This interrupt performs watermark control. It can be used by the local host
to monitor the file size of incoming transfers and take appropriate actions
if, for instance, the file being received exceeds an expected size.
A transaction count interrupt does not disable the ongoing DMA transfer.
A transaction count interrupt occurs each time the number of received
transactions (and not bytes) has reached the programmed value in the
receive transaction counter for the DMA channel. One transaction has a
size equal to the buffer size of the selected non-isochronous endpoint. An
RXn_Count interrupt is asserted even if RXn_Stop has been set: in that
case, both RXn_Count and RXn_EOT interrupts are asserted.
The transaction count watermark is programmed in the RXDMAn register.
Figure 13–35. Non-Isochronous RX DMA Transaction Example (RX_TC = 2)
1
Host message
System DMA read
Dma_request
1
2
2
3
3
4
4
Rx Count IT
Rx EOT IT
5
5
6
6
7
7
Rx Count IT
2
1
0
2
1
0
2
1
RxTC
EOT