FT8U232AM
U-UART - USB UltraBaud Data Transfer IC with RS232 / RS422 and CPU I/F Options FEATURES
• • • • • • • • • • • • • • Single Chip Multi-Function Data Transfer Solution RS232 link from 300 baud to 920K baud RS422/RS485 Link to 2000K baud 384 byte receive buffer / 128 byte transmit buffer for high data throughput Full hardware assisted or X-On/X-Off handshaking Support for Event Characters and Line Break condition Auto Transmit Buffer control for RS485 Compact 32 pin ( 7mm x 7mm ) MQFP package Integrated 6MHz - 48MHz Clock Multiplier aids FCC and CE compliance Integrated 3.3v Regulator – No External Regulator Required 4.4v .. 5.25v Single Supply Operation UHCI / OHCI Compliant USB 1.1 Specification Compliant USB VID, PID, Serial Number and Product Description Strings in external E2PROM. • Virtual COM Port Drivers for – Windows 98 and Windows 98 SE Windows 2000 Windows Millennium ** Apple iMAC ** Linux ** Application Areas USB ISDN and ADSL Modems
Ù PDA Interface Cables USB Ù RS232 Converters / Cables USB Ù RS422 / RS485 High Speed Industrial
USB Links USB Digital Cameras USB I/F for MP3 players Ultra-high performance Serial Port for legacy free PC system boards / Easy PC’s
USB 56k / V90 Modems
Ù USB data transfer cables USB Ù USB null-modem cables USB ÙSerial Bar Code Readers
USB
USB Instrumentation
Note ** = Currently in development
GENERAL DESCRIPTION
The FT8U232AM is a cost-effective single chip USB UART ( U-UART ) solution for transferring serial data over USB. With data transfer rates of up to 920k baud ( RS232 ) and 2,000 k baud ( RS422 / RS485 ) , the FT8U232AM significantly raises the performance level above that above that of traditional ISA and PCI based UART solutions whilst offering true plug and play and easy interfacing through it’s USB interface. Its flexible architecture allows this IC to be used in many different application areas - USB modems, Legacy RS232
Ù USB Converter cables, USB interface cables for PDA’s , Bar Code Scanners , RS422 data links
and instrumentation – in fact almost any equipment that previously used a slow RS232 link for communication. Virtual COM port drivers are available for the FT8U232AM for Windows ’98, Windows 98 SE and Windows 2000. Drivers for other operating systems are currently under development.
Future Technology Devices Intl.
FT8U232AM Preliminary Information Rev 0.8 – Subject to Change
Figure 1 – FT8U232AM Block Diagram ( Simplified )
VCC 48MHz Baud Rate Generator
3V3OUT
3.3 Volt LDO Regulator
Dual Port TX Buffer 128 bytes
USBDP USB Transceiver USBDM Serial Interface Engine ( SIE ) USB Protocol Engine UART FIFO Controller UART
TXD RXD RTS# CTS# DTR# DSR# DCD# RI#
TXDEN USBEN TXLED# RXLED# Dual Port RX Buffer 384 Bytes EECS EESK EEDATA
USB DPLL
EEPROM Interface XTOUT 6MHZ Oscillator XTIN x8 Clock Multiplier 12MHz 48MHz GND RESET# TEST
SLEEP# PWRCTL
RCCLK
Figure 2 – FT8U232AM I.C. Pinout
RCCLK XTOUT
EECS
AVCC
AGND
XTIN
VCC
32 EESK EEDATA VCC RESET# TEST 3V3OUT USBDP USBDM 8 9 1
25 24 RXD RTS# CTS# DTR# DSR# DCD# RI# 17 16 GND
FTDI
FT232AM
XXYY
VCC
RXLED#
PWRCTL
Future Technology Devices Intl.
FT8U232AM Preliminary Information Rev 0.8 – Subject to Change
SLEEP#
TXLED#
USBEN
TXDEN
GND
TXD
FT8U232AM - FUNCTIONAL BLOCK DESCRIPTION
•
3.3V LDO Regulator The 3.3V LDO Regulator generates the 3.3 volt reference voltage for driving the USB transceiver cell output buffers. It requires an external decoupling capacitor to be attached to the 3V3OUT regulator output pin.
•
USB Transceiver The USB Transceiver Cell provides the USB 1.1 full-speed physical interface to the USB cable. The output drivers provide 3.3 volt level slew rate control signalling, whilst a differential receiver and two single ended receivers provide USB data in, SEO and USB Reset condition detection.
•
USB DPLL The USB DPLL cell locks on to the incoming NRZI USB data and provides separate recovered clock and data signals to the SIE block.
•
6MHz Oscillator The 6MHz Oscillator cell generates a 6MHz reference clock input to the X8 Clock multiplier from an external 6MHz crystal or ceramic resonator.
•
X8 Clock Multiplier The X8 Clock Multiplier takes the 6MHz input from the Oscillator cell and generates a 12MHz reference clock for the SIE, USB Protocol Engine and UART FIFO controller blocks. It also generates a 48MHz reference clock for the USB DPPL and the Baud Rate Generator blocks.
•
Serial Interface Engine ( SIE ) The Serial Interface Engine ( SIE ) block performs the Parallel to Serial and Serial to Parallel conversion of the USB data. In accordance to the USB 1.1 specification, it performs bit stuffing / un-stuffing and CRC5 / CRC16 generation / checking on the USB data stream.
•
USB Protocol Engine The USB Protocol Engine manages the data stream from the device USB control endpoint. It handles the low level USB protocol ( Chapter 9 ) requests generated by the USB host controller and the commands for controlling the functional parameters of the UART.
•
Dual Port TX Buffer ( 128 bytes ) Data from the USB data out endpoint is stored in the Dual Port TX buffer and removed from the buffer to the UART transmit register under control of the UART FIFO controller.
Future Technology Devices Intl.
FT8U232AM Preliminary Information Rev 0.8 – Subject to Change
•
Dual Port RX Buffer ( 384 bytes ) Data from the UART receive register is stored in the Dual Port RX buffer prior to being removed by the SIE on a USB request for data from the device data in endpoint.
•
UART FIFO Controller The UART FIFO controller handles the transfer of data between the Dual Port RX and TX buffers and the UART transmit and receive registers.
•
UART The UART performs asynchronous 7 / 8 bit Parallel to Serial and Serial to Parallel conversion of the data on the RS232 ( RS422 and RS485 ) interface. Control signals supported by the UART include RTS, CTS, DSR , DTR, DCD and RI. The UART provides a transmitter enable control signal ( TXDEN ) to assist with interfacing to RS485 transceivers.
•
Baud Rate Generator The Baud Rate Generator provides a x16 clock input to the UART from the 48MHz reference clock and consists of a 14 bit prescaler and 2 register bits which provide fine tuning of the baud rate ( e.g. to divide by 2.5 ). This determines the Baud Rate of the UART which is programmable from 300 baud to 2 million baud. For more details please contact FTDI.
•
EEPROM Interface Though the FT8U232AM will work without the optional EEPROM, an external 93C46 EEPROM can be used to customise the USB VID, PID, Serial Number and Strings of the FT8U232AM for OEM applications. The EEPROM is also required for applications where multiple FT8U232AM’s are connected to a single PC as the drivers rely on a unique serial number for each device to bind a unique virtual COM port to each individual device.
Future Technology Devices Intl.
FT8U232AM Preliminary Information Rev 0.8 – Subject to Change
Table 1 - FT8U232AM - PINOUT DESCRIPTION
Pin # 7 8 6 27 28 31 4 32 1 2 5 25 24 23 22 21 20 19 18 16 15 14 12 11 10 3,13,26 9.17 30 29 Signal
USBDP USBDM 3V3OUT XTIN XTOUT RCCLK RESET# EECS EESK EEDATA TEST TXD RXD RTS# CTS# DTR# DSR# DCD# RI# TXDEN USBEN PWRCTL TXLED# RXLED# SLEEP# VCC GND AVCC AGND
Type
I/O I/O OUT IN OUT I/O IN I/O I/O I/O IN OUT IN OUT IN OUT IN IN IN OUT OUT IN O.C. O.C. OUT PWR PWR PWR PWR
Description
USB Data Signal Plus – Requires 1.5k pull-up to 3V3OUT USB Data Signal Minus 3.3 volt Output from integrated regulator Input to 6MHz Crystal Oscillator Cell Output from 6MHz Crystal Oscillator Cell RC timer – used to guarantee clock stability on exiting sleep mode Resets entire device using external RC network Optional EEPROM – Chip Select Optional EEPROM – Clock Optional EEPROM – Data I/O Puts device in i.c. test mode – must be tied to GND UART – Transmit Data Output UART – Receive Data Input UART – Request To Send Control Output UART – Clear To Send Control Input UART – Data Terminal Ready Control Output UART – Data Set Ready Control Input UART – Data Carrier Detect Control Input UART – Ring Indicator Control Input UART – Enable Transmit Data for RS485 USB Enabled – High after device is configured via USB Bus Powered – Tie Low / Self Powered – Tie High LED Drive - Pulses Low when Transmitting Data via USB LED Drive - Pulses Low when Receiving Data via USB Goes Low during USB Suspend Mode Device - +4.4 volt to +5.25 volt Power Supply Pins Device – Ground Supply Pins Device - Analog Power Supply for the internal x8 clock multiplier Device - Analog Ground Supply for the internal x8 clock multiplier
Future Technology Devices Intl.
FT8U232AM Preliminary Information Rev 0.8 – Subject to Change
Figure 3. FT8U232AM - PACKAGE DESCRIPTION – QFP 7mm x 7mm
9 7
7
9
32
Pin # 1
0.8
1 12o +/- 1o 1.4 +/- 0.05
0.37 +/- 0.07
1.60 MAX
0.09 Min 0.2 Max 0.25 0.35 +/- 0.05
0.09 Min 0.16 Max
0.05 Min 0.15 Max
0.2 Min 0.6 +/- 0.15
All dimensions in millimetres
Future Technology Devices Intl.
FT8U232AM Preliminary Information Rev 0.8 – Subject to Change
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 …………………. Power Dissipation ………………………………………………………… -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 500mW
o o o o
DC Characteristics ( Ambient Temperature = 0 .. 70 Degrees C )
Description VCC Icc1 Icc2 Ioh1 Iol1 Voh1 Vol1 VDif VCom URxt UVh UVl
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.4
Max
5.25 50 250
Units
v mA uA mA mA
Conditions
Normal Operation USB Suspend Voh = VCC – 0.5v Vol = + 0.5v
4 8 0.6 2.7 0.2 0.8 0.8 2.5 2.0 0.3v 2.8
v v v v v Rl = 1.5k to 3.6v Rl = 15k to GND
Future Technology Devices Intl.
FT8U232AM Preliminary Information Rev 0.8 – Subject to Change
Disclaimer
© Future Technology Devices International Limited – 1999, 2000
Neither the whole nor any part of the information contained in, or 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.
Future Technology Devices International Ltd. 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
Future Technology Devices Intl. Limited St. George’s Studios 93/97 St. George’s Road Glasgow G3 6JA, UK Telephone : Fax : Email : Internet : +44 ( 0 ) 141 353 2565 +44 ( 0 ) 141 353 2656 support@ftdi.co.uk http://www.ftdi.co.uk
Agents and Sales Representatives
Please visit our internet site for the latest contact details of our Agents and Sales Representatives world-wide.
Future Technology Devices Intl.
FT8U232AM Preliminary Information Rev 0.8 – Subject to Change
Appendix A USB Device Descriptors
USB Device Descriptors
Note: E - replaced by E2Rom Value, C - modified by configuration option {* device descriptor *} LABEL : Device_Des; 0010 0011 0012 0014 0015 0016 0017 12 01 10 01 00 00 00 08 Val Val Val Val Val Val Val : : : : : : : Device_Len;{length of this descriptor in bytes} $01;{Device descriptor type} $10,$01;{USB Spec rev 1.10} $00;{Device class ?} $00;{Device subclass ?} $00;{Device protocol ?} Max_Length;{maximum packet size}
LABEL : Device_Des_Vendor; E E 0018 03 04 001A 01 60 Val : $03,$04;{Vendor ID FTDI} Val : $01,$60;{product number 6001}
LABEL : Device_Des_Vendor_End; E 001C 001E 001F 0020 0021 00 02 01 02 03 01 Val Val Val Val Val : : : : : $00,$02;{device release number 02.00} $01;{index of string descriptor describing manufacturer} $02;{index of string descriptor describing product} $03;{index of string descriptor describing serial number} $01;{number of possible configurations}
{* end of device descriptor *} LABEL : Device_Des_End; LABEL : Config_Des; {* configuration descriptor *} 0022 0023 0024 0026 0027 0028 EC 0029 E 002A 09 02 20 00 01 01 00 80 2D Val Val Val Val Val Val Val Val : : : : : : : : $09;{length of this descriptor in bytes} $02;{Configuration descriptor} Config_Len,$00;{length of data returned for all things} $01;{number of interfaces supported by this configuration} $01;{configuration value} $00;{index of string descriptor describing this configuration} 10000000b;{configured as bus powered and not remote wakeup} 45;{maximum power in 2 mA ie 90mA for now}
{* end of configuration descriptor *} LABEL : Interface_Des; {* interface descriptor *} 002B 002C 002D 002E 002F 0030 0031 0032 0033 09 04 00 00 02 FF FF FF 02 Val Val Val Val Val Val Val Val Val : : : : : : : : : $09;{length of this descriptor in bytes} $04;{Interface descriptor} $00;{interface number} $00;{alternate setting} $02;{number of endpoints excluding 0 = 1} $ff;{class code} $ff;{subclass} $ff;{protocol code} $02;{index of string descriptor describing this interface}
{* end of interface descriptor *} LABEL : Interface_Des_End; LABEL : Endpoint_Des; LABEL : Endpoint3_Des_End; 0034 0035 0036 0037 0038 003A 07 05 81 02 40 00 00 Val Val Val Val Val Val : : : : : : $07;{length of this descriptor in bytes} $05;{End point descriptor} 10000001b;{in endpoint at address 1} 00000010b;{attribute as bulk} 64,$00;{maximum packet size} $00;{interval for polling endpoint for data transfers}
LABEL : Endpoint3_Des; {* end point descriptor *} 003B 003C 003D 003E 003F 0041 07 05 02 02 40 00 00 Val Val Val Val Val Val : : : : : : $07;{length of this descriptor in bytes} $05;{End point descriptor} 00000010b;{out endpoint at address 2} 00000010b;{attribute as bulk} 64,$00;{maximum packet size} $00;{interval for polling endpoint for data transfers}
LABEL : Endpoint_Des_End; LABEL : Config_Des_End; LABEL : Str0_Des; 0042 0043 0044 LABEL : 04 Val : Str0_Len; {length of string descriptor} 03 Val : $03; {type string} 09 04 Val : $09,$04; {language ID 0009 English} Str0_Des_End;
LABEL : Str1_Des; E 0046 E 0047 E 0048 E 004A E 004C E 004E LABEL : 0A Val : 03 Val : 46 00 Val : 54 00 Val : 44 00 Val : 49 00 Val : Str1_Des_End; Str1_Len; {length of string descriptor} $03; {type string} 'F',$00; 'T',$00; 'D',$00; 'I',$00;
LABEL : Str2_Des; E 0050 E 0051 E 0052 E 0054 E 0056 E 0058 E 005A E 005C E 005E E 0060 E 0062 E 0064 E 0066 E 0068 E 006A E 006C LABEL : 1E Val : 03 Val : 55 00 Val : 53 00 Val : 42 00 Val : 20 00 Val : 3C 00 Val : 2D 00 Val : 3E 00 Val : 20 00 Val : 53 00 Val : 65 00 Val : 72 00 Val : 69 00 Val : 61 00 Val : 6C 00 Val : Str2_Des_End; Str2_Len; {length of string descriptor} $03; {type string} 'U',$00; 'S',$00; 'B',$00; ' ',$00; '',$00; ' ',$00; 'S',$00; 'e',$00; 'r',$00; 'i',$00; 'a',$00; 'l',$00;
LABEL : Str3_Des; E 006E E 006F E 0070 E 0072 E 0074 E 0076 E 0078 E 007A E 007C E 007E LABEL : 12 Val : 03 Val : 31 00 Val : 32 00 Val : 33 00 Val : 34 00 Val : 35 00 Val : 36 00 Val : 37 00 Val : 38 00 Val : Str3_Des_End; Str3_Len; $03; '1',00; '2',00; '3',00; '4',00; '5',00; '6',00; '7',00; '8',00; {serial number string} {type string}
Appendix B EEPROM Data Structure
E2Rom Data example
0000 0002 0004 0006 0008 0009 000A 000C 000E 000F 0010 0011 0012 0013 00 03 01 00 A0 2D 00 00 94 0C A0 34 D4 12 00 04 60 02 00 00 Val Val Val Val Val Val Val Val VAL Val VAL Val VAL Val : : : : : : : : : : : : : : $00,$00;{Configuration value} $03,$04;{Vendor ID FTDI} $01,$60;{product number 6001} $00,$02;{device release number} 10100000b; {config descriptor value bus powered and remote wakeup} 45; {max power = value * 2 mA} $00,$00;{reserved} $00,$00;{reserved} PTR_ManStringDes; ManStringDes_Len; {length of string descriptor} PTR_ProdStringDes; ProdStringDes_Len; {length of string descriptor} PTR_SerStringDes; SerStringDes_Len;
LABEL : ManStringDes; 0014 0C 0015 03 0016 41 0018 6E 001A 64 001C 79 001E 73 LABEL : Val : ManStringDes_Len; Val : $03; {type string} 00 Val : 'A',$00; 00 Val : 'n',$00; 00 Val : 'd',$00; 00 Val : 'y',$00; 00 Val : 's',$00; ManStringDes_End; {length of string descriptor}
LABEL : ProdStringDes; 0020 34 0021 03 0022 57 0024 6F 0026 6E 0028 64 002A 65 002C 72 002E 66 0030 75 0032 6C 0034 6C 0036 20 0038 55 003A 53 003C 42 003E 20 0040 3C 0042 2D 0044 3E 0046 20 0048 53 004A 65 004C 72 004E 69 0050 61 0052 6C LABEL : Val : ProdStringDes_Len; {length of string descriptor} Val : $03; {type string} 00 Val : 'W',$00; 00 Val : 'o',$00; 00 Val : 'n',$00; 00 Val : 'd',$00; 00 Val : 'e',$00; 00 Val : 'r',$00; 00 Val : 'f',$00; 00 Val : 'u',$00; 00 Val : 'l',$00; 00 Val : 'l',$00; 00 Val : ' ',$00; 00 Val : 'U',$00; 00 Val : 'S',$00; 00 Val : 'B',$00; 00 Val : ' ',$00; 00 Val : '',$00; 00 Val : ' ',$00; 00 Val : 'S',$00; 00 Val : 'e',$00; 00 Val : 'r',$00; 00 Val : 'i',$00; 00 Val : 'a',$00; 00 Val : 'l',$00; ProdStringDes_End;
LABEL : SerStringDes; 0054 12 0055 03 0056 32 0058 32 005A 33 005C 34 005E 35 0060 36 0062 37 0064 38 LABEL : Val : SerStringDes_Len; Val : $03; {type string} 00 Val : '2',00; 00 Val : '2',00; 00 Val : '3',00; 00 Val : '4',00; 00 Val : '5',00; 00 Val : '6',00; 00 Val : '7',00; 00 Val : '8',00; SerStringDes_End; Val : $00,$00; {reserved for Checksum}
0066 00 00