ETC FT8U232

FT8U232AM
U-UART - USB UltraBaud Data Transfer IC with RS232 / RS422 and CPU I/F Options
FEATURES
•
Single Chip Multi-Function Data Transfer
Virtual COM Port Drivers for –
Solution
Windows 98 and Windows 98 SE
•
RS232 link from 300 baud to 920K baud
Windows 2000
•
RS422/RS485 Link to 2000K baud
Windows Millennium **
•
384 byte receive buffer / 128 byte transmit
Apple iMAC **
buffer for high data throughput
Linux **
•
•
Full hardware assisted or X-On/X-Off
•
Application Areas
handshaking
USB ISDN and ADSL Modems
Support for Event Characters and Line Break
USB 56k / V90 Modems
•
Auto Transmit Buffer control for RS485
•
Compact 32 pin ( 7mm x 7mm ) MQFP package
Ù PDA Interface Cables
USB Ù RS232 Converters / Cables
USB Ù RS422 / RS485 High Speed Industrial
•
Integrated 6MHz - 48MHz Clock Multiplier aids
Links
FCC and CE compliance
USB Digital Cameras
Integrated 3.3v Regulator – No External
USB I/F for MP3 players
Regulator Required
Ultra-high performance Serial Port for legacy -
•
4.4v .. 5.25v Single Supply Operation
free PC system boards / Easy PC’s
•
UHCI / OHCI Compliant
USB Instrumentation
•
USB 1.1 Specification Compliant
•
USB VID, PID, Serial Number and Product
USB
condition
•
Ù USB data transfer cables
USB Ù USB null-modem cables
USB ÙSerial Bar Code Readers
USB
Description Strings in external E2PROM.
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
3V3OUT
3.3 Volt
LDO
Regulator
Baud Rate
Generator
Dual Port TX
Buffer
128 bytes
USBDP
USB
Transceiver
USBDM
Serial Interface
Engine
( SIE )
USB
Protocol Engine
UART
UART
FIFO Controller
TXD
RXD
RTS#
CTS#
DTR#
DSR#
DCD#
RI#
TXDEN
USBEN
TXLED#
RXLED#
Dual Port RX
Buffer
384 Bytes
USB DPLL
EEPROM
Interface
XTOUT
48MHz
6MHZ
Oscillator
x8 Clock
Multiplier
XTIN
EECS
EESK
EEDATA
GND
RESET#
12MHz
SLEEP#
TEST
PWRCTL
RCCLK
VCC
25
32
24
1
FTDI
EEDATA
VCC
RESET#
3V3OUT
USBDP
USBDM
8
17
GND
USBEN
PWRCTL
VCC
TXLED#
SLEEP#
16
RXLED#
GND
DSR#
DCD#
RI#
XXYY
9
Future Technology Devices Intl.
CTS#
DTR#
FT232AM
TEST
RXD
RTS#
TXDEN
EESK
TXD
XTIN
AGND
XTOUT
RCCLK
AVCC
EECS
Figure 2 – FT8U232AM I.C. Pinout
FT8U232AM Preliminary Information Rev 0.8 – Subject to Change
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 #
Signal
Type
Description
7
USBDP
I/O
USB Data Signal Plus – Requires 1.5k pull-up to 3V3OUT
8
USBDM
I/O
USB Data Signal Minus
6
3V3OUT
OUT
27
XTIN
IN
28
XTOUT
OUT
31
RCCLK
I/O
RC timer – used to guarantee clock stability on exiting sleep mode
4
RESET#
IN
Resets entire device using external RC network
32
EECS
I/O
Optional EEPROM – Chip Select
1
EESK
I/O
Optional EEPROM – Clock
2
EEDATA
I/O
Optional EEPROM – Data I/O
5
TEST
IN
Puts device in i.c. test mode – must be tied to GND
25
TXD
OUT
24
RXD
IN
23
RTS#
OUT
22
CTS#
IN
21
DTR#
OUT
20
DSR#
IN
UART – Data Set Ready Control Input
19
DCD#
IN
UART – Data Carrier Detect Control Input
18
RI#
IN
UART – Ring Indicator Control Input
16
TXDEN
OUT
UART – Enable Transmit Data for RS485
15
USBEN
OUT
USB Enabled – High after device is configured via USB
14
PWRCTL
IN
12
TXLED#
O.C.
LED Drive - Pulses Low when Transmitting Data via USB
11
RXLED#
O.C.
LED Drive - Pulses Low when Receiving Data via USB
10
SLEEP#
OUT
Goes Low during USB Suspend Mode
3,13,26
VCC
PWR
Device - +4.4 volt to +5.25 volt Power Supply Pins
9.17
GND
PWR
Device – Ground Supply Pins
30
AVCC
PWR
Device - Analog Power Supply for the internal x8 clock multiplier
29
AGND
PWR
Device - Analog Ground Supply for the internal x8 clock multiplier
Future Technology Devices Intl.
3.3 volt Output from integrated regulator
Input to 6MHz Crystal Oscillator Cell
Output from 6MHz Crystal Oscillator Cell
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
Bus Powered – Tie Low / Self Powered – Tie High
FT8U232AM Preliminary Information Rev 0.8 – Subject to Change
Figure 3. FT8U232AM - PACKAGE DESCRIPTION – QFP 7mm x 7mm
9
7
7
9
32
0.8
Pin # 1
1
0.37 +/- 0.07
1.4 +/- 0.05
1.60 MAX
12o +/- 1o
0.05 Min
0.15 Max
0.09 Min
0.16 Max
0.09 Min
0.2 Max
0.25
0.2 Min
Future Technology Devices Intl.
0.6 +/- 0.15
0.35 +/- 0.05
All dimensions in
millimetres
FT8U232AM Preliminary Information Rev 0.8 – Subject to Change
Absolute Maximum Ratings
o
o
Storage Temperature …………………………………………………….
-65 C to + 150 C
Ambient Temperature ( Power Applied )………………………………..
0 C to + 70 C
VCC Supply Voltage ……………………………………………….……..
-0.5v to +6.00v
DC Input Voltage - Inputs ………………………………………………..
-0.5v to VCC + 0.5v
DC Input Voltage - High Impedance Bidirectionals ……………………
-0.5v to VCC + 0.5v
DC Output Current – Outputs ……………………………………………
24mA
DC Output Current – Low Impedance Bidirectionals ………………….
24mA
Power Dissipation …………………………………………………………
500mW
o
o
DC Characteristics ( Ambient Temperature = 0 .. 70 Degrees C )
Description
Min
Max
Units
4.4
5.25
v
Conditions
VCC
Operating Supply Voltage
Icc1
Operating Supply Current
50
mA
Normal Operation
Icc2
Operating Supply Current
250
uA
USB Suspend
Ioh1
Digital IO Pins Source Current
4
mA
Voh = VCC – 0.5v
Iol1
Digital IO Pins Sink Current
8
mA
Vol = + 0.5v
Voh1
Input Voltage Threshold ( Low )
Vol1
Input Voltage Threshold ( High )
2.7
v
VDif
USB Differential Input Sensitivity
0.2
v
VCom
USB Differential Common Mode
0.8
2.5
v
URxt
USB Single Ended Rx Threshold
0.8
2.0
v
UVh
USB IO Pins Static Output ( Low )
UVl
USB IO Pins Static Output ( High )
Future Technology Devices Intl.
0.6
0.3v
2.8
v
Rl = 1.5k to 3.6v
Rl = 15k to GND
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
Telephone :
+44 ( 0 ) 141 353 2565
St. George’s Studios
Fax :
+44 ( 0 ) 141 353 2656
93/97 St. George’s Road
Email :
[email protected]
Glasgow G3 6JA, UK
Internet :
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;
'>',$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
00
03
01
00
A0
2D
00
00
000E
000F
0010
0011
0012
0013
94
0C
A0
34
D4
12
00
04
60
02
00
00
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}
VAL
Val
VAL
Val
VAL
Val
:
:
:
:
:
:
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 : '>',$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;
0066 00 00
Val : $00,$00;
{reserved for Checksum}