DLPUSB245R LEAD-FREE USB-PARALLEL FIFO Module The DLP-USB245R is DLP Design’s smallest USB-to-parallel FIFO interface module and utilizes the popular FT245R IC with FTDIChip-ID™ feature from FTDI. In addition to enabling standard USB-to-FIFO designs, both asynchronous and synchronous bit-bang interface modes are also available. The DLP-USB245R is available in a lead-free, RoHS-compliant, compact 18-pin, 0.1-inch standard DIP footprint. FEATURES: • Single-chip USB-to-parallel FIFO bidirectional data-transfer interface. • Entire USB protocol handled on the FT245R; no USB-specific firmware programming is required. • Fully integrated 1024-bit EEPROM storing device descriptors and FIFO I/O configuration. • Data transfer rates up to 1Mbyte per second. • 256-byte receive buffer and 128-byte transmit buffer utilizing buffer-smoothing technology to allow for high data throughput. • FTDI’s royalty-free Virtual COM Port (VCP) and direct (D2XX) drivers eliminate the requirement for USB driver development in most cases. • Unique USB FTDIChip-ID™ feature. • Configurable FIFO interface I/O pins. • Synchronous and asynchronous bit-bang interface options with RD# and WR# strobes. • Device supplied preprogrammed with a unique USB serial number. • Supports bus-powered, self-powered and high-power bus-powered USB configurations. • Integrated level converter on FIFO interface for connection to external logic running at between +1.8V and +5V. • True 5V/3.3V/2.8V/1.8V CMOS drive output and TTL input. • Configurable I/O pin output drive strength. • Integrated power-on-reset circuit. • Fully integrated power-supply filtering; no external filtering is required. • +3.3V to +5.25V single-supply operation. • Low operating and USB Suspend current. • UHCI/OHCI/EHCI host-controller compatible. • USB 2.0 full-speed compatible. • -40°C to 85°C extended operating temperature range. Rev. 1.0 (November 2008) 1 © DLP Design, Inc. APPLICATION AREAS: • Upgrading legacy peripherals to USB • Interfacing MCU/PLD/FPGA-based designs to USB • USB audio and low-bandwidth video data transfer • PDA-to-USB data transfer • USB smart card readers • USB instrumentation • USB industrial control • USB MP3 player interface • USB FLASH card readers and writers • Set top box PC-USB interface • USB hardware modems • USB wireless modems • USB bar code readers • USB software and hardware encryption dongles DRIVER SUPPORT: Royalty-Free Virtual COM Port (VCP) Drivers for: • Windows 98, 98SE, ME, 2000, Server 2003, XP and Server 2008 • Windows XP and XP 64-bit • Windows Vista and Vista 64-bit • Windows XP Embedded • Windows CE 4.2, 5.0 and 6.0 • Mac OS 8/9, OS-X • Linux 2.4 and greater Royalty-Free D2XX Direct Drivers (USB Drivers + DLL S/W Interface) for: • Windows 98, 98SE, ME, 2000, Server 2003, XP and Server 2008 • Windows XP and XP 64-bit • Windows Vista and Vista 64-bit • Windows XP Embedded • Windows CE 4.2, 5.0 and 6.0 • Linux 2.4 and greater The drivers listed above are all available for free download from the DLP Design website www.dlpdesign.com and FTDI website www.ftdichip.com. Various third-party drivers are also available for other operating systems; see the FTDI website www.ftdichip.com for details. Rev. 1.0 (November 2008) 2 © DLP Design, Inc. ABSOLUTE MAXIMUM RATINGS • Storage Temperature • Ambient Temperature (Power Applied) • VCC Supply Voltage • DC Input Voltage: Inputs • DC Input Voltage: High-Impedance Bidirectionals • DC Output Current: Outputs -65°C to +150°C -40 to +85°C -0.5V to +6.00V -0.5V to VCC + 0.5V -0.5V to VCC + 0.5V 24mA D.C. CHARACTERISTICS (AMBIENT TEMPERATURE: -40 TO 85°C) • VCC Operating-Supply Voltage • VCCIO Operating-Supply Voltage • Operating Supply Current • Operating Supply Current 4.0 - 5.25V 4.0 - 5.25V 15mA (Normal Operation) 100uA USB Suspend 1.0 GENERAL DESCRIPTION The DLP-USB245M provides an easy, cost-effective method of transferring data to/from a peripheral and a host at up to 8 million bits (1 megabyte) per second. Its simple, FIFO-like design makes it easy to interface to any microcontroller or microprocessor via I/O ports. To send data from the peripheral to the host computer, simply write the byte-wide data into the module when TXE# is low. If the (128-byte) transmit buffer fills up or is busy storing the previously-written byte, the device takes TXE# high in order to stop further data from being written until some of the FIFO data has been transferred over USB to the host. When the host sends data to the peripheral over USB, the device will take RXF# low to let the peripheral know that at least one byte of data is available. The peripheral then reads the data until RXF# goes high, thereby indicating that no more data is available to be read. By using FTDI’s Virtual COM Port drivers, the peripheral looks like a standard COM port to the application software. Commands to set the baud rate are ignored; the device always transfers data at its fastest rate regardless of the application’s baud-rate setting. The latest versions of the drivers are available for download from DLP Design’s website at www.dlpdesign.com. Rev. 1.0 (November 2008) 3 © DLP Design, Inc. 2.0 TIMING DIAGRAMS T6 T5 RXF# T1 T2 RD# T3 T4 D D[7..0] Description Min Max Unit TIME T1 T2 T3 T4 T5 T6 Valid data DESCRIPTION RD# Active Pulse Width RD# to RD# Pre-Charge Time RD# Active to Valid Data* Valid Data Hold Time from RD# Inactive* RD# Inactive to RXF# RXF# Inactive After RD Cycle *Load = 30pF MIN 50 50 + T6 20 0 0 80 MAX 50 25 - UNIT nS nS nS nS nS nS MAX 25 - UNIT nS nS nS nS nS nS T12 T11 TXE# T7 T8 WR T10 T9 D[7 ..0] TIME T7 T8 T9 T10 T11 T12 Valid data DESCRIPTION WR Active Pulse Width WR to WR Pre-Charge Time Valid Data Setup to WR Falling Edge* Valid Data Hold Time from WR Inactive* WR Inactive to TXE# TXE# Inactive After WR Cycle MIN 50 50 20 0 5 80 *Load = 30pF Rev. 1.0 (November 2008) 4 © DLP Design, Inc. 3.0 APPLICATION NOTES USB devices transfer data in packets. If data is to be sent from the PC, a packet is built up by the application program and is sent via the device driver to the USB scheduler. This scheduler adds a request to the list of tasks that the USB host controller will perform. This will typically take at least 1 millisecond to execute because it will not pick up the new request until the next USB frame (the frame period is 1 millisecond). There is, therefore, sizeable overhead (depending upon your required throughput) associated with moving data from the application to the USB device. If data is sent one byte at a time by an application, this will severely limit the overall throughput of the system. It must be stressed that in order to achieve maximum throughput, application programs should send or receive data using buffers and not individual characters. 4.0 DRIVER SOFTWARE FTDI's VCP (Virtual COM Port) driver-executable files are provided royalty free on the condition that they are only used with designs incorporating an FTDI device (i.e. the FT245R and DLPUSB245R). The latest version of the drivers can be downloaded from either www.dlpdesign.com or www.ftdichip.com. The CDM driver download file is a combined set of drivers for the Windows operating system and contains both the VCP and D2XX driver versions. To download, simply unzip the file to a folder on your PC. (The drivers can coexist on the same floppy disk or folder since the INF files determine which set of drivers to load for each operating-system version.) Once loaded, the VCP drivers will allow your application software—running on the host PC—to communicate with the DLP-USB245R as though it were connected to a COM (RS-232) port. In addition to VCP drivers, FTDI's D2XX direct drivers for Windows offer an alternative solution to the VCP drivers that allow application software to interface with the FT245R device using a DLL instead of a Virtual COM Port. The architecture of the D2XX drivers consists of a Windows WDM driver that communicates with the FT245BR device via the Windows USB stack and a DLL that interfaces with the application software (written in VC++, C++ Builder, Delphi, VB, etc.) to the WDM driver. The D2XX direct drivers add support for simultaneous access and control of multiple FT245R devices. The extended open function (FT_OpenEx) allows the device to be opened either by its product description or serial number, both of which can be programmed to be unique. The list devices function (FT-ListDevices) allows the application software to determine which devices are currently available for use, again by either product description or serial number. Additional functions are provided to program the EEPROM (FT_EE_Program) and read the EEPROM (FT_EE_Read). Unused space in the EEPROM is called the user area (EEUA), and functions are provided to access the EEUA. FT_EE_UASize gets its size, FT_EE_UAWrite writes data into it and FT_EE_UARead is used to read its contents. Download FTDI Application Notes AN_103 and AN_104 for detailed instructions on how to install the drivers on XP and Vista platforms. Rev. 1.0 (November 2008) 5 © DLP Design, Inc. 5.0 EEPROM WRITE UTILITY The DLP-USB245R has the option to accept manufacturer-specific information that is written into EEPROM memory. Parameters that can be programmed include the VID and the PID identifiers, the manufacturer's product string and a serial number. MPROG is the latest EEPROM programming utility for the FT245R device. You must install the latest release of the CDM drivers in order to run this application. If you have CDM drivers installed on the PC that is to perform the EEPROM write process, you can run MPROG and update the EEPROM contents with either mode (VCP or D2XX) active. 6.0 QUICK START GUIDE This guide requires the use of a Windows XP/Vista PC that is equipped with a USB port. 1. Download the CDM device drivers from either www.dlpdesign.com or www.ftdichip.com. Unzip the drivers into a folder on the hard drive. 2. Connect the DLP-USB245R board to the PC via a USB ‘A’ to mini-B cable. This action initiates the loading of the USB drivers. When prompted, select the folder where the device drivers were stored in Step 1. Windows will then complete the installation of the device drivers for the DLP-USB245R module. The next time the DLP-USB245R module is attached, the host PC will immediately load the correct drivers without any prompting. Reboot the PC if prompted to do so. At this point, the DLP-USB245R is ready for use. Note that the DLP-USB245R will appear nonresponsive if data sent from the host PC is not read from the FT245R device by an attached microcontroller, microprocessor, DSP, FPGA, ASIC, etc. 7.0 PINOUT DESCRIPTION Pin 18 Pin 1 USB Pin 10 Pin 9 Top View (Interface Headers on bottom of PCB) Rev. 1.0 (November 2008) 6 © DLP Design, Inc. PIN # 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 DESCRIPTION GROUND DB2 - FIFO Data Bus Bit 2 DB7 - FIFO Data Bus Bit 7 DB5 - FIFO Data Bus Bit 5 DB3 - FIFO Data Bus Bit 3 PWREN# - Goes low after the module is configured by USB, then high during USB Suspend. This output can be used to control an external P-channel, logic-level MOSFET switch. Enable the interface pull-down option when using the PWREN# pin in this way. PWREN# should be pulled to VCCIO with 10k-Ohm resistor. VCCIO - +1.8V to +5.25V supply for the FIFO interface. Connect this pin to an external power supply to drive out at +3.3V levels (or another voltage within the specified range), or connect to EXTVCC (Pin 8) to drive out at the +5V CMOS level. EXTVCC - Use for applying main power (4.0 to 5.25 volts) to the module. Connect to PORTVCC (Pin 9) if the module is to be powered by the USB port (typical configuration). PORTVCC - Power from the USB port. Connect to EXTVCC (Pin 8) if the module is to be powered by the USB port (typical configuration). 500mA is the maximum current available to the USB adapter and target electronics if the USB device is configured for high power. GROUND RD# - When pulled low, RD# takes the 8 data lines from a high-impedance state to the current byte in the FIFO’s buffer. Taking RD# high returns the data pins to a highimpedance state and prepares the next byte (if available) in the FIFO to be read. WR - When taken from a high to a low state, WR reads the 8 data lines and writes the byte into the FIFO’s transmit buffer. Data written to the transmit buffer is sent to the host PC within the TX buffer timeout value (default 16mS) and placed in the buffer that was created when the USB port was opened. The FT245R allows the TX buffer timeout value to be reprogrammed to a value between 1 and 255mS. DB6 - FIFO Data Bus Bit 6 TXE# - When high, do not write data into the FIFO. When low, data can be written into the FIFO by strobing WR high, then low. During reset this signal pin is tri-state. Data is latched into the FIFO on the falling edge of the WR pin. RXF# - When low, at least 1 byte is present in the FIFO’s receive buffer and is ready to be read with RD#. RXF# goes high when the receive buffer is empty. During reset this signal pin is tri-state. If the Remote Wakeup option is enabled in the internal EEPROM, during USB Suspend Mode (PWREN#=1) RXF# becomes an input. This can be used to wake up the USB host from Suspend Mode by strobing this pin low for a minimum of 20ms which will cause the device to request a resume on the USB bus. DB1 - FIFO Data Bus Bit 1 DB4 - FIFO Data Bus Bit 4 DB0 - FIFO Data Bus Bit 0 Rev. 1.0 (November 2008) 7 © DLP Design, Inc. 8.0 DEVICE CONFIGURATION EXAMPLES USB Bus-Powered and Self-Powered Configurations Figure 1. 7 8 9 Bus-Powered 5V System The figure above illustrates a typical USB bus-powered configuration. A USB bus-powered device gets its power from the USB bus. Basic rules for USB bus-powered devices are as follows: 1. On plug-in to USB, the module and external circuitry should draw no more than 100mA on the 5-volt line from the USB host. 2. In USB Suspend Mode, the module and external circuitry should draw no more than 2.5mA. 3. A bus-powered, high-power USB device (one that draws more than 100mA) should use one of the CBUS pins configured as PWREN# to keep the current below 100mA on plug-in and below 2.5mA on USB Suspend. 4. A design that consumes more than 100mA in total cannot be plugged into a USB bus-powered hub. 5. No USB target system can draw more than 500mA from the USB bus. The power descriptors in the internal EEPROM of the FT245R should be programmed to match the total current drawn by the target system. Note: If using PWREN# (available using the CBUS), the I/O pin should be pulled to VCCIO using a 10k-ohm resistor. Rev. 1.0 (November 2008) 8 © DLP Design, Inc. Figure 2. 5.0V 7 8 9 Self-Powered 5V System Figure 2 illustrates a typical USB self-powered configuration. A USB self-powered device gets its power from its own power supply and does not draw current from the USB bus. Basic rules for USB self-powered devices are as follows: 1. A self-powered device should not force current down the USB bus when the USB host or hub controller is powered down. 2. A self-powered device can take as much current as it likes during normal operation and during USB Suspend as it has its own power supply. 3. A self-powered device can be used with any USB host and both bus- and self-powered USB hubs. 3.3V Microcontroller Figure 3. 8 Data Lines 3.3V 7 8 9 RXF# RD# TXE# WR Bus-Powered 5V System with 3.3V Logic Interface Figure 3 shows how to configure the DLP-USB245R to interface with a 3.3V logic device. In this example, the target electronics provide the 3.3 volts via the VCCIO line (Pin 7) which, in turn, will cause the FT245R interface I/O pins to drive out at the 3.3V level. Rev. 1.0 (November 2008) 9 © DLP Design, Inc. 9.0 BUS-POWERED CIRCUIT WITH POWER CONTROL USB bus-powered circuits need to be able to power down in USB Suspend Mode in order to meet the <= 2.5mA total Suspend current requirement (including external logic): P-Channel Power MOSFET S D Figure 4. G .1uF 10K 1K Microcontroller VCC PWREN# 7 8 9 Power Controlled by PWREN# Figure 4 shows how to use a discrete P-Channel MOSFET to control the power to external logic circuits. This “soft-start” circuit accommodates designs that draw more than 100mA at power up. Please note the following points in connection with power-controlled designs: 1. The logic to be controlled must have its own reset circuitry so that it will automatically reset itself when power is reapplied on coming out of Suspend. 2. Set the soft pull-down option bit in the FT245R EEPROM. 3. For USB high-power, bus-powered applications (ones that consume greater than 100mA, and up to 500mA of current from the USB bus), the power consumption of the application must be set in the Max Power Field in the internal FT245R EEPROM. A high-power, bus-powered application uses the descriptor in the internal FT245R EEPROM to inform the system of its power requirements. 4. PWREN# gets its VCC from VCCIO. For designs using 3.3-volt logic, ensure that VCCIO is not powered down during Suspend. Rev. 1.0 (November 2008) 10 © DLP Design, Inc. 10.0 MECHANICAL DRAWINGS (PRELIMINARY) INCHES (MILLIMETERS) UNLESS OTHERWISE NOTED 0.22 typ (5.6 typ) 0.21 typ (5.3 typ) Side View 0.23 typ (5.8 typ) 0.43 typ (10.9 typ) 0.37 typ (9.4 typ) 0.09 typ (2.3 typ) 0.60 typ (15.2 typ) 1.26 typ (32.1 typ) 11.0 DISCLAIMER © DLP Design, Inc., 2008 Neither the whole nor any part of the information contained herein nor the product described in this manual may be adapted or reproduced in any material or electronic form without the prior written consent of the copyright holder. This product and its documentation are supplied on an as-is basis, and no warranty as to their suitability for any particular purpose is either made or implied. DLP Design, Inc. will not accept any claim for damages whatsoever arising as a result of the use or failure of this product. Your statutory rights are not affected. This product or any variant of it is not intended for use in any medical appliance, device or system in which the failure of the product might reasonably be expected to result in personal injury. Rev. 1.0 (November 2008) 11 © DLP Design, Inc. This document provides preliminary information that may be subject to change without notice. 12.0 CONTACT INFORMATION DLP Design, Inc. 1605 Roma Lane Allen, TX 75013 Phone: 469-964-8027 Fax: 415-901-4859 Email Sales: [email protected] Email Support: [email protected] Website URL: http://www.dlpdesign.com Rev. 1.0 (November 2008) 12 © DLP Design, Inc. 5 EXTVCC PORTVCC CN1 USB B Conn C4 .47uF 1 2 3 4 5 1 C2 .01 C6 47pF FB1 240-1018-1 2 C1 10/10 Tant C7 47pF 4 4 C3 .1uF C5 .1uF 20 16 15 8 19 24 27 28 17 U1 VCCIO FT245RL VCC5 IN USBDM USBDP VCCIN/NC RESET# AVCC/NC OSCI OSCO 3V3OUT 3 3 4 VCCIO D C B A 5 AGND GND GND GND TEST 25 7 18 21 26 D0 D1 D2 D3 D4 D5 D6 D7 RXF# TXE# RD# WR PWREN 1 5 3 11 2 9 10 6 23 22 13 14 12 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 RXF# TXE# RD# WR PWREN 2 2 DB2 DB7 DB5 DB3 PWREN VCCIO EXTVCC PORTVCC 1 2 3 4 5 6 7 8 9 J1 245 Version 18 17 16 15 14 13 12 11 10 1 DB0 DB4 DB1 RXF# TXE# DB6 WR RD# 1 D C B A