— 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
CY7C68053
• 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
• 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)
2
C™ controller, runs at 100 or 400 kHz
Block Diagram
24 MHz
Ext. XTAL
High-performance micro
using standard tools
with lower-power options
MoBL-USB FX2LP18
2
I
C
Master
Additional I/Os (24)
GPIF
4 KB
FIFO
RDY (2)
CTL (3)
8/16
Abundant I/O
General
Programmable I/F
To Baseband processors/
Application processors/
ASICS/DSPs
Up to 96 MBytes/sec
Burst Rate
Integrated
Full- and High-speed
XCVR
D+
D–
VCC
1.5K
Connected for
Full-Speed
USB
XCVR
Enhanced USB Core
Simplifies 8051 Code
2.0
x20
PLL
/0.5
/1.0
/2.0
CY
Smart
USB
1.1/2.0
Engine
8051 Core
12/24/48 MHz,
Four Clocks/Cycle
16 KB
RAM
“Soft Configuration”
Easy Firmware Changes
ECC
Address (16)/ Data Bus(8)
FIFO and Endpoint Memory
(master or slave operation)
Cypress Semiconductor Corporation•198 Champion Court•San Jose, CA 95134-1709•408-943-2600
Document # 001-06120 Rev *FRevised September 9th 2006
[+] Feedback
CY7C68053
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 lowcost 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 microcontroller for application-specific functions and decreasing development 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
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.
ATA,
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 information, visit http://www.cypress.com.
3.0 Functional Overview
The functionality of this chip is described in the sections below.
3.1USB 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.28051 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.18051 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, dynamically.
Figure 3-1. Crystal Configuration
24 MHz
C1
12 pf
20 × PLL
12 pF capacitor values assumes a trace capacitance
of 3 pF per side on a four-layer FR4 PCA
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.2Special 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).
C2
12 pf
Document # 001-06120 Rev *FPage 2 of 39
[+] Feedback
CY7C68053
Table 3-1. Special Function Registers
x8x9xAxBxCxDxExFx
0
1SP EXIF
2DPL0 MPAGEOEA
3DPH0
4DPL1
5DPH1OED
6DPS
7PCON
8TCONSCON0IEIPT2CONEICONEIEEIP
9TMOD SBUF0
ATL0AUTOPTRH1EP2468STATEP01STATRCAP2L
BTL1AUTOPTRL1EP24FIFOFLGSGPIFTRIGRCAP2H
CTH0ReservedEP68FIFOFLGSTL2
DTH1AUTOPTRH2GPIFSGLDATHTH2
ECKCONAUTOPTRL2GPIFSGLDATLX
FReservedAUTOPTRSET-UPGPIFSGLDATLNOX
IOAIOBIOCIODSCON1PSWACCB
INT2CLRIOESBUF1
OEB
OEC
OEE
3.3I2C™ Bus
FX2LP18 supports the I2C bus as a master only at 100-/400KHz. SCL and SDA pins have open-drain outputs and
hysteresis inputs. These signals must be pulled up to either
V
CC
to V
or V
CC_IO
, even if no I2C device is connected.(Connecting
CC_IO
may be more convenient.)
3.4Buses
This 56-pin package has an 8- or 16-bit ‘FIFO’ bidirectional
data bus, multiplexed on IO ports B and D.
3.5USB Boot Methods
During the power-up sequence, internal logic checks the I2C
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-
[1]
ation).
3.6ReNumeration™
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
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.
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.7Bus-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.8Interrupt System
The FX2LP18 interrupts are described in this section.
3.8.1INT2 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.2USB 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
Document # 001-06120 Rev *FPage 3 of 39
[+] Feedback
CY7C68053
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.
Table 3-2. INT2 USB Interrupts
USB INTERRUPT TABLE FOR INT2
PriorityINT2VEC ValueSource Notes
1 00SUDAV Set-up Data Available
2 04 SOF Start of Frame (or microframe)
3 08SUTOK Set-up Token Received
4 0CSUSPEND USB Suspend request
5 10USB RESETBus reset
6 14HISPEED 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 44Reserved
19 48 EP0PINGEP0 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 ERRLIMITBus 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
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.
Document # 001-06120 Rev *FPage 4 of 39
[+] Feedback
Figure 3-2. Reset Timing Plots
CY7C68053
RESET#
V
IL
1.8V
1.62V
V
CC
0V
T
RESET
Power on Reset
3.9Reset and Wakeup
The reset and wakeup pins are described in detail in this
section.
3.9.1Reset 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
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 implementation for the MoBL-USB™ family of products, visit the
Cypress web site at http://www.cypress.com.
Table 3-3. Reset Timing Values
ConditionT
Power on Reset with crystal5 ms
Power on Reset with external
200 µs + Clock stability time
clock
Powered Reset200 µs
3.9.2Wakeup 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.
[2]
RESET
. Figure 3-2
RESET#
V
IL
1.8V
V
CC
0V
T
RESET
Powered Reset
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.3Lowering Suspend Current
Good design practices for CMOS circuits dictate that any
unused input pins must not be floating between V
Floating input pins will not damage the chip, but can substan-
and VIH.
IL
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
GND.
CC_IO
or
— 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 suspended, 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
or GND or driven by another chip.
CC_IO
• CTL0-2. If tri-stated via GPIFIDLECTL, these pins must be
pulled to V
• RESET#, WAKEUP#. These pins must be pulled to V
or GND or driven by another chip during suspend.
or GND or driven by another chip.
CC_IO
CC_IO
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.
Document # 001-06120 Rev *FPage 5 of 39
[+] Feedback
CY7C68053
Figure 3-3. FX2LP18 Internal Code Memory
FFFF
7.5 kBytes
USB regs and
4K FIFO buffers
E200
E1FF
0.5 kBytes RAM
Data
E000
.
.
.
3FFF
16 kBytes RAM
Code and Data
0000
3.10Program/Data RAM
This section describes the FX2LP18 RAM.
3.10.1Size
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.2Internal 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
2
•I
C interface boot load
3.11Register Addresses
Figure 3-4. Register Address Memory
FFFF
F000
EFFF
E800
E7FF
E7C0
E7BF
E780
E77F
E740
E73F
E700
E6FF
E500
E4FF
E480
E47F
E400
E3FF
E200
E1FF
E000
4 kBytes EP2-EP8
buffers
(8 x 512)
2 kBytes RESERVED
64 Bytes EP1IN
64 Bytes EP1OUT
64 Bytes EP0 IN/OUT
64 Bytes RESERVED
8051 Addressable Registers
(512)
Reserved (128)
128 Bytes GPIF Waveforms
Reserved (512)
512 Bytes
8051 xdata RAM
3.12Endpoint RAM
This section describes the FX2LP18 Endpoint RAM.
3.12.1Size
• 3 × 64 bytes(Endpoints 0, 1)
• 8 × 512 bytes (Endpoints 2, 4, 6, 8)
3.12.2Organization
• 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.3Set-up Data Buffer
A separate 8-byte buffer at 0xE6B8-0xE6BF holds the set-up
data from a CONTROL transfer.
3.12.4Endpoint 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
Document # 001-06120 Rev *FPage 6 of 39
[+] Feedback
CY7C68053
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
Figure 3-5. Endpoint Configuration
EP0 IN&OUT
EP1 IN
EP1 OUT
64
64
64
EP2
512
512
EP4
512
512
EP6
512
512
EP8
512
512
1
64
64
64
EP2
512
512
EP4
512
512
EP6
512
512
512
512
2
64
64
64
EP2
512
512
EP4
512
512
EP6
1024
1024
3
EP2
512
512
512
512
EP6
512
EP8
512
512
64
64
64
512
4
64
64
64
EP2
512
512
512
512
EP6
512
512
512
512
5
64 bytes are used. The unused endpoint buffer space is not
available for other operations. An example endpoint configuration is:
ep2064 bulk out (2×)64 int out (2×)64 iso out (2×)
ep4064 bulk out (2×)64 bulk out (2×)64 bulk out (2×)
ep6064 bulk in (2×)64 int in (2×)64 iso in (2×)
ep8064 bulk in (2×)64 bulk in (2×)64 bulk in (2×)
Notes
3. ‘0’ means ‘not implemented.’
4. ‘2×’ means ‘double buffered.’
Document # 001-06120 Rev *FPage 7 of 39
[+] Feedback
3.12.6Default High-Speed Alternate Settings
CY7C68053
Table 3-5. Default High-Speed Alternate Settings
[3, 4]
Alternate Setting0123
ep064646464
ep1out0512 bulk
ep1in0512 bulk
[5]
[5]
64 int64 int
64 int64 int
ep20512 bulk out (2×)512 int out (2×)512 iso out (2×)
ep40512 bulk out (2×)512 bulk out (2×)512 bulk out (2×)
ep60512 bulk in (2×)512 int in (2×)512 iso in (2×)
ep80512 bulk in (2×)512 bulk in (2×)512 bulk in (2×)
3.13External FIFO Interface
The architecture, control signals, and clock rates are
presented in this section.
3.13.1Architecture
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 externally controlled transfers.
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.2Master/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).
3.13.3GPIF and FIFO Clock Rates
An 8051 register bit selects one of two frequencies for the internally supplied interface clock: 30 MHz and 48 MHz. Alternatively, 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.14GPIF
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.
Document # 001-06120 Rev *FPage 8 of 39
[+] Feedback
CY7C68053
3.14.1Three 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.2Two 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.3Long 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.15ECC 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 calculated over 512 bytes.
The ECC can correct any 1-bit error or detect any 2-bit error.
3.15.1ECC 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.16USB 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.17Autopointer 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.18I2C Controller
FX2LP18 has one I2C 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
2
I
C devices. The I2C port operates in master mode only.
2
3.18.1I
The I
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
EEPROM. The pull up resistors used must be such that when
the EEPROM pulls SDA low, the voltage level meets the V
specification of the FX2LP18. For example, if the EEPROM
runs off a 3.3V supply and V
recommended are 10K ohm. This requirement may also vary
depending on the devices being run on the I2C pins. Refer to
the I
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
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.
C Port Pins
2
C pins SCL and SDA must have external 2.2K ohm pull
and the supply used for the
CC_IO
is 1.8V, the pull up resistors
CC_IO
2
C specifications for details.
2
C port, EEPROM
IL
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.
Document # 001-06120 Rev *FPage 9 of 39
[+] Feedback
CY7C68053
Table 3-6. Strap Boot EEPROM Address Lines to These
Val ues
BytesExample EEPROMA2A1A0
1624AA00
[8]
N/AN/AN/A
12824AA01000
25624AA02000
4K24AA32001
8K24AA64001
16K24AA128001
3.18.2I2C Interface Boot Load Access
At power on reset the I2C 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
Figure 4-1. Signals
PortGPIF MasterSlave FIFO
PD7
PD6
PD5
PD4
PD3
PD2
PD1
PD0
PB7
PB6
XTALIN
XTALOUT
RESET#
WAKEUP#
SCL
SDA
IFCLK
CLKOUT
DPLUS
DMINUS
PB5
PB4
PB3
PB2
PB1
PB0
INT0#/PA0
INT1#/PA1
PA2
WU2/PA3
PA4
PA5
PA6
PA7
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.3I
The 8051 can control peripherals connected to the I2C bus
using the I2CTL and I2DAT registers. FX2LP18 provides I
master control only, it is never an I
2
C Interface General Purpose Access
2
C slave.
2
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.
Figure 4-2. CY7C68053 56-pin VFBGA Pin Assignment - Top view
12345678
CY7C68053
A
B
C
D
E
F
G
H
1A2A3A4A5A6A7A8A
1B2B3B4B5B6B7B8B
1C2C3C4C5C6C7C8C
1D2D7D8D
1E2E7E8E
1F2F3F4F5F6F7F8F
1G2G3G4G5G6G7G8G
1H2H3H4H5H6H7H8H
Document # 001-06120 Rev *FPage 11 of 39
[+] Feedback
CY7C68053
4.1CY7C68053 Pin Descriptions
Table 4-1. FX2LP18 Pin Descriptions
56 VFBGANameTypeDefaultDescription
2DAV
1DAV
CC
CC
PowerN/AAnalog VCC. Connect this pin to 3.3V power source. This signal provides
PowerN/AAnalog VCC. Connect this pin to 3.3V power source. This signal provides
2FAGNDGroundN/AAnalog Ground. Connect this pin to ground with as short a path as
1FAGNDGroundN/AAnalog Ground. Connect to this pin ground with as short a path as
1EDMINUSI/O/ZZUSB D– Signal. Connect this pin to the USB D– signal.
2EDPLUSI/O/ZZUSB D+ Signal. Connect this pin to the USB D+ signal.
8BRESET#InputN/AActive LOW Reset. This pin resets the entire chip. See Section 3.9 ”Reset
1CXTALINInputN/ACrystal Input. Connect this signal to a 24 MHz parallel resonant, funda-
2CXTALOUTOutputN/ACrystal Output. Connect this signal to a 24 MHz parallel resonant, funda-
2BCLKOUTO/Z12 MHzCLKOUT. 12-, 24- or 48-MHz clock, phase locked to the 24 MHz input
Port A
8GPA0 or
I/O/ZI
INT0#
6GPA1 or
I/O/ZI
INT1#
8FPA2 or
I/O/ZI
SLOE
7FPA3 or
I/O/ZI
WU2
[9]
power to the analog section of the chip.
Appropriate bulk/bypass capacitance should be provided for this
supply rail.
power to the analog section of the chip.
possible.
possible.
and Wakeup” on page 5 for more details.
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.
mental mode crystal and load capacitor to GND.
If an external clock is used to drive XTALIN, leave this pin open.
clock. The 8051 defaults to 12 MHz operation. The 8051 may tri-state this
output by setting CPUCS.1 = 1.
(PA0)
(PA1)
(PA2)
(PA3)
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
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].
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.
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
Document # 001-06120 Rev *FPage 12 of 39
[+] Feedback
Loading...
+ 27 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.