ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

数字蓝牙功放设计:芯片选型、PCB布局与音质调优

数字蓝牙功放设计:芯片选型、PCB布局与音质调优 1. 数字蓝牙功放到底是个什么东西1.1 从模拟到数字功放架构的换代逻辑我最早接触功放是十几年前玩的一套模拟甲类板子那种机器又大又烫效率低得离谱但声音确实有味道。后来转向数字功放最初心里是抵触的觉得D类就是“开关电源加个滤波”声音干、冷、硬。但实际测过几款主流的数字功放芯片之后我改变了看法——尤其在便携和小体积场景里数字功放的效率优势几乎是碾压性的。数字功放的核心思路其实不复杂把音频信号调制成高频PWM脉宽调制方波用功率MOS管做开关放大再通过LC低通滤波器把高频载波滤掉还原出放大的音频信号。这个过程中MOS管要么完全导通要么完全截止工作在线性放大区的时间极短所以导通损耗和开关损耗都很小。理论效率可以做到90%以上而传统AB类功放通常只有50%到70%。这里面有个关键选择调制方式。常见的有BD调制、1SPW调制、三态调制等。BD调制是无滤波器的方案EMI表现更好但失真略高1SPW调制THDN指标更漂亮但对LC滤波器的要求更严格。我当时选型的时候就纠结过这一点后来发现如果你的喇叭线很短比如桌面音箱1SPW完全没问题如果喇叭线较长或者需要过认证BD调制更稳妥。蓝牙在这个架构里扮演的是“音源输入”的角色。传统功放的输入是RCA或者3.5mm模拟信号而蓝牙功放把接收到的数字音频流SBC、AAC、aptX等编码格式解码成PCM或者I2S信号再送给数字功放芯片。这样整条链路除了最后的喇叭输出中间几乎都是数字信号抗干扰能力更强底噪也更低。1.2 蓝牙在这里扮演什么角色很多人以为蓝牙功放就是“功放加个蓝牙模块”这种理解不算错但漏掉了关键细节。蓝牙模块输出的不是模拟信号而是数字音频流。HC05这类经典蓝牙串口模块只能传数据不能传音频真正做音频要用支持A2DP协议的模块比如CSR8645、QCC3034、杰理的AC系列、恒玄的BES系列等。A2DP协议规定了音频的编码、传输和解码流程。手机端把MP3或者AAC文件解码成PCM再用SBC或者AAC编码压缩通过蓝牙链路传到功放端功放端的蓝牙芯片再解码成PCM送给功放。这个过程中编码格式直接决定了音质上限。SBC是强制支持的音质一般AAC在苹果设备上表现不错aptX和LDAC能提供更高的码率但需要发射端和接收端都支持。我实测下来如果只是做桌面音箱或者便携音箱SBC完全够用普通听众听不出明显差距。但如果你是做HiFi级的产品或者给发烧友用那aptX HD或者LDAC是必须的否则他们会觉得“蓝牙就是不如有线”。还有一个容易被忽略的点蓝牙芯片的DAC质量。有些方案是蓝牙芯片直接输出模拟信号给功放有些是输出I2S数字信号给外置DAC再给功放。前者成本低但音质受限于蓝牙芯片内部的DAC后者成本高但音质上限更高。我个人的经验是如果预算允许尽量走I2S加外置DAC的路线底噪和动态范围都会有明显提升。提示HC05、HC06这类串口蓝牙模块不支持A2DP协议不能用来做音频传输。如果你手头只有这类模块只能做数据透传不能做蓝牙音箱。2. 方案选型芯片、模块与架构怎么定2.1 主控与蓝牙芯片的几种组合做数字蓝牙功放第一件事是确定架构。我梳理下来主要有三种路线第一种是“蓝牙芯片直出模拟信号”方案。典型代表是CSR8635、杰理AC692X系列。这类芯片内部集成了DAC直接输出模拟音频后面接一个模拟输入的功放芯片就行。优点是电路简单、成本低、开发周期短。缺点是音质受限于芯片内部DAC底噪通常偏高动态范围一般在90dB左右。第二种是“蓝牙芯片输出I2S加外置DAC加数字功放”方案。蓝牙芯片只负责解码和输出I2S外置DAC芯片比如PCM5102、ES9023负责数模转换再送给数字功放。优点是音质好、底噪低、动态范围可以做到110dB以上。缺点是成本高、PCB面积大、需要调试I2S时序。第三种是“主控加蓝牙模块加数字功放”方案。用ESP32或者STM32做主控外挂一个蓝牙音频模块主控负责控制逻辑比如音量调节、音效切换、显示屏驱动蓝牙模块负责音频接收和解码。这种方案灵活性最高适合需要额外功能的场景比如带屏幕的智能音箱、支持APP控制的功放。我自己的项目选的是第二种路线蓝牙芯片用QCC3034DAC用PCM5102A功放芯片用TAS5754M。这套组合的成本大概在80到120元之间小批量音质可以做到让大部分发烧友满意的水平。2.2 数字功放芯片选型要点数字功放芯片的选择直接决定了输出功率、效率、失真度和保护功能。我整理了一个常见型号的对比表型号供电范围输出功率4Ω效率特点TPA3116D24.5-26V2×50W90%经典款音质好外围简单TAS5754M4.5-26V2×40W92%支持I2S输入内置DSPTPA325510-53V2×150W94%大功率适合低音炮MA120704-26V2×80W93%多电平调制EMI低TDA74927-26V2×50W90%便宜但失真略高选型的时候不能只看功率数字还要看供电电压和负载阻抗。比如TPA3116D2标称2×50W那是在21V供电、4Ω负载、10% THD条件下的数据。如果你用12V供电、8Ω负载实际输出功率只有15W左右。这个坑我踩过当时以为买个大功率芯片就能推大音箱结果供电跟不上声音一大就破音。另一个关键参数是THDN总谐波失真加噪声。这个数值越低越好但也越贵。一般桌面音箱用0.1%以下就够HiFi级要0.01%以下。不过要注意THDN是在特定功率和频率下测的比如1W、1kHz。有些芯片在1W时指标很好但接近满功率时失真急剧上升。我一般会看芯片手册里的THD随功率变化曲线挑那个曲线平坦的。还有一个容易被忽略的参数PSRR电源抑制比。这个指标决定了功放对电源纹波的抵抗能力。如果PSRR低电源稍微不干净输出就有嗡嗡声。TPA3116D2的PSRR大概是70dBTAS5754M可以做到80dB以上。如果你用的是开关电源PSRR高的芯片会省心很多。2.3 电源与滤波设计电源部分是我踩坑最多的地方。数字功放对电源的要求比模拟功放高得多因为它是开关工作电流是脉冲式的。如果电源响应速度不够或者去耦不到位就会出现声音一大就失真、底噪明显、甚至芯片过热保护。我的经验是电源功率至少要是功放额定输出功率的1.5倍。比如你要做2×50W的输出电源至少要能提供150W的持续功率。很多人用12V 5A的电源60W去推标称50W×2的功放结果就是低音一来就掉电压声音糊成一团。去耦电容的配置也有讲究。功放芯片的电源引脚旁边要放一个100uF到470uF的电解电容再并一个0.1uF的陶瓷电容。电解电容负责低频储能陶瓷电容负责高频旁路。这两个电容要尽量靠近芯片引脚走线越短越好。我见过有人把电容放在板子另一边结果高频噪声根本滤不掉底噪大得没法听。LC滤波器的参数计算也是关键。截止频率一般设在30kHz到50kHz之间。截至频率公式是f 1 / (2π√(LC))比如你要设40kHz电感用10uH那么电容就是C 1 / (4π² × f² × L) 1 / (4 × 9.87 × 1.6e9 × 10e-6) ≈ 1.58uF实际选1.5uF或者2.2uF都可以。电感要用功率电感饱和电流至少要是最大输出电流的1.5倍。电容要用低ESR的薄膜电容或者陶瓷电容不能用普通的电解电容。注意LC滤波器的电感和电容值会直接影响高频残余和相位裕度。如果截止频率设得太低高频衰减过多声音会发闷设得太高高频载波滤不干净会干扰其他设备。3. 硬件搭起来从原理图到出声3.1 关键电路与元件参数计算原理图阶段有几个关键点需要确认。首先是蓝牙芯片的供电。大部分蓝牙音频芯片需要1.8V和3.3V两路供电有些还需要1.2V给内核。这些电压要用LDO或者DC-DC产生纹波要控制在10mV以内。我一般用TPS7A系列的低噪声LDO虽然贵一点但底噪确实低。然后是I2S信号线。I2S有BCLK、LRCLK、DATA三条线有时还有MCLK。这些线要尽量等长走线要短最好包地处理。如果走线太长或者没有参考地时钟信号会振铃导致解码错误或者噪声。我一般把蓝牙芯片和DAC芯片放在板子同一面距离控制在20mm以内。功放芯片的输入耦合电容也要注意。如果是模拟输入输入耦合电容和输入阻抗构成高通滤波器截止频率要低于20Hz。公式是f 1 / (2πRC)比如输入阻抗是20kΩ想要截止频率10Hz那么C 1 / (2π × 10 × 20000) ≈ 0.8uF。实际选1uF或者2.2uF都可以。电容要用薄膜电容或者C0G陶瓷电容不能用普通电解电容否则低频失真会变大。如果是I2S数字输入那就不需要输入耦合电容但要注意I2S的电平匹配。有些蓝牙芯片的I2S是1.8V电平而功放芯片要求3.3V电平这时候需要电平转换芯片比如TXS0108或者74LVC245。我偷懒直接连过结果偶尔会出现解码错误声音断断续续后来加了电平转换就好了。3.2 PCB布局布线的坑PCB布局是数字功放能不能出好声的关键。我总结了几个必须遵守的原则第一功率地和信号地要分开。功放芯片的PGND和AGND要在芯片下方单点连接不能大面积铺在一起。否则功放的开关噪声会串到模拟信号里底噪会很明显。第二LC滤波器要靠近功放输出引脚。电感和电容的走线要短而粗能走多宽走多宽。我一般用2mm以上的线宽或者直接铺铜。走线细了会有寄生电感影响滤波效果。第三散热焊盘要打足够的过孔。数字功放芯片底部一般有个散热焊盘这个焊盘要接到地平面并且打至少9个过孔3×3阵列。过孔孔径0.3mm间距1mm。如果过孔不够芯片散热不好大音量下会触发过热保护。第四蓝牙天线要净空。如果是板载天线天线下方和周围不能铺铜也不能走线。天线要放在板子边缘远离功放和电源。我见过有人把天线放在板子中间周围全是走线结果蓝牙连接距离只有1米稍微远一点就断。第五晶振要靠近蓝牙芯片。蓝牙芯片一般需要24MHz或者26MHz晶振这个晶振的走线要短周围要包地下方不能走其他信号线。否则晶振不稳定蓝牙连接会掉线。我第一版PCB就是没注意这些底噪大、蓝牙距离短、大音量失真。改了一版之后问题全部解决。所以布局布线真的不能省事。3.3 焊接与调试顺序焊接顺序也有讲究。我一般先焊电源部分确认各路电压正常之后再焊蓝牙芯片和DAC最后焊功放芯片。这样可以避免因为电源问题烧掉贵重芯片。电源部分焊完之后先不接负载用万用表测各路电压。1.8V、3.3V、5V都要在±5%以内。然后用示波器看纹波峰峰值要小于20mV。如果纹波太大检查去耦电容和LDO的配置。蓝牙芯片焊完之后先不焊功放用耳机接DAC的输出听有没有声音。如果有声音但底噪大检查I2S走线和DAC的供电。如果没有声音检查I2S的时钟和数据线用示波器看有没有波形。功放芯片最后焊。焊之前先把功放输入短路到地测输出中点电压应该在供电电压的一半左右。如果偏差太大检查功放芯片的反馈电阻和输入电容。确认中点正常之后再接喇叭从小音量开始试听。我第一次调试的时候忘了测中点电压直接接喇叭结果输出有3V左右的直流偏移喇叭“啪”的一声弹出来差点烧掉。后来养成了习惯每次都要先测中点。4. 软件与固件蓝牙协议栈与音频链路4.1 A2DP音频传输链路蓝牙音频的核心是A2DP协议。整个链路是这样的手机端解码MP3文件得到PCM然后用SBC或者AAC编码压缩通过L2CAP通道传到功放端功放端的蓝牙芯片解码成PCM再通过I2S或者内部DAC输出。这个过程中编码格式决定了音质上限但解码质量也很重要。有些便宜的蓝牙芯片为了省成本解码算法优化不够同样的SBC码流解码出来的声音就是比别人的差。我对比过CSR和杰理的芯片CSR的解码明显更干净高频细节更多。另一个关键是缓冲区管理。蓝牙传输会有抖动如果缓冲区太小声音会断断续续缓冲区太大延迟会很高。一般音频缓冲区设100ms到200ms比较合适。如果你用蓝牙看电影延迟要控制在100ms以内否则口型对不上。A2DP还支持多种编码格式协商。手机和功放连接的时候会互相通报自己支持的编码格式然后选一个双方都支持的。如果你想让音质更好可以在固件里设置优先使用aptX或者LDAC但前提是手机也支持。提示不同手机的蓝牙编码支持不一样。苹果只支持AAC和SBC不支持aptX。安卓旗舰机一般支持aptX HD和LDAC。做产品的时候要考虑兼容性不能只支持一种编码。4.2 固件配置与参数调整蓝牙芯片的固件配置一般用厂商提供的工具。比如CSR用BlueSuite杰理用AC系列的工具恒玄用BES的工具。这些工具可以配置设备名称、PIN码、支持的编码格式、音量曲线等。设备名称最好设得有意义比如“MyAmp-001”方便用户识别。PIN码一般设0000或者1234有些芯片支持无PIN码连接SSP用户体验更好。音量曲线是个容易被忽略的点。蓝牙的音量控制和功放的音量控制是两回事。手机端调音量调的是蓝牙链路的数字音量功放端调音量调的是模拟增益。如果两边都调会出现音量跳变或者动态范围压缩。我一般把蓝牙端音量固定在最大只调功放端的模拟音量这样动态范围最好。不过有些场景需要蓝牙端调音量比如用手机遥控。这时候要保证蓝牙端的音量衰减是线性的不能是简单的数字截断。有些芯片的数字音量衰减会引入失真尤其是衰减量大的时候。我实测过衰减超过20dB之后THD会明显上升。所以如果要用数字音量衰减量最好控制在20dB以内。4.3 与常见模块的对接虽然我主要用QCC3034但很多朋友手头有ESP32或者HC05模块问能不能做蓝牙功放。这里统一说一下ESP32支持蓝牙A2DP可以做蓝牙音频接收。但ESP32的蓝牙协议栈是软件实现的延迟比专用蓝牙芯片高音质也略差。不过ESP32的优势是自带WiFi和强大的处理能力可以做带网络功能的功放比如支持AirPlay或者DLNA。如果你要用ESP32做蓝牙功放推荐用ESP32-A2DP库配合PCM5102或者MAX98357输出。HC05和HC06是串口蓝牙模块不支持A2DP只能传数据。如果你想用HC05做音频只能传低质量的语音信号用HFP协议音质很差只能做对讲机或者语音提示。HM10是BLE模块也不支持A2DP。BLE的带宽比经典蓝牙低不适合传音频。如果你要做低延迟音频可以考虑LE Audio但需要支持LE Audio的芯片比如nRF5340。杰理的AC系列是专门做蓝牙音频的性价比很高很多便宜的蓝牙音箱都用它。开发工具也比较完善适合量产。但杰理的资料没有CSR那么开放小批量开发可能拿不到完整的SDK。我个人的建议是如果只是自己做着玩用ESP32加PCM5102最方便如果要量产用杰理或者恒玄的方案如果要HiFi音质用QCC3034或者CSR8675。5. 实测与调音听感优化与参数调整5.1 底噪、爆音、失真的排查底噪是数字功放最常见的抱怨。我实测过十几款不同的方案底噪水平从不可闻到明显可闻都有。底噪的来源主要有三个电源纹波、蓝牙芯片的DAC、功放的开关噪声。电源纹波造成的底噪是“嗡嗡”声频率一般是50Hz或者100Hz。解决方法是加大去耦电容或者换低噪声LDO。我试过把LDO从AMS1117换成TPS7A2033底噪直接降了一半。蓝牙芯片DAC造成的底噪是“沙沙”声高频成分多。这种底噪很难消除只能换芯片。CSR的DAC底噪明显比杰理低但价格也贵。功放开关噪声造成的底噪是“嘶嘶”声和音量无关。这种底噪一般是LC滤波器没调好或者PCB布局有问题。解决方法是调整LC截止频率或者重新布局。爆音一般出现在开关机的时候。原因是功放芯片的使能时序不对或者输入电容充放电。解决方法是在功放使能引脚加RC延时或者用带软启动功能的功放芯片。TAS5754M自带软启动开关机几乎没有爆音。TPA3116D2需要外接延时电路。失真一般在音量大的时候出现。可能是电源功率不够可能是功放芯片过热也可能是输入信号过大。我一般先测电源电压看大音量时有没有掉压。然后摸功放芯片温度如果烫手就是散热不够。最后检查输入信号幅度不能超过功放芯片的最大输入范围。5.2 音效调整数字功放芯片一般内置DSP可以做音效调整。比如TAS5754M支持7段EQ、动态范围压缩、限幅器等。这些功能用好了可以明显提升听感。EQ调整要根据喇叭的特性来。如果喇叭低频不足可以提升100Hz到200Hz如果高频刺耳可以衰减5kHz到10kHz。但EQ不能调太多一般±6dB以内否则会引入相位失真。动态范围压缩DRC可以让小音量下的细节更清晰大音量下不失真。我一般设阈值在-6dB压缩比2:1启动时间10ms释放时间100ms。这个设置适合大部分桌面音箱。限幅器是保护喇叭的防止突然的大信号烧喇叭。阈值一般设在功放最大输出的80%左右。启动时间要快1ms以内释放时间要慢100ms以上。调音是个主观的事情我一般会找几首熟悉的歌反复听比如蔡琴的《渡口》、老鹰乐队的《Hotel California》。低频听鼓声的下潜和弹性中频听人声的厚度和情感高频听镲片的细节和光泽。调到自己满意为止。6. 常见问题速查与避坑清单6.1 连接类问题蓝牙连不上或者经常断线是最常见的问题。我整理了一个速查表现象可能原因解决方法搜不到设备蓝牙天线没接好检查天线焊接和净空连上就断电源纹波太大加大去耦电容换LDO距离短天线被遮挡天线放在板边远离金属配对失败PIN码错误确认PIN码或改用SSP声音断续缓冲区太小增大音频缓冲区到200ms只能连一个设备芯片不支持多点换支持多点的芯片天线问题我单独说一下。板载PCB天线是最容易出问题的。天线的尺寸要严格按照芯片手册的参考设计来不能随便改。天线周围要净空至少5mm内不能有铜皮和走线。如果实在做不好可以用外置的陶瓷天线或者IPEX天线效果更稳定。6.2 声音类问题声音问题比连接问题更难排查因为涉及的因素多。我一般按这个顺序排查第一步确认音源没问题。用手机直接插耳机听如果耳机听着正常那就是功放的问题。第二步确认蓝牙链路正常。用示波器看I2S波形或者用蓝牙分析仪看码流。如果I2S波形正常说明蓝牙解码没问题。第三步确认功放输入正常。用示波器看功放输入引脚应该有干净的音频波形。如果有高频载波说明LC滤波器没接好或者参数不对。第四步确认功放输出正常。用示波器看功放输出应该是放大的音频波形没有高频残余。如果有高频残余调整LC参数。第五步确认电源正常。用示波器看电源电压大音量时不应该有明显掉压。如果掉压换更大功率的电源。这个排查顺序我用了很多次基本能定位到90%的问题。6.3 电源类问题电源问题我单独拿出来说因为太常见了。数字功放对电源的要求比模拟功放高很多人用普通的开关电源结果底噪大、失真高。我推荐用两种电源一种是线性电源底噪最低但体积大、效率低另一种是LLC开关电源效率高、纹波小但成本高。如果只是自己做着玩用笔记本电源适配器就行但要注意功率余量。电源线也要注意。线径要够粗长度要短。我见过有人用1米长的细线接电源结果大音量时线上压降超过1V声音明显失真。换粗线之后问题消失。还有一个坑是地环路。如果功放和音源用不同的电源地线之间会有电位差导致嗡嗡声。解决方法是共地或者用隔离变压器。蓝牙功放一般不存在这个问题因为音源是无线连接的。但如果你用有线输入就要注意。6.4 独家避坑经验最后分享几个我踩过的坑第一个坑LC滤波器的电感饱和。我一开始用普通的工字电感结果大音量时电感饱和声音失真严重。后来换成一体成型电感饱和电流3A以上问题解决。电感的饱和电流一定要大于最大输出电流。第二个坑蓝牙芯片的晶振负载电容。不同厂家的晶振负载电容不一样有的是12pF有的是20pF。如果负载电容配错蓝牙连接距离会大幅缩短甚至连不上。一定要看晶振手册配对应的负载电容。第三个坑功放芯片的散热焊盘虚焊。手工焊接的时候散热焊盘很容易虚焊因为它在芯片底部看不到。我后来用热风枪加上锡膏保证散热焊盘焊接良好。如果散热焊盘虚焊大音量下芯片会过热保护声音断断续续。第四个坑I2S的MCLK频率。有些DAC需要MCLK有些不需要。如果需要MCLK但没接DAC不工作。我一开始用PCM5102以为不需要MCLK结果没声音。后来查手册才发现PCM5102需要MCLK或者用SCK引脚。接上MCLK之后正常。第五个坑蓝牙芯片的固件版本。同一款芯片不同固件版本的音质和稳定性可能不一样。我遇到过某个版本的固件底噪特别大换回旧版本就好了。所以固件不要盲目升级升级前先备份。这些坑都是我实际调试中遇到的希望对你有帮助。数字蓝牙功放这个方向硬件和软件的坑都不少但只要掌握了基本原理耐心调试都能解决。我现在的桌面音箱就是自己做的数字蓝牙功放用了两年多一直很稳定声音也满意。
返回列表