Specifications

CY7C68053
Document # 001-06120 Rev *J Page 4 of 42
3.3 I
2
C™ Bus
FX2LP18 supports the I
2
C bus as a master only at
100 or 400 KHz. SCL and SDA pins have open-drain outputs
and hysteresis inputs. These signals must be pulled up to either
V
CC
or V
CC_IO
, even if no I
2
C device is connected. (Connecting
to V
CC_IO
may be more convenient.)
3.4 Buses
This 56-pin package has an 8- or 16-bit ‘FIFO’ bidirectional data
bus, multiplexed on I/O ports B and D.
3.5 USB Boot Methods
During the power up sequence, internal logic checks the I
2
C port
for the connection of an EEPROM whose first byte is 0xC2. If
found, it boot-loads the EEPROM contents into internal RAM
(0xC2 load). If no EEPROM is present, an external processor
must emulate an I
2
C slave. The FX2LP18 does not enumerate
using internally stored descriptors (for example, Cypress’s
VID/PID/DID is not used for enumeration).
[1]
3.6 ReNumeration™
Because the FX2LP18’s configuration is soft, one chip can take
on the identities of multiple distinct USB devices.
When first plugged into USB, the FX2LP18 enumerates
automatically and downloads firmware and USB descriptor
tables over the USB cable. Next, the FX2LP18 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, with no 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 does.
3.7 Bus-Powered Applications
The FX2LP18 fully supports bus-powered designs by
enumerating with less than 100 mA as required by the USB 2.0
specification.
3.8 Interrupt System
The FX2LP18 interrupts are described in this section.
3.8.1 INT2 Interrupt Request and Enable Registers
FX2LP18 implements an autovector feature for INT2. There are
27 INT2 (USB) vectors. See the MoBL-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 normally required to
identify the individual USB interrupt source, the FX2LP18
provides a second level of interrupt vectoring, called
‘Autovectoring.’ When a USB interrupt is asserted, the FX2LP18
pushes the program counter onto its stack then jumps to address
0x0043, where it expects to find a ‘jump’ instruction to the USB
interrupt service routine.
The FX2LP18 jump instruction is encoded as shown in Table 2
on page 5.
Table 1. Special Function Registers
x 8x 9x Ax Bx Cx Dx Ex Fx
0
IOA IOB IOC IOD SCON1 PSW ACC B
1SP EXIF INT2CLR IOE SBUF1
2DPL0 MPAGE
OEA
3DPH0 OEB
4 DPL1
OEC
5 DPH1
OED
6 DPS OEE
7PCON
8 TCON SCON0 IE IP T2CON EICON EIE EIP
9 TMOD SBUF0
ATL0AUTOPTRH1 EP2468STAT EP01STAT RCAP2L
BTL1AUTOPTRL1 EP24FIFOFLGS GPIFTRIG RCAP2H
CTH0 Reserved EP68FIFOFLGS TL2
DTH1AUTOPTRH2 GPIFSGLDATH TH2
E CKCON AUTOPTRL2 GPIFSGLDATLX
F Reserved AUTOPTRSET-UP GPIFSGLDATLNOX
Note
1. The I
2
C bus SCL and SDA pins must be pulled up, even if an EEPROM is not connected. Otherwise this detection method does not work properly.
[+] Feedback