桌面音频设备这两年有个很明显的趋势:蓝牙解码和耳放开始合流。以前大家习惯分开买——一台蓝牙接收器接功放推音箱,再单独配一台耳放推耳机,桌面上一堆盒子和线材。现在越来越多玩家希望一台机器搞定两件事:既能蓝牙连手机推无源音箱,又能插平衡耳机听歌。这个需求听起来简单,但真动手做的时候,蓝牙芯片选型、DAC架构、功放增益匹配、平衡耳放电路、电源与接地处理,每一个环节都有坑。
我最近用QCC3084加TAS5760这套组合做了一台蓝牙5.4桌面功放加4.4平衡耳放一体机,从原理图到PCB打样再到调试,前后折腾了差不多两个月。QCC3084是高通新一代蓝牙音频SoC,支持蓝牙5.4和LE Audio,TAS5760是TI的D类功放芯片,两者搭配在成本和性能之间找到了一个不错的平衡点。整块板子用立创EDA专业版画的,六层板结构,打样成本控制得还可以。这篇文章把整个设计过程拆开讲,包括选型逻辑、电路细节、PCB布局要点、调试中遇到的问题和解决办法,适合有一定电路基础、想自己动手做桌面音频设备的玩家参考。
1. 为什么选QCC3084加TAS5760这套组合
1.1 蓝牙音频芯片的选型逻辑
做蓝牙桌面功放,第一步就是选蓝牙芯片。市面上常见的方案大概分几类:CSR系列老芯片、高通QCC系列、国产的杰理和络达、还有用ESP32自己跑蓝牙协议栈的。每种方案各有各的适用场景,选错了后面全是麻烦。
CSR系列比如CSR8670、CSR8675,属于经典方案,资料多、社区成熟,但芯片本身已经比较老,蓝牙版本停留在5.0左右,不支持LE Audio,而且开发板价格被炒得比较高。杰理和络达的方案便宜,量大,但开发资料相对封闭,个人开发者拿到的SDK往往不完整,调试起来比较痛苦。ESP32跑蓝牙音频理论上可行,但实际延迟和音质表现跟专用音频SoC差距明显,适合做实验不适合做成品。
QCC3084是高通QCC30xx系列里比较新的一颗,支持蓝牙5.4,兼容LE Audio和LC3编码,同时向下兼容aptX Adaptive、aptX HD、AAC、SBC这些传统编码。它的优势在于:高通原厂提供完整的开发工具链和参考设计,芯片本身集成了DSP可以做音效处理,外围电路相对简洁。缺点是芯片采购渠道需要留意,开发板价格不算便宜,而且高通对个人开发者的支持力度有限,很多资料要靠社区和代理商。
我选QCC3084的核心原因是蓝牙5.4加LE Audio的前瞻性。LE Audio的LC3编码在同等码率下音质优于SBC,而且延迟更低,未来几年会逐渐普及。现在做一台支持LE Audio的机器,至少三五年内不会落伍。另外QCC3084的模拟输出和I2S输出都可用,给后级电路设计留了余地。
1.2 TAS5760作为D类功放的优势
功放部分选TAS5760,主要是看中它的集成度和效率。TAS5760是TI的立体声D类功放,支持2x30W(8欧负载,24V供电)或者2x50W(4欧负载),内置了DSP可以做分频和EQ,支持I2S和模拟输入两种模式。它的THD+N在1W输出时大概0.03%左右,信噪比超过100dB,对于桌面应用来说完全够用。
跟常见的TPA3116比,TAS5760的优势在于内置DSP和更灵活的输入配置。TPA3116便宜、简单、量大,但它是纯模拟输入的功放,没有DSP,音效处理要靠前级。TAS5760可以直接接收I2S数字信号,省掉一次DAC转换,理论上音质损失更小。而且TAS5760的DSP可以做简单的分频,如果以后想加低音炮输出,不用额外加电路。
跟TAS5754、TAS5756这些同门比,TAS5760的功率稍小但价格更友好,而且封装是HTSSOP-32,手工焊接难度适中。TAS5754功率更大但封装是QFN,对手工焊接不太友好。综合考虑,TAS5760是桌面功放场景下比较均衡的选择。
1.3 4.4平衡耳放的架构选择
平衡耳放部分,我选择的是全差分架构,用运放搭建。4.4mm平衡接口是索尼推的Pentaconn标准,现在越来越多的播放器和耳机支持这个接口。平衡输出的好处是左右声道各自独立的地回路,串扰更低,推力通常也比单端大。
耳放架构上,常见的有几种:用专用耳放芯片比如TPA6120、OPA1622;用运放加缓冲;或者用分立元件搭。专用耳放芯片集成度高、外围简单,但声音风格固定,可调空间小。运放加缓冲的方案灵活,可以通过换运放调音,但需要自己处理偏置和反馈网络。分立元件方案最灵活但调试难度最大。
我最终用的是OPA1612做电压放大加BUF634做缓冲输出的组合。OPA1612是双极型输入运放,噪声低、失真小,适合做前级放大。BUF634是高速缓冲器,输出电流能力强,可以驱动低阻抗耳机。这个组合在发烧友圈子里比较经典,声音中性,推力足够应付大多数头戴耳机。
2. 系统架构与信号链路拆解
2.1 从蓝牙天线到喇叭的完整信号路径
整台机器的信号链路可以分成三条:蓝牙到功放、蓝牙到耳放、以及本地DAC到耳放(如果加USB输入的话)。这里主要讲前两条。
蓝牙信号从天线进入QCC3084,芯片内部完成射频接收、蓝牙协议栈处理、音频解码,然后通过I2S接口输出数字音频信号。I2S信号包含BCLK、LRCLK、DATA三根线,直接送到TAS5760的I2S输入引脚。TAS5760内部再做D类调制,输出PWM信号驱动喇叭。这条链路是全数字的,中间没有DAC转换,理论上音质损失最小。
蓝牙到耳放的链路稍微复杂一点。QCC3084的I2S输出只有一路,要同时给功放和耳放用,需要做信号分配。我的做法是用一颗I2S切换开关(比如TS5A23157或者类似的多路复用器),在功放和耳放之间切换。或者更简单的做法是让QCC3084的DSP做两路输出,但QCC3084的I2S输出配置需要改固件,对个人开发者来说门槛较高。
实际我采用的是模拟分配方案:QCC3084的模拟输出(DAC输出)送到耳放,I2S数字输出送到功放。这样两条链路独立,互不干扰。缺点是耳放用的是QCC3084内置DAC,音质受限于芯片本身的DAC性能。如果追求更高音质,可以加一颗独立DAC芯片比如ES9038或者AK4493,用I2S输入,但成本和复杂度都会上升。
2.2 电源树设计与供电分配
电源设计是这台机器最容易被忽视但影响最大的部分。整机需要几组电压:QCC3084需要3.3V和1.8V,TAS5760需要3.3V(数字)和24V(模拟功放级),耳放运放需要正负15V或者正负12V。
我的电源方案是这样的:输入用24V/5A的开关电源适配器,这是TAS5760功放级的主供电。24V进来后分三路:第一路直接给TAS5760的PVDD;第二路经过一颗降压芯片(比如TPS5430)降到5V,给USB接口和逻辑电路用;第三路经过LDO降到3.3V,给QCC3084和TAS5760的数字部分供电。
耳放的正负电源需要单独处理。24V单电源要变成正负15V,有两种方案:用DC-DC隔离模块,或者用虚拟地电路。DC-DC隔离模块效率高但开关噪声大,需要仔细滤波。虚拟地电路简单但带载能力有限。我最终用的是正负15V的DC-DC模块加LC滤波,实测底噪可以接受。
这里有个关键点:数字地和模拟地要分开,最后在电源入口处单点接地。TAS5760的AGND和DGND在芯片下方通过散热焊盘连接,PCB上要把这个焊盘作为模拟地和数字地的汇合点。QCC3084的地也要单独走,避免数字噪声串到模拟部分。
2.3 时钟与I2S信号完整性
I2S信号的完整性直接影响音质。QCC3084作为I2S主机,输出BCLK和LRCLK给TAS5760。BCLK的频率取决于采样率,44.1kHz采样率下BCLK通常是2.8224MHz(64fs),96kHz下是6.144MHz。这个频率不算高,但走线不好仍然会引入抖动。
我的做法是:I2S的三根信号线尽量短,走线宽度保持一致,下面铺完整的地平面。BCLK和LRCLK之间保持足够间距,避免串扰。如果走线长度超过5厘米,考虑加串联端接电阻(22到33欧姆)来抑制反射。
QCC3084的晶振是24MHz或者26MHz,具体取决于固件配置。晶振要尽量靠近芯片,负载电容按晶振规格书选取,通常12到22pF。晶振下方不要走其他信号线,地平面要完整。
3. 立创EDA专业版六层板设计实操
3.1 层叠结构与阻抗控制
六层板的层叠结构我采用的是:顶层信号、内层地、内层信号、内层电源、底层信号、底层地。这个结构的好处是每个信号层都有相邻的参考平面,阻抗容易控制,EMI表现也比较好。
具体叠层如下:
| 层 | 功能 | 厚度 |
|---|---|---|
| L1 | 信号层(元件面) | 0.5oz铜 |
| L2 | 完整地平面 | 1oz铜 |
| L3 | 信号层(I2S、时钟) | 0.5oz铜 |
| L4 | 电源平面(3.3V、5V、24V分区) | 1oz铜 |
| L5 | 信号层(控制、低速) | 0.5oz铜 |
| L6 | 地平面(底层) | 1oz铜 |
板厚1.6mm,总铜厚1oz。这个叠层在嘉立创打样属于常规工艺,价格合理。需要注意的是L3走I2S和时钟信号,因为L2是完整地平面,L3的阻抗容易控制。L4做电源平面时要分区,3.3V、5V、24V各自独立,不要混在一起。
3.2 星型接地在音频板上的具体做法
星型接地是音频电路里老生常谈的话题,但真正做到位不容易。核心思想是:所有地的回流路径最终汇合到一个点,避免地电流在公共地线上产生压降,串到其他电路里。
具体到这块板子,我的做法是:
- 功放级的大电流地(TAS5760的PGND)单独走粗线,直接连到电源入口的滤波电容负极。
- 耳放的小信号地(运放的GND)单独走,连到耳放区域的局部地,再通过一根线连到主接地点。
- QCC3084的数字地单独走,连到数字区域的局部地,再连到主接地点。
- 主接地点选在24V输入滤波电容的负极,所有地线最终在这里汇合。
在立创EDA专业版里,可以用"铺铜"功能做局部地平面,然后用"过孔"把不同层的地连接起来。注意不要用大面积铺铜把所有地混在一起,那样就失去了星型接地的意义。我的做法是每个功能区域单独铺地,区域之间用0欧姆电阻或者磁珠连接,调试时可以根据实际情况调整。
3.3 功放输出走线与散热处理
TAS5760的输出是PWM信号,走线要短而粗,因为电流较大。2x30W输出时,4欧负载上的峰值电流大概3.9A,8欧负载大概2.7A。走线宽度建议不小于1mm,最好2mm以上。输出走线不要跟输入信号平行走,避免PWM噪声耦合到输入端。
散热方面,TAS5760的HTSSOP-32封装底部有散热焊盘,必须焊接到PCB的铜皮上,铜皮面积越大散热越好。我在芯片下方和周围铺了大面积铜皮,并通过多个过孔连接到内层地平面,利用整板散热。实测满功率输出时芯片表面温度大概60度左右,可以接受。如果长时间大功率使用,建议加散热片或者小风扇。
输出电感的选择也很关键。TAS5760的典型应用电路推荐用10uH的输出电感,饱和电流要大于峰值电流的1.5倍。我选的是10uH/5A的屏蔽电感,直流电阻尽量小,减少功率损耗。输出电容用0.47uF的薄膜电容,耐压50V以上。
4. 关键电路模块的调试与问题排查
4.1 QCC3084固件烧录与蓝牙配对异常处理
QCC3084的固件烧录是第一个坎。高通的原厂开发板用的是SPI Flash烧录,需要专门的烧录器和配置工具。个人开发者如果没有原厂工具,可以用USB转SPI的方式烧录,但需要自己写脚本或者找社区工具。
我遇到的问题是:固件烧录成功但蓝牙搜不到设备。排查过程是这样的:先确认晶振是否起振,用示波器测晶振引脚,发现24MHz波形正常。然后检查电源,3.3V和1.8V都正常。接着用串口工具看QCC3084的启动日志,发现固件加载成功但射频初始化失败。最后定位到是天线匹配电路的问题——天线匹配网络的电容值不对,导致射频输出功率太低。
天线匹配这块,QCC3084的参考设计给的是π型匹配网络,两个电容一个电感。实际调试时需要用网络分析仪看天线的阻抗,然后调整匹配元件。没有网分的话,可以先用参考设计的默认值,然后通过蓝牙信号强度(RSSI)来判断。正常匹配下,手机在1米距离的RSSI应该在-40dBm左右,如果低于-60dBm说明匹配有问题。
4.2 TAS5760功放底噪与爆音问题
功放部分最常见的问题是底噪和开关机爆音。底噪通常来自电源纹波或者地线干扰,爆音通常来自上下电时序不对。
我遇到的底噪问题表现为:蓝牙连接后不放音乐,喇叭里有轻微的"嘶嘶"声,距离喇叭20厘米能听到。排查时先用示波器看24V电源的纹波,发现大概有100mV的开关纹波。在电源入口加了一级LC滤波(100uH电感加1000uF电容)后,纹波降到20mV以下,底噪明显改善。
爆音问题出现在开关机瞬间。TAS5760有专门的静音控制引脚(MUTE),需要在上下电时正确控制。我的做法是用一颗RC延时电路控制MUTE引脚:上电时,RC延时让MUTE引脚保持低电平约500ms,等电源稳定后再释放;下电时,电容快速放电,MUTE引脚先拉低,避免功放输出突变。实测这个电路可以有效消除开关机爆音。
还有一个细节:TAS5760的PWM输出在静音时不是完全关断,而是输出50%占空比的方波,这时候喇叭两端电压相同,没有电流。但如果MUTE引脚控制不当,PWM占空比突变就会产生爆音。所以MUTE引脚的时序一定要跟电源时序配合好。
4.3 平衡耳放的偏置与输出直流问题
平衡耳放部分,我遇到的最大问题是输出直流偏移。OPA1612加BUF634的架构,理论上输出直流应该接近0,但实际测量发现每个声道有几十毫伏的直流。这个直流加到耳机上,轻则影响音质,重则损坏耳机。
排查过程:先检查运放的输入偏置电流,OPA1612的输入偏置电流很小(典型10pA),不应该产生明显直流。然后检查反馈网络,发现反馈电阻的精度不够,用了5%的碳膜电阻,导致正反相输入端的阻抗不匹配。换成0.1%的金属膜电阻后,直流偏移降到5mV以内。
另外,BUF634的输入端有偏置电流,需要在输入端加隔直电容或者伺服电路。我最终在BUF634的输出端加了隔直电容(220uF/16V的电解电容并联1uF薄膜电容),彻底隔绝直流。隔直电容的容量要足够大,否则低频响应会受影响。220uF配32欧耳机,截止频率大概22Hz,基本够用。
4.4 蓝牙与功放共存时的干扰抑制
蓝牙和D类功放在同一块板子上,干扰是难免的。D类功放的开关频率通常在300kHz到1MHz之间,谐波可能落到2.4GHz频段,影响蓝牙接收灵敏度。
我的抑制措施有几个:第一,蓝牙天线尽量远离功放输出电感和输出走线,物理距离至少2厘米。第二,功放输出走线加屏蔽,或者在输出电感下方铺地铜皮做屏蔽。第三,蓝牙部分的电源加LC滤波,减少电源串扰。第四,PCB布局时把蓝牙区域和功放区域分开,中间用地线隔离。
实测下来,这些措施可以把蓝牙和功放的相互干扰降到可接受范围。蓝牙连接稳定,功放输出时蓝牙不会断连。如果干扰仍然明显,可以考虑把蓝牙天线用延长线引出,远离功放区域。
5. 整机装配与实测表现
5.1 外壳与接口布局
外壳我用的是铝合金型材机箱,尺寸大概200x150x60mm,内部空间足够放下PCB和电源模块。前面板开孔装4.4mm平衡耳机接口、3.5mm单端接口、音量旋钮和电源开关。后面板装蓝牙天线接口、喇叭接线柱、24V电源输入和USB调试口。
接口布局有个细节:4.4mm平衡接口的接地要单独走,不要跟3.5mm单端接口的地混在一起。平衡接口的四个触点分别是L+、L-、R+、R-,地是独立的。如果平衡和单端共用同一个地,平衡输出的优势就没了。
音量控制我用的是ALPS RK27电位器,放在耳放输出端做衰减。功放部分的音量通过QCC3084的DSP控制,或者用TAS5760的内置音量控制。这样两路音量独立,互不影响。
5.2 实测数据与听感评价
实测数据方面,用Audio Precision的入门级分析仪测了一下:
| 项目 | 功放输出 | 耳放输出 |
|---|---|---|
| 信噪比 | 98dB | 105dB |
| THD+N(1kHz,1W) | 0.05% | 0.01% |
| 频率响应(20Hz-20kHz) | ±0.5dB | ±0.3dB |
| 串扰 | -75dB | -90dB |
| 输出功率 | 2x30W(8欧) | 2x250mW(32欧) |
听感上,功放推8欧的书架箱,声音干净,低频有力,D类功放的典型风格。耳放推HD600,声场开阔,中频饱满,平衡输出下分离度明显好于单端。蓝牙连接用aptX Adaptive编码,延迟大概80ms左右,看视频基本感觉不到音画不同步。
5.3 成本核算与打样经验
整机成本大概如下:
| 项目 | 费用 |
|---|---|
| QCC3084模块 | 80元 |
| TAS5760芯片 | 25元 |
| 运放和缓冲 | 40元 |
| 电源模块 | 50元 |
| PCB打样(六层,5片) | 150元 |
| 外壳和接插件 | 120元 |
| 其他元件 | 80元 |
| 合计 | 约545元 |
PCB打样在嘉立创做的,六层板5片150元,价格可以接受。打样时注意:六层板的层叠结构要在下单时选对,嘉立创的六层板默认叠层跟我需要的略有差异,需要在下单页面手动调整。另外,六层板的最小线宽线距是3.5mil,比四层板紧,布线时要注意。
焊接方面,QCC3084模块是邮票孔封装,手工焊接难度不大。TAS5760是HTSSOP-32,引脚间距0.65mm,需要一定的焊接技巧。我的做法是用焊锡膏加热风枪,先固定芯片四角,然后均匀加热,最后用放大镜检查有没有虚焊。BUF634是SOIC-8封装,比较好焊。
调试时建议先焊电源部分,确认各路电压正常后再焊其他部分。蓝牙模块最后焊,因为固件烧录需要单独操作。整机调试顺序:电源、功放、耳放、蓝牙,每部分单独测试正常后再联调。
6. 几个容易翻车的细节与个人经验
6.1 蓝牙天线匹配不能照抄参考设计
前面提到天线匹配的问题,这里再展开说一下。QCC3084的参考设计给的天线匹配网络是针对特定天线和特定PCB布局的,直接照抄到自己的板子上,匹配效果可能差很多。天线的阻抗受PCB材质、板厚、周围铜皮、外壳材质的影响,必须根据实际情况调整。
我的建议是:如果手头没有网络分析仪,至少准备一个简单的驻波表或者用蓝牙RSSI做粗略判断。调试时先焊参考设计的匹配元件,然后测RSSI,如果偏低就逐个调整匹配电容的值。每次调整后重新测RSSI,找到最佳值。这个过程比较费时间,但值得做。
另外,天线周围要净空,不要铺铜,不要走线。天线离电池、金属外壳、喇叭磁铁都要保持距离。我的天线放在PCB边缘,周围5mm内没有其他元件和走线。
6.2 功放输出电感的选型陷阱
输出电感的选择直接影响功放效率和EMI。TAS5760推荐10uH,但不同厂家的10uH电感,饱和电流和直流电阻差别很大。我一开始用了一款便宜的10uH/3A电感,结果大音量时电感饱和,声音失真严重。换成10uH/5A的屏蔽电感后问题解决。
选电感时要注意几个参数:饱和电流要大于功放峰值电流的1.5倍,直流电阻要小(最好小于50毫欧),屏蔽型电感比开放式电感的EMI表现好。另外,电感的自谐振频率要高于功放的开关频率,否则电感会变成电容,失去滤波作用。
6.3 平衡耳放的地线处理
平衡耳放的地线处理比单端复杂。4.4mm接口的四个信号触点各自独立,地线也要独立走。我的做法是:左右声道的正负输出各自走一对差分线,地线单独走一根粗线到主接地点。这样左右声道的回流路径完全独立,串扰最低。
另外,平衡耳放的音量控制如果用双联电位器,两个联的精度要匹配,否则左右声道音量不一致。我用的是ALPS RK27四联电位器,两联用于左声道正负,两联用于右声道正负。四联电位器的精度比双联好,但价格也贵不少。
6.4 立创EDA专业版使用中的几个实用技巧
用立创EDA专业版画这块板子,有几个技巧可以分享:
- 六层板的层叠设置要在"设计"菜单里的"层叠管理器"中配置,默认是四层,需要手动改成六层。
- 星型接地用"铺铜"功能做局部地平面,然后用"过孔"连接不同层。注意铺铜时要设置"网络"为对应的地网络,否则铺铜不会连接到地。
- 差分线走线用"差分对"功能,先定义差分对,然后布线时按快捷键自动走差分。
- 导出位号图用"制造"菜单里的"装配图"功能,可以导出PDF格式的位号图,方便焊接时对照。
- 布线完成后用"设计规则检查"(DRC)检查一遍,重点看线宽、间距、过孔大小是否符合嘉立创的工艺要求。
立创EDA专业版跟KiCad比,优势在于元件库和嘉立创的供应链打通了,选元件时可以直接看库存和价格。缺点是复杂板子的布线效率不如KiCad,尤其是差分对和等长走线,KiCad的交互更流畅。不过对于这块板子的复杂度,立创EDA专业版完全够用。
6.5 调试顺序与故障定位思路
最后说一下调试顺序。我的建议是分模块调试,不要一上来就全部焊完通电。具体顺序:
- 先焊电源部分,包括降压芯片、LDO、滤波电容。通电测各路电压,确认正常。
- 焊功放部分,包括TAS5760、输出电感、输出电容。用信号发生器输入1kHz正弦波,示波器看输出波形,确认功放工作正常。
- 焊耳放部分,包括运放、缓冲、隔直电容。输入正弦波,测输出波形和直流偏移。
- 最后焊蓝牙模块,烧录固件,测试蓝牙连接和音频传输。
- 全部正常后联调,测试蓝牙到功放、蓝牙到耳放的完整链路。
故障定位的思路是:先电源后信号,先数字后模拟,先静态后动态。电源不正常,后面都白搭。数字部分不正常,模拟部分也测不准。静态工作点不对,动态测试没意义。
这台机器从设计到调试完成,前后改了三次PCB。第一次是天线匹配不对,第二次是功放输出电感选型错误,第三次是耳放地线处理不当。每次改板都是一次学习,也让我对蓝牙音频和D类功放的理解深了不少。如果你也想做类似的机器,我的建议是先从简单的四层板开始,把蓝牙和功放的基本链路跑通,再逐步加耳放和平衡输出。一上来就做六层板加平衡耳放,难度确实不小。