Summary of Contents for Cypress EZ-USB NX2LP-Flex CY3686
Page 1
CY3686 ® EZ-USB NX2LP-Flex™ Development Kit Guide Doc. # 001-61287 Rev. *B Cypress Semiconductor 198 Champion Court San Jose, CA 95134-1709 Phone (USA): 800.858.1810 Phone (Intnl): 408.943.2600 http://www.cypress.com...
Page 2
Cypress Source Code and derivative works for the sole purpose of creating custom software and or firmware in support of licensee product to be used only in conjunction with a Cypress integrated circuit as specified in the applicable agreement.
Prototyping board for user add-on hardware ❐ NX2LP-Flex board with sockets and NAND flash chips ❐ Basic 4K Keil C Compiler (evaluation compiler for the Cypress EZ-USB family) ■ CY3686 EZ-USB® NX2LP-Flex™ Development Kit Guide, Doc. # 001-61287 Rev. *B...
CY3684 FX2LP Development Kit (http://www.cypress.com/?rID=14321) ■ USB 2.0 to ATA/CF Reference Design – CY4611B (http://www.cypress.com/?rID=14406) ■ Interfacing Cypress CY3686 DVK to NAND Flash Memory with Four Chip Selects - AN41299 ■ (http://www.cypress.com/?rID=12958) Getting Started With NX2LP-Flex™ - AN64408 (http://www.cypress.com/?rID=46712) ■...
Introduction Technical Support For feedback or technical support for the CY3686 EZ-USB NX2LP-Flex DVK, contact Cypress at http://www.cypress.com > Technical Support > Create a Case. References USB Mass Storage Class - Bulk Only Transport, USB Mass Storage DWG. ■ (http://www.usb.org/developers/devclass_docs/usbmassbulk_10.pdf) USB Mass Storage Class - Specification Overview, USB Mass Storage DWG ■...
Introduction Document History PDF Creation Revision Origin of Change Description of Change Date 05/04/10 SHAH Initial version of kit guide Updates from review/audit, NAND utility 08/10/2012 VKKN/NMMA software upgrade No technical updates. Completing 06/05/2013 Sunset Review. Documentation Conventions Table 1-1. Document Conventions for Guides Convention Usage Displays file locations, user entered text, and source code:...
1. Insert the kit CD/DVD in the CD/DVD drive of your PC. The CD/DVD is designed to auto-run and the kit installer startup screen appears. Download the latest kit installer ISO file from http://www.cypress.com/go/CY3686. Create an installer CD/DVD or extract the ISO using Winrar and install the executable.
Page 10
Getting Started If auto-run does not execute, double-click cyautorun.exe in the root directory of the CD/DVD. Figure 2-2. CD/DVD Root Directory 3. On the startup screen, click Next to start the installer. 4. The InstallShield Wizard screen appears. Click Change to modify the default setup location shown on the InstallShield Wizard screen.
Page 11
Getting Started 6. In the Product Installation Overview screen, select the installation type that best suits your requirement. The drop-down menu has three options: Typical, Complete, and Custom. Figure 2-4. Installation Type Options 7. Click Next to start the installation. 8.
Page 12
Getting Started 9. When the installation begins, a list of packages appears on the Installation Page. A green check mark appears next to every package you download and install. 10.Wait until all the packages are downloaded and installed successfully. Figure 2-6. Installation Page 11.
Page 13
Getting Started 12.In the subsequent windows, select Next until the Keil install screen prompts for the ‘User Name’ and ‘Company Name’. Enter the details (the following screenshot has a sample). Figure 2-8. Customer Information Page 13.In subsequent windows, click Next until the Keil Installer displays the Finish window. Click on Finish to complete the entire Keil uVision2 installation process.
2. SW2 – No EEPROM In this configuration, only the FX2LP board is recognized by the host PC. The device appears as ‘Cypress EZ-USB FX2LP No EEPROM (3.4.5.000)’ in the Device Manager with VID = 0x04B4 and PID = 0x8613.
Page 15
The FX2LP board (with the NX2LP-Flex board stacked on top) is con- nected to the host PC. The host recognizes the device as ‘Cypress EZ-USB FX2LP Board Keil mon- itor (3.4.5.000)’, with VID = 0x04B4 and PID = 0x0082.
Getting Started 2.2.1 Driver Installation The drivers for the configurations’ (mentioned in the previous section) VID/PID are signed by Micro- soft. Driver installation is required only the first time. To install the CY3686 NX2LP-Flex DVK driver, follow this procedure: 1. Connect USB A-to-B cable between the PC USB Host controller port and the Type-B connector on the FX2LP base board.
Page 17
Getting Started Figure 2-12. Hardware Update Wizard 4. Select Don't search. I will choose the driver to install and click Next. Figure 2-13. Choose Installation Options Note In Windows Vista and Windows 7, step 4 is not needed. CY3686 EZ-USB® NX2LP-Flex™ Development Kit Guide, Doc. # 001-61287 Rev. *B...
Page 18
Getting Started 5. Select "Universal Serial Bus Controllers" from the list of devices and click on Have Disk in the next window. A new window appears on top of the existing window. 6. Click Browse and point to the driver path for each OS and select the driver information file (cyusb3686dvk.inf) as mentioned in the following paths.
Page 19
Getting Started 7. Click Next and the complete the installation. Figure 2-15. Driver Installation Complete CY3686 EZ-USB® NX2LP-Flex™ Development Kit Guide, Doc. # 001-61287 Rev. *B...
Page 20
Getting Started CY3686 EZ-USB® NX2LP-Flex™ Development Kit Guide, Doc. # 001-61287 Rev. *B...
Kit Operation This chapter explains the CY3686 NX2LP-Flex DVK operation. Quick Start The CY3686 EZ-USB NX2LP-Flex DVK default configuration is detected as a USB mass storage device when connected to the host PC for the first time. The NX2LP-Flex board comes with two pro- grammed NAND flashes populated in the NAND slots.
Page 22
Kit Operation 2. NX2LP-Flex board + FX2LP prototype board (optional) Figure 3-2. NX2LP-Flex DVK Standalone Operation The following table lists useful configurations with CY3686 boards. Table 3-1. Useful Board Configurations Board Settings* Board Function Tools and function Board FX2LP FX2LP Stackup NX2LP-Flex NX2LP-Flex...
Page 23
Kit Operation Table 3-1. Useful Board Configurations Board Settings* Board Function Tools and function Board FX2LP FX2LP Stackup NX2LP-Flex NX2LP-Flex Base Base Keil tool for compiling firmware FX2LP + “loader.iic” Pad U1: on large EEPROM NAND firmware pack- CY7C68013 emulating NX2LP ager- packaging firm- programs flash with (FX2LP)
Kit Operation NX2LP Utilities This section describes the various DVK utilities. 3.3.1 CyConsole Utility The Large EEPROM on the FX2LP base board comes pre-loaded with the loader.iic, which is avail- able at <Installed_directory>\CY3686 DVK\<Ver>\Bootloader. If the NX2LP-FLEX EEPROM image is corrupted, you can reprogram the EEPROM using the CyConsole utility. Use the following procedure to program the EEPROM: 1.
Page 25
Kit Operation 3. Go to Options > EZ-USB Interface Figure 3-4. EZ-USB Interface 4. Click on Lg EEPROM and select the loader.iic file to be programmed from <Installed_directory>\CY3686 NX2LP-FLEX DVK\<Ver>\Bootloader. Make sure the SW2 switch on the FX2LP base board is in the 'EEPROM' position and SW1 to LARGE EEPROM position.
Page 26
Kit Operation Figure 3-5. Select File 5. When programming is complete, the Download Successful message appears in the display area. Figure 3-6. Programming Complete CY3686 EZ-USB® NX2LP-Flex™ Development Kit Guide, Doc. # 001-61287 Rev. *B...
Kit Operation 3.3.2 NAND FW Packaging Utility When the firmware is stable, use the NX2LP firmware packaging utility to package it by selecting from <install directory>\CY3686 NX2LP-FLEX DVK\<ver>\Bin\BldNx2.exe. The following figure shows the NX2LP Firmware Packager (NX2LP configuration utility) window. Figure 3-7.
Page 28
Kit Operation 1. Launch the utility either from the shortcut on the desktop or from <install direc- tory>\CY3686 NX2LP-FLEX DVK\<ver>\MfgTool\NandMfg.exe. Ensure that the tool is not locked. The File > Lock option must not be checked. Figure 3-8. NAND Programming Utility Note In Windows 7, the utility may not recognize the device and the status bar on the bottom of the utility remains blank.
Page 29
Kit Operation 3. Select the configuration file from File > Select Configuration. The configuration files are in the folder, <install directory>\CY3686 NX2LP-FLEX DVK\<ver>\MfgTool\. Figure 3-10. Select Configuration File Default4K.nx2 – Default firmware package for 4K-page NAND ■ Default2K.nx2 – Default firmware package for 512 or 2K-page NAND ■...
Page 30
Kit Operation step 4). Do not program a formatted NAND unless it is erased earlier; not following this corrupts the device. Note NandMfg supports formatting only for flashes with 2k-/512-byte page size. It relies on the host to format 4k page flashes. Figure 3-11.
Kit Operation Debugging using Keil uVision The CY3686 NX2LP-Flex DVK firmware is located at <install directory>\CY3686 NX2LP- FLEX DVK\<ver>\CY3686FW. The description of the firmware files is given in the following table. Filename Purpose Descriptor table containing PID/VID, endpoint descriptions, and other information reported to Dscr.a51 the host on startup.
Page 32
Kit Operation Filename Purpose Hooks required to implement the USB peripheral functions TD_Init: Hardware/Software initialization TD_Poll: Task Dispatcher hook for USB Mass Storage Class ChkErr: ECC handler periph.c stallEP2OUT: force STALL on endpoint 2 sendUSBS: send SCSI CBS failedIn: force STALL on endpoint 4 mymemmovexx: general memory move subroutine Globals.h Global variable references...
Page 33
Kit Operation 4. The CY3686 NX2LP-Flex is shipped with the 2K-NAND type; select the NAND_FW2K option. Figure 3-13. Selecting NAND FW for 4K Page Device 5. The "CY3686fw.uv2" setup assumes "COM1" is used; if the PC has an RS232 cable attached to a different COM port, perform these steps: a.
Page 34
Kit Operation Figure 3-14. Setting up the COM Port for in Circuit Debugging 9. Press F7 to recompile the code. If successful, a window similar to the following is displayed. Figure 3-15. Compiling NAND FW 10. Download and run the firmware in debug mode. CY3686 EZ-USB®...
Page 35
Kit Operation 11. Click Download to download the code; then click the Reset button . If successful, a window sim- ilar to the following is displayed. Figure 3-16. Downloading and Debugging NAND FW 12. Press F5 to run the firmware; it enumerates as a USB Mass Storage device and the PC desktop mounts the "Drive"...
Hardware Overview The CY3686 EZ-USB NX2LP-Flex DVK contains the following boards: The FX2LP base board ■ The FX2 prototyping board ■ The NX2LP Flex board ■ 4.1.1 FX2LP Base Board This is the same board that is shipped with the CY3684 EZ-USB FX2LP DVK.
Page 38
Hardware Figure 4-1. FX2LP Base Board and Key Components Keil Monitor Indicator Type B USB Power GPIO connector UART 1 – RS232 Connector Pin Header 4 Pin Header 1 FX 2LP Controller IC Pin Header 5 Pin Header 2 Pin Header 6 Pin Header 3 Large EEPROM...
Hardware The default setting for the FX2LP Base board is shown in the following figure. Figure 4-2. FX2LP Base Board Switch Settings 4.1.2 FX2LP Prototyping Board The prototyping board, also known as the "FX2 breadboard", is provided to support additional hard- ware that the user may wish to add to the NX2LP flex DVK board and create prototypes for specific applications.
Hardware Figure 4-3. FX2LP Prototyping Board Pad to place DFN VCC Line components Pin Header 4 Pin Header 1 GND Line Pin Header 5 Pin Header 2 Pin Header 6 Pin Header 3 Breadboard with holes to place components or route lines.
Page 41
Hardware Figure 4-4. NX2LP Flex Board and Key Components NX2 LP 3.3 V Power Header 4 Header 1 Pad U1 Pad U2 Header 5 LEDs Write Protect Switch Header 6 Header 2 NAND Flash Chips’ Power Header 3 NAND Flash Chip jumpers for enable / disable Note U4-U11 are NAND sockets.
Hardware 4.2.2 NX2LP-Flex Board Header Configurations This design contains six logic analyzer headers. The functionality of these headers is described here. Refer to the NX2LP-Flex board datasheet for specific chip pin descriptions and functionality. Table 4-2. NX2LP-Flex Board Header Configurations Header Label Header Pin Pin Name...
Hardware 4.2.3 NX2LP-Flex Board Hardware Configuration This section describes how to configure the NX2LP-Flex board. Sockets are provided on the NX2LP- Flex board for development convenience in testing a variety of NAND flash parts. Because of the many different NAND types available on the market, it is important to configure the NX2LP-Flex board properly to ensure correct operation.
Page 46
Hardware 4.2.3.1 Single-Device Parts Individual NAND flash devices can be enabled and disabled as shown in the following table. Table 4-4. Single-Device Parts Configuration of J7-J14 Jumper Settings Jumpers Shunt 1-2 Shunt 2-3 Disable U4 Enable U4 Disable U8 Enable U8 Disable U5 Enable U5 Disable U9...
NAND Manufacturing Utility Operation Overview The NX2LP NAND Programming Utility is an application designed to download vendor configuration parameters to an NX2LP NAND memory device and automatically initialize it with FAT32 formatting. The utility can be used to program previously un-programmed (that is, "raw") NAND flash or to reprogram preconfigured NAND flash devices and enumerate as Windows Mass Storage Class devices.
NAND Manufacturing Utility After Windows finds the driver for the NX2LP device, NandMfg identifies the flash parts which populate the device and displays information about them in the NAND Device box. However, if “Add New Part" pops up, follow the instructions given in section 5.7. Figure 5-2.
The vendor ID is a two-byte value assigned to each USB device vendor by the USB Implementors' Forum (USBIF). The value should be entered as a hexadecimal value with a prefix of "0x". For example, the Cypress vendor ID is 0x04B4. Product ID ■...
Page 50
NAND Manufacturing Utility always enumerates as a hard disk. This feature is used in applications where you do not want to enumerate any removable device. If the device enumerates as a hard drive the first time, you must first initialize it and then format it for use. Figure 5-4.
NAND Manufacturing Utility Device Menu This utility provides four functions that are invoked by clicking on them. Alternately, you can press down the CTRL key while pressing another key as a shortcut. Figure 5-5. Device Menu Options Wipe (Ctrl + W) ■...
When an un-configured NAND flash device is detected by the Programming Utility, the status bar at the bottom of the window displays "Connected to Cypress NX2LP - Unprogrammed USB Device". CY3686 EZ-USB® NX2LP-Flex™ Development Kit Guide, Doc. # 001-61287 Rev. *B...
Page 53
NAND Manufacturing Utility Figure 5-7. Unprogrammed USB Device To program the Vendor Parameters and the Configuration Settings to the flash device, click Pro- gram Device. After successful programming and formatting, the status bar displays "Device pro- grammed and formatted". NandMfg supports formatting only for flashes with 2k or 512-byte page sizes.
Device. Because the NX2LP NAND Programming Utility can only program NAND flashes mounted on Cypress NX2LP devices, it needs a method to discern NX2LP storage devices from other (non- NX2LP) devices. This distinction is made based on the device's VID/PID.
RESET (disconnected and reconnected), the Device > Program option is dis- abled. Cypress recommends using the Wipe and program Device button, which takes care of the entire process. If the NandMfg tool is stuck on reconnect with the status 'Identifying Device..', then make sure that the Configuration file selected is correct before reconnecting.
Page 56
NAND Manufacturing Utility Figure 5-12. New NAND Part When you click Save, the parameters are saved in a second lookup table called OtherParts.xml, located at <install directory>\CY3686 NX2LP-FLEX DVK\<ver>\MfgTool. This table is always searched before NandParts.xml when the utility tries to identify a part. OtherParts.xml is not distributed with the NX2LP Programming Utility because it does not yet exist and is created by the utility when a new part's parameters need to be saved.
The CY3686 EZ-USB NX2LP-Flex DVK is a flexible NAND flash solution that provides additional features that can be added to a USB thumb drive solution. The Cypress EZ-USB NX2LP-Flex Mass Storage reference design connects the EZ-USB NX2LP-Flex to the following device types: 512 byte page, 2 KB page, and 4 KB page flash chips ■...
Page 58
To open them, first slide the lock sideways (approximately 1 mm) to the unlocked position. Both lids are now free to be opened by rotating them on their respective hinges. Place the SOP component into the socket. The lids must be closed simultaneously to assure proper seating of the SOP component. If this is not observed, the component shifts to the center of the socket resulting in an unsatisfactory electrical connection.
Frequently Asked Questions Q1: What is the maximum size of the hex file that can be programmed on to the NAND flash using the NX2LP programming utility? A1: The NX2LP programming utility can only handle hex code files upto 16 KB in size (0x0000 - 0x3FFF), which is the internal RAM boundary of the NX2.
Page 65
Flex Development Kit. If the particular NAND flash part is present in the file, it shows up on the NX2LP programming utility. If a part that cannot be found in the lookup table is detected, the "Add New Nand Part" dialog box pops up. For the NAND parts to function properly with the NX2LP, it is crucial to set the parameters in the dialog accurately.
Page 66
we can calculate the logical reported size of the disk for a 512-MB NAND with 2K page size (assumption is 64 pages per block). NANDMfg.exe calculates the physical size of the device as 2048B (bytes per page) * 64 (pages per block) * 1024 (physical blocks per zone) * 4 (zones) = 512MB (M = 1024 * 1024).
Need help?
Do you have a question about the EZ-USB NX2LP-Flex CY3686 and is the answer not in the manual?
Questions and answers