
Chapter 8. Access to Endpoint Buffers Page 8-3
8.4 How the CPU Configures the Endpoints
Endpoints are configured via the six registers shown in Table 8-2.
Chapter 15 gives full bit-level details for all registers.
Endpoint 0 does not require a configuration register since it is fixed as valid, IN/OUT, CONTROL,
64 bytes, single-buffered. EP0 uses a single 64-byte buffer both for IN and OUT transfers. EP1
uses separate 64 byte buffers for IN and OUT transfers.
Endpoints 2, 4, 6 and 8 handle the high bandwidth USB 2.0 transfers. Endpoints EP2 and EP6 are
the most flexible endpoints, as they are configurable for size (512 or 1024 bytes) and depth of buff-
ering (double, triple, or quad). Endpoints EP4 and EP8 are fixed at 512 bytes, double-buffered.
The bits in these registers control the following:
• Valid. Set to 1 (default) to enable the endpoint. A non-valid endpoint does not respond to
host IN or OUT packets.
• Type. Two bits, TYPE1:0 (bits 5 and 4) set the endpoint type:
– 00 =
invalid
– 01 = ISOCHRONOUS (EP2,4,6,8 only)
– 10 = BULK (default)
– 11 = INTERRUPT
• Direction. 1 = IN, 0 = OUT.
• Buffering. EP2 and EP6 only. Two bits, BUF1:0 control the depth of buffering:
– 00 = quad
Table 8-2. Endpoint Configuration Registers
Address Name Configurable Parameters
0xE610
EP1OUTCFG
valid, type
1
(always OUT, 64 bytes, single-buffered)
0xE611
EP1INCFG
valid, type
1
(always IN, 64 bytes, single-buffered)
0xE612
EP2CFG
valid, direction, type, size, buffering
0xE613
EP4CFG
valid, direction, type (always 512 double-buffered)
0xE614
EP6CFG
valid, direction, type, size, buffering
0xE615
EP8CFG
valid, direction, type (always 512 double-buffered)
Note 1: For EP1, “type” may be set to Interrupt or Bulk only.
Comentarios a estos manuales