TWS和TWS+模式有什么不同?

  • Qualcomm TrueWirelessStereo(TWS)---- 与A2DP源兼容、听筒通过主连接将立体声音频发送到连接的耳塞、手机只能看到1个蓝牙“耳机”
  • Qualcomm TrueWirelessStereo Plus(TWS +)----- 与未来基于Qualcomm的移动手机兼容、手机连接到两个耳塞、左右音频分开发送

什么是TWS?

是True  Wireless  Stereo的缩写,表示真正无线立体声

TWS运用什么技术实现?

TWS技术的实现是基于芯片技术的发展,从技术上来说是指手机通过连接主音箱,再由主音箱通过蓝牙无线方式连接从音箱,实现真正的蓝牙左右声道无线分离使用。不连接从音箱时,主音箱回到单声道音质。

TWS模式如何区分左右耳塞?

  • 如果蓝牙地址的最低有效位是偶数(even)为右耳机,例如00025B00FF0C
  • 如果蓝牙地址的最低有效位是奇数(odd)为左耳机,例如00025B00FF0D

区分左右耳塞有什么作用?

来确定TWS模式下立体声流从哪个音频通道输出(与主从没关系吗?),在与设备配对时,设备对左右耳塞(与主从相关吧)处理方式不同。

左右耳塞之间如何配对?

  1. 左耳塞上电或收到用户的配对请求后进入查询扫描模式,以便被查询到
  2. 右耳塞上电或收到用户的配对请求后进入查询模式,会查询到已经进入查询扫描模式的左耳塞
  3. 左右耳塞进行配对,并保存配对密匙

左右耳塞之间如何进行连接?

  1. 左耳塞上电后进入寻呼扫描模式,以便被寻呼到
  2. 右耳塞上电后进入寻呼模式,会向已经进入寻呼扫描模式的左耳塞发起连接请求
  3. 左耳塞响应连接请求,完成连接

左右耳塞的上电的先后顺序对他们之间的配对和连接有什么影响?

左右耳塞的上电顺序对配对和连接没有太大的影响,但是左耳塞作为从设备,先上电会节约配对和连接的时间,防止超时造成配对和连接操作失败

TWS模式下,耳塞如何完成与手机配对连接?

  1. 左右耳塞配对连接完成后,右耳塞进入查询扫描状态,以便被查询到
  2. 用户启动手机,使其进入查询状态,查询处于查询扫描状态的右耳塞
  3. 手机主动完成与右耳塞的配对,右耳塞保存配对密匙
  4. 手机主动完成与右耳塞的连接
  5. 右耳塞向左耳塞发送手机的蓝牙地址
  6. 左耳塞根据手机蓝牙地址向手机发送配对请求
  7. 用户接受配对请求

TWS+模式下,耳塞如何完成与手机配对连接?

  1. 左右耳塞配对连接完成后,右耳塞进入查询扫描状态,以便被查询到
  2. 用户启动手机,使其进入查询状态,查询处于查询扫描状态的右耳塞
  3. 手机主动完成与右耳塞的配对,右耳塞保存配对密匙
  4. 手机自动完成与右耳塞的连接,计算并保存EBL配对密匙,同时将数据发送到左耳塞
  5. 左耳塞接收并保存EBL配对密匙
  6. 左耳塞主动完成与手机的连接

TWS模式与TWS+模式下,耳塞与手机配对连接有什么不同?

  • TWS模式下,在右耳塞为主设备的情况下,只需要右耳塞与手机连接就可以。左耳塞根据右耳塞发送来的手机蓝牙地址,向手机发送配对请求,用户响应配对请求就可以
  • TWS+模式下,左右耳塞都需要与手机连接,左耳塞接收并保存右耳塞发送来EBL配对密匙后,自动完成与手机的连接

如何区分主从耳塞?

预设的机制(怎样的机制?),一般分配后就会固定下来哪个耳机是主,哪个耳机是次。在TWS模式下,主耳塞先与手机进行连接和配对。

有哪些耳塞应用模块,是什么含义?

  • 连接管理器---管理ACL级别连接
  • 设备管理---管理当前状态的信息,包括配对/连接的设备。
  • 扫描管理器---管理寻呼和查询扫描
  • 初始化---管理应用程序中所有模块和任务的初始化
  • 链接策略---根据预定义放入电量配置表,管理设备何时进入蓝牙呼吸/活动模式
  • 测试---提供可用于使用pydbg控制设备的测试API集合
  • 配对---管理对等设备和手机配对状态
  • 应用程序状态机--根据事件和其他任务的指示管理整个设备状态机,是规则引擎的接口。
  • 连接规则---根据设备的当前状态和收到的新事件确定要采取的操作
  • Kymera /音频链---管理xml链描述中定义的音频链,负责加载DSP音频链和配置运营商。
  • UI 按钮--管理来自xml定义按钮配置的用户输入, 管理LED任务并播放音调。
  • 发光二极管---根据应用程序状态机的请求管理设备的LED状态
  • 物理状态--根据充电器,接近传感器和加速度计的输入管理设备当前的物理状态
  • 加速度计---管理支持的加速度计的接口,以检测设备是否处于运动状态。
  • 距离传感器---将接口管理到支持的接近传感器,以检测设备是否在耳中。
  • HFP---管理与手机的HFP配置文件连接, 注册HFP库
  • AV / A2DP / AVRCP---管理与远程设备的AVRCP和A2DP配置文件连接,为每个设备创建单独的任务以处理A2DP和AVRCP连接
  • 手机信号---通过AVRCP或HFP管理发送到连接手机的任何信令。
  • 对等信号---管理连接对等设备的供应商AVRCP命令的任何信令
  • 充电器---管理片上充电器
  • 升级---管理OTA升级功能
  • GAIA---管理GAIA连接,在升级过程使用。

如何定义几种物理状态机?

  • IN_CASE/OUT_CASE----用充电器检测,如果连接充电器则是 IN_CASE,否则是OUT_CASE。
  • IN_EAR/OUT_OF_EAR---用距离传感器检测,如果放在耳朵里是IN_EARE,否则是OUT_OF_EAR,如果没有距离传感器可用,当不是IN_CASE时,就认为是IN_EAR。
  • OUT_OF_EAR/OUT_OF_EAR_AT_REST--- 用加速度传感器于检测,如果在移动中是OUT_OF_EAR,否则是OUT_OF_EAR_AT_REST, 如果没有可用的加速度计,当不是IN_CASE或IN_EAR时,则视为OUT_OF_EAR。

几种物理状态机之间如何转换?

耳塞在不同状态下具有什么特性?

  • IN_CASE---所有按钮输入被禁用,断开连接到手机所有链路。
  • OUT_CASE---如果耳塞之前配对过,则尝试连接到最近一次配对的手机,如果之前没有配对,则进入配对模式
  • IN_EAR---用作麦克风或扬声器,LED已禁用
  • OUT_OF_EAR---A2DP在2秒后自动暂停,SCO在2秒后自动转移,定时器在5分钟后启用休眠模式。

rule(规则)包含哪几个要素?

  • 事件event
  • 评估规则的函数funcation
  • 评估的结果为RUN则发送消息message,
  • 消息传递会触发规则相关联的动作action

Rules engine(规则引擎)如何进行工作?

  1. 接收到rule_event事件后,先判断事件评估函数是否完成,
  2. 如果已经完成,则将事件标记为完成,并清除事件,
  3. 如果没完成,执行评估函数
  4. 如果评估结果标记为RULE_ACTION_COMPLETE表示已完成,则执行步骤2
  5. 如果评估结果标记为RULE_ACTION_IGNORE表示忽略与当前状态无关的规则,则执行步骤2
  6. 如果评估结果标记为RULE_ACTION_RUN表示运行所需的规则操作,则执行步骤8
  7. 如果评估结果标记为RULE_ACTION_DEFER表示未完成对等设备同步,暂时忽略该规则, 在对等设备同步完成时运行,然后,执行步骤8
  8. 传递消息

左右耳塞对等设备如何进行消息同步?

  • 使用“对等同步”消息共享信息
  • 使用AVRCP 在耳塞之间交换消息。

对等同步消息包有哪些部分组成?

  • BATTERY---耳塞的电池电量
  • ADDR_TYPE---一个字节表示所遵循地址类型的一个字节
  • LAP,UAP,NAP---与耳塞配对的手机地址
  • TWS_VERSION---TWS版本
  • STATE---耳塞状态(in case,out of case,a2dp_streaming,RulesInProgress ......)
  • PAIRING---表示是否与手机完成配对或是否正在进行配对的位掩码。
  • TX_SEQ---数据包的TX序列号
  • RX_SEQ---数据包的RX序列号

对等同步消息有哪些状态?

  • RECEIVED(位掩码0x01)---收到了对等同步信息
  • TRANSMITTED(位掩码0x02)---已将信息传输给对等方
  • COMPLETE(位掩码0x03)----收到对等方响应的信息,运行Rules engine并执行延迟规则。

耳机如何控制选择哪个麦克风?

使用芯片厂商提供的AT指令集来控制role\state\microphone eligibility\battery level等信息

使用HFP标准AT + VGM命令如何实现麦克风切换?

  • AT + VGM> 0将被发送到选定的耳塞
  • AT + VGM = 0将被发送到未选择的耳塞

Qualcomm ADK6 EARBUD APPLICATION相关推荐

  1. 运行BOA报错 Could not open mime.types file, /etc/mime.types, for reading

    我的操作系统是 CentOS7 /etc 目录下没有mime.types 这个文件 这里提供我的 mime.types 文件内容 # This is a comment. I love comment ...

  2. 美国智能音响生态系统对比分析

    美国智能音响生态系统对比分析 The article is released under license CC BY-NC-ND 4.0 The IoT Boot Camp series course ...

  3. QCC512x QCC302x Earbud 跑通新建工程 —— ADK6.x 环境搭建、 自带例程

    QCC512x 和 QCC302x 都是用同一套开发环境,因此都是可以通用的.这里的方法在 QCC5124 上跑通过,这篇文章就写下 QCC3020的,刚好目前要做 3020. 一.安装环境 我在 w ...

  4. QPST 2.7.460 高通产品专用支持套件 (Qualcomm Product Support Tools)

    QPST是一个针对高通芯片开发的传输套件.它包含资源管理器(EFS Explorer).工厂测试模式(Factory Test Mode Application).内存调试模式(memory debu ...

  5. Qualcomm QTV Player

    1 QTV Architecture QTV的高通的音视频解码方案,来自packetvideo的PV:Player.Architecture如下: (1)QCT Mediaplayer Applica ...

  6. Qualcomm平台android开发总结

    1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通开发板上烧录文件系统 建立高通平台开发环境 高通平台,android和 modem 编译流程分析 高通平台 7620 启动流 ...

  7. com.qualcomm.qti.qdma 简单介绍

    com.qualcomm.qti.qdma 简单介绍 what is qdma Qualcomm Device Management and Analytics Description QDMA is ...

  8. qcc512x qcc302x qcc303x earbud 环境搭建、使用例程

    环境安装 安装MDE Qualcomm_MDE.WIN.2.4 Installer可以在https://createpoint.qti.qualcomm.com/tools/下载,如果没有高通账号可以 ...

  9. qualcomm amss 文件结构以及编译流程分析

    qualcomm amss 文件结构以及编译流程分析 https://blog.csdn.net/npjocj/article/details/8206695 AMSS的source实际上是Qualc ...

最新文章

  1. 人脸检测--Grid Loss: Detecting Occluded Faces
  2. [BZOJ1072][SCOI2007]排列perm
  3. 现代软件工程系列 学生的精彩文章 (1)
  4. scala apply方法 笔记
  5. altera fpga sdi输出方案_高段位攻城狮是这样解决SI分析、DDR、FPGA国产化问题的! | 电巢直播答疑汇总...
  6. xilinx sdk用alt+?进行自动补全
  7. java编程思想第四版第十一章总结
  8. 计算机二级vf查询,计算机二级《VFP》知识点讲解:查询和视图
  9. 逻辑学是计算机 创始人,逻辑学的创始人:亚里士多德
  10. 路由器显示找不到服务器从新设置,怎么重新设置路由器ip地址
  11. 国仁老猫:抖音影视剪辑5种赚钱方法、18个素材网站、8.0剪辑方法防判搬运(建议收藏)
  12. 使用图生成多任务模型缩小基于靶标和基于细胞的药物发现之间的差异
  13. 如何制作一份疫情场所分布地图?(附数据和源码)
  14. IntelliJ IDEA如何导出和导入项目
  15. JS判断字符是否为数字类型
  16. 利用pearcmd.php本地文件包含(LFI)
  17. PHP导入(百万级)Excel表格数据
  18. go语言csv包_golang导出csv
  19. oracle 取季度末,根据季度及年度值,查季度末最后一天
  20. D3D12渲染技术之根签名

热门文章

  1. 技本功丨知否知否,Redux源码竟如此意味深长(下集) 1
  2. dnf服务器未响应怎么解决方法,win7系统dnf经常未响应怎么办|win7 dnf假死的解决方法...
  3. 【python】用tkinter界面化——剪刀石头布
  4. php+多个json数组,php - 两个如何比较PHP中的两个JSON对象数组? - SO中文参考 - www.soinside.com...
  5. html —— label 标签
  6. Python基础语法_Day11
  7. C#多线程同步事件及等待句柄
  8. Quartus使用逻辑
  9. CountDownLatch原理详解
  10. 腾讯帝国靠抄袭崛起?