蓝牙比较常分析的东西

通信,就是我问你答,你问我答,就是这么一个过程。不用想的那么复杂

 

那么,通信往往出问题了,是原因呢

1、我问你不答

2、我问你答的很慢

3、我问的很慢

4、我问你答的不对

往往表现就是通信速度变慢,通信中断

 

A、蓝牙最常分析为首的就是重传

重传针对 上面1、2 、4的问题,重传就是意味着通信出现问题了,比较轻的重传我们可以忽略,比较重的重传那就是一件很麻烦的事情,因为看上去开始还ok的,但是长时间就会慢慢出现问题,很像吃砒霜的感觉

在air传输中,BASEBAND 上面,最常分析的就是ARQN和FLOW

 

 

尼玛一下子贴了好多张图,

这两个都field其实都是针对上一个包或者目前的状态

比如说手机数据发给模组

1、首先是FLOW,在模组上面,是有一个RX BUFF的,这个就是接收到手机发送来数据的地方,HOST每拿走一次,BUFF都会减一

比如HOST端如果拿数据拿的慢了,BUFF就会满,BUFF满了的话,FLOW就会设置成为STOP,手机就不会发数据过来了,

等FLOW在次设置为GO的时候,手机那边数据就会有多次重传,重传次数少的话(空中速度2M)是不会影响到实际应用需要数据的速度,因为我传的速度比你快很多,你拿的太慢的话,比如好几秒拿一次,那肯定GG,这种就要开sniff mode了

2、然后是ARQN

在这里我想举个例子:

就拿A2DP卡顿来说,A2DP一般有两种传输方式,一种是Slave sink 的方式,另外一种是Master sink 的方式

 

Slave sink:

一般这种是耳机音箱各种音频设备,手机发ID packet 配对的作Master

A2DP传输方式:  手机发送 2DH5  data  -->  音箱回NULL 

这种就直接看NULL的ARQN是不是NAK,如果一直NAK出现多次,那就是有重传啦,可能是环境干扰,也有可能是包出差了,

还有可能是HOST收的慢了

 

 Master sink:

一般这种是话筒,也可以是耳机音箱各种音频设备,手机发ID packet 配对的作Master ,但是LMP有role switch 手机作slave了

 

A2DP传输方式:  音箱发PULL -->  手机发送 2DH5  data  

 

这种是音箱主动去拿data的方式,直接看PULL的ARQN是不是NAK,如果一直NAK出现多次,那就是有重传啦,可能是环境干扰,也有可能是包出差了,还有可能是HOST收的慢了

 

类似这种错误

 

也有可能是

 

重传还有可能是H5 event的重传,上次华为有一个东西就是开机概率性会load patch失败,结果看event都是重传了330ms

才收到HOST的ACK,搞的最后发现是HOST的串口驱动有问题,我们log打太多了,关掉ACK就回的快了

 

所以重传来说,就是通信,包括蓝牙通信,最常可以发现问题的一个东西。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值