二十年之前,当有人想在个人计算机上实现实时音频应用时,通常是通过触发97号I/O端口的第一位产生一个方波脉冲,然后通过PC机内置的一个很小的发声器将声音播放出来。10年前,谈到PC机上的实时音频时通常意味着购买一块PCI声卡。然而在刚刚过去的这10年间,大多数从运货箱中取出的PC机都能直接使用主板内置的音频解决方案播放音频,这些解决方案符合音频编解码器(AC)'97规范及其后续版本-Intel高清音频(HDA)多声道规范。
PC音频向AC'97的过渡
AC'97 规范是Intel在1997年提出的,该规范鼓励主板制造商在其制造的主板上集成价格相对低廉的混合信号“编解码器”芯片,这在PC音频行业掀起了轩然大波。AC'97规范的数字控制器部分恰好位于I/O控制器中心(ICH)的“南桥”芯片中,而音频处理和调制解调器所需的模数和数模功能则位于音频编解码器芯片中。AC'97最早的目标是支持单声道麦克风输入和双声道(立体声)音频I/O特性、16到20位分辨率和每通道48kHz采样率。
然而,并非所有最终用户都完全得到了满足。这种方式实现的音频品质往往并不能达到高保真音乐迷和狂热游戏玩家的标准,因为对于低噪声的音频信号而言,PC主板是一个本质上很不友好的电气环境。在主处理器负荷很重时,例如在运行图象处理量繁重的游戏或屏幕更新任务时,AC'97系统还可能会表现出令人讨厌的音频毛刺、喀嗒声和音频丢失。在我们想要享受带杜比数字5.1声道的DVD唱碟时,出现这样的问题可大大不妙。
多声道音频技术
Intel 公司在2004年就公布了HDA标准(见图1),用以满足最终用户不断提高的期望值。Intel的HDA继承了AC'97采用主板声音解决方案的传统,但又专为支持家庭娱乐而额外添加了高性能的音频功能。HDA规范支持八通道的192kHz/32bit音频输出。
图1:Intel公司针对PC的高清音频系统框图
HDA 链路是用于连接HDA控制器(通常是ICH内核逻辑芯片的一部分)和HDA编解码芯片的五线数字串行接口。HDA链路采用了锁定于HDA控制器提供的 24MHz位时钟(BCLK)的控制器同步比特流,所有音频输入和输出数据流都与一个帧速率固定为48kHz的SYNC信号同步。
PC 机中使用的典型HDA系统都能提供5到8个板载模拟音频通道(即支持7.1声道),并可选择48到192kHz/24bit模拟音频输出。一些HDA编解码器芯片和主板还通过同轴连接器、光连接器或同时通过这两种连接器提供S/PDIF数字音频输入/输出。另外,音频子系统的硬件和软件层设计也更加成熟,从而降低了与音频性能相关的毛刺和丢失出现的概率。
除了原来就支持的多声道音频功能外,现代PC音频系统还必须提供多程序运行功能用于并行回放。例如,一台家庭娱乐电脑可能在用于厅内播放多声道环绕声DVD电影的同时被厨房或书房中的另一个用户用来播放互联网视频共享网站上的声音信号。类似的,狂热的网游爱好者可能会选择通过音箱播放游戏的5.1音频声轨,同时又通过轻便的耳机在互联网上进行实时音频聊天。
PC音频子系统设计挑战
显然,音频子系统设计师和编程人员所面临的挑战是如何确保多个并行音频声道各司其职、各尽其能,并使系统的设置、调试和维护更加容易。硬件设计师必须遵循完善的模拟设计规范,才能在苛刻的PC环境下保证信号完整性。
除了选择音频编解码芯片之外,设计师还必须为模拟音频连接器选择合适的布线方式、放置位置和类型,并在需要S/PDIF连接器时选择合适的数字I/O。
编解码器制造商的版图说明中通常都建议从物理上分隔编解码器芯片的数字接口部分(例如HDA链路和S/PDIF连接)与敏感的模拟音频输入/输出管脚,以便尽可能减小高频数字信号对模拟电路的感性串扰。
同样,选择正确的输入输出音频隔直电容也可能对电路的低频性能产生很积极的影响。大多数编解码器制造商都规定在音频输入端要采用等效串联电阻和电感非常小的 X5R电介类MLCC电容,并在输出端使用容量相对较大的电解电容(>10μF)。只要足够细心,那么硬件设计师就能在PC环境中设计出真正高清音频电路。
图2:MPEG环绕声