LM3S3759 Luminary Micro, Inc, LM3S3759 Datasheet - Page 495

no-image

LM3S3759

Manufacturer Part Number
LM3S3759
Description
Lm3s3759 Arm Microcontroller
Manufacturer
Luminary Micro, Inc
Datasheet
17.2
17.2.1
17.2.1.1 Endpoints
June 02, 2008
Functional Description
The Stellaris
peripherals or host controllers. It supports both the session request protocol (SRP) and the host
negotiation protocol (HNP) to provide full OTG support. The session request protocol allows devices
on the B side of a cable to request that the A side device turn on VBUS. The host negotiation protocol
is used after the initial session request protocol has powered the bus and provides a method to
determine which end of the cable will act as the host controller. When the device is connected to
non-OTG peripherals or devices, the controller can detect which cable end was used and provides
a register to indicate if the controller should act as the host or the device controller. This indication
and the mode of operation are handled automatically by the USB controller. This auto-detection
allows the system to use a single A/B connector instead of having both A and B connectors in the
system. It also allows for full OTG negotiations with other OTG devices.
Operation as a Device
This section describes the Stellaris
IN endpoints, OUT endpoints, entry into and exit from Suspend mode, and recognition of Start of
Frame (SOF) are all described.
When in device mode, IN transactions are controlled by an endpoint’s transmit interface and use
the transmit endpoint registers for the given endpoint. OUT transactions are handled with an
endpoint's receive interface and use the receive endpoint registers for the given endpoint.
When configuring the size of the FIFOs for endpoints, take into account the maximum packet size
for an endpoint.
When operating as a device, there is a single dedicated bidirectional control endpoint on endpoint
0 and three additional endpoints that can be used for both IN and OUT communications with a host
controller. The endpoint number associated with an endpoint is directly related to its register
designation. For example, when the host is communicating with endpoint 1, all events will occur in
the endpoint 1 register interface.
Endpoint 0 is a dedicated control endpoint used for all control transactions to endpoint 0 during
enumeration or when any other control requests are made to endpoint 0. Endpoint 0 uses the first
64 bytes of the USB controller's FIFO RAM as a shared memory for both IN and OUT transactions.
The remaining three endpoints can be configured as control, bulk, interrupt or isochronous endpoints.
They should be treated as three OUT and three IN endpoints with endpoint numbers 1, 2, and 3.
The endpoints are not required to have the same type for their IN and OUT endpoint configuration.
Bulk.
bytes). For instance, if maximum packet size is 64 bytes, the FIFO should be configured to a
multiple of 64-byte packets (64, 128, 192, or 256 bytes). This allows for efficient use of double
buffering or packet splitting (described further in the following sections).
Interrupt.
twice the maximum packet size if double buffering is used.
Isochronous.
Control.
in most cases the USB device should use the dedicated control endpoint on the USB controller’s
endpoint 0.
Bulk endpoints should be sized to be multiples of the maximum packet size (up to 64
®
USB controller provides full OTG negotiation and support for connection to non-OTG
It is also possible to specify a separate control endpoint for a USB device. However,
Interrupt endpoints should be the size of the maximum packet (up to 64 bytes) or
Isochronous endpoints are more flexible and can be up to 1023 bytes.
®
USB controller's actions when it is being used as a USB device.
Preliminary
LM3S3759 Microcontroller
495

Related parts for LM3S3759