Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "May 17, 20002 USB2.0 Host Controller John S. Howard Staff Engineer Intel Architecture Labs Intel Corporation."— Presentation transcript:

1

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

3 May 17, 20003 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

4 May 17, 20004 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

5 May 17, 20005 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

6 May 17, 20006 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

7 May 17, 20007 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

8 May 17, 20008 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

9 May 17, 20009 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

10 May 17, 200010 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

11 May 17, 200011 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

12 May 17, 200012 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

13 May 17, 200013 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

14 May 17, 200014 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)

15 May 17, 200015 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

16 May 17, 200016 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

17 May 17, 200017 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

18 May 17, 200018 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 Q3 2000 – Beta-level tools available in Q1 2001 – Production release available with release of 1.0 host controller specification

19 May 17, 200019 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)

20 May 17, 200020 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

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


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

Similar presentations


Ads by Google