Sl811hs slave mode registers, Endpoint registers, Endpoints 0-3 register addresses – Cypress SL811HS User Manual

Page 12: Describ, Sl811hs

Advertising
background image

SL811HS

Document 38-08008 Rev. *D

Page 12 of 32

SL811HS Slave Mode Registers

When in slave mode, the registers in the SL811HS are divided
into two major groups. The first group contains Endpoint reg-
isters that manage USB control transactions and data flow.
The second group contains the USB Registers that provide the
control 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 interruption.

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 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/Peripheral Mode Register Summary

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. Endpoints 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. Register Address Map

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

Advertising