基于高通QCC5141的支持微软swift pair功能之TWS耳机方案

QCC5141是高通近期推出的芯片,集成高通最新的技术BAM(Bluetooth Address Management)、TWM (TrueWireless MIrroring) 、 simultaneously DFU(Device Firmware Updates),这大大改善了用户是有TWS耳机的体验,这些功能让TWS的两个耳机操作使用起来更加舒服更像一个整体。同时QCC5141用于目前火热的ANC功能和APTX高品质音乐, 随时随地沉浸在音乐世界。另外SIG宣布新的蓝牙标准,引出新的技术——BLE Audio,而高通QCC系列的蓝牙都是双模的(BR/EDR和BLE),无疑在后续引进新标准时,有更厚实的技术功底,也更强的迭代兼容,让开发商更好更快的占据市场。

BAM(Bluetooth Address Management)是通过共享一个蓝牙连接地址的方式,实现两个独立的蓝牙耳机,能和手机之间自由切换连接,且手机只显示一个蓝牙设备。即使两个耳机是独立个体,用起来的体验就像用一个耳机那样方便。

TWM (TrueWireless MIrroring),这是高通最新的蓝牙技术,也是高通第四代TWS连接技术,通过复制主机的link实现手机看上去直接连接两个耳机的功能。这和BAM结合可以实现主从耳机无缝切换的功能,大大提升了用户体验。用户只感觉到一对耳机,不管用一个还是一对,只要连接上了,任何一个都能正常使用和单独使用,这种体验是以前的技术无法实现的。除了极好的用户体验,新技术还比上一代技术降低了约5%的功耗。在AAC编码,48k 输出无负载的情况下测试功耗,上一代技术的主机6.09mA,副机4.18mA;而新一代技术的主机4.8mA,副机为5.0mA。可以看出功耗降低了,且两个耳机的功耗也平衡了,这样就不会出现一个耳机比另一个耳机先耗完电的尴尬现象。

主从连接手机示意图:

TWS下功耗概述:

        simultaneously DFU(Device Firmware Updates),这也是高通最新的蓝牙技术,通过增加转发文件方式,在OTA升级时,同时给两个独立耳机传输升级文件,以实现同时升级功能。告别了从前分别升级的痛苦,一键到位,减少时间,减少操作,提高了效率和用户体验。

Windows 10 (版本1803)中引入的 Swift 快速配对功能,这是将蓝牙外围设备与 Windows 10 电脑配对的最新方法。作为配对的下一轮演变,用户不再需要浏览 "设置" 应用程序并查找其外设进行配对。 Windows 可以自动为用户完成配对。当附近出现新的外设并且该设备准备就绪时,Windows 会弹出一条通知请求连接。 此功能使用的步骤非常简单:

  1. 将蓝牙外围设备置于配对模式
  2. 当外围设备靠近时,Windows 将向用户显示一条通知
  3. 选择 "连接" 开始将外围设备配对
  4. 当外围设备不再处于配对模式或不再处于配对模式时,Windows 将从操作中心删除通知

 

当下时代,不缺乏好的电子产品,但缺乏拥有出色用户体验的电子产品。苹果公司一直秉着体验至上的理念,在TWS蓝牙耳机上次首创快速配对功能,只需把要配对的耳机放在手机旁边,手机发现耳机在旁边之后,用户只要轻轻地点一下,剩下的就是手机自己完成配对,但其也局限于自身的苹果体系。随后谷歌推出了安卓系统的fast pair,使大部分安卓手机也能体验到优质的连接服务,但也仅限于安卓系统。而在PC端微软担起了重任,立马推出与PC端快速配对连接的swift pair功能,该功能给蓝牙外设带来了极致的用户体验,电脑小白的福音,只需两步,把传统的八步连接完全替代掉。目前市场已陆续出现支持swift pair的外设,鼠标键盘居多,而在耳机市场仍未有大规模的产品出来。凭借着微软在PC市场OS的占有率,可预测swift pair将会是PC蓝牙外设的必备功能。这也在高通新技术的优点上在加一个优点,极好的用户体验可谓傻瓜看了也会用。

 

       配对流程示意图:


软件开发过程:

 

软件要求:

QMDE:2.4.0.158及以上

ADK:CS 0.0.054.1及以上

ADK toolkit: 1.0.1.19及以上

Bluesuite:  3.3.2.368及以上

 

复制swift pair代码文件夹到ADK目录的\adk\src\domains\bt的目录下

打开ADK中的工程,选择QCC5141的工程

在工程中添加swift pair的代码文件

在工程配置中,加入该文件夹的路径

顺便加上swift pair的宏定义,如不使用直接关闭该宏

在工程中的earbud_init.c 加入swift pair的初始化

 

在handset_service.c中,处理配对状态变化的函数中handsetService_HandlePairingActivity加入改变广播数据的函数,这样在配对时就能软电脑弹窗,而不在配对时就不会这样做

 

Swift_pair定制化显示代码:

Swift pair可以定化显示弹窗的设备名,和产品类型图标,这个可以在代码中的修改对应的宏定义即可

修改名字需要注意是广播数据的长度是限制在31个byte,其中代码本身也有一些数据在,所以在添加名字时,最好不要超过六个字符。同时这个名字仅是用于弹窗名字的显示,和连接时候的设备名是可以独立分开设置的。并且这也不是BLE的名字,也是可以分开设置的。

在工程中可以定义显示或不显示名字


无设置时会显示“蓝牙耳机”

 

类型图标是在蓝牙sig定义的COD(class of device)码对应过来的,修改这个COD码即可改变图标,详情可参考https://www.bluetooth.com/specifications/assigned-numbers/baseband/

如需快速了解自己想要的类型图标的COD,可访问https://www.ampedrftech.com/cod.htm*/

 

 

电脑要求:

系统需要Win10(版本1803)以上才支持该功能,而且要在系统蓝牙设置中勾选启用“迅速配对”功能和打开蓝牙功能,如没有该选项,则表示不支持该功能。

 

测试步骤:

耳机进入配对状态,留意电脑右下角弹窗,弹出时点击连接,系统会完成连接并提醒。一般来说系统声音输出是蓝牙优先,如果不是可以在声音设置中设成蓝牙为输出设备

场景应用图

sceneryUrl