Document Number: 38-08008 Rev. *H Page 15 of 39
When in slave mode, the registers in the SL811HS are divided
into two major groups. The first group contains Endpoint regis-
ters that manage USB control transactions and data flow. The
second group contains the USB Registers that provide the con-
trol and status information for all other operations.
Endpoint Registers
Communication and data flow on USB is implemented using
endpoints. These uniquely identifiable entities are the terminals
of communication flow between a USB host and USB devices.
Each USB device is composed of a collection of independently
operating endpoints. Each endpoint has a unique identifier,
which is the Endpoint Number. For more information, see USB
Specification 1.1 section 5.3.1.
The SL811HS supports four endpoints numbered 0–3. Endpoint
0 is the default pipe and is used to initialize and generically
manipulate the device to configure the logical device as the
Default Control Pipe. It also provides access to the device's
configuration information, allows USB status and control access,
and supports control transfers.
Endpoints 1–3 support Bulk, Isochronous, and Interrupt
transfers. Endpoint 3 is supported by DMA. Each endpoint has
two sets of registers—the 'A' set and the 'B' set. This allows
overlapped operation where one set of parameters is set up and
the other is transferring. Upon completion of a transfer to an
endpoint, the ‘next data set’ bit indicates whether set 'A' or set 'B'
is used next. The ‘armed’ bit of the next data set indicates
whether the SL811HS is ready for the next transfer without inter-
ruption.
Endpoints 0–3 Register Addresses
Each endpoint set has a group of five registers that are mapped
within the SL811HS memory. The register sets have address
assignments Endpoint 0-3 Register Addresses as shown in the
following table.
For each endpoint set (starting at address Index = 0), the
registers are mapped as shown in the following table.
Table 19. SL811HS Slave Mode Registers
Register Name
Endpoint specific register addresses
EP 0 – A EP 0 - B EP 1 – A EP 1 - B EP 2 - A EP 2 - B EP 3 - A EP 3 - B
EP Control Register 00h 08h 10h 18h 20h 28h 30h 0x38
EP Base Address Register 01h 09h 11h 19h 21h 29h 31h 0x39
EP Base Length Register 02h 0Ah 12h 1Ah 22h 2Ah 0x32 0x3A
EP Packet Status Register 03h 0Bh 13h 1Bh 23h 2Bh 0x33 0x3B
EP Transfer Count Register 04h 0Ch 14h 1Ch 24h 2Ch 0x34 0x3C
Register Name Miscellaneous register addresses
Control Register 1 05h Interrupt Status Register 0Dh
Interrupt Enable Register 06h Current Data Set Register 0Eh
USB Address Register 07h Control Register 2 0Fh
SOF Low Register (read only) 15h Reserved 1Dh1Fh
SOF High Register (read only) 16h Reserved 25h-27h
Reserved 17h Reserved 2Dh-2Fh
DMA Total Count Low Register 35h
DMA Total Count High Register 36h
Reserved 37h
Memory Buffer 40h – FFh
Table 20. Endpoint 0-3 Register Addresses
Endpoint Register Set Address (in Hex)
Endpoint 0 – a 00 - 04
Endpoint 0 – b 08 - 0C
Endpoint 1 – a 10 - 14
Endpoint 1 – b 18 - 1C
Endpoint 2 – a 20 - 24
Endpoint 2 – b 28 - 2C
Endpoint 3 – a 30 - 34
Endpoint 3 – b 38 - 3C
Table 21. Endpoint Register Indices
Endpoint Register Sets
(for Endpoint n starting at register position Index=0)
Index Endpoint n Control
Index + 1 Endpoint n Base Address
Index + 2 Endpoint n Base Length
Index + 3 Endpoint n Packet Status
Index + 4 Endpoint n Transfer Count