蓝牙测试时的问题

BT Page timeout问题

最近做可穿戴设备遇到一个问题,可穿戴设备和手机进行连接时,容易出现Page timeout,导致连接不成功。这个问题我们需要知道在什么场景下会导致发生Page timeout。

         首先我们需要知道BT的整个连接过程。主设备(master,即发起连接的设备)会寻呼(page)从设备(slave接收连接的设备),master会用跳频的方式去寻呼slave,slave会固定间隔地去扫描(scan)外部寻呼,即page scan,当scan 到外部page时便会响应response该page,这样两个设备之间便会建立link的连接,即ACL链路的连接。当ACL 链路连接建立后,主设备会发起channel的连接请求,即L2CAP的连接,建立L2CAP的连接之后,主设备采用SDP去查询从设备的免提服务,从中得到rfcomm的通道号,然后主设备会发起rfcomm的连接请求建立rfcomm的连接。然后就建立了应用的连接。

        主从设备建立连接的过程就是建立相同匹克网信道的过程,该过程确保主从设备以同样的定时和次序进行载波频率的跳变,进行数据传输,同时可以根据匹克网接入码和帧头编码进行数据过滤和解析,避免和其他设备在同一个频段上的相撞。

       寻呼扫描物理信道(page scan physical channel)用于主设备寻呼从设备,是设备建立连接的必经阶段。寻呼扫描跳频序列和寻呼请求帧的设备接入码(DAC)是由从设备物理地址运算,处于可被连接模式的从设备以固定的周期(由page scan interval决定)在一个固定的时间窗(由page scan window决定)内以某个跳频频率监听主设备的寻呼请求。

       通过上面的分析,我们知道了产生Page timeout的原因是由于在主设备寻呼(page)从设备时,ACL链路没有建立成功。我们遇到这类问题时需要从以下两个方面去分析。

         1、从设备是否处于可连接的模式下。只有处于可连接的模式下,从设备才会进行Page scan的操作。如果处于可连接模式下,还需要看下page scan interval和page scan window的参数设置是否合理。

         2、从设备是否收到了acl 链路的连接请求。可以通过snoop log或者air log去确认。

你可能感兴趣的:(蓝牙)