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

AN76348 - Differences in Implementation of EZ-USB® FX2LP™ and EZ-USB FX3 Applications

$
0
0

With the release of the USB 3.0 specification, USB controller chips required rearchitecting to handle the ten-fold increase in USB bandwidth over the USB 2.0 specification. Cypress offers USB controllers for applications based on USB 2.0 (EZ-USB® FX2LP™) and USB 3.0 (EZ-USB FX3™).This application note describes the implementation differences between the two controllers. Example applications highlight those differences at the architectural, hardware, and firmware framework levels. While this application note emphasizes the new FX3 features, it provides links to FX2LP background materials. For the complete list of SuperSpeed code examples, visit http://www.cypress.com/?rID=101781 and for the complete list of Hi-Speed code examples, visit http://www.cypress.com/?rID=101782.

Introduction

Cypress EZ-USB FX3 is a USB 3.0 peripheral controller with highly integrated and flexible features that add USB 3.0 functionality to any system.

FX3 has a fully configurable, parallel general programmable interface called GPIF II, which can connect to an external processor, ASIC, or FPGA. The GPIF II is an enhanced version of the GPIF in FX2LP, Cypress’s flagship USB 2.0 product. GPIF II provides glueless connectivity to popular interfaces such as asynchronous SRAM, asynchronous and synchronous address data multiplexed interface, and others. To accommodate the USB 3.0 SuperSpeed signaling rates, FX3 offers architectural enhancements over FX2LP such as a RISC processor and DMA system. This application note explains the architectural differences and introduces the FX3 RTOS-based firmware frameworks.


QTP 092902: Automotive USB FX2LP (AT2LP) C8QR-3R Technology, Fab 4

AN4053 - Streaming Data through Isochronous or Bulk Endpoints on EZ-USB® FX2™ and FX2LP™

$
0
0

USB applications that use data types, such as audio and video, require a flow of continuous high-speed data. This data is termed as streaming because it flows in an uninterrupted stream. This application note discusses USB high-bandwidth delivery mechanisms that support streaming data, and includes code to implement and exercise FX2LP high-bandwidth endpoints. A companion PC application is provided to select various transfer types and to measure transfer rates. The example code attached to this application note demonstrates how to use the Cypress USB Frameworks to implement alternate USB settings, enabling the host to select different transfer rates. For the complete list of USB Hi-Speed code examples, visit http://www.cypress.com/?rID=101782.

CY7C68053: MoBL-USB™ FX2LP18 USB Microcontroller

$
0
0

MoBL-USB(TM) FX2LP18 USB Microcontroller

Features

  • USB 2.0 - USB-IF High-Speed and Full-Speed Compliant (TID# 40000188)
  • Single-chip integrated USB 2.0 transceiver, smart SIE, and enhanced 8051 microprocessor
  • Ideal for mobile applications (cell phone, smart phones, PDAs, MP3 players)
    • Ultra low power
    • Suspend current: 20 μA (typical)
  • Software: 8051 code runs from:
    • Internal RAM, which is loaded from EEPROM
  • 16 kBytes of on-chip Code/Data RAM
  • Four programmable BULK/INTERRUPT/ISOCHRONOUS endpoints
  • For more, see pdf
     

Functional Overview

Cypress Semiconductor Corporation’s MoBL-USB™ FX2LP18 (CY7C68053) is a low voltage (1.8 V) version of the EZ-USB® FX2LP (CY7C68013A), which is a highly integrated, low power USB 2.0 microcontroller. By integrating the USB 2.0 transceiver, serial interface engine (SIE), enhanced 8051 microcontroller, and a programmable peripheral interface in a single chip. Cypress has created a very cost effective solution that provides superior time-to-market advantages with low power to enable bus powered applications.

EZ-USB® FX2LP™ Throughput Measurement

$
0
0

This program demonstrates the maximum throughput that can be achieved over a USB 2.0 interface with the help of the Windows Streamer application. Both bulk and ISO transfers are supported.

Note: To modify and rebuild the project, you need Keil μVision2 IDE that is also provided with the FX2LP DVK. The DVK setup can be downloaded from here.

Handling Vendor Commands in EZ-USB® FX2LP™

$
0
0

The USB specification provides a mechanism, called “vendor requests,” to create your own custom USB commands. This project shows how to implement these requests. Application note AN45471 contains detailed information. Using this project with the USB Control Center, you can do things like sending packets from the PC to the FX2LP board to update the onboard LEDs and 7-segment readout.

Note: To modify and rebuild the project, you need Keil μVision2 IDE that is also provided with the FX2LP DVK. The DVK setup can be downloaded from here.

EZ-USB® FX2LP™ as HID Device

$
0
0

This project implements a DVK board–based keyboard using the USB Human Interface Device (HID) class. The DVK buttons and 7-segment bars implement the keyboard functions shown in table below.

DVK Keyboard Function
f1 button Shift key
f2 button ‘a’ key
f3 button ‘b’ key
f4 button ‘c’ key
7-seg top Screen lock light
7-seg middle Caps lock light
7-seg bottom Num lock light

After you use the USB Control Center to load the hid_kb.hex file into the FX2LP board, the FX2LP board re-enumerates as a standard Windows keyboard. Any active window that accepts text will show the key presses implemented by this application. Press the Screen Lock, Caps Lock and Num Lock keyboard keys and observe that three of the 7-segment bars light along with the keyboard indicators.

Note: To modify and rebuild the project, you need Keil μVision2 IDE that is also provided with the FX2LP DVK. The DVK setup can be downloaded from here.

USB Hi-Speed Code Examples

$
0
0

Code Examples integrated with Application Notes

AN# Title Part# Kits Description
AN57322 Interfacing SRAM with FX2LP over GPIF CY7C6801XA CY3684 This project describes how to configure FX2LP General Programmable Interface (GPIF) to interface to Cypress SRAM CY7C1399B. It describes how to create Read and Write GPIF waveforms using the Cypress provided tool, GPIF Designer.
AN1193 Using Timer Interrupt in Cypress EZ-USB®  FX2LP™ Based Applications CY7C6801X CY3684 This project demonstrates the usage of FX2LP timer interrupts in their applications, using the framework based timer interrupt program written in C. 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.
AN4053 Streaming Data through Isochronous or Bulk Endpoints on EZ-USB® FX2™ and FX2LP™ CY7C6801X/
CY7C6801XA
CY3684 This project includes code to implement and exercise FX2LP high-bandwidth Endpoints, a companion PC application to measure the transfer rates. This project also demonstrates how to use the Cypress USB Frameworks to implement alternate USB settings, enabling the host to select different transfer rates.
AN61345 Designing With EZ-USB FX2LP™ Slave FIFO Interface CY7C6801XA CY3684 This project provides a sample code to interface an FX2LP™ with FPGA using Slave FIFO interface. The project is implemented and tested with Xilinx® Spartan® 6 FPGA.
AN14558 Implementing an SPI Master on EZ-USB FX2LP™ CY7C6801XA CY3684 This project details two approaches (bit-banging approach using GPIO pins and the UART block approach) to implement SPI Master interface on FX2LP.
AN65209 Getting Started with FX2LP™ CY7C6801XA CY3684 The Bulkloop project attached to this shows how to structure the FX2LP firmware to create a USB device. Much of the USB request handling is done by a Cypress-provided USB Firmware Framework, with the user code required only for the specific application requirements. The bulkloop.c file contains a full USB device template that can serve as the basis for a custom application.
AN58764 Implementing a Virtual COM Port Using FX2LP™ CY7C6801XA CY3684 This project describes the implementation of a virtual COM port device using FX2LP.
AN66806 Getting Started with EZ-USB® FX2LP™ GPIF CY7C6801XA CY3684 This project includes three examples demonstrating the General Programmable Interface (GPIF) design for FX2LP based applications, starting with a simple GPIF clock divider example. This project also includes an example for demonstrating the GPIF Manual mode and single read/write GPIF transactions over a 16-bit data bus.
AN45471 Create Your Own USB Vendor Commands Using FX2LP™ CY7C6801XA CY3684 The project includes the example code showing the implementation of handling code for any vendor-specific custom requests (called vendor requests). This shows how to create a custom USB device and communicate with it using vendor requests.
AN70983 Designing a Bulk Transfer Host Application for EZ-USB® FX2LP™/FX3™ CY7C6801XA CY3684 This example demonstrates how to use the Cypress library for Microsoft .NET languages to implement host PC applications to communicate with Cypress's FX2LP and FX3 devices.
AN63787 EZ-USB® FX2LP™ GPIF and Slave FIFO Configuration Examples Using an 8-Bit Asynchronous Interface CY7C6801XA CY3684 This project provides sample code demonstrating FX2LP GPIF and Slave configuration. This project is tested with two FX2LP development kits connected in a back-to-back setup, the first one acting in master (GPIF) mode and the second in slave mode.
AN58069 Implementing an 8-Bit Parallel MPEG2-TS Interface Using Slave FIFO Mode in FX2LP CY7C6801XA CY3684 This project presents a design example to implement an 8-bit parallel MPEG2-TS interface using the Slave FIFO mode
AN63620 Configuring a Xilinx Spartan-3E FPGA Over USB Using EZ-USB FX2LP™ CY7C6801XA CY3684 This project demonstrates a technique for dynamically configuring a Xilinx Spartan-3E Field Programmable Gate Array (FPGA) over USB using EZ-USB FX2LP. After the FPGA is configured, FX2LP can act as a high-speed data path between the USB host and the FPGA.
AN64020 Creating a FX1/FX2LP™ Composite HID Device CY7C6801XA/
CY7C64713
CY3684 This project describes how to implement a composite human interface device (HID) using FX1/FX2LP™. The example firmware explained here is a two-button mouse and a two-button keyboard function, using the four buttons on the FX1/FX2LP development board. The example firmware also has an interface which implements a loopback over bulk endpoint using Endpoint 6 and 8 to emphasize the flexibility and bandwidth capability of the device.
AN61244 Firmware Optimization in EZ-USB® CY7C6801X/
CY7C6801XA/
CY7C64713
CY3684/
CY3674
This project describes firmware optimization methods in EZ-USB using a demonstration firmware.
AN78446 Interrupt Handling in EZ-USB® FX2LP™ CY7C6801XA CY3684 This project explains the handling of three USB specific interrupts and external interrupts in EZ - USB® FX2LP™ using sample code.
AN58170 Code/Memory Banking Using EZ-USB® CY7C6801X/
CY7C6801XA/
CY7C64713
CY3684/
CY3674
This project describes methods of overcoming 64 KB firmware size limitation, imposed by 16 bit address lines of EZ-USB 8051 core, using code/ memory banking.
AN58009 Serial (UART) Port Debugging of FX1/FX2LP Firmware CY7C6801X/
CY7C6801XA/
CY7C64713
CY3684/
CY3674
This project describes the code to be added to FX2LP firmware for serial port debugging. This code enables the developer to print debug messages and real-time values of variables to the HyperTerminal program on a Windows computer or to capture it in a file using the UART in FX2LP.
AN74505 EZ-USB® FX2LP™ - Developing USB Application on MAC OS X using LIBUSB CY7C6801XA CY3684 This project describes how libusb-1.0 can be used to develop USB host application (Cocoa Application) on MAC OS X 10.6/10.7 for Cypress EZ-USB® FX2LP™ products. This includes step-by-step procedure for developing a host application to communicate with FX2LP products.
AN73609 EZ-USB® FX2LP™/ FX3™ Developing Bulk-Loop Example on Linux CY7C6801XA CY3684 This project describes how libusb can be used to develop an USB host application on a Linux-based OS for Cypress EZ-USB® FX2LP™/ FX3™ products. It includes a step-by-step procedure for developing the bulk-loop example.
AN64465 West Bridge® Integration to Android on OMAP Zoom II MDP: RNDIS, CDC-ECM, and Mass Storage Functions CYWB022X CYWBDVK002AB This project includes a reference implementation of the USB composite device with Remote Network Driver Interface Specification (RNDIS), Communication Device Class - Ethernet Control Model (CDC-ECM), and mass storage functions.

Code Examples integrated with Development Kits

The following Code Examples are integrated with CY3684 EZ-USB FX2LP Development Kit. To access these code examples, follow the path C:\Cypress\USB\CY3684_EZ-USB_FX2LP_DVK\1.0\Firmware .

Title Part# Kits Description
hid_kb CY7C6801XA CY3684 Example firmware that emulates a HID-class keyboard using the buttons and 7-segment display on the DVK board.
bulkloop CY7C6801XA CY3684 Contains a bulk loopback test that exercises the EZ-USB bulk endpoints. It loops back EP2OUT to EP6IN and EP4OUT to EP8IN.
bulkext CY7C6801XA CY3684 Contains a bulk loopback test that exercises the EZ-USB bulk endpoints. The loopback is performed using the external auto pointer. Data is copied from the OUT endpoint buffer to external RAM and then to the IN endpoint buffer. It loops back EP2OUT to EP6IN and EP4OUT to EP8IN.
bulksrc CY7C6801XA CY3684 Contains bulk endpoint endless source/sink firmware. It can be driven using the CyConsole or CyBulk. EP2OUT always accepts a bulk OUT; EP4OUT always accept a bulk OUT; EP6IN always returns a 512-byte packet, 64 bytes at full-speed. Based on buffer availability in EP8IN, the most recent packet of EP4OUT is written to EP8IN.
dev_io CY7C6801XA CY3684 Contains the source files to build simple development board I/O sample. This software demonstrates how to use the buttons and LED on the EZ-USB development kit.
EP_Interrupts CY7C6801XA CY3684 Bulk loopback firmware that demonstrates use of endpoint interrupts using EZ-USB FX2LP.
extr_intr CY7C6801XA CY3684 Firmware that demonstrates external interrupt handling INT0, INT1, INT4, INT5 and INT6.
Ibn CY7C6801XA CY3684 Contains firmware to perform bulk loopback of EP2OUT to EP6IN and EP4OUT to EP8IN using the IBN (In Bulk Nak) interrupt to initiate the transfer.
LEDCycle CY7C6801XA CY3684 Simple firmware example to demonstrate use of the general purpose indicator LEDs (D2, D3, D4, D5) on the Development Kit board.
Pingnak CY7C6801XA CY3684 Contains firmware to perform bulk loopback of EP2OUT to EP6IN and EP4OUT to EP8IN using the PING NAK interrupt to initiate the transfer.
iMemtest CY7C6801XA CY3684 Memory test firmware example. Tests on-chip RAM.
vend_ax CY7C6801XA CY3684 Contains the source files to build a vendor specific command sample. This example demonstrates how to implement different vendor commands.

The following Code Examples are integrated with CY3687 MoBL-USB FX2LP18 Development Kit. To access these code examples, follow the path C:\Cypress\USB\CY3687_MOBL-USB_FX2LP18_DVK\1.0\Firmware .

Title Part# Kits Description
hid_kb CY7C68053 CY3687 Example firmware that emulates a HID-class keyboard using the buttons and 7-segment display on the DVK board.
bulkloop CY7C68053 CY3687 Contains a bulk loopback test that exercises the EZ-USB bulk endpoints. It loops back EP2OUT to EP6IN and EP4OUT to EP8IN.
bulkext CY7C68053 CY3687 Contains a bulk loopback test that exercises the EZ-USB bulk endpoints. The loopback is performed using the external auto pointer. Data is copied from the OUT endpoint buffer to external RAM and then to the IN endpoint buffer. It loops back EP2OUT to EP6IN and EP4OUT to EP8IN.
bulksrc CY7C68053 CY3687 Contains bulk endpoint endless source/sink firmware. It can be driven using the CyConsole or CyBulk. EP2OUT always accepts a bulk OUT; EP4OUT always accept a bulk OUT; EP6IN always returns a 512-byte packet, 64 bytes at full-speed. Based on buffer availability in EP8IN, the most recent packet of EP4OUT is written to EP8IN.
dev_io CY7C68053 CY3687 Contains the source files to build simple development board I/O sample. This software demonstrates how to use the buttons and LED on the EZ-USB development kit.
EP_Interrupts CY7C68053 CY3687 Bulk loopback firmware that demonstrates use of endpoint interrupts using EZ-USB FX2LP.
extr_intr CY7C68053 CY3687 Firmware that demonstrates external interrupt handling INT0, INT1, INT4, INT5 and INT6.
Ibn CY7C68053 CY3687 Contains firmware to perform bulk loopback of EP2OUT to EP6IN and EP4OUT to EP8IN using the IBN (In Bulk Nak) interrupt to initiate the transfer.
LEDCycle CY7C68053 CY3687 Simple firmware example to demonstrate use of the general purpose indicator LEDs (D2, D3, D4, D5) on the Development Kit board.
Pingnak CY7C68053 CY3687 Contains firmware to perform bulk loopback of EP2OUT to EP6IN and EP4OUT to EP8IN using the PING NAK interrupt to initiate the transfer.
iMemtest CY7C68053 CY3687 Memory test firmware example. Tests on-chip RAM.
vend_ax CY7C68053 CY3687 Contains the source files to build a vendor specific command sample. This example demonstrates how to implement different vendor commands.

Web Code Examples

KB# Title Part# Kits Description
34626 HID example for FX2 (CY7C68013) CY7C68013/
CY7C68013A
CY3684 This is the HID keyboard example of FX2LP.

AN50963 - EZ-USB® FX1™/FX2LP™ Boot Options

$
0
0

AN50963 describes in detail the boot options available in Cypress’s EZ-USB® FX1™/FX2LP™ USB 2.0 peripheral controllers. For a complete list of USB Hi-Speed code examples, visit the Cypress web page.

Introduction

Cypress’s EZ-USB FX1/FX2LP offers a highly integrated solution for USB 2.0 peripheral devices. It comes with an integrated and high-performance CPU based on the industry-standard 8051 microcontroller. A soft (RAMbased) architecture allows flexible configuration and upgrades.

AN74505 - EZ-USB® FX2LP™ - Developing USB Application on MAC OS X using LIBUSB

$
0
0

AN74505 describes how libusb-1.0 can be used to develop USB host application (Cocoa Application) on MAC OS X 10.6/10.7 for Cypress EZ-USB® FX2LP™ products. This includes step-by-step procedure for developing a host application to communicate with FX2LP products. Here, a bulkloop host application is demonstrated using a bulkloop firmware.

Introduction

AN74505 describes a host application built on the MAC OS platform that uses libusb. The host application (Cocoa Application) communicates with the BULK IN and BULK OUT endpoints of FX2LP, using the interfaces provided by the APIs of libusb. This host application implements the transfer only with devices that pass the particular VID/PID(=0x04B4/0x1004) identification. The example device used in this application note is the bulkloop device. The firmware that is attached along with this application note causes a loop back of data inside the device. It also supports vendor commands, demonstrated here by using a simple vendor command. Thus this host application, with the attached bulkloop device, demonstrates the loopback of bulk data, and control transfers using a vendor command.

Code/Memory Banking Using EZ-USB® - AN58170

$
0
0

The EZ-USB® family of chips has an 8051 core. The 8051 core has a 16-bit address line and is only able to access 64 KB of memory. However, the firmware size sometimes exceeds 64 KB This application note describes methods of overcoming this 64 KB limitation and also demonstrates the implementation of one such method.

AN46860 - Schematic Review Checklist for West Bridge® Astoria™

$
0
0


West Bridge® Astoria™ is a USB and mass storage peripheral control device that contains three main ports: processor interface (P-port), mass storage support (S-port), and USB interface (U-port). This application note discusses the hardware recommendations and guidelines to design a system using Astoria.

Can EZ-USB® FX2™/FX2LP™ and the CY3681/84 Development Kits Support USB1.1 – KBA88222

$
0
0

Answer: Yes, EZ-USB® FX2/FX2LP™ and the CY3681/84 Development Kits support USB 1.1. You can use the FX2/FX2LP Development Kits with a USB 1.1-capable host.

USB-to-Parallel Converter Using EZ-USB® FX2LP™ – KBA88219

$
0
0

Answer: There are two methods to implement a USB-to-parallel interface in FX2LP.

  • The GPIF or slave FIFO mode of FX2LP can be used, depending on the external device that is being interfaced with FX2LP.
  • Without using the GPIF or slave FIFO interface, firmware can be written to implement the same using the 8051 core.

What Is the Difference between CY7C68300C/CY7C68301C/CY7C68320C/CY7C68321C and CY7C68300B/CY7C68301B/CY7C68320/CY7C68321? – KBA89319

$
0
0

Answer: EZ-USB® AT2LP™ Rev. A (CY7C68300C/CY7C68301C/CY7C68320C/CY7C68321C) is an enhancement to the EZ-USB AT2LP Rev. * (CY7C68300B/CY7C68301B/CY7C68320/CY7C68321) product family. For current designs in production, the EZ-USB AT2LP Rev. A. is a drop-in replacement. These enhancements do not affect the datasheet. Please see the attached PCN061023 for more details.


Endpoint 1 Buffer Reset in EZ-USB® FX2LP™ - KBA88218

$
0
0

Answer: Unlike the other endpoint buffers - that is, endpoint 2,4,6,8 buffers, which can be reset by the FIFORESET register - the only way to reset an endpoint 1 buffer is by a hard reset. A USB bus reset or a CPU reset does not reset the endpoint 1 buffer.

Streaming Application Example in EZ-USB® FX2™ and FX2LP™ – KBA90545

Internal Pull-Up or Pull-Down on Port I/O Pins in EZ-USB® FX2™/FX2LP™ – KBA90548

$
0
0

Answer: No, there are no internal pull-up or pull-down resistors on the FX2/FX2LP port pins.

Connecting a 5 V Logic to EZ-USB® FX2™/FX2LP™ Pins – KBA90543

$
0
0

Answer: Yes, FX2/FX2LP is 5 V tolerant on its logic inputs and drives outputs at a minimum of 2.4 V. You may connect inputs to pull-ups of 5 V, but you must guarantee that the input does not exceed 5.25 V. Outputs must not exceed VCC + 0.5 V. For a 3.3 V VCC the output pull-ups must not exceed 3.8 V.

Crystal Drive Level Requirement for EZ-USB® FX2LP™ – KBA90549

$
0
0

Answer: It is the maximum power dissipation in the crystal. This is one of the most important specifications for a crystal. In operation, if the power dissipated in the crystal exceeds the specified drive level, the crystal may have long-term reliability problems. The oscillation frequency may shift from the desired value, and in extreme cases the crystal may crack and stop oscillating altogether. The crystal should satisfy the following requirements:

  • 24 MHz ± 100 ppm
  • Parallel resonant
  • Fundamental mode
  • 12 pF (5 percent tolerance) load capacitor
  • 500 μW drive level
Viewing all 100 articles
Browse latest View live


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