TWS耳机配对方式使用及生产把控指南
TWS耳机配对方式使用及生产配对把控指南
TOC \o "1-1" \h \u HYPERLINK \l _Toc12033 一、程序开发阶段对于TWS耳机配对方式的理解和选择: PAGEREF _Toc12033 2
HYPERLINK \l _Toc18879 1、关于TWS配对方式配置: PAGEREF _Toc18879 2
HYPERLINK \l _Toc5666 2、关于TWS交叉配对的配置: PAGEREF _Toc5666 6
HYPERLINK \l _Toc25295 3、关于TWS声道配置: PAGEREF _Toc25295 9
HYPERLINK \l _Toc4154 4、关于TWS耳机MAC地址: PAGEREF _Toc4154 14
HYPERLINK \l _Toc4826 二、TWS耳机生产配对把控建议: PAGEREF _Toc4826 20
一、程序开发阶段对于TWS耳机配对方式的理解和选择:
1、关于TWS配对方式配置:

- CONFIG_TWS_PAIR_BY_CLICK /* 按键发起配对 */ 特点:
配对时需要按键发起配对消息,才会进入配对,开机不会自动发起TWS配对、只会发起回连TWS(配对过的耳机)和回连手机(配对过的手机)
备注:这种配对方式,不会主动发起配对。当产线同时开启多台样机时,只要没有按键发起配对。则不会相互配对。
B、CONFIG_TWS_PAIR_BY_AUTO /* 开机自动配对 */ 特点:
如果有配对过的耳机,先回连耳机。如果没有则发起配对消息、发起回连手机消息。
备注:这种配对方式,如果产线开启多个设备时,也会相互配对。但优点是,开机时样机先优先回连连接过的设备(耳机),再发起配对。
开机发起回连对耳的位置:

发起对耳配对、回连、开启可发现、可连接的轮循函数:

B、CONFIG_TWS_PAIR_BY_FAST_CONN /* 快速配对,不支持取消配对 */ 特点:
开机不会回连已经配对过的耳机,而是发起配对,只要搜到相同配对码耳机,就会配对。不支持取消配对。
备注:不太建议使用这种配对方式,当产线同时开启多个样机时,因为没有优先回连功能,它们会出现比较严重交叉互连。比较难把控。
2、关于TWS交叉配对的配置:
- 若选用CONFIG_TWS_PAIR_BY_AUTO自动配对方式,定义以下宏就可以实现交叉配对,注释掉的话,就是不支持交叉配对(看以下程序备注):

B、若选用CONFIG_TWS_PAIR_BY_CLICK手动配对方式,定义以下宏就可以实现不取消配对也能配对新的耳机。若不定义,则需要取消配对后,才可以配对新耳机:

C、若选用CONFIG_TWS_PAIR_BY_FAST_CONN手动配对方式,则耳机只要搜到相同配对码就会去配对。

3、关于TWS声道配置:
A、公版SDK提供了以下几种声道配置选择(请根据实际需求选择使用):

另外可以根据实际应用选择测试盒配置声道优先:
选择充电仓决定左右耳:

选择测试盒配置左右优先:

相同声道的耳机不允许配对(注意如果有清除配对功能,要检查一下不能清除声道信息):

B、获取配对耳机声道信息,配置决定是否允许TWS配对(通过这个函数,就可以配置是否允许相同声道配对,函数返回1则允许配对,返回0则不允许配对):

C、耳机开机每次都会读取TWS耳机声道信息,若出现声道信息错误或不符合样机调式预期,可以查看一下函数:

4、关于TWS耳机MAC地址:
- tws耳机VM中存有以下4个mac地址:

TWS_LOCAL_ADDR:(第一次上电开机程序随机生成的local地址,用于TWS配对。当TWS耳机配对时,左右耳会记录对方的local地址(就是把对方的local地址保存到TWS_REMOTE_ADDR):

TWS_REMOTE_ADDR:(TWS耳机配对时获取到的对方TWS_LOCAL_ADDR ,然后存入TWS_REMOTE_ADDR VM段)
TWS_COMMON_ADDR:TWS 耳机配对成功后,左右耳机生成的公共地址,用于与手机通信。这个地址就是左右耳机配对后,单个或成对连接手机或测试盒看到的地址。
TWS_COMMON_ADDR 目前默认是由左右耳机的LOCAL_ADDR 相加取低8位组成(参考以下代码了解):

TWS_COMMON_ADDR 还可以使用左耳地址作为公共地址,需要修改app_config.h的配置
#define CONFIG_TWS_COMMON_ADDR_AUTO 0 /* 自动生成TWS配对后的MAC地址 /
#define CONFIG_TWS_COMMON_ADDR_USED_LEFT 1 / 使用左耳的MAC地址作为TWS配对后的地址
可配合烧写器MAC地址自增功能一起使用
多台交叉配对会出现MAC地址相同情况 */
#define CONFIG_TWS_COMMON_ADDR_SELECT CONFIG_TWS_COMMON_ADDR_USED_LEFT
CFG_BT_MAC_ADDR:一拖二或者一拖八指定固定系列地址烧录进去的蓝牙地址,或者蓝牙配置工具中指定的固定地址,如果一拖二或者一拖八没有烧录蓝牙地址,蓝牙配置工具中也没有指定固定地址,则会在开机的时候随机生成一个,如果有随机生成又有烧录地址,则会优先使用烧录进去的蓝牙地址。以下情况会使用这个地址:
- 未配对过tws的单耳与手机或蓝牙测试盒连接时使用CFG_BT_MAC_ADDR(也就是读不到TWS_COMMON_ADDR时)
- 测试盒串口获取耳机的蓝牙地址时使用CFG_BT_MAC_ADDR
- 测试盒串口发命令让耳机进入DUT测试时使用CFG_BT_MAC_ADDR
- 其他使用到bt_get_vm_mac_addr函数和读CFG_BT_MAC_ADDR的场景

B、TWS耳机配对时,可以选择拿左耳、右耳、或自己定义的规则生成TWS_COMMON_ADDR (但要满足6个字节标准,且每对耳机的TWS_COMMON_ADDR不能相同)。需要修改地方有两点:
- 用测试盒串口配对时,生成TWS_COMMON_ADDR的地方,按自己的需求修改(以下截图只是告诉你修改的位置,自己按自己需求修改):

2、耳机无线配对时(按键发起的配对或自动发起的配对)生成TWS_COMMON_ADDR的地方,按自己的需求修改(以下截图(AC696X 的截图,其他系列流程也是一样的)只是告诉你修改的位置,自己按自己需求修改):

二、TWS耳机生产配对把控建议:
1、每一款TWS耳机,都要配置其对应的配对码。不要多款机都用一个配对码,那样会增加不同款耳机间交叉配对的风险。配对码在以下蓝牙配置工具中设置(配对码相同的耳机才允许相互配对):

2、产线生产时建议使用测试盒串口配对TWS。这种配对方式是通过有线通信,因此速度非常快(1-2秒)。而且不会出现交叉配对的情况。
配注:测试盒的左右声道线不能接反、TWS耳机充电脚对地电容不能太大(建议用222以下)、TWS耳机充电脚与测试盒要保证接触良好(注意检查接触的顶针等是否氧化)、配对后通过灯状态或连接蓝牙播放音频等方式,确保配对成功。
- 若选用CONFIG_TWS_PAIR_BY_AUTO自动配对方式,产线同时开启多台样机时,有概率会出现TWS交叉配对的情况。建议在最后一道生产工序用测试盒串口配对后再包装。这种配对方式,产线生产相对难把控些,但能确保终端消费者拿到的TWS不出现无法配对情况。
配注:选择自动配对,可允许交叉配对的好处是:产品卖到消费者手中,无论之前是否有出现交叉配对的情况。最后,TWS耳机都会自动配对上。配对上后,下次开机,TWS耳机会判断是否有配对记录。如果有,每次开机都会先优先做回连对耳处理(4-5S钟),之后再发起配对。
- 快速配对CONFIG_TWS_PAIR_BY_FAST_CONN 方式,是每次开机都直接发起搜索配对,搜到相同配对码的耳机就进行配对。就算是有配对信息,也没有回连TWS耳机处理。
配注:这种配对方式的优点是配对速度更快。但缺点也很明显:在产线出现交叉配对概率会更大。没有回连处理,不会优先连接已经配对过的耳机。
- 手动配对 CONFIG_TWS_PAIR_BY_CLICK 方式,不会主动发起配对操作。若出现有交叉配对或之前已经配对过,但后面发现不配对的情况。需要分析产线是否有误触发起配对(例如设置的双击发起配对,对于触摸按键,很容易出现误触)。另外,就是要确保其他产线生产的其他款配对码是否改得不一样,是否有发起配对的情况。
注意:
A、虽然采用CONFIG_TWS_PAIR_BY_CLICK这个配对方式的耳机,通过严格生产把控后不会出现误触发起配对的操作。但要注意看,产线是否有其他耳机(配对码一样的)有发起配对情况。如果有其他耳机发起配对,也是有可能出现被其他耳机连接的可能。
B、另外要注意的是有没有出现,已经配对好耳机,出现混装的情况。
6、当出现对耳不配对时,先用测试盒分别查看左右耳的蓝牙MAC地址,或手机上安装一些可以查看蓝牙MAC地址的软件查看MAC地址(例如:FeasyBlue)。若蓝牙MAC地址一样说明这对耳机是配对过的,要查其他原因。若蓝牙MAC地址不一样,说明这对耳机目前是没有相互配对的,有可能其中一个或全部都已经跟其他耳机配对了。