C8051F340/1/2/3/4/5/6/7

16.3. USB Register Access

The USB0 controller registers listed in Table 16.2 are accessed through two SFRs: USB0 Address (USB0ADR) and USB0 Data (USB0DAT). The USB0ADR register selects which USB register is targeted by reads/writes of the USB0DAT register. See Figure 16.2.

Endpoint control/status registers are accessed by first writing the USB register INDEX with the target end- point number. Once the target endpoint number is written to the INDEX register, the control/status registers associated with the target endpoint may be accessed. See the “Indexed Registers” section of Table 16.2 for a list of endpoint control/status registers.

Important Note: The USB clock must be active when accessing USB registers.

8051 SFRs

USB0DAT

USB0ADR

USB Controller

Interrupt

Registers

FIFO

Access

Common

Registers

Index

Register

Endpoint0 Control/

Status Registers

Endpoint1 Control/

Status Registers

Endpoint2 Control/

Status Registers

Endpoint3 Control/

Status Registers

Figure 16.2. USB0 Register Access Scheme

166

Rev. 0.5

Page 166
Image 166
Silicon Laboratories C8051F345, C8051F347, C8051F346, C8051F341, C8051F343 USB Register Access, USB0 Register Access Scheme