Cypress CY7C68013A USB Boot Methods, ReNumeration, Bus-powered Applications, Interrupt System

Models: CY7C68013A

1 62
Download 62 pages 52.75 Kb
Page 4
Image 4

CY7C68013A, CY7C68014A

CY7C68015A, CY7C68016A

Table 1. Special Function Registers

x

8x

9x

Ax

Bx

Cx

Dx

Ex

Fx

0

IOA

IOB

IOC

IOD

SCON1

PSW

ACC

B

1

SP

EXIF

INT2CLR

IOE

SBUF1

 

 

 

2

DPL0

MPAGE

INT4CLR

OEA

 

 

 

 

3

DPH0

 

 

OEB

 

 

 

 

4

DPL1

 

 

OEC

 

 

 

 

5

DPH1

 

 

OED

 

 

 

 

6

DPS

 

 

OEE

 

 

 

 

7

PCON

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

TCON

SCON0

IE

IP

T2CON

EICON

EIE

EIP

9

TMOD

SBUF0

 

 

 

 

 

 

A

TL0

AUTOPTRH1

EP2468STAT

EP01STAT

RCAP2L

 

 

 

B

TL1

AUTOPTRL1

EP24FIFOFLGS

GPIFTRIG

RCAP2H

 

 

 

C

TH0

reserved

EP68FIFOFLGS

 

TL2

 

 

 

D

TH1

AUTOPTRH2

 

GPIFSGLDATH

TH2

 

 

 

E

CKCON

AUTOPTRL2

 

GPIFSGLDATLX

 

 

 

 

F

 

reserved

AUTOPTRSET-UP

GPIFSGLDATLNOX

 

 

 

 

3.5 USB Boot Methods

During the power up sequence, internal logic checks the I2C port for the connection of an EEPROM whose first byte is either 0xC0 or 0xC2. If found, it uses the VID/PID/DID values in the EEPROM in place of the internally stored values (0xC0), or it boot-loads the EEPROM contents into internal RAM (0xC2). If no EEPROM is detected, FX2LP enumerates using internally stored descriptors. The default ID values for FX2LP are VID/PID/DID (0x04B4, 0x8613, 0xAxxx where xxx = Chip revision).[2]

Table 2. Default ID Values for FX2LP

 

Default VID/PID/DID

Vendor ID

0x04B4

Cypress Semiconductor

Product ID

0x8613

EZ-USB FX2LP

Device release

0xAnnn

Depends on chip revision

 

 

(nnn = chip revision where first

 

 

silicon = 001)

3.6 ReNumeration™

Because the FX2LP’s configuration is soft, one chip can take on the identities of multiple distinct USB devices.

When first plugged into USB, the FX2LP enumerates automati- cally and downloads firmware and USB descriptor tables over the USB cable. Next, the FX2LP enumerates again, this time as a device defined by the downloaded information. This patented two step process called ReNumerationhappens instantly when the device is plugged in, without a hint that the initial download step has occurred.

Two control bits in the USBCS (USB Control and Status) register, control the ReNumeration process: DISCON and RENUM. To simulate a USB disconnect, the firmware sets DISCON to 1. To reconnect, the firmware clears DISCON to 0.

Before reconnecting, the firmware sets or clears the RENUM bit to indicate whether the firmware or the Default USB Device handles device requests over endpoint zero: if RENUM = 0, the Default USB Device handles device requests; if RENUM = 1, the firmware services the requests.

3.7 Bus-powered Applications

The FX2LP fully supports bus powered designs by enumerating with less than 100 mA as required by the USB 2.0 specification.

3.8 Interrupt System

3.8.1 INT2 Interrupt Request and Enable Registers

FX2LP implements an autovector feature for INT2 and INT4. There are 27 INT2 (USB) vectors, and 14 INT4 (FIFO/GPIF) vectors. See EZ-USB Technical Reference Manual (TRM) for more details.

3.8.2 USB Interrupt Autovectors

The main USB interrupt is shared by 27 interrupt sources. To save the code and processing time that is required to identify the individual USB interrupt source, the FX2LP provides a second level of interrupt vectoring, called Autovectoring. When a USB interrupt is asserted, the FX2LP pushes the program counter onto its stack then jumps to the address 0x0043 where it expects to find a “jump” instruction to the USB Interrupt service routine.

Note

2. The I2C bus SCL and SDA pins must be pulled up, even if an EEPROM is not connected. Otherwise this detection method does not work properly.

Document #: 38-08032 Rev. *L

Page 4 of 62

[+] Feedback

Page 4
Image 4
Cypress CY7C68013A manual USB Boot Methods, ReNumeration, Bus-powered Applications, Interrupt System