hfp怎么连接,车载蓝牙hfp连接的方法,hfp 蓝牙

易安殿 阅读:2 2023-05-19 15:24:20 评论:0
hfp连接的方法:首先将车辆通电,把中控系统打开,在系统界面找到蓝牙功能,将功能开启,然后连接手机,就可以使用车载蓝牙功能,通过蓝牙功能可以接听电话,播放歌曲,使用非常方便,提高了车辆行驶安全性。

什么是HFP协议

HFP协议说的是蓝牙电话顾名思义就是使用蓝牙技术实现电话拨打相关功能,具体应用在车载蓝牙,蓝牙音箱,蓝牙手环,蓝牙耳机等设备上,本人做过蓝牙音箱,所以这篇主要蓝牙音箱为第一视角讲解蓝牙通话相关内容。

Hands-Free Profile简称HFP,蓝牙免提协议故一定了免提设备控制电话相关操作,这里的面体设备指得就是相关的蓝牙设备(如蓝牙音箱,车载蓝牙)。详细描述请参考协议文档

Configuration and Roles

HFP中有两个角色:

The following roles are defined for this profile:

Audio Gateway (AG) – This is the device that is the gateway of the audio, both for input and output. Typical devices acting as Audio Gateways are cellular phones.

Hands-Free unit (HF) – This is the device acting as the Audio Gateway’s remote audio input and output mechanism. It also provides some remote control means

上述的角色定义是从HFP协议文档给出来的,不明白没有关系举个例子就知道了,那蓝牙音箱(耳机)为例,蓝牙音箱和手机相连,那么手机的角色是AG,音箱(耳机)的角色就是HF

HFP协议的连接

那么HF侧和AG侧如何进行连接通信,由下面的图解带大家分析下

连接具体流程如下图:

手机的音频的连接AG和HF侧都可以发起,连接过程中的消息交互及流程答题相同。本篇文章没有特殊声明,第一视角都是蓝牙音箱HF侧分析起点,上图的SLC(Service Level Connection)建立代表HFP连接成功。

下面我抓了HFP通话的话带大家走上述提到的流程所涉及的报文

ACL链路建立

这个包的含义是控制器给协议栈发送蓝牙ACL连接请求

这个包的含义是协议栈回复控制器接收连接请求

这个包的含义是控制器回复协议栈ACL连接成功

L2CAP的链路连接

SDP服务发现HFP

这个包的含义是HF本地接收AG手机侧发出的SDP报文发现Handsfree HFP协议

这个包的含义是HF本地发送AG手机侧接收该服务的响应

RFCOMM协议连接

下面的画框中的报文代表HFP连接要建立RFCOMM协议连接之上

AT命令交互

下图画框中的报文说明涉及AT命令的交互

如果你抓取的报文也有上述图中的指令,那么代表着SLC连接建立成功,意味着HFP协议建立成功

这样如果操作HFP协议失败时,我们就可以从以下五个方面分析原因:

1、当前蓝牙的ACL链路是否建立成功

2、L2CAP的链路是否建立成功

3、SDP服务搜索HFP协议是否正常完成

4、RFCOMMM是否成功

5、AT命令是否依次交互完成

AT命令依次交互的顺序为:BRSF->BAC(AG+HF都支持codec协商)->CIND=?->CIND?->CMER->CHLD=?(AG、HF都支持三方通话)

上述内容就是HFP连接的流程

HFP Profile组成依赖关系

这是我HFP官方协议手册找到的,相信理解看完上面HFP的连接具体流程之后,再看下面这张图层次感就容易了

HFP中的电话音频

蓝牙通话过程的语音数据,这种音频对时效性有高要求,一般通过特殊的SCO或者ESCO链路传输数据,编码方式有:CVSD,MSBC。最基础的窄带8k编码方式为CVSD,免提蓝牙设备都需支持该编码方式,支持宽带16k语音的设备可选mSBC编码数据

上图中的(M表示强制支持,C1表示可选支持):

CVSD:该编码方式的数据传输使用 SCO 或 eSCO 链路。链路的选取是根据本端 Controller是否支持 Enhanced Setup Synchronous Connection指令来决定的,如果支持该命令则创建语音音频链路时使用 eSCO,否则创建 SCO 链路。 mSBC:该编码方式的数据传输只能使用 eSCO 链路。

SCO与ESCO的区别是:

1、SCO逻辑传输是对称的,而ESCO逻辑传输是非对称的。

2、SCO不支持重传,而ESCO支持重传

那如何知道AG侧是否支持ESCO,可以看看我的下篇HFP的AT指令文章讲解

蓝牙电话语音的传输途径

上图是官方协议给的,我总结了下简单地讲:phone Audio -> PCM编码 -> AG基带 -> HF基带 -> PCM解码 -> phone Audio

网址:https://yadoura.com/post/94528.html

声明

hfp怎么连接,车载蓝牙hfp连接的方法,hfp 蓝牙》来自网络或者会员投稿,只为了传播更多内容,不对真实性承担任何责任,如内容有侵权,请联系本站,请来信告知,我们第一时间删除!

发表评论
搜索