7. CY3684 Development Board CY7C68013A Re-programmable GAL 128 KB RAM Voltage regulator Socketed E 2 PROMs Philips PCF8574 IO expanders ATA Connector USB port RS-232 port RS-232 port
8.
9.
10.
11.
Editor's Notes
Welcome to the training module on Adding USB Communications to Your Design.
This training module introduces high speed USB technology and how to add USB communication to your design using the Cypress’s CY3684 development kit.
As an engineer reaching this point in the search for a USB solution he or she is likely to have some grasp of the USB concept but for completeness we’ll quickly go over a few basics . USB is a replacement for the legacy serial & parallel communications which was a point to point connection precluding multi-drop topologies. The USB cabling consists of a pair of twisted wires carrying differential signalling data bundled with two wires for powering low-powered peripherals. Device functions may be plugged / unplugged while the host remains powered, known as hot plugging. USB 2.0 specification supports three speeds suitable for different applications. There is exactly one master in a USB system. The host controls the flow of data, no device function may send data back to the host without it being requested. Because the host is always the bus master, it is easy to remember USB direction: OUT means from the host to the device, and IN means from the device to the host.
USB defines four transfer types: bulk transfers, interrupt transfers, isochronous transfers, and control transfers. Bulk transfers are used to move large chunks of data. They are typically used for printer, scanner, or modem data. Interrupt data is like bulk data; Interrupt endpoints have an associated polling interval that ensures they will be polled (receive an IN token) by the host on a regular basis. Isochronous transfers are used where regular data is required, for example streaming audio, each packet being up to about 1K. Control transfers configure and send commands to a device. Because they are so important, they employ the most extensive USB error checking.
The kit chosen to use as an example for the design of full/ High-speed USB is the Cypress CY3684, which is based on the company’s CY7C68016A chip, a member of the EZ-USB family. Most vendors including Atmel, Cypress, Freescale, and Microchip offer lower cost, lower performance parts better suited for simple functions. The FX2LP series targeted here including the CY7C6801,3,4,5,6 controllers offer the addition of USB high-speed, with code compatibility and an architecture so similar that porting is usually trivial. One great point in this development kits favour is its ease of use, much of the low-level USB handling is taken care of by the silicon and pre-developed library routines with no extra royalties to pay .
The EZ-USB FX2LP is a power-efficient, high-speed USB 2.0 controller. USB peripherals using the EZ-USB FX2LP controller— including mass storage devices and personal media players— are able to operate off of the power of the USB bus. Featuring a data rate of 480 Mbps, 16 Kbytes of on-chip memory, and up to 40 programmable I/Os, EZ-USB FX2LP solution provides design flexibility. By integrating the USB 2.0 transceiver, serial interface engine (SIE), enhanced 8051 microcontroller, and a programmable peripheral interface in a single chip, this solution provides superior time-to-market advantages with low power to enable bus powered applications.
The CY3684 development board provides a platform to test the project during all stages of the design phase. It is also a valuable source of support collateral to help speed your design to market. While it is designed to enable prototyping a wide range of designs, the FX2LP development kit remains user friendly. The development board uses the 128 pin version, enabling the developer to work with all of the features the FX2LP has to offer. All available pins are connected to headers that facilitate debugging efforts and other component connection to the FX2LP. This board also provides a known good USB platform during development, to test firmware.
Following the EZ-USB “Getting Started” manual, the software should be installed without too much difficulty. For first time users, Cypress recommends accepting the default option at each stage of the Setup. You also need to connect the board to the PC to get the drivers to install. Connect the EZ-USB Development board to a USB port on your development PC using the USB cable. The driver, cyusb.sys, was automatically installed into the Windows\\System32\\Drivers directory during installation of the DVK software.
With software and hardware installed, it is time to verify whether the installation was successful. This can be achieved by CyConsole, which communicates with the USB devices that have matched to the CyUSB.sys device driver. The console supports hot-plugging of USB devices. When a device that matches to the driver is plugged-in to the PC it will automatically appear in the Device List near the top of the CyConsole window. After starting the USB Console, click on the “GetDev” button to retrieve the Device Descriptor from the Development Board.
The Tech First Kit is the best starting point for developing an EZ-USB based product. The DVK includes everything you will need to get started: A development board, example firmware, a generic device driver, documentation, and assorted tools. A useful collection of Cypress Application Notes and manuals are also included in the CD. To help with building your own hardware from starting with this PuP Kit, a list of the core parts on the design are listed in the Bill of Materials.
Thank you for taking the time to view this presentation on “ Adding USB Communications to Your Design” . If you would like to learn more or go on to purchase some of these devices, you may either click on the part list link, or simply call our sales hotline. For more technical information you may either visit the Cypress & Premier Farnell site, or if you would prefer to speak to someone live, please call our hotline number, or even use our ‘live chat’ online facility. You may visit Element 14 e-community to post your questions.