【技术专栏】泰凌微电子蓝牙低功耗音频应用流程分析 —— Headset

描述

1

背景介绍

 

 

蓝牙低功耗音频(Bluetooth LE Audio,以下简称:LE Audio)代表着下一代智能音频设备的功能趋势,LE Audio技术基于蓝牙核心规范5.2版本引入的连接同步数据流(Connected Isochronous Stream,简称CIS)传输特性。CIS基于设备间建立的低功耗蓝牙ACL连接,在相连设备间建立固定时间间隔(ISO Interval)、点对点的双向数据流传输通道。由Central(手机、电脑或平板等)发起的CIS是CIG (Connected Isochronous Group)的成员,每个CIS对应一个独立的音频流,每个Central设备可以有多个CIG。

 

耳麦(headset)是耳机(headphone)与麦克风(microphone)的整合体。实际上就是耳机跟麦克风整合成为一体,通常Headset的耳机是播放立体声音频,麦克风采集单声道音频。本文主要介绍基于LE Audio的Headset应用流程分析。

 

泰凌微

Headset场景图

 

2

Ellisys抓包流程分析

 

 

Headset的音频源设备通过CIG的CIS来传播音频数据,Headset端发送可连接的扩展广播(EA),Central端扫描到Headset端设备信息后先跟其建立ACL连接,两端交互LE Audio的音频能力以及配置ASE端点,然后再由Central发起建立CIS连接。

 

扩展广播:

  • ADV_EXT_IND PDU——扩展广播PDU

  • AUX_ADV_IND PDU——辅助广播PDU

  • AUX_CHAIN_IND PDU——辅助链广播PDU(可选)

 

ADV_EXT_IND PDU在37,38,39主频段进行广播,它的扩展头字段包含一个AuxPtr字段,其中包含使其能够与辅助AUX_ADV_IND PDU同步的数据。ADV_EXT_IND PDU的AuxPtr字段指向AUX_ADV_IND,即AuxPtr的值指向ADV_EXT_IND PDU广播所在的其余0~36个频段中的一个。

 

泰凌微

 

AUX_ADV_IND PDU包含一个Adv Data字段,其中包含Appearance、RSI(Resolvable Set Identifier)、ASCS(Audio Stream Control Service)、CAS(Common Audio Service)和TAMS(Telephony and Media Audio Service)。Appearance声明Headset设备外观,RSI声明支持CSIS(Coordinated Set Identification Service),TMAS声明设备支持Call Terminal和Unicast Media Receiver。

 

泰凌微

 

ASE状态机简介

 

ASCS中定义了Audio Stream Endpoint(简称 ASE) ,ASE又分为Source ASE和Sink ASE,其状态机流转分别如下图所示,包含以下几个状态:

  • Idle——待机态,初始化默认处于Idle状态。

  • Codec Configured——音频参数,如采样率、位宽、帧长等配置完成。

  • QoS Configured——连接参数,如PHY、Retransmit Num、Max Transport Latency等配置完成。

  • Enabling——使能态,client和server之间的CIS开始建立或者已经建立完成。

  • Streaming——流状态,音频流建立完成,音频数据可以在client和server之间传递。

  • Releasing——释放态,音频资源释放,该状态是一个中间态,可通过除Idle态外的任何一个状态进入。

  • Disabling——失效态,音频流停止,该状态只是一个中间态,可通过Receive stop ready操作退回到QoS Configured状态。需要注意:该状态只有Source ASE才拥有。

 

泰凌微

Source ASE状态机流转图

 

泰凌微

 Sink ASE状态机流转图

 

接下来通过抓包来更加直观的观察上述的的音频流过程:

 

首先挑选一个ADV_EXT_IND PDU包,通过AuxPtr可以同步到它指向的AUX_ADV_IND PDU所在的频段11和偏移位置1.02ms。

 

泰凌微

 

然后通过AUX_CONNECT_REQ和AUX_CONNECT_RSP进行ACL连接,完成加密和服务发现等流程,包括下面要介绍的ASE交互流程。

 

泰凌微

 

Central端发现Headset端Sink和Source支持的音频能力,包括采样率、采样周期、编码方式等参数。Sink音频能力是Headset的音频播放(扬声器),Source音频能力是Headset的音频采集(麦克风),下图Source支持的详细音频参数,Sink端与其类似。

 

泰凌微

 

这部分通过抓包详细解析CIS配置流程:

 

下图为CIS配置抓包的完整流程,1是Codec Config流程,2是QoS Config流程,3是建立CIS连接通道,4是Enabling流程,5是Streaming流程。下面详细分析每个流程的具体内容。

 

泰凌微

 

1、Central端对Headset端上下行的Codec进行配置,包括上行MIC采样率16kHz、下行双声道音频采样率48kHz,帧长10ms、位宽16bits等参数,Headset端会回复是否配置成功。

 

泰凌微

 

2、Central端对Headset端上下行的QoS进行配置,包括2M的PHY、Retransmision Number为13,Max Transport Latency为40ms等参数,Headset端会回复是否配置成功。

 

泰凌微

 

3、Central端发起CIS Request进行CIS的建立流程,包括ISO Interval为10ms,Sub Interval为1.410ms和开始建立CIS的锚点等参数。

 

泰凌微

 

4、Central端发起Enable控制命令,Headset端回复Enabling成功,回复Sink ASE和Sourc ASE端Enabling的ASE ID、CIS ID等参数。

 

泰凌微

 

5、Central端发起Enable控制命令,Headset端回复Streaming成功,回复Sink ASE和Sourc ASE端Streaming的ASE ID、CIS ID等参数。

 

泰凌微

 

3

结合代码分析CIS音频流建立过程

 

 

下面我们结合Telink的b91_ble_audio_sdk中的LE Audio的应用代码来解析一个CIS音频流建立过程:

 

  • CIS Audio服务配置,以及ASE Sink和ASE Source的音频能力参数配置表

泰凌微

 

泰凌微

 

  • 设置扩展广播,参数设置可以对应上面抓包

泰凌微

 

  • 注册profile事件回调函数表,下图仅列出对应ASE Sink和ASE Source配置流程的一些回调函数

泰凌微

 

泰凌微

 

  • 设置codec的默认参数

泰凌微

 

扩展广播配置完成后会在ble协议栈运行起来后开始广播。Central设备在扫描到广播后进行ACL连接,并在完成ASE流程后发起CIS流程建立。

 

  •  数据的接收和发送处理

泰凌微

 

泰凌微

 

将代码烧录到Telink B91 EVK,支持CIS的手机打开蓝牙即可搜索到"tlk_le_headset"设备,点击连接即可与手机进行数据通信,或者采用配套的dongle进行通信测试。

 

4

展望

 

 

蓝牙5.2 LE Audio技术将极大扩展无线音频的应用场景。蓝牙5.2带来的无线多重串流音频技术,将从根本上改变人们对无线音频技术的使用习惯,为用户带来全新的体验,也为用户和市场带来无限可能。如果需要Ellisy抓包日志欢迎联系我们。

 

 

关 于 泰 凌

泰凌微电子致力于为客户提供一站式的低功耗高性能无线连接SoC芯片解决方案,包括经典蓝牙,蓝牙低功耗,蓝牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有协议等低功耗2.4GHz多协议无线连接系统级芯片和丰富的固件协议栈。公司产品广泛应用于智能照明,智能家居/楼宇,智能遥控,无线外设,智能零售,穿戴设备,无线音频,智能玩具,物流追踪,智慧城市等各类消费和商业应用场景中。

 

 

官网:www.telink-semi.com

微信公众号:telink-semi

泰凌开发者论坛:

https://developers.telink-semi.cn/

销售接洽:

中国大陆(华东、华北) : 

+86-21-20281118-8213

中国大陆(华南、香港、音频) : 

+86-0755-26614003

telinksales@telink-semi.com

 

泰凌微


原文标题:【技术专栏】泰凌微电子蓝牙低功耗音频应用流程分析 —— Headset

文章出处:【微信公众号:泰凌微电子】欢迎添加关注!文章转载请注明出处。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分