English
Language : 

CC2510F16 Datasheet, PDF (171/244 Pages) Texas Instruments – Low-Power SoC (System-on-Chip) with MCU, Memory, 2.4 GHz RF Transceiver, and USB Controller
configure and control OUT endpoints. Each IN
and OUT endpoint can be configured as either
Isochronous (USBCSIH.ISO=1 and/or
USBCSOH.ISO=1)
or
Bulk/Interrupt
(USBCSIH.ISO=0
and/or
USBCSOH.ISO=0) endpoints. Bulk and
Interrupt endpoints are handled identically by
the USB controller but will have different
properties from a firmware perspective.
The USBINDEX register must have the value of
the endpoint number before the Indexed
Endpoint Registers are accessed (see Table
35 on Page 50).
12.16.6.1 FIFO Management
Each endpoint has a certain number of FIFO
memory bytes available for incoming and
outgoing data packets. Table 60 shows the
FIFO size for endpoints 1 - 5. It is the firmware
that is responsible for setting the USBMAXI and
USBMAXO registers correctly for each endpoint
to prevent data from being overwritten.
When both the IN and the OUT endpoint of an
endpoint number do not use double buffering,
the sum of USBMAXI and USBMAXO must not
exceed the FIFO size for the endpoint. Figure
44 a) shows how the IN and OUT FIFO
memory for an endpoint is organized with
single buffering. The IN FIFO grows down from
the top of the endpoint memory region while
CC2510Fx / CC2511Fx
the OUT FIFO grows up from the bottom of the
endpoint memory region.
When the IN or OUT endpoint of an endpoint
number use double buffering, the sum of
USBMAXI and USBMAXO must not exceed half
the FIFO size for the endpoint. Figure 44 b)
illustrates the IN and OUT FIFO memory for an
endpoint that uses double buffering. Notice
that the second OUT buffer starts from the
middle of the memory region and grows
upwards. The second IN buffer also starts from
the middle of the memory region but grows
downwards.
To configure an endpoint as IN only, set
USBMAXO to 0 and to configure an endpoint as
OUT only, set USBMAXI to 0.
For unused endpoints, both USBMAXO and
USBMAXI should be set to 0.
EP Number FIFO Size (in bytes)
1
32
2
64
3
128
4
256
5
512
Table 60: FIFO Sizes for EP 1 - 5
0
USBMAXI - 1
IN FIFO
USBMAX0 - 1
0
OUT FIFO
a)
0
USBMAXI - 1
USBMAX0 - 1
0
0
USBMAXI - 1
USBMAX0 - 1
0
IN FIFO
(Buffer 1)
OUT FIFO
(Buffer 2)
IN FIFO
(Buffer 2)
OUT FIFO
(Buffer 1)
b)
Figure 44: IN/OUT FIFOs, a) Single Buffering b) Double Buffering
12.16.6.2 Double Buffering
To enable faster transfer and reduce the need
for retransmissions, CC2511Fx implements
double buffering, allowing two packets to be
buffered in the FIFO in each direction. This is
highly recommended for isochronous
endpoints, which are expected to transfer one
data packet every USB frame without any
retransmission. For isochronous endpoint one
data packet will be sent/received every USB
SWRS055F
Page 171 of 241