• SmartMedia Standard Hardware ECC generation with 1-bit
correction and 2-bit detection
• GPIF (General Programmable Interface)
—Allows direct connection to most parallel interfaces
—Programmable waveform descriptors and configuration
registers to define waveforms
—Supports multiple Ready (RDY) inputs and Control (CTL)
outputs
24 MHz
Ext. Xtal
NX2LP-Flex
• 12 fully-programmable GPIO pins
• 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
• 3.3V operation with 5V tolerant inputs
• Vectored USB interrupts and GPIF/FIF O 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 FIFOs
—Integrated glue logic and FIFOs 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 ICs
General Programmable
I/F to ASIC/DSP or bus
standards such as 8-bit
NAND, EPP, etc.
Up to 96 MB/s burst rate
Figure 1-1. Block Diagram
Cypress Semiconductor Corporation•198 Champion Court•San Jose, CA 95134-1709•408-943-2600
Document #: 001-04247 Rev. *C Revised March 15, 2006
Page 2
CY7C68033/CY7C68034
1.1Default NAND Firmware Features
Because the NX2LP-Flex™ is intended for NAND Flashbased USB mass storage applications, a default firmware
image is included in the development kit with the following
features:
• High (480-Mbps) or full (12-Mbps) speed USB support
• Both common NAND page sizes supported
—512 bytes for up to 1 Gb capacity
—2K bytes for up to 8 Gb capacity
• Up to 8 NAND Flash single-device (single-die) chips
are supported
• Up to 4 NAND Flash dual-device (dual-die) chips are
supported
• Compile option allows unused CE# pins to be configured as GPIOs
—4 dedicated GPIO pins
• Industry standard ECC NAND Flash correction
—1-bit per 256-bit correction
—2-bit error detection
• Industry standard (SmartMedia) page management for
wear leveling algorithm, bad block handling, and Physical
to Logical management.
• 8-bit NAND Flash interface support
• Support for 30-ns, 50-ns, and 100-ns NAND Flash timing
• Complies with the USB Mass Storage Class Specification
revision 1.0
The default firmware image implements a USB 2.0 NAND
Flash controller. This controller adheres to the Mass StorageClass Bulk-Only Transport Specification. The USB port of the
NX2LP-Flex is connected to a host computer directly or via the
downstream port of a USB hub. Host software issues
commands and data to the NX2LP-Flex and receives status
and data from the NX2LP-Flex using standard USB protocol.
The default firmware image supports industry leading 8-bit
NAND Flash interfaces and both common NAND page sizes
of 512 and 2k bytes. Up to eight chip enable p ins allow the
NX2LP-Flex to be connected to up to eight single- or four dualdie NAND Flash chips.
Complete source code and documentation for the default
firmware image are included in the NX2LP-Flex development
kit to enable customization for meeting design requirements.
Additionally, compile options for the default firmware allow for
quick configuration of some featur es to decrease desig n effort
and increase time-to-market advantages.
2.0 Overview
Cypress Semiconductor Corporation’s (Cypress’s) EZ-USB
NX2LP-Flex (CY7C68033/CY7C68034) is a firmware-based,
programmable version of the EZ-USB NX2LP™
(CY7C68023/CY7C68024), which is a fixed-function, low-
power USB 2.0 NAND Flash controller. 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 enables feature-rich NAND Flash-based applications.
The ingenious architecture of NX2LP-Flex results in USB data
transfer rates of over 53 Mbytes per second, the maximumallowable USB 2.0 bandwidth, while still using a low-cost 8051
microcontroller in a small 56-pin QFN package. Because it
incorporates the USB 2.0 transceiver , the NX2LP-Flex is mo re
economical, providing a smaller footprint solution than
external USB 2.0 SIE or transceiver implementations. With
EZ-USB NX2LP-Flex, the Cypress Smart SIE handles most of
the USB 1.1 and 2.0 protocol, freeing the embedded microcontroller for application-specific functions and decreasing development time while ensuring 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, I
2
C, PCMCIA, and most DSP processors.
3.0 Applications
The NX2LP-Flex allows designers to add extra functionality to
basic NAND Flash mass storage designs, or to interface them
with other peripheral devices. Applications may include:
• NAND Flash-based GPS devices
• NAND Flash-based DVB video capture devices
• Wireless pointer/presenter tools with NAND Flash storage
• NAND Flash-based MPEG/TV conversion devices
• Legacy conversion devices with NAND Flash storage
• NAND Flash-based cameras
• NAND Flash mass storage device with biometric (e.g., fingerprint) security
• Home PNA devices with NAND Flash storage
• Wireless LAN with NAND Flash storage
• NAND Flash-based MP3 players
• LAN networking with NAND Flash storage
NAND-Based
DVB Unit
LCD
D+/-
Audio / Video I/O
Figure 3-1. Example DVB Block Diagram
Buttons
I/O
NX2LP-
Flex
DVB
Decoder
CTL
CE[7:0]
I/OI/O
NAND Bank(s)
I/O
Document #: 001-04247 Rev. *CPage 2 of 40
Page 3
NAND-Based
GPS Unit
Buttons
CY7C68033/CY7C68034
An on-chip PLL multiplies the 24-MHz oscillator up to
480 MHz, as required by the transceiver/PHY, and 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.
LCD
D+/-
I/O
NX2LP-
Flex
GPS
CTL
CE[7:0]
I/OI/O
NAND Bank(s)
I/O
Figure 3-2. Example GPS Block Diagram
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. Please visit
http://www.cypress.com for more information.
4.0 Functional Overview
4.1USB Signaling Speed
NX2LP-Flex 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.
NX2LP-Flex does not support the low-speed signaling mode
of 1.5 Mbps.
24 MHz
C1
12 pf
C2
12 pf
20 × PLL
12-pF capacitor values assumes a trace capacitance
of 3 pF per side on a four-layer FR4 PCA
Figure 4-1. Cryst a l C o n f ig uration
The CLKOUT pin, which can be three-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.
4.2.2Special Function Registers
Certain 8051 SFR addresses are populated to provide fast
access to critical NX2LP-Flex functions. These SFR additions
are shown in Table 4-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 I/O ports
A–D use the SFR addresses used in the standard 8051 for
ports 0–3, which are not implemented in NX2LP-Flex.
Because of the faster and more efficient SFR addressing, the
NX2LP-Flex I/O ports are not addressable in external RAM
space (using the MOVX instruction).
4.28051 Microprocessor
The 8051 microprocessor embedded in the NX2LP-Flex has
256 bytes of register RAM, an expanded interrupt system and
three timer/counters.
4.2.18051 Clock Frequency
4.3I2C Bus
NX2LP supports the I2C 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 3.3V , even if no I
device is connected. The I
2
C bus is disabled at startup and
only available for use after the initial NAND access.
2
NX2LP-Flex has an on-chip oscillator circuit that uses an
external 24-MHz (±100-ppm) crystal with the following characteristics:
The NX2LP-Flex features an 8- or 16-bit “FIFO” bidirectional
data bus, multiplexed on I/O port s B and D.
The default firmware image implements an 8-bit data bus in
GPIF Master mode. It is recommended that additional interfaces added to the default firmware image use thi s 8-bit data
bus.
4.5Enumeration
During the start-up sequence, internal logic checks for the
presence of NAND Flash with valid firmware. If valid firmware
is found, the NX2LP-Flex loads it and operates accord ing to
the firmware. If no NAND Flash is detected, or if no valid
firmware is found, the NX2LP-Flex uses the default values
from internal ROM space for manufacturing mode operation.
The two modes of operation are described in sections 4.5.1
and 4.5.2 below.
Document #: 001-04247 Rev. *CPage 4 of 40
Page 5
YesNo
NAND Flash
Programmed?
Yes
Start-up
NAND Flash
Present?
No
CY7C68033/CY7C68034
values stored in ROM space. The default silicon ID values
should only be used for development purposes. Cypress
requires designers to use their own Vendor ID for final
products. A Vendor ID is obtained through registration with the
USB Implementor’s Forum (USB-IF). Also, if the NX2LP-Flex
is used as a mass storage class device, a unique USB serial
number is required for each device in order to comply with the
USB Mass Storage class specification.
Cypress provides all the software tools and drivers necessary
for properly programming and testing the NX2LP-Flex. Please
refer to the documentation in the development kit for more
information on these topics.
In Normal Operation Mode, the NX2LP-Flex behaves as a
USB 2.0 Mass Storage Class NAND Flash controller. This
includes all typical USB device states (powered, configured,
etc.). The USB descriptors are returned accordi n g to th e d ata
stored in the configuration data memory area. Normal read
and write access to the NAND Flash is available in this mode.
4.5.2Manufacturing Mode
In Manufacturing Mode, the NX2LP-Flex enumerates using
the default descriptors and configuration data that are stored
in internal ROM space. This mode allows for first-time
programming of the configuration data memory area, as well
as board-level manufacturing tests.
4.6Default Silicon ID Values
To facilitate proper USB enumeration when no programmed
NAND Flash is present, the NX2LP-Flex has default silicon ID
4.7ReNumeration™
Cypress’s ReNumeration™ feature is used in conjunction with
the NX2LP-Flex manufacturing software tools to enable firsttime NAND programming. It is only available when used in
conjunction with the NX2LP-Flex Manufacturing tools, and is
not enabled during normal operation.
4.8Bus-powered Applications
The NX2LP-Flex fully supports bus-powered designs by
enumerating with less than 100 mA, as required by the USB
2.0 specification.
4.9Interrupt System
4.9.1INT2 Interrupt Request and Enable Registers
NX2LP-Flex implements an autovector feature for INT2 and
INT4. There are 27 INT2 (USB) vectors, and 14 INT4
(FIFO/GPIF) vectors. See the EZ-USB Technical Reference
Manual (TRM) for more details.
4.9.2USB-Interrupt Autovectors
The main USB interrupt is shared by 27 interrupt sources. To
save the code and processing time that normally would be
required to identify the individual USB interrupt source, the
NX2LP-Flex provides a second level of interrupt vectoring,
called Autovectoring. When a USB interrupt is asserted, the
NX2LP-Flex pushes the program counter onto its stack then
jumps to address 0x0500, where it expects to find a “jump”
instruction to the USB Interrupt service routin e .
Developers familiar with Cypress’s programmable USB
devices should note that these interrupt vector values differ
from those used in other EZ-USB microcontrollers. This is due
to the additional NAND boot logic that is present in the NX2LPFlex ROM space. Also, these values are fixed and cannot be
changed in the firmware.
Document #: 001-04247 Rev. *CPage 5 of 40
Page 6
Page 7
CY7C68033/CY7C68034
Table 4-4. Individual FIFO/GPIF Interrupt Sources
PriorityINT4VEC ValueSource Notes
10x580EP2PFEndpoint 2 Programmable Flag
2 0x584 EP4PFEndpoint 4 Programmable Flag
30x588EP6PFEndpoint 6 Programmable Flag
40x58CEP8PFEndpoint 8 Programmable Flag
50x590EP2EFEndpoint 2 Empty Flag
60x594EP4EFEndpoint 4 Empty Flag
70x598EP6EFEndpoint 6 Empty Flag
80x59CEP8EFEndpoint 8 Empty Flag
90x5A0 EP2FFEndpoint 2 Full Flag
100x5A4EP4FFEndpoint 4 Full Flag
110x5A8EP6FFEndpoint 6 Full Flag
120x5AC EP8FFEndpoint 8 Full Flag
13 0x5B0GPIFDONEGPIF Operation Complete
14 0x5B4GPIFWFGPIF Waveform
If Autovectoring is enabled (AV4EN = 1 in the INTSET-UP
register), the NX2LP-Flex substitutes its INT4VEC byte.
Therefore, if the high byte (“page”) of a jump-table address is
preloaded at location 0x554, the automatically-inserted
INT4VEC byte at 0x555 will direct the jump to the correct
address out of the 14 addresses within the page. When the
ISR occurs, the NX2LP-Flex pushes the program counter onto
its stack then jumps to address 0x553, where it expects to find
a “jump” instruction to the ISR Interrupt service routine.
4.10Reset and Wakeup
4.10.1Reset Pin
The input pin RESET#, will reset the NX2LP-Flex when
asserted. This pin has hysteresis and is active LOW. When a
crystal is used as the clock source for the NX2LP-Flex, the
RESET#
V
IL
3.3V
3.0V
V
CC
0V
T
RESET
Power-on Reset
Figure 4-3. Reset Timing Plots
reset period must allow for the stabilization of the crystal and
the PLL. This reset period should be approximately 5 ms after
V
has reached 3.0V. If the crystal input pin is driven by a
CC
clock signal, the internal PLL stabilizes in 200 µs after V
reached 3.0V
[1]
. Figure 4-3 shows a power-on reset condition
CC
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 NX2LP-Flex 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 EZ-USB family of products visit the
http://www.cypress.com website.
RESET#
V
IL
3.3V
V
CC
0V
T
RESET
Powered Reset
has
Note:
1. If the external clock is powered at the same time as the CY7C68033/CY7C68034 and has a stabilization wait period, it must be added to the 200 µs.
Document #: 001-04247 Rev. *CPage 7 of 40
Page 8
Table 4-5. Reset Timing Values
ConditionT
RESET
Power-on Reset with crystal5 ms
Power-on Reset with external
200 µs + Clock stability time
clock source
Powered Reset200 µs
4.10.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
NX2LP-Flex is connected to the USB.
The NX2LP-Flex 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 NX2LP-Flex 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 I/O 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.
4.11Program/Data RAM
4.11.1Internal ROM/RAM Size
The NX2LP-Flex has 1 kBytes ROM and 15 kBytes of internal
program/data RAM, where PSEN#/RD# signals are internally
ORed to allow the 8051 to access it as both program and data
memory. No USB control registers appear in this space.
4.11.2Internal Code Memory
This mode implements the internal block of RAM (starting at
0x0500) as combined code and data memory, as shown in
Figure 4-4, below.
Only the internal and scratch pad RAM spaces have the
following access:
• USB download (only supported by the Cypress Manufacturing Tool)
• 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 either double, triple, or quad buffered.
For high-speed endpoint configuration options, see Figure 4-6.
4.13.3Set-up Data Buffer
A separate 8-byte buffer at 0xE6B8-0xE6BF holds the Set-up
data from a CONTROL transfer.
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
512
EP8
512
512
64
64
64
64
64
64
EP2
512
512
512
512
EP6
512
512
512
512
4
5
Figure 4-6. Endpoint Configuration
4.13.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 1 of the 12 configurations shown in the
vertical columns. When operating in full-speed BULK mode,
only the first 64 bytes of each buffer are used. For example, in
high-speed the max 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 configuration would be:
ep064646464
ep1out064 bulk64 int64 int
ep1in064 bulk64 int64 int
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:
2. “0” means “not implemented.”
3. “2×” means “double buffered.”
Document #: 001-04247 Rev. *CPage 9 of 40
Page 10
CY7C68033/CY7C68034
4.13.6Default High-Speed Alternate Settings
Table 4-7. Default High-Speed Alternate Settings
Alternate Setting0123
ep064646464
ep1out0512 bulk
ep1in0512 bulk
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×)
[2, 3]
[4]
[4]
64 int64 int
64 int64 int
4.14External FIFO Interface
4.14.1Architecture
The NX2LP-Flex 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 I/O transfer
logic. The transfer logic takes two forms, the GPIF for internally
generated control signals, or the slave FIFO interface for
externally controlled transfers.
4.14.2Master/Slave Control Signals
The NX2LP-Flex endpoint FIFOS 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-I/O Unit domain. This switching is
done virtually instantaneously, giving essentially zero transfer
time between “USB FIFOS” and “Slave FIFOS.” Since they are
physically the same memory, no bytes are actually transferred
between buffers.
At any given time, some RAM blocks are filling/emptying with
USB data under SIE control, while other RAM blocks are
available to the 8051 and/or the I/O control unit. The RAM
blocks operate as single-port in the USB domain, and dualport in the 8051-I/O domain. The blocks can be configured as
single, double, triple, or quad buffered as previously shown.
The I/O 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 if
desired. 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 16bit interface).
In Slave (S) mode, the NX2LP-Flex accepts either an internally
derived clock or externally supplied clock (IFCLK, max.
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
from the internal clock source with the IFCLKSRC bit. Each
endpoint can individually be selected for byte or word
Note:
4. Even though these buffers are 64 bytes, they are reported as 512 for USB 2.0 compliance. The user must never transfer p ackets larger than 64 bytes to EP1.
operation by an internal configuration bit, and a Slave F IFO
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 SL RD, SLWR,
SLOE and PKTEND are gated by the signal SLCS#.
4.14.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 a clock output signal
when the GPIF and FIFOs are internally clocked. An output
enable bit in the IFCONFIG register turns this clock output off,
if desired. Another bit within the IFCONFIG register will invert
the IFCLK signal, whether internally or externally sourced.
The default NAND firmware image implements a 48-MHz
internally supplied interface clock and disables the IFCLK
output. The NAND boot logic uses the same configuration to
implement 100-ns timing on the NAND bus to support proper
detection of all NAND Flash types.
4.15GPIF
The GPIF is a flexible 8- or 16-bit parallel interface driven by a
user-programmable finite state machine. It allows the NX2LPFlex to perform local bus mastering, and can implement a wide
variety of protocols such as 8-bit NAND interface, printer
parallel port, and Utopia. The default NAND firmware and boot
logic utilizes GPIF functionality to interface with NAND Flash.
The GPIF on the NX2LP-Flex features three programmable
control outputs (CTL) and two general-purpose ready inputs
(RDY). The GPIF data bus width can be 8 or 16 bits. Because
the default NAND firmware image implements an 8-bit data
bus and up to 8 chip enable pins on the GPIF ports, it is recommended that designs based upon the default firmware image
use an 8-bit data bus as well.
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,
etc. A sequence of the GPIF vectors make up a single
Document #: 001-04247 Rev. *CPage 10 of 40
Page 11
CY7C68033/CY7C68034
waveform that will be executed to perform the desired data
move between the NX2LP-Flex and the external device.
4.15.1Three Control OUT Signals
The NX2LP-Flex exposes three control signals, CTL[2:0].
CTLx waveform edges can be programmed to make transitions as fast as once per clock (20.8 ns using a 48-MHz clock).
4.15.2Two Ready IN Signals
The 8051 programs the GPIF unit to test the RDY pins for
GPIF branching. The 56-pin package brings out two signals,
RDY[1:0].
4.15.3Long Transfer Mode
In GPIF 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
over-flow until the full number of requested transactions
complete. The GPIF decrements the value in these registers
to represent the current status of the transaction.
4.16ECC Generation
[5]
The NX2LP-Flex can calculate ECCs (Error-Correcting
Codes) on data that passes across its GPIF or Slave FIFO
interfaces. There are two ECC configurations:
• Two ECCs, each calculated over 256 bytes (SmartMedia
Standard)
• One ECC calculated over 512 bytes.
The two ECC configurations described below are selected by
the ECCM bit. The ECC can correct any one-bit error or detect
any two-bit error.
4.16.1ECCM = 0
Two 3-byte ECCs, each calculated over a 256-byte block of
data. This configuration conforms to the SmartMedia Standard
and is used by both the NAND boot logic and default NAND
firmware image.
reg
When any value is written to ECCRESET and data is then
passed across the GPIF or Slave FIFO interface, the ECC for
the first 256 bytes of data will be calculated and stored in
ECC1. The ECC for the next 256 bytes of data will be stored
in ECC2. After the second ECC is calculated, the values in the
ECCx registers will not change until ECCRESET is written
again, even if more data is subsequently passed across the
interface.
4.16.2ECCM = 1
One 3-byte ECC calculated over a 512-byte block of data.
When any value is written to ECCRESET and data is then
passed across the GPIF or Slave FIFO interface, the ECC for
the first 512 bytes of data will be calculated and stored in
ECC1; ECC2 is unused. After the ECC is calculated, the value
in ECC1 will not change until ECCRESET is written again,
even if more data is subsequently passed across the interface
4.17Autopointer Access
NX2LP-Flex 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. Also, the autopointers can point to any NX2LP-Flex
register or endpoint buffer space.
4.18I2C Controller
NX2LP has one I2C port that the 8051, once running uses to
control external I
mode only. The I
available for use after the initial NAND access.
4.18.1I
The I2C pins SCL and SDA must have external 2.2-kΩ pull-up
resistors even if no EEPROM is connected to the NX2LP.
4.18.2I
The 8051 can control peripherals connected to the I
using the I
master control only and is never an I
2
C devices. The I2C port operates in master
2
C post is disabled at startup and only
2
C Port Pins
2
C Interface General-Purpose Access
2
2
CTL and I2DATA registers. NX2LP provides I2C
2
C slave.
C bus
Notes:
5. To use the ECC logic, the GPIF or Slave FIFO interface must be configured for byte-wide operation.
Document #: 001-04247 Rev. *CPage 11 of 40
Page 12
CY7C68033/CY7C68034
5.0 Pin Assignments
Figure 5-1 and Figure 5-2 identify all signals for the 56-pin
NX2LP-Flex package.
Three modes of operation are available for the NX2LP-Flex:
Port mode, GPIF Master mode, and Slave FIFO mode. These
modes define the signals on the right edge of each column in
Figure 5-1. The right-most column details the signal functionality from the default NAND firmware image, which actually
utilize s GPIF Maste r mod e. The signals on the lef t edge of the
“Port” column are common to all modes of the NX2LP-Flex.
The 8051 selects the interface mode using the IFCONFIG[1:0]
register bits. Port mode is the power-on default configuration.
Figure 5-2 details the pinout of the 56-pin package and lists pin
names for all modes of operation. Pin names with an asterisk
(*) feature programmable polarity.
42RESET#N/AInputN/AActive LOW Reset. Resets the entire chip. See section 4.10 ”Reset
54CLKOUTGPIO9O/Z12 MHz CLKOUT: 12-, 24-, or 48-MHz clock, phase locked to the 24-MHz
29CTL0 or
30CTL1 or
31CTL2 or
13IFCLKGPIO8I/O/ZIInterface Clock, used for synchronously clocking data into or out of
Note:
6. Unused inputs should not be lef t floating. T ie eit her HIGH or LOW as appropria te. Outputs should onl y be pulled up or down to ensur e signals at power-up and
in standby . Note also that no pins should be driven while the device is powered down.
Default Pin
Name
9DMINUSN/AI/O/ZZUSB D– Signal. Connect to the USB D– signal.
8DPLUSN/AI/O/ZZUSB D+ Signal. Connect to the USB D+ signal.
5XTALINN/AInputN/ACrystal Input. Connect this signal to a 24-MHz parallel-resonant,
4XTALOUTN/AOutputN/ACrystal Output. Connect this signal to a 24-MHz parallel-resonant,
1RDY0 or
SLRD
2RDY1 or
SLWR
FLAGA
FLAGB
FLAGC
NAND
Firmware
UsagePin Type
R_B1#InputN/AMultiplexed pin whose function is selected by IFCONFIG[1:0].
R_B2#InputN/AMultiplexed pin whose function is selected by IFCONFIG[1:0].
WE#O/ZHMultiplexed pin whose function is selected by IFCONFIG[1:0].
RE0#O/ZHMultiplexed pin whose function is selected by IFCONFIG[1:0].
RE1#O/ZHMultiplexed pin whose function is selected by IFCONFIG[1:0].
[6]
Default
StateDescription
and Wakeup” on page 7 for more details.
fundamental 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. When driving from an external
source, the driving signal should be a 3.3V square wave.
fundamental mode crystal and load capacitor to GND.
If an external clock is used to drive XTALIN, leave this pin open.
input clock. The 8051 defaults to 12-MHz operation. The 8051 may
three-state this output by setting CPUCS[1] = 1.
RDY0 is a GPIF input signal.
SLRD is the input-only read strobe with programmable polarity
(FIFOPINPOLAR[3]) for the slave FIFOs connected to FD[7:0] or
FD[15:0].
R_B1# is a NAND Ready/Busy input signal.
RDY1 is a GPIF input signal.
SLWR is the input-only write strobe with programmable polarity
(FIFOPINPOLAR[2]) for the slave FIFOs connected to FD[7:0] or
FD[15:0].
R_B2# is a NAND Ready/Busy input signal.
CTL0 is a GPIF control output.
FLAGA is a programmable slave-FIFO output status flag signal.
Defaults to programmable for the FIFO selected by the FIFOADR[1:0]
pins.
WE# is the NAND write enable output signal.
CTL1 is a GPIF control output.
FLAGB is a programmable slave-FIFO output status flag signal.
Defaults to FULL for the FIFO selected by the FIFOADR[1:0] pins.
RE0# is a NAND read enable output signal.
CTL2 is a GPIF control output.
FLAGC is a programmable slave-FIFO output status flag signal.
Defaults to EMPTY for the FIFO selected by the FI FO ADR [1:0] pins.
RE1# is a NAND read enable output signal.
the slave FIFOs. IFCLK also serves as a timing reference for all slave
FIFO control signals and GPIF. When internal clocking is used
(IFCONFIG[7] = 1) the IFCLK pin can be configured to output 30/48
MHz by bits IFCONFIG[5] and IFCONFIG[6]. IFCLK may be inverted,
whether internally or externally sourced, by setting the bit
IFCONFIG[4] =1.
14Reserved#N/AInputN/AReserved. Connect to ground.
15SCLN/AODZClock for the I
16SDATAN/AODZData for the I
44WAKEUPUnusedInputN/AUSB Wakeup. If the 8051 is in suspend, asserting this pin starts up
Port A
33PA0 or
34PA1 or
35PA2 or
36PA3 or
37PA4 or
38PA5 or
39PA6 or
Default Pin
Name
INT0#
INT1#
SLOE or
WU2
FIFOADR0
FIFOADR1
PKTEND
NAND
Firmware
UsagePin Type
CLEI/O/ZI
ALEI/O/ZI
LED1#I/O/ZI
LED2#I/O/ZI
WP_NF#I/O/ZI
WP_SW#I/O/ZI
GPIO0
(Input)
I/O/ZI
[6]
Default
StateDescription
2
C interface. Connect to VCC with a 2.2K resistor, even
2
C interface. Connect to VCC with a 2.2K resistor, even
(PA0)
(PA1)
(PA2)
(PA3)
(PA4)
(PA5)
(PA6)
2
if no I
C peripheral is attached.
2
if no I
C peripheral is attached.
the oscillator and interrupts the 8051 to allow it to exit the suspend
mode. Holding WAKEUP asserted inhibits the EZ-USB chip from
suspending. This pin has programmable polarity, controlled by
WAKEUP[4].
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).
CLE is the NAND Command Latch Enable signal.
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).
ALE is the NAND Address Latch Enable signal.
Multiplexed pin whose function is selected by 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 FIFOs connected to FD[7:0] or
FD[15:0].
LED1# is the data activity indicator LED sink pin.
Multiplexed pin whose function is selected by WAKEUP[7] and
OEA[3]
PA3 is a bidirectional I/O 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.
LED2# is the chip activity indicator LED sink pin.
Multiplexed pin whose function is selected by IFCONFIG[1:0].
PA4 is a bidirectional I/O port pin.
FIFOADR0 is an input-only address select for the slave FIFOs
connected to FD[7:0] or FD[15:0].
WP_NF# is the NAND write-protect control output signal.
Multiplexed pin whose function is selected by IFCONFIG[1:0].
PA5 is a bidirectional I/O port pin.
FIFOADR1 is an input-only address select for the slave FIFOs
connected to FD[7:0] or FD[15:0].
WP_SW# is the NAND write-protect switch input signal.
Multiplexed pin whose function is selected by the IFCONFIG[1:0] bits.
PA6 is a bidirectional I/O port pin.
PKTEND is an input used to commit the FIFO packet data to the
endpoint and whose polarity is programmable via FIFOPINPOLAR[5].
GPIO1 is a general purpose I/O signal.
Multiplexed pin whose function is selected by the IFCONFIG[1:0] and
PORTACFG[7] bits.
PA7 is a bidirectional I/O port pin.
FLAGD is a programmable slave-FIFO output status flag signal.
SLCS# gates all other slave FIFO enable/strobes
GPIO0 is a general purpose I/O signal.
Multiplexed pin whose function is selected by IFCONFIG[1:0].
PB0 is a bidirectional I/O port pin.
FD[0] is the bidirectional FIFO/GPIF data bus.
DD0 is a bidirectional NAND data bus signal.
Multiplexed pin whose function is selected by IFCONFIG[1:0].
PB1 is a bidirectional I/O port pin.
FD[1] is the bidirectional FIFO/GPIF data bus.
DD1 is a bidirectional NAND data bus signal.
Multiplexed pin whose function is selected by IFCONFIG[1:0].
PB2 is a bidirectional I/O port pin.
FD[2] is the bidirectional FIFO/GPIF data bus.
DD2 is a bidirectional NAND data bus signal.
Multiplexed pin whose function is selected by IFCONFIG[1:0].
PB3 is a bidirectional I/O port pin.
FD[3] is the bidirectional FIFO/GPIF data bus.
DD3 is a bidirectional NAND data bus signal.
Multiplexed pin whose function is selected by IFCONFIG[1:0].
PB4 is a bidirectional I/O port pin.
FD[4] is the bidirectional FIFO/GPIF data bus.
DD4 is a bidirectional NAND data bus signal.
Multiplexed pin whose function is selected by IFCONFIG[1:0].
PB5 is a bidirectional I/O port pin.
FD[5] is the bidirectional FIFO/GPIF data bus.
DD5 is a bidirectional NAND data bus signal.
Multiplexed pin whose function is selected by IFCONFIG[1:0].
PB6 is a bidirectional I/O port pin.
FD[6] is the bidirectional FIFO/GPIF data bus.
DD6 is a bidirectional NAND data bus signal.
Multiplexed pin whose function is selected by IFCONFIG[1:0].
PB7 is a bidirectional I/O port pin.
FD[7] is the bidirectional FIFO/GPIF data bus.
DD7 is a bidirectional NAND data bus signal.
Multiplexed pin whose function is selected by the IFCONFIG[1:0] and
EPxFIFOCFG.0 (wordwide) bits.
FD[8] is the bidirectional FIFO/GPIF data bus.
CE0# is a NAND chip enable output signal.
Multiplexed pin whose function is selected by the IFCONFIG[1:0] and
EPxFIFOCFG.0 (wordwide) bits.
FD[9] is the bidirectional FIFO/GPIF data bus.
CE1# is a NAND chip enable output signal.
Multiplexed pin whose function is selected by the IFCONFIG[1:0] and
EPxFIFOCFG.0 (wordwide) bits.
FD[10] is the bidirectional FIFO/GPIF data bus.
CE2# is a NAND chip enable output signal.
GPIO2 is a general purpose I/O signal.
AGNDN/AGroundN/AAnalog Ground. Connect to ground with as short a path as possible.
VCCN/APowerN/AV
GNDN/AGroundN/AGround.
NAND
Firmware
UsagePin Type
CE3# or
GPIO3
CE4# or
GPIO4
CE5# or
GPIO5
CE6# or
GPIO6
CE7# or
GPIO7
I/O/ZI
I/O/ZI
I/O/ZI
I/O/ZI
I/O/ZI
Default
StateDescription
(PD3)
(PD4)
(PD5)
(PD6)
(PD7)
[6]
Multiplexed pin whose function is selected by the IFCONFIG[1:0] and
EPxFIFOCFG.0 (wordwide) bits.
FD[11] is the bidi rectional FIFO/GPIF data bus.
CE3# is a NAND chip enable output signal.
GPIO3 is a general purpose I/O signal.
Multiplexed pin whose function is selected by the IFCONFIG[1:0] and
EPxFIFOCFG.0 (wordwide) bits.
FD[12] is the bidirectional FIFO/GPIF data bus.
CE4# is a NAND chip enable output signal.
GPIO4 is a general purpose I/O signal.
Multiplexed pin whose function is selected by the IFCONFIG[1:0] and
EPxFIFOCFG.0 (wordwide) bits.
FD[13] is the bidirectional FIFO/GPIF data bus.
CE5# is a NAND chip enable output signal.
GPIO5 is a general purpose I/O signal.
Multiplexed pin whose function is selected by the IFCONFIG[1:0] and
EPxFIFOCFG.0 (wordwide) bits.
FD[14] is the bidirectional FIFO/GPIF data bus.
CE6# is a NAND chip enable output signal.
GPIO6 is a general purpose I/O signal.
Multiplexed pin whose function is selected by the IFCONFIG[1:0] and
EPxFIFOCFG.0 (wordwide) bits.
FD[15] is the bidirectional FIFO/GPIF data bus.
CE7# is a NAND chip enable output signal.
GPIO7 is a general purpose I/O signal.
. Connect this pin to 3.3V power source. This signal
provides power to the analog section of the chip.
CC
CC
. Connect to 3.3V power source.
Document #: 001-04247 Rev. *CPage 17 of 40
Page 18
CY7C68033/CY7C68034
6.0 Register Summary
NX2LP-Flex register bit definitions are described in the EZ-USB TRM in greater detail. Some registers that are listed here and in
the TRM do not apply to the NX2LP-Flex. They are kept here for consistency reasons only. Registers that do not apply to the
NX2LP-Flex should be left at their default power-up values.
E673 4XTALINSRCXTALIN Clock Source0000000EXTCLK00000000 rrrrrrrb
E677 1reserved
E678 1I2CSI2C Bus Control & Status STARTSTOPLASTRDID1ID0BERRACKDONE000xx000 bbbrrrrr
E679 1I2DATI2C Bus Datad7d6d5d4d3d2d1d0xxxxxxxx RW
E67A 1I2CTLI2C Bus Control000000STOPIE400kHz00000000 RW
E67B 1XAUTODAT1Autoptr1 MOVX access,
E67C 1XAUTODAT2Autoptr2 MOVX access,
E67D 1UDMACRCH
E67E 1UDMACRCL
E67F 1UDMACRC-
E680 1USBCSUSB Control & StatusHSM000DISCONNOSYNSOF RENUMSIGRSUME x0000000 rrrrbbbb
E681 1SUSPENDPut chip into suspendxxxxxxxxxxxxxxxx W
E682 1WAKEUPCSWakeup Control & Status WU2WUWU2POLWUPOL0DPENWU2ENWUENxx000101 bbbbrbbb
E683 1TOGCTLToggle ControlQSRIOEP3EP2EP1EP0x0000000 rrrbbbbb
E684 1USBFRAMEHUSB Frame count H00000FC10FC9FC800000xxx R
E685 1USBFRAMELUSB Frame count LFC7FC6FC5FC4FC3FC2FC1FC0xxxxxxxx R
E686 1MICROFRAMEMicroframe count, 0-700000MF2MF1MF000000xxx R
E687 1FNADDRUSB Function address0FA6FA5FA4FA3FA2FA1FA00xxxxxxx R
E688 2reserved
(Oscillator or Crystal Frequency)....24 MHz ± 100 ppm
OSC
(Parallel Resonant)
Document #: 001-04247 Rev. *CPage 24 of 40
Page 25
CY7C68033/CY7C68034
9.0 DC Characteristics
Table 9-1. DC Characteristics
ParameterDescriptionConditionsMin.Typ.Max.Unit
V
CC
VCC Ramp Up 0 to 3.3V 200µs
V
IH
V
IL
V
IH_X
V
IL_X
I
I
V
OH
V
OL
I
OH
I
OL
C
IN
I
SUSP
I
CC
I
UNCONFIG
T
RESET
Supply Voltage3.003.33.60V
Input HIGH Voltage25.25V
Input LOW Voltage–0.50.8V
Crystal Input HIGH Voltage25.25V
Crystal Input LOW Voltage–0.50.8V
Input Leakage Current0< VIN < V
Output Voltage HIGHI
Output LOW VoltageI
= 4 mA2.4V
OUT
= –4 mA0.4V
OUT
CC
±10µA
Output Current HIGH4mA
Output Current LOW4mA
Input Pin CapacitanceExcept D+/D–10pF
D+/D–15pF
Suspend Current Connected300380
CY7C68034Disconnected100150
Suspend Current Connected0.51.2
CY7C68033Disconnected0.31.0
[12]
[12]
[12]
[12]
Supply Current8051 running, connected to USB HS43mA
8051 running, connected to USB FS35mA
Unconfigured CurrentBefore bMaxPower granted by host43mA
Reset Time After Valid PowerVCC min = 3.0V5.0ms
Pin Reset After powered on200µs
Table 10-1. GPIF Synchronous Signals Parameters with Internally Sourced IFCLK
[13, 14]
ParameterDescriptionMin.Max.Unit
t
IFCLK
t
SRY
t
RYH
t
SGD
t
DAH
t
SGA
t
XGD
t
XCTL
Table 10-2. GPIF Synchronous Signals Parameters with Externally Sourced IFCLK
IFCLK Period20.83ns
RDYX to Clock Set-up Time8.9ns
Clock to RDYX 0ns
GPIF Data to Clock Set-up Time9.2ns
GPIF Data Hold Time0ns
Clock to GPIF Address Propagation Delay7.5ns
Clock to GPIF Data Output Propagation Delay11ns
Clock to CTLX Output Propagation Delay6.7ns
[14]
ParameterDescriptionMin.Max.Unit
t
IFCLK
t
SRY
t
RYH
t
SGD
t
DAH
t
SGA
t
XGD
t
XCTL
Notes:
13. Dashed lines denote signals with programmable polarity.
14. GPIF asynchronous RDY
15. IFCLK must not exceed 48 MHz.
IFCLK Period
RDYX to Clock Set-up Time2.9ns
Clock to RDYX 3.7ns
GPIF Data to Clock Set-up Time3.2ns
GPIF Data Hold Time4.5ns
Clock to GPIF Address Propagation Delay11.5ns
Clock to GPIF Data Output Propagation Delay15ns
Clock to CTLX Output Propagation Delay10.7ns
signals have a minimum Set-up time of 50 ns when using internal 48-MHz IFCLK.
IFCLK Period20.83ns
SLRD to Clock Set-up Time18.7ns
Clock to SLRD Hold Time0ns
SLOE Turn-on to FIFO Data Valid10.5ns
SLOE Turn-off to FIFO Data Hold10.5ns
Clock to FLAGS Output Propagation Delay9.5ns
Clock to FIFO Data Output Propagation Delay11ns
IFCLK Period20.83200ns
SLRD to Clock Set-up Time12.7ns
Clock to SLRD Hold Time3.7ns
SLOE Turn-on to FIFO Data Valid10.5ns
SLOE Turn-off to FIFO Data Hold10.5ns
Clock to FLAGS Output Propagation Delay13.5ns
Clock to FIFO Data Output Propagation Delay15ns
16. Slave FIFO asynchronous parameter values use internal IFCLK setting at 48 MHz.
SLRD Pulse Width LOW50ns
SLRD Pulse Width HIGH50ns
SLRD to FLAGS Output Propagation Delay70ns
SLRD to FIFO Data Output Propagation Delay15ns
SLOE Turn-on to FIFO Data Valid10.5ns
SLOE Turn-off to FIFO Data Hold10.5ns
IFCLK Period20.83ns
SLWR to Clock Set-up Time18.1ns
Clock to SLWR Hold Ti me0ns
FIFO Data to Clock Set-up Time9.2ns
Clock to FIFO Data Hold Time0ns
Clock to FLAGS Output Propagation Time9.5ns
IFCLK Period20.83200ns
SLWR to Clock Set-up Time12.1ns
Clock to SLWR Hold Ti me3.6ns
FIFO Data to Clock Set-up Time3.2ns
Clock to FIFO Data Hold Time4.5ns
Clock to FLAGS Output Propagation Time13.5ns
SLWR Pulse LOW50ns
SLWR Pulse HIGH70ns
SLWR to FIFO DATA Set-up Time10ns
FIFO DATA to SLWR Hold Time10ns
SLWR to FLAGS Output Propagation Delay70ns
10.7Slave FIFO Synchronous Packet End Strobe
IFCLK
t
PEH
PKTEND
FLAGS
Figure 10-6. Slave FIFO Synchronous Packet End Strobe Timing Diagram
Table 10-9. Slave FIFO Synchronous Packet End Strobe Parameters with Internally Sourced IFCLK
t
SPE
t
XFLG
[13]
[14]
ParameterDescriptionMin.Max.Unit
t
IFCLK
t
SPE
t
PEH
t
XFLG
IFCLK Period20.83ns
PKTEND to Clock Set-up Time14.6ns
Clock to PKTEND Hold Time0ns
Clock to FLAGS Output Propagation Delay9.5ns
Table 10-10. Slave FIFO Synchronous Packet End Strobe Parameters with Externally Sourced IFCLK
ParameterDescriptionMin.Max.Unit
t
IFCLK
t
SPE
t
PEH
t
XFLG
There is no specific timing requirement that needs to be met
for asserting PKTEND pin with regards to asserting SLWR.
PKTEND can be asserted with the last data value clocked into
the FIFOs or thereafter. The only consideration is the set-up
time t
and the hold time t
SPE
IFCLK Period20.83200ns
PKTEND to Clock Set-up Time8.6ns
Clock to PKTEND Hold Time2.5ns
Clock to FLAGS Output Propagation Delay13.5ns
Although there are no specific timing requirements for the
PKTEND assertion, there is a specific corner case condition
that needs attention while using the PKTEND to commit a one
byte/word packet. There is an additional timi ng requirement
must be met.
PEH
that needs to be met when the FIFO is configured to operate
[14]
Document #: 001-04247 Rev. *CPage 30 of 40
Page 31
CY7C68033/CY7C68034
in auto mode and it is desired to send two packets back to
back: a full packet (full defined as the number of bytes in the
FIFO meeting the level set in AUTOINLEN register) committed
automatically followed by a short one byte/word packet
committed manually using the PKTEND pin. In this particular
scenario, user must make sure to assert PKTEND at least one
clock cycle after the rising edge that caused the last byte/word
to be clocked into the previous auto committed packet.
Figure 10-7 below shows this scenario. X is the value the
AUTOINLEN register is set to when the IN endpoint is
configured to be in auto mode.
t
IFCLK
IFCLK
t
SFA
FIFOADR
>= t
SWR
SLWR
DATA
t
SFD
t
X-4
FDH
t
SFD
X-3
t
t
FDH
SFD
Figure 10-7 shows a scenario where two packets are being
committed. The first packet gets committed automatically
when the number of bytes in the FIFO reaches X (value set in
AUTOINLEN register) and the second one byte/word short
packet being committed manually using PKTEND. Note that
there is at least one IFCLK cycle timing between the assertion
of PKTEND and clocking of the last byte of the previous packet
(causing the packet to be committed automatically). Not
adhering to this timing will result in the NX2LP-Flex failing to
send the one byte/word short packet.
t
FAH
>= t
WRH
X-2
t
FDH
t
t
SFD
X-1
FDH
t
SFD
t
FDH
X
t
t
FDH
SFD
1
At least one IFCLK cycle
PKTEND
Figure 10-7. Slave FIFO Synchronous Write Sequence and Timing Diagram
[13]
10.8Slave FIFO Asynchronous Packet End Strobe
t
PEpwh
PKTEND
FLAGS
Figure 10-8. Slave FIFO Asynchronous Packet End Strobe Timing Diagram
Table 10-11. Slave FIFO Asynchronous Packet End Strobe Parameters
FIFOADR[1:0] to SLRD/SLWR /PKTEND Set-up Time10ns
RD/WR/PKTEND to FIFOADR[1:0] Hold Time10ns
Document #: 001-04247 Rev. *CPage 33 of 40
Page 34
10.13Sequence Diagram
10.13.1 Single and Burst Synchronous Read Example
t
IFCLK
IFCLK
t
FIFOADR
SLRD
SLCS
FLAGS
SFA
t=0
t
SRD
t=2
t
FAH
t
RDH
t=3
t
XFLG
t
T=0
SFA
CY7C68033/CY7C68034
t
FAH
T=2
>= t
SRD
>= t
RDH
T=3
t
XFD
DATA
SLOE
t
t=1
Data Driven: N
OEon
t
N+1
OEoff
t=4
Figure 10-13. Slave FIFO Synchronous Read Sequence and Timing Diagram
FIFO POINTER
FIFO DATA BUS
IFCLK
NN
SLOESLRD
Not DrivenDriven: N
IFCLKIFCLK
IFCLK
N+1N+2
SLOE
SLRD
N+1N+2
IFCLK
Not Driven
Figure 10-14. Slave FIFO Synchronous Sequence of Events Diagram
Figure 10-13 shows the timing relationship of the SLAVE FIFO
signals during a synchronous FIFO read using IFCLK as the
synchronizing clock. The diagram illustrates a single read
followed by a burst read.
• At t = 0 the FIFO address is stable and the signal SLCS is
asserted (SLCS may be tied low in some applications).
Note: t
is running at 48 MHz, the FIFO address set-up time is more
has a minimum of 25 ns. This means when IFCLK
SFA
than one IFCLK cycle.
• At t = 1, SLOE is asserted. SLOE is an output enable only,
whose sole function is to drive the data bus. The data that
is driven on the bus is the data that the internal FIFO pointer
is currently pointing to. In this example it is the first data
value in the FIFO. Note: the data is pre-fetched and is driven
on the bus when SLOE is asserted.
• At t = 2, SLRD is asserted. SLRD must meet the set-up time
of t
(time from asserting the SLRD signal to the rising
SRD
edge of the IFCLK) and maintain a minimum hold time of
t
(time from the IFCLK edge to the deassertion of the
RDH
SLRD signal). If the SLCS signal is used, it must be asserted
t
OEon
T=1
N+1
t
XFD
N+2
t
XFD
N+3
t
XFD
N+4
t
OEoff
T=4
[13]
N+1
N+1
N+1
IFCLKIFCLK
N+3
SLRD
N+3
SLRD
IFCLKIFCLK
N+4
SLOE
N+4
with SLRD, or before SLRD is asserted (i.e., the SLCS and
SLRD signals must both be asserted to start a valid read
condition).
• The FIFO pointer is updated on the rising edge of the IFCLK,
while SLRD is asserted. This starts the propagation of data
from the newly addressed location to the data bus. After a
propagation delay of t
of IFCLK) the new data value is present. N is the first data
(measured from the rising edge
XFD
value read from the FIFO. In order to have data on the FIFO
data bus, SLOE MUST also be asserted.
The same sequence of events are shown for a burst read and
are marked with the time indicators of T = 0 through 5. Note:
For the burst mode, the SLRD and SLOE are left asserted
during the entire duration of the read. In the burst read mode,
when SLOE is asserted, data indexed by the FIFO pointer is
on the data bus. During the first read cycle, on the rising edge
of the clock the FIFO pointer is updated and increments to
point to address N+1. For each subsequent rising edge of
IFCLK, while the SLRD is asserted, the FIFO pointer is incremented and the next data value is placed on the data bus.
N+4
Not Driven
Document #: 001-04247 Rev. *CPage 34 of 40
Page 35
10.13.2 Single and Burst Synchronous Write
t
IFCLK
IFCLK
t
SFA
FIFOADR
t=0
SLWR
SLCS
FLAGS
DATA
PKTEND
t
t
SWR
WRH
t=2
t=1
t
SFD
t=3
t
XFLG
t
FDH
N
t
FAH
T=0
CY7C68033/CY7C68034
t
SFA
>= t
t
XFLG
t
t
FDH
SFD
N+3
t
SPE
T=1
T=2
>= t
t
SFD
SWR
N+1
t
FDH
T=3
t
t
SFD
FDH
N+2
T=4
T=5
WRH
t
PEH
t
FAH
Figure 10-15. Slave FIFO Synchronous Write Sequence and Timing Diagram
The Figure 10-15 shows the timing relationship of the SLAVE
FIFO signals during a synchronous write using IFCLK as the
synchronizing clock. The diagram illustrates a single write
followed by burst write of 3 bytes and committing all 4 bytes as
a short packet using the PKTEND pin.
• At t = 0 the FIFO address is stable and the signal SLCS is
asserted. (SLCS may be tied low in some applications.)
Note: t
is running at 48 MHz, the FIFO address set-up time is more
has a minimum of 25 ns. This means when IFCLK
SFA
than one IFCLK cycle.
• At t = 1, the external master/peripheral must output the data
value onto the data bus with a minimum set up time of t
before the rising edge of IFCLK.
SFD
• At t = 2, SLWR is asserted. The SLWR must meet the setup time of t
rising edge of IFCLK) and maintain a minimum hold time of
t
(time from the IFCLK edge to the deassertion of the
WRH
SLWR signal). If SLCS signal is used, it must be asserted
(time from asserting the SLWR signal to the
SWR
with SLWR or before SLWR is asserted (i.e., the SLCS and
SLWR signals must both be asserted to start a valid write
condition).
• While the SLWR is asserted, data is written to the FIFO and
on the rising edge of the IFCLK, the FIFO pointer is incremented. The FIFO flag will also be updated after a delay of
t
from the rising edge of the clock.
XFLG
The same sequence of events are also shown for a burst write
and are marked with the time indicators of T = 0 through 5.
Note: For the burst mode, SLWR and SLCS are left asserted
for the entire duration of writing all the required data values. In
this burst write mode, once the SLWR is asserted, the data on
[13]
the FIFO data bus is written to the FIFO on every rising edge
of IFCLK. The FIFO pointer is updated on each rising edge of
IFCLK. In Figure 10-15, once the four bytes are written to the
FIFO, SLWR is deasserted. The short 4-byte packet can be
committed to the host by asserting the PKTEND signal.
There is no specific timing requirement that needs to be met
for asserting the PKTEND signal with regards to asserting the
SLWR signal. PKTEND can be asserted with the last data
value or thereafter. The only requirement is that the set-up time
t
and the hold time t
SPE
Figure 10-15, the number of data values committed includes
the last value written to the FIFO. In this example, both the
data value and the PKTEND signal are clocked on the same
must be met. In the scenario of
PEH
rising edge of IFCLK. PKTEND can also be asserted in subsequent clock cycles. The FIFOADDR lines should be held
constant during the PKTEND assertion.
Although there are no specific timing requirement for the
PKTEND assertion, there is a specific corner case condition
that needs attention while using the PKTEND to commit a one
byte/word packet. Additional timing requirements exists when
the FIFO is configured to operate in auto mode and it is desired
to send two packets: a full packet (full defined as the number
of bytes in the FIFO meeting the level set in AUTOINLEN
register) committed automatically followed by a short one
byte/word packet committed manually using the PKTEND pin.
In this case, the external master must make sure to assert the
PKTEND pin at least one clock cycle after the rising edge that
caused the last byte/word to be clocked into the previous auto
committed packet (the packet with the number of bytes equal
to what is set in the AUTOINLEN register). Refer to Figure 10-7 for further details on this timing.
Document #: 001-04247 Rev. *CPage 35 of 40
Page 36
10.13.3 Sequence Diagram of a Single and Burst Asynchronous Read
CY7C68033/CY7C68034
FIFOADR
SLRD
SLCS
FLAGS
DATA
SLOE
FIFO POINTER
t
SFA
t=0
t=1
t=2
Data (X)
Driven
t
OEon
t
RDpwl
t
FAH
t
RDpwh
t=3
t
XFLG
t
XFD
N
t
OEoff
t=4
t
SFA
t
T=0
T=2T=3
N
t
OEon
T=1T=7
RDpwl
t
XFD
t
RDpwh
N+1
T=4
t
RDpwl
t
XFD
T=5
t
RDpwh
N+2
T=6
Figure 10-16. Slave FIFO Asynchronous Read Sequence and Timing Diagram
Figure 10-16 diagrams the timing relationship of the SLAVE
FIFO signals during an asynchronous FIFO read. It shows a
single read followed by a burst read.
• At t = 0 the FIFO address is stable and the SLCS signal is
asserted.
• At t = 1, SLOE is asserted. This results in th e data bus being
driven. The data that is driven on to the bus is previous data,
it data that was in the FIFO from a prior read cycle.
• At t = 2, SLRD is asserted. The SLRD must meet the minimum active pulse of t
width of t
asserted with SLRD or before SLRD is asserted (i.e., the
. If SLCS is used then, SLCS must be in
RDpwh
and minimum de-active pulse
RDpwl
SLCS and SLRD signals must both be asserted to start a
valid read condition).
N
N+1
N+1
N+2
N+2
Not Driven
• The data that will be driven, after asserting SLRD, is the
updated data from the FIFO. This data is valid after a propagation delay of t
Figure 10-16, data N is the first valid data read from the
from the activating edge of SLRD. In
XFD
FIFO. For data to appear on the data bus during the read
cycle (i.e.,SLRD is asserted), SLOE MUST be in an asserted state. SLRD and SLOE can also be tied together.
The same sequence of events is also shown for a burst read
marked with T = 0 through 5. Note: In burst read mode, during
SLOE is assertion, the data bus is in a driven state and outputs
the previous data. Once SLRD is asserted, the data from the
FIFO is driven on the data bus (SLOE must also be asserted)
and then the FIFO pointer is incremented.
Document #: 001-04247 Rev. *CPage 36 of 40
Page 37
10.13.4 Sequence Diagram of a Single and Burst Asynchronous Write
T=0
t
SFA
T=1
t
WRpwl
T=2
t
T=3
t
t
SFD
FDH
N+1
WRpwh
T=4
t
WRpwl
T=5
t
FIFOADR
SLWR
SLCS
FLAGS
DATA
PKTEND
t
SFA
t=0
t =1
t
WRpwl
t=2
t
FAH
t
WRpwh
t=3
t
XFLG
t
t
SFD
FDH
N
SFD
T=6
t
WRpwh
t
FDH
N+2
CY7C68033/CY7C68034
t
t
WRpwl
WRpwh
T=7
T=9
t
XFLG
t
t
SFD
FDH
N+3
T=8
t
PEpwl
t
PEpwh
t
FAH
Figure 10-18. Slave FIFO Asynchronous Write Sequence and Timing Diagram
Figure 10-18 diagrams the timing relationship of the SLAVE
FIFO write in an asynchronous mode. The diagram shows a
single write followed by a burst write of 3 bytes and committing
the 4-byte-short packet using PKTEND.
• At t = 0 the FIFO address is applied, insuring that it meets
the set-up time of t
asserted (SLCS may be tied low in some applications).
. If SLCS is used, it must also be
SFA
• At t = 1 SLWR is asserted. SLWR must meet the minimum
active pulse of t
of t
SLWR or before SLWR is asserted.
. If the SLCS is used, it must be in asserted with
WRpwh
• At t = 2, data must be present on the bus t
deasserting edge of SLWR.
and minimum de-active pulse width
WRpwl
SFD
before the
• At t = 3, deasserting SLWR will cause the data to be written
from the data bus to the FIFO and then increments the FIFO
[13]
pointer. The FIFO flag is also updated after t
deasserting edge of SLWR.
XFLG
from the
The same sequence of events are shown for a burst write and
is indicated by the timing marks of T = 0 through 5. Note: In
the burst write mode, once SLWR is deasserted, the data is
written to the FIFO and then the FIFO pointer is incremented
to the next byte in the FIFO. The FIFO pointer is post incremented.
In Figure 10-18 once the four bytes are written to the FIFO and
SLWR is deasserted, the short 4-byte packet can be
committed to the host using the PKTEND. The external device
should be designed to not assert SLWR and the PKTEND
signal at the same time. It should be designed to assert the
PKTEND after SL WR is deasserted and met the minimum deasserted pulse width. The FIFOADDR lines are to be held
constant during the PKTEND assertion.
Document #: 001-04247 Rev. *CPage 37 of 40
Page 38
CY7C68033/CY7C68034
11.0 Ordering Information
Table 11-1. Ordering Information
Ordering CodeDescription
Silicon for battery-powered applications
CY7C68034-56LFXC8x8 mm, 56 QFN – Lead-free
Silicon for non-battery-powered applications
CY7C68033-56LFXC8x8 mm, 56 QFN – Lead-free
Development Kit
CY3686EZ-USB NX2LP-Flex Development Kit
12.0 Package Diagrams
0.80[0.031]
DIA.
TOP VIEW
A
1
2
7.90[0.311]
8.10[0.319]
7.70[0.303]
7.80[0.307]
N
7.80[0.307]
7.70[0.303]
1.00[0.039] MAX.
0.80[0.031] MAX.
8.10[0.319]
7.90[0.311]
SIDE VIEW
0°-12°
Figure 12-1. 5 6-Lead QFN 8 x 8 mm LF56A
13.0 PCB Layout Recommendations
[17]
The following recommendations should be followed to ensure
reliable high-performance operation:
• At least a four-layer impedance controlled boards is recommended to maintain signal quality.
• Specify impedance targets (ask your board vendor what
they can achieve) to meet USB specifications.
• T o control impedance, maintain trace widths and trace spacing.
• Minimize any stubs to avoid reflected signals.
• Connections between the USB connector shell and signal
ground must be done near the USB connector.
BOTTOM VIEW
0.08[0.003]
C
0.05[0.002] MAX.
0.18[0.007]
E-PAD
(PAD SIZE VARY
BY DEVICE TYPE)
6.45[0.254]
6.55[0.258]
0.28[0.011]
0.50[0.020]
PIN1 ID
N
0.20[0.008] R.
1
2
0.45[0.018]
6.55[0.258]
6.45[0.254]
0.24[0.009]
(4X)
0.60[0.024]
51-85144-*D
0.20[0.008] REF.
0.30[0.012]
0.50[0.020]
C
SEATING
PLANE
• Bypass/flyback caps on VBUS, near connector, are recommended.
• DPLUS and DMINUS trace lengths should be kept to within
2 mm of each other in length, with preferred length of
20–30 mm.
• Maintain a solid ground plane under the DPLUS and DMINUS traces. Do not allow the plane to be split under these
traces.
• No vias should be placed on the DPLUS or DMINUS trace
routing unless absolutely necessary.
• Isolate the DPLUS and DMINUS traces from all other signal
traces as much as possible.
Note:
17. Source for recommendations: EZ-USB FX2™PCB Design Recommendations, http://www .cypress.com/cfuploads/support /app_notes/FX2_PCB.pdf and High
Speed USB Platform Design Guidelines, http://www.usb.org/developers/docs/hs_usb_pdg_r1_0.pdf.
Document #: 001-04247 Rev. *CPage 38 of 40
Page 39
CY7C68033/CY7C68034
14.0 Quad Flat Package No Leads (QFN)
Package Design Notes
Electrical contact of the part to the Printed Circuit Board (PCB)
is made by soldering the leads on the bottom surface of the
package to the PCB. Hence, special attention is required to the
heat transfer area below the package to provide a good
thermal bond to the circuit board. A Copper (Cu) fill is to be
designed into the PCB as a thermal pad under the package.
Heat is transferred from the NX2LP-Flex to the PCB through
the device’s metal paddle on the bottom side of the package.
It is then conducted from the PCB’s thermal pad to the inner
ground plane by a 5 x 5 array of vias. A via is a plated through
hole in the PCB with a finished diameter of 13 mil. The QFN’s
metal die paddle must be soldered to the PCB’s thermal pad.
Solder mask is placed on the board top side over each via to
resist solder flow into the via. The mask on the top side also
minimizes outgassing during the solder reflow process.
For further information on this package design please refer to
the application note Surface Mount Assembly of AMKOR’s
Solder Mask
Cu Fill
PCB Material
MicroLeadFrame (MLF) T echnology . This application note can
be downloaded from AMKOR’s website from the following
URL:
The application note provides detailed information on board
mounting guidelines, soldering flow, rework process, etc.
Figure 14-1 below displays a cross-sectional area underneath
the package. The cross section is of only one via. The solder
paste template needs to be designed to allow at least 50%
solder coverage. The thickness of the solder paste template
should be 5 mil. It is recommended that “No Clean” type 3
solder paste is used for mounting the part. Nitrogen purge is
recommended during reflow.
Figure 14-2 is a plot of the solder mask pattern and Figure 143 displays an X-Ray image of the assembly (darker areas
indicate solder).
0.017” dia
Cu Fill
0.013” dia
PCB Material
Via hole for thermally connecting the
QFN to the circuit board ground plane.
This figure only shows the top three layers of the
circuit board: Top Solder, PCB Dielectric, and
the Ground Plane
Figure 14-1. Cross-section of the Area Underneath the QFN Package
Figure 14-2. Plot of the Solder Mask (White Area)
Figure 14-3. X-ray Image of the Assembly
Purchase of I
2
I
C Patent Rights to us e these component s in an I2C system, provided that the system conforms to the I2C Standard S pecification
2
C components from Cypress, or one of its sublicensed Associated Companies, conveys a license under the Philips
as defined by Philips. EZ-USB FX2LP, EZ-USB FX2 and ReNumeration are trademarks, and EZ-USB is a registered trademark,
of Cypress Semiconductor Corporation. All product and company names mentioned in this document are the trademarks of their
respective holders.