Date post: | 24-Dec-2015 |
Category: |
Documents |
Upload: | andrew-ball |
View: | 220 times |
Download: | 3 times |
Innovations In Wired Innovations In Wired And Wireless USBAnd Wireless USB
Fred BhesaniaFred BhesaniaProgram ManagerProgram ManagerWindows Device Experience GroupWindows Device Experience GroupMicrosoft CorporationMicrosoft Corporation
AgendaAgenda
Recent USB InnovationsRecent USB Innovations
USB Advances in Windows VistaUSB Advances in Windows Vista
Wireless USB TrendsWireless USB Trends
Wireless USB Support on WindowsWireless USB Support on Windows
Market ConvergenceMarket Convergence
Broadcast
ConsumerConsumerElectronicsElectronics
Personal ComputingPersonal Computing
Internet
MobileMobileMultimediaMultimedia
USB Landscape And TrendsUSB Landscape And TrendsMost widely used PC peripheral interfaceMost widely used PC peripheral interface
Installed base is over 2 billion units and growingInstalled base is over 2 billion units and growing
Adoption virtually 100% in most PC and peripheral categoriesAdoption virtually 100% in most PC and peripheral categories
Rapidly penetrating Mobile and CE markets; Also being used for chargingRapidly penetrating Mobile and CE markets; Also being used for charging
Certified Wireless USB adopting the successes of wired USB to keep progressCertified Wireless USB adopting the successes of wired USB to keep progress
Amendments to spec to allow dual-role devices as well as inter-chip USBAmendments to spec to allow dual-role devices as well as inter-chip USB
800
Number of Wired USB Products Shipped Number of Wired USB Products Shipped per Year (Millions)per Year (Millions)
100
200
300
400
500
600
700
2002 2003 2004 2005 2006
PCs Peripherals Consumer Electronics
Over 2 Billion units in the installed base today,
growing to 3.5 Billion by 2006
Source: Cahners In-Stat Group, 2002Source: Cahners In-Stat Group, 2002
“USB is the most successful interface in the history of the PC”Source: Brian O’Rourke/Instat-MDR
Source: In-Stat/MDR Group, 2004
Wired USB Attach Rates for Key Wired USB Attach Rates for Key Peripheral Device TypesPeripheral Device Types
USB enabled by ‘06USB enabled by ‘06
96%96%
USB enabled by ‘06USB enabled by ‘06
External Storage
95%95% USB enabled by ‘06USB enabled by ‘06
95+%95+%
Digital CamerasCamcorders
USB Enhancements In Windows USB Enhancements In Windows USB continues to grow and evolve so what's USB continues to grow and evolve so what's new in Windows Vista and beyond?new in Windows Vista and beyond?
WinUSB and WDFWinUSB and WDFSimpler APIs/DDIs in Kernel andSimpler APIs/DDIs in Kernel andnow USER; available down levelnow USER; available down level
Power Management UpdatesPower Management UpdatesSelective Suspend update andSelective Suspend update andability to turn individual ports offability to turn individual ports off
Developer DocsDeveloper DocsTons of new content on USBTons of new content on USBin WDKin WDK
Group Policy for DevicesGroup Policy for Devices
Give IT managers ability to controlGive IT managers ability to controltype of devices that attach to PCstype of devices that attach to PCs
ReadyBoostTM and USBReadyBoostTM and USBAbility to boost system performanceAbility to boost system performanceusing USB storage devicesusing USB storage devices
Kernel DebuggingKernel Debugging
Debug system using USB2Debug system using USB2debug cabledebug cable
USB Storage enhancementsUSB Storage enhancementsImproved performance, powerImproved performance, powersavings and management featuressavings and management features
USB Perf CountersUSB Perf Counters
Integration of USB countersIntegration of USB countersin PerfMonin PerfMon
Wireless USB*Wireless USB*Ability to use wired USB software and Ability to use wired USB software and experiences wirelessly; fast to marketexperiences wirelessly; fast to market
More to follow…More to follow…
* Wireless USB is not in Windows Vista, but is being developed to run on Windows Vista* Wireless USB is not in Windows Vista, but is being developed to run on Windows Vista
Kernel Mode Driver Foundation (KMDF)Kernel Mode Driver Foundation (KMDF)
MotivationMotivationToo manyToo many
Rules that every WDM driver Rules that every WDM driver must implementmust implement
Behaviors to get rightBehaviors to get right
Details to effectively testDetails to effectively test
In the end, not easy to get rightIn the end, not easy to get right
SolutionSolutionEncapsulate hard problems Encapsulate hard problems into one locationinto one location
Provide a solution which has known Provide a solution which has known good behaviorgood behavior
LegendIHV or ISV Component
Microsoft New Component
UU
KK
Device
Driver WDF.SYS
Application
UMDF making significant strides, when you don’t need to be in Kernel
WinUSB ArchitectureWinUSB Architecture
Kernel mode SYS driver handlesKernel mode SYS driver handlesComplex logging and I/OComplex logging and I/O
Power management Power management
PnP events, etc.PnP events, etc.
User mode DLL exposes User mode DLL exposes Simpler USER Mode APISimpler USER Mode API
Incorrect implementation leads to Incorrect implementation leads to application hang/crash (not PC crash)application hang/crash (not PC crash)
Solutions like HID are inefficient Solutions like HID are inefficient (need special H/W)(need special H/W)
IHVs don’t want/need to be experts IHVs don’t want/need to be experts in complex driver modelsin complex driver models
Due to DDC 2005 feedback, downlevel Due to DDC 2005 feedback, downlevel being considered in late 2006!being considered in late 2006!
Application
KK
UU
Device
WinUSB. DLL
WinUSB.SYS
Existing USB Stack
LegendIHV or ISV Component
New Microsoft Components
Existing Microsoft Components
Should IHV use WinUSB or WDF? (See appendix)
Power Management Enhancements Power Management Enhancements
Power Management is now more reliable in Windows VistaPower Management is now more reliable in Windows VistaSelective Suspend (SS) – an individual USB port is suspendedSelective Suspend (SS) – an individual USB port is suspended
Old DDI for Selective Suspend still workOld DDI for Selective Suspend still work
Selective Suspend is integrated with power managementSelective Suspend is integrated with power management
Global Suspend – a USB controller is suspendedGlobal Suspend – a USB controller is suspendedCPU can drop to C3 once all controllers suspendedCPU can drop to C3 once all controllers suspended
Remote wake handlingRemote wake handlingPorts can be separately armed for wake on connect/disconnectPorts can be separately armed for wake on connect/disconnect
Device driver IRP_MN_WAIT_WAKE indicate which device Device driver IRP_MN_WAIT_WAKE indicate which device generated remote wake signalinggenerated remote wake signaling
We did not stop thereWe did not stop thereAdditional support for multi-config devicesAdditional support for multi-config devices
Faster resume from suspendFaster resume from suspend
LOTS of documentation in Windows Vista WDK! LOTS of documentation in Windows Vista WDK!
USB Performance CountersUSB Performance Counters
Windows Vista Windows Vista introduces introduces ways to trackways to trackUSB performance USB performance counterscounters
Host Controller CountersHost Controller Counters% Bandwidth used for Isoc, Bulk, % Bandwidth used for Isoc, Bulk, Interrupt ControlInterrupt Control
Average latency for ISOC devicesAverage latency for ISOC devices
PCI Interrupts per secondPCI Interrupts per second
Device Specific CountersDevice Specific CountersBandwidth per endpoint Bandwidth per endpoint measured (Mbps)measured (Mbps)
ReadyBoost™ And USBReadyBoost™ And USB
Get the benefits of adding more RAM, Get the benefits of adding more RAM, now by using USB Mass Storage devicesnow by using USB Mass Storage devices
Disk sizeDisk size Read Read throughputthroughput
Write Write throughputthroughput
Minimal Minimal requirementrequirement
256 MB free 256 MB free spacespace 2.5 MBps2.5 MBps 1.5 Mps1.5 Mps
Logo Logo requirementrequirement
Device > Device > 500 MB500 MB 5 MBps5 MBps 3 MBps3 MBps
* These are still raw and subject to change during Windows Vista pre-release validation* These are still raw and subject to change during Windows Vista pre-release validation
Device Installation ManagementDevice Installation Management
GoalsGoalsReduce cost of ownership Reduce cost of ownership
Mitigate against data theftMitigate against data theft
Two deliverables for IT Pro customerTwo deliverables for IT Pro customer““Group Policy for Device Installation”Group Policy for Device Installation”
Per machine Per machine
Can be specified by device setup class Can be specified by device setup class and/or HWIDand/or HWID
““Group Policy for Removable Storage Group Policy for Removable Storage Device Usage”Device Usage”
Allow different users on same machineAllow different users on same machineto get different rightsto get different rights
USB devices without serial number are second class citizens for such scenarios
Windows Vista Changes Windows Vista Changes Impacting IHVsImpacting IHVs
Here are some areas to keep in mind Here are some areas to keep in mind as they may impact IHVs developing as they may impact IHVs developing USB devicesUSB devices
Driver installation changes and enhancementsDriver installation changes and enhancements
User Account Protection User Account Protection (UAP…used to be LUA)(UAP…used to be LUA)
WDK related changes/updatesWDK related changes/updates
Windows Logo program requirementsWindows Logo program requirements
Jeff RavencraftJeff RavencraftPresident & Chairman USB-IFPresident & Chairman USB-IFTechnology Strategist Technology Strategist Intel CorporationIntel Corporation
The Future Of Mobility…The Future Of Mobility…
Reliably…Reliably…
And And SecurelySecurely
Delivered to youDelivered to youEasily…Easily…
Access toAccess toAnythingAnythingYou want…You want…
WhenWhenYou want it…You want it…
WhereWhereYou want itYou want it
Standards And Regulatory Paths PavedStandards And Regulatory Paths Paved
Standards ProgressStandards ProgressECMA approval in December 2005 ECMA approval in December 2005
Standards submitted for ISO approval in January 2006Standards submitted for ISO approval in January 2006
ISO approval expected in Q3ISO approval expected in Q3
IEEE 802.15.3a PAR closed IEEE 802.15.3a PAR closed
RegulatoryRegulatoryU.S. FCC approved for commercial use – March 2005U.S. FCC approved for commercial use – March 2005
Europe and Japan likely to issue rules in June/July timeframeEurope and Japan likely to issue rules in June/July timeframe
SpecificationsSpecificationsCertified Wireless USB 1.0 ratified May 2005Certified Wireless USB 1.0 ratified May 2005
Wireless USB Association Model 1.0 ratified March 2006Wireless USB Association Model 1.0 ratified March 2006
WiMedia MAC and Phy ratified in 2005WiMedia MAC and Phy ratified in 2005
Standards And Ecosystem Support +200 CompaniesStandards And Ecosystem Support +200 Companies
A Big OpportunityA Big Opportunity
Big market opportunity for WUSBBig existing base of USB
800
Number of Wired USB Products Shipped per Year (Millions)
100
200
300
400
500
600
700
2002 2003 2004 2005 2006
PCs Peripherals Consumer Electronics
Over 1 Billion units in the installed base today, growing to 3.5 Billion by 2006
Source: Cahners In-Stat Group
Wired USB Attach Rates for Key Device TypesWired USB Attach Rates for Key Device Types
USB enabled by ‘06
External Storage
95%USB enabled by ‘06
95+%
Digital Cameras
USB enabled by ‘06
96%
Camcorders
“USB is the most successful interface in the history of the PC”–Brian O’Rourke/Instat-MDR
0
50,000
100,000
150,000
Citigroup
In-Stat
WR Hambrecht
Techno Systems
SG Cowen
Citigroup 17,000 62,600 142,800 0
In-Stat 13,004 34,505 67,266 140,678
WR Hambrecht 13,900 50,300 126,900 0
Techno Systems 2,700 8,800 30,600 0
SG Cow en 2,700 13,100 56,300 0
2006 2007 2008 2009
Wireless USB Market Estimates(In-Stat, Jan 05)
0
20,000
40,000
60,000
80,000
100,000
120,000
140,000
160,000
2004 2005 2006 2007 2008 2009
CE Devices (w/ WUSB)
PC Peripherals (w/ WUSB)
PC (w/ WUSB) (incl adapters)
(K units)
Wireless USB Estimates (K units) Wireless USB Estimates (K units)
Dual Role Dual Role DevicesDevices
Up to 127 devicesUp to 127 devices
Host scheduled dataHost scheduled datacommunicationscommunications
Certified Wireless USB Certified Wireless USB Technology OverviewTechnology Overview
USB Wire Replacement TechnologyUSB Wire Replacement Technology
Matches data rate of Matches data rate of USB 2.0 (480 Mbps)USB 2.0 (480 Mbps)
Hub-and-spoke connection relationshipHub-and-spoke connection relationship
Connection model is a wire Connection model is a wire replacementreplacement
Point-to-point connectionsPoint-to-point connections
Between Certified wireless USB host Between Certified wireless USB host and peripheraland peripheral
Certified wireless USB clusterCertified wireless USB clusterWireless USB Host with one Wireless USB Host with one or more peripherals (up to 127 or more peripherals (up to 127 addressable devices)addressable devices)
Certified Wireless USB clusters Certified Wireless USB clusters may co-exist within an overlapping may co-exist within an overlapping spatial environmentspatial environment
Support for legacy USB host Support for legacy USB host and devicesand devices
Certified Wireless USBCertified Wireless USBHost Wire Adaptor: HWAHost Wire Adaptor: HWA
Certified Wireless USBCertified Wireless USBDevice Wire Adapter: DWADevice Wire Adapter: DWA
USB 2.0USB 2.0 USB 2.0USB 2.0
Enabling The MarketEnabling The Market
Certified Wireless USB PerformanceCertified Wireless USB Performance
Protocol designed from the ground up, optimized Protocol designed from the ground up, optimized for a wireless medium for a wireless medium
Power managementPower management
Security and associationSecurity and association
Operating System support/class driver protocol maintainedOperating System support/class driver protocol maintained
Data throughput Data throughput
Bandwidth allocation/isochronous supportBandwidth allocation/isochronous support
75% efficient (352 Mbps) in dedicated environment75% efficient (352 Mbps) in dedicated environment
66% efficient (160 Mbps out of 240 Mbps) 66% efficient (160 Mbps out of 240 Mbps) in shared environmentin shared environment
Certified Wireless USB deliversexcellent performance
Certified Wireless USB ComplianceCertified Wireless USB Compliance
USB-IF provides one-stop-shopping USB-IF provides one-stop-shopping for WUSB certificationfor WUSB certification
Workshops and 3Workshops and 3rdrd party test houses party test houses
Test specs are released (www.usb.org)Test specs are released (www.usb.org)
First Compliance Workshop in 2H ‘06First Compliance Workshop in 2H ‘06
Logo from the USB-IF communicates brand Logo from the USB-IF communicates brand promise to OEMs/ODMs, the channel, promise to OEMs/ODMs, the channel, and the consumerand the consumer
What's Coming In 2006What's Coming In 2006
Certified Wireless USB Developers Conferences Certified Wireless USB Developers Conferences San Jose (U.S.): June 19 – 21 at San Jose convention centerSan Jose (U.S.): June 19 – 21 at San Jose convention center
Taipei (Taiwan): July 24-26, Location TBDTaipei (Taiwan): July 24-26, Location TBD
Complete Intel Wireless Host Controller Interface Complete Intel Wireless Host Controller Interface (WHCI) specification (WHCI) specification
Industry standard for WHCI Industry standard for WHCI
The WHCI specification is at Rev 0.91 The WHCI specification is at Rev 0.91
Public release targeted for Q1 Public release targeted for Q1 ‘‘0606
USB-IF to hold first Certified Wireless USB compliance and USB-IF to hold first Certified Wireless USB compliance and certification workshop certification workshop
First WiMedia compliant Silicon Q2 ‘06First WiMedia compliant Silicon Q2 ‘06
First certified Wireless USB products 2H ’06First certified Wireless USB products 2H ’06
WiNet-WUSB Combo ArchitectureWiNet-WUSB Combo Architecture
LegendLegend
PC Radio ComponentsPC Radio Components
System SoftwareSystem Software
HardwareHardware
System System SoftwareSoftware
UWB PC sideUWB PC sideRadio Radio Hardware Hardware
PEER WiNetDevice Hardware
PEER WUSBDevice Hardware
UWB Radio PHY
MAC and Convergence Layer
Wireless USB Host Controller (WHCI)
UWB Radio Controller (URCI)
Winet Radio Controller (WinetRCI)
WUSB Host Controller Miniport
UWB Radio Controller
Driver
WiNet Host Controller Miniport
WiNet Filter Driver
TCP/IP Stack
USB Core Stack
USB Client Driver + Software
Call To ActionCall To Action
64-bit64-bitEnsure that your device and driver work on Ensure that your device and driver work on allall 64-bit enabled 64-bit enabled Windows operating systemsWindows operating systems
64-bit Windows is 64-bit Windows is huge!huge!
Test Existing Devices on Windows VistaTest Existing Devices on Windows VistaFollow the details on www.microsoft.com/whdc to test your Follow the details on www.microsoft.com/whdc to test your device/driver using latest WDK and get WHQL qualification!device/driver using latest WDK and get WHQL qualification!
Test all your drivers with the new Windows Vista USB stackTest all your drivers with the new Windows Vista USB stack
Certified Wireless USBCertified Wireless USBAttend industry trade shows (especially Wireless USB Developers Attend industry trade shows (especially Wireless USB Developers Conference in summer 2006: U.S. plus Asia)Conference in summer 2006: U.S. plus Asia)
Validate Microsoft’s preproduction UWB stack on your prototypes Validate Microsoft’s preproduction UWB stack on your prototypes
Please send sample devices to Windows TeamPlease send sample devices to Windows Team
Visit WUSB Community in Exhibition HallVisit WUSB Community in Exhibition Hall
Additional ResourcesAdditional Resources
Web resourcesWeb resourcesSpecs: http://www.usb.org/developerSpecs: http://www.usb.org/developer
Whitepapers: http://www.microsoft.com/WHDC Whitepapers: http://www.microsoft.com/WHDC
Microsoft UWB Website: Microsoft UWB Website: http://www.microsoft.com/whdc/system/bus/UWB/default.mspx http://www.microsoft.com/whdc/system/bus/UWB/default.mspx
Communities: www.microsoft.com/communities/products/default.mspx Communities: www.microsoft.com/communities/products/default.mspx
Related sessionsRelated sessions““Ultrawide Band Architecture for Windows” – Tues 17:30Ultrawide Band Architecture for Windows” – Tues 17:30
““Windows Vista Performance Technologies” – Tues 14:00Windows Vista Performance Technologies” – Tues 14:00
““User-Mode Driver Framework: Introduction and Overview” – Wed 15:15User-Mode Driver Framework: Introduction and Overview” – Wed 15:15
““Using the Device Simulation Framework for Software Using the Device Simulation Framework for Software Simulation of USB Devices” – Wed 16:30Simulation of USB Devices” – Wed 16:30
Email address: Email address: usbfb @ microsoft.comusbfb @ microsoft.com
Which WDF Model Is Right For You? Which WDF Model Is Right For You?
WinUSB WinUSB w/out w/out UMDFUMDF
WinUSWinUSwith with
UMDFUMDFKMDFKMDF
Where does the IHV need to write code?Where does the IHV need to write code? User User modemode
User User modemode
Kernel Kernel modemode
Supports expose/sharing device Supports expose/sharing device with multiple applicationswith multiple applications NoNo YesYes YesYes
Supports isolation of driver from application Supports isolation of driver from application NoNo YesYes NoNo
Supports USB Bulk, Interrupt Supports USB Bulk, Interrupt and Control Transfers?and Control Transfers? YesYes YesYes YesYes
Supports USB ISOC Transfers?Supports USB ISOC Transfers? NoNo NoNo YesYes
Allows kernel mode stacks to be built on top Allows kernel mode stacks to be built on top of IHV component?of IHV component? NoNo NoNo YesYes
Does Microsoft request IHV code Does Microsoft request IHV code be WHQL tested?be WHQL tested? YesYes YesYes YesYes
Common examples of devicesCommon examples of devices USB rain USB rain gaugegauge
USB <-> USB <-> serial serial
dongledongleUSB NICUSB NIC
Power Management Enhancements Power Management Enhancements Extra DetailsExtra Details
Enhanced composite device supportEnhanced composite device supportSelective suspend now fully supportedSelective suspend now fully supported
Limited support for multiple configuration devicesLimited support for multiple configuration devices
EHCI 1.0 supportEHCI 1.0 supportFSTN and i-bit support plannedFSTN and i-bit support planned
EHCI bios handoff support plannedEHCI bios handoff support planned
USBBiosX key is goneUSBBiosX key is goneSystem suspend states are controller by the controller’s System suspend states are controller by the controller’s power capabilitiespower capabilities
Most systems will now use S3 by defaultMost systems will now use S3 by default
Automatic reset of transient over-current errorsAutomatic reset of transient over-current errors
Selective SuspendSelective Suspend
Selective suspendSelective suspendAn individual USB port is suspended; a device can draw no more than An individual USB port is suspended; a device can draw no more than 2.5 MA while suspended2.5 MA while suspended
Global suspendGlobal suspendA USB controller is suspended; this will allow a processor to enter low power A USB controller is suspended; this will allow a processor to enter low power states(C3); all ports must be suspended before the controller is suspendedstates(C3); all ports must be suspended before the controller is suspended
On Windows XP this can only happen if On Windows XP this can only happen if allall drivers have submitted drivers have submitted an IDLE IRPan IDLE IRP
Windows XPWindows XP Windows VistaWindows Vista
Conditions Conditions for Selective for Selective SuspendSuspend
1)1) Driver requests a D2/D3 power IRPDriver requests a D2/D3 power IRP
2)2) Driver sends an IDLE IRP and waits Driver sends an IDLE IRP and waits for its callback before powering for its callback before powering down to D2/D3down to D2/D3
Same as Windows XPSame as Windows XP
Conditions Conditions for Global for Global SuspendSuspend
All drivers have sent an IDLE IRP to the All drivers have sent an IDLE IRP to the bus driver and powered down from their bus driver and powered down from their IDLE IRP callbackIDLE IRP callback
All devices are in a low All devices are in a low power statepower state
Which Selective Suspend Method To Use?Which Selective Suspend Method To Use?
Windows XPWindows XPAll drivers should use IDLE IRPsAll drivers should use IDLE IRPs
Complicated, see appendix for examplesComplicated, see appendix for examples
Windows VistaWindows VistaOnly composite devices that are enabled for remote wake need to use Only composite devices that are enabled for remote wake need to use
IDLE IRPsIDLE IRPs
IDLE IRPs are fully supported for all devicesIDLE IRPs are fully supported for all devices
Windows XPWindows XP Windows VistaWindows Vista
IDLE IRPsIDLE IRPs
1.1. Allows Global SuspendAllows Global Suspend
2.2. Device’s IDLE callback is not invoked Device’s IDLE callback is not invoked until all drivers have submitted an IDLE until all drivers have submitted an IDLE IRP to the bus driverIRP to the bus driver
1.1. Allows Global SuspendAllows Global Suspend
2.2. Device’s IDLE callback Device’s IDLE callback is invoked as soon as is invoked as soon as possiblepossible
WDM power WDM power requestrequest
1.1. Prevents controller from using Prevents controller from using global suspendglobal suspend
2.2. Device’s upstream port Device’s upstream port is immediately suspendedis immediately suspended
1.1. Allows Global SuspendAllows Global Suspend
2.2. Device’s upstream port Device’s upstream port is immediately suspendedis immediately suspended
USB Debugging ArchitectureUSB Debugging Architecture
Host can support multiple targetsHost can support multiple targets
Debug cable must be connected to Debug cable must be connected to a special port on the target machinea special port on the target machine
USB2DBG.SYS
USBHUB.SYS
U
K
U
K
KDUSB.dll
USB HUB
DBG
Cable
Std A Std A
No Hubs
allowedHubs
allowed
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.