藍(lán)牙設(shè)備在建立連接以前,通過在固定的一個頻段內(nèi)選擇跳頻頻率或由被查詢的設(shè)備地址決定,迅速交換握手信息時間和地址,快速取得設(shè)備的時間和頻率同步。建立連接后,設(shè)備雙方根據(jù)信道跳變序列改變頻率,使跳頻頻率呈現(xiàn)隨機特性。
藍(lán)牙系統(tǒng)定義了種工作狀態(tài)下的跳頻序列尋呼、尋呼響應(yīng)、查詢、查詢響應(yīng) 和信道 跳變序列, 不同狀態(tài)下的跳頻序列產(chǎn)生策略不同。
藍(lán)牙定義了32個頻點為一個頻段, 劃分為79個子頻段, 工作的頻段及跳頻順序取決于所輸入的藍(lán)牙主控設(shè)備時鐘CLK 和主控設(shè)備地址的最低28比特有效位, 即BD_ADDR[0…27]或者28比特通用查詢接入碼(General Inquiry Access Code,GIAC).
1)查詢/查詢掃描狀態(tài):
藍(lán)牙設(shè)備通過查詢來尋找在其周圍鄰近的設(shè)備,查詢設(shè)備每隔312.5微秒選擇一個新的頻率來發(fā)送查詢,被查詢設(shè)備每隔1.28s選擇一次新的監(jiān)聽頻率。查詢和被查詢設(shè)備使用通用查詢接入碼(GIAC,General Inquiry Acess Code)LAP(Low Address Part),作為查詢地址,GIAP LAP為0x9E8B33. 藍(lán)牙標(biāo)準(zhǔn)規(guī)定不允許任何藍(lán)牙設(shè)備使用和GIAP LAP一樣的地址。產(chǎn)生的32個查詢跳變序列(Inquiring hopping sequence) 均勻分布在79個頻率信道上。
2)尋呼/尋呼掃描狀態(tài):
藍(lán)牙設(shè)備通過尋呼來呼叫其它的設(shè)備加入其所在的微微網(wǎng),尋呼設(shè)備每隔312.5微秒選擇一個新的頻率來發(fā)送尋呼,在尋呼掃描時,被尋呼設(shè)備每隔1.28s選擇一個新的監(jiān)聽頻率。尋呼和被尋呼設(shè)備使用被尋呼設(shè)備地址(BT_ADDR)的低28個比特,產(chǎn)生的尋呼跳變序列(paging –hopping sequence)是一個定義明確的周期序列,它的各個頻點均勻分布在2.4G的79個頻率信道上.
3)連接狀態(tài):
在當(dāng)前狀態(tài)下, 藍(lán)牙通信設(shè)備雙方每隔625微秒改變一個頻率,使用主設(shè)備地址的最低28位有效位, 產(chǎn)生的信道跳變序列(Channel hopping sequence)周期非常長,而且79跳變序列在任何的一小段時間內(nèi)都是接近均勻分布的。
2. 藍(lán)牙狀態(tài)轉(zhuǎn)換圖:
上圖是藍(lán)牙狀態(tài)轉(zhuǎn)換圖,從圖中可以看出STANDBY狀體是藍(lán)牙設(shè)備的默認(rèn)狀態(tài)。此模式下設(shè)備處于低功耗狀態(tài)。
Page:這個子狀態(tài)就是我們通常稱為的連接(尋呼),進行連接/激活對應(yīng)的slave的操作我們就稱為page。它是指:發(fā)起連接的設(shè)備(主設(shè)備)知道要連接設(shè)備的地址。所以可以直接傳呼。(想想傳呼機,要知道號碼才行)。
Page scan:這個子狀態(tài)是和page對應(yīng)的,它就是等待被page的slave所處的狀態(tài),換句話說,若想被page到,我們就要處于page scan的狀態(tài)。
inquiry:這就是我們通常所說的掃描狀態(tài),這個狀態(tài)的設(shè)備就是去掃描周圍的設(shè)備。它是不知道周圍有什么設(shè)備,要去查詢(調(diào)查),類似于廣播(吆喝)。處于Inquiry Scan的設(shè)備可以回應(yīng)這個查詢。再經(jīng)過必要的協(xié)商之后,它們就可以進行連接了。
此處需要說明的是:Inquiry之后,不需要進入Page就可以連接上設(shè)備。
inquiry scan:這就是我們通常看到的可被發(fā)現(xiàn)的設(shè)備。體現(xiàn)在上層就是我們在android系統(tǒng)中點擊設(shè)備可被周圍什么發(fā)現(xiàn),那設(shè)備就處于這樣的狀態(tài)。
slave response:這個就是在page的過程中,slave收到了master的page msg,它會回應(yīng)對應(yīng)的page response msg,同時自己就進入到了slave response的狀態(tài)。
master response:master收到slave response的msg后,他就會進入到master response的狀態(tài),同時他會發(fā)送一個FHS的packet。
inquiry response:就是在inquiry scan的設(shè)備在收到inquiry的msg后,就會發(fā)送inquiry response的msg,在這之后它就會進入到了inquiry response的狀態(tài)了。
以上的各種狀態(tài)可以總結(jié)到下面的尋呼過程中:即尋呼過程按照如下步驟進行:
1) 一個設(shè)備(源)尋呼另外一個設(shè)備(目的),此時處于尋呼狀態(tài)。(Page state)
2) 目的設(shè)備接收到該尋呼,此時處于尋呼掃描狀態(tài)。(Page Scan state)
3) 目的設(shè)備發(fā)送對源設(shè)備的回復(fù),此時處于子設(shè)備響應(yīng)狀態(tài)。(Slave Response state)
4) 源設(shè)備發(fā)送FHS包到目的設(shè)備,此時處于主設(shè)備響應(yīng)狀態(tài)。(Master Response state。)
5) 目的設(shè)備發(fā)送第二個回復(fù)給源設(shè)備,此時處于子設(shè)備響應(yīng)狀態(tài)(Slave Response state。)
6) 目的和源設(shè)備切換并采用源信道的參數(shù),此時處于主設(shè)備響應(yīng)狀態(tài)和子設(shè)備響應(yīng)狀態(tài)。