EasyManuals Logo

Maxim Integrated MAX32665 User Manual

Maxim Integrated MAX32665
457 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #407 background imageLoading...
Page #407 background image
MAX32665-MAX32668 User Guide
Maxim Integrated Page 407 of 457
Bulk OUT Endpoint Option
Description
Error Handling
A STALL packet is used to indicate that an endpoint has an error. To shut down the Bulk OUT
endpoint transfer, set USBHS_OUTCSRL.sendstall = 1. When the USBHS receives the next packet, it
then sends a STALL to the Host, sets the USBHS_OUTCSRL.sentstall bit, and generates an interrupt.
21.9 Interrupt Endpoints
21.9.1 Interrupt IN Endpoints
Interrupt IN endpoints use the same protocols as Bulk IN endpoints and are used the same way. Although DMA can be
used, there is little benefit as Interrupt IN endpoints transfer all their data in a single packet.
One feature supported by Interrupt IN endpoints and not Bulk IN endpoints is continuous toggle of the Data-Toggle bit. This
feature is enabled by setting bit USBHS_INCSRU.frcdatatog = 1. When continuous toggling of the Data-Toggle bit is enabled,
USBHS always considers a transmitted Interrupt packet as successfully sent and toggles Data-Toggle regardless of whether
an ACK was received from the Host.
21.9.2 Interrupt OUT Endpoints
Interrupt OUT endpoints use almost the same protocols as Bulk OUT endpoints and are used in the same way. Although
DMA can be used, there is little benefit as Interrupt OUT endpoints receive all their data in a single packet.
One feature not supported by Interrupt OUT endpoints that is supported by Bulk OUT endpoints is PING flow control.
Because of this, Interrupt OUT endpoints cannot respond with NYET (Not Yet) handshakes. Instead, they can only respond
with ACK, NAK, or STALL.
21.10 Isochronous Endpoints
21.10.1 Isochronous IN Endpoints
An Isochronous IN endpoint is used to transfer time-sensitive but loss-tolerant data from a USB Device to a USB Host. Five
optional features are available for use with an Isochronous IN endpoint as shown in Table 21-3.
Table 21-3: USB Isochronous IN Endpoint Options
Isochronous IN Endpoint Option
Description
Double Packet Buffering
When the value written to the USBHS_INMAXP register is less than or equal to half the size of the
FIFO allocated to the endpoint, and double packet buffering is allowed
(USBHS_INCSRU.dpktbufdis = 0), double packet buffering is enabled. This allows the storage of up
to two packets in the FIFO for transmission to the Host. This is recommended to avoid data
underrun.
DMA Transfers
If the DMA is enabled for an endpoint (USBHS_INCSRU.dmareqenab = 1), a DMA request is
generated whenever the endpoint can accept another full packet in its FIFO. However, there is
little benefit with Isochronous endpoints because the packets transferred are often not the
maximum packet size. In this situation, the USBHS_INCSRL.underrun bit would have to be checked
for underrun errors after each packet.
AutoSet
When the AutoSet feature is enabled (USBHS_INCSRU.autoset = 1), the USBHS_INCSRL.inpktrdy bit
is automatically set when a packet of USBHS_INMAXP bytes is loaded into the FIFO. However,
there is little benefit with Isochronous endpoints because the packets transferred are often not the
maximum packet size. In this situation, the USBHS_INCSRL.underrun bit would have to be checked
for underrun errors after each packet.

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Maxim Integrated MAX32665 and is the answer not in the manual?

Maxim Integrated MAX32665 Specifications

General IconGeneral
BrandMaxim Integrated
ModelMAX32665
CategoryMotherboard
LanguageEnglish