May 17, 20002 USB2.0 Host Controller John S. Howard Staff Engineer Intel Architecture Labs Intel Corporation.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Bus Specification Embedded Systems Design and Implementation Witawas Srisa-an.
Universal Serial Bus Grant Heileman. The History of USB In 1994 a collaborative effort to design a standard for peripheral devices was made between Compaq,
October 10, USB 2.0 Host Controllers (EHCI Specification) John S. Howard Intel Corporation.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
Improving Networks Worldwide. UNH InterOperability Lab Serial Advanced Technology Attachment (SATA) Use Cases.
May 16, Data Transfer & Framework John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.
USB: Data Flow Sukesh Shenoy. USB implementation areas.
VIA and Its Extension To TCP/IP Network Yingping Lu Based on Paper “Queue Pair IP, …” by Philip Buonadonna.
File Management Systems
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
1 USB 2.0 Specification  General Description  From where we could begin the work  What would be valid to do?  Main doubts  What is OTG (On the Go)
1 USB 2.0 Specification  General Description  What is OTG (On the Go)  From where we could begin the work  What would be valid to do?
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Figure 1.1 Interaction between applications and the operating system.
USB – An Overview Group 3 Kaushik Nandha Bikram What is the Universal Serial bus (USB)? Is a cable bus that supports data exchange between a host computer.
Anush Rengarajan Feng Zheng Thomas Madaelil
1 I/O Management in Representative Operating Systems.
USB 2.0 INTRODUCTION NTUT CSIE 學 生:許家豪 指導教授:柯開維教授.
Introduction to USB. 2 Agenda Introduction to USB LPC23xx Block diagram MCB2300 demo.
May 8, Peripheral Design Options For USB 2.0 Solutions Dave Thompson Manager of High Speed I/O Development Agere Systems,
USB: UNIVERSAL SERIAL BUS Joe Kaewbaidhoon Alex Motalleb Vishal Joshi Prepared for EECS 373 University of Michigan, Ann Arbor 1.
UNH InterOperability Lab Serial Advanced Technology Attachment (SATA) Use Cases.
May 17, BIOS Considerations for USB 2.0 Saleem Yamani Phoenix Technologies Ltd.
May 17, Design Option Trade-Offs w Transceiver Design - Dr. Zong Liang Wu, Philips.
May 16, USB 2.0 Hub Additions John Garney Hub Working Group Chair Intel Corporation John Garney Hub Working Group Chair Intel Corporation.
Mahesh Wagh Intel Corporation Member, PCIe Protocol Workgroup.
May 17, USB 2.0 Transceiver Macrocell Steve McGowan - Intel Corporation Clarence Lewis - Texas Instruments Steve McGowan - Intel Corporation Clarence.
Peripheral Buses COMP Jamie Curtis. PC Buses ISA is the first generation bus 8 bit on IBM XT 16 bit on 286 or above (16MB/s) Extended through.
May 8, The EASY Way to Create I/O Devices John Hyde Intel Corporation intel.com.
May 8, USB 2.0 Support in Windows ® Operating Systems Fred Bhesania Microsoft.
May 8, USB 2.0 Technical Overview Brad Hosler USB Engineering Manager Intel Corporation.
October 10, USB 2.0 Hub Testing Dan Froelich Intel.
October 10, Enabling USB 2.0 Peripherals Brad Hosler USB Engineering Manager Intel Corporation.
USB host for web camera connection
Embedded Systems Architecture Class Project USB 2.0 Function Controller December 12, 2008 Brandon Wolfe, Ben Marrou, Daniel Chan.
Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses 11/06/20141Input/Output.
Toolbox for Dimensioning Windows Storage Systems Jalil Boukhobza, Claude Timsit 12/09/2006 Versailles Saint Quentin University.
Peripheral Busses COMP Jamie Curtis. PC Busses ISA is the first generation bus 8 bit on IBM XT 16 bit on 286 or above (16MB/s) Extended through.
Introduction to USB Development. USB Development Introduction Technical Overview USB in Embedded Systems Recent Developments Extensions to USB USB as.
The University of New Hampshire InterOperability Laboratory Introduction To PCIe Express © 2011 University of New Hampshire.
Universal Serial Bus - USB Historical Perspective The Universal Serial Bus was originally developed in 1995 by a group of industry.
Presenter: Hong-Wei Zhuang On-Chip SOC Test Platform Design Based on IEEE 1500 Standard Very Large Scale Integration (VLSI) Systems, IEEE Transactions.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
October 10, Day Two Introduction Jason Ziller Intel Corporation.
(More) Interfacing concepts. Introduction Overview of I/O operations Programmed I/O – Standard I/O – Memory Mapped I/O Device synchronization Readings:
A Comparative Study of the Linux and Windows Device Driver Architectures with a focus on IEEE1394 (high speed serial bus) drivers Melekam Tsegaye
Firmware Storage : Technical Overview Copyright © Intel Corporation Intel Corporation Software and Services Group.
An I/O Simulator for Windows Systems Jalil Boukhobza, Claude Timsit 27/10/2004 Versailles Saint Quentin University laboratory.
Parallel Programming on the SGI Origin2000 With thanks to Igor Zacharov / Benoit Marchand, SGI Taub Computer Center Technion Moshe Goldberg,
May 16, USB 2.0 Technical Overview Brad Hosler USB Engineering Manager Intel Corporation.
October 10, USB 2.0 Technical Overview Brad Hosler USB Engineering Manager Intel Corporation.
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Intel Open Source Technology Center Lu Baolu 2015/09
CCSDS SOIS Working Group Meeting – Berlin, Germany 14th of October 2008 Prototyping of CCSDS SOIS services on 1553 Bus Sev Gunes-Lasnet, Olivier Notebaert.
IT3002 Computer Architecture
May 16, USB 2.0 Peripheral Enabling / PDKs Brad Hosler USB Engineering Manager Intel Corporation.
Altera Technical Solutions Seminar Schedule OpeningIntroduction FLEX ® 10KE Devices APEX ™ 20K & Quartus ™ Overview Design Integration EDA Integration.
IEEE 1394b Real-Time Systems Lab. 박 준 호. Real Time Systems Lab. Contents IEEE 1394 Overview IEEE 1394 Specifications P1394a, P1394b, P1394.1, OHCI IEEE.
1394 H/W and OHCI Gi-Hoon Jung. 2002/01/162 Agenda Overview of the VITANA board OHCILynx PCI-based Host Controller Overview of the OHCI Spec.
April 15, 2013 Atul Kwatra Principal Engineer Intel Corporation Hardware/Software Co-design using SystemC/TLM – Challenges & Opportunities ISCUG ’13.
Current Generation Hypervisor Type 1 Type 2.
USB PHYISICAL LAYER PROTOCOL ENGINE LAYER APPLICATION LAYER
USB : Universal Serial Bus
Introduction to cosynthesis Rabi Mahapatra CSCE617
ATA over internet.
NVMe.
Presentation transcript:

May 17, USB2.0 Host Controller John S. Howard Staff Engineer Intel Architecture Labs Intel Corporation

May 17, Agenda w Project Overview w Key Features Overview – USB 2.0 Host Controller Architecture – High-Speed Host Controller  Interface Architecture  Interface Data Structure Overview/Benefits – Power Management w Host Controller Compliance Program w Summary

May 17, Project Overview w Enhanced Host Controller Specification for USB – Defines the register (hardware/software) interface for a USB 2.0 capable host controller w Revision 0.95 will be the first public release – License agreement provides reciprocal royalty free license to manufacture compliant discrete USB 2.0 host controllers based on this specification

May 17, Project Overview w Revision 1.0 is the final specification – License agreement provides reciprocal royalty free license to manufacture compliant USB 2.0 host controllers based on this specification w Intel developed specification with contributions so far from – NEC, Lucent, Philips, Compaq and Microsoft – Licensees can also contribute to specification Continued

May 17, Project Overview w Specification Development methodology – Developed in parallel with USB 2.0 core specification – Low-risk approach  Leverage existing USB 1.1 HC implementations and knowledge base – Provide solutions to well-known USB host controller problems – Focus on reasonable hardware/software complexity tradeoffs – Validate features whenever possible  Built prototype driver and host controller in parallel with specification w Host Controller Compliance Program – Ensures host controllers are compliant to the specification

May 17, USB 2.0 Host Controller Architecture w Multi-function Controller delivers 3 port speeds – Simplifies High-speed Host Controller  Optimize for high-speed functionality – Reuses USB 1.1 Host Controller Designs (drop-in) – Allows port availability independent of presence of high-speed capable software USB 2.0 Host Controller (HC) Port 1 Companion USB HCs for FS/LS Port 1 Port 2 Port Owner Control(s) Port 1 Port 2 Port Routing Logic Port N HC Control Logic/Data Buffering Enhanced HC Control Logic Enhanced Data Buffering Port 2 Port N High-Speed (Enhanced Interface) USB HC

May 17, USB 2.0 Host Controller Architecture: Port Routing Rules w Ports owned by Companion controllers when HS HC software is absent w When HS HC Software is present, it “configures” High-Speed HC then: – Retains ownership for high-speed devices – Releases individual port ownership if attached device is not high speed  Routing Logic signals a disconnect on HS HC and a connect on Companion HC – Ownership returns to HS HC on a disconnect event Companion USB 1.1 HC X Port Register High Speed HC TransceiverTransceiver Port Routing Logic Port Owner Control HC Configured Port Register

May 17, High-Speed Host Controller Interface Architecture w Three-part Interface – PCI Space – Register Space – Shared Memory Work Interface w PCI Configuration Registers – PCI Class Codes – Memory space base address for register space – Power Management Interface PCI Class Code, etc. USB Base Address PCI Power Management Interface PCI Configuration Register

May 17, High-Speed Host Controller Interface Architecture w Memory-based I/O Registers – Capability Registers  Implementation-specific, read-only parameters for driver – Operational Registers  Host controller management  List Management  Port control registers Capability Registers Operational Registers Memory-Based I/O Registers

May 17, High-Speed Host Controller Interface Architecture w Shared Memory Work Lists – Two schedule Lists (periodic, asynchronous) – Queuing data structures  Used for transfer types guarantee delivery – Different data structures used for isochronous  Different data structures for high- and full-speed  Optimized for streaming isochronous data  No support for retries Shared Memory Work Lists Periodic List Asynchronous List

May 17, High-Speed Host Controller Interface Architecture (Overview) Capability Registers Operational Registers Memory-Based I/O Registers PCI Class Code, etc. USB Base Address PCI Power Management Interface PCI Configuration Register Shared Memory Work Lists Periodic List Asynchronous List

May 17, Shared Memory Work Lists Queuing Data Structure w Queues are used for ALL Non-Isochronous transfers w 1 queue per endpoint w Each queue element (transaction descriptor) describes a buffer – I.e. 1 to many transactions – Up to 20 Kbytes per transaction descriptor  16Kbytes with worst-case buffer alignment w No Hardware/software sync required to add work to a queue w Architecture optimized to provide efficient memory accesses – Block, burst accesses – Reduced average number of memory accesses to start transaction

May 17, Shared Memory Work Lists Queuing Data Structure (Ex.) Transfer Descriptors Linked to queue head by software driver Transfer Descriptors Linked to queue head by software driver qTD 0 qTD 2 Data Buffer 0 Data Buffer 1 qTD 1 Data Buffer 2 Queue Head: Static queue head information Dynamic transfer execution area Queue Head: Static queue head information Dynamic transfer execution area SetupSetup StatusStatus Setup Data Receive Data Buffer DataData Example: Control Transfer Initial Condition: QHD empty Example: Control Transfer Initial Condition: QHD empty Example: Control Transfer Software attaches list to QHD Example: Control Transfer Software attaches list to QHD Current (A) (A) HC Finds an active qTD via a QHD Next pointer and copies to overlay area (Setup Stage) Copy results in QHD Next pointer inheriting from overlay’d qTD HC executes from QHD for 1 transaction Next (B)(B) (B) HC Finds an active qTD via a QHD Next pointer and copies to overlay area (Data Stage) Copy results in QHD Next pointer inheriting from overlay’d qTD HC executes from QHD until done (B) HC Finds an active qTD via a QHD Next pointer and copies to overlay area (Data Stage) Copy results in QHD Next pointer inheriting from overlay’d qTD HC executes from QHD until done CurrentCurrent CurrentCurrent NextNext (C) HC Finds an active qTD via a QHD Next pointer and copies to overlay area (Status Stage) Copy results in QHD Next pointer inheriting from overlay’d qTD HC executes from QHD for 1 transaction (C) HC Finds an active qTD via a QHD Next pointer and copies to overlay area (Status Stage) Copy results in QHD Next pointer inheriting from overlay’d qTD HC executes from QHD for 1 transaction (C)(C)

May 17, Shared Memory Work Lists Isochronous Data Structures w Used only in periodic list – Time-oriented data structure – “Frame number” encoded in topology of list  Position of work item in periodic list determines when it will be “seen” and executed by the host controller – No hardware (micro)-frame arithmetic required w Different data structures for high-speed and low-speed – High-speed data structure optimized for large transfers – Full-speed data structure optimized for split-transaction support

May 17, Shared Memory Work Lists Hardware Scatter/Gather w All transfer data structures are scatter/gather capable w Simple hardware implementation – No pointer arithmetic required – Simple concatenation of page pointer to page offset to generate buffer address – Software initializes page offset, hardware manages page pointers and page offset based on transfer progress

May 17, Power Management w High-speed controller power management – USB port power management – PCI Bus Power Management Interface w Provides per/port capabilities for managing bus power as defined in USB specification w Support defined for PCI Advanced Power management interface – Compliant with PCI Bus Power Management Interface Specification, Revision 1.1

May 17, USB 2.0 Host Controller Compliance Program w Compliance testing includes – Standard USB 2.0 Compliance tests – Standard USB 2.0 Electrical tests – Host controller-specific Interface Functional Testing w Availability – HC compliance test will be available from Intel  Method of distribution (to be defined) – Alpha-level tools available in Q – Beta-level tools available in Q – Production release available with release of 1.0 host controller specification

May 17, USB 2.0 Host Controller Compliance Program w HC-specific compliance software under development at Intel w Special compliance devices (high-speed and full/low speed) w Special-purpose application and driver for controlled testing and analysis w Interface Functional Testing – Device Interoperability – USB 2.0 protocol and transfer extensions – System Interaction – Etcetera, … HC Compliance Application HC Compliance Test Driver EHCI Unit Under Test USB 2.0 Hub (s) HS Compliance Device(s) FS/LS Compliance Device (s)

May 17, Summary w Low-risk Introduction – All ports are HS/FS/LS Capable – Legacy (non-high-speed aware) software just works – Re-use of 1.1 controllers simplifies high-speed controller w Interface optimized for good memory accesses efficiency w Reasonable tradeoff of hardware/software complexity

May 17, Summary w PCI power management compliant w Host controller compliance program w Revision 0.95 for discrete HC Q – Gating item is validation of 2 discrete host controllers w Revision 1.0 in 2001 – Gating item is validation of integrated host controller Continued