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 | 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
Table 2. Default ID Values for FX2LP
| Default VID/PID/DID | |
Vendor ID | 0x04B4 | Cypress Semiconductor |
Product ID | 0x8613 | |
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 ReNumeration™ happens 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
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 #: | Page 4 of 62 |
[+] Feedback