Audio system design considerations for windows vista system logo certification
Download
1 / 64

Audio System Design Considerations For Windows Vista System Logo Certification - PowerPoint PPT Presentation


  • 254 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Audio System Design Considerations For Windows Vista System Logo Certification' - kory


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Audio system design considerations for windows vista system logo certification l.jpg

Audio System Design Considerations For Windows Vista System Logo Certification

Håkon StrandeProgram ManagerMedia Technology GroupMicrosoft Corporation


Agenda l.jpg
Agenda Logo Certification

  • 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


Discoverability l.jpg
Discoverability Logo Certification

  • 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


Uaa what does it mean l.jpg
UAA? What Does It Mean? Logo Certification

  • 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


Discoverability5 l.jpg
Discoverability Logo Certification

  • 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


Discoverability6 l.jpg
Discoverability Logo Certification

  • 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...


Discoverability7 l.jpg
Discoverability Logo Certification

  • 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...


Discoverability8 l.jpg
Discoverability Logo Certification

  • 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


Discoverability9 l.jpg
Discoverability Logo Certification

  • Independent devices, Dynamic Devices, and Device Roles

    • Multi streaming scenarios like ubiquitous VOIP

    • Device availability better illustrated

User controlledOS/AppPolicy Layer


Discoverability10 l.jpg
Discoverability Logo Certification

  • Independent devices, Dynamic Devices, and Device Roles

    • Multi streaming scenarios like ubiquitous VOIP

    • Device availability better illustrated

Device Role: VOIP

User controlledOS/AppPolicy Layer


Discoverability11 l.jpg
Discoverability Logo Certification

  • 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


Discoverability12 l.jpg
Discoverability Logo Certification

  • 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


Discoverability13 l.jpg
Discoverability Logo Certification

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


Discoverability14 l.jpg
Discoverability Logo Certification

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


Discoverability15 l.jpg
Discoverability Logo Certification

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


Discoverability16 l.jpg
Discoverability Logo Certification

  • 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


Discoverability17 l.jpg
Discoverability Logo Certification

  • 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


Extensibility l.jpg
Extensibility Logo Certification

  • 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


Extensibility19 l.jpg

C Logo Certification

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


Stability and transparency l.jpg
Stability And Transparency Logo Certification

  • 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


Stability and transparency21 l.jpg
Stability And Transparency Logo Certification

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


Stability and transparency22 l.jpg
Stability And Transparency Logo Certification

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


Stability and transparency23 l.jpg
Stability And Transparency Logo Certification

  • 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


Quality l.jpg
Quality Logo Certification

  • 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


Quality25 l.jpg
Quality Logo Certification

  • 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


Quality26 l.jpg
Quality Logo Certification

  • 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


How does uaa affect system implementation l.jpg
How Does UAA Affect System Implementation? Logo Certification

  • 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


What do you have to do differently l.jpg
What Do You Have Logo CertificationTo 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


Focus high definition audio l.jpg
Focus: High Definition Audio Logo Certification

  • 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


Hd audio d eep d ive l.jpg
HD Audio Logo CertificationDeep 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


Hd audio codec configurability l.jpg
HD Audio Codec Configurability Logo Certification

  • 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


Hd audio codec configurability32 l.jpg
HD Audio Codec Configurability Logo Certification

Customized AC 97 Driver 1

Customized AC 97 Driver 2


Hd audio codec configurability33 l.jpg
HD Audio Codec Configurability Logo Certification

  • 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


Hd audio codec configurability34 l.jpg
HD Audio Codec Configurability Logo Certification

HD Audio Class Driver

HD Audio Class Driver

Pin Configuration Default Registers 1

Pin Configuration Default Registers 2


What is the pin configuration register l.jpg
What Logo CertificationIs The Pin Configuration Register?

Computer Box

A 32-bit register, one for each pin to specify the intended usage for each pin


What is the pin configuration register36 l.jpg
What Logo CertificationIs The Pin Configuration Register?

Configuration

Default Register

Computer Box

Configuration Default Register

Connectivity

Def Device

Misc

Location

Def Association

Connection Type

Color

Sequence Number


What is the pin configuration register37 l.jpg
What Logo CertificationIs 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


Location connection type color l.jpg
Location, Connection Logo CertificationType, Color

Used in UI to guide users how to connect peripheral devices

Unique color in a location is user friendly – recommended!


Port connectivity l.jpg
Port Connectivity Logo Certification

  • 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


Default device l.jpg
Default Device Logo Certification

  • 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


Association sequence number l.jpg
Association, Logo CertificationSequence 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


Slide42 l.jpg

Great results! Logo Certification


Jack detection override l.jpg
Jack Detection Override Logo Certification

  • 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


Jack detection override44 l.jpg
Jack Detection Override Logo Certification

  • 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)


Common issues l.jpg
Common Issues Logo Certification

  • 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


Microsoft pin configuration guidelines for hd audio devices l.jpg
Microsoft Pin Configuration Guidelines For HD Audio Devices Logo Certification

  • 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


Single pin device types l.jpg
Single Pin Device Types Logo Certification

  • Speaker, Line Out, Headphone Out, SPDIF Out, HDMI Audio Out

  • Mic in, Line In, Aux In, SPDIF In


Multi pin devices l.jpg
Multi-Pin Devices Logo Certification

  • Multi-channel Speaker/Line Out Devices

    • Quad

    • 5.1

    • 7.1


Multi pin devices49 l.jpg
Multi-Pin Devices Logo Certification

  • Redirected Headphone

    • Combine headphone with speakers/line out

  • Redirected Internal Speaker

    • Combine internal speaker with speakers/line out

Internal Speaker


Multi pin devices50 l.jpg
Multi-Pin Devices Logo Certification

  • MuxedCapture

    • A collection of mutually exclusive input devices that share the same ADC

Mux

Mic In

Line In or Mic In

Line In


Multi pin devices51 l.jpg
Multi-Pin Devices Logo Certification

  • MixedCapture

    • A collection of devices that share the same ADC that may work at the same time

Mix

Mic In

Mic In+Line In

Line In


Important notes to system board vendors l.jpg
Important Notes To System/Board Vendors Logo Certification

  • Add external “Jack Detection” circuits

  • Port connectivity field

    • Mark unused pins no-physical connection

  • Make sure jack color is unique in a location

  • Jack color needs to be specified correctly in pin configuration default register

    • The user will see this!

  • Make best use of the device types supported by the HD Audio Class Driver


Hd audio class driver relies on proper pin config values l.jpg
HD Audio Class Driver Relies On Proper Pin Config Values Logo Certification

System designers’ inputs

(in Configuration Default Settings)

Codec capability

Data Input

HD Audio Class Driver

Topology Parser

Logical Devices

Data Output

MultichannelRender

MicIn Device

Headphone Device

SPDIFOut

SPDIF In


Hd audio driver s l.jpg
HD Audio Driver Logo Certifications

Codec capability

for A/B/C

Pin Configuration

Default Settings

Pin Configuration

Default Settings

3rd party HD Audio Driver

Codec A specific knowledge

HD Audio Class Driver

Codec B specific knowledge

Topology Parser

Codec C specific knowledge

HD Audio Codec A

HD Audio Codec A

HD Audio Codec B

HD Audio Codec B

HD Audio Codec C

HD Audio Codec C


Hd audio system view l.jpg
HD Audio Logo Certification System View

3rd party HD Audio Driver

Microsoft HD AudioClass Driver

or

MicrosoftHD Audio Bus Driver Device Interface

Microsoft HD Audio Bus Driver

Software

Hardware

HD Audio Specification 1.0 and Microsoft UAA HD Audio HW Design Guidelines

HD Audio Controller

HD Audio Link

HD Audio Codec

From IHV C

HD Audio Codec

From IHV A

HD Audio Codec

From IHV B

Microsoft UAA Pin Configuration Guidelines for HD Audio Devices


System design summary l.jpg
System Design Summary Logo Certification

  • Design your HD Audio systems only with HD Audio spec compliant HD Audio codecs

  • Make sure your system BIOS program pin configuration settings that describe your HD Audio features

    • Each HD Audio Codec has default pin configuration settings

    • System BIOS needs to overwrite them to fit each specific HD Audio system

  • Test with Microsoft HD Audio Class Driver

System BIOS

System Specific Pin Configuration Settings (VerbTable)

HD Audio Codec

Pin Configuration Default Registers


Validation tools l.jpg
Validation Tools Logo Certification

  • HD Audio Utility (HDAU.exe)

    • When running on HD Audio system, it can validate pin config settings

    • When running on non-HD Audio machine, it can take data file and simulate pinconfig settings verification

    • Can output pin config settings in registry or BIOS verb table format

  • DumpAzaliaReg.exe

    • Collect codec information from HD Audio systems


Validation tools58 l.jpg
Validation Tools Logo Certification

.ini

.dat

HDAU

Parser Output

DumpAzaliaReg

VerbTable

Debug Class Driver

BIOS PinConfig

Settings

Codec

Pinconfig


Pin config validation steps l.jpg
Pin Config Logo CertificationValidation Steps

  • Use HDAU tool to collect codec and pinconfig information from hardware

  • Run HDAU’s parse function to verify pinconfig correctness

    • If not correct, iterate this step until compliant configuration is found using Microsoft guidelines

  • Use HDAU to create verb-table for BIOS

    • Validate results with UAA HD Audio class driver


Call to action 1 l.jpg
Call To Action 1 Logo Certification

  • Build with HD Audio Spec 1.0 compliant HD Audio codec and HD Audio controller

  • Follow Microsoft UAA HD Audio HW design guidelines

  • Program Pin Configuration Default registers correctly through BIOS by following Microsoft Pin Configuration Guidelines for High Definition Audio Devices

  • Test with WDK DTM RC1 UAATest.exe for

    • Validating Pin Configuration Default settings

    • Checking HD Audio Spec compliance

  • Validate system designs with HD Audio Class driver by using it


Call to action 2 l.jpg
Call To Action 2 Logo Certification

uaa @ microsoft.com

  • Email to obtain test tools and pre-release UAA class driver updates necessary to validate your solution during your design phase

  • Review the Windows Logo Program Requirements http://www.microsoft.com/whdc/winlogo/hwrequirements.mspx

  • Read the relevant documents on http://www.microsoft.com/whdc/device/audio/default.mspx

    • Especially but not exclusively

      • UAA HW Design Guidelines

      • UAA HD Audio PnP ID requirements

      • UAA HD Audio Pin Configuration Programming Guidelines

      • UAA HD Audio Codec Pin Configuration Test Procedures (TBP)

  • Intel HD Audio Specification 1.0 http://www.intel.com/standards/hdaudio/


Additional resources l.jpg
Additional Resources Logo Certification

  • Web Resources

    • Specs

      • http://www.intel.com/standards/hdaudio/

      • http://www.usb.org/

      • http://www.1394ta.org/

    • White Papers

      • http://www.microsoft.com/whdc/device/audio/UAA_HWdesign.mspx

      • http://www.microsoft.com/whdc/device/audio/PinConfig.mspx

      • http://www.microsoft.com/whdc/device/audio/HD-aud_PnP.mspx

    • Other Resources

      • http://www.microsoft.com/whdc/device/audio/uaa.mspx

      • http://www.microsoft.com/whdc/device/audio/default.mspx

      • http://www.microsoft.com/whdc/winlogo/hwrequirements.mspx

      • The HD Audio book!

  • Contact us:

uaa @ microsoft.com


Slide63 l.jpg

© 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.


ad