尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

TWS耳机电力线通信IC设计:从模拟前端到量产实战

TWS耳机电力线通信IC设计:从模拟前端到量产实战 1. 给无线耳机“剪辫子”用电力线通信把体积再压一截先说结论Powerline Comms IC 这个方向解决的是TWS耳机里一个非常具体、但特别磨人的问题——PCB面积不够用。耳机内寸土寸金电池要变大、扬声器要变大、麦克风要增加、传感器要堆料留给连接器和走线的空间越来越少。早期TWS方案普遍用多Pin弹簧针Pogo Pin连接器耳机和充电盒之间通过5~8个触点完成充电、数据传输、配对信息同步等功能。触点一多连接器占的面积、密封处理的难度、结构设计的复杂度全都上来整机做不薄无形中给ID设计套上了枷锁。Powerline Comms的思路很直接高频信号本质上可以叠加在直流电源线上传输耳机和充电盒之间本来就至少需要VBus和GND两根线如果用这两根线同时把数据也传了就能砍掉额外的数据触点和连接器引脚。这样耳机外壳上少开孔、少装弹簧针PCB也能缩短一截。这个技术并非新概念电力线通信PLC在电力猫、车载总线里用了很多年但把它塞进TWS耳机这样低功耗、高密度、强干扰的场景是近几年才真正落地的方案。这篇文章主要写给两类人一是做TWS耳机硬件或嵌入式开发的工程师正在评估“要不要上电力线通信”这个方案二是搞数字IC、模拟IC设计对消费电子里的小型化通信方案感兴趣的同学。我会从前端模拟设计、协议层状态机、系统级联调、量产测试几个维度展开尽量把我在实际项目中踩过的坑、掉过的头发一次性讲透。2. 为什么放着现成的连接器方案不用偏要折腾电力线通信2.1 传统多Pin方案的痛点绝不只是“占地方”可能有人觉得多Pin连接器顶多多占几个平方毫米至于这么较劲吗但你在耳机里做一次Layout就明白了问题远不止面积本身。触点寄生电容和串扰Pogo Pin之间间距小信号频率一高相邻Pin的寄生耦合就会造成数据线上的串扰这在音频数据传输这种对时序敏感的场合非常致命。密封和防水设计成本每多一个通孔触点外壳密封就多一个隐患点。IPX4甚至IPX7的防水等级要求下多Pin连接器的防水设计复杂度呈指数增长。结构公差要求苛刻耳机和充电盒的对位精度、弹簧针的压缩行程、接触电阻的一致性都会随着Pin数增多而变差。产线上经常因为个别触点接触不良导致误判“耳机未入盒”整机良率被拉低。充电功率提升受限触点越多充电回路分布参数越复杂大电流充电时的压降和发热就更难控制。相比之下把通信信号复用到电源线上直接把充电用的2个触点当作通信介质连接器一下瘦身成2Pin上述问题都大幅缓解。2.2 电力线通信在这里到底算什么技术传统的电力线通信通俗说是“让电线和数据线共用一根线”把高频载波信号耦合到工频交流电或直流母线上。在TWS耳机这个场景里它不是跑几百米长的电网而是跑几厘米长的电池线缆频率、功率、协议都可以重新设计。我习惯把它理解为“在直流电源轨道上叠一个通话声道”VBus线上既有充电所需的直流电流也有叠加其上的高频AC信号。接收端通过高通或带通滤波器把AC信号取出来同时用低通或直通路径保住直流供电两边互不干扰。实际上这个方案和很多工程师都熟悉的“无刷风扇升压IC”里的信号调理思路有一些共通之处都需要在噪声环境里把微弱的有效信号“捞”出来只是耳机里的载波频率更高、功耗预算更紧。2.3 代价是什么必须提前想清楚所有取舍都有代价。用电力线通信换来的收益是连接器变小、结构简化但付出的成本也很现实前端模拟电路复杂度上升需要专门的收发器滤波、放大、解调、驱动这些电路会吃额外的静态功耗。通信带宽有限电源线不是为高速信号设计的寄生电容和电感受限实际可靠带宽远不如专用数据线。好在音频控制和状态同步这类数据量很小不会成为瓶颈。协议状态机更复杂因为链路是半双工共享介质而且耳机左右耳要共用同一对线所以必须做时分复用、地址仲裁、帧同步。兼容性风险充电盒本身的充电管理IC、电池保护电路以及耳机内部的PMIC都会对电源线上的高频分量产生反应。如果芯片选型时没有先做阻抗评估后面很可能陷入“一充电就断连”的泥潭。因此要不要用Powerline Comms本质上是个工程判断题。我的经验是如果产品定义里对耳机体积、防水等级有明确追求而且数据量不大只传充电状态、固件升级、按键事件、左右耳同步信息那么这方案非常值得上。3. 把数据怼到电源线上前端模拟电路怎么扛得住3.1 电源线不是干净的“信息高速公路”搞过硬件的人都有体会电池线是整机里最脏的走线之一。耳机运行时数字电路开关噪声、DCDC纹波、射频PA的突发电流全都会耦合到VBus上。你还要在这个基础上再叠一个数据信号接收端要面对的是一个被各种噪声“腌入味”的传输通道。所以Powerline Comms IC核心本事不在“发”而在“收”。它必须在强干扰背景下把几十毫伏甚至更低幅度的载波信号准确恢复出来还得扛住充电时几安培电流带来的直流偏移和低频纹波。这里有个关键点信号幅度不能太大。因为你要在耳机里过认证尤其是CE/FCC的传导发射如果电源线上的载波分量过强EMI直接超标。实测下来耦合到VBus上的载波幅度控制在200mVpp到500mVpp之间比较安全再大就很容易在RF天线上感应出噪声影响Bluetooth灵敏度。这个限制条件直接决定了接收端的灵敏度设计指标——通常要求能解调10mVpp以下的信号留够裕量。3.2 关键参数耦合电容和载波频率怎么定前端电路的基本结构不复杂发送端通过一个隔直电容把载波信号叠加到VBus上接收端通过一个隔直电容把载波信号从VBus上取下来。但这两个电容和载波频率怎么选是有讲究的。耦合电容的选择取决于载波频率和通道阻抗。目标是在载波频率下让电容的容抗远小于通道的等效阻抗这样才能有效耦合信号。工程上一般取$$X_C \frac{1}{2\pi f C} \ll Z_{line}$$假设载波频率选在2.4MHz早些年我在一个方案里用的就是2.4M后来为了避开某个DCDC的开关谐波改成了3.5M电源线等效阻抗按50Ω估算那么耦合电容需要满足$$C \gg \frac{1}{2\pi \times 2.4\text{M} \times 50} \approx 1.3\text{nF}$$实际我通常会取10nF或22nF留足裕量。电容取太大也有问题低频时容抗变小充电电流或PWM开关纹波会更多地流入收发器增加接收机的动态范围压力。所以耦合电容要平衡高频耦合效率和低频隔离能力一般10nF~47nF是比较稳的起步区间。载波频率的选择还要考虑耳机电源系统的阻抗。锂电池在几十kHz以下表现接近一个电压源内阻很小但在MHz级别电池内部的化学和结构件会引入感性/容性谐振点。如果载波频率落在电池的串联谐振点附近信号会大量灌进电池里接收端反而收不到。所以建了模型后最好用VNA实测一下VBus到GND的S21/S11曲线再定频率。这个先测量、后定参的习惯能帮你在后续调试中省掉大量返工。3.3 发送端用限流和压摆率保护电源轨道发送端的设计有一个特别容易被忽略的问题过流保护。你直接把芯片的数字IO怼到耦合电容上效果并不好。原因是VBus上同时有大电流充电触点处存在接触电阻和电感过快的电压跳变会产生振铃还可能通过寄生电容干扰耳机里的模拟音频电路。因此发送端的驱动器需要有意识地控制输出压摆率比如限制在1V/ns以内同时输出级要有限流机制。限流值取决于耦合电容和驱动频率的乘积目标是在不引起VBus瞬态跌落的前提下传递足够功率。这里可以借用一些做三相无刷电机驱动时的经验驱动级不能只考虑“能不能出波形”还要考虑回沟电流和地弹。耳机里的地是共用的一有快速电流跳变GND平面电位就会弹跳轻则影响射频参考地重则让蓝牙芯片复位。所以发送端我在实际项目里更倾向于正弦波驱动而不是方波驱动虽然效率低一点但高频分量少EMI压力小很多。3.4 接收端滤波器、限幅、解调一个都不能少接收端链路大概是VBus → 隔直电容 → 带通滤波器 → 自动增益控制AGC或限幅放大器 → 解调器 → 基带数字接口。带通滤波器的中心频率对准载波频率带宽不能太宽不然DCDC的开关频率及其谐波会漏进来。比如DCDC开关频率是1.5MHz载波是3.5MHz那么带通至少要从2.5MHz开始滚降否则混频后会把噪声折叠到解调输出上。限幅放大器的作用是把接收到的微弱信号可能10mV级别放大到数字电路能可靠判断的电平。这一级特别考验模拟IC设计功底放大器要保证足够的增益同时不能因为直流偏移而饱和。为此接收链路里通常需要交流耦合或直流伺服环把信号里的直流成分抠掉。解调方式方面TWS耳机里一般不用复杂调制。ASK/FSK是首选因为它们对相干载波同步要求低实现面积和功耗都可控。我见过有些方案用OOK更简单粗暴但抗干扰能力差我自己更倾向用FSK虽然接收机复杂一些但在触点脏污导致信号幅度波动时频率信息依然可靠。4. 协议层的“脏活”同步、仲裁和低功耗状态机4.1 半双工共享介质的仲裁问题当左右耳机都放在充电盒里它们会通过同一对电源线和充电盒通信。三四个节点全挤在一根线上这就是一个典型的半双工共享介质网络。如何避免左右耳同时发数据把信道搞炸关键是协议层仲裁。TWS耳机里左右耳之间存在天然的同步需求它们要同时播放同一首歌的左右声道。既然左右耳都从同一个音源手机通过蓝牙拿到数据它们之间需要一个同步基准。很多方案的做法是左耳作为主节点和充电盒/手机保持连接右耳作为从节点定期通过电力线链路校准音频时钟。在共享介质上做仲裁我见过两种路线TDM时分复用常见主节点分配时隙每个节点在固定的时间窗口内发送数据避免冲突。实现最简单缺点是时隙固定信道利用率低。CSMA/CA载波侦听不常见发送前先听一下信道是否空闲。如果左右耳都检测到空闲同时发送就冲突了。需要有二进制指数退避机制。对芯片面积和功耗的要求更高。实际产品里TDM的确定性更好调试也方便我推荐优先走这个路线。4.2 帧结构设计要“小步快跑”电力线链路上传的数据包都非常短。典型场景包括耳机状态上报入盒/出盒、充电电流、电池电量、温度报警。充电盒下发指令固件升级块、恢复出厂设置、左右耳绑定关系刷新。左右耳间的音频时钟同步字。帧结构可以参考常见的UART格式但要在前面加同步头来对抗噪声环境下的误同步字段长度bit说明前导码8~16固定序列用来做位同步和AGC收敛帧同步字8~16特殊码型区分帧头避免数据体里“撞车”地址字段4~8节点地址充电盒、左耳、右耳类型字段4~8命令/响应/事件类型数据负载0~512具体载荷CRC8~16校验字段通常用CRC8或CRC16因为信道误码率不算太低触点脏污、充电电流突变都会造成瞬时误码所以数据负载宁可短一点也不要把一个大包一口气发完。固件升级时用一个512字节的包分片发虽然慢但比大包被噪声打穿后反复重发要稳定得多。4.3 配置寄存器什么时机动是个大学问数字IC设计里经常被问到一个问题什么时候要考虑配置寄存器答案很简单——凡是需要软件根据运行场景动态调整硬件行为的就必须做成可配置的。电力线通信前端也不例外。举个例子耳机在充电盒里和拿出来佩戴这两个场景下电源线的负载阻抗差异巨大。在盒子里时充电盒正通过同一对线给电池充电VBus上叠加了大电流的直流分量和开关纹波拿出来后VBus基本悬浮只靠电池供电。如果收发器用同一组偏置参数要么在盒子里被充电噪声打爆要么拿出来后信号幅度不足。所以状态机里要频繁改写寄存器入盒/出盒检测到状态变化以后立即切换收发器的接收增益档位。充电模式切换涓流→恒流→恒压→充满时同步调整带通滤波器的中心频率或Q值抑制充电器纹波。音频播放和静音时音频编解码器的时钟同步策略也需要微调。这些寄存器的读写时机必须通过系统级联调来确定不能拍脑袋写死在代码里。4.4 低功耗芯片99%的时间都在睡觉TWS耳机对功耗的敏感程度远超很多人的想象。耳机电池可能只有40~60mAh还要同时供蓝牙SoC、音频Codec、传感器和电源管理。Powerline Comms芯片只占非常小的功耗预算通常要求平均电流10uA峰值电流在通信瞬间可以到1mA级别。低功耗设计的关键是“尽量少醒来、醒来快办事、办完立刻睡”。因此协议栈里必须有一个深度睡眠机制芯片平时监听VBus上是否有唤醒脉冲没有就保持休眠所有电路关断只留一个超低功耗的边沿检测器。唤醒后迅速同步时钟、重新训练AGC然后把缓存的数据发出去或收进来完事再睡。这里有个调试时容易踩的坑唤醒阈值设得太低会把充电器开关噪声误判成唤醒脉冲导致芯片频繁误醒功耗飙升设得太高又收不到实际唤醒信号。阈值要和前端的接收灵敏度联合标定用示波器抓真实的VBus波形来定不能拍脑袋。5. 从样品到量产EMI、ESD和产线良率的现实难题5.1 EMI载波漏到天线Bluetooth灵敏度直接崩这是我在实际项目里被反复折磨的一个问题。硬件上把数据信号怼到电源线上电源线在天线近场范围内走了不短的距离载波分量很容易感应到天线上去。更麻烦的是如果前端驱动器的压摆率控制不好载波的谐波会窜到蓝牙的2.4GHz频段附近直接降低射频灵敏度。排查办法比较枯燥但非常有效先把电力线通信关掉测一遍蓝牙灵敏度基线。打开电力线通信持续发送测试数据再用频谱仪探VBus上的谐波分布。哪个频点超标就在对应位置加RC滤波或调整驱动器的压摆率。还有一种可能被忽视的情况耳机和充电盒之间的触点形成“偶极子”辐射体触点本身成了天线。这种情况下屏蔽和滤波都治标不治本最有效的办法是优化载波波形降低边沿陡峭度从源头减少谐波。5.2 ESD暴露的触点是天然的放电目标充电触点裸露在外用户从口袋里掏出耳机盒的时候手摸、衣服摩擦都可能产生静电放电。电力线收发器直接连接在触点上如果没有做好防护一次静电就把芯片打坏。轻则通信异常重则耳机直接“死亡”。防护思路分两级第一级是物理防雷/ESD器件放在最靠近触点的位置通常用TVS阵列第二级是芯片内部的ESD管设计要保证一定等级的HBM/CDM能力。但这里有个矛盾TVS管的寄生电容会额外走在电源线上相当于给高频载波信号加了一个谐振电容可能改变通信链路的阻抗特性。所以TVS选型时必须看寄生电容参数尽量选1pF的器件否则你会发现静电是防住了通信误码率也跟着上来了。5.3 产线分时测试避免互相打架量产测试时Powerline Comms链路不能和RF校准同时进行否则一个在电源线上发信号一个在空气中收信号互相干扰。比较好的做法是产测流程上安排成“分时复用”先做RF性能校准把蓝牙的TX/RX校准完。再做音频和传感器测试。最后才进入电力线通信测试通过现有触点和测试治具通信。测试治具的触点阻抗要和真实的磁吸充电触点尽可能接近否则在治具上测出来“Pass”到真机上却“Fail”这种“治具假阳性”问题非常坑。我建议产测治具做出来以后先用一批实机做等效性验证把治具和真机的S参数拉平再放量。5.4 可靠性测试湿热、盐雾、插拔次数验证什么触点接触阻抗会随使用环境变化盐雾和汗水会导致触点氧化接触阻抗上升最终影响信号传输。因此可靠性测试里我会重点观察这几个参数测试项测试条件关注指标高温高湿85℃/85%RH500h通信误码率、接触电阻盐雾5% NaCl24h触点腐蚀、信号衰减插拔寿命 3000次弹簧针弹力衰减、接触电阻变化跌落1.5m6面各2次结构松动、链路中断恢复其中插拔寿命最容易被忽视。很多工程师在实验室里用一两次接触良好的触点做测试不会意识到触点磨过几百次以后接触电阻从几十毫欧漂到几百毫欧接收端的灵敏度就明显不足了。所以在产品定义阶段就要定好连接器的镀层规格和弹力范围给通信芯片留够裕量。6. 疑难杂症排查实录与典型问题速查6.1 充电大电流时通信丢失是前端扛不住还是协议不行现象耳机放在盒子里充电充电电流超过300mA时通信链路频繁误码电流降下来又恢复正常。排查思路先用示波器观察VBus上的噪声频谱确认是不是充电器开关纹波幅度突然增大。测量通信芯片接收前的信号波形看载波是否被纹波“淹没”。根因可能是接收滤波器的带宽太宽充电器的开关谐波混入信号带内。解决办法是收窄带通滤波器带宽或者换一个充电器开关频率让它避开载波频点。这个问题的本质是接收机的“选择性”不足协议层面再怎么加重传都没有用必须回到前端去修。6.2 左右耳互相干扰时间片没对齐现象左右耳同时入盒后充电盒下发数据两只耳机都回同一个地址导致信道冲突。根因我遇到过TDM时隙分配算法里左右耳刚上电时的时钟基准不一致主节点还没有完成同步就让所有节点发了数据。排查思路用逻辑分析仪同时抓左右耳的发送引脚看是不是同时出现了“发送窗口”。检查左右耳同步后是否有独立的零点校准保证时隙基准对齐。最终补了一个“同步锁定后再允许发送”的状态彻底解决。6.3 耳机放回充电盒后偶尔死机现象耳机放回盒子里触点接触的瞬间芯片发生闩锁或复位之后无法唤醒必须手动放掉静电或重新上电才能恢复。根因触点瞬间压接时产生的机械抖动和电弧在VBus上制造了大幅度的电压尖峰正好打在芯片的某个薄弱点。排查思路在触点附近加一个RC吸收电路缓解电压尖峰。降低前端驱动器的上电瞬间冲击电流。在软件里加“入盒事件防抖”触点稳定后再启动通信而不是在接触瞬间就开始发数据。这个Case给我的教训是不要只盯着稳态设计瞬态设计上电、断开、接触抖动才是可靠性的大坑。6.4 典型问题速查表问题现象可能原因排查方向充电时通信误码率升高充电器开关纹波干扰观察VBus频谱、收窄接收带宽通信距离短触点稍脏就断接收灵敏度不足检查AGC阈值、耦合电容左右耳同时通信冲突时隙未同步检查同步状态机、时钟校准蓝牙灵敏度下降载波谐波耦合到天线优化驱动压摆率、加滤波静电打坏芯片ESD防护不足检查TVS寄生电容、芯片ESD能力设备在盒内死机触点接触瞬态尖峰加RC吸收、软件防抖低温下通信失败电容容值漂移、振荡器频率漂移选取宽温电容、增强载波跟踪固件升级反复失败大包传输被噪声打断分片重传、增加CRC校验强度7. 我个人在实际项目里的几点体会在好几个TWS项目的迭代里我最大的感受是Powerline Comms IC表面上看是“省了一根线”实际上把原来分散在结构、射频、音频、充电各环节的复杂度集中到了通信链路这一个点上。它不是一个“即插即用”的元件而是一个需要全系统协同设计的子工程。越早让射频工程师、音频工程师、充电工程师和IC供应商坐在同一张桌子上对齐边界条件后面的Debug就越少。选型上我建议不要只看芯片的通信速率和功耗标称值还要重点考察三件事一是前端接收机在真实电源纹波环境下的灵敏度余量二是协议栈对左右耳节点管理和低功耗唤醒的成熟度三是供应商有没有针对TWS耳机场景做好系统级测试用例。芯片本身只是“发动机”协议栈和参考设计才是真正帮你绕过坑的“导航”。如果你正在评估这个方案可以从一个小实验开始拿一个参考设计把充电电流拉到实际产品最大值的1.2倍同时触发固件升级看看链路是否还能稳定跑完。这一个测试就能筛掉很多“纸面上完美、实际上一碰就碎”的方案。
返回列表