3、WiSA组网流程:扫描与发现、配对与绑定、建立音频流、断开与重连

好,咱们直接进入正题。WiSA组网,说白了就是让一堆音箱“认识”彼此,然后一起干活。很多刚接触WiSA的工程师,上来就盯着音频流怎么传,结果发现连配对都搞不定。我个人习惯,先把组网流程拆成四个阶段:扫描发现、配对绑定、建立音频流、断开与重连。每个阶段都有坑,咱们一个一个说。

3.1 扫描与发现:让音箱“看见”彼此

WiSA设备上电后,第一件事就是扫描。这就像你在一个黑暗的房间里,先喊一嗓子“有人吗?”。WiSA用的是2.4GHz频段,通过广播包来宣告自己的存在。

扫描阶段的核心机制:

  • Beacon广播:每个WiSA设备会定期发送Beacon帧,里面包含设备ID、能力集(比如支持几声道、采样率多少)。
  • 扫描窗口:接收方会在特定时间窗口内监听。我记得有一次项目,客户说音箱老是搜不到,后来发现是扫描窗口设得太短,丢包率飙升。
  • 信道选择:WiSA默认会扫描所有可用信道(通常是11-26)。我建议你优先扫描干扰少的信道,可以用频谱仪先扫一遍环境。

关键参数:扫描周期通常设为100ms-200ms。太短了容易漏,太长了用户体验差。

你想想看,如果家里有Wi-Fi、蓝牙、Zigbee都在2.4GHz上跑,扫描阶段就容易被干扰。我曾经在客户现场遇到过,客厅里放了台微波炉,一开微波炉音箱就断连。后来我们加了信道黑名单机制,把微波炉干扰的信道直接跳过。

3.2 配对与绑定:建立信任关系

扫描到设备之后,下一步就是配对。WiSA的配对不是简单的“点一下连接”,它有一套完整的绑定流程。

配对流程:

  1. 发起配对请求:主设备(通常是Soundbar)发送配对请求帧,包含自己的公钥或预共享密钥。
  2. 设备认证:从设备验证主设备的身份。WiSA支持两种模式:
    • 自动配对:同品牌设备,预置了相同的密钥,上电自动配对。
    • 手动配对:需要用户按键确认,比如长按音箱上的配对键3秒。
  3. 密钥交换:双方协商一个会话密钥,用于后续通信加密。
  4. 绑定确认:主设备记录从设备的MAC地址和角色(左声道、右声道、环绕等)。

我的经验:自动配对虽然方便,但容易出问题。有一次客户反馈,买了两个同型号音箱,结果一个连上了,另一个死活连不上。查了半天,发现两个音箱的预置密钥居然一样,导致冲突。后来我们改成了“MAC地址+随机数”的方式生成密钥,问题就解决了。

嗯,这里要注意:配对成功后,设备会保存绑定信息。下次开机,只要双方都在,就会自动重连,不需要重新配对。这个机制叫“持久绑定”。

3.3 建立音频流:让声音跑起来

配对完成,接下来就是建立音频流。WiSA的音频流是等时传输(Isochronous),说白了就是保证数据按时到达,不能有卡顿。

音频流建立步骤:

  1. 分配时隙:主设备根据音箱数量,分配TDMA时隙。比如5.1声道,需要6个时隙(5个声道+1个低音炮)。
  2. 同步时钟:所有设备必须同步到同一个时钟基准。WiSA使用主设备的时钟作为参考,从设备通过PLL锁相环跟踪。
  3. 配置音频参数:协商采样率(48kHz/96kHz)、位深(16bit/24bit)、编码格式(PCM/压缩格式)。
  4. 启动流传输:主设备开始发送音频数据包,从设备接收并解码播放。
参数 典型值 说明
时隙长度 100μs 每个设备独占一个时隙
传输间隔 1ms 每1ms发送一个音频帧
重传次数 3次 丢包后最多重传3次

避坑指南:我曾经遇到过,客户说声音断断续续。排查后发现,是某个从设备的时钟同步出了问题。WiSA对时钟精度要求很高,晶振偏差不能超过±20ppm。如果用了便宜的晶振,时间一长就会漂移,导致音频不同步。

为什么会这样?因为WiSA的音频流是“无连接”的,它不保证每个包都到达,但通过重传机制保证关键数据不丢。如果重传次数太多,就会占用下一个时隙,造成连锁反应。我建议你设置一个“最大重传次数”,超过就静音处理,避免影响其他声道。

3.4 断开与重连:优雅地退出和恢复

最后说说断开和重连。这个环节容易被忽视,但用户体验好不好,就看这里了。

断开场景:

  • 主动断开:用户关闭音箱或切换音源。主设备会发送Disconnect帧,从设备收到后释放资源。
  • 被动断开:信号丢失或设备掉电。WiSA有一个“超时检测”机制,如果连续5个音频帧没收到,就认为连接断开。

重连策略:

  1. 快速重连:如果断开时间短(比如3秒内),直接恢复之前的时隙和密钥,不需要重新配对。
  2. 慢速重连:如果断开时间长,需要重新扫描和配对。但可以保留之前的绑定信息,减少用户操作。

我的建议:快速重连的阈值不要设得太长。我见过一个产品,设了10秒的快速重连窗口,结果用户把音箱搬到另一个房间,10秒后自动重连上了,但音频已经不同步了。后来我们改成3秒,效果好了很多。

嗯,这里还有一个细节:重连时要不要恢复之前的音量?我个人习惯是“恢复音量,但降低3dB”,防止突然大声吓到用户。你想想看,如果用户正在看电影,音箱突然断连又重连,音量如果和之前一样,可能会造成听觉冲击。

好了,WiSA组网流程就讲到这里。扫描发现是基础,配对绑定是信任,音频流是核心,断开重连是保障。每个环节都有坑,但只要你理解了背后的原理,调试起来就不难。下一章咱们聊聊WiSA的音频同步机制,那个更有意思。