Cypress CY7C68053 User Manual

0 (0)
MoBL-USB™ FX2LP18 USB Microcontroller
CY7C68053
Cypress Semiconductor Corporation 198 Champion Court San Jose, CA 95134-1709 408-943-2600
Document # 001-06120 Rev *F Revised September 9th 2006

1.0 CY7C68053 Features

USB 2.0 – USB-IF High-Speed and Full-Speed Compliant
(TID# 40000188)
Single-chip integrated USB 2.0 transceiver, smart SIE, and
Ideal for mobile applications (cell phone, smart phones,
PDAs, MP3 players)
Ultra low power
Suspend current: 20 µA (typical)
Software: 8051 code runs from:
Internal RAM, which is loaded from EEPROM
16 kBytes of on-chip Code/Data RAM
Four programmable BULK/INTERRUPT/ISOCHRONOUS
endpoints
Buffering options: double, triple, and quad
Additional programmable (BULK/INTERRUPT) 64-byte
endpoint
8- or 16-bit external data interface
Smart Media Standard ECC generation
GPIF (General Programmable Interface)
Allows direct connection to most parallel interface
Programmable waveform descriptors and configuration
registers to define waveforms
Supports multiple Ready (RDY) inputs and Control (CTL)
outputs
Integrated, industry standard enhanced 8051
48 MHz, 24 MHz, or 12 MHz CPU operation
Four clocks per instruction cycle
Three counter/timers
Expanded interrupt system
Two data pointers
1.8V core operation
1.8V - 3.3V IO operation
Vectored USB interrupts and GPIF/FIFO interrupts
Separate data buffers for the Set-up and Data portions of a
CONTROL transfer
Integrated I
2
C™ controller, runs at 100 or 400 kHz
Four integrated FIFO’s
Integrated glue logic and FIFO’s lower system cost
Automatic conversion to and from 16-bit buses
Master or slave operation
Uses external clock or asynchronous strobes
Easy interface to ASIC and DSP IC’s
Available in Industrial temperature grade
Available in one lead-free package with up to 24 GPIO’s
56-pin VFBGA (24 GPIO’s)
x20
PLL
/0.5
/1.0
/2.0
8051 Core
12/24/48 MHz,
Four Clocks/Cycle
I
2
C
VCC
1.5K
D+
D–
Address (16)/ Data Bus(8)
GPIF
CY
Smart
USB
1.1/2.0
Engine
USB
2.0
XCVR
16 KB
RAM
4 KB
FIFO
Integrated
Full- and High-speed
XCVR
Additional I/Os (24)
CTL (3)
RDY (2)
24 MHz
Ext. XTAL
Enhanced USB Core
Simplifies 8051 Code
“Soft Configuration”
Easy Firmware Changes
FIFO and Endpoint Memory
(master or slave operation)
General
Programmable I/F
Abundant I/O
High-performance micro
using standard tools
with lower-power options
Master
Connected for
Full-Speed
ECC
MoBL-USB FX2LP18
To Baseband processors/
Application processors/
ASICS/DSPs
8/16
Up to 96 MBytes/sec
Burst Rate
Block Diagram
[+] Feedback
CY7C68053
Document # 001-06120 Rev *F Page 2 of 39
Cypress Semiconductor Corporation’s MoBL-USB FX2LP18
(CY7C68053) is a low-voltage (1.8 volt) version of the EZ-
USB
®
FX2LP (CY7C68013A), which is a highly integrated,
low-power USB 2.0 microcontroller. By integrating the USB 2.0
transceiver, serial interface engine (SIE), enhanced 8051
microcontroller, and a programmable peripheral interface in a
single chip, Cypress has created a very cost-effective solution
that provides superior time-to-market advantages with low
power to enable bus powered applications.
The ingenious architecture of MoBL-USB FX2LP18 results in
data transfer rates of over 53 Mbytes per second, the
maximum allowable USB 2.0 bandwidth, while still using a low-
cost 8051 microcontroller in a package as small as a 56
VFBGA (5 mm x 5 mm). Because it incorporates the USB 2.0
transceiver, the MoBL-USB FX2LP18 is more economical,
providing a smaller footprint solution than USB 2.0 SIE or
external transceiver implementations. With MoBL-USB
FX2LP18, the Cypress Smart SIE handles most of the USB 1.1
and 2.0 protocol in hardware, freeing the embedded microcon-
troller for application-specific functions and decreasing devel-
opment time to ensure USB compatibility.
The General Programmable Interface (GPIF) and
Master/Slave Endpoint FIFO (8- or 16-bit data bus) provide an
easy and glueless interface to popular interfaces such as
ATA,
UTOPIA, EPP, PCMCIA, and most DSP/processors.
The 56VFBGA package is defined for the family.
The MoBL-USB FX2LP18 is also referred to as FX2LP18 in
this document.

2.0 Applications

There are a wide variety of applications for the MoBL-USB
FX2LP18. It is used in cell phone, smart phones, PDAs, and
MP3 players, to name a few.
The ‘Reference Designs’ section of the Cypress web site
provides additional tools for typical USB 2.0 applications. Each
reference design comes complete with firmware source and
object code, schematics, and documentation. For more infor-
mation, visit http://www.cypress.com.

3.0 Functional Overview

The functionality of this chip is described in the sections below.

3.1 USB Signaling Speed

FX2LP18 operates at two of the three rates defined in the USB
Specification Revision 2.0, dated April 27, 2000.
Full-speed, with a signaling bit rate of 12 Mbps
High-speed, with a signaling bit rate of 480 Mbps.
FX2LP18 does not support the low-speed signaling mode of
1.5 Mbps.

3.2 8051 Microprocessor

The 8051 microprocessor embedded in the FX2LP18 family
has 256 bytes of register RAM, an expanded interrupt system,
and three timer/counters.

3.2.1 8051 Clock Frequency

FX2LP18 has an on-chip oscillator circuit that uses an external
24 MHz (±100-ppm) crystal with the following characteristics:
Parallel resonant
Fundamental mode
500 µW drive level
12 pF (5% tolerance) load capacitors
An on-chip PLL multiplies the 24 MHz oscillator up to 480 MHz,
as required by the transceiver/PHY; internal counters divide it
down for use as the 8051 clock. The default 8051 clock
frequency is 12 MHz. The clock frequency of the 8051 can be
changed by the 8051 through the CPUCS register, dynami-
cally.
The CLKOUT pin, which can be tri-stated and inverted using
internal control bits, outputs the 50% duty cycle 8051 clock, at
the selected 8051 clock frequency — 48, 24, or 12 MHz.

3.2.2 Special Function Registers

Certain 8051 Special Function Register (SFR) addresses are
populated to provide fast access to critical FX2LP18 functions.
These SFR additions are shown in Ta bl e 3- 1. Bold type
indicates non-standard, enhanced 8051 registers. The two
SFR rows that end with ‘0’ and ‘8’ contain bit-addressable
registers. The four IO ports A – D use the SFR addresses used
in the standard 8051 for ports 0 – 3, which are not implemented
in FX2LP18. Because of the faster and more efficient SFR
addressing, the FX2LP18 IO ports are not addressable in
external RAM space (using the MOVX instruction).
Figure 3-1. Crystal Configuration
12 pf
12 pf
24 MHz
20 × PLL
C1
C2
12 pF capacitor values assumes a trace capacitance
of 3 pF per side on a four-layer FR4 PCA
[+] Feedback
CY7C68053
Document # 001-06120 Rev *F Page 3 of 39
3.3 I
2
C™ Bus
FX2LP18 supports the I
2
C bus as a master only at 100-/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 IO 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’ VID/PID/DID is not used for enumer-
ation).
[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 infor-
mation. 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 enumer-
ating with less than 100 mA as required by the USB 2.0 speci-
fication.

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 ‘Autovec-
toring.’ When a USB interrupt is asserted, the FX2LP18
Table 3-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
9TMOD SBUF0
ATL0AUTOPTRH1 EP2468STAT EP01STAT RCAP2L
BTL1AUTOPTRL1 EP24FIFOFLGS GPIFTRIG RCAP2H
CTH0Reserved 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
CY7C68053
Document # 001-06120 Rev *F Page 4 of 39
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
Tab le 3- 2.
If Autovectoring is enabled (AV2EN = 1 in the INTSET-UP
register), the FX2LP18 substitutes its INT2VEC byte.
Therefore, if the high byte (‘page’) of a jump-table address is
preloaded at location 0x0044, the automatically-inserted
INT2VEC byte at 0x0045 directs the jump to the correct
address out of the 27 addresses within the page.
Table 3-2. INT2 USB Interrupts
USB INTERRUPT TABLE FOR INT2
Priority INT2VEC Value Source Notes
1 00 SUDAV Set-up Data Available
2 04 SOF Start of Frame (or microframe)
3 08 SUTOK Set-up Token Received
4 0C SUSPEND USB Suspend request
5 10 USB RESET Bus reset
6 14 HISPEED Entered high-speed operation
7 18 EP0ACK FX2LP18 ACK’d the CONTROL Handshake
8 1C Reserved
9 20 EP0-IN EP0-IN ready to be loaded with data
10 24 EP0-OUT EP0-OUT has USB data
11 28 EP1-IN EP1-IN ready to be loaded with data
12 2C EP1-OUT EP1-OUT has USB data
13 30 EP2 IN: buffer available. OUT: buffer has data
14 34 EP4 IN: buffer available. OUT: buffer has data
15 38 EP6 IN: buffer available. OUT: buffer has data
16 3C EP8 IN: buffer available. OUT: buffer has data
17 40 IBN IN-Bulk-NAK (any IN endpoint)
18 44 Reserved
19 48 EP0PING EP0 OUT was Pinged and it NAK’d
20 4C EP1PING EP1 OUT was Pinged and it NAK’d
21 50 EP2PING EP2 OUT was Pinged and it NAK’d
22 54 EP4PING EP4 OUT was Pinged and it NAK’d
23 58 EP6PING EP6 OUT was Pinged and it NAK’d
24 5C EP8PING EP8 OUT was Pinged and it NAK’d
25 60 ERRLIMIT Bus errors exceeded the programmed limit
26 64
27 68 Reserved
28 6C Reserved
29 70 EP2ISOERR ISO EP2 OUT PID sequence error
30 74 EP4ISOERR ISO EP4 OUT PID sequence error
31 78 EP6ISOERR ISO EP6 OUT PID sequence error
32 7C EP8ISOERR ISO EP8 OUT PID sequence error
[+] Feedback
CY7C68053
Document # 001-06120 Rev *F Page 5 of 39

3.9 Reset and Wakeup

The reset and wakeup pins are described in detail in this
section.

3.9.1 Reset Pin

The input pin, RESET#, resets the FX2LP18 when asserted.
This pin has hysteresis and is active LOW. When a crystal is
used with the CY7C68053, the reset period must allow for the
stabilization of the crystal and the PLL. This reset period must
be approximately 5 ms after VCC has reached 3.0V. If the
crystal input pin is driven by a clock signal the internal PLL
stabilizes in 200 µs after VCC has reached 3.0V
[2]
. Figure 3-2
shows a power on reset condition and a reset applied during
operation. A power on reset is defined as the time reset is
asserted while power is being applied to the circuit. A powered
reset is defined to be when the FX2LP18 has previously been
powered on and operating and the RESET# pin is asserted.
Cypress provides an application note which describes and
recommends power on reset implementation and can be found
on the Cypress web site. For more information on reset imple-
mentation for the MoBL-USB™ family of products, visit the
Cypress web site at http://www.cypress.com.

3.9.2 Wakeup Pins

The 8051 puts itself and the rest of the chip into a power-down
mode by setting PCON.0 = 1. This stops the oscillator and PLL.
When WAKEUP is asserted by external logic, the oscillator
restarts, after the PLL stabilizes, and then the 8051 receives a
wakeup interrupt. This applies whether or not FX2LP18 is
connected to the USB.
The FX2LP18 exits the power-down (USB suspend) state
using one of the following methods:
USB bus activity (if D+/D– lines are left floating, noise on
these lines may indicate activity to the FX2LP18 and initiate
a wakeup)
External logic asserts the WAKEUP pin
External logic asserts the PA3/WU2 pin
The second wakeup pin, WU2, can also be configured as a
general purpose IO pin. This allows a simple external R-C
network to be used as a periodic wakeup source. Note that
WAKEUP is by default active LOW.

3.9.3 Lowering Suspend Current

Good design practices for CMOS circuits dictate that any
unused input pins must not be floating between V
IL
and V
IH
.
Floating input pins will not damage the chip, but can substan-
tially increase suspend current. To achieve the lowest suspend
current, any unused port pins must be configured as outputs.
Any unused input pins must be tied to ground. Some examples
of pins that need attention during suspend are:
Port pins. For Port A, B, D pins, extra care must be taken in
shared bus situations.
Completely unused pins must be pulled to V
CC_IO
or
GND.
In a single-master system, the firmware must output en-
able all the port pins and drive them high or low, before
FX2LP18 enters the suspend state.
In a multi-master system (FX2LP18 and another proces-
sor sharing a common data bus), when FX2LP18 is sus-
pended, the external master must drive the pins high or
low. The external master may not let the pins float.
CLKOUT. If CLKOUT is not used, it must be tri-stated during
normal operation, but driven during suspend.
IFCLK, RDY0, RDY1. These pins must be pulled to V
CC_IO
or GND or driven by another chip.
CTL0-2. If tri-stated via GPIFIDLECTL, these pins must be
pulled to V
CC_IO
or GND or driven by another chip.
RESET#, WAKEUP#. These pins must be pulled to V
CC_IO
or GND or driven by another chip during suspend.
Figure 3-2. Reset Timing Plots
V
IL
0V
1.8V
1.62V
T
RESET
V
CC
RESET#
Power on Reset
T
RESET
V
CC
RESET#
V
IL
Powered Reset
1.8V
0V
Table 3-3. Reset Timing Values
Condition T
RESET
Power on Reset with crystal 5 ms
Power on Reset with external
clock
200 µs + Clock stability time
Powered Reset 200 µs
Note
2. If the external clock is powered at the same time as the CY7C680xx and has a stabilization wait period, it must be added to the 200 µs.
[+] Feedback
CY7C68053
Document # 001-06120 Rev *F Page 6 of 39

3.10 Program/Data RAM

This section describes the FX2LP18 RAM.

3.10.1 Size

The FX2LP18 has 16 kBytes of internal program/data RAM.
No USB control registers appear in this space.
Memory maps are shown in Figure 3-3 and Figure 3-4.

3.10.2 Internal Code Memory

This mode implements the internal 16-kByte block of RAM
(starting at 0) as combined code and data memory. Only the
internal 16 kBytes and scratch pad 0.5 kBytes RAM spaces
have the following access:
USB download
USB upload
Set-up data pointer
•I
2
C interface boot load

3.11 Register Addresses

3.12 Endpoint RAM

This section describes the FX2LP18 Endpoint RAM.

3.12.1 Size

3 × 64 bytes (Endpoints 0, 1)
8 × 512 bytes (Endpoints 2, 4, 6, 8)

3.12.2 Organization

EP0
Bidirectional endpoint zero, 64-byte buffer
EP1IN, EP1OUT
64-byte buffers: bulk or interrupt
EP2, 4, 6, 8
Eight 512-byte buffers: bulk, interrupt, or isochronous. EP4
and EP8 can be double buffered, while EP2 and 6 can be
double, triple, or quad buffered. For high-speed endpoint
configuration options, see Figure 3-5.

3.12.3 Set-up Data Buffer

A separate 8-byte buffer at 0xE6B8-0xE6BF holds the set-up
data from a CONTROL transfer.

3.12.4 Endpoint Configurations (High-speed Mode)

Endpoints 0 and 1 are the same for every configuration.
Endpoint 0 is the only CONTROL endpoint, and endpoint 1 can
be either BULK or INTERRUPT. The endpoint buffers can be
configured in any one of the 12 configurations shown in the
Figure 3-3. FX2LP18 Internal Code Memory
7.5 kBytes
USB regs and
4K FIFO buffers
0.5 kBytes RAM
Data
16 kBytes RAM
Code and Data
FFFF
E200
E1FF
E000
3FFF
0000
.
.
.
FFFF
E800
E7BF
E740
E73F
E700
E6FF
E500
E4FF
E480
E47F
E400
E200
E1FF
E000
E3FF
EFFF
2 kBytes RESERVED
64 Bytes EP0 IN/OUT
64 Bytes RESERVED
8051 Addressable Registers
Reserved (128)
128 Bytes GPIF Waveforms
512 Bytes
8051 xdata RAM
F000
(512)
Reserved (512)
E780
64 Bytes EP1OUT
E77F
64 Bytes EP1IN
E7FF
E7C0
4 kBytes EP2-EP8
buffers
(8 x 512)
Figure 3-4. Register Address Memory
[+] Feedback
CY7C68053
Document # 001-06120 Rev *F Page 7 of 39
vertical columns of Figure 3-5. When operating in full-speed
BULK mode only the first 64 bytes of each buffer are used. For
example, in high-speed the maximum packet size is 512 bytes,
but in full-speed it is 64 bytes. Even though a buffer is
configured to be a 512 byte buffer, in full-speed only the first
64 bytes are used. The unused endpoint buffer space is not
available for other operations. An example endpoint configu-
ration is:
EP2–1024 double buffered; EP6–512 quad buffered
(column 8).

3.12.5 Default Full-Speed Alternate Settings

64
64
64
512
512
1024
1024
1024
1024
1024
1024
1024
512
512
512
512
512
512
512
512
512
512
EP2
EP2
EP2
EP6
EP6
EP8
EP8
EP0 IN&OUT
EP1 IN
EP1 OUT
Figure 3-5. Endpoint Configuration
1024
1024
EP6
1024
512
512
EP8
512
512
EP6
512
512
512
512
EP2
512
512
EP4
512
512
EP2
512
512
EP4
512
512
EP2
512
512
EP4
512
512
EP2
512
512
512
512
EP2
512
512
512
512
EP2
512
512
1024
EP2
1024
1024
EP2
1024
1024
EP2
1024
512
512
EP6
1024
1024
EP6
512
512
EP8
512
512
EP6
512
512
512
512
EP6
1024
1024
EP6
512
512
EP8
512
512
EP6
512
512
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
1
2
3
4
5
6
7
8
9
10
11
12
Table 3-4. Default Full-Speed Alternate Settings
[3, 4]
Alternate Setting 0 1 2 3
ep0 64 64 64 64
ep1out 0 64 bulk 64 int 64 int
ep1in 0 64 bulk 64 int 64 int
ep2 0 64 bulk out (2×) 64 int out (2×) 64 iso out (2×)
ep4 0 64 bulk out (2×) 64 bulk out (2×) 64 bulk out (2×)
ep6 0 64 bulk in (2×) 64 int in (2×) 64 iso in (2×)
ep8 0 64 bulk in (2×) 64 bulk in (2×) 64 bulk in (2×)
Notes
3. ‘0’ means ‘not implemented.’
4. ‘2×’ means ‘double buffered.
[+] Feedback
CY7C68053
Document # 001-06120 Rev *F Page 8 of 39

3.12.6 Default High-Speed Alternate Settings

3.13 External FIFO Interface

The architecture, control signals, and clock rates are
presented in this section.

3.13.1 Architecture

The FX2LP18 slave FIFO architecture has eight 512-byte
blocks in the endpoint RAM that directly serve as FIFO
memories and are controlled by FIFO control signals (such as
IFCLK, SLCS#, SLRD, SLWR, SLOE, PKTEND, and flags).
In operation, some of the eight RAM blocks fill or empty from
the SIE while the others are connected to the IO transfer logic.
The transfer logic takes two forms: the GPIF for internally
generated control signals or the slave FIFO interface for exter-
nally controlled transfers.

3.13.2 Master/Slave Control Signals

The FX2LP18 endpoint FIFO’s are implemented as eight
physically distinct 256x16 RAM blocks. The 8051/SIE can
switch any of the RAM blocks between two domains, the USB
(SIE) domain and the 8051-IO Unit domain. This switching is
instantaneous, giving zero transfer time between ‘USB FIFO’s’
and ‘Slave FIFO’s.’ Since they are physically the same
memory, no bytes are actually transferred between buffers.
At any given time, some RAM blocks are filling and emptying
with USB data under SIE control, while other RAM blocks are
available to the 8051 and/or the IO control unit. The RAM
blocks operate as single port in the USB domain, and dual port
in the 8051-IO domain. The blocks can be configured as
single, double, triple, or quad buffered as previously shown.
The IO control unit implements either an internal master (M for
master) or external master (S for Slave) interface.
In Master (M) mode, the GPIF internally controls
FIFOADR[1:0] to select a FIFO. The two RDY pins can be
used as flag inputs from an external FIFO or other logic. The
GPIF can be run from either an internally derived clock or
externally supplied clock (IFCLK), at a rate that transfers data
up to 96 Megabytes/s (48 MHz IFCLK with 16-bit interface).
In Slave (S) mode, the FX2LP18 accepts either an internally
derived clock or externally supplied clock (IFCLK, maximum
frequency 48 MHz) and SLCS#, SLRD, SLWR, SLOE,
PKTEND signals from external logic. When using an external
IFCLK, the external clock must be present before switching to
the external clock with the IFCLKSRC bit. Each endpoint can
individually be selected for byte or word operation by an
internal configuration bit, and a Slave FIFO Output Enable
signal (SLOE) enables data of the selected width. External
logic must insure that the output enable signal is inactive when
writing data to a slave FIFO. The slave interface can also
operate asynchronously, where the SLRD and SLWR signals
act directly as strobes, rather than a clock qualifier as in
synchronous mode. The signals SLRD, SLWR, SLOE and
PKTEND are gated by the signal SLCS#.

3.13.3 GPIF and FIFO Clock Rates

An 8051 register bit selects one of two frequencies for the inter-
nally supplied interface clock: 30 MHz and 48 MHz. Alterna-
tively, an externally supplied clock of 5 MHz – 48 MHz feeding
the IFCLK pin can be used as the interface clock. IFCLK can
be configured to function as an output clock when the GPIF
and FIFO’s are internally clocked. An output enable bit in the
IFCONFIG register turns this clock output off. Another bit
within the IFCONFIG register will invert the IFCLK signal
whether internally or externally sourced.

3.14 GPIF

The GPIF is a flexible 8- or 16-bit parallel interface driven by a
user programmable finite state machine. It allows the
CY7C68053 to perform local bus mastering, and can
implement a wide variety of protocols such as ATA interface,
parallel printer port, and Utopia.
The GPIF has three programmable control outputs (CTL), and
two general purpose ready inputs (RDY). The data bus width
can be 8 or 16 bits. Each GPIF vector defines the state of the
control outputs, and determines what state a ready input (or
multiple inputs) must be before proceeding. The GPIF vector
can be programmed to advance a FIFO to the next data value,
advance an address, and so on. A sequence of the GPIF
vectors make up a single waveform that is executed to perform
the desired data move between the FX2LP18 and the external
device.
Notes
5. Even though these buffers are 64 bytes, they are reported as 512 for USB 2.0 compliance. The user must never transfer packets larger than 64 bytes to EP1.
Table 3-5. Default High-Speed Alternate Settings
[3, 4]
Alternate Setting 0 1 2 3
ep0 64 64 64 64
ep1out 0 512 bulk
[5]
64 int 64 int
ep1in 0 512 bulk
[5]
64 int 64 int
ep2 0 512 bulk out (2×) 512 int out (2×) 512 iso out (2×)
ep4 0 512 bulk out (2×) 512 bulk out (2×) 512 bulk out (2×)
ep6 0 512 bulk in (2×) 512 int in (2×) 512 iso in (2×)
ep8 0 512 bulk in (2×) 512 bulk in (2×) 512 bulk in (2×)
[+] Feedback
CY7C68053
Document # 001-06120 Rev *F Page 9 of 39

3.14.1 Three Control OUT Signals

The 56-pin package brings out three of these signals,
CTL0–CTL2. The 8051 programs the GPIF unit to define the
CTL waveforms. CTLx waveform edges can be programmed
to make transitions as fast as once per clock cycle (20.8 ns
using a 48 MHz clock).

3.14.2 Two Ready IN Signals

The FX2LP18 package brings out all two Ready inputs
(RDY0–RDY1). The 8051 programs the GPIF unit to test the
RDY pins for GPIF branching.

3.14.3 Long Transfer Mode

In master mode, the 8051 appropriately sets GPIF transaction
count registers (GPIFTCB3, GPIFTCB2, GPIFTCB1, or
GPIFTCB0) for unattended transfers of up to 2
32
transactions.
The GPIF automatically throttles data flow to prevent under or
overflow until the full number of requested transactions
complete. The GPIF decrements the value in these registers
to represent the current status of the transaction.
3.15 ECC Generation
[6]
The MoBL-USB can calculate Error Correcting Codes (ECC’s)
on data that passes across its GPIF or Slave FIFO interfaces.
There are two ECC configurations: two ECC’s, each calculated
over 256 bytes (SmartMedia Standard) and one ECC calcu-
lated over 512 bytes.
The ECC can correct any 1-bit error or detect any 2-bit error.

3.15.1 ECC Implementation

The two ECC configurations are selected by the ECCM bit.
3.15.1.1 ECCM = 0
Two 3-byte ECC’s are each calculated over a 256-byte block
of data. This configuration conforms to the SmartMedia
Standard.
This configuration writes any value to ECCRESET, then
passes data across the GPIF or Slave FIFO interface. The
ECC for the first 256 bytes of data is calculated and stored in
ECC1. The ECC for the next 256 bytes is stored in ECC2. After
the second ECC is calculated, the values in the ECCx registers
do not change until ECCRESET is written again, even if more
data is subsequently passed across the interface.
3.15.1.2 ECCM = 1
One 3-byte ECC is calculated over a 512-byte block of data.
This configuration writes any value to ECCRESET then
passes data across the GPIF or Slave FIFO interface. The
ECC for the first 512 bytes of data is calculated and stored in
ECC1; ECC2 is unused. After the ECC is calculated, the value
in ECC1 does not change until ECCRESET is written again,
even if more data is subsequently passed across the interface.

3.16 USB Uploads and Downloads

The core has the ability to directly edit the data contents of the
internal 16-kByte RAM and of the internal 512-byte scratch
pad RAM via a vendor-specific command. This capability is
normally used when ‘soft’ downloading user code and is
available only to and from internal RAM, only when the 8051
is held in reset. The available RAM spaces are 16 kBytes from
0x0000–0x3FFF (code/data) and 512 bytes from
0xE000–0xE1FF (scratch pad data RAM).
[7]

3.17 Autopointer Access

FX2LP18 provides two identical autopointers. They are similar
to the internal 8051 data pointers, but with an additional
feature: they can optionally increment after every memory
access.The autopointers are available in external FX2LP18
registers, under control of a mode bit (AUTOPTRSET-UP.0).
Using the external FX2LP18 autopointer access (at 0xE67B –
0xE67C) allows the autopointer to access all RAM. Also, the
autopointers can point to any FX2LP18 register or endpoint
buffer space.
3.18 I
2
C Controller
FX2LP18 has one I
2
C port that is driven by two internal
controllers. One automatically operates at boot time to load the
VID/PID/DID, configuration byte, and firmware and a second
controller that the 8051, once running, uses to control external
I
2
C devices. The I
2
C port operates in master mode only.
3.18.1 I
2
C Port Pins
The I
2
C pins SCL and SDA must have external 2.2K ohm pull
up resistors even if no EEPROM is connected to the FX2LP18.
The value of the pull up resistors required may vary, depending
on the combination of V
CC_IO
and the supply used for the
EEPROM. The pull up resistors used must be such that when
the EEPROM pulls SDA low, the voltage level meets the V
IL
specification of the FX2LP18. For example, if the EEPROM
runs off a 3.3V supply and V
CC_IO
is 1.8V, the pull up resistors
recommended are 10K ohm. This requirement may also vary
depending on the devices being run on the I
2
C pins. Refer to
the I
2
C specifications for details.
External EEPROM device address pins must be configured
properly. See Tab le 3- 6 for configuring the device address
pins.
If no EEPROM is connected to the I
2
C port, EEPROM
emulation is required by an external processor.This is because
the FX2LP18 comes out of reset with the DISCON bit set, so
the device will not enumerate without an EEPROM (C2 load)
or EEPROM emulation.
Notes
6. To use the ECC logic, the GPIF or Slave FIFO interface must be configured for byte-wide operation.
7. After the data has been downloaded from the host, a ‘loader’ can execute from internal RAM in order to transfer downloaded data to external memory.
[+] Feedback
CY7C68053
Document # 001-06120 Rev *F Page 10 of 39
3.18.2 I
2
C Interface Boot Load Access
At power on reset the I
2
C interface boot loader loads the
VID/PID/DID and configuration bytes and up to 16 kBytes of
program/data. The available RAM spaces are 16 kBytes from
0x0000–0x3FFF and 512 bytes from 0xE000–0xE1FF. The
8051 is reset. I
2
C interface boot loads only occur after power
on reset.
3.18.3 I
2
C Interface General Purpose Access
The 8051 can control peripherals connected to the I
2
C bus
using the I2CTL and I2DAT registers. FX2LP18 provides I
2
C
master control only, it is never an I
2
C slave.

4.0 Pin Assignments

Figure 4-1 identifies all signals for the package. It is followed
by the pin diagram.Three modes are available: Port, GPIF
master, and Slave FIFO. These modes define the signals on
the right edge of the diagram. The 8051 selects the interface
mode using the IFCONFIG[1:0] register bits. Port mode is the
power on default configuration.
Table 3-6. Strap Boot EEPROM Address Lines to These
Val ues
Bytes Example EEPROM A2 A1 A0
16 24AA00
[8]
N/A N/A N/A
12824AA01 000
25624AA02 000
4K 24AA32 0 0 1
8K 24AA64 0 0 1
16K 24AA128 0 0 1
Note
8. This EEPROM does not have address pins.
XTALIN
XTALOUT
RESET#
WAKEUP#
SCL
SDA
IFCLK
CLKOUT
DPLUS
DMINUS
RDY0
RDY1
CTL0
CTL1
CTL2
INT0#/PA0
INT1#/PA1
PA2
WU2/PA3
PA4
PA5
PA6
PA7
FD[15]
FD[14]
FD[13]
FD[12]
FD[11]
FD[10]
FD[9]
FD[8]
FD[7]
FD[6]
FD[5]
FD[4]
FD[3]
FD[2]
FD[1]
FD[0]
SLRD
SLWR
FLAGA
FLAGB
FLAGC
INT0#/PA0
INT1#/PA1
SLOE
WU2/PA3
FIFOADR0
FIFOADR1
PKTEND
PA7/FLAGD/SLCS#
FD[15]
FD[14]
FD[13]
FD[12]
FD[11]
FD[10]
FD[9]
FD[8]
FD[7]
FD[6]
FD[5]
FD[4]
FD[3]
FD[2]
FD[1]
FD[0]
PD7
PD6
PD5
PD4
PD3
PD2
PD1
PD0
PB7
PB6
PB5
PB4
PB3
PB2
PB1
PB0
INT0#/PA0
INT1#/PA1
PA2
WU2/PA3
PA4
PA5
PA6
PA7
Port GPIF Master Slave FIFO
Figure 4-1. Signals
[+] Feedback
CY7C68053
Document # 001-06120 Rev *F Page 11 of 39
Figure 4-2. CY7C68053 56-pin VFBGA Pin Assignment - Top view
12345678
A
B
C
D
E
F
G
H
1A 2A 3A 4A 5A 6A 7A 8A
1B 2B 3B 4B 5B 6B 7B 8B
1C 2C 3C 4C 5C 6C 7C 8C
1D 2D 7D 8D
1E 2E 7E 8E
1F 2F 3F 4F 5F 6F 7F 8F
1G 2G 3G 4G 5G 6G 7G 8G
1H 2H 3H 4H 5H 6H 7H 8H
[+] Feedback
CY7C68053
Document # 001-06120 Rev *F Page 12 of 39

4.1 CY7C68053 Pin Descriptions

Note
9. Unused inputs must not be left floating. Tie either HIGH or LOW as appropriate. Outputs should only be pulled up or down to ensure signals at power up and
in standby. Note also that no pins should be driven while the device is powered down
Table 4-1. FX2LP18 Pin Descriptions
[9]
56 VFBGA Name Type Default Description
2D AV
CC
Power N/A Analog VCC. Connect this pin to 3.3V power source. This signal provides
power to the analog section of the chip.
Appropriate bulk/bypass capacitance should be provided for this
supply rail.
1D AV
CC
Power N/A Analog VCC. Connect this pin to 3.3V power source. This signal provides
power to the analog section of the chip.
2F AGND Ground N/A Analog Ground. Connect this pin to ground with as short a path as
possible.
1F AGND Ground N/A Analog Ground. Connect to this pin ground with as short a path as
possible.
1E DMINUS I/O/Z Z USB D– Signal. Connect this pin to the USB D– signal.
2E DPLUS I/O/Z Z USB D+ Signal. Connect this pin to the USB D+ signal.
8B RESET# Input N/A Active LOW Reset. This pin resets the entire chip. See Section 3.9 ”Reset
and Wakeup” on page 5 for more details.
1C XTALIN Input N/A Crystal Input. Connect this signal to a 24 MHz parallel resonant, funda-
mental mode crystal and load capacitor to GND.
It is also correct to drive XTALIN with an external 24-MHz square wave
derived from another clock source.
2C XTALOUT Output N/A Crystal Output. Connect this signal to a 24 MHz parallel resonant, funda-
mental mode crystal and load capacitor to GND.
If an external clock is used to drive XTALIN, leave this pin open.
2B CLKOUT O/Z 12 MHz CLKOUT. 12-, 24- or 48-MHz clock, phase locked to the 24 MHz input
clock. The 8051 defaults to 12 MHz operation. The 8051 may tri-state this
output by setting CPUCS.1 = 1.
Port A
8G PA0 or
INT0#
I/O/Z I
(PA0)
Multiplexed pin whose function is selected by PORTACFG.0
PA0 is a bidirectional IO port pin.
INT0# is the active LOW 8051 INT0 interrupt input signal, which is either
edge triggered (IT0 = 1) or level triggered (IT0 = 0).
6G PA1 or
INT1#
I/O/Z I
(PA1)
Multiplexed pin whose function is selected by:
PORTACFG.1
PA1 is a bidirectional IO port pin.
INT1# is the active LOW 8051 INT1 interrupt input signal, which is either
edge triggered (IT1 = 1) or level triggered (IT1 = 0).
8F PA2 or
SLOE
I/O/Z I
(PA2)
Multiplexed pin whose function is selected by two bits:
IFCONFIG[1:0].
PA2 is a bidirectional IO port pin.
SLOE is an input-only output enable with programmable polarity
(FIFOPINPOLAR.4) for the slave FIFO’s connected to FD[7:0] or FD[15:0].
7F PA3 or
WU2
I/O/Z I
(PA3)
Multiplexed pin whose function is selected by:
WAKEUP.7 and OEA.3
PA3 is a bidirectional IO port pin.
WU2 is an alternate source for USB Wakeup, enabled by WU2EN bit
(WAKEUP.1) and polarity set by WU2POL (WAKEUP.4). If the 8051 is in
suspend and WU2EN = 1, a transition on this pin starts up the oscillator
and interrupts the 8051 to allow it to exit the suspend mode. Asserting this
pin inhibits the chip from suspending, if WU2EN = 1.
[+] Feedback
Loading...
+ 27 hidden pages