音频DAC选型与实战:从R2R到Delta-Sigma,解决噪声与振铃
最近圈子里聊得比较多的,是面向专业音频设备的新款DAC方案。说白了,DAC(数模转换器)就是数字音频和模拟世界之间的那道桥,尤其到了High-Res Audio(高解析度音频)时代,录音接口、调音台、监听控制器这些专业设备能不能把24bit/192kHz的细节完整还原,最终都得看DAC这一关过不过硬。这篇文章我不打算替任何厂商吹参数,而是想借着这个新品的热度,把DAC选型、架构差异、信号质量和实际排查这些事从头到尾捋一遍,给正准备做音频硬件、或者正在调试音频板卡的朋友一份能直接抄的参考。
我这些年陆陆续续做过波形发生器、音频接口、多通道数据采集卡,也帮朋友救过不少DAC输出波形惨不忍睹的板子。说实话,DAC这个东西,芯片手册上写得再漂亮,一上示波器、一进音频分析仪,问题就全暴露了。尤其是专业音频设备,对噪声、失真、时钟稳定的要求比消费级播放器高一个量级,很多坑都是踩过之后才真正理解的。下面我把能想到的都写出来。
1. 新品DAC背后的需求:专业音频设备在High-Res时代到底缺什么
1.1 专业音频设备的DAC升级需求从哪来
现在高解析度音频已经不是发烧友专属了,录音棚交付的母带文件、流媒体平台的Hi-Res专区、甚至现场演出的多轨回放系统,都在往24bit/192kHz往上走。这对专业设备的DAC环节提出了实打实的要求:位深不够,动态范围和底噪的理论下限就摆在那;采样率上不去,高频细节和数字滤波器的设计要求就完全不同。
很多朋友觉得专业设备听感好,是因为模拟放大部分做得好,其实DAC才是数字音频格式能不能落地的关键。前端数字处理再强,最终都要靠DAC把0和1变成模拟电压信号。像录音棚常见的音频接口、监听控制器、母带ADC/DAC一体机,它们内部用的DAC如果还是十几年前的老方案,在高解析度信号的还原上就会明显吃力:高频发虚、声场压缩、底噪可闻。所以新款DAC芯片一出来,最先跟进的就是这些专业设备厂商,不是没道理的。
高解析度时代,专业DAC要解决的核心问题其实是三个:把噪声压到人耳和测试仪器都难以察觉的水平,把时钟抖动对音质的影响降到最低,把模拟输出级的失真正做到足够干净。这三个问题听着简单,实际做起来牵涉到芯片架构、电源设计、PCB布局、时钟分配,任何一个环节掉链子,DAC的性能都发挥不出来。
1.2 高解析度DAC的关键指标怎么看
拿到一款新DAC芯片,很多人的第一反应是看信噪比和采样率。这没错,但不能只看这两个数字,我建议大家至少关注下面这几个维度,它们才是专业音频场景里真正影响结果的指标。
动态范围和信噪比:现在主流Delta-Sigma架构DAC标称信噪比都能做到120dB以上,这个数字代表的是理论上能还原的最小信号和最大信号的比值。专业设备里我更看重带外噪声,也就是高频段的噪声整形产物,很多芯片信噪比标得很高,但噪声频谱在20kHz以上翘得很厉害,后面不加滤波器的话,会给后级功放带来额外的负担。
THD+N(总谐波失真加噪声):这个指标直接反映DAC在小信号和大信号下的线性度。专业音频设备一般要求做到-100dB以下,也就是0.001%左右。这里有个容易忽略的点:THD+N是随输出电平变化的,很多芯片在满幅输出时表现不错,但在-60dBFS的小信号下失真会明显恶化,这个参数才是区分专业和消费级的关键。
采样率和DSD支持:至少原生支持192kHz已经成了标配,更重要的看有没有DSD直通路径。DSD解码对DAC架构有要求,R2R架构做原生DSD有先天优势,Delta-Sigma芯片则需要内部做转换,这个过程可能引入额外的噪声整形。
时钟抖动和通道一致性:多声道设备(比如全景声回放系统)特别看重通道间的相位一致性,DAC芯片的时钟恢复电路、内部延迟差异,都会影响最终的声音定位。时钟抖动的指标不在datasheet首页,但往往是专业设备听感差异的根源。
我自己的习惯是,拿到新DAC评估板,先跑一遍标准的音频分析仪测试项:频率响应、THD+N vs 电平、FFT频谱、IMD(互调失真),再拿几段真实录音素材做主观听感对比。仪器数据不骗人,但听感能帮你在几个数据相近的方案里做取舍。
2. 三种主流DAC架构实测认知:R2R、Delta-Sigma与PWM
2.1 R2R DAC:电阻网络的精度哲学
R2R(电阻梯形网络)架构是DAC里最朴素也最讲究的一种。它用等值的R和2R电阻组成二进制加权网络,通过开关切换每个位的电流或电压,直接在输出端合成模拟信号。好处是转换速度极快、没有过采样噪声、对小信号线性度天然好,而且在做原生DSD解码时可以直接把DSD比特流转成模拟信号,不需要内部Delta-Sigma转换。
但R2R有个致命的工程难点:电阻精度直接决定线性度。一个16位的R2R DAC,最高位电阻的误差哪怕只有0.01%,都可能让输出出现明显的非线性台阶,表现为失真变大、小信号不准确。所以市面上做得好的R2R DAC,用的都是精密薄膜电阻阵列,甚至需要用激光调阻把每一颗电阻都校准到位。这也就是为什么R2R架构的发烧级解码器价格一直居高不下。
实际布线时,R2R网络还有个容易被忽视的问题:网络输出节点的阻抗很低,运放的输入偏置电流流经这个节点会产生额外的电压误差。我试过用普通运放直接接R2R网络,低电平输出时误差明显,后来换成低偏置电流的FET输入运放,情况才好转。另外,R2R网络的基准电压走线一定要用开尔文接法,也就是把基准检测点和负载点分开走线,否则大电流流过基准走线造成的压降会被当成输出信号的一部分。
如果你在做高解析度音频解码器,R2R架构的优势在于可以做到真正的无数字滤波的“原始”声音,很多人喜欢这种风格。但要注意,R2R DAC的输出含有采样率相关的镜像频率分量,后面必须设计高质量的模拟低通滤波器,否则带外噪声很严重。
2.2 PWM DAC:用MCU实现16路16位DAC的方案拆解
搜“f103 16路 16位 pwm dac”的朋友还挺多的,这确实是个工程上很吸引人的想法:用STM32F103这种不到十块钱的MCU,加几个电容电阻,就搞出一堆DAC通道。原理上,PWM信号的平均值等于占空比乘以电源电压,经过低通滤波把PWM的基频和谐波去掉,剩下的就是目标模拟电压。
但这里有个绕不开的矛盾:PWM的分辨率和频率是互相制约的。STM32F103的系统时钟最高72MHz,如果要用定时器做16位分辨率的PWM,也就是计数周期是65536个时钟,那PWM的更新频率就只有72MHz除以65536约等于1.1kHz。这个频率太低了,后面的低通滤波需要把1.1kHz的基波压下去,滤波器的截止频率只能设在几百赫兹,动态响应完全没法看,更不用说做音频。
工程上更可行的做法是这样:一是降低分辨率到12位甚至14位,PWM频率能提到17kHz以上,配合二阶有源滤波可以做出能用的信号源或控制电压;二是改用Sigma-Delta调制思路,用1位或几位的PWM做噪声整形,用较低的输出频率实现较高的有效分辨率,这是很多MCU内置DAC的实际做法,滤波压力小很多,有效位数也能做到16位左右。
关于16路同时输出,F103的高级定时器TIM1和TIM8各有4个通道,普通定时器TIM2到TIM5也是各4个通道,所以要16路输出至少得用4个定时器。这里有个共享时钟的问题:定时器的预分频和自动重装值必须设置成一样,才能保证16路PWM频率一致,但占空比可以各自独立。我用过一个取巧的办法:用DMA把16个占空比值打包成一次突发传输,由更新事件触发DMA,这样所有通道的占空比在同一时刻更新,通道间的相位差能做到很小。
PWM DAC的优点是成本极低、通道数可以做得很多、输出范围调整灵活;缺点是纹波大、动态响应慢、噪声性能和大厂专用DAC芯片完全没法比。所以它适合的场景是:LED亮度控制、电机驱动、电源校准、廉价的信号发生器,以及不追求音质的背景音乐播放。要是拿来做高解析度音频的专业设备,我劝你还是老老实实用专用DAC芯片。
2.3 Delta-Sigma DAC与架构选型对比
现在市面上绝大多数的音频DAC芯片都是Delta-Sigma架构,包括ESS、AKM、Cirrus Logic这些主流厂商。它的核心思路是用很高的过采样率把量化噪声推到超声频段,再用噪声整形滤波器把带内噪声压低。好处是可以在低成本、低精度元件下实现很高的有效位数,芯片集成度高,外围电路简单。
Delta-Sigma DAC也有自己的问题:一是输出具有固有延迟,做多设备同步时要小心;二是对小信号存在极限环振荡,会让极低电平的音频出现可闻的噪声调制;三是噪声整形在带外产生大量高频噪声,对后级模拟滤波器要求高。这些都不是致命的,但做专业设备时,设计者要心里有数。
我做选型时一般这样考虑:要求绝对精度和动态范围,且预算充足,用R2R或者高端的Delta-Sigma芯片都行,R2R更适合追求原生DSD解码的场景;追求性价比和集成度,选主流Delta-Sigma芯片,ESS的ES9038、AKM的AK4493这类都是久经考验的型号;MCU控制、多通道、低成本场景,PWM DAC或MCU内置DAC够用。下面这个表是我常用的对比维度,给大家参考:
| 架构 | 精度 | 速度 | 带外噪声 | 成本 | 典型应用 |
|---|---|---|---|---|---|
| R2R | 高(依赖电阻精度) | 快 | 含镜像频率分量,需强力滤波 | 高 | 母带级解码器、测试仪器 |
| Delta-Sigma | 很高(过采样+噪声整形) | 中 | 高频噪声整形产物多 | 中 | 专业音频接口、录音声卡 |
| PWM | 中低(受频率限制) | 慢 | 基波与谐波丰富 | 极低 | 控制信号、简易波形发生器 |
补充一句,很多MCU比如ESP32内置了DAC,但位数通常只有8位,适合做简单的音频提示音或者视频同步的低质量音频输出。如果你看到有人在用ESP32做DAC并配合视频玩,那基本是图个方便,不是冲着音质去的。
3. 硬核实操:方波过冲、下冲振荡与DAC噪声的定位和整改
3.1 方波过冲振铃的排查步骤
用示波器看DAC输出的方波,上升沿出现明显过冲,紧接着一串衰减振荡,下冲也比较严重——这是我在调试DAC输出时遇到最多的问题。高频振铃看着像“电路没工作好”,其实原因往往很具体。
先按顺序排查。第一步,把后级负载断开,只看DAC输出经过运放后的裸波形。如果空载时振铃消失,那就是后级负载电容太大或者输入阻抗太低,运放驱动不起;如果空载时振铃还在,问题就在运放环路或者PCB走线本身上。
第二步,检查运放的反馈补偿。高速运放在增益接近1的时候,相位裕度往往不足,反馈通路的寄生电容会进一步减小相位裕度。我在一个波形发生器模块上遇到过输出方波过冲35%的情况,后来在运放输出端串了一个33Ω电阻,过冲直接降到8%左右,再在反馈电阻上并联一个1pF电容做超前补偿,振铃就基本没有了。这个电阻值不是随便拍的,它是为了和PCB走线的寄生电容、ADC输入电容一起形成阻尼,具体阻值可以用仿真扫描,也可以在板子上直接换几个值看波形。
第三步,检查PCB走线。DAC输出走线如果太长太细,且没有做阻抗控制,走线的寄生电感和寄生电容会形成LC谐振,谐振频率通常在几十MHz到几百MHz,表现为振铃。对策是把输出走线加宽、缩短,关键信号做包地处理,必要时在输出端加一个小电阻做串联阻尼。另外,示波器探头本身的电容也会影响测量结果,建议用10x档配合短地线,避免用长鳄鱼夹地线,那个地线电感会把振铃测得很夸张。
下冲振荡很多时候和过冲是同一个问题,都是高频能量没有被很好地吸收。如果下冲特别深,要留意是不是运放的输出级在进入饱和后被负载电容反灌电流,导致内部极点翻转。这种情况下,输出端的隔离电阻一定要加,不能省。
3.2 DAC输出噪声的来源与抑制方案
DAC输出端的底噪高,频谱里有杂散尖峰,这在高解析度音频设备里是大忌。噪声来源我归成五类,逐个说。
量化噪声:和位深相关,16位和24位的理论底噪下限差48dB左右。如果你的系统还在用16位DAC做高解析度音频,那瓶颈根本不在电源和布线,先换24位芯片再说。
电源噪声:数字电源的开关毛刺通过DAC的模拟电源引脚耦合进输出,是高频杂散的常见来源。解决方法是模拟电源单独用LC滤波,DAC芯片的每个电源引脚都要有就近的0.1uF陶瓷电容,同时并联一个10uF钽电容或MLCC,覆盖不同频段的去耦需求。很多DAC的数据手册里给了推荐去耦电路,我建议直接照抄,别自己发挥。
参考电压噪声:DAC的参考电压如果不干净,输出会带上固定频率的杂散。一般的参考芯片输出纹波很小,但后级必须有RC低通滤波,R取几欧到几十欧,C取10uF以上,时间常数足够把那几个上百kHz的噪声分量压下去。
时钟抖动:对音频DAC来说,时钟抖动的直接影响是输出信号相位噪声变大,听感上就是声场变糊、高频毛躁。降低抖动最有效的办法是尽量用DAC芯片内置的PLL或者外部高性能时钟源,同时把数字隔离和模拟隔离做好。PCB上时钟信号走线要远离模拟输出线,必要时用接地线隔开。
地弹:数字地上的瞬态电流在PCB走线阻抗上产生压降,这个压降被模拟电路当作信号放大了。所以DAC的模拟地和数字地要单点连接,尽量靠近DAC芯片的焊盘,不要让数字地和模拟地大面积重叠。分离的AGND和DGND之间用一个0Ω电阻或者磁珠连接,是很多量产板的做法。
我见过一块音频板,DAC输出FFT频谱里总有一个恒定的1.2kHz杂散,找了半天发现是附近一颗DCDC的开关频率和它的谐波通过地线耦合进来的。后来改动PCB,把DCDC的输出电感远离DAC模拟区,并用一个小铜皮围出隔离区,杂散直接掉了30dB。这类问题用频谱仪看特别直观,拿FFT逐个频点排查基本都能定位。
3.3 FPGA DAC任意波形发生器的布线与时序补充
如果你在做基于FPGA的高性能任意波形发生器,DAC芯片的选择和接口设计决定了大半性能。FPGA负责把波形数据从存储器里读出来,按设定速率送给DAC,DAC再把数字码变成模拟信号。这种方案能做很高的频率,但核心约束在三个地方:采样时钟、存储深度和DAC接口时序。
采样时钟决定了最高输出频率,按Nyquist定理,输出频率要低于采样率的一半,实际设计通常只用到采样率的40%以内,才能保证输出信号的SFDR(无杂散动态范围)。存储深度决定波形长度,任意波形发生器要能播放长时间复杂波形,存储就不能太小,至少1M点起步。接口时序方面,LVDS接口的高速DAC要求数据和时钟严格对齐,走线等长是基本操作,数据线长度差要控制在±0.5mm以内,否则采样时刻误差会表现为噪声。
我做过的第一版FPGA任意波形发生器,DAC数据线和时钟线的走线长度差了大概3mm,结果输出50MHz正弦波的杂散只有50dBc,怎么优化插值都不行。后来把数据线全部绕等长,和时钟线的长度差压到0.3mm以内,杂散直接提到62dBc。这种问题在原理图上是看不出来的,只有实测才能发现,所以画板的时候就要把等长规则定好。
另外,FPGA的I/O端口驱动能力设置也很关键。输出数据线的驱动电流太大,会造成过冲和振铃,影响DAC的建立时间;太小则边沿太缓,采样时序紧张。我一般把FPGA的I/O驱动强度设置为12mA左右,配合22Ω的串联端接电阻,用示波器看波形边沿没有明显过冲为基准。专业设备里,模拟输出区域和数字逻辑区域最好物理分隔,两边的电源用磁珠隔离,地平面可以共用一个完整平面,但不要让数字信号跨过模拟区域。
4. 问题速查表与实战经验
4.1 常见问题速查表
| 问题现象 | 可能原因 | 定位方法 | 整改措施 |
|---|---|---|---|
| 方波过冲/振铃 | 运放带宽不足、负载电容过大、走线寄生电感 | 断开负载看波形,扫反馈电容值 | 输出串33-50Ω电阻,反馈加1pF电容 |
| 下冲过深 | 运放输出级饱和,负载反灌电流 | 换成高带宽运放,减小负载电容 | 输出加隔离电阻,加强电源去耦 |
| FFT有固定杂散尖峰 | 电源开关噪声耦合、参考电压不干净 | 定位频率来源,断开后级分区间 | LC滤波、加强去耦、参考RC滤波 |
| 底噪偏高 | 位深不足、DAC本身噪声地板高 | 看FFT本底噪声水平 | 换24位DAC芯片,优化电源和布线 |
| 输出延迟不均 | Delta-Sigma芯片固有延迟,多声道不同步 | 测各通道相位差 | 用同一主时钟,软件延迟补偿 |
| 小信号失真大 | DAC非线性、电阻精度不足(R2R) | 测-60dBFS的THD+N | 校准电阻网络或选用更优DAC架构 |
| 高采样率下锁不住信号 | 时钟抖动大、PCB时钟走线干扰 | 检查时钟源、眼图 | 用低抖动时钟芯片,时钟走线包地 |
上面这些现象我在不同项目里都遇到过,定位的思路基本都是先隔离、再测量、最后针对性整改。隔离的目的是把问题范围缩小到DAC本身、电源、时钟、PCB布局中的某一个环节,避免来回瞎调。
4.2 几个值得抄走的实操细节
电源去耦电容一定要按芯片手册放,位置尽量靠近电源引脚。我见过不少板子,DAC芯片的电源去耦电容放在了芯片背面,中间还隔了几十个过孔,效果大打折扣。正确的做法是0.1uF的小电容贴着芯片电源引脚放,大容量电容可以稍微远一点,但不能超过5mm。
示波器测量DAC输出时,探头要用10x档,用探头自带的地线弹簧或者用最短的接地线。我刚开始做音频板时,用了一个15cm的长地线夹子,测出来的波形全是振铃,还以为板子有问题,后来才发现是测量方式的问题。
音频DAC的输出端一定要预留抗混叠滤波器的位置。很多DAC芯片的datasheet会在典型应用里画一个二阶低通滤波器,但有些工程师觉得画了就有,实际在量产时为了省成本,把滤波器的电容电阻省了。我建议这部分成本不要省,尤其对高解析度音频,带外噪声如果不滤掉,后级功放容易过载,声音听起来会很躁。
如果你用PWM DAC做16路输出,别忘了每路的滤波电路参数要一致。我测试过一个多路输出板卡,通道间的纹波大小差了3倍,原因是滤波电容的容差分摊和布局不对称导致的。后来把所有通道的滤波元件统一换成了1%精度,板子做对称布局,通道间的纹波差异才压到可以接受的范围。
DAC评估板和量产板的性能差距往往会让人头疼。评估板通常用大面积地平面、优化的电源和干净的布局,量产板因为结构限制,经常没法完全复刻。建议画量产板的时候,把评估板的电源去耦、地平面分割、输出滤波这几个核心元素保留下来,其他非关键部分可以妥协,这样能大幅缩短调测周期。
关于DSD和PCM的兼容,现在不少新DAC支持两种格式的自动切换,但切换瞬间容易出现爆音或短暂静音。专业设备里,这种切换毛刺是不能接受的,所以一定要看芯片有没有处理这个问题的机制,比如静音控制脚、软复位等。我测试过一款号称DSD直通的新DAC,切换时还是有一声“咔哒”,后来在固件里加了切换静音才解决。
最后分享一个小技巧:无论做什么音频设备,我都会在DAC输出端预留一个空闲的运放缓冲器和几个0402的电阻电容位置,用来做最后的增益调整和阻抗匹配。这个预留位置在量产板上可以不贴,但调试阶段真的很方便,改增益、加滤波器、调输出阻抗,都不用重新画板。
我在实际使用中还有一个体会:DAC芯片的性能上限,往往要等到你把电源、时钟、PCB布局都做到位之后才能看到。很多评测指出的“某某芯片声音冷”“某某芯片声音糊”,大概率不是芯片本身的问题,而是周边电路没做好。先把基础打牢,再谈音色。
