HS_USB 2.0 device
RM0082
472/844
Doc ID 018672 Rev 1
USB host. When the transmission is complete, the status is written back into the buffer
descriptor’s status quadlet. Then, the subsystem clears the endpoint-specific poll demand
bit once the descriptor chain reaches the last descriptor.
Note:
The application can read the poll demand bit to determine if the descriptor chain is serviced
or not.
In transfers with ISO endpoints are handled similarly. In this case, the transfer of in data from
the application memory to the endpoint FIFO is not initiated by request tokens from the USB
host, but the application sets the poll demand bit of CSR as soon as data is available.
Following bit setting, the UDC-AHB subsystem tags data for isochronous endpoints with a
frame number. The UDC, which maintains the frame counter, sends the isochronous data in
the intended frame, whereas the SOF tracker module (
) tracks the
incoming SOFs and their frame numbers. Three distinct scenarios can be raised up:
●
if the incoming frame number matches the frame number in the buffer, the UDC is
allowed to transfer the frame from the appropriate data buffer.
●
if the frame number in the SOF is greater than the frame number in the frame counter
of UDC, the DMA module skips the buffers to align to the correct frame number.
●
if the frame number in the SOF is less than the subsystem’s frame number, the DMA
waits for a few frames to align to the correct frame number.
Hooks are provided for the application to flush the subsystem’s FIFOs in case of missing
SOFs. The transaction flow of in data from the USB Host to the application memory is given
in
.