DLP-USB1 DLP Design USB to FIFO Parallel Interface Module DLP-USB1 FEATURES Send / Receive Data over USB at up to 1 M Bytes / sec 384 byte FIFO Transmit buffer / 128 byte FIFO receive buffer for high data throughput Simple interface to CPU or MCU bus No in-depth knowledge of USB required as all USB Protocol is handled automatically within the module FTDI’s Virtual COM port drivers eliminate the need for USB driver development in most cases. Integrated 3.3v Regulator – No External Regulator Required 4.4v - 5.25v Single Supply taken directly from the USB port UHCI / OHCI Compliant USB 1.1 Specification Compliant USB VID, PID, Serial Number and Product Description Strings stored in on-board EEPROM. Virtual COM Port Drivers for Windows 98, Windows 98 SE, Windows 2000, Windows Millennium, Apple iMAC and Linux Application Areas Prototype Development USB ISDN and ADSL Modems High Speed USB PDA Interface USB Interface for Digital Cameras USB Interface for MP3 players High Speed USB Instrumentation GENERAL DESCRIPTION The DLP-USB1 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. It’s simple FIFO-like design makes it easy to interface to any microcontroller or microprocessor via IO 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 ( 384 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 data is available. The peripheral then reads the data until RXF# goes high indicating no more data is available to 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 it’s fastest rate regardless of the application’s baud rate setting. Revision 1.4 -1- 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 puts a request onto the list of tasks for the USB host controller to 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 a sizeable overhead (depending on your required throughput) associated with moving the data from the application to the USB device. If data is sent 'byte at a time' by an application, this will severely limit the overall throughput of the system as a whole. It must be stressed that in order to achieve maximum throughput, application programs should send or receive data using buffers and not individual characters. Revision 1.4 -2- Table 1 - DLP-USB1 PINOUT DESCRIPTION 11 16 Pin # Signal Type Description 7 6 Pin# 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 Description EXTRST# (IN) Take low to reset the entire device SLEEP# (Out) Goes low when module enters the suspend mode TXE# (Out) When high, the FIFO’s 384-byte transmit buffer is full or busy storing the last byte written. Do not attempt to write data to the transmit buffer when TXE# is high. RXF# (Out) When low, at least 1 byte is present in the FIFO’s 128-byte receive buffer and is ready to be read with RD#. RXF# goes high when the receive buffer is empty. WR (In) 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 immediately sent to the host PC and placed in the RS-232 buffer opened by the application program. RD# (In) When pulled low, RD# takes the 8 data lines from a high impedance state to the current byte in the FIFO's receive buffer. Taking RD# high returns the data pins to a high impedance state and prepares the next byte (if available) in the FIFO to be read. VCC Provides power for target electronics. Up to 500mA available when USB is active. GND Ground Supply Pin for target electronics. D0 I/O Bi-directional Data Bus Bit # 0 D1 I/O Bi-directional Data Bus Bit # 1 D2 I/O Bi-directional Data Bus Bit # 2 D3 I/O Bi-directional Data Bus Bit # 3 D4 I/O Bi-directional Data Bus Bit # 4 D5 I/O Bi-directional Data Bus Bit # 5 D6 I/O Bi-directional Data Bus Bit # 6 D7 I/O Bi-directional Data Bus Bit # 7 Revision 1.4 -3- DLP-USB1 TIMING DIAGRAM – FIFO READ CYCLE 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 Min 50 50 Max 30 10 5 80 25 Unit ns ns ns ns ns ns DLP-USB1 TIMING DIAGRAM – FIFO WRITE CYCLE T12 T11 TXE# T7 T8 WR T10 T9 D[7..0] Time T7 T8 T9 T10 T11 T12 Description WR Active Pulse Width WR to WR Pre-Charge Time Data Setup Time before WR inactive Data Hold Time from WR inactive WR Inactive to TXE# TXE inactive after RD cycle Valid data Min 50 50 Max 20 10 5 80 Revision 1.4 25 Unit ns ns ns ns ns Ns -4- Mechanical Drawings (PRELIMINARY) Inches(millimeters) unless otherwise noted 0.6 ± 0.02 (15.24±0.5) 2.0 ± 0.05 (50.8±1.0) 0.2 ± 0.05 (5.1±1.0) 0.1 ± 0.01 (2.54±.254) 0.65 ± .05 (16.5±1.0) 0.135 ± .02 (3.4±0.5) 0.48 ± .05 (12.2±1.2) 0.50 ± .05 (12.7±1.2) 0.125 ± .01 (3.2±0.254) 1.0 ± .01 (25.4±.254) 1.2 ± .05 (30.5±1.0) Revision 1.4 0.425 ± .04 (10.8±1.0) -5- 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 DC Output Current – Low Impedance Bidirectionals -65°C to + 150°C 0°C to + 70°C -0.5v to +6.00v -0.5v to VCC + 0.5v -0.5v to VCC + 0.5v 24mA 24mA DC Characteristics ( Ambient Temperature = 0 - 70 Degrees C ) VCC Icc1 Icc2 Ioh1 Iol1 Voh1 Vol1 VDif VCom URxt UVh UVl Description Operating Supply Voltage Operating Supply Current Operating Supply Current Digital IO Pins Source Current Digital IO Pins Sink Current Input Voltage Threshold ( Low ) Input Voltage Threshold ( High ) USB Differential Input Sensitivity USB Differential Common Mode USB Single Ended Rx Threshold USB IO Pins Static Output ( Low ) USB IO Pins Static Output ( High ) Min 4.5 Max 5.25 50 250 ** 4 4 0.6 2.7 0.2 0.8 0.8 2.5 2.0 0.3 2.8 Units V mA uA mA mA V V V V V V Condition Normal Operation USB Suspend Voh = VCC – 0.5V Vol = + 0.5v Rl = 1.5k to 3.6v Rl = 15k to GND ** Some early samples may exhibit a slightly higher current. Disclaimer Neither the whole nor any part of the information contained in, or the product described in this datasheet, 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 will not accept any claim for damages howsoever arising as a result of 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. This document provides preliminary information that may be subject to change without notice. Contact Information DLP Design PO Box 503762 San Diego, CA 92150-3762 Phone: 858-513-2777 Fax: 858-513-2777 Email: [email protected] Internet: http://www.dlpdesign.com Revision 1.4 -6-