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 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
TYPE[1:0] | MULTIPKT | TCDSBL | BUFSIZE[2:0] | ||||||
Access | R/W | R/W | R/W | R/W | R/W | R/W | R/W | ||
Reset | x | x | x | x | x | x | x |
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.
Value | Name | Description |
---|---|---|
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.
Value | Name | Description |
---|---|---|
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 |