蓝牙物理连接的建立过程其实就是蓝牙同步的过程。
众所周知蓝牙有79个频道。在某一个时刻,通信双方在一个频道上。所以可以认为蓝牙通讯是在某个时间段内的定频通讯。只不过是按照某种规律进行跳动。通信双方要实现通信就必须实现跳频系统的同步。
怎样才能实现通信双方的跳频同步呢?
同步的含义是:跳频图案相同,跳变的频率序列(也称频率表)相同,跳变的起止时刻(也称相位)相同。因此,为了实现收、发双方的跳频同步,收端首先必须获得有关发端的跳频同步的信息。蓝牙跳频系统实现同步需要哪些信息呢?
蓝牙跳频系统实现同步需要哪些信息呢?
首先来看下图:
蓝牙的跳频序列是主要是由时钟和地址决定的。
只要能够获取对方的蓝牙时钟和地址就可以实现与之同步。换句话说蓝牙同步信息就是对方的地址和时钟。
蓝牙跳频系统是如何获取对方的地址和时钟呢?
请看下图
该图就是spec上对于pagescan双方行为规定。简单解释如下:
1:master 进行寻呼,也就是说按照自己的寻呼序列,在79个频道上进行广播ID包,为了加快速度采用3200跳。在一个
时隙上分别在两个频道上进行广播。下个时隙分别监听第一个频道和第二个频道。
2:蓝牙设备会不定期的监听某个频道,如果收听到广播ID包,接着在下个时隙也就是625us后在收听到广播的频道上发
送ID包。
3:按照 1 中规定此时master在该频道上监听,然后在该频道上回复FHS包。该包中包含了蓝牙的地址和时钟信息。
具体见下图。