隨著越來越多的經(jīng)典藍(lán)牙設(shè)備應(yīng)用在我們的生活和工作中,該類設(shè)備的使用場景和相關(guān)設(shè)計(jì)也更加豐富。與此同時,泰凌微電子作為藍(lán)牙芯片的源頭廠商,在經(jīng)典藍(lán)牙SoC性能提升及方案設(shè)計(jì)的產(chǎn)出也日新月異;在實(shí)際應(yīng)用中,藍(lán)牙設(shè)備發(fā)現(xiàn)、連接、斷開等使用場景較為常見,其中設(shè)備連接是至關(guān)重要的一環(huán),它涵蓋了設(shè)備之間建立連接的整個過程。本文將對經(jīng)典藍(lán)牙設(shè)備連接過程進(jìn)行解析,帶大家一起了解連接的整個過程。
1
什么是設(shè)備連接?
什么設(shè)備連接?例如,我們在日常使用手機(jī)去連接其它如藍(lán)牙耳機(jī)等藍(lán)牙設(shè)備時,搜索到所需的設(shè)備后,點(diǎn)擊該設(shè)備就會觸發(fā)設(shè)備連接過程,也叫尋呼(Page)。而相應(yīng)的藍(lán)牙設(shè)備也需要進(jìn)入被尋呼模式,也就是連接掃描(Page Scan),只有這樣才會被手機(jī)等設(shè)備連接成功。如下圖,點(diǎn)擊Telink-Test設(shè)備即開始了連接過程。
圖1.手機(jī)上搜索到Telink-Test設(shè)備
2
設(shè)備連接的流程
圖2.藍(lán)牙規(guī)范中的設(shè)備狀態(tài)
首先,如上圖Page和Page Scan為藍(lán)牙的兩個子狀態(tài),其中Page為我們通常認(rèn)為的連接(尋呼);在設(shè)備發(fā)現(xiàn)之后,該子狀態(tài)能以Master的角色進(jìn)行連接/操作對應(yīng)的Slave。設(shè)備,連接時依賴于發(fā)現(xiàn)過程中獲取到的對端設(shè)備地址;而Page Scan子狀態(tài)是和Page相對應(yīng)的,即等待將被Page的Slave設(shè)備所處的狀態(tài)。設(shè)備處于Page Scan的狀態(tài)是其可被連接的前提。
開啟Page時,Master(即Page設(shè)備)使用Slave(即Page Scan設(shè)備)的設(shè)備地址(BT_ADDR)及其CLOCK時鐘作為算法參數(shù)生成跳頻序列(paging –hopping sequence),該序列是一個定義明確的周期序列,其各個頻點(diǎn)均勻分布在2.4G的79個頻率信道上。基于跳頻序列,Master每隔312.5us會更新一個新的頻率信道以發(fā)送ID包;而Slave則每隔1.28s更新一次監(jiān)聽頻率信道,以便在較短時間內(nèi)接收到來自Master的ID包。
下面以一塊泰凌微電子B91開發(fā)板為例,簡述設(shè)備連接過程。
圖3. B91開發(fā)板
首先,給開發(fā)板燒錄提前編譯好的測試固件,然后用手機(jī)去搜索并連接對應(yīng)的藍(lán)牙設(shè)備,用藍(lán)牙抓包器抓取空中包,通過抓包內(nèi)容我們可以對應(yīng)藍(lán)牙協(xié)議解析如下內(nèi)容:
圖4.藍(lán)牙規(guī)范中的連接步驟
圖5.藍(lán)牙規(guī)范中的連接時序圖
圖6.空中包連接時序圖
Step1:當(dāng)Master處于Page子狀態(tài),Slave處于Page Scan子狀態(tài),Master發(fā)送page message 即ID包;
Step2:當(dāng)Slave接收到page message后,會進(jìn)入slave response狀態(tài),Slave會發(fā)送response(接收到page message以后625us),Slave發(fā)送response后,會開始監(jiān)聽來自Master的FHS數(shù)據(jù)包;
Step3:當(dāng)Master接收到response以后,Master會進(jìn)入master response狀態(tài),Master會發(fā)送FHS數(shù)據(jù)包(包含了Master的時鐘、地址、COD等信息);完成后,Master會監(jiān)聽來自Slave的response;
Step4:Slave接收到來自master的FHS數(shù)據(jù)包,Slave會回復(fù)一個response通知Master接收到了FHS數(shù)據(jù)包。
Step5:Slave進(jìn)入CONNECTION狀態(tài),Master接收到Slave的response后也會進(jìn)入CONNECTION狀態(tài),然后Master發(fā)送一個POLL數(shù)據(jù)包。
Step6:Slave接收到POLL數(shù)據(jù)包后,可能回復(fù)任何類型的數(shù)據(jù)包。
以上6步完成后,標(biāo)志整個的連接過程已經(jīng)成功并結(jié)束,后續(xù)會進(jìn)行鏈路管理階段。
圖7.FHS包內(nèi)容
如果遠(yuǎn)端設(shè)備即Slave端在設(shè)置的超時時間內(nèi)(對應(yīng)參數(shù)Page_Timeout)沒有返回Page Response時,則Master會觸發(fā)Page Timeout事件,即連接失敗。
3
設(shè)備連接對應(yīng)的HCI指令
經(jīng)典藍(lán)牙連接過程中涉及到的HCI指令及相關(guān)參數(shù)如下:
3.1
HCI_Create_Connection
3.2
HCI_Read_Page_Timeout
該指令用于讀取當(dāng)前的Page_Timeout 參數(shù);
3.3
HCI_Write_Page_Timeout
該指令用于設(shè)置Page_Timeout 參數(shù);
3.4
HCI_Read_Page_Scan_Activity
該指令用于讀取Page Scan過程的狀態(tài)等相關(guān)參數(shù);
3.5
HCI_Write_Inquiry_Scan_Activity
該指令用于設(shè)置Page Scan的狀態(tài)等相關(guān)參數(shù);
3.6
參數(shù) Page_Timeout
3.7
參數(shù) Page_Scan_Interval
3.8
參數(shù) Page_Scan_Window
4
綜述
設(shè)備連接是整個藍(lán)牙技術(shù)不可或缺的一部分。該部分的設(shè)計(jì)會根據(jù)產(chǎn)品需求調(diào)整Page Scan interval、Page Scan window、Page Scan Type等相關(guān)參數(shù)以均衡連接速度、功耗、帶寬等方面。目前泰凌微電子的TLSR951x和TLSR952x兩個系列SoC芯片均支持經(jīng)典藍(lán)牙技術(shù),其基于自研的藍(lán)牙協(xié)議棧,得益于芯片本身具備的超低功耗工作模式,實(shí)現(xiàn)了帶低功耗的Page和Page Scan模式;同時兼具BT與BLE雙模共存,多路BT共存等多種方案,其涵蓋了同一設(shè)備電話、音樂下的設(shè)備連接,多路同時連接等較為復(fù)雜的場景設(shè)計(jì),為復(fù)雜多樣的客戶產(chǎn)品需求提供了有力支撐。
審核編輯:彭菁
-
芯片
+關(guān)注
關(guān)注
456文章
51157瀏覽量
426903 -
頻率
+關(guān)注
關(guān)注
4文章
1534瀏覽量
59365 -
PAGE
+關(guān)注
關(guān)注
0文章
11瀏覽量
20200 -
藍(lán)牙設(shè)備
+關(guān)注
關(guān)注
0文章
39瀏覽量
6780
原文標(biāo)題:【技術(shù)專欄】泰凌微電子經(jīng)典藍(lán)牙設(shè)備連接介紹
文章出處:【微信號:telink-semi,微信公眾號:泰凌微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論