28.7.5 Endpoint Control - Isochronous Type

This register description is valid only when the Endpoint Type (TYPE) bit field in this register is written to ‘ISO’. For the other endpoint types, see EPn.CTRL - Default Type for the correct description.

Name: EPn.CTRL
Offset: 0x01 + n*0x08 [n=0..7]
Reset: 0x00

Bit 76543210 
 TYPE[1:0]MULTIPKT TCDSBLBUFSIZE[2:0] 
Access R/WR/WR/WR/WR/WR/WR/W 
Reset xxxxxxx 

Bits 7:6 – TYPE[1:0] Endpoint Type

These bits enable and select the endpoint type. If the endpoint is disabled, the remaining seven endpoint configuration bytes are never read or written by the USB peripheral, and their RAM locations are free to use for other application data.

ValueNameDescription
0x0 DISABLE Endpoint Disabled
0x1 CONTROL Control
0x2 BULKINT Bulk or Interrupt
0x3 ISOCHRONOUS Isochronous

Bit 5 – MULTIPKT Multipacket Transfer Enable

Writing this bit to ‘1’ enables multipacket transfers. The multipacket transfer enables a data payload exceeding the maximum packet size of an endpoint to be transferred as multiple packets without interrupts or firmware intervention. When MULTIPKT is ‘1’, MCNT defines the maximum size of a single OUT packet, thereby preventing overrun of the data reception buffer.

Bit 3 – TCDSBL TRNCOMPL Interrupt Disable

When this bit is written to ‘1’, the Transaction Complete (TRNCOMPL) flag in the Interrupt Flags B (INTFLAGSB) register is not set together with the endpoint’s TRNCOMPL flag in the Endpoint Status (EPn.STATUS) register. The FIFO will not store the endpoint configuration table address for this endpoint upon transaction complete if TCDSBL is ‘1’.

Bits 2:0 – BUFSIZE[2:0] Data Size (Isochronous)

This bit field configures the maximum data payload size for the endpoint. Incoming data bytes exceeding the maximum data payload size are discarded. For control endpoints, this field only affects IN and OUT transactions. For SETUP transaction, the maximum data payload is always eight bytes.

ValueNameDescription
0x0 ISO_BUF8 8 bytes buffer size
0x1 ISO_BUF16 16 bytes buffer size
0x2 ISO_BUF32 32 bytes buffer size
0x3 ISO_BUF64 64 bytes buffer size
0x4 ISO_BUF128 128 bytes buffer size
0x5 ISO_BUF256 256 bytes buffer size
0x6 ISO_BUF512 512 bytes buffer size
0x7 ISO_BUF1023 1023 bytes buffer size