news 2026/8/31 23:35:36

音频DAC选型与实战:从R2R到Delta-Sigma,解决噪声与振铃

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
音频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布局都做到位之后才能看到。很多评测指出的“某某芯片声音冷”“某某芯片声音糊”,大概率不是芯片本身的问题,而是周边电路没做好。先把基础打牢,再谈音色。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/31 23:35:09

Claude Code 接上 Chrome 之后,前端开发真正形成了 Build Test Fix 闭环

最近在研究 Claude Code 的浏览器能力时,我越来越觉得,Use Claude Code with Chrome 这项能力不能只理解成给 Claude Code 装了一个浏览器插件。 如果只是把它理解为网页自动化,很容易把它和 Playwright、Puppeteer、Selenium,甚至 Chrome DevTools MCP 混在一起。真正有意…

作者头像 李华
网站建设 2026/8/31 23:31:19

星三角降压启动电路 · 全程精讲

ESim电工课堂 零基础学电工 星三角降压启动电路 全程精讲 从原理到接线,从元件到逻辑,从仿真到实操 。 一课搞懂工厂最经典的三相电机降压启动方案。 📚 建议学时:90 分钟 | 🎯 难度:★★☆☆☆&…

作者头像 李华
网站建设 2026/8/31 23:31:08

FPGA加速卡开发套件实战:PCIe/DDR与高速收发器调试全流程复盘

做FPGA加速卡开发这块的同行应该都有体会,硬件到手只是第一步,真正的功夫全在后头的软件栈、时序收敛和高速链路调试上。最近拿到一套新出的Xilinx FPGA加速卡开发套件,标称就是给数据中心和无线通信场景用的,我把它从板卡架构到V…

作者头像 李华
网站建设 2026/8/31 23:30:22

数据分析工具哪个好用?六类主流平台全维度对比与选型参考

数据分析工具哪个好用?六类主流平台全维度对比与选型参考 "个人和小团队想要开展数据分析,预算有限,选哪款工具更合适?有人推荐 WPS 表格,有人推荐永洪 BI,有人建议上手 Spark,还有人推荐百…

作者头像 李华
网站建设 2026/8/31 23:28:42

前端工程重试怎样避免放大故障

前端工程重试怎样避免放大故障看过“手写 Vue3 原理”教程后,容易把响应式理解成:用 Proxy 拦截读写,再保存副作用函数。 这类简化 Demo 很难说明 Vue3 响应式系统在真实应用中的取舍。 在真实应用中,响应式引擎还要处理嵌套 effe…

作者头像 李华
网站建设 2026/8/31 23:28:24

云原生交付重试怎样避免放大故障

云原生交付重试怎样避免放大故障网格重试要看请求是否幂等、剩余时间够不够,以及下游是否正在恢复。统一重试策略可以减少误配,但应配合预算、抖动和熔断,不能只增加尝试次数。 流量放大与局部故障:未经约束的重试引发的级联响应。…

作者头像 李华