1 / 64

Audio System Design Considerations For Windows Vista System Logo Certification

Audio System Design Considerations For Windows Vista System Logo Certification. H å kon Strande Program Manager Media Technology Group Microsoft Corporation. Agenda. Vista and Streaming audio – The Vision Discoverability in hardware Enabling Class drivers, transparency, flexibility

kory
Télécharger la présentation

Audio System Design Considerations For Windows Vista System Logo Certification

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Audio System Design Considerations For Windows Vista System Logo Certification Håkon StrandeProgram ManagerMedia Technology GroupMicrosoft Corporation

  2. Agenda • Vista and Streaming audio – The Vision • Discoverability in hardware • Enabling Class drivers, transparency, flexibility • Extensibility in hardware • Standard that lasts, enables new scenarios • Stability from software infrastructure • WaveRT, System Effects Infrastructure • Quality from hardware and software • Fidelity, latency • HD Audio System Implementation Deep Dive

  3. Discoverability • It just works... • Class driver enabling through standards Universal Audio Architecture UAA USB driver UAA HDA driver UAA Futures USB Audio HD Audio Future HW Standards

  4. UAA? What Does It Mean? • Paradigm shift: Universal Audio Architecture Initiative • System Audio device compliance with select standardized technology spec • System Audio device compatibility with Windows Vista Audio class driver • System logo tests performed with relevant Windows Audio Class driver

  5. Discoverability • Designed for Windows Vista audio hardware expose standardized HW interfaces • Guaranteed audio functionality on all Windows Vista PCs • These standard interfaces are supported by Microsoft audio class drivers • Broad Industry Benefits from UAA • System Integrators and IHVs • Windows natively always covers their audio solution • Value products – Low cost and business PCs • SKUs where stability and security are more important • Vendor specific driver can be provided for differentiation • End User Benefits • Guaranteed audio support on upgrade or clean Windows installation • Provides option for stable, secure audio device support

  6. Discoverability • Transparency of audio subsystem extending to HW • OS Policy opportunities like aggregation, routing, mixing, user choice No user control of device usage User controlledOS/AppPolicy Layer Hardware a Black Box to System In the past...

  7. Discoverability • Transparency of audio subsystem extending to HW • OS Policy opportunities like aggregation, routing, mixing, user choice User controlledOS/AppPolicy Layer DiscoverableHardware Now with HD Audio...

  8. Discoverability • Transparency of audio subsystem extending to HW • OS Policy opportunities like aggregation, routing, mixing, user choice Aggregate devices Smart policy like ducking and device roles User controlledOS/AppPolicy Layer Host-based mixing and routing

  9. Discoverability • Independent devices, Dynamic Devices, and Device Roles • Multi streaming scenarios like ubiquitous VOIP • Device availability better illustrated User controlledOS/AppPolicy Layer

  10. Discoverability • Independent devices, Dynamic Devices, and Device Roles • Multi streaming scenarios like ubiquitous VOIP • Device availability better illustrated Device Role: VOIP User controlledOS/AppPolicy Layer

  11. Discoverability • Independent devices, Dynamic Devices, and Device Roles • Multi streaming scenarios like ubiquitous VOIP • Device availability better illustrated Device Role: VOIP Device Role:Entertainment User controlledOS/AppPolicy Layer

  12. Discoverability • Independent devices, Dynamic Devices, and Device Roles • Multi streaming scenarios like ubiquitous VOIP • Device availability better illustrated Device Role: VOIP Device Role:Entertainment User controlledOS/AppPolicy Layer Device Role: Console

  13. Discoverability From this • Transparency of audio subsystem extending to HW • OS Policy opportunities like aggregation, routing, mixing, user choice No user control of device usage User controlledOS/AppPolicy Layer Hardware was a Black Box to OS

  14. Discoverability To this! • Independent devices, Dynamic Devices, and Device Roles • Multi streaming scenarios like ubiquitous VOIP • Device availability better illustrated Device Role: VOIP Device Role:Entertainment User controlledOS/AppPolicy Layer Device Role: Console

  15. Discoverability Great UI But can we really use the device? • Independent devices, Dynamic Devices, and Device Roles • Multi streaming scenarios like ubiquitous VOIP • Device availability better illustrated Device Role: VOIP Device Role:Entertainment User controlledOS/AppPolicy Layer Peripherals are connected Device Role: Console

  16. Discoverability • Independent devices, Dynamic Devices, and Device Roles • Multi streaming scenarios like ubiquitous VOIP • Device availability better illustrated Device Role: VOIP Disconnected Device Role:Entertainment User controlledOS/AppPolicy Layer Microphone is disconnected Device Role: Console

  17. Discoverability • Independent devices, Dynamic Devices, and Device Roles • Multi streaming scenarios like ubiquitous VOIP • Device availability better illustrated Device Role: VOIP Disconnected Device Role:Entertainment User controlledOS/AppPolicy Layer Microphone is connected again Device Role: Console

  18. Extensibility • UAA standards must be extensible • Ensure long life of technology • USB Audio OK (with 2.0 spec) • 1394 Audio OK • AC-97 not so much • Needed a new HW design for the 95% market segment • Intel and Microsoft developed the High Definition Audio specification with extensibility in mind

  19. C C Extensibility System Memory • DMA Engines • Dynamic allocation of DMA engine to a single stream • Streams • Bind single program’s audio to a DMA engine • Each stream’s sample sizes and rate are independent • Flexible Link Protocol • Managed resource with future bandwidth extensibility • Variable number of streams each with different rates and widths • Initialization and Configuration • 3-tiers: a) controller b) link or codec c) acoustic device • Fully enumerated Codec Structure • Codec communication • Packet-like command and response • Ring buffer (not “PIO” register-based) Controller RAM HD AudioController DMA DMA DMA DMA Codec C Integrated C HD Audio Link Codec C Motherboard C Codec C Add-in C Mobile Docking Station Codec C C

  20. Stability And Transparency • Stable, reliable audio device infrastructure • User mode audio system • Audio Device Infrastructure changes • Simplified and scope limited device driver model • WaveRT PortCls miniport • Value-add audio processing moved to user mode • System Effects Infrastructure

  21. Stability And Transparency Audio Engine Gaming Audio API Memory Buffer User Mode Kernel Mode PortCls Microsoft HD Audio FunctionClass Driver (WaveRT) System Effects System Effects Or 3rd party driver Microsoft HD Audio Bus Driver HW

  22. Stability And Transparency Audio Engine Gaming Audio API System Effects Memory Buffer User Mode Kernel Mode PortCls 3rd party value-add DDI Microsoft HD Audio FunctionClass Driver (WaveRT) System Effects Or 3rd party driver DDI Microsoft HD Audio Bus Driver HW

  23. Stability And Transparency • WaveRT friendly hardware designs • A UAA HD Audio-compatible implementation meets this requirement automatically • To be considered WaveRT port friendly, the audio hardware must support the following • Cyclic DMA engine with a scatter-gather list • Position register that is separate from other hardware registers (can be a copy) • Ability to split samples between pages • Ability to loop on buffers without software intervention • This requirement does not apply to external or internal USB audio and 1394 audio devices

  24. Quality • WaveRT: Low latency enabling driver model • HW Maps buffer to audio engine user mode buffer • HW Maps position similarly • Multi-media Class Scheduler • Improved file I/O • Higher fidelity opportunities • Multiple streams with multi-channel data at high bit depth and sample rates from all PCs • Breaking the limitations of common legacy solutions • Transition away from AC-97 • 16bit/48KHz is no longer the limit

  25. Quality • New initiative from Microsoft to improve baseline PC audio fidelity • Evangelization of board/device design guidelines • Defined Logo fidelity requirements • Enforcement using automated tests and analyzers • Bar set at current industry state

  26. Quality • New initiative from Microsoft to improve baseline PC audio fidelity • Evangelization of board/device design guidelines • Defined Logo fidelity requirements • Enforcement using automated tests and analyzers • Bar set at current industry state

  27. How Does UAA Affect System Implementation? • Please invest time to understand the new Windows requirements and implement the system audio device accordingly • Your systems will fail Windows Vista logo certification if you do nothing • You cannot continue to design and validate the same way as in the past with AC-97 solutions • There are new considerations • New way of reporting system and device capabilities, CRITICAL for logo certification: System BIOS programs HD Audio codec pin configuration registers according to Microsoft guidelines • New model for how the system’s audio device is tested relies on the new system audio capabilities reporting mechanism • The codec vendor’s customized driver now plays less of a role during system certification phase, thus the Microsoft class driver should be your system bring-up validation tool

  28. What Do You Have To Do Differently? • To ensure Windows Vista Logo certification, System Implementers should: • Validate system audio solution UAA compliance with relevant specifications and early in design cycle • Validate system audio solution UAA compliance by using Microsoft provided UAA during design cycle • Validate system audio solution UAA compliance by using relevant Microsoft’s UAA during design and test cycles Microsoft UAA design guidelines test tools audio class driver

  29. Focus: High Definition Audio • HD Audio is the most important of the currently defined UAA technologies • Microsoft expects 95% of all UAA compliant systems to be based on HD Audio and require 100% of all Windows Vista systems to be UAA compliant • HD Audio is extensible and discoverable • Allowing multitude of solutions and the means to accurately report each solution’s capabilities

  30. HD Audio Deep Dive • Section Goals • Understand what HD Audio Pin Configuration Default Register is • Understand its impact on HD Audio system implementation • HD Audio Codec Configurability • Pin Configuration Default Register • Microsoft Pin Configuration Guidelines for HD Audio Devices • HD Audio Class Driver • Impacts to your HD Audio system designs • Validation tools

  31. HD Audio Codec Configurability • HD Audio specification defines a way for system designers (like OEMs/ODMs) to specify how an HD audio codec is used in a particular system • Specified through the programming of Pin Configuration Default Settings • On the same codec, applying different set of Pin Configuration Default Settings, you can have different audio configurations to meet the needs of individual systems

  32. HD Audio Codec Configurability Customized AC 97 Driver 1 Customized AC 97 Driver 2

  33. HD Audio Codec Configurability • One of our goals is to guarantee the availability of audio functionality right after Windows installation • With AC 97 Audio, the only way to achieve this goal is to add every single 3rd party driver into Windows, which is impossible

  34. HD Audio Codec Configurability HD Audio Class Driver HD Audio Class Driver Pin Configuration Default Registers 1 Pin Configuration Default Registers 2

  35. What Is The Pin Configuration Register? Computer Box A 32-bit register, one for each pin to specify the intended usage for each pin

  36. What Is The Pin Configuration Register? Configuration Default Register Computer Box Configuration Default Register Connectivity Def Device Misc Location Def Association Connection Type Color Sequence Number

  37. What Is The Pin Configuration Register? • Detailed Pin Configuration register fields Jack, fixed, no connection… Rear, Front, Right, Left, External, Internal… LineOut, Speaker, HP, SPDIF Out, Mic In… 1/8” jack, RCA, Optical… Black, Green, Orange, Blue… Jack presence detection capability How to group pins into logical devices Special information in a logical device Connectivity Location Def Device Connection Type Color Jack Override Def Association Sequence Number

  38. Location, Connection Type, Color Used in UI to guide users how to connect peripheral devices Unique color in a location is user friendly – recommended!

  39. Port Connectivity • The Port Connectivity field indicates whether the pin widget represents an external audio jack, has a fixed connection to an internal device (for example, integrated speakers), or is unconnected • Set to no-physical connection for unused pins to avoid class exposing unusable audio device

  40. Default Device • Default Device indicates the intended use of the jack or device • It could be an input device (like Mic in, Line In, SPDIF In) or an output device (like speaker, line out, headphone, SPDIF Out…) • Each pin can only have one “Default Device” • This is where the HD Audio Specification comes short of supporting jack re-tasking

  41. Association, Sequence Number • Association is used to form groups of pins that operate as multi-pin device • Sequence Number is used for speaker-channel mapping in multi-channel devices Logical Device List Pin Configuration Register Sequence Number Bit 3:0 Association Default Bit 7:4 Association 1 Line Out Pin Widget 10 Line Out Pin Widget 11 Line Out Pin Widget 18 Line Out Pin Widget 10 1 0 Line Out Pin Widget 11 1 1 Association 2 Translated by parser to Line In Pin Widget 12 Line Out Pin Widget 18 1 2 Association 3 Line In Pin Widget 12 2 0 Mic In Pin Widget 15 Mic In Pin Widget 15 3 0

  42. Great results!

  43. Jack Detection Override • The HD Audio class driver uses “Jack Detection” to detect whether speakers, headphones, microphones, and other external devices are plugged into audio jacks • When “Jack Detection” capability is present, HD Audio class driver will enable “Dynamic Device” feature for this device • Exposing it only when physical connection is detected • Improved end user experience • Avoid support calls • Otherwise, each device is treated as “Static Device” – always exposed

  44. Jack Detection Override • Used to indicate whether external circuit on motherboard is present for enabling jack detection capability • When this bit is set, it means no external circuit is added; clear it when circuit is present (negative logic)

  45. Common Issues • Jack Detection Override • Use HD Audio Front Panel because AC 97 Front Panel can not do jack detection with HD Audio codecs • Use two Pin Widgets to associate re-directed behavior • Splitting signals from one codec port is prohibited as the OS is not aware • EAPD and SPDIF In • EAPD behavior is reversed from AC-97 spec • Use GPIO0 if EAPD is used for SPDIF In

  46. Microsoft Pin Configuration Guidelines For HD Audio Devices • A Microsoft document that complements HD Audio Specification • The spec itself does not completely specify how exactly to program Pin Configuration Registers in a logical device with more than one pin • Defines the pin configuration requirements for each Windows supported device type • Is part of Windows Vista Logo requirements for systems with HD Audio solutions

  47. Single Pin Device Types • Speaker, Line Out, Headphone Out, SPDIF Out, HDMI Audio Out • Mic in, Line In, Aux In, SPDIF In

  48. Multi-Pin Devices • Multi-channel Speaker/Line Out Devices • Quad • 5.1 • 7.1

  49. Multi-Pin Devices • Redirected Headphone • Combine headphone with speakers/line out • Redirected Internal Speaker • Combine internal speaker with speakers/line out Internal Speaker

  50. Multi-Pin Devices • MuxedCapture • A collection of mutually exclusive input devices that share the same ADC Mux Mic In Line In or Mic In Line In

More Related