藍牙物理連接的建立過程其實就是藍牙同步的過程。
衆所周知藍牙有79個頻道。在某一個時刻,通信雙方在一個頻道上。所以可以認爲藍牙通訊是在某個時間段內的定頻通訊。只不過是按照某種規律進行跳動。通信雙方要實現通信就必須實現跳頻系統的同步。
怎樣才能實現通信雙方的跳頻同步呢?
同步的含義是:跳頻圖案相同,跳變的頻率序列(也稱頻率表)相同,跳變的起止時刻(也稱相位)相同。因此,爲了實現收、發雙方的跳頻同步,收端首先必須獲得有關發端的跳頻同步的信息。藍牙跳頻系統實現同步需要哪些信息呢?藍牙跳頻系統實現同步需要哪些信息呢?
首先來看下圖:
藍牙的跳頻序列是主要是由時鐘和地址決定的。
只要能夠獲取對方的藍牙時鐘和地址就可以實現與之同步。換句話說藍牙同步信息就是對方的地址和時鐘。
藍牙跳頻系統是如何獲取對方的地址和時鐘呢?
請看下圖
該圖就是spec上對於pagescan雙方行爲規定。簡單解釋如下:
1:master 進行尋呼,也就是說按照自己的尋呼序列,在79個頻道上進行廣播ID包,爲了加快速度採用3200跳。在一個
時隙上分別在兩個頻道上進行廣播。下個時隙分別監聽第一個頻道和第二個頻道。
2:藍牙設備會不定期的監聽某個頻道,如果收聽到廣播ID包,接着在下個時隙也就是625us後在收聽到廣播的頻道上發
送ID包。
3:按照 1 中規定此時master在該頻道上監聽,然後在該頻道上回復FHS包。該包中包含了藍牙的地址和時鐘信息。
具體見下圖。