Functional Description
If the software is loading one packet per frame(/microframe) and it finds that the TXPKTRDY bit in the
PERI_TXCSR register (bit 0) is set when it wants to load the next packet, this indicates that a data packet
has not been sent (perhaps because an IN token from the host was corrupted). It is up to the application
how it handles this condition: it may choose to flush the unsent packet by setting the FLUSHFIFO bit in
the PERI_TXCSR register (bit 3), or it may choose to skip the current packet.
16.3.8.1.4.2 Isochronous OUT Transactions: Peripheral Mode
An isochronous OUT transaction is used to transfer periodic data from the host to the function controller.
Following optional features are available for use with an Rx endpoint used in Peripheral mode for
Isochronous OUT transactions:
•
Double packet buffering: When enabled, up to two packets can be stored in the FIFO on reception
from the host. Double packet buffering is enabled by setting the DPB bit of RXFIFOSZ register (bit 4).
NOTE: Double packet buffering is generally advisable for Isochronous transactions in order to avoid
overrun errors.
•
DMA: If DMA is enabled for the endpoint, a DMA request will be generated whenever the endpoint has
a packet in its FIFO. This feature can be used to allow the DMA controller to unload packets from the
FIFO without processor intervention.
However, this feature is not particularly useful with Isochronous endpoints because the packets
transferred are often not maximum packet size and the PERI_RXCSR register needs to be accessed
following every packet to check for Overrun or CRC errors.
When DMA is enabled, endpoint interrupt will not be generated for completion of packet reception.
Endpoint interrupt will be generated only in the error conditions.
16.3.8.1.4.2.1 Isochronous OUT Setup: Peripheral Mode
In configuring an Rx endpoint for Isochronous OUT transactions, the RXMAXP register must be written
with the maximum packet size (in bytes) for the endpoint. This value should be the same as the
wMaxPacketSize field of the Standard Endpoint Descriptor for the endpoint. In addition, the relevant
interrupt enable bit in the INTRRXE register should be set (if an interrupt is required for this endpoint) and
the PERI_RXCSR register should be set as shown in
Table 16-7. PERI_RXCSR Register Bit Configuration for Isochronous OUT Transactions
Bit Field
Bit Name
Description
Bit 15
AUTOCLEAR
Cleared to 0 if using DMA. In CPU Mode of usage, if the CPU sets AUTOCLEAR bit,
the RXPKTRDY bit will be automatically cleared when a packet of RXMAXP bytes
has been unloaded from the Receive FIFO.
Bit 14
ISO
Set to 1 to configure endpoint usage for Isochronous transfer.
Bit 13
DMAEN
Set to 1 if a DMA request is required for this Rx endpoint.
Bit 12
DISNYET
Ignored in Isochronous Mode.
Bit 11
DMAMODE
Always clear this bit to 0.
1716
Universal Serial Bus (USB)
SPRUH73H – October 2011 – Revised April 2013
Copyright © 2011–2013, Texas Instruments Incorporated