Quantcast
Channel: Cypress.com: Documentation
Viewing all 100 articles
Browse latest View live

EZ-USB® Technical Reference Manual

$
0
0

The Universal Serial Bus (USB) has gained wide acceptance as the connection method of choice for PC peripherals. Equally successful in the Windows and Macintosh worlds, USB has delivered on its promises of easy attachment, an end to configuration hassles, and true plug-and-play operation.


Holding Device Detection by the Host – KBA90631

$
0
0

Answer: Yes. When the pull-up resistor on the data line (D+) is enabled, the host will detect the device (FX2LP). In the USBCS register, the DISCON bit is used to disconnect the resistor. If you set this bit to ‘1’, the pull-up resistor on the data line (D+) will be disconnected and the host will not detect the device connection. When you want the host to detect the device, set the DISCON bit to ‘0’. For more information please refer to section 15.11.1, “USBCS” in the EZ-USB® Technical Reference Manual.

Configuring EP1 as an IN or OUT in EZ-USB® FX2LP™ – KBA90544

$
0
0

Answer: No, if you configure EP1 as both IN and OUT, the USB host might still enumerate the FX2LP USB device, but you cannot get the device to work (transfer data through the EP1 data endpoints). Data endpoints can only be UNI-DIRECTIONAL. So, if you choose EP1 as an IN endpoint, you have to choose one of the other endpoints (EP2, EP4, EP6, EP8) for the OUT endpoint.

DMA Capability in the EZ-USB® FX1/FX2/FX2LP™ – KBA88224

$
0
0

Answer: No, there is no DMA or “DMA–like” feature in the FX1/FX2/FX2LP. The FX1/FX2/FX2LP has a “Quantum FIFO” architecture that involves moving data packets instantaneously between the USB and the FIFOs, without 8051 intervention. This eliminates the need for an internal DMA to move FIFO data to/from the endpoint buffer. When set in Auto mode, the CPU simply configures the interface, and then “gets out of the way,” while the unified FX2 FIFOs move the data directly between the USB and the external interface. To process the data before committing to the external device or the USB host, have the 8051 intervene in the process to peek and poke the data before committing it. To do this, the endpoints must be set in Manual mode.

EZ-USB® FX2™/FX2LP™ Oscillator Is Not Running – KBA90541

$
0
0

Answer: You should check the pin connections and the oscillator characteristics to ensure they comply with the EZ-USB® FX2LP™ USB Microcontroller High-Speed USB Peripheral Controller datasheet. For example, the RESERVED pin must be connected to GND, as specified in the datasheet Pin Descriptions. Not connecting the RESERVED pin to GND puts the chip in a test mode which can cause the observed behavior.

FLAG Pin State of EZ-USB® FX1™/FX2™/FX2LP™ during a USB Bus Reset – KBA90546

$
0
0

Answer: During a USB bus reset the endpoint buffers are not affected. The FLAG pins will retain their configured states. If the USB bus reset occurs when there is no firmware on the EZ-USB, then the ports are in the default port I/O and the FLAG pins are not guaranteed to be in any particular state. The above answer holds true for the state of the FLAG pins after USB bus reset as well.

The USB bus reset is handled by ISR_Ures(). This ISR can be modified if any action needs to be performed when a USB bus reset occurs. More details about the FLAG pins and the effect of a USB bus reset on EZ-USB FX1/FX2/FX2LP can be found in the EZ-USB Technical Reference Manual.

Schematic Review Checklist for EZ-USB® FX2LP™ – KBA90551

$
0
0

Answer: Please check that your hardware meets the following requirements:

  • USB data lines: D+/D-
    There should be nothing wired on these sensitive high-speed data lines.
  • There must be pull ups on the SCL and SDA lines.
    Recommended values: 2 kΩ -10 kΩ
  • WAKEUP# pin:
    The WAKEUP pin should be in a de-asserted state on power up. The default polarity of the WAKEUP pin is active low. You should have the pin tied high. Do not leave it floating.
  • RESERVED pin:
    Make sure it is grounded directly, as specified in the datasheet.
  • RESET#:
    Make sure the Reset time is adequate and meets the minimum of 5 ms (measured from the time when power ramps up). The max reset time is 100 ms to meet the USB spec.
  • Crystal:
    • The crystal should be according to the following spec:
      • 24 MHz ± 100 ppm
      • Parallel resonant
      • Fundamental mode
      • 500 μW drive level
      • 12 pF (5 percent tolerance) load cap
    • One of the recommended parts is Ecliptek: EC-12-24.000M.
  • Make sure that the VCC ramp-up rate meets what is specified in the datasheet. The input must turn on to a valid voltage (3.0 V to 3.6 V) over a 200 μs period. This equates to an 18 V-per-millisecond ramp-up rate. Powering up the input too quickly will latch the internal regulator and cause problems powering up the core. Many 3.3 V regulators have turn-on times that are long enough to properly power up the internal regulator. One such regulator is the LT1763CS8-3.3.

For FX2LP hardware design, please refer to the application note AN15456 - Guide to a Successful EZ-USB® FX2LP™ Hardware Design.

Using the Cypress Vendor ID (VID) / Product ID (PID) in the End Product – KBA89337

$
0
0

Answer: No. Use the Cypress VID only for developmental purposes.

An OS like Windows® OS remembers the system files, such as an inf file or driver, used by the end product and loads them every time it is plugged in.

If the Cypress VID is used for an end product, then many customers could use the same VID, which could cause a malfunction because an end product may bind to an incorrect driver.

To avoid this, you should obtain a unique VID. VIDs are owned by the vendor company and are assigned and maintained by USB Implementers Forum, Inc. (USB-IF). Visit http://www.usb.org for more information on USB-IF membership and how to obtain a VID.

Once you have a VID, you can assign a PID. The USB-IF recommends that each vendor set up a coordinated allocation scheme for PIDs so that different teams do not inadvertently choose the same PID for different products. Duplicate numbers will cause compliance testing to fail.


AN61345 - Designing With EZ-USB® FX2LP™ Slave FIFO Interface

$
0
0

AN61345 provides a sample project to interface an FX2LP™ with FPGA using Slave FIFO interface. The interface, described in the sample implementation, adds High-Speed USB connectivity to applications such as data acquisition, industrial control and monitoring, and image processing. The project provided with this application note is implemented and tested with Xilinx® Spartan® 6 FPGA.

CY3686 EZ-USB® NX2LP-Flex™ Development Kit Guide

$
0
0

The Cypress Semiconductor EZ-USB® NX2LP-Flex™ Controller chip (CY7C68033) is a programmable USB NAND controller based on the FX2LP (CY7C68013A) silicon. The NX2LP-Flex architecture enables USB data transfer rates of over 53 MB for every second. This is the maximum allowable USB 2.0 bandwidth, while still using a low-cost 8051 microcontroller in a small 56-pin QFN  package While both CY7C68033 and CY7C68034 are functionally similar, the latter is more appropriate for battery-powered applications because of its low standby power consumption.

The CY3686 EZ-USB NX2LP-Flex Development Kit (DVK) is provided to customers for evaluating and developing NAND Flash USB mass storage applications using the NX2LP-Flex controller. The CY3686 NX2LP-Flex DVK is a combination of two development platforms:

  • The CY3684 EZ-USB FX2LP-DVK, based on Cypress's most popular USB 2.0 general purpose microcontroller, the EZ-USB FX2LP
  • The NX2LP-Flex development board, based on Cypress's NAND flash controller EZ-USB
    NX2LP-Flex

This enables users to integrate their custom application with NAND flash solutions.

AN4051 - FX2LP™ GPIF Flow State Feature for UDMA

$
0
0

Introduction

Although the FX2LP™ GPIF flow state feature was created for UDMA, it is not limited to that interface. The GPIF flow state can capture other bus protocols, which gives it a value and lifetime that extends beyond UDMA. This is in keeping with the basic philosophy of GPIF.

QTP 065201: FX2LP18 DEVICE FAMILY C8Q-3R TECHNOLOGY, FAB 5

AN14705 - EZ-USB® AT2LP™ Hardware Design Review Guide

$
0
0

AN14705 looks at each design component and guides designers as they review their AT2LP™ schematic during the design stage.

Introduction

The information in this application note is organized to help customers review and resolve AT2LP hardware design issues, and reduce the time required to fix problems. This document covers most of the known hardware issues and their fixes. The schematic used in this document is the CY4615B reference schematic; it is divided into several functional examples that apply to each hardware component. Each part is described in detail. If used, this application note can help a designer filter most of their critical issues.

Migration of an EZ-USB® FX2LP™ Driver from CyUSB.sys to CyUSB3.sys – KBA92893

$
0
0

Answer: The FX2LP driver has evolved since the late ‘90s. Era 2000 Windows Driver Model (WDM) architecture is no longer the preferred architecture for the Windows Operating System. Microsoft® suggests migrating to Kernel-Mode Driver Framework (KMDF). The FX2 driver is no exception to this evolution and needs to be migrated to the newer architecture. Therefore, Cypress® decided to retire the FX2LP (CyUSB) driver after Windows 7 and adopt a newer KMDF architecture through the CyUSB3 driver that has support from XP through Windows 8.1.

CyUSB3.sys is a Microsoft certified driver for FX2LP devices from XP through Windows 8.1.

Question: What changes are needed to make the older EZ-USB FX2LP PC host application compatible with the new CyUSB3.sys driver?

Answer: The existing FX2LP application (based on CyUSB.sys) needs to be migrated to the newer driver (CyUSB3.sys) and its pairing library (CyUSB.dll). There is an application migration task that can be done quickly and easily.

Applications that are using the Cypress Library:

C# applications need to use the newer C# dll. First remove the old CyUSB.dll in your project’s References folder and add the newer CyUSB.dll in its place.

Figure 1. Add the New CyUSB.dll to the References Section of the Project.

C++ applications need static library and header file replacement in the source code as shown below.

  • For header file replacement, you can add the newer CyAPI.h header files to your project in place of old ones or provide the path to where the newer CyAPI.h header file is located.
  • For linking to the newer CyAPI.lib library:
    1. Select the Project property
    2. Select the Linker node under Configuration Properties.
    3. Select the Input node under the Linker.
    4. Add the lib path including the lib name (for example, ..\..\lib\x86\cyapi.lib) in the Additional Dependencies edit box as shown in Figure 2.

      Fig 2: Add the New Library Path in Additional Dependencies

      New library path

    5. In addition to CyAPI.lib , you also need to add setupapi.lib (the Microsoft® provided library) in Additional Dependencies before building the application.

      Figure 3. Add setupapi.lib in Additional Dependencies

      setupapi.lib

Applications that are using the Cypress Driver API directly:

Driver API compatibility is maintained during this driver architecture change. There will be little to no impact to the existing source. Any impact will be in terms of adding new header files to the application with the changed data structures. These data structure changes occurred because of additional USB 3.0 support.

The driver API differences are documented in the Cypress CyUSB3.sys Programmer’s Reference.

AN15652 - Interfacing a Cypress MoBL-USB™ FX2LP18 with an Intel PXA27x Processor

$
0
0

MoBL-USB™ FX2LP18 is a low-power, integrated USB 2.0 microcontroller. With the MoBL-USB bridge firmware, the MoBL-USB FX2LP18 can connect to any external master, such as standard microprocessors, DSPs, application-specific integrated circuits (ASICs), and FBGAs. This application note provides an example of interfacing the MoBL-USB FX2LP18 with the Intel® PXA27x processor.


Adding more endpoints to the device descriptor tables in dscr.a51

$
0
0

To add more endpoints to the the device descriptor tables in dscr.a51 do the following:

  1. Open dscr.a51 for editing
  2. Change the number of endpoint value in the IntrfcDscr section to the new total number of endpoints that you want.
  3. For each endpoint that you add, copy the appropriate endpoint description section, EpInDscr or EpOutDscr.
  4. Paste the description sections into the file and change the endpoint number, and direction values. The high byte is the direction--8 for IN and 0 for OUT. The low byte is the endpoint number--2, 4, 6, or 8.
  5. Save the file and rebuild the project.

More information on the dscr.a51 file can be found in the knowledge base article Device Descriptor Table Data

AN6076 - Differences between EZ-USB® FX2LP™ and MoBL-USB™ FX2LP18

$
0
0

This application note explains the major differences between the EZ-USB FX2LP™ and the MoBL-USB™ FX2LP18 from the perspective of a user.

Enumeration of EZ-USB® FX2LP™ from Off-Chip Memory - KBA92900

$
0
0

Answer: The EZ-USB® executes the code from off-chip memory only under the following three conditions:

  • A flash, EEPROM, or other memory is attached to the address/data bus.
  • The EEPROM connected to I2C lines does not have a valid first byte (0xC0 or 0xC2).
  • The EA pin of FX2LP is connected to logic high.

Note: If the connected off-chip memory does not have firmware, then it will not enumerate as the default device.

Figure 1. EA Pin Connected to Logic High

FX2LP Audio Device in windows volume control

$
0
0

The following steps have to be followed in order to get an FX2LP audio device to appear in the Windows Volume control:

Specify in the feature unit descriptor which features of the audio device need to be controlled, for e.g. volume, mute, tone, AGC etc.

Modify firmware to respond to the class specific requests from the host.

Feature unit control requests are used by the host to get and set the feature unit controls. For each control that has to be implemented, the host will send a series of feature unit control requests after enumeration. The firmware has to be modified to respond appropriately to these requests.

For example, if it is specified in the feature unit descriptor that volume control is needed, after enumeration, the host will send requests to get the current, minimum and maximum values of the device?s volume. Code should be added to the setupcommand() function in fw.c so that the device responds to these requests. If the values returned are within appropriate limits, then the device name will get listed in the volume control panel. For volume control, the current, minimum and maximum attributes can rangefrom +127.9961 dB (0x7FFF) down to -127.9961 dB (0x8001).

To find more information on feature unit descriptors and requests please go through the document ?USB Device Class Specification for Audio Devices' from the following link: http://www.usb.org/developers/docs/devclass_docs/audio10.pdf

 

AN1193 - Using Timer Interrupt in Cypress EZ-USB® FX2LP™ Based Applications

$
0
0

AN1193 is aimed at helping EZ-USB® FX2LP™ based firmware developers use timer interrupts in their applications, by providing a framework based timer interrupt program written in C. The assumption is made that one has a general understanding of how interrupts work within the 8051 concept. When this program is run, you should be able to light the seven-segment LED on the FX2LP Development Board (CY3684) with a 0-9 count, and control the step rate using BULK OUT endpoint transfers from the EZ-USB Control Panel.

Viewing all 100 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>