1. 项目缘起与整体设计思路拆解
1.1 为什么选杰理AC6955F这颗料
做蓝牙音箱这行的人都知道,主控选型基本决定了整个项目的成本结构、开发周期和最终音质上限。市面上做蓝牙音频SoC的厂商不少,但真正能在中低端音箱市场做到“量大管饱、开发资料齐全、方案商遍地”的,杰理绝对是绕不开的一家。这次星火计划选用的AC6955F,是杰理在蓝牙5.1时代推出的一颗中端定位音频主控,主打的就是立体声双声道输出加低功耗待机,非常适合做便携式蓝牙音箱和桌面2.0声道音箱。
我拿到这颗芯片的第一反应是:它跟之前用过的AC692X系列比,最大的变化在于蓝牙协议栈升级到了5.1,支持LE Audio的前置特性,虽然AC6955F本身没有完整实现LE Audio的全部功能,但底层的射频和基带已经做了适配,后续如果杰理SDK升级,理论上可以通过固件更新获得更好的多设备连接体验。另一个让我决定用它的原因是它的DAC信噪比标称到了98dB以上,实际打板测试下来,在3.7V供电、1kHz正弦波输入的情况下,实测SNR能到95dB左右,这个成绩放在同价位芯片里算是相当能打的了。
选型的时候我还对比过几款竞品。比如某些台系方案在蓝牙5.1的兼容性上做得不错,但开发工具链太封闭,没有原厂FAE支持基本玩不转;还有一些国产方案虽然便宜,但DAC底噪明显,做出来的音箱安静环境下能听到明显的“嘶嘶”声。AC6955F在这两点上平衡得比较好,杰理提供的SDK虽然文档写得比较“随性”,但社区里踩坑的人多,遇到问题搜一搜基本都能找到线索。
1.2 蓝牙5.1对音箱产品的实际意义
很多人看到蓝牙5.1就觉得是“版本号升级”,实际用起来跟5.0没区别。这个说法对也不对。从音箱产品的实际体验来看,蓝牙5.1带来的最直接好处是广播信道跳频算法优化,在2.4GHz频段拥挤的环境下(比如家里路由器、微波炉、无线键鼠全开的情况),5.1的射频抗干扰能力明显比5.0稳。我实测过同一个板子刷5.0和5.1的固件,在办公室这种无线设备密集的环境下,5.0固件偶尔会出现音频卡顿,5.1固件跑一整天都没断过。
另一个容易被忽略的点是测向功能(Direction Finding)的硬件基础。虽然音箱产品本身用不到AoA/AoD,但AC6955F的射频前端支持天线阵列切换,这意味着如果你后续想做带室内定位功能的智能音箱,这颗芯片的硬件底子是够的,只需要在PCB上预留天线切换电路就行。当然,对于大多数只做音频播放的项目来说,这个功能属于“可以不用但不能没有”的冗余设计。
1.3 整体硬件架构设计
这个项目的硬件架构我采用的是主控+功放+电源管理+音频输入切换的经典四块式布局。AC6955F本身集成了蓝牙射频、音频DAC、MCU和部分电源管理单元,所以外围电路可以做得比较精简。但要注意,它的DAC输出是单端信号,驱动能力有限,直接推耳机还行,推喇叭必须外加功放芯片。
我选的功放是两颗单声道Class D功放组成立体声,每声道额定3W、峰值5W,配合4Ω 3W的喇叭单元。电源部分用了一颗锂电充电管理IC加一颗升压IC,把单节锂电的3.0-4.2V升到5V给功放供电,同时通过LDO降到3.3V给主控和蓝牙部分供电。音频输入切换这块,我预留了3.5mm模拟输入和USB声卡输入两种模式,通过主控的GPIO控制模拟开关进行通道选择。
注意:AC6955F的DAC输出是差分信号,虽然可以单端使用,但差分接法能有效抑制共模噪声。我在第一版板子上偷懒用了单端接法,结果底噪比预期高了6dB左右,后来改回差分接法才把指标拉回来。
2. 核心电路细节与关键参数解析
2.1 主控最小系统电路
AC6955F的最小系统包括晶振电路、复位电路、去耦电容网络和天线匹配电路。晶振用的是24MHz无源晶振,负载电容根据晶振规格书选的是12pF,实际打板后测频偏在±10ppm以内,满足蓝牙协议要求。这里有个细节:杰理芯片对晶振的起振时间有要求,如果负载电容选得太大,起振会变慢,导致上电后蓝牙初始化偶尔失败。我试过用15pF的电容,十次上电有两次搜不到设备,换成12pF后问题消失。
复位电路用的是RC复位加手动复位按键,RC时间常数取10kΩ+100nF,复位脉冲宽度约1ms,足够芯片完成内部上电复位序列。去耦电容这块,我在VDD引脚附近放了100nF+10μF的组合,高频噪声用100nF滤,低频波动用10μF兜底。实测下来,如果只放100nF,蓝牙发射时电源纹波会明显增大,导致接收灵敏度下降。
天线匹配电路是很多人容易翻车的地方。AC6955F的射频输出阻抗是50Ω,但实际PCB走线和天线本身的阻抗会有偏差,所以需要一组π型匹配网络来调。我用的方案是串联一颗1.2nH的电感,并联两颗1pF的电容,具体值要根据实际天线和PCB叠层用网分调。没有网分的话,可以先用杰理提供的参考值,然后通过蓝牙连接距离来粗略判断——如果空旷环境下10米就断连,那匹配肯定没调好。
2.2 音频DAC输出与功放接口
AC6955F的DAC输出是差分电流型,需要外接I/V转换电路才能变成电压信号。杰理的参考设计里用的是两颗运放做差分转单端,但我为了简化电路,直接用了一颗差分输入Class D功放,省掉了运放级。这样做的好处是信号路径更短,引入的噪声更少,但缺点是功放的输入阻抗必须和DAC的输出阻抗匹配,否则低频响应会变差。
实测数据:DAC输出差分阻抗约2kΩ,功放输入阻抗10kΩ,直接连接后低频-3dB点在80Hz左右,对于便携音箱来说够用了。如果你要做Hi-Fi级别的桌面音箱,建议还是加一级运放缓冲,把低频延伸到40Hz以下。
功放供电是5V,喇叭是4Ω 3W。这里有个计算公式:Class D功放在5V供电、4Ω负载下的理论最大输出功率是 ( P = \frac{V^2}{2R} = \frac{25}{8} = 3.125W ),实际因为功放内阻和调制损耗,能输出2.8W左右。如果要做到5W峰值,要么提高供电电压到7.4V(两节锂电串联),要么降低喇叭阻抗到2Ω。我选的是前者,用两节锂电串联加升降压管理,但这样成本会上去,适合对音量有要求的项目。
2.3 电源管理与低功耗设计
便携音箱的续航是核心竞争力之一。这个项目我用的是单节18650锂电,容量2600mAh,升压到5V给功放,同时LDO降到3.3V给主控。实测下来,中等音量播放(约1W输出)时整机电流约350mA,续航大概7小时;待机状态下(蓝牙连接但无播放)电流约15mA,可以撑一周左右。
低功耗设计的关键在于蓝牙Sniff模式的配置。杰理SDK里默认的Sniff间隔是20ms,我把它改成了100ms,待机电流从25mA降到了15mA。但这里有个坑:Sniff间隔太长会导致蓝牙响应变慢,手机发指令到音箱执行会有明显延迟。我试过500ms的间隔,结果按播放键后要等半秒才出声,体验很差。最后折中到100ms,既省电又不影响操作手感。
提示:杰理芯片在Sniff模式下如果遇到音频流中断,会自动退出Sniff进入Active模式,这个切换过程会有约50ms的延迟。如果你做的是游戏音箱,对延迟敏感,建议关闭Sniff或者把间隔设到20ms以下。
2.4 蓝牙天线布局与射频走线
PCB布局这块,天线区域必须净空,这是铁律。我见过太多人把天线放在板边但底下铺了地,结果蓝牙距离直接砍半。AC6955F的参考设计建议天线区域下方所有层挖空,走线用50Ω共面波导,线宽和间距根据板厚和介电常数计算。以常见的1.6mm FR4板为例,50Ω微带线的线宽约3mm,但共面波导可以做到1.5mm左右,更适合小尺寸PCB。
射频走线要尽量短,从芯片引脚到天线馈点最好控制在5mm以内。如果实在做不到,中间可以用π型匹配网络补偿。我第一版板子射频走线走了12mm,结果匹配怎么调都调不到理想状态,后来重新layout把走线缩到4mm,匹配一次就调通了。
3. 实操过程与核心环节实现
3.1 原理图设计与关键网络标注
画原理图的时候,我习惯把关键网络用不同颜色标注:电源网络红色、音频信号绿色、射频蓝色、控制信号黄色。这样在PCB布局时一眼就能看出哪些线要走粗、哪些要包地、哪些要远离。
AC6955F的外围元件不多,但有几个地方要特别注意。第一是复位引脚,必须加100nF电容到地,否则上电时芯片可能进入异常状态。第二是晶振引脚,走线要尽量短且包地,晶振下方不要走任何其他信号线。第三是DAC输出引脚,差分对要走等长线,长度差控制在5mil以内,否则立体声分离度会变差。
原理图里我还加了一个调试串口,用2.54mm排针引出UART的TX/RX/GND,方便后续用杰理的烧录器看log。这个串口在调试阶段帮了大忙,很多蓝牙连接问题都是通过看log定位的。
3.2 PCB布局与叠层设计
这个项目用的是四层板,叠层结构是:顶层信号、内层地、内层电源、底层信号。四层板的好处是电源和地平面完整,射频和音频信号都有参考平面,阻抗容易控制。如果成本压力大,两层板也能做,但射频性能和音频信噪比会打折扣。
布局顺序我是这样安排的:先把主控放在板子中间偏上的位置,天线区域放在板边并净空;功放芯片靠近喇叭接口,减少音频走线长度;电源管理芯片放在板子另一侧,远离射频和音频区域,避免开关噪声串扰。锂电接口和USB接口放在板边,方便插拔。
音频走线这块,DAC到功放的差分线要走成紧耦合差分对,线宽6mil、间距6mil,全程包地。功放到喇叭接口的走线要尽量粗,我用的20mil,因为Class D功放输出是PWM信号,走线细了会有明显的电磁辐射,干扰蓝牙接收。
3.3 打样与焊接注意事项
PCB打样我选的是嘉立创的普通工艺,四层板、沉金、1.6mm板厚。沉金比喷锡好,因为喷锡表面不平整,射频连接器焊接时容易虚焊。打样回来先目检,重点看射频走线有没有毛刺、天线区域有没有残留铜皮。
焊接顺序:先焊主控和晶振,再焊电源部分,最后焊功放和接口。主控是QFN封装,引脚间距0.4mm,手焊难度较大,建议用热风枪加锡膏。我试过用烙铁拖焊,结果连锡了三个引脚,清理了半天。晶振焊接时要注意温度不要太高,260度以上容易损坏晶振内部结构。
焊完之后先别急着上电,用万用表测一下电源和地之间的阻抗,正常应该在几百欧姆以上。如果阻抗接近0,说明有短路,必须排查清楚再上电,否则一通电主控就烧了。
3.4 固件烧录与蓝牙配对测试
杰理的烧录工具叫JL Studio,配合他们的USB烧录器使用。烧录接口是UART,波特率默认115200。烧录前要先在软件里选对芯片型号AC6955F,然后加载编译好的固件文件。烧录过程中如果提示“握手失败”,通常是烧录器驱动没装好或者TX/RX接反了。
烧录成功后,给板子上电,用手机搜蓝牙设备,应该能看到一个名为“AC6955F_SPK”的设备(名字可以在固件里改)。点击配对,如果一切正常,手机会显示“已连接”。这时候播放音乐,喇叭应该出声。如果没声音,先检查功放供电是否正常,再检查DAC输出是否有信号。我遇到过功放静音引脚没拉高导致没声音的情况,查了半天才发现是GPIO配置错了。
蓝牙连接稳定性测试:我把手机放在客厅,音箱放在卧室,中间隔一堵墙,距离约8米,播放无损音乐半小时,没有出现断连或卡顿。这个成绩对于板载天线来说算是不错了。如果要做更远距离,可以换外置天线,但要注意FCC认证的发射功率限制。
4. 常见问题与排查技巧实录
4.1 蓝牙搜不到设备或连接不稳定
这是新手最常遇到的问题。排查思路按优先级来:先看天线匹配有没有调好,用网分看回波损耗,S11小于-10dB才算合格;再看晶振频偏,频偏超过±20ppm会导致蓝牙握手失败;最后看电源纹波,蓝牙发射瞬间电源跌落超过100mV也会导致连接断开。
我遇到过一个奇葩案例:板子放在金属桌面上时蓝牙距离只有2米,拿起来就有10米。后来发现是金属桌面反射了射频信号,导致天线方向图畸变。解决办法是在天线下方加一层磁性吸波材料,或者把音箱外壳换成塑料的。
4.2 音频底噪大或声音失真
底噪问题通常来自三个方面:电源噪声、地环路、DAC配置。先测电源纹波,如果峰峰值超过10mV,就要加LC滤波。地环路的话,检查功放地和主控地是不是单点连接,如果形成环路,低频哼声会很明显。DAC配置这块,杰理SDK里默认的输出增益可能偏高,导致大音量时削波失真,可以在代码里把DAC增益调低3dB试试。
声音失真还有一个容易被忽略的原因:喇叭阻抗不匹配。如果功放标称4Ω但接了8Ω喇叭,输出功率会减半,而且频响曲线会变。反过来接2Ω喇叭,功放可能过流保护。所以选喇叭时一定要看阻抗和功率是否匹配。
4.3 待机电流过大
待机电流大通常是因为Sniff模式没配好,或者有GPIO漏电。先量一下各个GPIO的电压,如果有引脚悬空或者输出高电平但外部下拉,就会产生漏电流。杰理芯片的GPIO内部有弱上拉,如果外部电路不需要上拉,要在代码里关掉。
另一个耗电大户是LDO的静态电流。我用的LDO静态电流标称50μA,实际测下来有200μA,换了另一款低静态电流的LDO后,待机电流从15mA降到了8mA。所以选LDO时不要只看价格,静态电流这个参数对续航影响很大。
4.4 常见问题速查表
| 问题现象 | 可能原因 | 排查方法 | 解决方案 |
|---|---|---|---|
| 蓝牙搜不到 | 天线匹配不良 | 网分测S11 | 调整π型匹配网络 |
| 连接后断连 | 电源纹波大 | 示波器测VDD | 加LC滤波或换LDO |
| 底噪明显 | 地环路 | 检查接地 | 单点接地 |
| 声音失真 | DAC增益过高 | 看SDK配置 | 降低DAC增益 |
| 待机电流大 | Sniff间隔短 | 测待机电流 | 增大Sniff间隔 |
| 烧录失败 | 串口接反 | 检查TX/RX | 交换TX/RX |
| 功放无输出 | 静音引脚未拉高 | 测静音引脚电压 | GPIO配置拉高 |
| 低频响应差 | 功放输入阻抗不匹配 | 测低频-3dB点 | 加运放缓冲 |
注意:杰理芯片的GPIO在上电默认状态可能是高阻态,如果你用GPIO控制功放静音,一定要在初始化代码里第一时间把它拉高,否则上电瞬间会有“噗”的一声。
4.5 独家避坑经验分享
第一个坑:杰理SDK的默认工程配置里,蓝牙名称是写死的,如果你不改,所有板子搜出来都是同一个名字,批量生产时客户会懵。改名字的地方在bt_config.h里,找到BT_LOCAL_NAME宏,改成你想要的名字。
第二个坑:AC6955F的DAC输出在蓝牙未连接时会有轻微的白噪声,这是芯片内部偏置电路的工作噪声,不是故障。如果客户对底噪敏感,可以在功放前加一个静音电路,蓝牙未连接时切断音频通路。
第三个坑:烧录固件时如果选了错误的晶振频率,蓝牙功能会完全失效,但其他功能正常。这个坑很隐蔽,因为板子能跑、串口有输出,就是搜不到蓝牙。解决办法是重新烧录,在烧录工具里把晶振频率改成24MHz。
第四个坑:PCB打样时如果阻抗控制没做好,射频走线的实际阻抗可能偏离50Ω很多,导致匹配网络怎么调都调不好。建议打样时要求厂家做阻抗测试,或者在板子上加测试点,打样回来自己用TDR测一下。
5. 设计验证与量产考量
5.1 功能测试与性能指标
板子打样回来之后,我做了一轮完整的性能测试。蓝牙连接距离在空旷环境下实测12米,隔一堵承重墙后约6米,这个成绩对于板载天线来说属于中上水平。音频指标方面,用APx515音频分析仪测的THD+N在1kHz、1W输出时约0.05%,信噪比95dB,频响范围80Hz-20kHz(±3dB)。这些指标对于日常听歌来说完全够用,但如果你要做Hi-Fi音箱,DAC和功放都需要升级。
功耗测试:播放音乐时整机电流350mA,待机15mA,关机(拔掉电池)0mA。充电电流设定在1A,充满2600mAh电池约3小时。充电时如果同时播放音乐,充电电流会降到500mA,因为升压电路和充电电路会互相抢电流。
5.2 小批量试产注意事项
小批量试产(100台以内)的时候,最容易出问题的是元器件一致性。我遇到过一批晶振的负载电容偏差较大,导致部分板子蓝牙连接距离明显偏短。解决办法是让供应商提供晶振的频偏测试报告,或者自己在产线上加一道频偏测试工序。
另一个问题是焊接良率。QFN封装的芯片如果锡膏印刷不均匀,容易虚焊。建议小批量试产时用钢网印刷锡膏,然后过回流焊,不要手工焊接。手工焊接的板子一致性太差,调试起来会怀疑人生。
5.3 成本控制与物料选型
这个项目的BOM成本大概在25元左右(不含电池和外壳),其中主控AC6955F约8元,功放两颗约3元,电源管理约2元,其余是阻容感和PCB。如果要进一步降本,可以把四层板改成两层板,省1元左右,但射频性能会下降。也可以把功放换成更便宜的国产型号,但底噪可能会增加。
物料选型上,晶振和电感不要贪便宜。我试过用某国产晶振,价格便宜一半,但频偏一致性很差,十颗里有三颗超标。电感也是,射频匹配用的电感要用高Q值的,普通电感损耗大,会导致发射功率下降。
5.4 后续扩展方向
这个硬件平台后续可以扩展的方向挺多的。比如加一个麦克风输入,配合杰理的语音识别SDK,就能做成语音控制音箱。杰理官方有语音识别库,支持离线唤醒词,但需要额外的Flash存储语音模型。还可以加TF卡播放功能,AC6955F支持SDIO接口,接TF卡后可以脱离手机独立播放音乐。
如果要做TWS组网,AC6955F本身支持蓝牙5.1的广播扩展,理论上可以实现多音箱同步播放。但杰理SDK里TWS功能的文档比较少,需要自己摸索。我试过用两颗AC6955F做TWS配对,延迟在100ms左右,看电影会有轻微音画不同步,听歌没问题。
提示:做TWS的时候,主音箱和从音箱的固件要分别配置,主音箱负责蓝牙连接和音频解码,从音箱只负责接收音频流和播放。配置错了会导致两个音箱都出声但不同步。
6. 个人实操体会与建议
这个项目从选型到打样再到调试,前前后后花了大概三周时间。踩过的坑不少,但收获也很大。最大的体会是:杰理的芯片性价比确实高,但SDK和文档的完善程度跟一线大厂还有差距。很多配置项没有说明,只能靠看代码和试错来理解。建议新手先从杰理提供的Demo板开始,把Demo板跑通了再画自己的板子,这样能少走很多弯路。
另一个体会是射频和音频是两回事,但互相影响很大。蓝牙天线没调好,音频会卡顿;功放走线没处理好,蓝牙距离会缩短。所以PCB布局的时候一定要把射频和音频区域分开,电源也要独立走线,不要共用一条电源路径。
最后分享一个小技巧:调试蓝牙连接问题时,可以在杰理SDK里打开射频测试模式,让芯片持续发射单载波信号,然后用频谱仪看发射功率和频偏。这个方法比反复连手机测试效率高得多,几分钟就能判断射频电路有没有问题。