Intel 的 HD 音频体系结构

Intel 高清音频规范(请参阅 Intel HD 音频网站)描述了正在作为 Intel AC'97 编解码器和控制器规范的后续规范开发的音频硬件体系结构。 操作系统的 UAA 驱动程序组件可以提供音频解决方案,该解决方案公开 HD 音频寄存器集并连接到系统的内部总线,而无需硬件供应商提供特定于解决方案的驱动程序。

HD 音频体系结构为数字音频控制器提供统一的编程接口。 通常,当今的音频编解码器符合 AC'97 行业标准,数字控制器通过另一个行业标准 AC-Link 连接到一个或多个 AC'97 编解码器。 尽管这些标准有助于确保一致地实现编解码器和链接,但目前不存在用于定义数字音频控制器接口的标准。 供应商倾向于为其系统集成的 AC'97 数字音频控制器提供非常类似的解决方案,但每个 AC'97 解决方案可能有所不同,足以要求单独的驱动程序。 HD 音频体系结构旨在通过指定跨所有实现统一的基本寄存器集来消除解决方案特定驱动程序的要求。

符合 HD 音频体系结构的总线控制器:

  • 提供控制器硬件版本信息。

  • 提供硬件配置信息,包括串行数据传出 (SDO) 行数和 DMA 引擎数。

  • 管理 HD 音频链接上可用的总线带宽量。

  • 接受来自编解码器的未经请求的响应和唤醒事件。

  • 在单独的环形缓冲区中对编解码器命令和编解码器响应进行排队。

  • 提供输入、输出和双向 DMA 引擎的集合,这些引擎会执行分散/集中传输,并且可以在内存中的编解码器和循环缓冲区之间流式传输数据,而无需主机处理器干预。

下图显示了 Windows Vista 中 HD 音频设备的 UAA 驱动程序体系结构示意图。 在此图中,Microsoft 提供了标记为 UAA HD 音频类驱动程序和 HD 音频总线驱动程序的软件组件。 标记为调制解调器驱动程序的组件由独立的硬件供应商提供。

Diagram illustrating the UAA driver architecture for Intel HD Audio devices in Windows Vista.

UAA HD 音频类驱动程序向驱动程序上方的操作系统音频堆栈提供流式处理接口(上图中未显示)。

HD 音频总线驱动程序直接访问 HD 音频控制器中的硬件寄存器,并提供 UAA HD 音频类驱动程序或调制解调器驱动程序用于管理 DMA 引擎并将命令发送到编解码器的 DDI。 HD 音频总线驱动程序代表 HD 音频链接上的音频设备处理所有中断、即插即用通知和电源管理事件。

HD 音频控制器提供用于将命令和数据传输到 HD 音频链接上的编解码器的 DMA 引擎和命令缓冲区。 上图中标有编解码器的框可以是音频或调制解调器编解码器,它们可以通过外部插孔或固定的内部外围设备(如移动电脑扬声器)连接到可移动外围设备。