K KAWASAKI LSI KCUSB3 USB Controller – Quick Interface General Description The Kawasaki KCUSB3 Controller is a quick single chip solution to interface peripheral devices to the Universal Serial Bus (USB). The KCUSB3 has been specifically designed to provide a simple and fast method of designing interfaces for peripheral devices to the USB port. This has been accomplished by its highly integrated functionality and flexible General Purpose I/O (GPIO) that can be configured to your system requirements. This device has been configured with a wide range of capabilities for your immediate use or evaluation. The device can then be reconfigured for your specific application. You can directly access the embedded processor’s address and data lines to use external programmable logic for evaluation before configuring the GPIO for your final device. The SIE (Serial Interface Engine) is fully compatible with the USB specification. Features • Advanced 16 Bit processor for USB transaction processing and control data processing • USB interface ver 1.0/1.1 compliant • Transceivers and SIE (Serial Interface Engine) • Internal Clock Generation • Utilizes low cost external crystal circuitry • 1.5K x 16 Internal RAM buffer • 2 IRQ • 8 Channel, 10 Bit A/D • External Memory Interface for direct access to the 16-bit processor for using external logic or memory. • General purpose I/O • Watchdog timer • PWM Output Support • 8K user programmable gates • 8K bytes ROM • I2C Interface • 100 pin QFP package Block Diagram (Application Example) 8 Channel 10 Bit A/D 8 AIN Timer 0 Watchdog Timer 16 Bit Processor Timer 1 4 PWM External Memory Interface 4 PWM Out (GPIO) A15-0 D15-0 Cntrl. 16 Bit Address / Data Bus Txd Rxd UART RAM (3KB) 2 CK IC Serial Interface Engine PLL & Clock Generator X1 X2 DIO 2 INT1-0 2 IRQ Mask ROM (8KB) USB Interface Data - Data + Kawasaki LSI • 2570 North First Street • Suite 301 • San Jose, CA 95131 • Tel: (408) 570-0555 • Fax: (408) 570-0567 • www.klsi.com Ver. 1.3 1 K KAWASAKI LSI KCUSB3 USB Controller – Quick Interface KCUSB3 Basic Blocks Programmable Logic for GPIO Configured GPIO USB Engine and Interface Custom Logic Interface A/D Converter 16 Bit Micro Timer 0 Timer 1 RAM Mask ROM for External E2 Device Watchdog Timer PLL Clock Generator 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 XD_14 OGND XD_13 XD_12 IGND XD_11 XD_10 XD_9 XD_8 XD_7 XD_6 XD_5 XD_4 XD_3 XD_2 XD_1 XD_0 XA_13 XA_12 XA_11 Pin Diagram KCUSB3 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 28 30 XA_10 XA_9 XA_8 XA_7 XA_6 XA_5 XA_4 XA_3 XA_2 XA_1 nTST nRESET nXROMSEL nXWR nXRD GND CU_INTR2 CU_INTR1 nCU_DACK2 nCU_DACK1 CU_DRQ2 CU_DRQ1 nXRAMSEL IGND nXBHE XA0 XA14 OVDD VDD XA15 GNDP VCO_IN CP_OUT VDDP PLLEN RXD IRQ1 IRQ2 PWM 3 PWM 2 PWM 1 PWM 0 GPIO15 GPIO16 GJIO17 GPIO18 nCU_CS OGND CLK X2 XD_15 VDD OVDD AGND/VREFL VREFM AD_CH7 AD_CH6 AD_CH5 AD_CH4 AD_CH3 AD_CH2 AD_CH1 AD_CH0 AVDD GND GPIO1 GJPIO2 GPIO3 GPIO4 GPIO5 GPIO6 GPIO7 GPIO8 TXD UGND VP VM UVDD N/C N/C Kawasaki LSI • 2570 North First Street • Suite 301 • San Jose, CA 95131 • Tel: (408) 570-0555 • Fax: (408) 570-0567 • www.klsi.com Ver. 1.3 2 K KAWASAKI LSI KCUSB3 USB Controller – Quick Interface Pin Description Pin Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 I/O Pin Name IN/OUT IN IN IN OUT IN IN IN IN IN IN IN IN IN IN IN/OUT IN/OUT IN/OUT IN/OUT IN/OUT IN/OUT IN/OUT IN/OUT OUT IN IN/OUT IN/OUT IN NC NC IN IN OUT IN IN IN IN IN OUT OUT OUT OUT IN/OUT IN/OUT IN/OUT XD_15 VDD OVDD AGND/VREFL VREFM AD_CH7 AD_CH6 AD_CH5 AD_CH4 AD_CH3 AD_CH2 AD_CH1 AD_CH0 AVDD GND GPIO1 GPIO2 GPIO3 GPIO4 GPIO5 GPIO6 GPIO7 GPIO8 TXD UGND VP VM UVDD NC NC GNDP VCO_IN CP_OUT VDDP PLLEN RXD IRQ1 IRQ2 PWM3 PWM2 PWM1 PWM0 GPIO15 GPIO16 GPIO17 Description External Data Pins VDD VDD Analog GND AD converter reference A/D Converter Input A/D Converter Input A/D Converter Input A/D Converter Input A/D Converter Input A/D Converter Input A/D Converter Input A/D Converter Input Analog VDD GND General GPIO General GPIO General GPIO General GPIO General GPIO General GPIO General GPIO General GPIO UART TXD USB GND USB + Pin USB – Pin USB VDD NC NC GND PLL VCO_IN PLL VCO Out VDD PLL Enable UART RXD Edge sens. Interrupt Edge sens. Interrupt Pulse Width Modulator 3 Pulse Width Modulator 2 Pulse Width Modulator 1 Pulse Width Modulator 0 Programmable I/O Mode * GPIO1 GPIO2 GPIO3 GPIO4 GPIO5 GPIO6 GPIO7 GPIO8 GPIO9 GPIO10 GPIO11 GPIO12 GPIO13 GPIO14 GPIO15 GPIO16 GPIO17 Kawasaki LSI • 2570 North First Street • Suite 301 • San Jose, CA 95131 • Tel: (408) 570-0555 • Fax: (408) 570-0567 • www.klsi.com Ver. 1.3 3 K KAWASAKI LSI KCUSB3 USB Controller – Quick Interface Pin Number 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 I/O Pin Name IN/OUT IN/OUT IN IN OUT OUT IN IN OUT OUT OUT IN OUT IN/OUT IN/OUT IN/OUT IN/OUT IN/OUT IN/OUT IN OUT OUT OUT IN IN GPIO18 nCU_cs OGND CLK X2 XA_15 VDD OVDD XA_14 XA0 nXBHE IGND nXRAMSEL CU_DRQ1 CU_DRQ2 nCU_DACK1 nCU_DACK2 CU_INTR1 CU_INTR2 GND nXRD nXWR nXROMSEL nRESET nTST 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 OUT OUT OUT OUT OUT OUT OUT OUT OUT OUT OUT OUT OUT IN/OUT IN/OUT IN/OUT IN/OUT IN/OUT IN/OUT IN/OUT IN/OUT IN/OUT IN/OUT XA_1 XA_2 XA_3 XA_4 XA_5 XA_6 XA_7 XA_8 XA_9 XA_10 XA_11 XA_12 XA_13 XD_0 XD_1 XD_2 XD_3 XD_4 XD_5 XD_6 XD_7 XD_8 XD_9 Description Custom Logic Chip_Select GND 12MHz Clock/Crystal Input 12MHz Crystal Output External Address Pins VDD VDD External Address Pins External Address Pin External byte High Enable (Active low) GND External RAM CS (Active low) Custom Logic DMA Rq#1 Custom Logic DMA Rq#2 Custom Logic DMA Ack#1 Custom Logic DMA Ack#2 Custom Logic Intreq #1 Custom Logic Intreq #2 GND External Memory Read (Active low) External Memory Write (Active low) External ROM CS (Active low) Reset Pin Test Pin, Disconnect for Normal Operation External Address Pin External Address Pin External Address Pin External Address Pin External Address Pin External Address Pin External Address Pin External Address Pin External Address Pin External Address Pin External Address Pin External Address Pin External Address Pin External Data Pins External Data Pins External Data Pins External Data Pins External Data Pins External Data Pins External Data Pins External Data Pins External Data Pins External Data Pins Programmable I/O Mode * GPIO18 GPIO19 GPIO20 GPIO21 GPIO22 GPIO23 GPIO24 GPIO25 Kawasaki LSI • 2570 North First Street • Suite 301 • San Jose, CA 95131 • Tel: (408) 570-0555 • Fax: (408) 570-0567 • www.klsi.com Ver. 1.3 4 K KAWASAKI LSI KCUSB3 USB Controller – Quick Interface Pin I/O Pin Name Number 94 IN/OUT XD_10 95 IN/OUT XD_11 96 IN IGND 97 IN/OUT XD_12 98 IN/OUT XD_13 99 IN OGND 100 IN/OUT XD_14 * Dedicated GPIO’s are not selected. Description Programmable I/O Mode * External Data Pins External Data Pins GND External Data Pins External Data Pins GND External Data Pins Function Description 16 Bit Processor The integrated 16 bit processor serves as a micro controller for USB peripherals. The processor can execute approximately five million instructions per second. With this processing power it allows the design of intelligent peripherals that can process data prior to passing it on to the host PC, thus improving overall performance of the system. The masked ROM (4K X 16) in the KCUSB3 or external memory contains a specialized instruction set that has been designed for highly efficient coding of processing algorithms and USB transaction processing. The 16-bit processor is designed for efficient data execution by having direct access to the RAM Buffer, external memory, I/O interfaces, and all the control and status registers. The divide/multiply feature expands the capability of USB peripherals. The processor contains sixteen general-purpose registers along with several special purpose registers including a flag register and an interrupt enable register. Eight of these registers can be used for indirect Addressing, with optional indexed and auto increment modes available. One of these general-purpose registers is additionally used as a stack pointer. The register set is mapped into RAM, and can be easily relocated for fast context switching. The processor supports prioritized vectored hardware interrupts. In addition, as many as 240 software interrupt vectors are available. The processor provides six addressing modes, supporting memory-to-memory, memory-toregister, register-to-register, immediate-to-register or immediate-to-memory operations. Register, direct, immediate, indirect, and indirect indexed addressing modes are supported. In addition, there is an auto-increment mode in which a register, used as an address pointer is automatically incremented after each use, making repetitive operations more efficient both from a programming and a performance standpoint. The processor features a full set of program control, logical, and integer arithmetic instructions. All instructions are sixteen bits wide, although some instructions require operands, which may occupy another one or two words. Several special “ short immediate” instructions are available, so that certain frequently used operations with small constant operand will fit into a 16-bit instruction. Kawasaki LSI • 2570 North First Street • Suite 301 • San Jose, CA 95131 • Tel: (408) 570-0555 • Fax: (408) 570-0567 • www.klsi.com Ver. 1.3 5 K KAWASAKI LSI KCUSB3 USB Controller – Quick Interface The Processor – Divide/Multiply function The processor’s divide/multiply function contains all the instructions of the base processor that additionally includes integer divide and multiply instructions. A signed multiply instructions takes two 16-bit operands and returns a 32-bit result. A signed divide instruction divides a 32-bit operand by a 16-bit operand. RAM Buffer The USB controller contains a 3K byte (1.5K X 16) internal buffer memory. The memory is used to buffer data and USB packets and accessed by the 16 Bit processor and the SIE. USB transactions are automatically routed to the memory buffer. The 16-bit processor has the ability to set up pointers and block sizes in buffer memory for USB transactions. Data is read from the interface and is processed and packetized by the 16-bit I/O processor. PLL Clock Generator The PLL circuitry is provided to generate the internal 48MHz clock requirements. This circuitry is designed to allow use of a low cost 12 MHz external crystal which is connected to the KCUSB3 pins X1 and X2. If an external 12 MHz clock is available in the application, it may be used in lieu of the crystal circuit and connected directly to the X1 input pin. USB Interface The USB controller meets the Universal Serial Bus (USB) specification ver 1.0. The transceiver is capable of transmitting and receiving serial data at the USB’s full speed, 12 Mbits/sec data rate. The driver portion of the transceiver is differential, while the receive section is comprised of a differential receiver and two single ended receivers. Internally, the transceiver interfaces to the SIE logic. Externally, the transceiver connects to the physical layer of the USB. A/D interface The integrated A/D interface is a ten bit A/D interface with eight Analog Inputs and converts data at 100K samples per second. PWM Interface Four PWM output channels are available with each channel capable of converting 10 bits at a rate up to 48 KHz. UART Interface Supports a transfer rate of 900 to 115.2K baud. General Purpose I/O Up to 25 general purpose I/O signals are available. Most of the GPIOs can be configured for special purpose functions such as PWM, Serial EEPROM interface, Digital Input, etc. Kawasaki LSI • 2570 North First Street • Suite 301 • San Jose, CA 95131 • Tel: (408) 570-0555 • Fax: (408) 570-0567 • www.klsi.com Ver. 1.3 6 K KAWASAKI LSI KCUSB3 USB Controller – Quick Interface Serial EEPROM Support The USB Controller serial interface is used to provide access to external EEPROM’s. The interface is implemented using General Purpose I/O signals and can support a variety of serial EEPROM formats. Custom Logic Interface The internal 16 bit data and address bus is connected to the Custom Logic block allowing custom logic to interface to the processor and to access a selection of GPIO pins. Development Tools To assist in the development of USB products, an evaluation board is available as well as a set of software tools and debuggers. Compilers and debuggers are available through third party suppliers. Kawasaki LSI • 2570 North First Street • Suite 301 • San Jose, CA 95131 • Tel: (408) 570-0555 • Fax: (408) 570-0567 • www.klsi.com Ver. 1.3 7 K KAWASAKI LSI KCUSB3 USB Controller – Quick Interface Electrical Characteristics ABSOLUTE MAXIMUM RATINGS Parameter Supply Voltage Symbol VDD5 VDD VIN (Normal) Input Voltage VIN (5V Tolerant) IOUT TSTG DC Output Current Storage Temperature *24mA buffers **Plastic Package Ratings -0.6 to 6.0 -0.3 to 4.0 -0.6 to VDD5+0.6 -0.3 to VDD+0.3 -0.3 to 7.3 ±30 * -55 to 125 ** DC Characteristics and conditions (VDD5 @ 3V±.3V) Symbol Parameter Condition VDD5 VIH VIL V+ Supply Voltage Input high voltage Input low voltage Input high voltage V- Input low voltage VH Hysteresis voltage IIH IIL VOH VOL IOZ Input high current Input low current Output high voltage Output low voltage 3-state leakage current CMOS CMOS TTL Schmitt CMOS Schmitt TTL Schmitt CMOS Schmitt TTL Schmitt CMOS Schmitt VIN = VDD5 VIN = Vss IOH = -4mA IOL = 4mA VOL=VDD5 VIN=VSS Min 3.0 2.15 - 0.45 0.50 0.25 0.56 -10 -10 2.4 -10 -12 Value Typ 3.3 1.32 2.17 0.86 1.03 -34 Unit V V V V V mA °C Unit Max 3.6 0.95 1.75 2.65 10 10 0.4 10 -100 V V V V V V V V V µA µA V V µA µA *IDDS is design dependent Kawasaki LSI assumes no responsibility or liability for (1) any errors or inaccuracies contained in the information herein and (2) the use of the information or a portion thereof in any application, including any claim for (a) copyright or patent infringement or (b) direct, indirect, special or consequential damages. There are no warranties extended or granted by this document. The information herein is subject to change without notice form Kawasaki LSI March 1998 • Copyright 1998 • Kawasaki LSI • Printed in U.S.A Kawasaki LSI • 2570 North First Street • Suite 301 • San Jose, CA 95131 • Tel: (408) 570-0555 • Fax: (408) 570-0567 • www.klsi.com Ver. 1.3 8