Intels HD-Audioarchitektur

Die Intel High Definition Audio Specification (siehe Intel HD Audio-Website ) beschreibt eine Audiohardwarearchitektur, die als Nachfolger der Intel AC'97-Codec- und Controllerspezifikation entwickelt wird. Die UAA-Treiberkomponenten des Betriebssystems können eine Audiolösung verwalten, die den HD Audio-Registersatz verfügbar macht und eine Verbindung mit dem internen Bus des Systems herstellt, ohne dass ein lösungsspezifischer Treiber vom Hardwareanbieter erforderlich ist.

Die HD Audio-Architektur bietet eine einheitliche Programmierschnittstelle für digitale Audiocontroller. In der Regel entsprechen die heutigen Audiocodecs dem Branchenstandard AC'97, und digitale Controller verbinden sich über einen anderen Branchenstandard, AC-Link, mit einem oder mehreren AC'97-Codecs. Obwohl diese Standards helfen, sicherzustellen, dass Codecs und Links konsistent implementiert werden, gibt es derzeit keinen Standard, der die Schnittstelle zum digitalen Audiocontroller definiert. Anbieter haben in der Regel sehr ähnliche Lösungen für ihre systemintegrieren ac'97 digitalen Audiocontroller, aber jede AC'97-Lösung ist wahrscheinlich anders genug, um einen separaten Treiber zu benötigen. Die HD Audio-Architektur soll die Anforderung an lösungsspezifische Treiber beseitigen, indem ein Basisregistersatz angegeben wird, der für alle Implementierungen einheitlich ist.

Ein Buscontroller, der der HD-Audioarchitektur entspricht:

  • Stellt Informationen zur Controllerhardwareversion bereit.

  • Stellt Hardwarekonfigurationsinformationen bereit, einschließlich der Anzahl von SDO-Zeilen (Serial Data-Out) und DMA-Engines.

  • Verwaltet die für HD Audio Link verfügbare Busbandbreite.

  • Akzeptiert nicht angeforderte Antworten und Reaktivierungsereignisse von Codecs.

  • Warteschlangen codec-Befehle und Codecantworten in separaten Ringpuffern.

  • Stellt eine Sammlung von Eingabe-, Ausgabe- und bidirektionalen DMA-Engines bereit, die Punkt-/Sammelübertragungen ausführen und Daten zwischen Codecs und zyklischen Puffern im Arbeitsspeicher streamen können, ohne dass der Hostprozessor eingreifen muss.

Die folgende Abbildung zeigt ein Diagramm der UAA-Treiberarchitektur für HD Audio-Geräte in Windows Vista. In der Abbildung werden die Softwarekomponenten mit den Bezeichnungen UAA HD Audio Class Driver und HD Audio Bus Driver von Microsoft bereitgestellt. Die Komponente mit der Bezeichnung Modemtreiber wird von einem unabhängigen Hardwareanbieter bereitgestellt.

Diagramm, das die UAA-Treiberarchitektur für Intel HD Audio-Geräte in Windows Vista veranschaulicht.

Der UAA HD Audio-Klassentreiber stellt die Streamingschnittstelle für den Audiostapel des Betriebssystems über dem Treiber bereit (nicht in der vorherigen Abbildung dargestellt).

Der HD Audio-Bustreiber greift direkt auf die Hardwareregister im HD-Audiocontroller zu und stellt den DDI bereit, den der UAA HD Audio-Klassentreiber oder Modemtreiber zum Verwalten der DMA-Engines und zum Senden von Befehlen an die Codecs verwendet. Der HD Audio Bus-Treiber verarbeitet alle Interrupts, Plug & Play Benachrichtigungen und Energieverwaltungsereignisse im Auftrag von Audiogeräten in HD Audio Link.

Der HD-Audiocontroller stellt die DMA-Engines und Befehlspuffer bereit, die zum Übertragen von Befehlen und Daten an Codecs auf dem HD Audio Link verwendet werden. Die Felder mit der Bezeichnung Codec in der vorherigen Abbildung können entweder Audio- oder Modemcodecs sein, und sie können entweder mit herausnehmbaren Peripheriegeräten über externe Buchsen oder mit festen internen Peripheriegeräten wie mobilen PC-Lautsprechern verbunden werden.