beautypg.com

Configuration, At8xc51snd1c – Rainbow Electronics AT89C51SND1C User Manual

Page 84

background image

84

AT8xC51SND1C

4109E–8051–06/03

Configuration

General Configuration

USB controller enable

Before any USB transaction, the 48 MHz required by the USB controller must be
correctly generated (See “Clock Controller” on page 19).

The USB controller should be then enabled by setting the EUSB bit in the USBCON
register.

Set address

After a Reset or a USB reset, the software has to set the FEN (Function Enable) bit
in the USBADDR register. This action will allow the USB controller to answer to the
requests sent at the address 0.

When a SET_ADDRESS request has been received, the USB controller must only
answer to the address defined by the request. The new address should be stored in
the USBADDR register. The FEN bit and the FADDEN bit in the USBCON register
should be set to allow the USB controller to answer only to requests sent at the new
address.

Set configuration

T h e C O N F G b i t i n t h e U S B C O N r e g i s t e r s h o u l d b e s e t a f t e r a
SET_CONFIGURATION request with a non-zero value. Otherwise, this bit should
be cleared.

Endpoint Configuration

Selection of an Endpoint

The endpoint register access is performed using the UEPNUM register. The
registers

UEPSTAX

UEPCONX

UEPDATX

UBYCTX

Theses registers correspond to the endpoint whose number is stored in the UEP-
NUM register. To select an Endpoint, the firmware has to write the endpoint number
in the UEPNUM register.

Figure 60. Endpoint Selection

UEPNUM

Endpoint 0

Endpoint 2

UEPSTA0

UEPCON0

UEPDAT0

UEPSTA2

UEPCON2

UEPDAT2

0

1

2

SFR Registers

UEPSTAX

UEPCONX

UEPDATX

X

UBYCT0

UBYCT2

UBYCTX