NetChip Technology, Inc. 335 Pioneer Way Mt View, California 94041 (650) 526-1490 Fax (650) 526-1494 e-mail: [email protected] Internet: www.netchip.com NET2270 USB 2.0 Interface Controller Doc #: 605-0139-0350 Revision: 3.6 Date: April 17, 2003 Specification NET2270 USB Interface Controller This document contains material that is confidential to NetChip. Reproduction without the express written consent of NetChip is prohibited. All reasonable attempts were made to ensure the contents of this document are accurate, however no liability, expressed or implied is guaranteed. NetChip reserves the right to modify this document, without notification, at any time. Revision History Revision 1.0 1.1 2.0 3.0 3.1 3.2 3.3 3.4 3.5 3.6 Issue Date February 6, 2001 March 21, 2001 April 30, 2001 June 12, 2001 September 7, 2001 December 17, 2001 March 27, 2002 April 5, 2002 January 31, 2003 April 17, 2003 Comments Revision 1 silicon initial release Update sample schematic, register, and functional descriptions Revision 2 silicon initial release Revision 3 silicon initial release Update some descriptions and bus timing Minor changes Modifications to sample schematic Modifications to Ambient Operating Temperature Re-arrange chapters, update electrical specifications Update physical pin assignment diagram ______________________________________________________________________________ NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 2 Specification NET2270 USB Interface Controller NET2270 USB Interface Controller 1 INTRODUCTION .................................................................................................................................7 1.1 FEATURES.........................................................................................................................................7 1.2 OVERVIEW........................................................................................................................................7 1.3 NET2270 BLOCK DIAGRAM.............................................................................................................9 1.4 NET2270 TYPICAL SYSTEM BLOCK DIAGRAMS ..............................................................................9 1.4.1 Example connections to NET2270.........................................................................................11 1.4.2 Example Part Numbers..........................................................................................................12 1.4.3 General PCB Layout Guidelines ...........................................................................................12 1.4.3.1 1.4.3.2 1.4.3.3 1.4.3.4 1.4.3.5 1.5 2 DIGITAL POWER & GROUND (9 PINS) .............................................................................................15 USB TRANSCEIVER (15 PINS).........................................................................................................16 CLOCKS, RESET, MISC. (9 PINS).....................................................................................................17 LOCAL BUS PIN DESCRIPTIONS (31 PINS) .......................................................................................18 PHYSICAL PIN ASSIGNMENT ...........................................................................................................19 RESET AND INITIALIZATION ......................................................................................................20 3.1 3.2 3.3 3.4 4 TERMINOLOGY ...............................................................................................................................14 PIN DESCRIPTION............................................................................................................................15 2.1 2.2 2.3 2.4 2.5 3 USB Differential Signals ..................................................................................................................12 Analog VDD (power)........................................................................................................................12 Analog VSS (ground)........................................................................................................................13 Decoupling Capacitors......................................................................................................................13 EMI Noise Suppression ....................................................................................................................13 OVERVIEW......................................................................................................................................20 RESET# PIN ..................................................................................................................................20 ROOT PORT RESET..........................................................................................................................20 RESET SUMMARY ...........................................................................................................................20 LOCAL BUS INTERFACE................................................................................................................21 4.1 INTRODUCTION ...............................................................................................................................21 4.2 REGISTER ADDRESSING MODES .....................................................................................................21 4.2.1 Direct Address Mode .............................................................................................................21 4.2.2 Indirect Address Mode...........................................................................................................21 4.2.3 Multiplexed Address Mode ....................................................................................................21 4.3 CONTROL SIGNAL DEFINITIONS ......................................................................................................21 4.4 BUS WIDTH / BYTE ALIGNMENT ....................................................................................................21 4.5 I/O TRANSACTIONS ........................................................................................................................22 4.5.1 Non-Multiplexed I/O Read.....................................................................................................22 4.5.2 Multiplexed I/O Read.............................................................................................................22 4.5.3 Non-Multiplexed I/O Write ....................................................................................................23 4.5.4 Multiplexed I/O Write ............................................................................................................23 4.5.5 I/O Performance ....................................................................................................................24 4.5.5.1 4.5.5.2 4.5.5.3 4.5.5.4 Non-Multiplexed Read Transaction ..................................................................................................24 Multiplexed Read Transaction ..........................................................................................................24 Non-Multiplexed Write Transaction .................................................................................................24 Multiplexed Write Transaction .........................................................................................................24 4.6 DMA TRANSACTIONS ....................................................................................................................25 4.6.1 DMA Read .............................................................................................................................25 4.6.2 DMA Write.............................................................................................................................26 4.6.3 DMA Split Bus Mode .............................................................................................................28 4.6.4 Terminating DMA Transfers..................................................................................................28 ______________________________________________________________________________ NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 3 Specification 4.6.5 4.6.5.1 4.6.5.2 5 NET2270 USB Interface Controller DMA Performance.................................................................................................................28 DMA Read........................................................................................................................................28 DMA Write .......................................................................................................................................28 USB FUNCTIONAL DESCRIPTION...............................................................................................29 5.1 USB INTERFACE.............................................................................................................................29 5.2 USB PROTOCOL .............................................................................................................................29 5.2.1 Tokens....................................................................................................................................29 5.2.2 Packets...................................................................................................................................29 5.2.3 Transaction............................................................................................................................30 5.2.4 Transfer .................................................................................................................................30 5.3 AUTOMATIC RETRIES .....................................................................................................................30 5.3.1 Out Transactions ...................................................................................................................30 5.3.2 In Transactions ......................................................................................................................30 5.4 PING FLOW CONTROL .....................................................................................................................30 5.5 PACKET SIZES.................................................................................................................................30 5.6 USB ENDPOINTS ............................................................................................................................31 5.6.1 Control Endpoint - Endpoint 0 ..............................................................................................31 5.6.1.1 5.6.2 5.6.2.1 5.6.2.2 5.6.3 5.6.3.1 5.6.3.2 5.6.4 5.6.4.1 5.6.4.2 5.6.5 5.6.5.1 5.6.5.2 Control Write Transfer......................................................................................................................31 Control Write Transfer Details..............................................................................................32 Control Read Transfer.......................................................................................................................33 Control Read Transfer Details ..........................................................................................................33 Isochronous Endpoints ..........................................................................................................34 Isochronous Out Transactions...........................................................................................................35 Isochronous In Transactions .............................................................................................................36 Bulk Endpoints.......................................................................................................................37 Bulk Out Transactions ......................................................................................................................37 Bulk In Endpoints .............................................................................................................................38 Interrupt Endpoints................................................................................................................39 Interrupt Out Transactions ................................................................................................................39 Interrupt In Endpoints .......................................................................................................................39 5.7 PACKET BUFFERS ...........................................................................................................................40 5.7.1 IN Endpoint Buffers ...............................................................................................................40 5.7.2 OUT Endpoint Buffers ...........................................................................................................41 5.8 USB TEST MODES ..........................................................................................................................42 6 INTERRUPT AND STATUS REGISTER OPERATION...............................................................43 6.1 6.2 6.3 7 INTERRUPT STATUS REGISTERS (IRQSTAT0, IRQSTAT1) ...........................................................43 ENDPOINT RESPONSE REGISTERS (EPRSP_CLR, EPRSP_SET)....................................................43 ENDPOINT STATUS REGISTER (EP_STAT0, EP_STAT1) ..............................................................43 POWER MANAGEMENT.................................................................................................................44 7.1 SUSPEND MODE ..............................................................................................................................44 7.1.1 The Suspend Sequence...........................................................................................................44 7.1.2 Host-Initiated Wake-Up.........................................................................................................45 7.1.3 Device-Remote Wake-Up.......................................................................................................45 7.1.4 Resume Interrupt ...................................................................................................................45 7.2 NET2270 POWER CONFIGURATION ...............................................................................................45 7.2.1 Self-Powered Device..............................................................................................................45 7.2.2 Low-Power Modes .................................................................................................................45 7.2.2.1 7.2.2.2 8 USB Suspend (Unplugged from USB)..............................................................................................45 Power-On Standby ............................................................................................................................46 CONFIGURATION REGISTERS.....................................................................................................47 8.1 REGISTER DESCRIPTION .................................................................................................................47 ______________________________________________________________________________ NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 4 Specification NET2270 USB Interface Controller REGISTER SUMMARY ......................................................................................................................47 8.2 8.2.1 Main Control Registers..........................................................................................................47 8.2.2 USB Control Registers...........................................................................................................48 8.2.3 Endpoint Registers.................................................................................................................48 8.3 NUMERIC REGISTER LISTING ..........................................................................................................49 8.4 MAIN CONTROL REGISTERS ...........................................................................................................50 8.4.1 (Address 00h; REGADDRPTR) Indirect Register Address Pointer ......................................50 8.4.2 (Address 01h; REGDATA) Indirect Register Data................................................................50 8.4.3 (Address 02h; IRQSTAT0) Interrupt Status Register (low byte)............................................50 8.4.4 (Address 03h; IRQSTAT1) Interrupt Status Register (high byte) ..........................................51 8.4.5 (Address 04h; PAGESEL) Endpoint Page Select Register ....................................................51 8.4.6 (Address 1Ch; DMAREQ) DMA Request Control Register...................................................52 8.4.7 (Address 1Dh; SCRATCH) Scratchpad Register...................................................................52 8.4.8 (Address 20h; IRQENB0) Interrupt Enable Register (low byte) ...........................................53 8.4.9 (Address 21h; IRQENB1) Interrupt Enable Register (high byte) ..........................................53 8.4.10 (Address 22h; LOCCTL) Local Bus Control Register...........................................................54 8.4.11 (Address 23h; CHIPREV) Silicon Revision Register.............................................................54 8.5 USB CONTROL REGISTERS .............................................................................................................55 8.5.1 (Address 18h; USBCTL0) USB Control Register (low byte) .................................................55 8.5.2 (Address 19h; USBCTL1) USB Control Register (high byte)................................................55 8.5.3 (Address 1Ah; FRAME0) Frame Counter (low byte) ............................................................55 8.5.4 (Address 1Bh; FRAME1) Frame Counter (high byte)...........................................................55 8.5.5 (Address 30h; OURADDR) Our Current USB Address ........................................................56 8.5.6 (Address 31h; USBDIAG) USB Diagnostic Register.............................................................56 8.5.7 (Address 32h; USBTEST) USB Test Modes...........................................................................56 8.5.8 (Address 33h; XCVRDIAG) Transceiver Diagnostic Register ..............................................57 8.5.9 (Address 40h; SETUP0) Setup Byte 0....................................................................................57 8.5.10 (Address 41h; SETUP1) Setup Byte 1....................................................................................58 8.5.11 (Address 42h; SETUP2) Setup Byte 2....................................................................................58 8.5.12 (Address 43h; SETUP3) Setup Byte 3....................................................................................58 8.5.13 (Address 44h; SETUP4) Setup Byte 4....................................................................................58 8.5.14 (Address 45h; SETUP5) Setup Byte 5....................................................................................58 8.5.15 (Address 46h; SETUP6) Setup Byte 6....................................................................................59 8.5.16 (Address 47h; SETUP7) Setup Byte 7....................................................................................59 8.6 ENDPOINT REGISTERS.....................................................................................................................60 8.6.1 (Address 05h; EP_DATA) Endpoint Data .............................................................................60 8.6.2 (Address 06h; EP_STAT0) Endpoint Status Register (low byte) ...........................................60 8.6.3 (Address 07h; EP_STAT1) -- Endpoint Status Register (high byte) ......................................61 8.6.4 (Address 08h; EP_TRANSFER0) Transfer Count Register (Byte 0) .....................................62 8.6.5 (Address 09h; EP_TRANSFER1) Transfer Count Register (Byte 1) .....................................62 8.6.6 (Address 0Ah; EP_TRANSFER2) Transfer Count Register (Byte 2).....................................62 8.6.7 (Address 0Bh; EP_IRQENB) Endpoint Interrupt Enable Register .......................................63 8.6.8 (Address 0Ch: EP_AVAIL0) Endpoint Available Count (low byte) ......................................63 8.6.9 (Address 0Dh: EP_AVAIL1) Endpoint Available Count (high byte).....................................63 8.6.10 (Address 0Eh; EP_RSPCLR) Endpoint Response Register Clear .........................................64 8.6.11 (Address 0Fh; EP_RSPSET) Endpoint Response Register Set..............................................65 8.6.12 (Address 28h; EP_MAXPKT0) Max Packet Size (low byte)..................................................65 8.6.13 (Address 29h; EP_MAXPKT1) Max Packet Size (high byte) ................................................65 8.6.14 (Address 2Ah; EP_CFG) Endpoint Configuration Register..................................................66 9 USB STANDARD DEVICE REQUESTS .........................................................................................67 9.1 CONTROL ‘READ’ TRANSFERS........................................................................................................68 9.1.1 Get Device Status...................................................................................................................68 9.1.2 Get Interface Status ...............................................................................................................68 ______________________________________________________________________________ NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 5 Specification NET2270 USB Interface Controller Get Endpoint Status ...............................................................................................................68 9.1.3 9.1.4 Get Device Descriptor (18 Bytes)..........................................................................................68 9.1.5 Get Device Qualifier (10 Bytes).............................................................................................69 9.1.6 Get Other_Speed_Configuration Descriptor.........................................................................69 9.1.7 Get Configuration Descriptor................................................................................................70 9.1.8 Get String Descriptor 0 .........................................................................................................73 9.1.9 Get String Descriptor 1 .........................................................................................................73 9.1.10 Get String Descriptor 2 .........................................................................................................73 9.1.11 Get String Descriptor 3 .........................................................................................................73 9.1.12 Get Configuration..................................................................................................................73 9.1.13 Get Interface ..........................................................................................................................73 9.2 CONTROL ‘WRITE’ TRANSFERS ......................................................................................................74 9.2.1 Set Address ............................................................................................................................74 9.2.2 Set Configuration...................................................................................................................74 9.2.3 Set Interface ...........................................................................................................................74 9.2.4 Device Clear Feature ............................................................................................................74 9.2.5 Device Set Feature.................................................................................................................74 9.2.6 Endpoint Clear Feature.........................................................................................................75 9.2.7 Endpoint Set Feature .............................................................................................................75 10 ELECTRICAL SPECIFICATIONS ..............................................................................................76 10.1 ABSOLUTE MAXIMUM RATINGS .....................................................................................................76 10.2 RECOMMENDED OPERATING CONDITIONS ......................................................................................76 10.3 DC SPECIFICATIONS .......................................................................................................................77 10.3.1 Core DC Specifications .........................................................................................................77 10.3.1.1 10.3.1.2 10.3.1.3 10.3.1.4 10.3.1.5 10.3.1.6 Disconnected from USB ...............................................................................................................77 Connected to USB (High Speed) ..................................................................................................77 Active (High Speed) .....................................................................................................................77 Connected to USB (Full Speed)....................................................................................................77 Active (Full Speed).......................................................................................................................77 Suspended.....................................................................................................................................77 10.3.2 USB Full Speed DC Specifications........................................................................................78 10.3.3 USB High Speed DC Specifications ......................................................................................78 10.3.4 Local Bus DC Specifications .................................................................................................79 10.4 AC SPECIFICATIONS .......................................................................................................................80 10.4.1 USB Full Speed Port AC Specifications ................................................................................80 10.4.2 USB High Speed Port AC Specifications...............................................................................80 10.4.3 USB Full Speed Port AC Waveforms.....................................................................................81 10.4.4 USB Port AC/DC Specification Notes ...................................................................................83 10.4.5 Local Bus Non-Multiplexed Read ..........................................................................................84 10.4.6 Local Bus Multiplexed Read ..................................................................................................85 10.4.7 Local Bus Non-Multiplexed Write .........................................................................................86 10.4.8 Local Bus Multiplexed Write .................................................................................................87 10.4.9 Local Bus DMA Read ............................................................................................................88 10.4.10 Local Bus DMA Write........................................................................................................89 11 MECHANICAL DRAWING..........................................................................................................90 ______________________________________________________________________________ NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 6 Specification NET2270 USB Interface Controller 1 Introduction 1.1 Features • USB Specification Version 2.0 Compliant (high and full speed) • Interfaces between a local CPU bus and a USB bus • Supports USB Full Speed (12 Mb/sec) and High Speed (480 Mb/sec) • Supports optional Split Bus DMA, with dedicated DMA and CPU access • Provides 3 Configurable Endpoints, in addition to Endpoint 0 • Each endpoint can be Isochronous, Bulk, or Interrupt, as well as IN or OUT • Supports Max Packet Size up to 1K bytes, double buffered • Internal 2 Kbyte memory provides transmit and receive buffers • Local CPU bus easily interfaces to generic CPUs • 8-bit or 16-bit CPU or DMA bus transfers • Multiple register address modes supports both direct and indirect register addressing • Automatic retry of failed packets • Diagnostic register allows forced USB errors • Software controlled disconnect allows re-enumeration • Atomic operation to set and clear status bits, simplifying software • Low power CMOS in 64 Pin Plastic TQFP Package • 30 MHz oscillator with internal phase-lock loop multiplier • Provides an output clock to the local bus - 8 programmable frequencies from OFF to 60 MHz • 3.3V operating voltage with 5V tolerant I/O 1.2 Overview The NET2270 USB Interface Controller allows control, isochronous, bulk and interrupt transfers between a local bus and a Universal Serial Bus (USB). The NET2270 supports the Device side of a connection between a USB host computer and intelligent peripherals such as image scanners, printers, and digital cameras. The six main modules of the NET2270 are the USB Transceiver, Serial Interface Engine, USB Protocol Controller, Endpoint Packet Buffers, Local Bus Interface, and the Configuration Registers. USB Transceiver: • Supports Full Speed (12 MHz) or High Speed (480 MHz) operation. • Serial data transmitter and receiver. • Parallel data interface to SIE. • Single parallel data clock output with on-chip PLL to generate higher speed serial data clocks • Data and clock recovery from USB serial data stream. • SYNC/EOP generation and checking. • Bit-stuffing/unstuffing; bit stuff error detection • Logic to facilitate Resume signaling • Logic to facilitate Wake Up and Suspend detection • Ability to switch between Full-Speed and High-Speed terminations/signaling ______________________________________________________________________________ NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 7 Specification NET2270 USB Interface Controller Serial Interface Engine (SIE): • Interface between Packet Buffers and USB transceiver. • CRC generator and checker. • Packet Identifier (PID) decoder. • Forced Error Conditions • USB 2.0 Test Modes USB Protocol Controller • Host to Device Communication. • Automatic retry of failed packets. • Up to 3 Isochronous, Bulk, or Interrupt endpoints, each with a configurable packet buffer. • Configurable Control Endpoint 0. • Interface to packet buffers. • Software controlled disconnect signaling allows device enumeration • Software control of USB suspend and root port reset detection. • Software controlled device remote wakeup. • Software control of root port wakeup. Endpoint Packet Buffers • Choice from 4 preset configurations simplify programming • Separate 128 byte, packet buffers for endpoints 0 and C • 2 Kbytes of configurable packet buffer memory for endpoints A and B • Supports Max Packet Size up to 1K bytes, double buffered Local Bus Interface • Provides slave interfaces to 8-bit or 16-bit CPU • Provides access to internal Transmit and Receive packet buffers. • Supports Split DMA transactions (DMA and CPU on separate data bus) • Local interface supports both DMA and Interrupt transfers • Supports optional multiplexed Address/Data bus using ALE for low pin count applications • Supports indirect addressing, allowing access to all registers with only a single address bit • Supports 5V tolerant I/O Configuration Registers • Internal registers are accessible from the local bus • Main registers for common functions • USB Registers for the USB Interface Module • Control registers for each endpoint ______________________________________________________________________________ NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 8 Specification 1.3 NET2270 USB Interface Controller NET2270 Block Diagram USB USB 2.0 Transceiver Serial Interface Engine (SIE) USB Protocol Controller Configuration Registers Local Bus Interface Local Bus Packet Buffer 1.4 NET2270 Typical System Block Diagrams USB Cable USB Connector NET2270 USB Controller CPU RAM DMA ROM Application Interface CPU-based Device Controller ______________________________________________________________________________ NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 9 Specification NET2270 USB Interface Controller USB Cable USB Connector CPU NET2270 USB Controller Split Bus DMA ASIC (with embedded DMA) ROM RAM ASIC with Split Bus DMA ______________________________________________________________________________ 10 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 1.4.1 Example connections to NET2270 . 3.3VCC 3.3VCCA NOTE: For 16-bit bus, use address bits 5:1; For 8-bit bus, use address bits 4:0. LCLKO DREQ IRQ# XIN RPU XOUT RSDM DM RREF DP RSDP 48 R6 VBUS R3 1 2 1.5K 59 58 RSDM R4 1 2 35.7 +/- 1% 2 1 DREQ IRQ# 56 55 RSDP R5 2 35.7 +/- 1% 1 1 2 3 4 5 USB_B C3 R7 1M L2 42 ohm 1 2 3 4 GND 42 ohm 0.01uF 2 1 J1 USBVCC DM DP USBLGND USBCGND L1 54 60 63 19 24 29 9 41 61 50 52 9.09K +/- 1% RPU 1K 2 10pF VSS1 VSS2 VSS3 VSSIO1 VSSIO2 VSSIO3 VSSC1 VSSC2 PVSS AVSS1 AVSS2 10pF 49 C2 2 1 C1 2 2 1 30 MHz 53 R1 1 12 1 CLOCK_OUT C 2 Y1 2 35 37 47 3.3VCC TP1 1 11 TEST1 TEST2 TEST3 SMC LD0 LD1 LD2 LD3 LD4 LD5 LD6 LD7 LD8 LD9 LD10 LD11 LD12 LD13 LD14 LD15 2 2 10K RESET# ALE CS# IOR# IOW# DMARD# DMAWR# DACK EOT LD[15:0] 14 15 16 18 20 21 22 23 25 26 27 28 30 31 33 34 1 1 3.3VCC R2 1 2 64 3 LD0 LD1 LD2 LD3 LD4 LD5 LD6 LD7 LD8 LD9 LD10 LD11 LD12 LD13 LD14 LD15 1 43 40 46 44 45 36 13 38 39 RESET# ALE CS# IOR# IOW# DMARD# DMAWR# DACK EOT LA0 LA1 LA2 LA3 LA4 1 8 7 6 5 4 N2270 57 17 32 10 42 62 51 U1 LA1 LA2 LA3 LA4 LA5 VDD VDDIO1 VDDIO2 VDDC1 VDDC2 PVDD AVDD LA[5:1] 2 VBUSL R8 1 47K 3.3VCCA DIGITAL GROUND C11 0.1uF 0.01uF 1 1 C12 C13 0.1uF 1 + C14 0.01uF C5 + 10uF C6 10uF 2 0.01uF 2 C10 2 0.1uF 2 C9 10uF 1 C4 2 0.01uF 1 + C8 2 0.1uF 2 2 C7 2 1uH 1 1 2 1 1 3.3VCC 1 3.3VCCA L4 1 2 1uH 2 L3 2 1 1 3.3VCC ANALOG GROUND ______________________________________________________________________________ 11 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 1.4.2 Example Part Numbers Part 30 MHz Fundamental, Series Resonant Crystal (Y1) Ferrite Beads (L1-L2) 1 µH Inductor, 10%, 0805 Pkg (L3, L4) 9.09K, 1% resistor, 0.1 Watt, 0603 Pkg (R6) Manufacturer KDS Part Number AT-49 30.000-16 Website http://www.kdsj.co.jp/english.html Taiyo Yuden Taiyo Yuden FBMJ2125HS420-T LK21251R0K http://www.t-yuden.com/ferritebeads/index.cfm http://www.t-yuden.com/inductors/index.cfm Panasonic ERJ6ENF9091V USB B Connector Newnex URB-1001 http://www.panasonic.com/industrial/compone nts/pdf/002_er13_erj_2r_3r_6r_3e_6e_8e_14_ 12_dne.pdf http://www.newnex.com Note that the crystal should have a tolerance of +/- 0.005% (50 ppm) to guarantee a data rate of 480 Mbps +/- 500 ppm. 1.4.3 General PCB Layout Guidelines USB2.0 high-speed 480 Mbits/sec data transfers utilize 400 mV differential signaling. This requires special Printed Circuit Board layout requirements. Intel provides some USB layout guidelines in the following document: http://www.usb.org/developers/docs/hs_usb_pdg_r1_0.pdf. In addition, NetChip provides the following guidelines: The following guidelines must be followed to insure proper operation of the NET2270. It is strongly suggested that schematics and PCB layout be submitted to [email protected] for review prior to PCB fabrication. 1.4.3.1 USB Differential Signals • • • • • • • • • Consult with board manufacturer for determining layer separation, trace width, and trace separation for maintaining differential impedance of 90 ohms and single ended impedance of 45 ohms. Maintain equal trace lengths for D+ and D-. Minimize number of vias and curves on D+ and D- traces. Use two 45 degree turns instead of one 90 degree turn. Minimize trace lengths shown in bold in the schematic in section 1.4.1. Prevent D+ and D- traces from crossing a power plane void. The same ground layer shall be kept next to the D+ and D- traces. Digital Ground (VSS) layer should be placed next to the layer where D+ and D- are routed. Avoid using studs or test points for observing USB signals. Maximize the distance of D+ and D- from other signals to prevent crosstalk. 1.4.3.2 Analog VDD (power) • • • • Analog power must be filtered from the digital power using the recommended circuit provided. Analog VDD and digital VDD must be connected via 1µH inductor. Analog VDD must be separated from digital VDD. If analog VDD and digital VDD are in the same layer, split the layer to accommodate the two power signals. AVDD and PVDD pins should be connected to analog VDD. ______________________________________________________________________________ 12 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 1.4.3.3 Analog VSS (ground) • • • Analog ground must be filtered from the digital ground using the recommended circuit provided. Analog VSS and digital VSS must be connected via a 1µH inductor. AVSS, PVSS pins, and RREF’s resistor should be connected to analog VSS. 1.4.3.4 Decoupling Capacitors • • • • • At least one 0.1µF decoupling capacitor for every two pairs of digital/analog VDD and VSS should be located near the NET2270 device. At least one 0.01µF decoupling capacitor for every two pairs of digital/analog VDD and VSS should be located near the NET2270 device. Decoupling capacitors may be placed on the solder side of the PCB. At least one 10µF filter capacitor for every five 0.1µF or 0.01µF decoupling capacitors. Use capacitors that have good quality at high frequency for low ESR, such as tantalum or ceramic capacitors. Do not use electrolytic capacitors. 1.4.3.5 EMI Noise Suppression • • • • A common-mode choke coil may suppress EMI noise effectively, although such a coil could affect USB 2.0 signal quality. Choose a good quality noise filter, if necessary. For a typical implementation, a choke is not required. Use good quality, shielded cables. ______________________________________________________________________________ 13 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 1.5 NET2270 USB Interface Controller Terminology Byte. 8-bit quantity of data. Word. 16-bit quantity of data. Scalar. Multi-byte data element. Local Transaction. A read or write operation on the local bus. It includes an address phase followed by one data transfer. Local Transfer. During a transfer, data is moved from the source to the destination on the local bus. Clock cycle. One period of the internal 60 MHz clock. Big Endian. The most significant byte in a scalar is located at address 0. Little Endian. The least significant byte in a scalar is located at address 0. ______________________________________________________________________________ 14 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 2 Pin Description Pin Type I O I/O S TS TP OD PD PU # Description Input Output Bi-directional Schmitt Trigger Tri-State Totem-Pole Open-Drain 50K Pull-Down 50K pull-up Active low NOTE: Input pins that do not have an internal pull-up or pull-down resistor (designated by PU or PD in the ”Type” column below) must be driven externally when the NET2270 is in the suspended state. 2.1 Digital Power & Ground (9 pins) Signal Name Pin Type Description VDDC 10, 42 Power Digital Core Supply Voltage. Connect to 3.3V. VSSC 9, 41 GND Digital Core Ground. Connect to GND. VDDIO 17, 32 Power I/O Interface Supply Voltage. Connect to 3.3V VSSIO 19, 24, 29 GND I/O Interface Ground. Connect to GND. ______________________________________________________________________________ 15 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 2.2 NET2270 USB Interface Controller USB Transceiver (15 pins) Signal Name Pin Type Description DP 56 I/O High Speed USB Data Port. DP is the high speed positive differential data signal of the USB data port. This pin connects directly to the USB connector. DM 58 I/O High Speed USB Data Port. DM is the high speed negative differential data signal of the USB data port. This pin connects directly to the USB connector. RSDP 55 I/O Full Speed USB Data Port. RSDP is the full speed positive differential data signal of the USB data port. This pin connects through a 35.7 ohm +/- 1% resistor to the USB connector. RSDM 59 I/O Full Speed USB Data Port. RSDM is the full speed negative differential data signal of the USB data port. This pin connects through a 35.7 ohm +/- 1% resistor to the USB connector. RPU 53 O DP Pull Up Resistor. Connect to DP pin through a 1.5K resistor. RREF 49 I Reference Resistor. Connect 9.09K +/- 1% resistor to analog ground. The typical voltage on this pin is 1.27 volts. AVDD 51 Power Analog Supply Voltage. Connect to analog 3.3 V. AVSS 50, 52 Ground Analog Ground. Connect to analog ground. PVDD 62 Power PLL Supply Voltage. Connect to analog 3.3 V. PVSS 61 Ground PLL Ground. Connect to analog ground. VDD 57 Power Digital Supply Voltage. Connect to 3.3 V. VSS 54, 60, 63 Ground Digital Ground. Connect to ground. ______________________________________________________________________________ 16 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 2.3 NET2270 USB Interface Controller Clocks, Reset, Misc. (9 pins) Signal Name Pin Type Description XIN 11 I Oscillator input. Connect to 30 MHz crystal or external oscillator module. XOUT 12 O Oscillator output. Connect to crystal, or leave open if using an external oscillator module. The oscillator stops when the device is suspended. LCLKO 35 O, 12mA, TP Local Clock Output. This pin is a buffered clock output from the internal PLL, with the frequency depending on the state of the Local Clock Output field in the LOCCTL configuration register. This pin stops oscillating as soon as the NET2270 is put into suspend mode, and is not driven while the device is suspended. When the internal oscillator is started, LCLKO is prevented from being driven for 2 msec. LCLKO doesn’t oscillate while the RESET# pin is asserted or when the chip is in the power-down mode. RESET# 43 I, S, PU Reset. External reset. Connect to local or power-on reset. To reset when oscillator is stopped (initial power-up or in suspend state), assert for at least two milliseconds. When oscillator is running, assert for at least five 60 MHz clock periods. VBUS 48 I, S TEST1 1 I TEST1 mode. Connect to ground for normal operation. TEST2 2 I TEST2 mode. Connect to ground for normal operation. TEST3 64 I TEST3 mode. Connect to ground for normal operation. SMC 3 I Scan Mode Control. Connect to VDD for normal operation. USB VBUS. This input indicates when the NET2270 is connected to a powered-up USB host connector. An external 47K pull-down resistor should be connected to this pin to keep it low when not connected to the USB. ______________________________________________________________________________ 17 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 2.4 NET2270 USB Interface Controller Local Bus Pin Descriptions (31 pins) Signal Name Pin Type Description LA[4:0] 4-8 I Address Bus. Five bits of address can directly address most of the internal registers of the NET2270. A minimum of 1 address bit is required to operate the NET2270, using an optional Register-Indirect mode. A third addressing mode (multiplexed address and data) uses ALE with LD[4:0] to provide 5 bits of register addressing. ALE 40 I Address Latch Enable. When operating in Multiplexed Address and Data mode, the 5-bit address bus is latched on the trailing (negative) edge of ALE. The NET2270 will automatically detect use of the ALE pin to indicate use of multiplexed address and data on the LD[4:0] pins. 34, 33, 31, 30, 28-25, 23-20, 18, 16-14 I/O, 3mA, TS Data Bus. These pins serve as the input and output data bus for the local CPU. In multiplexed address/data mode, ALE can be used with LD[4:0] to provide 5-bits of address on the falling edge of ALE. In 16-bit mode, the data bus is 16-bits wide. IOR# 44 I, PU Read Strobe. The local bus master asserts this signal during a read transaction. IOW# 45 I, PU Write Strobe. The local bus master asserts this signal during a write transaction. IRQ# 47 O, 3mA, OD Interrupt Request Output. This signal interrupts the local processor based on events selected in internal program registers. Since this pin is open-drain, an external 1K pull-up resistor is required. CS# 46 I, PU Chip Select. This signal enables access to registers within the NET2270. Asserting this pin during suspend will cause the device to wake up. Asserting this pin during RESET# holds the NET2270 in a low-power mode by disabling the internal oscillator. DMAWR# 13 I DMA Write Strobe. The DMA bus master asserts this signal during a DMA write transaction when split-bus DMA is selected. DMARD# 36 I DMA Read Strobe. The DMA bus master asserts this signal during a DMA read transaction when split-bus DMA is selected DREQ 37 O, 3mA, TP DMA Request. This signal requests DMA transfers from an external DMA controller. This output floats when the USB Host suspends the device. The polarity of this signal is programmable. DACK 38 I DMA Acknowledge. Used to transfer data to/from the packet buffer in response to DREQ. This pin is ignored unless DMA cycles are enabled. The polarity of this signal is programmable. EOT 39 I End of Transfer. This signal from an external DMA controller is used to terminate a DMA transfer. The current word will be transferred, but no additional transfers will be requested. EOT can be programmed to cause an interrupt. The polarity of this signal is programmable. LD[15:0] ______________________________________________________________________________ 18 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification VBUS IRQ# CS# IOW# IOR# RESET# VDDC VSSC ALE EOT DACK DREQ DMARD# LCLKO LD15 LD14 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 Physical Pin Assignment RREF 49 32 VDDIO AVSS 50 31 LD13 AVDD 51 30 LD12 AVSS 52 29 VSSIO RPU 53 28 LD11 VSS 54 27 LD10 RSDP 55 26 LD9 DP 56 25 LD8 VDD 57 24 VSSIO DM 58 23 LD7 RSDM 59 22 LD6 VSS 60 21 LD5 PVSS 61 20 LD4 PVDD 62 19 VSSIO VSS 63 18 LD3 TEST3 64 17 VDDIO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 TEST2 SMC LA4 LA3 LA2 LA1 LA0 VSSC VDDC XIN XOUT DMAWR# LD0 LD1 LD2 NetChip NET2270 XXXXXXX REVx TEST1 2.5 NET2270 USB Interface Controller Note: This drawing is for informational purposes only. Please contact NetChip for additional chip marking, PCB layout and manufacturing information. ______________________________________________________________________________ 19 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 3 Reset and Initialization 3.1 Overview The NET2270 normal initialization sequence consists of the following: • Assert/De-Assert RESET# pin • Local CPU initializes USB and local bus configuration registers 3.2 RESET# Pin The RESET# pin causes all logic in the NET2270 to be set to its default state. It is typically connected to a poweron reset circuit. 3.3 Root Port Reset If the NET2270 detects a single-ended zero on the root port for greater than 2.5 microseconds, it is interpreted as a root port reset. The root port reset is only recognized if the VBUS input pin is high, and the USB Detect Enable bit in the USBCTL0 register is set. The following resources are reset: • • • • • Serial Interface Engine (SIE) USB state machines Local state machines OURADDR Register Buffer pointers The root port reset does not affect the remainder of the configuration registers. The Root Port Reset Interrupt bit is set when a change in the root port reset has been detected. The local CPU should take appropriate action when this interrupt occurs. According to the USB Specification, the width of the USB reset is minimally 10ms and may be longer depending on the upstream host or hub. There is no specified maximum width for the USB reset. 3.4 Reset Summary The following table shows which device resources are reset when each of the 2 reset sources are asserted. Device Resources Reset Sources RESET# pin USB Root Port Reset USB, SIE modules, OURADDR, registers All Configuration Registers X X X Endpoint Buffer Pointers X X ______________________________________________________________________________ 20 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 4 Local Bus Interface 4.1 Introduction The Local Bus Interface allows the NET2270 to be easily interfaced with many generic processors and custom ASIC interfaces. Both multiplexed and non-multiplexed buses are supported. 4.2 Register Addressing Modes Several addressing methods are provided in the NET2270 in order to support various user architectures. These modes are always active and nothing special needs to be done to use them. These modes act on a transaction-bytransaction basis, allowing DMA and CPU to operate with inherently different bus architectures. For instance, the CPU could operate with a multiplexed bus (using ALE to de-multiplex the Address/Data bus) while the DMA could operate using a non-multiplexed Data bus. 4.2.1 Direct Address Mode Direct Address Mode uses LA[4:0] to directly access the first 32 configuration registers. 4.2.2 Indirect Address Mode Indirect Address mode uses registers REGADDRPTR (address 0x00) and REGDATA (address 0x01) to provide a Command/Data interface to the NET2270 internal registers and buffers. All CPU transactions performed with REGDATA will have their address sourced by REGADDRPTR. The local CPU first programs REGADDRPTR with the desired register address, then reads or writes to REGDATA with the data intended for the register pointed to by REGADDRPTR. This method of register addressing requires only 1 physical address bit (to access address 0x00 or address 0x01). All unused address bits of the NET2270 should be connected to ground. When all five address bits are being used, this addressing method allows access to registers above address 1Fh. 4.2.3 Multiplexed Address Mode Multiplexed Address mode uses the ALE pin to de-multiplex the desired address from the data bus. The NET2270 automatically detects the use of ALE and will use the address represented by LD[4:0] on the falling edge of ALE as the address of the current transaction. This addressing mode is supported by several common microcontrollers. ALE should be grounded if this mode is not used. 4.3 Control Signal Definitions The control signals direct the flow of data across the local bus. A write transaction is performed by asserting CS# and IOW#. The Address and Data must be valid on the trailing (rising) edge of IOW#. A read transaction is performed by asserting CS# and IOR#. 4.4 Bus Width / Byte Alignment The local bus supports 8 or 16-bit buses. In 8-bit mode, all configuration registers and the buffers are accessed one byte at a time. A typical 8-bit application would connect the CPU address bits A[4:0] to the NET2270 address bus LA[4:0]. In 16-bit mode, the configuration registers are still accessed a byte at a time, but the buffers are accessed a word at a time. The Byte Swap bit in the LOCCTL configuration register determines whether the bytes are swapped as they are being written into the buffer in 16-bit mode. This allows for connections to little or big endian processors. A typical 16-bit application would connect the CPU address bits A[5:1] to the NET2270 Address bus LA[4:0]. ______________________________________________________________________________ 21 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 4.5 NET2270 USB Interface Controller I/O Transactions I/O transactions are those in which a CPU on the local bus accesses registers or packet buffers within the NET2270. 4.5.1 Non-Multiplexed I/O Read Non-multiplexed I/O reads are started when both CS# and IOR# are asserted. The address must be valid T4 before CS# and IOR# are both asserted. Valid read data is driven onto the data bus within T6 after CS# and IOR# are both asserted. The read transaction ends and the data bus floats when either CS# or IOR# are de-asserted. A new I/O read transaction cannot be started until the T8A recovery time has expired, and a new I/O write transaction cannot be started until the T8B recovery time has expired. ALE must be held low for non-multiplexed mode. 0ns 25ns 50ns 75ns NetChip Technology; NET2270; Non-Multiplexed I/O Read; 12/10/02; IORD.TD LA[4:0] A0 A1 CS# IOR# LD[15:0] D0 D1 4.5.2 Multiplexed I/O Read Multiplexed I/O reads are started when the address is driven onto the lower bits of the data bus, and ALE is pulsed. Once the address has been latched into the NET2270, the data phase is initiated with the assertion of both CS# and IOR#. To prevent bus contention on the data bus, CS# and IOR# should not be asserted until the local bus master has tri-stated the address. Valid read data is driven onto the data bus within T6 after CS# and IOR# are both asserted. The read cycle ends and the data bus floats when either CS# or IOR# are de-asserted. A new I/O read transaction cannot be started until the T8A recovery time has expired, and a new I/O write transaction cannot be started until the T8B recovery time has expired. 0ns 25ns 50ns 75ns 100ns NetChip Technology; NET2270; Multiplexed I/O Read; 12/10/02; IORD_MPX.TD ALE CS# IOR# LD[15:0] A0 D0 A1 D1 ______________________________________________________________________________ 22 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 4.5.3 Non-Multiplexed I/O Write Non-multiplexed I/O writes are started when both CS# and IOW# are asserted. The address and write data must meet the setup time with respect to the end of the write cycle. Data is written into the register or packet buffer when either CS# or IOW# are negated. A new I/O write cycle cannot be started until the T15A recovery time has expired, and a new I/O read transaction cannot be started until the T15B recovery timer has expired. ALE must be held low for non-multiplexed mode. 0ns 10ns 20ns 30ns 40ns 50ns NetChip Technology; NET2270; Non-Multiplexed I/O Write; 12/10/02; IOWR.TD LA[4:0] A0 A1 LD[15:0] D0 D1 CS# IOW# 4.5.4 Multiplexed I/O Write Multiplexed I/O writes are started when the address is driven onto the lower bits of the data bus, and ALE is pulsed. Once the address has been latched into the NET2270, the data phase is initiated with the assertion of both CS# and IOW#. The write data must meet the setup time with respect to the end of the write cycle. Data is written into the register or packet buffer when either CS# or IOW# are negated. A new I/O write transaction cannot be started until the T15A recovery time has expired, and a new I/O read transaction cannot be started until the T15B recovery time has expired. 0ns 10ns 20ns 30ns 40ns 50ns 60n NetChip Technology; NET2270; Multiplexed I/O Write; 12/10/02; IOWR_MPX.TD ALE LD[15:0] A0 D0 A1 D1 CS# IOW# ______________________________________________________________________________ 23 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 4.5.5 I/O Performance 4.5.5.1 Non-Multiplexed Read Transaction • • • • Read Access Time: 35 nsec I/O Recovery Time: 33 nsec For an 8-bit bus, the maximum performance is: 1/68 nsec = 14 Mbytes/sec For a 16-bit bus, the maximum performance is: 2/68 nsec = 29 Mbytes/sec 4.5.5.2 Multiplexed Read Transaction • • • • • • ALE Width: 5 nsec Address float: 5 nsec (system dependant) Read Access Time: 35 nsec I/O Recovery Time: 33 nsec For an 8-bit bus, the maximum performance is: 1/78 nsec = 13 Mbytes/sec For a 16-bit bus, the maximum performance is: 2/78 nsec = 26 Mbytes/sec 4.5.5.3 Non-Multiplexed Write Transaction • • • • Write Width: 5 nsec Write to Write Recovery Time: 55 nsec For an 8-bit bus, the maximum performance is: 1/60 nsec = 16 Mbytes/sec For a 16-bit bus, the maximum performance is: 2/60 nsec = 33 Mbytes/sec 4.5.5.4 Multiplexed Write Transaction • • • • • • ALE Width: 5 nsec Address float: 5 nsec (system dependant) Write Width: 5 nsec Write to Write Recovery Time: 55 nsec For an 8-bit bus, the maximum performance is: 1/70 nsec = 14 Mbytes/sec For a 16-bit bus, the maximum performance is: 2/70 nsec = 28 Mbytes/sec ______________________________________________________________________________ 24 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 4.6 NET2270 USB Interface Controller DMA Transactions DMA transfers are those in which an external DMA controller transfers data between memory and one of the packet buffers within the NET2270. DMA transfers can be configured for endpoint A or endpoint B only. The local CPU handles transfers to/from endpoints 0 and C. The external DMA controller is programmed to perform fly-by demand mode transfers. In this mode, transfers occur only when the NET2270 requests them and the data is transferred between the NET2270 and local memory during the same bus transaction. The buffer accessed from the local bus through the Endpoint Data Register or DMA port is selected as follows. As long as DMA requests are enabled, the active buffer is selected by the DMA Endpoint Select field of the DMAREQ register. Otherwise the active buffer is selected by the Page Select field in the PAGESEL register. The active endpoint configuration registers are always selected by Page Select. DMA Request Enable 0 1 Endpoint Buffer Selected by Page Select Selected by DMA Endpoint Select Endpoint Registers Selected by Page Select Selected by Page Select 4.6.1 DMA Read For OUT transfers (host to device), the local and host CPUs first arrange to transfer a block of data from host memory to local memory. The local CPU programs the external DMA controller to transfer the desired number of bytes. The signals DREQ, DACK, IOR#, and EOT are used to control the transactions between the external DMA controller and the NET2270. DREQ and DACK are minimally needed to exchange data with the NET2270 since the direction (read) is established by the Endpoint Direction bit in the EP_CFG register. The mode of operation is set by the DMA Control DACK bit in the DMAREQ register. If the DMA Control DACK bit is high, then both DACK and IOR# are needed by the NET2270 for a DMA read. If the DMA Control DACK bit is low, then only DACK is needed. The local CPU programs the NET2270 DMAREQ register to associate the DMA with a NET2270 endpoint (either Endpoint A or Endpoint B). Transfers occur only when the NET2270 requests them, after the DMA Request Enable bit is set in the DMAREQ register. When the NET2270 has data available in an endpoint buffer, and that endpoint has been assigned to the DMA channel, the DMA request (DREQ) signal is asserted. The external DMA controller then requests the local bus from the local bus master. After the external DMA controller has been granted the bus, it drives a valid memory address and asserts DACK#, IOR# (optional), and MEMW# (to memory), thus transferring a byte from an endpoint’s buffer to local memory. The NET2270 de-asserts DREQ within T20 after the start of the transaction. If there is still data in the buffer, the NET2270 then re-asserts DREQ within T21 after the end of the previous transaction. The DMA transfers continue until the DMA byte count reaches zero or the EOT pin is asserted during the last DMA transfer. If the EOT pin is asserted during the last DMA transfer, the DMA Done Interrupt bit in the IRQSTAT0 register will be set. ______________________________________________________________________________ 25 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 0ns 50ns 100ns 150ns NetChip Technology; NET2270; DMA Read; 12/10/02; DMARD.TD DREQ DACK# IOR# (Optional) LD[15:0] D0 D1 EOT# (Optional) 4.6.2 DMA Write For IN transfers (device to host), the local and host CPUs first arrange to transfer a block of data from local memory to host memory. The local CPU programs the external DMA controller to transfer the desired number of bytes. The NET2270 EP_TRANSFER register is also programmed with the desired transfer size (in bytes). The transfer size programmed into the EP_TRANSFER register can span many packets, allowing a single DMA setup to transfer multiple packets. The DMA Request signal (DREQ) is asserted anytime there is space available in the buffer. The endpoint’s Max Packet Size register controls the maximum number of bytes transmitted to the host in a single packet. A short packet will be sent if there are remaining bytes to be sent when all EP_TRANSFER bytes have been written or when EOT has been asserted during the last DMA cycle. The signals DREQ, DACK, IOW#, and EOT are used to control the transactions between the external DMA controller and the NET2270. DREQ and DACK are minimally needed to exchange data with the NET2270 since the direction (write) is established by the Endpoint Direction bit in the EP_CFG register. The mode of operation is set by the DMA Control DACK bit in the DMAREQ register. If the DMA Control DACK bit is high, then both DACK and IOW# are needed by the NET2270 for a DMA write. If the DMA Control DACK bit is low, then only DACK is needed. The local CPU programs the NET2270 DMAREQ register to associate the DMA with a NET2270 endpoint (either Endpoint A or Endpoint B). Transfers occur only when the NET2270 requests them, after the DMA Request Enable bit is set in the DMAREQ register. As long as there is space available in the selected endpoint’s buffer, and there are still bytes to be transferred, the NET2270 will request DMA transfers by asserting DREQ. The external DMA controller then requests the local bus from the local CPU. After the DMA controller has been granted the bus, it drives DACK#, IOW# (optional), and MEMR# (to memory) to transfer a byte from memory to the endpoint’s buffer. The NET2270 de-asserts DREQ within T20 after the start of the transaction. If there is still space in the buffer and there are more bytes to be transferred, the NET2270 re-asserts DREQ within T21 after it was de-asserted. The USB host sends an IN token to the NET2270 and starts an IN data transaction from the selected endpoint’s buffer. The DMA transfers continue until EP_TRANSFER bytes have been transferred or EOT has been asserted. If the EOT pin is asserted (during the last DMA transfer) or the EP_TRANSFER counter reaches zero, the DMA Done Interrupt bit in the IRQSTAT0 register will be set. ______________________________________________________________________________ 26 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 0ns 25ns 50ns 75ns 100ns 125ns NetChip Technology; NET2270; DMA Write; 12/10/02; DMAWR.TD DREQ LD[15:0] D0 D1 DACK# IOW# (Optional) EOT# (Optional) ______________________________________________________________________________ 27 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 4.6.3 DMA Split Bus Mode In this mode, the external DMA controller is connected to LD[15:8] of the data bus, while the local CPU is connected to LD[7:0] of the data bus. The DMA Split Bus Mode bit of the LOCCTL register enables DMA split Bus Mode. The split mode DMA transactions are the same as normal DMA transactions, except that DMARD# is used instead of IOR#, and DMAWR# is used instead of IOW#. While DMA transactions are taking place using LD[15:8], the local CPU can simultaneously access configuration registers for any endpoint. 4.6.4 Terminating DMA Transfers The EOT signal is used to halt a DMA transfer, and is typically provided by an external DMA controller. It should be asserted while DACK (and optionally IOR#, IOW#, DMARD#, or DMAWR#) are simultaneously active to indicate that DMA activity has stopped. Although an EOT signal indicates that DMA has terminated, the USB transfer (in the case of an IN transaction) is not complete until the last byte has been transferred from the endpoint’s buffer to the USB. The EOT input resets the NET2270 DMA Request Enable bit of the DMAREQ register. When EOT is detected, the current endpoint buffer is automatically validated, causing any remaining data in the current packet to be sent to the host as a short packet. If there is no data in the buffer when the current buffer is validated, then a zero length packet will be returned in response to the next IN token. The DMA Request Enable bit is also automatically cleared when the EP_TRANSFER counter reaches zero for IN endpoints If the external DMA controller doesn’t provide an EOT signal, the local CPU can terminate the DMA transfer at any time by resetting the NET2270 DMA Request Enable bit. If the NET2270 DMA Request Enable bit is cleared during the middle of a DMA cycle (only possible if using DMA split mode), the current cycle will complete before DMA requests are terminated. The endpoint buffer is not automatically validated when the DMA Request Enable is cleared. In this case, the CPU needs to explicitly validate the packet by writing a zero to the EP_TRANSFER register. 4.6.5 DMA Performance 4.6.5.1 DMA Read • • • • • • DREQ to DACK: 5 nsec (depends on DMA controller) DACK asserted to DREQ de-asserted: 40 nsec DREQ de-asserted to DREQ asserted: 16 nsec For an 8-bit bus, the maximum performance is: 1/61 nsec = 16 Mbytes/sec For a 16-bit bus, the maximum performance is: 2/61 nsec = 32 Mbytes/sec The actual throughput will be reduced if the DMA controller DREQ to DACK delay is longer than 5 nsec. 4.6.5.2 DMA Write • • • • • • DREQ to DACK: 5 nsec (depends on DMA controller) DACK asserted to DREQ de-asserted: 40 nsec DREQ de-asserted to DREQ asserted: 16 nsec For an 8-bit bus, the maximum performance is: 1/61 nsec = 16 Mbytes/sec For a 16-bit bus, the maximum performance is: 2/61 nsec = 32 Mbytes/sec The actual throughput will be reduced if the DMA controller DREQ to DACK delay is longer than 5 nsec. ______________________________________________________________________________ 28 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 5 USB Functional Description 5.1 USB Interface The NET2270 is a USB function device, and as a result is always a slave to the USB host. The bit and packet level protocols, as well as the electrical interface of the NET2270, conform to USB Specification Version 2.0. The USB host initiates all USB data transfers to and from the NET2270 USB port. The NET2270 can be configured for up to 3 endpoints, in addition to Endpoint 0. Each endpoint can be an isochronous, bulk or interrupt type. The configuration registers are used to program the characteristics of each endpoint. The NET2270 operates in either Full speed (12 Mbps) or High speed (480 Mbps) modes. 5.2 USB Protocol The packet protocol of the USB bus consists of tokens, packets, transactions, and transfers. 5.2.1 Tokens Tokens are a type of Packet Identifier (PID), and follow the sync byte at the beginning of a token packet. The four classic types of tokens are OUT, IN, SOF, and SETUP. In high speed mode, the NET2270 also recognizes the PING token. 5.2.2 Packets There are four types of packets: start-of-frame (SOF), token, data, and handshake. Each packet begins with a sync field and a Packet Identifier (PID). The other fields vary depending on the type of packet. An SOF packet consists of the following fields: • Sync byte (8-bits) • Packet Identifier (8-bits) • Frame Number (11-bits) • CRC (5-bits) A token packet consists of the following fields: • Sync byte (8-bits) • Packet Identifier (8-bits) • Address (7-bits) • Endpoint (4-bits) • CRC (5-bits) A data packet consists of the following fields: a token packet always precedes Data packets. • Sync byte (8-bits) • Packet Identifier (8-bits) • Data (n bytes) • CRC (16-bits) A handshake packet consists of the following fields: • Sync byte (8-bits) • Packet Identifier (8-bits) ______________________________________________________________________________ 29 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 5.2.3 Transaction A transaction consists of a token packet, optional data packet(s), and a handshake packet. 5.2.4 Transfer A transfer consists of one or more transactions. Control transfers consist of a setup transaction, optional data transactions, and a handshake (status) transaction. 5.3 Automatic Retries 5.3.1 Out Transactions If an error occurs during an OUT transaction, the NET2270 reloads its local side buffer read pointer back to the beginning of the failed packet. The host then sends another OUT token and re-transmits the packet. Once the packet has been successfully received by the NET2270, the Packet Received interrupt is set. The NET2270 can handle any number of back-to-back retries, but the host determines how many times a packet is retried. Microsoft Windows currently performs three retries before giving up on the device. 5.3.2 In Transactions If an error occurs during an IN transaction, the NET2270 reloads its USB side buffer read pointer back to the beginning of the failed packet. The host then sends another IN token and the NET2270 re-transmits the packet. Once the host has successfully received the packet, the Packet Transmitted interrupt is set. 5.4 Ping Flow Control When operating in high speed mode, the NET2270 supports the PING protocol for bulk OUT and control endpoints. This protocol allows the NET2270 to indicate to the host that it can't accept an OUT data packet. The host then sends PING tokens to query the NET2270. Once the NET2270 can accept a maximum size packet, it returns an ACK in response to the PING. Now the host sends an OUT token and data packet. The NET2270 returns an ACK handshake if the packet is accepted, and there is space to receive an additional packet. If it can accept the current packet, but no others, it returns a NYET handshake to the host. The host then starts sending PING tokens again. 5.5 Packet Sizes The maximum packet size of an endpoint is determined by the corresponding EP_MAXPKT register. For IN transactions, the NET2270 will return a maximum size packet to the host if there are at least ‘max packet’ bytes in the buffer. A packet of size less than the maximum is returned to the host in response to an IN token if the data in the buffer has been explicitly validated. The following table shows the allowable maximum packet sizes: Type of Endpoint Control Bulk Interrupt Isochronous Low Speed Mode (Not Supported) 8 N/A 8 N/A Full Speed Mode High Speed Mode 8, 16, 32, 64 8, 16, 32, 64 64 max 1023 max 64 512 1024 max 1024 max ______________________________________________________________________________ 30 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 5.6 NET2270 USB Interface Controller USB Endpoints The NET2270 supports Control, Isochronous, Bulk, and Interrupt endpoints. All endpoints are unidirectional except for Control endpoints. Bi-directional bulk, isochronous, or interrupt traffic requires two endpoints. 5.6.1 Control Endpoint - Endpoint 0 The control endpoint, Endpoint 0, is a reserved endpoint. The host uses this endpoint to configure and gain information about the device, its configurations, interfaces and other endpoints. Control endpoints are bi-directional, and data delivery is guaranteed. The host sends 8-byte setup packets to Endpoint 0 to which the device interprets and responds. The NET2270 has a set of registers dedicated to storing the setup packet, and uses the endpoint 0 packet buffer for Control data. For Control writes, data flows through the packet buffer from the USB bus to the local bus. For Control reads, data flows through the packet buffer from the local bus to the USB bus. When Endpoint 0 detects a setup packet, the NET2270 sets status bits and interrupts the local CPU. The CPU reads the setup packet from NET2270 registers, and responds based on the contents. The local CPU provides any data returned to the host, including status and descriptors. Refer to Chapter 9, Standard Device Requests, for a description of the data that must be returned for each USB request. The host will reject descriptors that have unexpected values in any of the fields. 5.6.1.1 Control Write Transfer A successful control write transfer to Control Endpoint 0 consists of the following: Transaction Setup Data (zero, one or more packets) Status Stage Packet Contents Setup Token Data Status OUT Token SETUP PID, address, endpoint, and CRC5 DATA0 PID, 8 data bytes, and CRC16 ACK OUT PID, address, endpoint, and CRC5 # of bytes 3 11 1 3 Data (1/0) Status IN Token Data Status DATA PID, N data bytes, and CRC16 ACK IN PID, address, endpoint, and CRC5 DATA1 PID, zero length packet, and CRC16 ACK N+3 1 3 3 1 Source Host Host NET2270 Host Host NET2270 Host NET2270 Host During the Setup transaction, the NET2270 stores the data stage packet in its setup registers. The NET2270 returns an ACK handshake to the host after all 8 bytes have been received. A Setup Packet Interrupt bit is set to notify the local CPU that a setup packet has been received. The 8-byte data packet is then read and interpreted by the local CPU. A Setup transaction cannot be stalled or NAKed, but if the data is corrupted, then the NET2270 will not return an ACK to the host. During the Data transaction, zero, one or more data packets are written into the Endpoint 0 buffer. For each packet: • Interrupt bits are set and can interrupt the local CPU • The local CPU reads the buffer • The NET2270 returns an ACK if no error has occurred. For a successful Status transaction, the NET2270 returns a zero length data packet. A NAK or STALL handshake can be returned if an error occurred. ______________________________________________________________________________ 31 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 5.6.2 Control Write Transfer Details For control write transfers, the host first sends 8 bytes of setup information. The setup bytes are stored into an 8byte register bank that can be accessed by the local CPU. After the eight bytes have been stored into the setup registers, the Setup Packet Interrupt bit is set. The local CPU then reads the 8-byte setup packet and prepares to respond to the optional Data transactions. The number of bytes to be transferred in the Data transactions is specified in the setup packet. When the setup packet is received, the Control Status Phase Handshake bit is automatically set in anticipation of the control status phase. While this bit is set, the control status phase will be acknowledged with a NAK, allowing the local CPU to prepare its handshake response (ACK or STALL). Once the Control Status Phase Handshake bit is cleared and the OUT buffer is empty, the ACK or STALL handshake will be returned to the host. Waiting for the OUT FIFO to become empty prevents another Control Write from corrupting the current packet data in the FIFO. During a control write operation, optional Data transactions can follow the Setup transaction. The Data Out Token Interrupt bit is set at the beginning of each Data transaction. The bytes corresponding to the Data transaction are stored into the Endpoint 0 packet buffer. If the buffer fills up and another byte is transferred from the host, the NET2270 will return a NAK handshake to the host, signaling that the data could not be accepted. If a packet is not successfully received (NAK or Timeout status), the Data Packet Received Interrupt bit will not be set, and the data will be automatically flushed from the buffer. The host will re-send the same packet again. This process is transparent to the local CPU. If the local CPU has stalled this endpoint by setting the Endpoint Halt bit, the NET2270 will not store any data into the buffer, and will respond with a STALL acknowledge to the host. There will not be a Status transaction in this case. The local CPU can either poll the Data Packet Received Interrupt bit, or enable it as an interrupt, and then read the packet from the buffer when the interrupt occurs. If the host tries to write more data than was indicated in the setup packet, then the local CPU should set the Endpoint Halt bit for Endpoint 0. In this case there will not be a status stage from the host. After all of the optional Data transaction packets have been received, the host will send an IN token, signifying the Status transaction. The Control Status Interrupt bit is set after the IN token of the Status transaction has been received. Until the Control Status Phase Handshake bit is cleared by the local CPU and the OUT buffer is empty, the NET2270 will respond to the Status transaction with NAKs, indicating that the device is still processing the setup command. When the Control Status Phase Handshake bit has been cleared by the local CPU and the firmware has emptied the data form the OUT buffer, the NET2270 will respond with a zero length data packet (transfer OK) or STALL (device had an error). ______________________________________________________________________________ 32 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 5.6.2.1 Control Read Transfer A successful control read transfer from Control Endpoint 0 consists of the following: Transaction Setup Data (zero, one, or more packets) Status Stage Packet Contents Setup Token Data Status IN Token SETUP PID, address, endpoint, and CRC5 DATA0 PID, 8 data bytes, and CRC16 ACK IN PID, address, endpoint, and CRC5 # of bytes 3 11 1 3 Source Data (1/0) DATA PID, N data bytes, and CRC16 N+3 NET2270 Status OUT Token Data Status ACK OUT PID, address, endpoint, and CRC5 DATA1 PID, zero length packet, and CRC5 ACK 1 3 3 1 Host Host Host NET2270 Host Host NET2270 Host The Setup transaction is processed in the same way as for control write transfers. During the Data transaction, zero, one or more data packets are read from the Endpoint 0 buffer. For each packet: • Interrupt bits are set and can interrupt the local CPU • The local CPU writes data to the buffer • If there is no data in the buffer, a NAK or zero length packet is returned to the host • The Host returns an ACK to the NET2270 if no error has occurred. For a successful Status transaction, the Host sends a zero length data packet, and the NET2270 responds with an ACK. A NAK or STALL can be returned if an error occurred. 5.6.2.2 Control Read Transfer Details For control read transfers, the host first sends 8 bytes of setup information. The setup bytes are stored into an 8-byte register bank that can be accessed from the local CPU. After the eight bytes have been stored into the setup registers, the Setup Packet Interrupt bit is set. The local CPU then reads the 8-byte setup packet and prepares to respond to the optional Data transactions. The number of bytes to be transferred in the Data transactions is specified in the setup packet. When the setup packet is received, the Control Status Phase Handshake bit is automatically set. While this bit is set, the control status phase will be acknowledged with a NAK, allowing the local CPU to prepare its handshake response (ACK or STALL). Once the Control Status Phase Handshake bit is cleared, the ACK or STALL handshake will be returned to the host. During a control read operation, optional Data transactions can follow the Setup transaction. After the Setup transaction, the local CPU can start writing the first byte of packet data into the Endpoint 0 buffer in anticipation of the Data transaction. The Data In Token Interrupt bit is set at the beginning of each Data transaction. If there is data in the Endpoint 0 buffer, it is returned to the host. If Endpoint 0 has no data to return, it returns either a zero length packet (signaling that there is no more data available) or a NAK handshake (the data is not available yet). ______________________________________________________________________________ 33 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller Packet Validated 0 X 1 1 Amount of Data in buffer < Max Packet Size >= Max Packet Size empty >0 Action NAK to host Return data to host Zero length packet to host Return data to host After each packet has been sent to the host, the Data Packet Transmitted Interrupt bit is set. If a packet is not successfully transmitted (Timeout status bit set), the Data Packet Transmitted Interrupt bit will not be set, and the same packet is sent to the host when another IN token is received. The retry operation is transparent to the local CPU. If the host tries to read more data than was requested in the setup packet, the local CPU should set the STALL bit for the endpoint. After all of the optional Data transaction packets have been transmitted, the host will send an OUT token, followed by a zero length data packet, signifying the Status transaction. The Control Status Interrupt bit is set after the OUT token of the Status transaction has been received. Until the Control Status Phase Handshake bit is cleared by the local CPU, the NET2270 will respond to the Status transaction with NAKs, indicating that the device is still processing the command specified by the Setup transaction. When the Control Status Phase Handshake bit has been cleared by the local CPU, the NET2270 will respond with an ACK (transfer OK) or STALL (Endpoint 0 is stalled). 5.6.3 Isochronous Endpoints Isochronous endpoints are used for the transfer of time critical data. Isochronous transfers do not support any handshaking or error checking protocol, and are guaranteed a certain amount of bandwidth during each frame. The Serial Interface Engine in the NET2270 ignores CRC and bit stuffing errors during isochronous transfers, but sets the handshaking status bits in the EP_STAT registers the same as for non-isochronous packets so that the local CPU can detect errors. Isochronous endpoints are unidirectional, with the direction defined by the endpoint configuration registers. For isochronous endpoints, the packet buffer size must be equal to or greater than the maximum packet size. The maximum packet size for an isochronous endpoint ranges from 1 to 1024 bytes. For an Isochronous OUT endpoint, the local CPU or DMA can read data from the endpoint buffer after an entire packet has been received. If the endpoint buffer is the same size as the maximum packet size, then the ISO bandwidth must be set such that the buffer can be emptied before the next ISO packet arrives. For an Isochronous IN endpoint, the local CPU or DMA can write data to one endpoint buffer at the same time that data is being transmitted to the USB from the other endpoint buffer (double-buffered mode only). ______________________________________________________________________________ 34 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 5.6.3.1 Isochronous Out Transactions Isochronous Out endpoints are used to transfer data from a USB host to the NET2270 local bus. An Isochronous OUT transaction consists of the following: Stage OUT Token Data Packet Contents OUT PID, address, endpoint, and CRC5 DATA0 PID, N data bytes, and CRC16 Number of bytes 3 N+3 Source Host Host The USB host initiates an Isochronous OUT transaction by sending an OUT token to an Isochronous OUT endpoint. The Data OUT Token Interrupt bit is set when the OUT token is recognized. The bytes corresponding to the Data stage are stored into the endpoint’s buffer. Isochronous transactions are not retried, so if the buffer is full when a packet is transferred from the host (or the NAK OUT Packets bit is set), the packet is discarded and the FIFO Overflow status bit is set. No handshake packets are returned to the host, but the USB OUT ACK Sent, and Timeout status bits are still set to indicate the status of the transaction. If a CRC error is detected, the packet is accepted and the Timeout status bit is set. After every data packet is received, the local CPU should sample these status bits to determine if the NET2270 successfully received the packet. By definition, isochronous endpoints do not utilize handshaking with the host. Since there is no way to return a stall handshake from an isochronous endpoint to the host, data that is sent to a stalled isochronous endpoint will be received normally. The Maximum Packet Size must be less than or equal to the buffer size. The local CPU must wait for the Data Packet Received Interrupt bit to be set before reading the data from the buffer. If the endpoint is programmed for a single-buffering, then the host should be programmed to allow the local CPU enough time to unload the buffer before the next packet is sent. If the endpoint is programmed for doublebuffering, then the local side can unload one packet while the next one is being received. ______________________________________________________________________________ 35 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 5.6.3.2 Isochronous In Transactions Isochronous IN endpoints are used to transfer data from the NET2270 local bus to a USB host. An isochronous IN transaction consists of the following: Stage IN Token Data Packet Contents IN PID, address, endpoint, and CRC5 DATA0 PID, N data bytes, and CRC16 Number of bytes 3 N+3 Source Host NET2270 The USB host initiates an Isochronous IN transaction by sending an IN token to an Isochronous IN endpoint. The Data IN Token Interrupt bit is set when the IN token is recognized. If there is data in the endpoint’s buffer, it is returned to the host. If the endpoint has no data to return, a zero length packet is returned to the host. The NET2270 responds to the IN token according to the following table. Packet Validated 0 Amount of Data in Buffer < Max Packet Size X 1 1 >= Max Packet Size empty >0 Action Zero length packet to host; USB IN NAK Sent status bit set Return data to host. Zero length packet to host Return data to host After the packet has been sent to the host, the Data Packet Transmitted Interrupt bit is set. If an IN token arrives and there is no valid packet in the endpoint buffer, the NET2270 returns a zero-length packet, and the FIFO Underflow status bit is set. No handshake packets are returned to the host, but the USB IN ACK Sent, and Timeout status bits are still set to indicate the status of the transaction. After every data packet is transmitted, the local CPU should sample these status bits to determine if the packet was successfully transmitted to the host. By definition, isochronous endpoints do not utilize handshaking with the host. Since there is no way to return a stall handshake from an isochronous endpoint to the host, data that is requested from a stalled isochronous endpoint will be transmitted normally. ______________________________________________________________________________ 36 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 5.6.4 Bulk Endpoints Bulk endpoints are used for guaranteed error-free delivery of large amounts of data between a host and device. Bulk endpoints are unidirectional, with the direction defined by the endpoint configuration registers. 5.6.4.1 Bulk Out Transactions Bulk Out endpoints are used to transfer data from a USB host to the NET2270 local bus. A bulk OUT transaction to a Bulk Out endpoint consists of the following: Stage OUT Token Data (1/0) Status Packet Contents OUT PID, address, endpoint, and CRC5 DATA PID, N data bytes, and CRC16 ACK, NAK, or STALL Number of bytes 3 N+3 1 Source Host Host NET2270 The USB host initiates a Bulk OUT transaction by sending an OUT token to a Bulk OUT endpoint. The Data OUT Token Interrupt bit is set when the OUT token is recognized. The bytes corresponding to the Data stage are stored into the endpoint’s buffer. If the buffer is full when another packet is transferred from the host, the packet will be discarded and the USB OUT NAK Sent status bit will be set. At the completion of the packet, a NAK handshake will be returned to the host, indicating that the packet could not be accepted. All USB data passes through the endpoint’s buffer to the local bus. The CPU waits until the Data Packet Received Interrupt occurs before reading the data from the buffer. If a packet is not successfully received (USB OUT NAK Sent or Timeout status bits set), the Data Packet Received Interrupt bit will not be set, and the data will be automatically flushed from the buffer. The host will re-send the same packet again. This process is transparent to the local CPU. If the local CPU has stalled this endpoint by setting the Endpoint Halt bit, the NET2270 will not store any data into the buffer, and will respond with a STALL handshake to the host. ______________________________________________________________________________ 37 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 5.6.4.2 Bulk In Endpoints Bulk IN Endpoints are used to transfer data from the NET2270 local bus to a USB host. A bulk IN transaction from a Bulk IN Endpoint consists of the following: Stage IN Token Data (1/0) Status Packet Contents IN PID, address, endpoint, and CRC5 DATA PID, N data bytes, and CRC16, or NAK or STALL ACK Number of bytes 3 N+3 1 Source Host NET2270 Host The USB host initiates a Bulk IN transaction by sending an IN token to a Bulk IN endpoint. The Data IN Token Interrupt bit is set when the IN token is recognized. If there is validated data in the endpoint’s buffer, it is returned to the host. If the endpoint has no data to return, it returns either a zero length packet (signaling that there is no more data available) or a NAK handshake (the data is not available yet). Packet Validated 0 X 1 1 Amount of Data in Buffer < Max Packet Size >= Max Packet Size empty >0 Action NAK to host Return data to host Zero length packet to host Return data to host After the packet has been sent to the host, the Data Packet Transmitted Interrupt bit is set. If a packet is not successfully transmitted (Timeout status bit set), the Data Packet Transmitted Interrupt bit will not be set, and the same packet is sent to the host when another IN token is received. The retry operation is transparent to the local CPU. If the local CPU has stalled this endpoint by setting the Endpoint Halt bit, the NET2270 will respond to the IN token with a STALL handshake to the host. ______________________________________________________________________________ 38 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 5.6.5 Interrupt Endpoints Interrupt endpoints are used for sending or receiving small amounts of data to the host with a bounded service period. 5.6.5.1 Interrupt Out Transactions Interrupt Out endpoints are used to transfer data from a USB host to the NET2270 local bus. An interrupt OUT transaction to an Interrupt OUT endpoint consists of the following: Stage Packet Contents OUT Token Data (1/0) Status OUT PID, address, endpoint, and CRC5 DATA PID, N data bytes, and CRC16 ACK, NAK, or STALL Number of bytes 3 N+3 1 Source Host Host NET2270 The behavior of an Interrupt OUT endpoint is the same as a Bulk OUT endpoint, except for the toggle bit. If the Interrupt Mode bit is cleared, the toggle bit of the Interrupt OUT endpoint is initialized to 0 (DATA0 PID), and behaves the same as a Bulk OUT endpoint. If the Interrupt Mode bit is set, the toggle bit of the Interrupt OUT endpoint changes after each data packet is received from the host, without regard to the Status stage. Note that the PING protocol is not allowed for Interrupt OUT endpoints, as per the USB specification. 5.6.5.2 Interrupt In Endpoints An Interrupt IN endpoint is polled at a rate which is specified in the endpoint descriptor. An interrupt transaction from an Interrupt IN endpoint consists of the following: Stage Packet Contents IN Token Data (1/0) Status IN PID, address, endpoint, and CRC5 DATA PID, N data bytes, and CRC16 ACK Number of bytes 3 N+3 1 Source Host NET2270 Host The behavior of an Interrupt IN endpoint is the same as a Bulk IN endpoint, except for the toggle bit. If the Interrupt Mode bit is cleared, the toggle bit of the Interrupt IN endpoint is initialized to 0 (DATA0 PID), and behaves the same as a Bulk IN endpoint. An interrupt endpoint may be used to communicate rate feedback information for certain types of isochronous functions. To support this mode, the Interrupt Mode bit is set, and the toggle bit of the Interrupt IN endpoint changes after each data packet is sent to the host, without regard to the Status stage. ______________________________________________________________________________ 39 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 5.7 NET2270 USB Interface Controller Packet Buffers The NET2270 contains one 2-Kbyte bank of memory that is allocated to the endpoint packet buffers. The configuration of each endpoint buffer is selected by the Buffer Configuration field of the LOCCTL configuration register. Available configurations for endpoints A and B are: • 512 bytes, double-buffered (total of 1K bytes) • 1024 bytes, single-buffered • 1024 bytes double-buffered The total size of all of the endpoint A and B buffers cannot exceed 2 Kbytes. Endpoints 0 and C each have a 128 byte buffer, configured as two 64-byte buffers. Data is stored in the buffers in 32-bit words, so each entry contains between 1 and 4 bytes. If a write to a full buffer is detected, the data is ignored. If a read from an empty buffer is detected, undefined data is presented on the data bus. 5.7.1 IN Endpoint Buffers IN packet data is written by the local CPU or DMA into one of the IN endpoint buffers. Once the buffer data has been validated, it is returned to the USB host in response to an IN token. The NET2270 will not send more than EP_MAXPKT bytes per packet. Once a packet has been written into a double-buffered buffer and validated, the local CPU can continue loading data for the next packet. The NET2270 will automatically divide the data flow into individual packets with a maximum size determined by the associated EP_MAXPKT register. This allows USB transactions to overlap with loading of data from the local bus. If the buffer data hasn’t been validated, the NET2270 responds to an IN token with a NAK handshake. There are several methods for validating the data in the IN buffer: • For large amounts of data, the local bus controller can write data to the buffer as long as there is space available. When there are at least EP_MAXPKT bytes in the buffer, the NET2270 will respond to an IN token with a packet of data. If the entire data transfer is a multiple of EP_MAXPKT bytes, then nothing else needs to be done to validate the buffer data. If a zero length packet needs to be sent to the host, the local CPU can write a zero to the EP_TRANSFER register without writing any additional data to the buffer. • For moderate amounts of data (between EP_MAXPKT and 16 Mbytes), a counter (EP_TRANSFER) is used. This counter is initialized to the total transfer byte count before any data is written to the buffer. The counter is decremented as data is written to the buffer. When the counter reaches zero, the remaining data in the buffer is validated. If 16-bit transfers are being utilized on the local bus, excess bytes in the last word are automatically ignored. If the last packet of a transfer has EP_MAXPKT bytes, then the NET2270 will respond to the next IN token with a zero length packet. • For small amounts of data (character oriented applications), the data is first written to the buffer. Then a zero is written to the EP_TRANSFER register, thus causing the data to be validated. • For a DMA write terminated with an EOT, the buffer data is validated if the DMA Buffer Valid bit in the DMAREQ register is set. This causes a short or zero-length packet to be transmitted in response to the next IN token. Up to 2 short (less than EP_MAXPKT bytes) packets can be stored in a double-buffered packet buffer. ______________________________________________________________________________ 40 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 5.7.2 OUT Endpoint Buffers When receiving data, the NET2270 will NAK the host (indicating that it cannot accept the data) if either the buffer runs out of room, or if both the NAK OUT Packets Mode bit and the NAK OUT Packets bits are set. If the packets received are of maximum size, then additional packets can be received independently of the NAK OUT Packets Mode bit. This bit will only cause additional OUT packets to be NAKed if the last packet received was a short packet. If NAK OUT Packets Mode is true (blocking mode), USB OUT transfers can overlap with the local CPU unloading the data using the following sequence: • • • Local CPU responds to the Data Packet Received Interrupt and reads the EP_AVAIL register so it knows how many bytes are in the current packet. Local CPU clears the Data Packet Received Interrupt and the NAK OUT Packets bit, allowing the next packet to be received. Now the local CPU can unload data from the buffer while the next USB OUT transaction is occurring. If NAK OUT Packets Mode is false (non-blocking mode), the NET2270 will accept packets as long as there is room for the complete packet in the next available buffer. Note that there are no indications of packet boundaries when there are multiple packets in the buffers in a double-buffered configuration. ______________________________________________________________________________ 41 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 5.8 NET2270 USB Interface Controller USB Test Modes The Force Full Speed and Force High Speed bits of the XCVRDIAG register can be used to force the NET2270 into full and high speed modes, respectively. These forcing bits must not be used in normal operation; they are for testing purposed only. In normal operation, the NET2270 automatically performs USB 2.0 Chirp Protocol negotiation with the host to determine the correct operating speed. USB 2.0 Test Mode support is provided via the Test Mode Select field of the USBTEST register. These bits select the appropriate USB Test Mode settings (see section 9.4.9 in the USB Specification Revision 2.0 for more details). Normally, the host sends a SET_FEATURE request with the Test Selector in the upper byte of wIndex. The Test Selector can be copied directly into the NET2270 USBTEST register to select the correct test mode. Note that USB Test Mode settings only have an effect if the NET2270 is in high-speed mode. Also, if the NET2270 is in high-speed mode, and the Test Mode Select field is set to non-zero, the NET2270 is prevented from switching out of high-speed mode. Normal USB Suspend and Reset, as well as the Force Full Speed and Force High Speed bits, are ignored for test purposes. Note also that the NET2270 can be forced into high-speed mode (using the Force High Speed bit) even if the NET2270 is not connected to a host controller. After selecting the high-speed mode, USB Test Modes can be selected. Most USB Test Modes require no further support from the NET2270 firmware. However, the Test_Packet (0x04) Test Mode Selector requires a specific packet to be returned by the device. The NET2270 will respond correctly by: 1. Set Test Mode Select to 0x04 2. Flush endpoint 0 3. Load the following 53 (0x35) byte packet into endpoint 0: 00 00 00 00 00 00 00 00 - 00 AA AA AA AA AA AA AA AA EE EE EE EE EE EE EE EE FE FF FF FF FF FF FF FF FF FF FF FF 7F BF DF - EF F7 FB FD FC 7E BF DF EF F7 FB FD 7E You may validate the packet with your normal validation method, either pre-validating by writing 0x35 into EP_TRANSFER[EP0] before loading the bytes, or by writing 0 to EP_TRANSFER[EP0] after loading the bytes. ______________________________________________________________________________ 42 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 6 Interrupt and Status Register Operation 6.1 Interrupt Status Registers (IRQSTAT0, IRQSTAT1) Bits 3:0 of the IRQSTAT0 register indicate whether one of the endpoints 0, A-C has an interrupt pending. These bits cannot be written, and can cause a local interrupt if the corresponding interrupt enable bits are set in the IRQENB0 register. Bit 7 is automatically set when a start-of-frame (SOF) token is received, and is cleared by writing a 1. This bit can cause a local interrupt if the corresponding interrupt enable bit is set in the IRQENB0 register. Note that the interrupt bits can be set without the corresponding interrupt enable bit being set. This allows the local CPU to operate in a polled, as well as an interrupt driven environment. Bits 6:5 of IRQSTAT0 and bits 7:4 and 2:1 of IRQSTAT1 are set when a particular event occurs in the NET2270, and are cleared by writing a 1 to the corresponding bit. These bits can cause a local interrupt if the corresponding interrupt enable bits are set in the IRQENB0 and IRQENB1 registers. Bit 3 of IRQSTAT1 is set when there is a suspend request from the host, but it typically not enabled to generate an interrupt. Writing a 1 clears this bit and causes the 2270 to enter the suspend state. 6.2 Endpoint Response Registers (EPRSP_CLR, EPRSP_SET) Each endpoint has a pair of Endpoint Response Registers. The bits in these registers determine how the NET2270 will respond to various situations during a USB transaction. Writing a 1 to any of the bits in the EP_RSPCLR register will clear the corresponding bits. Writing a 1 to any of the bits in the EP_RSPSET register will set the corresponding bits. Reading either of the registers returns the current state of the bits. 6.3 Endpoint Status Register (EP_STAT0, EP_STAT1) Each endpoint has a pair of Endpoint Status Registers. Each of the bits of these registers is set when a particular endpoint event occurs, and is cleared by writing a 1 to the corresponding bit. A local interrupt can be generated if the corresponding interrupt enable bits are set in the EP_IRQENB registers. Reading the EP_STAT registers returns the current state of the bits. ______________________________________________________________________________ 43 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 7 Power Management 7.1 Suspend Mode When there is a three-millisecond period of inactivity on the USB, the USB specification requires a device to enter into a low-power suspended state. A low power device may not draw more than 500 µA, and a high-power device may not draw more than 2.5 mA while in this state. This requirement only applies to bus-powered devices. To facilitate this, the NET2270 provides a Suspend Request Change Interrupt bit and a Suspend Request Interrupt bit. Additionally, the NET2270 allows local bus hardware to initiate a “device remote wake-up” to the USB. 7.1.1 The Suspend Sequence The typical sequence of a suspend operation is as follows: • During device configuration, the local CPU enables the Suspend Request Change Interrupt bit to generate a local interrupt. • When the USB is idle for three milliseconds, the NET2270 sets the Suspend Request Change Interrupt bit, generating an interrupt to the local CPU. This interrupt can also occur if the NET2270 is not connected to a host, and the USB data lines are pulled to the idle state (DP high, DM low), or if the VBUS input is low. • The local CPU accepts this interrupt by clearing the Suspend Request Change Interrupt bit, and performs the tasks required to ensure that no more than 500 µA of current is drawn from the USB power bus. • The local CPU writes a 1 to the Suspend Request Interrupt bit to initiate the suspend. • The LCLKO output continues to operate for 500 µsec before the NET2270 enters the suspend state. This allows time for a local CPU that uses LCLKO to power down. • A device remote wakeup event will not be recognized during the 500 µsec suspend delay period. In suspend mode, the NET2270’s oscillator shuts down, and most output pins are tri-stated to conserve power (see section 3, Pin Description). Note that input pins to the NET2270 should not be allowed to float during suspend mode. The NET2270 will leave suspend mode by detecting a host initiated wake-up or by a device remote wake-up. If a device is self-powered, it may ignore the USB suspend request and never write a 1 to the Suspend Request Interrupt bit. ______________________________________________________________________________ 44 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 7.1.2 Host-Initiated Wake-Up The host may wake up the NET2270 by driving any non-idle state on the USB. The NET2270 will detect the host’s wake-up request, and re-starts its internal oscillator. The host initiated wake-up is only recognized if the VBUS input pin is high, and the USB Detect Enable and USB Root Port Wakeup Enable bits in the USBCTL0 register are set. 7.1.3 Device-Remote Wake-Up The device hardware signals a device remote wake-up by driving the CS# input pin low. If the I/O Wakeup Enable bit in the USBCTL0 register is set, the NET2270 re-starts its local oscillator. Two milliseconds after the CS# pin is asserted, the local CPU must write to the Generate Resume bit of the USBCTL1 register. This will cause a 10-ms wake-up signal to be sent to the USB host. 7.1.4 Resume Interrupt When the NET2270 begins either a Device-Remote Wake-Up or Host-Initiated Wake-Up, it may be programmed to generate a resume interrupt. The Resume Interrupt bit of the IRQSTAT1 register is set when a resume is detected, and can be enabled to generate an interrupt with the Resume Interrupt Enable bit. 7.2 NET2270 Power Configuration The USB specification defines both bus-powered and self-powered devices. A bus-powered device is a peripheral that derives all of its power from the upstream USB connector, while a self-powered device has an external power supply. The most significant consideration when deciding whether to build a bus-powered or a self-powered device is power consumption. The USB specification dictates the following requirements for maximum current draw: • A device not configured by the host can draw only 100 mA from the USB power pins. • A device may not draw more than 500 mA from the USB connector’s power pins. • In suspend mode, the device may not draw more than 500 µA (or 2.5 mA for a high-power device) from the USB connector’s power pins If these power considerations can be met without the use of an external power supply, the device can be buspowered; otherwise a self-powered design should be implemented. 7.2.1 Self-Powered Device Generally, a device with higher power requirements will be self-powered. In a self-powered device, the NET2270 VDD pins are powered by the local power supply. This allows the local bus to continue accessing the NET2270, even when the device is not connected to the USB bus. The USB connector’s power pin is connected directly to the NET2270 VBUS pin, and is only used to detect whether it is connected to a USB host. While the device is connected to the USB, the NET2270 will automatically request suspend mode when appropriate. The NET2270 should not be powered-down when its local bus is still connected to a powered-up device. There are ESD protection circuits in the NET2270 that will short VDD pins to ground. If the VDD pins are not powered, they will sink too much current from the board. 7.2.2 Low-Power Modes 7.2.2.1 USB Suspend (Unplugged from USB) The NET2270 may draw a small amount of power when disconnected from the USB. Disconnecting from the USB can be accomplished in two different ways: • Un-plug the USB cable. • Clear the USB Detect Enable bit in the USBCTL0 register. ______________________________________________________________________________ 45 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller In power-sensitive applications, the local CPU can force the NET2270 to enter low-power suspend mode when disconnected from the USB by writing a 1 to the Suspend Request Interrupt bit. The NET2270 will automatically wake-up when the peripheral is re-connected (cable plugged in and USB Detect Enable bit set) to the USB. Do not force suspend mode unless the peripheral is disconnected from the USB. When the NET2270 is connected to the USB, it is a violation of the USB specification to enter the suspend state unless the upstream port has been idle for at least 3 milliseconds. This is the preferred method of suspending the NET2270, since a USB re-connection will automatically cause the NET2270 to wake-up and set the Resume Interrupt bit. 7.2.2.2 Power-On Standby The local CPU can prevent the NET2270 from starting its oscillator on power-up by driving a LOW into the CS# pin while RESET# is asserted (LOW). In this state the NET2270 requires only a small quiescent standby current. When the peripheral wishes to start the oscillator, it releases the CS# pin and continues to assert RESET# for a minimum of 2 milliseconds. Note that while the oscillator is stopped, the NET2270 cannot respond to USB requests, so the oscillator must be allowed to start when the peripheral detects a USB connection event. The local CPU is responsible for detecting the connection, and ending the standby condition. This standby technique is appropriate when the device’s power budget does not allow the NET2270 to be active long enough to shut it down by setting the Suspend Request Interrupt bit. ______________________________________________________________________________ 46 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8 Configuration Registers 8.1 Register Description The NET2270 occupies a 32-byte address space that can be accessed by a CPU on the local bus. Registers can be accessed directly or indirectly through a pointer register. Accessing the registers directly provides higher performance, while accessing the registers through the pointer register requires fewer physical address pins. The most commonly used registers have been located at the lowest addresses, thus providing the highest performance when using less than 5 address bits. Each configuration register is organized as an 8-bit register, while the Endpoint Packet Buffers can be accessed either as an 8-bit or 16-bit port, depending on the value of the Data Width bit of the LOCCTL register. After the NET2270 is powered-up or reset, the registers are set to their default values. Writes to unused registers are ignored, and reads from unused registers return a value of 0. For compatibility with future revisions, reserved bits within a register should always be written with a zero. 8.2 Register Summary Register Groups Main Control Registers USB Control Registers Endpoint Registers 8.2.1 Main Control Registers Address Register Name 00h 01h 02h 03h 04h 1Ch 1Dh 20h 21h 22h 23h REGADDRPTR REGDATA IRQSTAT0 IRQSTAT1 PAGESEL DMAREQ SCRATCH IRQENB0 IRQENB1 LOCCTL CHIPREV Register Description Register Address Pointer Register Data Interrupt Status Register (low byte) Interrupt Status Register (high byte) Endpoint Page Select Register DMA Request Control General Purpose Scratch-pad Interrupt Enable Register (low byte) Interrupt Enable Register (high byte) Local Bus Control Chip Silicon Revision Page 50 50 50 51 51 52 52 53 53 54 54 ______________________________________________________________________________ 47 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8.2.2 USB Control Registers Address Register Name 18h 19h 1Ah 1Bh 30h 31h 32h 33h 40h 41h 42h 43h 44h 45h 46h 47h USBCTL0 USBCTL1 FRAME0 FRAME1 OURADDR USBDIAG USBTEST XCVRDIAG SETUP0 SETUP1 SETUP2 SETUP3 SETUP4 SETUP5 SETUP6 SETUP7 Register Description USB Control Register (low byte) USB Control Register (high byte) USB Frame Number (low byte) USB Frame Number (high byte) Our USB Address Diagnostic register USB 2.0 Test Control Register USB Transceiver Diagnostic Register Setup byte 0 Setup byte 1 Setup byte 2 Setup byte 3 Setup byte 4 Setup byte 5 Setup byte 6 Setup byte 7 Page 55 55 55 55 56 56 56 56 57 58 58 58 58 58 59 59 8.2.3 Endpoint Registers Note: There is a set of endpoint registers for each endpoint. The Page Select field in the PAGESEL register selects which set of registers is active when the following addresses are accessed. Address Register Name Register Description Page 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh 28h 29h 2Ah EP_DATA EP_STAT0 EP_STAT1 EP_TRANSFER0 EP_TRANSFER1 EP_TRANSFER2 EP_IRQENB EP_AVAIL0 EP_AVAIL1 EP_RSPCLR EP_RSPSET EP_MAXPKT0 EP_MAXPKT1 EP_CFG Endpoint Data Register Endpoint Status (low byte) Endpoint Status (high byte) IN endpoint byte count (byte 0) IN endpoint byte count (byte 1) IN endpoint byte count (byte 2) Endpoint interrupt enable Buffer space/byte count (byte 0) Buffer space/byte count (byte 1) Endpoint Response Control Clear Endpoint Response Control Set Endpoint Maximum Packet (low byte) Endpoint Maximum Packet (high byte) Endpoint configuration 60 60 61 62 62 62 63 63 63 64 65 65 65 66 ______________________________________________________________________________ 48 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 8.3 NET2270 USB Interface Controller Numeric Register Listing This table shows the number of address bits required to access a register directly. If only four address bits are supplied to the chip, then the registers that require 5 address bits must be addressed indirectly using REGADDRPTR and REGDATA. Addresses marked with (P) are paged registers selected by the Page Select field in the PAGESEL register. Address Address bits Required 00h 01h 02h 03h 04h 05h (P) 06h (P) 07h (P) 08h (P) 09h (P) 0Ah (P) 0Bh (P) 0Ch (P) 0Dh (P) 0Eh (P) 0Fh (P) 10-17h 18h 19h 1Ah 1Bh 1Ch 1Dh 1E-1Fh 20h 21h 22h 23h 24-27h 28h (P) 29h (P) 2Ah (P) 2B-2Fh 30h 31h 32h 33h 34-3Fh 40h 41h 42h 43h 44h 45h 46h 1 1 2 2 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only Indirect Only D[15:8] REGDATA1 EP_DATA1 D[7:0] REGADDRPTR REGDATA IRQSTAT0 IRQSTAT1 PAGESEL EP_DATA EP_STAT0 EP_STAT1 EP_TRANSFER0 EP_TRANSFER1 EP_TRANSFER2 EP_IRQENB EP_AVAIL0 EP_AVAIL1 EP_RSPCLR EP_RSPSET Reserved USBCTL0 USBCTL1 FRAME0 FRAME1 DMAREQ SCRATCH Reserved IRQENB0 IRQENB1 LOCCTL CHIPREV Reserved EP_MAXPKT0 EP_MAXPKT1 EP_CFG Reserved OURADDR USBDIAG USBTEST XCVRDIAG Reserved SETUP0 SETUP1 SETUP2 SETUP3 SETUP4 SETUP5 SETUP6 Register Description Register Address Pointer for indirect register addressing Register Data port for indirect register addressing Interrupt Status Register (low byte) Interrupt Status Register (high byte) Page Select Register. Select current Endpoint Endpoint Data Register Endpoint Main Status For IN endpoint, number of bytes to transfer to host. Endpoint Interrupt Enable For IN endpoints, number of available spaces in buffer. For OUT endpoints, number of bytes in buffer. Endpoint Response Register Clear Endpoint Response Register Set USB Control Frame Counter DMA Request Control Register General-Purpose Scratchpad register Interrupt Enable Register Local Bus Control Register Chip Revision Number Endpoint Max Packet Size Endpoint Configuration Our USB address Diagnostic Register USB 2.0 Test Control Register Transceiver Diagnostic Register Setup byte 0 Setup byte 1 Setup byte 2 Setup byte 3 Setup byte 4 Setup byte 5 Setup byte 6 ______________________________________________________________________________ 49 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 47h NET2270 USB Interface Controller Indirect Only 8.4 SETUP7 Setup byte 7 Main Control Registers 8.4.1 (Address 00h; REGADDRPTR) Indirect Register Address Pointer Bits Description 7 6:0 Reserved. Register Address. Register Address Pointer used for indirect register addressing. Read Write Default Value 0 Yes No Yes 0 0 Read Write Default Value Yes Yes 0 Read Write Default Value Yes Yes/CLR 0 Yes Yes/CLR 0 Yes Yes/CLR 0 0 Yes No No 0 0 Yes No 0 Yes No 0 Yes No 0 8.4.2 (Address 01h; REGDATA) Indirect Register Data Bits Description 15:0 Register Data. Register Data port for indirect register addressing. For 8-bit bus widths, data is transferred on bits [7:0]. For 16-bit buffer accesses, data is transferred on bits [15:0]. 8.4.3 (Address 02h; IRQSTAT0) Interrupt Status Register (low byte) Bits 7 6 5 4 3 2 1 0 Description SOF Interrupt. This bit indicates when a start-of-frame packet has been received by the NET2270. Writing a 1 clears this status bit. DMA Done Interrupt. This bit indicates that the EOT# input has been asserted or the EP_TRANSFER counter reaches zero during a DMA transfer to an IN endpoint. Writing a 1 clears this status bit. This bit is set independently of the corresponding interrupt enable bit. Setup Packet Interrupt. This bit is set when a setup packet has been received from the host. Writing a 1 clears this status bit. Reserved. Endpoint C Interrupt. This bit conveys the interrupt status for Endpoint C. When set, Endpoint C’s interrupt status register should be read to determine the cause of the interrupt. This bit is set independently of the interrupt enable bit. Endpoint B Interrupt. This bit conveys the interrupt status for Endpoint B. When set, Endpoint B’s interrupt status register should be read to determine the cause of the interrupt. This bit is set independently of the interrupt enable bit. Endpoint A Interrupt. This bit conveys the interrupt status for Endpoint A. When set, Endpoint A’s interrupt status register should be read to determine the cause of the interrupt. This bit is set independently of the interrupt enable bit. Endpoint 0 Interrupt. This bit conveys the interrupt status for Endpoint 0. When set, Endpoint 0’s interrupt status register should be read to determine the cause of the interrupt. This bit is set independently of the interrupt enable bit. ______________________________________________________________________________ 50 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8.4.4 (Address 03h; IRQSTAT1) Interrupt Status Register (high byte) Bits 7 6 5 4 3 2 1 0 Description Reset Status. When set, this bit indicates that either the RESET# pin is asserted, or a USB root port reset is currently active. Root Port Reset Interrupt. This bit indicates a change in state of the root port reset detector. Writing a 1 clears this status bit. Resume Interrupt. When set, this bit indicates that a device resume has occurred. Writing a 1 clears this status bit. Suspend Request Change Interrupt. This bit is set whenever there is a change in the Suspend Request Interrupt state (bit 3 of this register). Writing a 1 clears this status bit. Suspend Request Interrupt. This bit is set when the NET2270 detects a USB Suspend request from the host. The Suspend Request state cannot be set or cleared by writing this bit. Instead, writing a 1 to this bit puts the NET2270 into the lowpower suspend mode (see section 7.1.1). VBUS Interrupt. When set, this bit indicates that a change occurred on the VBUS input pin. Read the USBCTL1 register for the current state of this pin. Writing a 1 clears this status bit. Control Status Interrupt. This bit is set when an IN or OUT token indicating Control Status has been received. Writing a 1 clears this status bit. Reserved. Read Write Default Value Yes No 0 Yes Yes/CLR 0 Yes Yes/CLR 0 Yes Yes/CLR 0 Yes Yes/ Suspend 0 Yes Yes/CLR 0 Yes Yes/CLR 0 0 No 0 Read Write Default Value 0 Yes No Yes 0 00 8.4.5 (Address 04h; PAGESEL) Endpoint Page Select Register Bits Description 7:2 1:0 Reserved. Page Select. The NET2270 uses a paged architecture for accessing the registers associated with each endpoint. This field selects which set of endpoint registers can be accessed. VALUE ENDPOINT 00 01 10 11 EP 0 EP A EP B EP C ______________________________________________________________________________ 51 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8.4.6 (Address 1Ch; DMAREQ) DMA Request Control Register Bits 7 6 5 4 3 2 1 0 Description DMA Buffer Valid. When clear, the buffer will not be automatically validated at the end of a DMA transfer. When set, the buffer is automatically validated at the end of a DMA if EOT is asserted. This bit only applies to IN endpoints. DMA Request. This status bit reflects the state of the DREQ output pin, and allows a CPU on the local bus to monitor DMA transfers. DMA Request Enable. Writing a 1 to this bit enables the NET2270 to start requesting DMA cycles from a DMA controller on the local bus. If the EOT input is asserted, or the EP_TRANSFER counter reaches zero, this bit is automatically reset. A CPU on the local bus may also explicitly reset this bit to terminate a DMA transfer. If the CPU writes a 0 to the EP_TRANSFER0 register of the endpoint selected by Page Select, this bit is cleared. This bit can be read to determine whether a DMA transfer is still in progress. DMA Control DACK. When clear, only DACK is used to perform DMA read and write transactions. When set, IOR# and IOW# (or DMARD# and DMAWR# for split mode DMA) control signals are used with DACK to perform DMA read and write transactions. EOT Polarity. When clear, the EOT input pin is active low. When set, the EOT input pin is active high. DACK Polarity. When clear, the DACK input pin is active low. When set, the DACK input pin is active high. DREQ Polarity. When clear, the DREQ output pin is active low. When set, the DREQ output pin is active high. DMA Endpoint Select. This field determines which endpoint is being accessed during a DMA channel transfer. Value Endpoint used during DMA 0 Endpoint A 1 Endpoint B Read Write Default Value Yes Yes 0 Yes No 0 Yes Yes 0 Yes Yes 0 Yes Yes 0 Yes Yes 0 Yes Yes 1 Yes Yes 0 Read Write Default Value Yes Yes 5Ah 8.4.7 (Address 1Dh; SCRATCH) Scratchpad Register Bits Description 7:0 SCRATCH. General-purpose scratchpad register. ______________________________________________________________________________ 52 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8.4.8 (Address 20h; IRQENB0) Interrupt Enable Register (low byte) Bits 7 6 5 4 3 2 1 0 Description SOF Interrupt Enable. When set, this bit enables a local interrupt to be generated when a start-of-frame packet is received by the NET2270. DMA Done Interrupt Enable. When set, this bit enables a local interrupt to be generated when an EOT signal is received from the DMA controller, or when the EP_TRANSFER counter reaches 0 during DMA writes to an IN endpoint. Setup Packet Interrupt Enable. When set, this bit enables a local interrupt to be generated when a setup packet has been received from the host. Reserved. Endpoint C Interrupt Enable. When set, this bit enables a local interrupt to be set when an interrupt is active on this endpoint. Endpoint B Interrupt Enable. When set, this bit enables a local interrupt to be set when an interrupt is active on this endpoint. Endpoint A Interrupt Enable. When set, this bit enables a local interrupt to be set when an interrupt is active on this endpoint. Endpoint 0 Interrupt Enable. When set, this bit enables a local interrupt to be set when an interrupt is active on this endpoint. Read Write Default Value Yes Yes 0 Yes Yes 0 Yes Yes 0 0 Yes No Yes 0 0 Yes Yes 0 Yes Yes 0 Yes Yes 0 Read Write Default Value 0 Yes No Yes 0 0 Yes Yes 0 Yes Yes 0 Yes Yes 0 Yes Yes 0 Yes Yes 0 0 No 0 8.4.9 (Address 21h; IRQENB1) Interrupt Enable Register (high byte) Bits 7 6 5 4 3 2 1 0 Description Reserved. Root Port Reset Interrupt Enable. When set, this bit enables a local interrupt to be generated when a root port reset is detected. Resume Interrupt Enable. When set, this bit enables a local interrupt to be generated when a device resume has been detected. Suspend Request Change Interrupt Enable. When set, this bit enables a local interrupt to be generated when a change in the Suspend Request Interrupt state is detected. Suspend Request Interrupt Enable. When set, this bit enables a local interrupt to be generated when a USB Suspend Request from the host is detected. VBUS Interrupt Enable. When set, this bit enables a local interrupt to be generated when a change has been detected on the VBUS pin. Control Status Interrupt Enable. When set, this bit enables a local interrupt to be generated when an IN or OUT token indicating Control Status has been received. Reserved. ______________________________________________________________________________ 53 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8.4.10 (Address 22h; LOCCTL) Local Bus Control Register Bits Description 7:6 Buffer Configuration. Buffer configuration for endpoints A and B. For example, if value 01 is selected, Endpoint A will be allocated a single buffer with buffer size set to 1024 bytes, while Endpoint B will be allocated a double buffer with each buffer size set to 512 bytes. Actual packets sent/received can be less than or equal to the EP_MAXPKT size for the selected endpoint. The EP_MAXPKT size must be less than or equal to the allocated buffer size. Value EP_A EP_B 00 512 db * 512 db 01 1024 512 db 10 1024 1024 11 1024 db Disabled * "db" means double buffered. All values shown in bytes. Byte Swap. When clear, local data bus LD[15:0] is connected to the endpoint buffer with no byte swapping. When set, the two bytes of a 16-bit data bus are swapped before connecting to the endpoint buffer. 5 4 3:1 0 DMA Split Bus Mode. When clear, I/O and DMA accesses share the same data bus. When set, I/O accesses to the configuration registers or buffers use LD[7:0], and DMA accesses to the buffers use LD[15:8], thus splitting the data bus for CPU and DMA accesses. Local Clock Output. This field controls the frequency of the LCLKO pin. Value Frequency 000 0 (off) 001 3.75 MHz 010 7.5 MHz (default) 011 15 MHz 100 30 MHz 101 60 MHz 110 Reserved 111 Reserved Data Width. This field controls the width of the local data bus for EP_DATA accesses to endpoint buffers. Write to this register using the lower 8 bits of the data bus to switch to 16-bit mode. This bit does not affect accesses to any other registers. Value Width 0 8 bits 1 16 bits Read Write Default Value Yes Yes 00 Yes Yes 0 Yes Yes 0 Yes Yes 2 Yes Yes 0 Read Write Default Value Yes No 8.4.11 (Address 23h; CHIPREV) Silicon Revision Register Bits Description 7:0 Chip Revision. This register returns the current silicon revision number of the NET2270. Current Revision Note: The chip revision is encoded as a 2-digit BCD value. The most significant digit is the major revision number, and the least significant digit is the minor revision number. ______________________________________________________________________________ 54 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 8.5 NET2270 USB Interface Controller USB Control Registers 8.5.1 (Address 18h; USBCTL0) USB Control Register (low byte) Bits Description 7:6 5 Reserved USB Root Port Wakeup Enable. When clear, the wake-up condition is not detected. When set, the root port wake-up condition is detected when activity is detected on the USB. Reserved. USB Detect Enable. When clear, the NET2270 does not appear to be connected to the USB host. When set, the NET2270 appears to be connected to the USB host. This bit should not be set until the configuration registers have been programmed. When operating as a bus-powered device, the registers should be programmed and this bit should be set promptly after VBUS has been detected. Reserved. I/O Wakeup Enable. When clear, asserting CS# will not cause a device remote wakeup. When set, this bit enables the assertion of CS# to initiate a device remote wakeup. Reserved. 4 3 2 1 0 Read Write Default Value Yes Yes Yes Yes 11 1 Yes Yes Yes Yes 0 0 Yes Yes No Yes 0 0 Yes No 0 Read Write Default Value 0 No No Yes/ Resume 0 0 Yes No 0 Yes No 0 Yes No 0 Read Write Default Value Yes No 0 Read Write Default Value 0 Yes No No 0 0 8.5.2 (Address 19h; USBCTL1) USB Control Register (high byte) Bits Description 7:4 3 Reserved. Generate Resume. Writing a 1 to this bit causes a Resume sequence to be initiated to the host if device remote wakeup is enabled. This bit should be written after a device remote wakeup has been generated (CS# pin asserted). This bit is selfclearing, and reading always returns a 0. USB High Speed. When set, this bit indicates that the transceiver is operating in high speed (480 Mbits/sec) mode. USB Full Speed. When set, this bit indicates that the transceiver is operating in full speed (12 Mbits/sec) mode. VBUS pin. This bit indicates the state of the VBUS pin. When set, this bit indicates that the NET2270 is connected to the USB. 2 1 0 8.5.3 (Address 1Ah; FRAME0) Frame Counter (low byte) Bits Description 7:0 FRAME[7:0]. This field contains the frame counter from the most recent start-offrame packet. 8.5.4 (Address 1Bh; FRAME1) Frame Counter (high byte) Bits Description 7:3 2:0 Reserved. FRAME[10:8]. This field contains the frame counter from the most recent start-offrame packet. ______________________________________________________________________________ 55 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8.5.5 (Address 30h; OURADDR) Our Current USB Address Bits 7 6:0 Description Force Immediate. If this bit is set when this register is being written, the NET2270 USB address is updated immediately, without waiting for a valid status phase from the USB host. Our Address. This field contains the current USB address of the device. This field is cleared when a root port reset is detected. After this field is written, the register isn’t actually updated until the corresponding status phase of the control write transfer completes successfully. This feature allows the firmware to write this field as soon as the Setup packet is received, rather than waiting for a successful status phase. Refer to sections 9.2.6.3 and 9.4.6 of the USB 2.0 specification. Read Write Default Value 0 Yes/Force 0 Yes Yes 0 Read Write Default Value Yes Yes No Yes 0 1 Yes Yes 0 Yes Yes No Yes/Set 0 0 Yes Yes/Set 0 Yes Yes/Set 0 Read Write Default Value Yes Yes No Yes 0 0 8.5.6 (Address 31h; USBDIAG) USB Diagnostic Register Bits Description 7:6 5 Reserved Force Bi-Directional to Inputs. When this bit is set, all bi-directional pins on the chip are forced to inputs in test mode. Fast Times. When this bit is set, the frame counter operates at a fast speed for factory chip testing purposes only. Reserved. Force Receive Error. When this bit is set, an error is forced on the next received data packet. As a result, the packet will not be acknowledged. This bit is automatically cleared at the end of the next packet. Prevent Transmit Bit-Stuff. When this bit is set, normal bit-stuffing is suppressed during the next transmitted data packet. This will cause a bit-stuffing error when six or more consecutive bits of ‘1’ are in the data stream. This bit is automatically cleared at the end of the next packet. Force Transmit CRC Error. When this bit is set, a CRC error is forced on the next transmitted data packet. Inverting the most significant bit of the calculated CRC generates the CRC error. This bit is automatically cleared at the end of the next packet. 4 3 2 1 0 8.5.7 (Address 32h; USBTEST) USB Test Modes Bits Description 7:3 2:0 Reserved. Test Mode Select. Value 000 001 010 011 100 101 110 111 See sections 7.1.20 and 9.4.9 of the USB 2.0 specification. Test Normal Operation Test_J Test_K Test_SE0_NAK Test_Packet Test_Force_Enable Reserved Reserved ______________________________________________________________________________ 56 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8.5.8 (Address 33h; XCVRDIAG) Transceiver Diagnostic Register Bits 7 6 5:4 3 2 1 0 Description Full Speed Receive SE0. High when a single-ended zero is detected in full- speed mode. Full Speed Receive Data. High when received data is a J (idle), and low when received data is a K (resume) in full- speed mode. IOST[1:0] Value Description 00 High-speed normal operation 01 High-speed K 10 High-speed J 11 High-speed high impedance Force High Speed. When this bit is high, the transceiver is forced into high-speed mode (480 Mbps). Force Full Speed. When this bit is high, the transceiver is forced into full-speed mode (12 Mbps). Reserved. RPU Disable. When low, the Full-speed pull-up resistor on DP is enabled (RPU pin set high). When high, the Full-speed pull-up resistor on DP is disabled (RPU pin tri-stated). Read Write Default Value Yes No - Yes No - Yes No -- Yes Yes 0 Yes Yes 0 Yes Yes No No 0 1 Read Write Default Value Yes No 0 8.5.9 (Address 40h; SETUP0) Setup Byte 0 Bits Description 7:0 Setup Byte 0. This register provides byte 0 of the last setup packet received. For a Standard Device Request, the following bmRequestType information is returned. Refer to section 9.3 of the USB 2.0 specification. Bit Description 7 Direction: 0 = host to device; 1 = device to host 6:5 Type: 0 = Standard, 1 = Class, 2 = Vendor, 3 = Reserved 4:0 Recipient: 0 = Device, 1 = Interface, 2 = Endpoint, 3 = Other, 4-31 = Reserved ______________________________________________________________________________ 57 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8.5.10 (Address 41h; SETUP1) Setup Byte 1 Bits Description 7:0 Setup Byte 1. This register provides byte 1 of the last setup packet received. For a Standard Device Request, the following bRequest Code information is returned. Refer to section 9.4 of the USB 2.0 specification. Code Description 00h Get Status 01h Clear Feature 02h Reserved 03h Set Feature 04h Reserved 05h Set Address 06h Get Descriptor 07h Set Descriptor 08h Get Configuration 09h Set Configuration 0Ah Get Interface 0Bh Set Interface 0Ch Synch Frame Read Write Default Value Yes No 0 Read Write Default Value Yes No 0 Read Write Default Value Yes No 0 Read Write Default Value Yes No 0 Read Write Default Value Yes No 0 8.5.11 (Address 42h; SETUP2) Setup Byte 2 Bits Description 7:0 Setup Byte 2. This register provides byte 2 of the last setup packet received. For a Standard Device Request, the least significant byte of the wValue field is returned. Refer to section 9.3.3 of the USB 2.0 specification. 8.5.12 (Address 43h; SETUP3) Setup Byte 3 Bits Description 7:0 Setup Byte 3. This register provides byte 3 of the last setup packet received. For a Standard Device Request, the most significant byte of the wValue field is returned. Refer to section 9.3.3 of the USB 2.0 specification. 8.5.13 (Address 44h; SETUP4) Setup Byte 4 Bits Description 7:0 Setup Byte 4. This register provides byte 4 of the last setup packet received. For a Standard Device Request, the least significant byte of the wIndex field is returned. Refer to section 9.3.4 of the USB 2.0 specification. 8.5.14 (Address 45h; SETUP5) Setup Byte 5 Bits Description 7:0 Setup Byte 5. This register provides byte 5 of the last setup packet received. For a Standard Device Request, the most significant byte of the wIndex field is returned. Refer to section 9.3.4 of the USB 2.0 specification. ______________________________________________________________________________ 58 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8.5.15 (Address 46h; SETUP6) Setup Byte 6 Bits Description 7:0 Setup Byte 6. This register provides byte 6 of the last setup packet received. For a Standard Device Request, the least significant byte of the wLength field is returned. Refer to section 9.3.3 of the USB 2.0 specification. Read Write Default Value Yes No 0 Read Write Default Value Yes No 0 8.5.16 (Address 47h; SETUP7) Setup Byte 7 Bits Description 7:0 Setup Byte 7. This register provides byte 7 of the last setup packet received. For a Standard Device Request, the most significant byte of the wLength field is returned. Refer to section 9.3.3 of the USB 2.0 specification. ______________________________________________________________________________ 59 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 8.6 NET2270 USB Interface Controller Endpoint Registers There are 4 sets of endpoint registers, one for each endpoint. To access an endpoint, set the Page Select field of the PAGESEL register to the desired endpoint, then read or write to an endpoint register as defined below. Status bits associated with an endpoint packet buffer (Buffer Full, Buffer Empty, etc), are only valid for the currently visible buffer. The currently visible buffer is the one that is currently being written to or read from by the local bus. 8.6.1 (Address 05h; EP_DATA) Endpoint Data Note: If DMA Request is enabled, then this register accesses the endpoint buffer selected by DMA Endpoint Select, rather than Page Select. Bits Description 15:8 Endpoint Data (High Order byte). When operating with a bus width of 16 bits, bits [15:8] of this register provide the high order byte. Endpoint Data (Low Order byte). When operating with a bus width of 8 bits, bits [7:0] of this register provide the data for the buffer transaction (read or write). When operating with a bus width of 16 bits, bits [7:0] of this register provide the low order byte. 7:0 Read Write Default Value Yes Yes 0 Yes Yes 0 8.6.2 (Address 06h; EP_STAT0) Endpoint Status Register (low byte) Note: If DMA Request is enabled, then the Buffer Full and Buffer Empty bits correspond to the endpoint buffer selected by DMA Endpoint Select, rather than Page Select. ______________________________________________________________________________ 60 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification Bits 7 6 5 4 3 2 1 0 NET2270 USB Interface Controller Description Buffer Full. This bit is set when the endpoint packet buffer is full for an IN endpoint, the currently selected buffer has a count of MaxPkt bytes, or no buffer is available to the local side for writing (no space to write). For an OUT endpoint, there is a buffer available on the local side, and there are MaxPkt bytes available to read (entire packet is available for reading). Buffer Empty. For an IN endpoint, a buffer is available to the local side for writing up to MaxPkt bytes. This bit is set when the endpoint buffer is empty. For an OUT endpoint, the currently selected buffer has a count of 0, or no buffer is available on the local side (nothing to read). NAK OUT Packets. This bit is set when a short data packet is received from the host by this endpoint, and the NAK OUT Packets Mode bit of the EP_RSPSET register is set. Writing a 1 clears this status bit. If this bit is set and another OUT token is received, a NAK is returned to the host if another OUT packet is sent to this endpoint. This bit can also be controlled by the EP_RSPCLR and EP_RSPSET registers. Short Packet Transferred Interrupt. This bit is set when the length of the last packet was less than the Maximum Packet Size (EP_MAXPKT). Writing a 1 clears this bit. Data Packet Received Interrupt. This bit is set when a data packet is received from the host by this endpoint. Writing a 1 clears this bit. Data Packet Transmitted Interrupt. This bit is set when a data packet is transmitted from the endpoint to the host. Writing a 1 clears this bit. Data OUT Token Interrupt. This bit is set when a Data OUT token has been received from the host. This bit is also set by PING tokens (in high-speed only). Writing a 1 clears this bit. Data IN Token Interrupt. This bit is set when a Data IN token has been received from the host. Writing a 1 clears this bit. Read Write Default Value Yes No 0 Yes No 1 Yes Yes/CLR 0 Yes Yes/CLR 0 Yes Yes/CLR 0 Yes Yes/CLR 0 Yes Yes/CLR 0 Yes Yes/CLR 0 8.6.3 (Address 07h; EP_STAT1) -- Endpoint Status Register (high byte) Bits 7 6 5 4 3 2 1 0 Description Buffer Flush. Writing a 1 to this bit causes the packet buffer to be flushed and the corresponding EP_AVAIL register to be cleared. This bit is self-clearing. This bit should always be written after an endpoint configuration (direction, address, etc.) has been changed. This bit should not be asserted during a split-mode DMA if Page Select is selecting another endpoint. Reserved. USB STALL Sent. The last USB packet could not be accepted or provided because the endpoint was stalled, and was acknowledged with a STALL. Writing a 1 clears this bit. USB IN NAK Sent. The last USB IN packet could not be provided, and was acknowledged with a NAK. Writing a 1 clears this bit. USB IN ACK Rcvd. The last USB IN data packet transferred was successfully acknowledged with an ACK from the host. Writing a 1 clears this bit. USB OUT NAK Sent. The last USB OUT data packet could not be accepted, and was acknowledged with a NAK to the host. Writing a 1 clears this bit. USB OUT ACK Sent. The last USB OUT data packet transferred was successfully acknowledged with an ACK to the host. Writing a 1 clears this bit. Timeout. For an IN endpoint, the last USB packet transmitted was not acknowledged by the Host PC, indicating a bus error. The Host PC will expect the same packet to be retransmitted in response to the next IN token. For an OUT endpoint, the last USB packet received had a CRC or bit-stuffing error, and was not acknowledged by the NET2270. The Host PC will retransmit the packet. Writing a 1 clears this bit. Read Write Default Value 0 Yes/Flush 0 0 Yes No Yes/CLR 0 0 Yes Yes/CLR 0 Yes Yes/CLR 0 Yes Yes/CLR 0 Yes Yes/CLR 0 Yes Yes/CLR 0 ______________________________________________________________________________ 61 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8.6.4 (Address 08h; EP_TRANSFER0) Transfer Count Register (Byte 0) Bits Description 7:0 EP_TRANSFER[7:0]. For IN endpoints, this field determines the total number of bytes to be sent to the host. This field should be written before any packet data is written to the buffer. When the count reaches zero, any remaining data in the buffer is validated. Writing a zero to this register when EP_TRANSFER1 and EP_TRANSFER2 have a value of 0 validates the buffer. Note that validation takes about 100 nsec. Read Write Default Value Yes Yes 0 Read Write Default Value Yes Yes 0 Read Write Default Value Yes Yes 0 For OUT endpoints, this counter is cleared when the NAK OUT packets bit is cleared (EP_RSPCLR bit 7). This counter is incremented for every byte read from the packet buffer. If 16-bit mode is selected and only one of the two bytes is valid, the counter will only increment by 1. 8.6.5 (Address 09h; EP_TRANSFER1) Transfer Count Register (Byte 1) Bits Description 7:0 EP_TRANSFER[15:8]. 8.6.6 (Address 0Ah; EP_TRANSFER2) Transfer Count Register (Byte 2) Bits Description 7:0 EP_TRANSFER[23:16]. ______________________________________________________________________________ 62 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8.6.7 (Address 0Bh; EP_IRQENB) Endpoint Interrupt Enable Register Bits Description 7:5 4 Reserved. Short Packet Transferred Interrupt Enable. When set, this bit enables a local interrupt to be set when a short data packet has been transferred to/from the host. Data Packet Received Interrupt Enable. When set, this bit enables a local interrupt to be set when a data packet has been received from the host. Data Packet Transmitted Interrupt Enable. When set, this bit enables a local interrupt to be set when a data packet has been transmitted to the host. Data OUT Token Interrupt Enable. When set, this bit enables a local interrupt to be set when a Data OUT token has been received from the host. Data IN Token Interrupt Enable. When set, this bit enables a local interrupt to be set when a Data IN token has been received from the host. 3 2 1 0 Read Write Default Value 0 Yes No Yes 0 0 Yes Yes 0 Yes Yes 0 Yes Yes 0 Yes Yes 0 8.6.8 (Address 0Ch: EP_AVAIL0) Endpoint Available Count (low byte) Note: If DMA Request is enabled, then the value in this register corresponds to the endpoint buffer selected by DMA Endpoint Select, rather than Page Select. Bits Description 7:0 EP_AVAIL[7:0]. For an OUT endpoint, this register returns the number of valid bytes in the endpoint packet buffer. Values range from 0 (empty) to 1024 (full). Read Write Default Value Yes No 0 Read Write Default Value Yes Yes No No 0 0 For an IN endpoint, this register returns the number of empty bytes in the packet buffer. Values range from 0 (full) to 1024 (empty). This field is updated either after 2 bytes have been written to the buffer, or when the buffer has been validated. If only the low byte of this field is read, the entire 11-bit field is frozen until the upper byte is read. 8.6.9 (Address 0Dh: EP_AVAIL1) Endpoint Available Count (high byte) Bits Description 7:3 2:0 Reserved. EP_AVAIL[10:8]. ______________________________________________________________________________ 63 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8.6.10 (Address 0Eh; EP_RSPCLR) Endpoint Response Register Clear Note: Writing a 1 to bits 7:0 clears the corresponding register bits. Bits 7 6 5 4 3 2 1 0 Description Alt NAK OUT Packets. This bit is set when a short data packet is received from the host by this endpoint, and the NAK OUT Packets Mode bit is set. If this bit is set and another OUT token is received, a NAK is returned to the host if another OUT packet is sent to this endpoint. This bit can also be cleared by a bit in the EP_STAT0 register. Hide Status Phase. When set, the DATA Packet Received and Data Packet Transmitted interrupts for status phase packets are not set. Auto Validate. When set, this bit allows automatic validation of maximum length packets and automatic release of empty OUT buffers. This is the normal mode of operation for endpoint transactions and is the default state for this bit. When this bit is clear, IN packets are manually validated by writing a zero to the EP_TRANSFER register. OUT packets can be manually released by setting this bit high, then low. Interrupt Mode. This bit is only used for INTERRUPT endpoints. For normal interrupt data, this bit should be set to zero and standard data toggle protocol is followed. When this interrupt endpoint is used for isochronous rate feedback information, this bit should be set high. In this mode the data toggle bit is changed after each packet is sent to the host without regard to handshaking. No packet retries are performed in the rate feedback mode. Control Status Phase Handshake. This bit is only used for endpoint 0. This bit is automatically set when a setup packet is detected. While the bit is set, a control status phase will be acknowledged with a NAK. Once cleared, the proper response will be returned to the host (ACK for Control Reads and zero-length packets for Control Writes). NAK OUT Packets Mode. This bit is only used for OUT endpoints. When NAK OUT Packets Mode is true, the NAK OUT Packets bit is set whenever a short packet is received by this endpoint. Endpoint Toggle. This bit is used to clear the endpoint data toggle bit. Reading this bit returns the current state of the endpoint data toggle bit. Under normal operation, the toggle bit is controlled automatically, so the local CPU does not need to use this bit. Endpoint Halt. This bit is used to clear the endpoint stall bit. When an Endpoint Set Feature Standard Request to the halt bit is detected by the local CPU, it must write a 1 to this bit. Reading this bit returns the current state of the endpoint halt bit. For Endpoint 0, the halt bit is automatically cleared when another Setup packet is received. Read Write Default Value Yes Yes/Clr 0 Yes Yes/Clr 0 Yes Yes/Clr 1 Yes Yes/Clr 0 Yes Yes/Clr 0 Yes Yes/Clr 1 Yes Yes/Clr 0 Yes Yes/Clr 0 ______________________________________________________________________________ 64 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8.6.11 (Address 0Fh; EP_RSPSET) Endpoint Response Register Set Note: Writing a 1 to bits 7:0 sets the corresponding register bits. Bits 7 6 5 4 3 2 1 0 Description Alt NAK OUT Packets. Hide Status Phase. Auto Validate. Interrupt Mode. Control Status Phase Handshake. NAK OUT Packets Mode. Endpoint Toggle. Endpoint Halt. Read Write Default Value Yes Yes Yes Yes Yes Yes Yes Yes Yes/Set Yes/Set Yes/Set Yes/Set Yes/Set Yes/Set Yes/Set Yes/Set 0 0 1 0 0 1 0 0 Read Write Yes Yes Read Write 0 Yes No Yes 8.6.12 (Address 28h; EP_MAXPKT0) Max Packet Size (low byte) Bits Description 7:0 EP_MAXPKT[7:0]. This field determines the Endpoint Maximum Packet Size. Default Value EP0 = 64 EPA = 512 EPB = 512 EPC = 64 8.6.13 (Address 29h; EP_MAXPKT1) Max Packet Size (high byte) Bits Description 7:3 2:0 Reserved EP_MAXPKT[10:8]. Default Value 0 EP0 = 64 EPA = 512 EPB = 512 EPC = 64 ______________________________________________________________________________ 65 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 8.6.14 (Address 2Ah; EP_CFG) Endpoint Configuration Register NOTE: For Endpoint 0, all fields in this register, except Endpoint Direction, are assigned to fixed values, and are RESERVED. Bits 7 6:5 4 3:0 Description Endpoint Enable. When set, this bit enables this endpoint. This bit has no effect on Endpoint 0, which is always enabled. Endpoint Type. This field selects the type of this endpoint. Endpoint 0 is forced to a Control type. Value Description 0 Reserved 1 Isochronous 2 Bulk 3 Interrupt Endpoint Direction. This bit selects the direction of the endpoint selected by Page Select. EP_DIR = 0 means Host OUT to Device, while EP_DIR = 1 means Host IN from Device. Endpoint 0 is bi-directional, and uses this bit for a test mode. When set, endpoint packet buffers can be read back for diagnostics. Note that a maximum of one OUT and IN endpoint is allowed for each endpoint number. For endpoint 0, this bit is dynamic, and depends on the direction bit in the last Setup packet. Endpoint Number. This field selects the number of the endpoint. Valid numbers are 0 to 15. This field has no effect on Endpoint 0, which always has an endpoint number of 0. Read Write Default Value Yes Yes 0 Yes Yes 0 Yes Yes 0 Yes Yes 0 ______________________________________________________________________________ 66 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 9 USB Standard Device Requests Standard device requests must be supported by Endpoint 0. See also chapter 9, USB specification. The local bus CPU decodes the setup packets for Endpoint 0 and generates a response based on the following tables Table 9-1: Standard Request Codes bRequest Get_Status Clear_Feature Reserved Set_Feature Reserved Set_Address Get_Descriptor Set_Descriptor Get_Configuration Set_Configuration Get_Interface Set_Interface Synch_Frame Value 0 1 2 3 4 5 6 7 8 9 Ah Bh Ch Table 9-2. Descriptor Types Descriptor Types Device Configuration String Interface Endpoint Device Qualifier Other_Speed_Configuration Interface Power Value 1 2 3 4 5 6 7 8 ______________________________________________________________________________ 67 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 9.1 NET2270 USB Interface Controller Control ‘Read’ Transfers 9.1.1 Get Device Status Offset Number of Bytes 0 2 Description bits 15:2 = Reserved bit 1 = Device Remote Wakeup enabled bit 0 = Power supply is good in Self-Powered mode. Suggested Value Determined by local CPU 9.1.2 Get Interface Status Offset Number of Bytes 0 2 Description bits 15:0 = Reserved Suggested Value 0000h 9.1.3 Get Endpoint Status Offset Number of Bytes 0 2 Description bits 15:1 = Reserved bit 0 = Endpoint is halted Suggested Value Determined by local CPU 9.1.4 Get Device Descriptor (18 Bytes) Offset Number of Bytes 0 1 2 4 5 6 7 8 10 12 14 15 16 17 1 1 2 1 1 1 1 2 2 2 1 1 1 1 Description Length Type (device) USB Specification Release Number Class Code Sub Class Code Protocol Maximum Endpoint 0 Packet Size Vendor ID Product ID Device Release Number Index of string descriptor describing manufacturer Index of string descriptor describing product Index of string descriptor describing serial number Number of configurations Suggested Value 12h 01h 0210h FFh 00h 00h 40h 0525h 2270h 0320h 01h 02h 00h (not enabled) Determined by local CPU ______________________________________________________________________________ 68 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 9.1.5 Get Device Qualifier (10 Bytes) Offset Number of Bytes 0 1 2 4 5 6 7 8 9 1 1 2 1 1 1 1 1 1 Description Length Type (device qualifier) USB Specification Release Number Class Code Sub Class Code Protocol Maximum Endpoint 0 Packet Size for other speed Number of other-speed configurations Reserved Suggested Value 0Ah 06h 0210h FFh 00h 00h 40h Determined by local CPU 00h 9.1.6 Get Other_Speed_Configuration Descriptor The structure of the other_speed_cofiguration is identical to a configuration descriptor, except that the bDescriptorType is 7 instead of 2 ______________________________________________________________________________ 69 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 9.1.7 Get Configuration Descriptor The NET2270 can support a variety of configurations, interfaces, and endpoints, each of which is defined by the descriptor data returned to the host. The local CPU has the responsibility of providing this data to the NET2270 when the host requests it. This example has one configuration, and two interfaces. The first interface defines one Bulk OUT endpoint at address 1 with maximum packet size of 512 and one Interrupt IN endpoint at address 82h (endpoint number = 2) with a maximum packet size of 8. The second interface defines one Bulk OUT endpoint at address 3 with maximum packet size of 512. Note that all interface and endpoint descriptors are returned in response to a Get Configuration Descriptor request, and for this example, 48 bytes are returned. Offset Number of Bytes Configuration Descriptor 0 1 2 4 5 6 7 1 1 2 1 1 1 1 8 1 Description Suggested Value Length Type (configuration) Total length returned for this configuration Number of Interfaces Number of this configuration Index of string descriptor describing this configuration Attributes bit 7 = 1 bit 6 = Self-Powered bit 5 = Remote-Wakeup bits 4:0 = Reserved Maximum USB power required (in 2 mA units) 09h 02h 0030h 02h 01h 00h Determined by Local CPU Determined by Local CPU Interface 0 Descriptor 0 1 2 3 4 1 1 1 1 1 5 6 7 8 1 1 1 1 Size of this descriptor in bytes Type (interface) Number of this interface Alternate Interface Number of endpoints used by this interface (excluding Endpoint 0) Class Code Sub Class Code Device Protocol Index of string descriptor describing this interface 09h 04h 00h 00h 02h FFh 00h 00h 00h ______________________________________________________________________________ 70 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller Get Configuration Descriptor (continued) Offset Number of Description Bytes Bulk OUT Endpoint 1 Descriptor Suggested Value 0 1 2 1 1 1 07h 05h 01h 3 1 4 6 2 1 Size of this descriptor Descriptor Type (endpoint) Endpoint Address bit 7 = direction (1 = IN, 0 = OUT) bits 6:4 = reserved bits 3:0 = endpoint number Endpoint Attributes bits 7:2 = reserved bits 1:0 00 = Control 01 = Isochronous 10 = Bulk 11 = Interrupt Maximum packet size of this endpoint Maximum NAK rate of the endpoint. 02h 0200h Determined by Local CPU Interrupt IN Endpoint 2 Descriptor 0 1 2 1 1 1 3 1 4 2 6 1 Size of this descriptor Descriptor Type (endpoint) Endpoint Address bit 7 = direction (1 = IN, 0 = OUT) bits 6:4 = reserved bits 3:0 = endpoint number Endpoint Attributes bits 7:2 = reserved bits 1:0 00 = Control 01 = Isochronous 10 = Bulk 11 = Interrupt bits 10:0 = Maximum packet size of this endpoint. (Determined by the EP_MAXPKT registers). bits 12:11 = Number of additional transaction opportunities per microframe: 00 = None (1 transaction per microframe) 01 = 1 additional (2 per microframe) 10 = 2 additional (3 per microframe) 11 = Reserved Bits 15:13 = reserved Interval for polling endpoint 07h 05h 82h 03h 0008h Determined by Local CPU ______________________________________________________________________________ 71 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller Get Configuration Descriptor (continued) Offset Number of Description Bytes Interface 1 Descriptor Suggested Value 0 1 2 3 4 1 1 1 1 1 09h 04h 01h 00h 01h 5 6 7 8 1 1 1 1 Size of this descriptor in bytes Type (interface) Number of this interface Alternate Interface Number of endpoints used by this interface (excluding Endpoint 0) Class Code Sub Class Code Device Protocol Index of string descriptor describing this interface FFh 00h 00h 00h Bulk OUT Endpoint 3 Descriptor 0 1 2 1 1 1 3 1 4 6 2 1 Size of this descriptor Descriptor Type (endpoint) Endpoint Address bit 7 = direction (1 = IN, 0 = OUT) bits 6:4 = reserved bits 3:0 = endpoint number Endpoint Attributes bits 7:2 = reserved bits 1:0 00 = Control 01 = Isochronous 10 = Bulk 11 = Interrupt Maximum packet size of this endpoint for bulk mode Maximum NAK rate of the endpoint. 07h 05h 03h 02h 0200h Determined by Local CPU ______________________________________________________________________________ 72 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 9.1.8 Get String Descriptor 0 Offset Number of Bytes Description Suggested Value 0 1 2 1 1 2 Size of this descriptor in bytes Descriptor type (string) Language ID (English = 09, U.S. = 04) 04h 03h 0409h 9.1.9 Get String Descriptor 1 Offset Number of Bytes Description Suggested Value 0 1 2 1 1 36 Size of this descriptor in bytes Descriptor type (string) Manufacturer Descriptor. The text string is encoded in UNICODE. 26h 03h “NetChip Technology” 9.1.10 Get String Descriptor 2 Offset Number of Bytes Description Suggested Value 0 1 2 1 1 64 Size of this descriptor in bytes Descriptor type (string) Product Descriptor. The text string is encoded in UNICODE. 42h 03h “NET2270 USB Interface Controller” 9.1.11 Get String Descriptor 3 Offset Number of Bytes Description Suggested Value 0 1 2 1 1 8 Size of this descriptor in bytes Descriptor type (string) Serial Number Descriptor. The text string is encoded in UNICODE. 0Ah 03h “1001” 9.1.12 Get Configuration Offset Number of Bytes Description Suggested Value 0 1 Returns current device configuration 00h or currently selected configuration. 9.1.13 Get Interface Offset Number of Bytes Description Suggested Value 0 1 Returns current alternate setting for the specified interface 00h or currently selected interface. ______________________________________________________________________________ 73 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 9.2 NET2270 USB Interface Controller Control ‘Write’ Transfers 9.2.1 Set Address Note: The local CPU must write the new device address into the USBADDR configuration register Offset Number of Description Suggested Value Bytes -- 0 Sets USB address of device wValue = device address, wIndex = 0, wLength = 0 -- 9.2.2 Set Configuration Note: The local CPU must keep track of the configuration value. Offset Number of Description Bytes Suggested Value -- -- 0 Sets the device configuration wValue = Configuration value, wIndex = 0, wLength = 0 9.2.3 Set Interface Note: The local CPU must keep track of the Interface value. Offset Number of Description Bytes Suggested Value -- -- 0 Selects alternate setting for specified interface wValue = Alternate setting, wIndex = specified interface, wLength = 0 9.2.4 Device Clear Feature Note: The local CPU must keep track of the state of the Device Remote Wakeup enable. Offset Number of Description Suggested Value Bytes -- 0 Clear the selected device feature wValue = feature selector, wIndex = 0, wLength = 0 FS = 1 ! Device Remote Wakeup (disable) -- 9.2.5 Device Set Feature Offset Number of Bytes Description Suggested Value -- 0 Set the selected device feature wValue = feature selector, wLength = 0 FS = 1 ! Device Remote Wakeup (enable), wIndex = 0 FS = 2 ! Test Mode, wIndex = specifies test mode -- ______________________________________________________________________________ 74 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 9.2.6 Endpoint Clear Feature Note: The local CPU must clear the endpoint halt bit by writing to the Endpoint Halt bit in the EP_RSPCLR register. Offset Number of Bytes Description Suggested Value -- 0 Clear the selected endpoint feature wValue = feature selector, wIndex = endpoint number, wLength = 0 FS = 0 ! Endpoint halt (clears halt bit) -- 9.2.7 Endpoint Set Feature Note: The local CPU must set the endpoint halt bit by writing to the Endpoint Halt bit in the EP_RSPSET register. Offset Number of Bytes Description Suggested Value -- 0 Set the selected endpoint feature wValue = feature selector, wIndex = endpoint number, wLength = 0 FS = 0 ! Endpoint halt (sets halt bit) -- ______________________________________________________________________________ 75 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 10 Electrical Specifications 10.1 Absolute Maximum Ratings Conditions that exceed the Absolute Maximum limits may destroy the device. Symbol VI Parameter Core, Transceiver Supply Voltages I/O Supply Voltage DC input voltage IOUT DC Output Current, per pin TSTG TAMB VESD Storage Temperature Ambient Operating Temperature ESD Rating VDDC, VDD, PVDD, AVDD VDDIO Conditions With respect to GND Min -0.5 Max 4.6 Unit V With respect to GND 3.3V Buffer 5V Tolerant buffer 3mA Buffer 12mA Buffer No bias Under bias R = 1.5K, C = 100pF -0.5 -0.5 -0.5 -10 -40 -65 -40 4.6 4.6 6.6 10 40 150 85 2 V V V mA mA °C °C KV 10.2 Recommended Operating Conditions Conditions that exceed the Operating limits may cause the device to function incorrectly. Symbol VN Parameter Core, Transceiver Supply Voltages I/O Supply Voltage Negative trigger voltage VP Positive trigger voltage VIL Low Level Input Voltage VIH High Level Input Voltage IOL Low Level Output Current IOH High Level Output Current TA tR tF tR tF Operating Temperature Input rise times Input fall time Input rise times Input fall time VDDC, VDD, PVDD, AVDD VDDIO Conditions With respect to GND With respect to GND 3.3 V buffer 5 V tolerant buffer 3.3 V buffer 5 V tolerant buffer 3.3 V buffer 5 V tolerant buffer 3.3 V buffer 5 V tolerant buffer 3 mA buffer, (VOL = 0.4) 12 mA buffer, (VOL = 0.4) 3 mA buffer, (VOH = 2.4) 12 mA buffer, (VOH = 2.4) Normal input Normal input Schmitt input Schmitt input Min 3.0 Max 3.6 Unit V 3.0 0.8 0.8 1.3 1.3 0 0 0.5* VDDIO 2.0 3.6 1.7 1.7 2.4 2.4 0.7 0.8 V V V V V V V V V mA mA mA mA °C ns ns ms ms 0 0 0 0 0 VDDIO 5.5 3 12 -3 -12 70 200 200 10 10 ______________________________________________________________________________ 76 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 10.3 DC Specifications 10.3.1 Core DC Specifications Operating Conditions: VDD: 3.3V ± 5% and TA = 0°C to 70°C All typical values are at VDD = 3.3V and TA = 25°C 10.3.1.1 Disconnected from USB Symbol IVDD Parameter VDD Supply Current Conditions Min VDD = 3.3V Typ Max Unit 18 22 mA Typ Max Unit 115 138 mA Typ Max Unit 119 143 mA Typ Max Unit 45 54 mA Typ Max Unit 45 54 mA Typ Max Unit 500 600 µA 10.3.1.2 Connected to USB (High Speed) Symbol IVDD Parameter VDD Supply Current Conditions Min VDD = 3.3V 10.3.1.3 Active (High Speed) Symbol IVDD Parameter VDD Supply Current Conditions Min VDD = 3.3V 10.3.1.4 Connected to USB (Full Speed) Symbol IVDD Parameter VDD Supply Current Conditions Min VDD = 3.3V 10.3.1.5 Active (Full Speed) Symbol IVDD Parameter VDD Supply Current Conditions Min VDD = 3.3V 10.3.1.6 Suspended Symbol IVDD Parameter VDD Supply Current Conditions VDDC = 3.3V Min ______________________________________________________________________________ 77 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 10.3.2 USB Full Speed DC Specifications Operating Conditions: VDD: 3.3V ± 5% and TA = 0°C to 70°C All typical values are at VDD = 3.3V and TA = 25°C Symbol Parameter Conditions Min Typ Max Unit VIH Input high level (driven) Note 4 2.0 VIHZ Input high level (floating) Note 4 2.7 VIL Input low level Note 4 VDI Differential Input Sensitivity | (D+) - (D-) | 0.2 VCM Differential Common Mode Range Includes VDI range 0.8 2.5 V VOL Output low level Notes 4,5 0.0 0.3 V VOH Output high level (driven) Notes 4,6 2.8 3.6 V VSE1 Single ended one VCRS Output signal crossover voltage Note 10 I/O Capacitance Pin to GND CIO V 3.6 V 0.8 V V 0.8 V 1.3 2.0 V 20 pF Max Unit 10.3.3 USB High Speed DC Specifications Operating Conditions: VDD: 3.3V ± 5% and TA = 0°C to 70°C All typical values are at VDD = 3.3V and TA = 25°C Symbol Parameter Conditions Min Typ VHSSQ High-speed squelch detection threshold (differential signal amplitude) 100 150 mV VHSDSC High-speed disconnect detection threshold (differential signal amplitude) 525 625 mV High-speed differential input signaling levels Specified by eye patterns VHSCM Hip-speed data signaling common mode voltage range -50 500 mV VHSOI High-speed idle level -10 10 mV VHSOH High-speed data signaling high 360 440 mV VHSOL High-speed data signaling low -10 10 mV VCHIPRJ Chirp J level (differential voltage) 700 1100 mV VCHIPRK Chirp K level (differential voltage) -900 -500 mV 20 pF CIO I/O Capacitance Pin to GND ______________________________________________________________________________ 78 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 10.3.4 Local Bus DC Specifications Operating Conditions: VDDIO: 3.3V ± 5% and TA = 0°C to 70°C All typical values are at VDDIO = 3.3V and TA = 25°C Symbol Parameter Conditions VIH 5.0V Tolerant Input High Voltage VIL 5.0V Tolerant Input Low Voltage IIL Input Leakage 0V < VIN < 5.5V IOZ Hi-Z State Data Line Leakage 0V < VIN < 5.5V VOH 5.0V Tolerant Output High Voltage IOUT = -12mA VOL 5.0V Tolerant Output Low Voltage IOUT = 12mA CIN Input Capacitance CIO I/O Capacitance Min Typ Max Unit 2.0 5.5 V 0 0.8 V -10 10 µA 10 µA 2.4 V 0.55 V Pin to GND 10 pF Pin to GND 11 pF ______________________________________________________________________________ 79 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 10.4 AC Specifications 10.4.1 USB Full Speed Port AC Specifications Operating Conditions: VDD: 3.3V ± 5% and TA = 0°C to 70°C All typical values are at VDD = 3.3V and TA = 25°C Symbol TFR Parameter Rise & Fall Times Conditions CL = 50 pF, Min Figure 8-1 Note 16 TFF TFRFM Rise/Fall time matching (TFR/ TFF), Note 10 ZDRV Driver Output Resistance Steady State Drive TFDRATHS Waveform Figure 8-1 Full-speed Data Rate Typ Max Unit 4 20 ns 4 20 90 110 % 10 15 Ω 11.994 12 12.006 Mbps TDJ1 Source Differential Driver Jitter to Notes 7,8,10,12 Next Transition Figure 8-2 -2 0 2 ns TDJ2 Source Differential Driver Jitter for Paired Transitions Notes 7,8,10,12 Figure 8-2 -1 0 1 ns Source Jitter for Differential Transition to SE0 Transition Note 8, 11 Figure 8-3 -2 0 5 ns TJR1 Receiver Data Jitter Tolerance to Next Transition Note 8 Figure 8-4 -18.5 0 18.5 ns TJR2 Receiver Data Jitter Tolerance for Paired Transitions Note 8 Figure 8-4 -9 0 9 ns Figure 8-3 160 167 175 ns Figure 8-3 82 ns 14 ns TFDEOP TEOPT Source SE0 interval of EOP TFEOPR Receiver SE0 interval of EOP TFST Width of SE0 interval during differential transition Note 13 10.4.2 USB High Speed Port AC Specifications Operating Conditions: VDD: 3.3V ± 5% and TA = 0°C to 70°C All typical values are at VDD = 3.3V and TA = 25°C Symbol THSR Parameter Rise & Fall Times Conditions Note 16 THSDRV Min Typ Max 500 Unit ps 500 THSF ZDRV Waveform Driver Output Resistance Steady State Drive High-speed Data Rate 10 479.760 Data source jitter Specified by eye pattern templates Receiver jitter tolerance Specified by eye pattern templates 480 15 Ω 480.240 Mbps ______________________________________________________________________________ 80 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 10.4.3 USB Full Speed Port AC Waveforms Rise Time Fall Time 90% CL 90% Differential Data Lines 10% 10% CL tF tR Full Speed: 4 to 20ns at C L = 50pF Figure 10-1. Data Signal Rise and Fall Time TPERIOD Crossover Points Differential Data Lines Consecutive Transitions N*TPERIOD +TxJR1 Paired Transitions N*TPERIOD +TxJR2 Figure 10-2. Differential Data Jitter TPERIOD Crossover Point Crossover Point Extended Differential Data Lines Diff. Data to SE0 Skew N*TPERIOD+TFDEOP Source EOP Width: TFEOPT Receiver EOP Width: TFEOPR Figure 10-3. Differential to EOP Transition Skew and EOP Width ______________________________________________________________________________ 81 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller TPERIOD Differential Data Lines TJR TJR1 TJR2 Consecutive Transitions N*TPERIOD +TJR1 Paired Transitions N*TPERIOD +TJR2 Figure 10-4. Receiver Jitter Tolerance ______________________________________________________________________________ 82 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 10.4.4 USB Port AC/DC Specification Notes 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Measured at A plug. Measured at A receptacle. Measured at B receptacle. Measured at A or B connector. Measured with RL of 1.425KΩ to 3.6V. Measured with RL of 14.25KΩ to GND. Timing difference between the differential data signals. Measured at crossover point of differential data signals. The maximum load specification is the maximum effective capacitive load allowed that meets the target hub VBUS droop of 330 mV. Excluding the first transition from the Idle state. The two transitions should be a (nominal) bit time apart. For both transitions of differential signaling. Must accept as valid EOP. Single-ended capacitance of D+ or D- is the capacitance of D+/D- to all other conductors and, if present, shield in the cable. That is, to measure the single-ended capacitance of D+, short D-, VBUS, GND, and the shield line together and measure the capacitance of D+ to the other conductors. For high power devices (non-hubs) when enabled for remote wakeup. Measured from 10% to 90% of the data signal. ______________________________________________________________________________ 83 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 10.4.5 Local Bus Non-Multiplexed Read Operating Conditions: VDD: 3.3V ± 5%, TA = 0°C to 70°C, Output Load = 25pF NAME T4 T5 T6 T7 T8A T8B DESCRIPTION MIN Address setup to read enable* Address hold from end of read enable* Data access time from read enable* Data tri-state time from end of read enable* Recovery Time to next read Recovery Time to next write MAX UNIT 35 10 ns ns ns ns ns ns -3 -2 0 33 33 * Read enable is the occurrence of both CS# and IOR#. 0ns 50ns 100ns 150ns T5 LA[4:0] 200ns T5 A0 A1 T4 T8A T4 CS# & IOR# T6 LD[15:0] T7 D0 T6 T7 D1 ______________________________________________________________________________ 84 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 10.4.6 Local Bus Multiplexed Read Operating Conditions: VDD: 3.3V ± 5%, TA = 0°C to 70°C, Output Load = 25pF NAME T1 T2 T3 T6 T7 T8A T8B T9 DESCRIPTION MIN Address setup to falling edge of ALE Address hold from falling edge of ALE ALE Width Data access time from read enable* Data tri-state time from end of read enable* Recovery Time to next read Recovery Time to next write Recovery Time to next ALE MAX UNIT 35 10 ns ns ns ns ns ns ns ns 5 1 5 0 33 33 5 * Read enable is the occurrence of both CS# and IOR#. 0ns 50ns 100ns 150ns T3 T3 T9 T1 200ns 250ns T1 ALE T8A CS# & IOR# T6 T2 LD[15:0] A0 T7 D0 T2 A1 T6 T7 D1 ______________________________________________________________________________ 85 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 10.4.7 Local Bus Non-Multiplexed Write Operating Conditions: VDD: 3.3V ± 5%, TA = 0°C to 70°C, Output Load = 25pF NAME T10 T11 T12 T13 T14 T15A T15B DESCRIPTION MIN Address setup to end of write enable* Address hold from end of write enable* Write enable width* Data setup to end of write enable* Data hold time from end of write enable* Recovery Time to next write Recovery Time to next read MAX UNIT 5 0 5 5 1 55 55 ns ns ns ns ns ns ns * Write enable is the occurrence of both CS# and IOW#. 0ns 25ns 50ns T11 LA[4:0] T11 A0 A1 T10 T13 T12 T10 T13 T12 T15A CS# & IOW# T14 LD[15:0] D0 T14 D1 ______________________________________________________________________________ 86 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 10.4.8 Local Bus Multiplexed Write Operating Conditions: VDD: 3.3V ± 5%, TA = 0°C to 70°C, Output Load = 25pF NAME T1 T2 T3 T12 T13 T14 T15A T15B DESCRIPTION MIN Address setup to falling edge of ALE Address hold from falling edge of ALE ALE Width Write enable width* Data setup to end of write enable* Data hold time from end of write enable* Recovery Time to next write I/O Recovery Time to next read MAX 5 1 5 5 5 1 55 55 UNIT ns ns ns ns ns ns ns ns * Write enable is the occurrence of both CS# and IOW#. 0ns 25ns 50ns T1 T3 75ns T1 T3 ALE T13 T15A T12 T12 T13 CS# & IOW# T2 LD[15:0] A0 T14 D0 T2 A1 T14 D1 ______________________________________________________________________________ 87 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 10.4.9 Local Bus DMA Read Operating Conditions: VDD: 3.3V ± 5%, TA = 0°C to 70°C, Output Load = 25pF NAME T20 T21 T22 T23 T24 T25 DESCRIPTION Read enable true to DREQ false Read enable false to DREQ true Data access time from read enable Data tri-state time from end of read enable Width of EOT# pulse (see Note 1) DREQ false to DREQ true MIN TYP MAX UNIT 25 13 40 40 56 72 35 10 ns ns ns ns ns ns 0 20 13 *For non-split DMA mode, read enable is the occurrence of DACK# and optionally, IOR#. *For split DMA mode, read enable is the occurrence of DACK# and optionally, DMARD#. Note 1: EOT#, DACK#, and optionally, IOR# or DMARD# must all be true for at least T24 for proper recognition of the EOT# pulse. Note 2: A recovery time of 2 nsec is required between the de-assertion of DMA read enable and the assertion of an I/O read enable. 0ns 50ns 100ns 150ns T21 T25 T20 200ns T20 DREQ DACK# IOR# (Optional) T22 LD[15:0] T23 T22 T23 D0 D1 T24 EOT# (Optional) ______________________________________________________________________________ 88 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification 10.4.10 NET2270 USB Interface Controller Local Bus DMA Write Operating Conditions: VDD: 3.3V ± 5%, TA = 0°C to 70°C, Output Load = 25pF NAME T20 T21 T25 T26 T27 T28 T29 T30 DESCRIPTION Write enable true to DREQ false Write enable false to DREQ true DREQ false to DREQ true Write enable width* Data setup to end of write enable* Data hold time from end of write enable* Width of EOT# pulse (see note) DMA Write Recovery MIN TYP MAX UNIT 25 25 13 5 5 0 5 45 40 40 56 72 ns ns ns ns ns ns ns ns *For non-split DMA mode, write enable is the occurrence of DACK# and optionally, IOW#. *For split DMA mode, write enable is the occurrence of DACK# and optionally, DMAWR#. Note: EOT#, DACK#, and optionally, IOW# or DMAWR# must all be true for at least T29 for proper recognition of the EOT# pulse. 0ns 50ns 100ns 150ns 200ns T21 T20 T25 T20 T30 T26 T27 DREQ T26 T27 DACK# IOW# (Optional) T28 LD[15:0] D0 T28 D1 T29 EOT# (Optional) ______________________________________________________________________________ 89 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003 Specification NET2270 USB Interface Controller 11 Mechanical Drawing 64-PIN PLASTIC TQFP (10x10) A B 48 detail of lead end 33 49 32 S D P C R Q 64 17 1 F G L 16 H J I ITEM M K M P N L NOTE Each lead centerline is located within 0.13 mm of its true position (T.P.) at maximum material condition. MILLIMETERS A 12.0±0.2 B 10.0±0.2 C 10.0±0.2 D 12.0±0.2 INCHES 0.472± 0.009 0.008 0.394± 0.008 0.009 0.394± 0.008 0.009 0.472± 0.009 0.008 F 1.25 0.049 G 1.25 0.049 H 0.22± 0.055 0.045 0.009±0.002 I 0.10 0.004 J 0.5 (T.P.) 0.020 (T.P.) K 1.0±0.2 L 0.5±0.2 0.039± 0.009 0.008 0.020± 0.008 0.009 M 0.145± 0.055 0.045 0.006±0.002 N 0.10 0.004 P 1.0±0.1 0.039± 0.005 0.004 Q 0.1±0.05 0.004±0.002 R 3°± 7° 3° 3°± 7° 3° S 1.27 MAX 0.050 MAX S64GB-50-9EU-1 ______________________________________________________________________________ 90 NetChip Technology, Inc., 2003 335 Pioneer Way, Mountain View, California 94041 TEL (650) 526-1490 FAX (650) 526-1494 http://www.netchip.com Rev 3.6, April 17, 2003