• 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
• 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/FIFO interrupt s
• Separate data buffers for the Set-up and Data portions of a
CONTROL transfer
2
• Integrated I
C™ controller, runs at 100 or 400 kHz
• Four integrated FIFOs
— Integrated glue logic and FIFOs lower system cost
— Automatic conversi on to and from 16-bit buses
— Master or slave operation
— Uses external clock or asynchronous strobes
— Easy interface to ASIC and DSP ICs
Cypress Semiconductor Corporation•198 Champion Court•San Jose, CA 95134-1709•408-943-2600
Document #: 001-04247 Rev. *D Revised September 21, 2006
8051 Core
12/24/48 MHz,
four clocks/cycle
NAND
Boot Logic
(ROM)
15 kB
RAM
‘Soft Configuration’ enables
easy firmware changes
I2C
Master
Additional I/Os
GPIF
ECC
Address (16)/Data Bus (8)
4 kB
FIFO
FIFO and USB endpoint memory
(master or slave modes)
RDY (2)
CTL (3)
8/16
General Programmable
I/F to ASIC/DSP or bus
standards such as 8-bit
NAND, EPP, etc.
Up to 96 MB/s burst rate
[+] Feedback
CY7C68033/CY7C68034
Default NAND Firmware Features
Because the NX2LP-Flex™ is intended for NAND
Flash-based 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
dual-die 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 features to decrease design effort
and increase time-to-market advantages.
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
maximum-allowable 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 more 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.
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
Document #: 001-04247 Rev. *DPage 2 of 33
[+] Feedback
CY7C68033/CY7C68034
Figure 1. Example DVB Block Diagram
NAND-Based
DVB Unit
LCD
D+/-
Audio / Video I/O
Buttons
I/O
NX2LP-
Flex
DVB
Decoder
CTL
CE[7:0]
I/OI/O
NAND Bank(s)
I/O
Figure 2. Example GPS Block Diagram
NAND-Based
GPS Unit
LCD
D+/-
Buttons
I/O
NX2LP-
Flex
CTL
CE[7:0]
I/OI/O
NAND Bank(s)
I/O
8051 Microprocessor
The 8051 microprocessor embedded in the NX2LP-Flex has
256 bytes of register RAM, an expanded interrupt system and
three timer/counters.
8051 Clock Frequency
NX2LP-Flex 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, 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
Figure 3. Crystal Configuration.
24 MHz
C1
12 pf
C2
12 pf
20 × PLL
GPS
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.
Functional Overview
USB 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.
12-pF capacitor values assumes a trace capacitance
of 3 pF per side on a four-layer FR4 PCA
Special Function Registers
Certain 8051 SFR addresses are populated to provide fast
access to critical NX2LP-Flex functions. These SFR additions
are shown in Table 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).
2
I
C Bus
2
NX2LP supports the I
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
C bus as a master only at 100-/400-kHz.
2
2
C bus is disabled at startup and
only available for use after the initial NAND access.
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.
Enumeration
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 the section
”Normal Operation Mode” on page 5 and ”Manufacturing
Mode” on page 5.
Document #: 001-04247 Rev. *DPage 4 of 33
[+] Feedback
CY7C68033/CY7C68034
Figure 4. NX2LP-Flex Enumeration Sequence
Start-up
YesNo
NAND Flash
Programmed?
Yes
Load Firmware
From NAND
NAND Flash
Present?
No
Load Default
Descriptors and
Configuration Data
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.
Cypress’s ReNumeration™ feature is used in conjunction with
the NX2LP-Flex manufacturing software tools to enable
first-time NAND programming. It is only available when used
in conjunction with the NX2LP-Flex Manufacturing tools, and
is not enabled during normal operation.
Enumerate
According To
Firmware
Normal Operation
Mode
Enumerate As
Unprogrammed
NX2LP-Flex
Manufacturing
Mode
Normal Operation Mode
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.
Manufacturing 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.
Default Silicon ID Values
To facilitate proper USB enumeration when no programmed
NAND Flash is present, the NX2LP-Flex has default silicon ID
Bus-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.
Interrupt System
INT2 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.
USB-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
NX2LP-Flex ROM space. Also, these values are fixed and
cannot be changed in the firmware.
Document #: 001-04247 Rev. *DPage 5 of 33
[+] Feedback
CY7C68033/CY7C68034
Table 3. INT2 USB Interrupts
USB INTERRUPT TABLE FOR INT2
PriorityINT2VEC ValueSource Notes
10x500SUDAV Setup Data Available
20x504SOF Start of Frame (or microframe)
30x508SUTOK Setup Token Received
40x50CSUSPEND USB Suspend request
50x510USB RESETBus reset
6 0x514HISPEED Entered high speed operation
7 0x518EP0ACK NX2LP ACK’d the CONTROL Handshake
8 0x51CReserved
9 0x520EP0-IN EP0-IN ready to be loaded with data
10 0x524EP0-OUT EP0-OUT has USB data
11 0x528EP1-IN EP1-IN ready to be loaded with data
12 0x52CEP1-OUT EP1-OUT has USB data
13 0x530EP2 IN: buffer available. OUT: buffer has data
14 0x534EP4 IN: buffer available. OUT: buffer has data
15 0x538EP6 IN: buffer available. OUT: buffer has data
16 0x53CEP8 IN: buffer available. OUT: buffer has data
17 0x540IBN IN-Bulk-NAK (any IN endpoint)
18 0x544Reserved
19 0x548EP0PINGEP0 OUT was Pinged and it NAK’d
20 0x54CEP1PING EP1 OUT was Pinged and it NAK’d
21 0x550EP2PING EP2 OUT was Pinged and it NAK’d
22 0x554EP4PING EP4 OUT was Pinged and it NAK’d
23 0x558EP6PING EP6 OUT was Pinged and it NAK’d
24 0x55CEP8PING EP8 OUT was Pinged and it NAK’d
25 0x560ERRLIMITBus errors exceeded the programmed limit
26 0x564Reserved
27 0x568Reserved
28 0x56CReserved
29 0x570EP2ISOERR ISO EP2 OUT PID sequence error
30 0x574EP4ISOERR ISO EP4 OUT PID sequence error
31 0x578EP6ISOERR ISO EP6 OUT PID sequence error
32 0x57CEP8ISOERR ISO EP8 OUT PID sequence error
If Autovectoring is enabled (AV2EN = 1 in the INTSET-UP
register), the NX2LP-Flex substitutes its INT2VEC byte.
Therefore, if the high byte (‘page’) of a jump-table address is
preloaded at location 0x544, the automatically-inserted
INT2VEC byte at 0x545 will direct the jump to the correct
address out of the 27 addresses within the page.
Document #: 001-04247 Rev. *DPage 6 of 33
FIFO/GPIF Interrupt (INT4)
Just as the USB Interrupt is shared among 27 individual
USB-interrupt sources, the FIFO/GPIF interrupt is shared
among 14 individual FIFO/GPIF sources. The FIFO/GPIF
Interrupt, like the USB Interrupt, can employ autovectoring.
Table 4 shows the priority and INT4VEC values for the 14
FIFO/GPIF interrupt sources.
[+] Feedback
CY7C68033/CY7C68034
Ta bl e 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.
Reset and Wakeup
Reset 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
Figure 5. Reset Timing Plots
RESET#
V
IL
3.3V
3.0V
V
CC
0V
T
RESET
Power-on Reset
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 5 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. *DPage 7 of 33
[+] Feedback
CY7C68033/CY7C68034
Table 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
Wakeup Pins
The 8051 puts itself and the rest of the chip into a power-down
mode by setting PCON.0 = 1. This stops the oscillator and
PLL. When WAKEUP is asserted by external logic, the oscillator restarts, after the PLL stabilizes, and then the 8051
receives a wakeup interrupt. This applies whether or not
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 NX 2L P-F l ex an d
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.
Figure 6. Internal Code Memory
FFFF
E200
E1FF
E000
*SUDPTR, USB download, NAND boot access
Register Addresses
Figure 7. Internal Register Addresses
7.5 kBytes
USB registers
and 4 kBytes
FIFO buffers
(RD#, WR#)
512 Bytes RAM Data
(RD#, WR#)*
3FFF
15 kBytes RAM
Code and Data
(PSEN#, RD#,
0500
1 kbyte ROM
0000
WR#)*
Program/Data RAM
Internal 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.
Internal Code Memory
This mode implements the internal block of RAM (starting at
0x0500) as combined code and data memory, as shown in
Figure 6, 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 8.
Figure 8. 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
512
EP8
512
512
64
64
64
64
64
64
EP2
512
512
512
512
EP6
512
512
512
512
4
5
Setup Data Buffer
A separate 8-byte buffer at 0xE6B8-0xE6BF holds the setup
data from a CONTROL transfer.
Endpoint Configurations (High-speed Mode)
Endpoints 0 and 1 are the same for every configuration.
Endpoint 0 is the only CONTROL endpoint, and endpoint 1 can
be either BULK or INTERRUPT. The endpoint buffers can be
configured in any 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×)
Notes
2. ‘0’ means ‘not implemented.’
3. ‘2×’ means ‘double buffered.’
Document #: 001-04247 Rev. *DPage 9 of 33
[+] Feedback
CY7C68033/CY7C68034
Table 6. Default Full-Speed Alternate Settings
[2, 3]
(continued)
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×)
Default High-Speed Alternate Settings
Table 7. Default High-Speed Alternate Settings
[2, 3]
Alternate Setting0123
ep064646464
ep1out0512 bulk
ep1in0512 bulk
[4]
[4]
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×)5 12 bulk in (2×)
External FIFO Interface
Architecture
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
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.
(IFCLK), at a rate that transfers data up to 96 Megabytes/s
(48-MHz IFCLK with 16-bit interface).
In Slave (S) mode, the NX2LP-Flex accepts an internally
derived clock (IFCLK, max. frequency 48 MHz) and SLCS#,
SLRD, SLWR, SLOE, PKTEND signals from external logic.
Each endpoint can individually be selected for byte or word
operation by an internal configuration bit, and a Slave F IFO
Output Enable signal SLOE enables data of the selected
width. External logic must ensure that the output enable signal
is inactive when writing data to a slave FIFO. The slave
interface must operate asynchronously, where the SLRD and
SLWR signals act directly as strobes, rather than a clock
qualifier as in a synchronous mode. The signals SLRD, SLWR,
Master/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
dual-port 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 an internally derived clock
SLOE and PKTEND are gated by the signal SLCS#.
GPIF and FIFO Clock Rates
An 8051 register bit selects one of two frequencies for the
internally supplied interface clock: 30 MHz and 48 MHz. A bit
within the IFCONFIG register will invert the IFCLK signal.
The default NAND firmware image implements a 48-MHz
internally supplied interface clock. 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.
GPIF
The GPIF is a flexible 8- or 16-bit parallel interface driven by a
user-programmable finite state machine. It allows the
NX2LP-Flex 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
Note
4. 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-04247 Rev. *DPage 10 of 33
[+] Feedback
Loading...
+ 23 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.